Forum: Analoge Elektronik und Schaltungstechnik Lineare Motorsteuerung mit MOSFET und Opamp


von Meiermann (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich will einen kleinen Motor linear steuern. Die Spannung für den Motor 
reicht von ~4 bis 12V. Versorgungsspannung sind 12V.
Bisher war der Ansatz, mit einem LM358 aus der Steuerspannung von 0-3.3V 
direkt den Motor anzusteuern. Der zieht aber leider 300mA und der LM358 
schafft nur 40, was zu periodischen Spannungseinbrüchen und einem stark 
surrenden Motor geführt hat :).

Ein stärkerer Opamp mit bis zu 700mA hat dann das Problem gelöst. Der 
ist aber teuer und ich dachte mir, das geht doch bestimmt auch 
einfacher, wenn man hinter den LM358 einen Mosfet schaltet. Also habe 
ich hier im Wiki nach einem Mosfet gesucht, der Linearbetrieb kann und 
bin beim IRFD024 gelandet.

So leicht ist es (für mich) aber doch nicht. Wie kriege ich denn die 
richtige Spannung für den (-) am Opamp her, hinter Drain liegen ja nicht 
0-12V....?

Muss ich einen Shunt zwischen GND und Source setzen, um die Spannung da 
abzugreifen?

Vermutlich für einen alten Hasen kein Problem, aber ich komme hier nicht 
mehr weiter.

von T. C. (frog)


Lesenswert?

Mach vor das Poti noch einen Widerstand rein, sodass du einen 
Spannungsteiler hast, der dir am Poti 3,3 Volt gibt.

von T. C. (frog)


Lesenswert?

Also wenn dein Poti 1k hat, mach davor noch einen 2,7k Widerstand

von Michael B. (laberkopp)


Lesenswert?

Na ja, ohne zusätzliche Kompensation wird die Schaltung eher schwingen 
als regeln.
Mit etwas negativen Feedback, also einem zusätzlichen Widerstand, 
bekommt man noch eine bessere Drehzahlstabilisierung.
Siehe z.B. Datenblatt vom LA5527

von Meiermann (Gast)


Lesenswert?

Hm.

Ich habe jetzt noch mal die Schaltung auf dem Steckbrett aufgebaut, die 
Eingangsspannung nehme ich der Einfachheit aus einem Poti 0-12V.

Der eingezeichnete Poti war 5k also spare ich mir mal zusätzliche 
Widerstände.

Ich war eigentlich der Meinung, die Schaltung ist fehlerhaft, denn die 
Spannung zwischen Motor und FET ist doch reziprok 12V bis bestenfalls 
0.07V wenn der FET voll durchschaltet. Die Regelung dürfte doch so gar 
nicht funktionieren. Tut sie natürlich auf dem Steckbrett auch nicht. 
Erst bei mehr als 9V Eingangsspannung läuft der Motor an, dann aber auch 
voll, und aus geht er irgendwann, manchmal bei 0V Eingangsspannung, 
manchmal wenn ich nur mit dem Schraubendreher die Stellschraube berühre.

Was ist da los?

von ArnoR (Gast)


Angehängte Dateien:

Lesenswert?

Meiermann schrieb:
> Muss ich einen Shunt zwischen GND und Source setzen, um die Spannung da
> abzugreifen?

Dann steuerst du den Motorstrom (Moment), nicht die Spannung (Drehzahl).

Meiermann schrieb:
> So leicht ist es (für mich) aber doch nicht. Wie kriege ich denn die
> richtige Spannung für den (-) am Opamp her, hinter Drain liegen ja nicht
> 0-12V....?

Genau. Du musst die Spannung über dem Motor messen und die zum OPV 
runterbringen (auf Masse beziehen). Das kannst du z.B. mit einem 
PNP-Transistor machen. So wie du das da oben gezeichnet hast geht es 
nicht.

von Achim S. (Gast)


Lesenswert?

Meiermann schrieb:
> Was ist da los?

Hast du doch selbst schon beschrieben:

Meiermann schrieb:
> Die Regelung dürfte doch so gar
> nicht funktionieren.

Durch den Abgriff der Rückkoppelspannung oberhalb des FETs invertierst 
du in der Rückkoppelschleife per FET einmal zusätzlich. Du hast also 
keine Gegenkopplung, sondern eine Mittkopplung. Für die gibt es zwei 
stabile Zustände:
a) der OPV gibt die kleinste Spannung aus, die er kann
b) der OPV gibt die größe Spannung aus, die er kann

Beide Zustände beobachtest du.

Meiermann schrieb:
> Muss ich einen Shunt zwischen GND und Source setzen, um die Spannung da
> abzugreifen?

Das wäre ein kluger Ansatz.

von Der Andere (Gast)


Lesenswert?

Achim S. schrieb:
> Meiermann schrieb:
>> Muss ich einen Shunt zwischen GND und Source setzen, um die Spannung da
>> abzugreifen?
>
> Das wäre ein kluger Ansatz.

Das wage ich mal zu bezweifeln. Ein DC Motor hat bei konstanter Spannung 
einen halbwegs steifen Drehzahl Drehmoment Verlauf. Nimmt die Belastung 
zu steigt der Strom, die Drehzahl geht nicht allzustark runter.
Wenn du den Motor jetzt auf den Strom regelst, dann wird bei kleinster 
Belastungsvergrößerung die Drehzahl stark einbrechen und der Motor wird 
ganz schnell abwürgen, weil das Drehmoment in erster Näherung linear zum 
Strom ist.

von Meiermann (Gast)


Angehängte Dateien:

Lesenswert?

So, ich habe hier noch zufällig einen 1Ohm widerstand gefunden und mal 
alles auf dem Steckbrett aufgebaut.


Das mit dem Strom statt der Spannung stimmt zwar, aber der Motor wird 
kaum belastet, vorläufig stimmt das Ergebnis.

Die Schaltung entwickelt leider eine enorme Schwingung, die man gut 
hören kann. Deswegen habe ich erst mal einen RC-Filter vor den MOSFET 
gesetzt.

Gibt es die Schwingungbekämpfung das auch in richtig statt in geht-so?


Und nächste Frage: Die Lösung von ArnoR mit dem PNP, ist die denn 
annähernd linear? Aus Mangel an Bauteilen habe ich das noch nicht prüfen 
können.

von Achim S. (Gast)


Lesenswert?

Meiermann schrieb:
> Gibt es die Schwingungbekämpfung das auch in richtig statt in geht-so?

ja, das geht auch in richig ;-)
https://www.mikrocontroller.net/articles/Konstantstromquelle#Konstantstromquelle_mit_Operationsverst.C3.A4rker_und_Transistor
Wenn du ein bisschen runterscrollst, findest du die FET-Version

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

ArnoR schrieb:
> DCMotor.png

Das sieht richtig gut aus. Ich habe hier gerade einen schönen DC Motor 
aus einem Drucker, die Schaltung probier ich mal :-P

von Olaf (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal der etwas komplexere Ansatz. Hab ich vor ein paar Jahren mal 
aufgebaut weil mich das Prinzip interessiert hat. Ausserdem versteht man 
so ganz gut warum man das heute gerne in Software macht. :)

An R25 sollte man eine Spannung fuer die gewuenschte Drehzahl einspeisen 
koennen.

Olaf

von ArnoR (Gast)


Lesenswert?

Meiermann schrieb:
> Und nächste Frage: Die Lösung von ArnoR mit dem PNP, ist die denn
> annähernd linear?

Wozu ist wohl das Diagramm rechts daneben? Das zeigt die Motorspannung 
(~Drehzahl) in Abhängigkeit von der Steuerspannung (0...1V).

Matthias S. schrieb:
> ArnoR schrieb:
>> DCMotor.png
>
> Das sieht richtig gut aus. Ich habe hier gerade einen schönen DC Motor
> aus einem Drucker, die Schaltung probier ich mal :-P

Schön, aber die zeigt nur das Prinzip und schwingt so wohl auch. Die 
Verstärkung des Mosfet ist größer als die Dämpfung der Messung (10:1). 
Man muss die Verstärkung des Mosfet reduzieren (Sourcewiderstand oder 
Spannungsgegenkopplung am Mosfet mit 1k OPV->Gate/3,3k->Gate-Drain) und 
einen mit möglichst kleiner Steilheit nehmen (IRF510).

von ArnoR (Gast)


Angehängte Dateien:

Lesenswert?

ArnoR schrieb:
> Man muss die Verstärkung des Mosfet reduzieren (Sourcewiderstand oder
> Spannungsgegenkopplung am Mosfet mit 1k OPV->Gate/3,3k->Gate-Drain) und
> einen mit möglichst kleiner Steilheit nehmen (IRF510).

Ja, so scheint es zu funktionieren. Für größere Mosfets kann man die 
Verstärkung weiter reduzieren 3k3->2k2.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

ArnoR schrieb:
> und schwingt so wohl auch

Tut sie, und zwar munter - allerdings habe ich hier gerade nur einen 
ICL7621 und einen IRLD44, der viel zu steil ist. Ich wollte als nächstes 
mal einen BD139 mit Basiswiderstand probieren. Aber IRF520 müssten noch 
irgendwo sein.

von ArnoR (Gast)


Lesenswert?

Matthias S. schrieb:
> Tut sie, und zwar munter...

Ja, wie zu erwarten war. Du kannst neben den oben genannten Maßnahmen 
auch die Messdämpfung weiter erhöhen (den 1k und gleichlaufend die 
Steuerspannung verringern).

Matthias S. schrieb:
> Aber IRF520 müssten noch irgendwo sein.

Mit IRF520 ist die Simu ohne nennenswertes Überschwingen stabil.

von ArnoR (Gast)


Lesenswert?

ArnoR schrieb:
> (den 1k und gleichlaufend die
> Steuerspannung verringern).

Also damit ist natürlich der 1k am inv. Eingang gemeint.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Matthias S. schrieb:
> und einen IRLD44

Ist Blödsinn, ich weiss nicht mal, obs sowas gibt. Ich verwand einen 
viel zu steilen IRFZ44.

ArnoR schrieb:
> Du kannst neben den oben genannten Maßnahmen
> auch die Messdämpfung weiter erhöhen (den 1k und gleichlaufend die
> Steuerspannung verringern).

Ich wollte mal probieren, auf genau 0-3,3V oder 0-5V zu skalieren, das 
könnte ich hier brauchen, wird aber wohl mit Spannungteiler am Eingang 
einfach sein.

: Bearbeitet durch User
von ArnoR (Gast)


Angehängte Dateien:

Lesenswert?

Matthias S. schrieb:
> Ich wollte mal probieren, auf genau 0-3,3V oder 0-5V zu skalieren, das
> könnte ich hier brauchen.

Ich würde ja lieber eine Schaltung ohne OPV und die ganzen Probleme 
nehmen, so wie im Anhang.

von Meiermann (Gast)


Lesenswert?

So,
Danke nochmal für den Aufwand.

Ich habe zuerst mal die Stromregelung mit OPAmp aufgebaut, einfach weil 
ich die Bauteile alle schon da hatte.
Das Ergebnis ist durchwachsen und im Teillast-Bereich gibt es immer 
wieder Probleme mit Schwingungen. Die kriege ich mit Kondensatoren und 
grossen Widerständen bei der Ansteuerung zwar hin und her geschoben, 
aber nie ganz weg.

Dann habe ich nochmal den Aufbau von ArnoR genommen. Der tut tatsächlich 
was er soll.



Eigentlich hatte ich gedacht, dass eine analoge Ansteuerung viel 
einfacher als eine digitale (PWM mit Glättung) oder eine Regelung mit MC 
wäre, aber - nein. dabei heißt es doch, früher wäre alles besser. :)

von Sascha (Gast)


Lesenswert?

Was meinst du, warum die Menschheit irgendwann für sich entschieden hat, 
dass digital besser als analog ist?

Weil digital klar definierte Punkte hat und analog nicht.

Ich habe irgendwann über hackaday.com mal eine Seite gesehen wo jemand 
absolut jede kleinste Schrottaufgabe mit einem Attiny gemacht hat. Also 
auch Sachen für die normal ein Op-Amp reicht.

Und was war? Hat seinen ganz besonderen Charme. Für jede Aufgabe nimmt 
er das gleiche Bauteil und das Endergebnis funktioniert immer. Und man 
braucht in der Regel nichtmal ein Oszi weil man ja ganz genau weiss was 
der µC macht (eins zu haben ist natürlich trotzdem besser).

von Michael B. (laberkopp)


Lesenswert?

Sascha schrieb:
> Ich habe irgendwann über hackaday.com mal eine Seite gesehen wo jemand
> absolut jede kleinste Schrottaufgabe mit einem Attiny gemacht hat. Also
> auch Sachen für die normal ein Op-Amp reicht.

Ja ja, solche Profis haben wir hier auch.

Die versuchen, den Vorwiderstand der LED durch einen uC zu ersetzen,
glauben daß der uC ideal ist um Mikrophonsignale auf Line Pegel zu 
verstärken,
und wundern sich warum Schrittmotoren nicht laufen wenn man sie direkt 
an uC Ausgänge hängt. Wieso, ist doch richtig programmiert.

Besonders beliebt die Regelung von Labornetzteilen per A/D-Wandler und 
PWM in den uC zu verlagern.

von Sascha (Gast)


Lesenswert?

Wenn man das richtig macht, funktioniert das auch. Und das hat natürlich 
auch Grenzen, gerade bei Abtastung. Wenn man die kennt, ist das ein 
valides Vorgehen mit diversen Vorteilen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.