Arduino mit OP-Verstärker und Transistoren. Hilfe

Guten Tag an alle.

Ich habe gerade ein sehr großes Problem mit dem ich gezwungen bin am Sie zu wenden.

Mit folgender Schaltung möchte ich einen 12V Motor betreiben. Dazu benutze ich einen OP Verstärker um die Spannung, die von Arduino kommt, mit einer bestimmten Verstärkung zu erhöhen. Um anschließend den Stromstärke zu erhöhen sind 2 Transistoren eingezeichnet.

Wenn der eine Ausgang von Arduino aktiv ist, dreht der Motor in eine Richtung. Wenn der zweite gerade arbeitet, dann ist der erste „0“ und der Motor dreht in die andere Richtung.

Die Schaltung funktioniert soweit, aber mit einer normalen Spannungsquelle z.B. Batterie. Sobald ich es an Arduino anschließe gibt es eine Verstärkung von höchstens 2.

Der GND von Arduino ist mit GND der Schaltung verbunden. Die beiden Eingänge der Schaltung sind mit Ausgängen von Arduino verbunden.

Ich bitte Sie mir zu Helfen wenn jemand was ähnliches hatte oder einen Tipp geben kann.

Vielen Dank.

Hier ist die Schaltung, wusste nicht wie man das Bild einfügt
http://s14.directupload.net/file/d/2737/iwe9bi7d_jpg.htm

Vielen Dank für Ihre Antwort.
Ich werde Ihre Lösungsvariante versuchen.

Das Problem ist ja auch, dass wenn ich diese Schaltung ohne Transistoren betreibe, es trotz dem eine Verstärkung von höchstens 2 gibt! Ich vermute dass die Ausgänge von Arduino einen riesen Innenwiderstand haben!

Obwohl in den OP fast kein Strom reinfließt, hat es eine große Auswirkung. Ich habe mal versucht mit einer Schaltung den Innenwiderstand einer Batterie zu simulieren und die Verstärkung ist tatsächlich gefallen bei einer konstanten Spannung und zu hohen Innenwiderstand der Batterie. Soll ich eventuell einen anderen OP nehmen. Die Erhöhung der Stromstärke würde ich dann anders realisieren.

Mir ist sehr wichtig dass die Schaltung nicht als Relay funktioniert, sondern für eine beliebige Spannung von 0...5V eine dem entsprechend verstärkte ausgibt.

Vielen Dank.

So geht das nicht. Du kannst die Transistoren nicht mit dem Spanungabfall an den beiden Widerständen, der durch den Stromverbrauch des Operationsverstärker an diesen abfällt ansteuern. Entschuldige den Ausdruck: das ist einfach nur falsch.

Wenn Du einen Motor in beide Richtungen betreiben willst dann nimm eine H-Brücke. zB eine L293D (bis 0,6A) oder eine L298 (bis 2A). Da berauchst Du keine Duale Spannungsversorgung.
Bilderbucherklärung: http://itp.nyu.edu/physcomp/Labs/DCMotorControl
mit weniger Bildern aber mit Sketch: http://luckylarry.co.uk/arduino-projects/control-a-dc-motor-with-arduino-and-l293d-chip/

Ein Bild kannst Du mit [ i m g ] Bilderlink.jpg[ / i m g ]Flag einbinden (ohne Leerzeichen geschrieben). Das ist das 2. Symbol in der 2. Zeile, das mit dem Bild. Das Bild sollte dann aber nicht zu groß sein. 800 px sind genug.

Grüße Uwe

Antwort auf Dein Update:
Es ist besser. daß Du einmal geschriebene Texte nicht modifizierst (außer sie haben Fehler und Du diese ausbesserst) sondern einen neue "reply" machst. So wissen die Stamm-leser, daß es was neues zu lesen gibt.

Wenn der Motor proportional angesteuert wird dann haben die Transistoren eine "riesige" Verlustleistung. Um dies zu vermeiden nimmt man PWM Modulation für die Geschwindigkeitsregelung. Das geht mit einem L293D hervorragend (PWM auf Enable Eingang).
Arduino hat keinen DAC und darum keine Analoge regelbare Ausgangsspannung. Die Analogen Ausgänge sind PWM-Ausgänge.

Die Ausgänge des Ardino können 40mA liefern und haben darum einen Innenwiderstand von 5V/40mA = 125 Ohm.
Bei Deinem Schaltbild: ist der Ausgang des OP mit den Transistoren verbunden? Wenn ja hast Du einen Kurzschluß und der OP geht in Strombegrenzung.

Grüße Uwe

Vielen Dank für die Antwort.

Ich habe in meine Schaltung es nicht kenntlich gemacht, dass die beiden Kollektoren mit dem Ausgang des OPV verbunden sind. Es funktionier einwandfrei.

Habe die Schaltung erweitert. Die Ausgänge von Arduino sind jetzt mit Transistoren verbunden. Der Emitter geht mit einem Widerstand an GND. Da greife ich die Spannung ab und somit konnte ich mit einem OPV die Verstärkung von 4 erreichen. Danach gehet das ganze an den Komparator.

Für meine Zwecke reicht es jetzt vollkommen aus. Was mich nur ärgert, dass ich nicht genau weis wieso es zu diesem Effekt gekommen ist und wie man das rechnerisch ermitteln kann.
Ich habe gelesen, dass das PWM Ausgang eine Mittlere Spannung ausgibt, aber wieso kann ich es nicht analog regeln, ist mir leider noch nicht bekannt!

Wenn ich in diesen Fragen noch eine Aufklärung kriegen könnte, währe klasse.

Und noch mall vielen Dank für die Mühe Uwe!

Heißt es bei L293D, dass wen der eine Arduino PWM Ausgang 0V liefert und der zweite z.B. 3V dreht der Motor in eine und andersrum in die andere Richtung?

Der L293D würde von mir aus 12V kriegen, d.h. der Motor würde eine konstante Spannung von 12 V kriegen?

Wie kann ich in diesem Fall die Geschwindigkeit regeln?

Habe diese Anleitung gefunden
http://www.arduino-tutorial.de/category/advandced/
Unten auf der Seite ist ungefähr beschrieben wie der CHIP zu beschalten ist.

Bitte um Hilfe, danke.

SistemaGrad:
Ich habe in meine Schaltung es nicht kenntlich gemacht, dass die beiden Kollektoren mit dem Ausgang des OPV verbunden sind. Es funktionier einwandfrei.

Habe die Schaltung erweitert. Die Ausgänge von Arduino sind jetzt mit Transistoren verbunden. Der Emitter geht mit einem Widerstand an GND. Da greife ich die Spannung ab und somit konnte ich mit einem OPV die Verstärkung von 4 erreichen. Danach gehet das ganze an den Komparator.

Für meine Zwecke reicht es jetzt vollkommen aus. Was mich nur ärgert, dass ich nicht genau weis wieso es zu diesem Effekt gekommen ist und wie man das rechnerisch ermitteln kann.
Ich habe gelesen, dass das PWM Ausgang eine Mittlere Spannung ausgibt, aber wieso kann ich es nicht analog regeln, ist mir leider noch nicht bekannt!

Wenn ich in diesen Fragen noch eine Aufklärung kriegen könnte, währe klasse.

Die Rechnung geht nicht auf, weil Du den Ausgang des Operationsverstärker kurzschließt und somit in der Strombegrenzung bist; dann verhält sich der Operationsverstärker nicht mehr linear.

Der PWM Ausgang ist eine getaktete Gleichspannung dessen Verhältnis von H und L sich ändert. Der Mittelwert der Spannung ändert sich, aber dazu mußt Du die PWM mit einem RC-Glied glätten.

Grüße Uwe

SistemaGrad:
Heißt es bei L293D, dass wen der eine Arduino PWM Ausgang 0V liefert und der zweite z.B. 3V dreht der Motor in eine und andersrum in die andere Richtung?

Die Richtung gibst Du mit 2 digitalen Ausgängen und die Geschwindigkeit mit einem PWM Ausgang an EN, 3V ist aber am Limit; sollte schon etwas mehr sein: 3,5 bis 5V.

SistemaGrad:
Der L293D würde von mir aus 12V kriegen, d.h. der Motor würde eine konstante Spannung von 12 V kriegen?
Wie kann ich in diesem Fall die Geschwindigkeit regeln?

Ja. Wenn Du aber ein PWM signal auf den ENABLE Eingang gibst, dann kannst Du den Motor damit regeln.

SistemaGrad:
Habe diese Anleitung gefunden
http://www.arduino-tutorial.de/category/advandced/
Unten auf der Seite ist ungefähr beschrieben wie der CHIP zu beschalten ist.
Bitte um Hilfe, danke.

Hatte Dir ja 2 Beispiele gegeben:
Bilderbucherklärung: http://itp.nyu.edu/physcomp/Labs/DCMotorControl
mit weniger Bildern aber mit Sketch: http://luckylarry.co.uk/arduino-projects/control-a-dc-motor-with-arduino-and-l293d-chip/

Dein Beispiel hatte ich auch gefunden, aber es hat zuwenig Erklährung und kein Beispielprogramm.

Hier wird zwar der Motor auch mit 5V versorgt, aber prizipiell ist das gleich, wie den Motor alleine mit 12V versorgen:

Motor kommt an 3 und 6
Die Steuersignale vom Arduino an 2 und 7
Das PWM Signal an pin 1
Masse an 4, 5, 12, 13
12V an 8 und
5V an 16
Wenn Du nur 1 Motor ansteuerst dann 9, 10 und 15 auch an Masse (Eingänge soll man nie offen lassen sondern immer beschalten).

Grüße Uwe

Vielen Dank Uwe, werde heute ausprobieren und hier berichten. In meiner Aufgabe muss ich den Motor mit Hilfe eines Reglers, vom Simulink aus, Regeln. Wenn alles mit der Elektronik klappt könnte ich den gesamten Vorgang hier beschreiben, natürlich wenn es Interesse besteht.

Hat wunderbar geklappt! Habe gehört dass man einen PWM Ausgang mit einem Kondensator oder einer Spule bestücken kann um dann es Analog steuern zu können.

Sobald ich es ausprobiert habe, werde es gerne berichte. Ansonsten TOP Forum! Vielen Dank an Uwe!