mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Warum Mosfet bei Stepper-Motoren?


Autor: F. V. (coors)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Forum,

Bin neu auf dem Gebiet und bastel im Moment an Schrittmotorsteuerungen 
rum.

Ich wollte mal fragen warum bei H-Bridges immer automatisch MOSFETs 
erwaehnt werden. Ist es fuer Anwendungen wie z.B. Schrittmotoren mit ner 
Schrittfrequenz < 1 kHz nicht deutlich einfacher und billiger auf 
"normale" BJTs zu setzen?

Was genau ist der Vorteil von nem L298 im Vergleich zu ner diskreten 
H-Bridge mit guenstigen BJTs?

Ich waere sehr dankbar wenn Leute, die oefter mal Motorsteuerungen bauen 
mal Beispielkombinationen von N-Channel / P-Channel Mosfet und/oder NPN 
/ PNP Transistoren (bitte mit I und V Motor sowie der maximalen 
PWM-/Stepfrequenz) posten koennten, damit sich Anfaenger mal orientieren 
koennen was "normalerweise" so verbaut wird.

Vielen Dank,
Felix

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ist es fuer Anwendungen wie z.B. Schrittmotoren mit ner
> Schrittfrequenz < 1 kHz nicht deutlich einfacher und billiger auf
> "normale" BJTs zu setzen?
Hier geht es weniger um die Schrittfrequenz, als vielmehr um die 
Schaltfrequenz des Stromreglers (10kHz aufwärts). Und da sind bipolare 
Transistoren recht schnell am Ende.

Wenn du "nur" die Windungen einfach so an Vcc hängst und direkt auf GND 
durchdschaltest, kannst du auch Darlingtons nehmen. Aber das ist nicht 
Stand der Technik.

EDIT:
> nicht deutlich einfacher und billiger
Nein bezogen auf den Aufwand für das Gesamtsystem (Ansteuerung + 
Endstufe) gilt das sicher nicht. Sonst würden alle etwas falsch machen 
;-)

Autor: F. V. (coors)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hier geht es weniger um die Schrittfrequenz, als vielmehr um die
> Schaltfrequenz des Stromreglers (10kHz aufwärts). Und da sind bipolare
> Transistoren recht schnell am Ende.

Damit meinst du z.b. den AVR oder PIC, der dann dranhaengt und das ganze 
steuert? Wenn ich kein PWM mache sollte das doch gleich der 
Schrittfrequenz sein, oder?


> Wenn du "nur" die Windungen einfach so an Vcc hängst und direkt auf GND
> durchdschaltest, kannst du auch Darlingtons nehmen. Aber das ist nicht
> Stand der Technik.

Ich dachte das macht man so, wenn man bei Steppern das maximale 
Haltemoment haben will ?!? Aber wie gesagt, bin neu und kann das 
durchaus falsch verstanden haben.

Was ist denn der Stand der Technik? PWM auch bei Schrittmotoren?


Vielen Dank fuer die geduldige Hilfe (auch im anderen Thread) :)

Autor: Tipgeber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MOSFET's ( übrigens auch Darlington-Transistoren ) haben Inversdioden 
schon "eingebaut", so gibt's keine Schwierigkeiten mit Rückwärtsströmen, 
zusätzliche Dioden entfallen.

Autor: F. V. (coors)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> MOSFET's ( übrigens auch Darlington-Transistoren ) haben Inversdioden
> schon "eingebaut", so gibt's keine Schwierigkeiten mit Rückwärtsströmen,
> zusätzliche Dioden entfallen.

Ist das ein reines Platzargument? Dioden kosten doch nur < 1 Cent 
(1N4007).

Oder steckt da auch wieder mehr hinter? Die sind doch generell "nur" da, 
um den induktiven Strom vom Motor loszuwerden, oder nicht? Sollte dann 
doch unkritisch sein, solange Dioden vorhanden sind.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Wenn du "nur" die Windungen einfach so an Vcc hängst und direkt auf GND
>> durchdschaltest, kannst du auch Darlingtons nehmen.
> Ich dachte das macht man so, wenn man bei Steppern das maximale
> Haltemoment haben will ?!?
Ein "richtiger" Schrittmotor wird nicht über die Spulenspannung 
definiert, sondern über den Strom. Und wenn der für das max. Moment z.B. 
1 A sein darf, gleichzeitig aber der Spulenwiderstand nur 3 Ohm ist, was 
bräuchtest du dann für eine Versorgungsspannung? Richtig so etwa 3 V.
Tatsächlich werden die Endstufen aber mit 12-40V gespeist. Damit erhält 
man einen steilen Stromanstieg, muß aber den Strom regeln (sonst wären 
da schnell mal 30V/3 Ohm = 10A erreicht). Diese Stromregelung ist eine 
Art Hardware-PWM.


> Was ist denn der Stand der Technik? PWM auch bei Schrittmotoren?
Ja, das heißt dort aber anders: Stromregelung.
Sieh dir mal die Doku zum L297/298 an. Da stehts.
Oder da: Schrittmotoren

EDIT:
> Dioden kosten doch nur < 1 Cent (1N4007).
Die taugt auch "nur" für die 50 Hz Gleichrichtung. Oder bestenfalls als 
Freilaufdiode bei Relais, die alle Schaltjahre mal aktiv werden. Sprich: 
das Ding ist viel zu langsam für Schrittmotore.

Autor: F. V. (coors)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah OK, danke.

Also in dem "Spezialfall", dass meine Versorgungsspannung grade den 
gewuenschten Strom bei Windungswiderstand + Transistorwiderstand liefert 
waeren also "Billig-BJTs" verwendbar. Soweit richtig? Habe zu dem Zweck 
nen Haufen 3V / 500 mA Netzteile beim "Electronic-Surplus" fuer 19 Cent 
das Stueck erworben...

Wenn man das ganze aber "richtig" macht nimmt man FETs und regelt sich 
die Spannung von 3V + X einfach so runter, dass der gewuenschte Srtom 
fliesst.


Hoffe ich sehe das richtig. Der Vorteil ist mir noch nicht ganz klar. 
Geht es dabei nur darum alle "moeglichen" Motoren mit dem gleichen 
Treiberbaustein und jeder Spannungsquelle treiben zu koennen? Wenn ich 
vorher genau weiss was ich benutzen moechte scheint mir die Loesung mit 
passenden Transistoren irgendwie besser, da ich mich um das PWM und 
moegliche Fehler (Controller-Reset etc.) garnicht kuemmern brauche.

Plan im Moment ist Transistoren herzunehmen und damit die kleinen 3V / 
200 mA Schrittmotoren zu steuern.

Wenn ich dann aber auf 12V / 1A Motoren umsteige sollte ich FETs nehmen, 
richtig? Oder laesst sich das auch mit BJT machen, wenn die 
Zusammenstellung passt?

EDIT: Welche Diode ist bei solchen Anwendungen Standard? Habe bisher nur 
nen Sack 1N4001 und die daher fuer alles soweit verbaut :)

EDIT 2: Falls du es grade im Kopf hast, welchen P-Channel MOSFET kann 
man denn gut fuer H-Bruecken nehmen? IRF Seite sowie DigiKey Teilesuche 
habe ich abgegrast, tue mir jedoch schwer nen passenden im TO-Gehaeuse 
zu finden. Oder ists am besten ich bleibe bei L298? :)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn man das ganze aber "richtig" macht nimmt man FETs und regelt
> sich die Spannung von 3V + X einfach so runter, dass der gewuenschte
> Srtom fliesst.
Nein, man regelt (sich) nicht die Spannung, sondern den Strom.
Irgendein Spannungsmittelwert wird da schon rauskommen, aber eigentlich 
wird dabei immer die volle Spannung (12-40V) auf die Spule 
(Induktivität) des Motors geschaltet.

> Oder ists am besten ich bleibe bei L298? :)
Für den Anfang, und wenn du nicht mehr Strom brauchst: Ja.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man eine fertige Treiberstufe zur Verfügung hat, dann sollte man 
die nehmen. Die Freilaufdioden müssen v.a. schnell sein, d.h. mindestens 
mal fast- oder ultrafast-Typen oder eben Schottkys.

MOSFETs und Bipolar-Transistoren unterscheiden sich zunächst in der 
Ansteuerung. Bipolartransistoren sind Strom-, MOSFETs 
Spannungs-gesteuert. Bipolartransistoren lassen sich schon bei niedrigen 
Spannungen vernünftig ansteuern, während MOSFETs i.d.R. erst dann Sinn 
machen, wenn man (deutlich) mehr als 5 V zur Verfügung hat. Bei MOSFETs 
muss man nur im Schaltmoment den Strom aufbringen, um das Gate 
umzuladen, während beim Bipolartransistor der Basisstrom im EIN-Zustand 
permanent fließen muss.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nein, man regelt (sich) nicht die Spannung, sondern den Strom.
>Irgendein Spannungsmittelwert wird da schon rauskommen, aber eigentlich
>wird dabei immer die volle Spannung (12-40V) auf die Spule
>(Induktivität) des Motors geschaltet.

Etwas unglücklich ausgedrückt. An der Spule liegt nicht immer die volle 
Versorgungsspannung an. Der Strom in die Spule wird geregelt und durch 
den Widerstand der Spule stellt sich dann einen Spannung ein. Was an 
Spannung an der Spule zu viel ist wird am Treiber verheizt. Beispiel: 
Spulenstrom: 5 A, Spulenwiderstand: 1 Ohm, Versorgungsspannung 12 V => 
Spulenspannung: 5 V, Spannung über dem Treiber: 7 V.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der Strom in die Spule wird geregelt und durch
> den Widerstand der Spule stellt sich dann einen Spannung ein.
Nein, ich war schon richtig: wenn der Transistor/Fet eingeschaltet wird, 
wird er ganz eingeschaltet --> es liegt die volle Spannung an der 
Wicklung an. Dann steigt der Strom (langsam) an. Aber bei Erreichen des 
oberen Stromgrenzwertes wird er ausgeschaltet, nur um beim Erreichen des 
unteren Stromgrenzwertes wieder eingeschaltet zu werden. Ein anderer 
Name dafür ist Chopper-Betrieb, da die Spannung "zerhackt" wird.

> Spulenspannung: 5 V, Spannung über dem Treiber: 7 V.
Wie gesagt: falsch.
Dazu siehe z.B.
http://www.roboternetz.de/wissen/index.php/Schrittmotoren
http://www.roboternetz.de/wissen/index.php/Chopper_Betrieb

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann will ich doch gleich mal aus deinem ersten Link zitieren

>...
>Die Regelung wird mit einer hohen Spannung (oft bis zu 30 oder 40 Volt) 
>versorgt. Aber die Regelung sorgt dafür, dass immer nur der eingestellte 
>Nennstrom, in unserem Beispiel 0,5 A, zum Motor gelangt. Auf diese Art und >Weise 
wird der Motor, ohne Schaden zu nehmen, immer mit der optimalen >Spannung 
versorgt.
>...

Und die "optimale Spannung" ist nicht immer gleich der 
Versorgungsspannung, die kann auch deutlich drunter liegen. ;)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael wrote:
> Na dann will ich doch gleich mal aus deinem ersten Link zitieren
Schlags kaputt, mann sollte sich das Zeug, auf das man verlinkt,
einfach genauestens durchlesen ;-)

> Auf diese Art und Weise wird der Motor, ohne Schaden zu nehmen,
> immer mit der optimalen Spannung versorgt.
Trotzdem falsch. Richtig wäre:
Auf diese Art und Weise wird der Motor, ohne Schaden zu nehmen,
immer mit dem optimalen Spannungs-Mittelwert versorgt.

Autor: F. V. (coors)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, danke hat mir sehr geholfen.

Fuer andere Anfaenger, die mitlesen: Offenbar hat es zusaetzlich den 
Vorteil, dass man z.B. bei 12 V Versorgung eines 3V Motors per 
Chopperbetrieb immer reichlich Drehmoment hat.

Offenbar geht das bei Schrittmotoren sonst gerne mal in die Knie bei 
hoeheren Drehzahlen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ... per Chopperbetrieb immer reichlich Drehmoment hat.
Strom ==> Moment

> Offenbar geht das bei Schrittmotoren sonst gerne
> mal in die Knie bei hoeheren Drehzahlen.
Bei allen (induktiven) Motoren.
Stichwort Gegen-EMK
http://de.wikipedia.org/wiki/Elektromotorische_Kraft

Autor: Kolja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend allerseits,
ich bin seit etwa 2 Wochen auf der Suche nach einer besseren Beschaltung 
meines Schrittmotors, habe viel probiert und bin bisher nur gescheitert.

Ich möchte einen DZM bauen und dafür folgenden DZM einsetzten:
http://www.sonceboz.com/medias/produits/fiches-tec...

Da der nur 35mA braucht und ich zum einen keinen Platz für einen großen 
Treiber habe und die ja auch meist erst ab 100mA laufen ( Hörensagen ) 
war nun die Idee die folgende: Ich wollte einen LM317 nehmen und ihn als 
Konstantstromquelle einsetzen.
Eingestellt auf 35mA. Vin auf 12V gehängt und Vout als Eingang eins Low 
Current Switch IR 4427.
Solange der Switch Masse durchschaltet dreht der LM317 die Spannung 
solange höher bis sie auf 12-2,5 = 9,5V
angestiegen ist ( 2,5V gehen über dem Regler "verloren" ). Sobald der 
Switch auf den Spannungspfad durchschaltet läuft Strom ( recht viel dank 
9,5V Spannung ) durch die Spulen. Sollte der Strom über 35mA steigen
würde der LM317 die Spannung reduzieren und der Strom würde konstant auf 
35mA gehalten.

An sich dachte ich, das wäre eine gute Idee. Aber der Motor schafft es 
eben nicht immer anzufahren, wie man auf dem Video
Youtube-Video "x MVI 1404" sieht.

Heute hatte ich die faxxen dicke und wollte mal gucken was man so alles 
treiben kann bis der Motor sich verabschiedet.
12V direkt auf den Switch gegeben. Motor macht exakt das gleiche. 
Zuckelt rum und dreht nur selten.
Dabei gebe ich dem schon eine variable Anfahrzeit:
Nach dem Start warten ich nach dem umpolen 15ms .. 14ms .. ... 1ms um 
dann weiterhin 1ms zu warten zwischen den Schritten. Wenn man nur auf 
2ms reduziert dreht der Zeiger, aber wesentlich zu langsam, mit 1ms 
fährt er eben nicht immer an.

Wenn im Datenblatt nicht 600°/sec stehen würden, dann würde ich sagen 
der Motor kann nicht so schnell.
Sollte er aber können. 200°/sec gehen ganz gut, sieht aber lahm aus. 
Motortreiber wie man sie klassisch nimmt laufen
eben erst ab 100mA ... voll der Mist alles.
Also alle vor die Erfahrungen haben!!

Gruß JKW

Autor: Thorsten Ostermann (Firma: mechapro GmbH) (ostermann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Kolja!

Warum enterst du hier einen uralten Thread statt einen neuen 
aufzumachen?

Die Stepper von Sonceboz sind offenbar für den Betrieb bei 5V gedacht. 
Typischerweise werden die Wicklungen in der Elektronik vom Tachoeinsatz 
direkt an 5V geschaltet. Treiberschaltungen wären da viel zu teuer und 
zu aufwändig. 20mA sollte ein AVR auch noch ohne weitere Treiber 
schaffen....

Mit freundlichen Grüßen
Thorsten Ostermann

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.