Forum: Mikrocontroller und Digitale Elektronik Ansteuerung Schrittmotor


von Sofarocker (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe folgendes Problem, im Anhang ist ein Bild der aufgebauten 
H-Brücke.

Im Versuchsaufbau lässt sich der Schrittmotor mit der Schaltung 
ansteuern. Ich kann über PWM den Motorstrom auch regulieren, allerdings 
bin ich mit dem erreichbaren Motorstrom nicht zufrieden.

Ich habe die Schaltung bisher mit einer PWM Modulationsfrequenz von 50 
kHz betrieben. Wenn ich mir meine Motordaten ansehe 4.4mH, 1.44 Ohm dann 
war die Ansteuerfrequenz viel zu hoch. R*L = 6.33 ms (ca. 160Hz). mit 
25kHz kann ich leichter einen höheren Motorstrom erreichen.

Welche Ansteuerfrequenz würdet Ihr wählen?

Weiters verwende ich eine EMV-Drossel (L12 im Schaltplan) mit 220uH (WE 
76
https://www.distrelec.at/de/induktivitaet-smd-220-uh-20-wuerth-elektronik-7687709221/p/30009018?q=7687709221&page=1&origPos=1&origPageSize=25&simi=97.5).

Motor
http://de.nanotec.com/fileadmin/files/Datenblaetter/Hohlwellen_Schrittmotoren/ST5918S3008-L2.pdf

Noch eine Frage:
Im Testbetrieb werden bei geringem Motorstrom alle Schritte umgesetzt.
Bei Erhöhung des Motorstromes (auf ca. 2A Spitze) werden nicht mehr alle 
Schritt vom Motor gefahren. Ist die Spule des Motors bereits in der 
Sättigung?
Der Motor ist im Leerlauf (ohne Last). Würde sich das Verhalten mit 
mechanischer Last (Moment) auf der Welle ändern?

von m.n. (Gast)


Lesenswert?

Ich sehe keinen Schrittmotor oder wie diese Schaltung einen Schrittmotor 
ansteuern könnte.
Ein Schrittmotor braucht eine Konstantstromregelung, um maximale 
Drehzahl zu erreichen. Mit PWM kann man einen DC-Motor in der Drehzahl 
beeinflussen bzw. regeln.

von Sofarocker (Gast)


Lesenswert?

Hallo,

Warum soll ich den Strom beim Schrittmotor nicht auch mittels PWM - 
Regeln können?

für BLDC Motoren funktioniert die Regelung ja auch. Ich kann auch mit 
dem Versuchsaufbau den Strom über den Motor mittels PWM bereits 
regulieren.

Ein Beispiel für Schrittmotorstromregelung mittels PWM:

http://service.projektlabor.tu-berlin.de/wordpress/search-e/wp-content/uploads/sites/8/2014/07/B4_StromregelungFolien.pdf

lg

von Thomas T. (runout)


Lesenswert?

Hi,

bei "BLDC Motoren funktioniert die Regelung ja auch" lässt auf profundes 
Basiswissen schließen...

Man kann Stepper im closed-Loop-Modus "fast" wie einen BLCD
betreiben.
Das Prinzip ist aber völlig anders.
Nur sehr wenige Hersteller bieten praxistaugliche Controller dafür an.

Grüße Runout

von Sofarocker (Gast)


Lesenswert?

Hallo Thomas,

du hast recht, ich bin mit dem Thema Schrittmotorsteuerung und BLDC 
Motorsteuerung noch wenig vertraut. Das ist auch der Grund warum ich im 
Forum Nachfrage.

Ich bin wirklich dankbar für Ideen und Hinweise wie die Stromregelung in 
dieser Variante funktionieren könnte bzw. warum diese Variante nicht 
funktionieren kann. Natürlich auch für Literaturempfehlungen.

Ich steuere die gezeigte Schaltung mittels FPGA. Ich kann in einem 
Sinusprofil (mittels PWM-Pulsbreite) den Motorstrom pro Schritt erhöhen 
und verringern. Wie gesagt der Motorstrom lässt sich dadurch auch 
regulieren.

Ich habe es in dieser Version verabsäumt ein "Freewheeling" (Freilaufen 
der Spule während der aus Phase des PWM-Signals) einzubauen, weshalb das 
Feld in der Spule nur langsam abgebaut wird und vermute dort ein Problem 
in der Ansteuerung. Der Mosfet BSC057 verfügt über interne 
Freilaufdioden. Es wäre jedoch Sinnvoll eine Seite der Spule gegen 24V 
zu schalten um den Abbau des Feldes zu beschleunigen.

Ich will den Motor jedoch ohne Positionssensor (Closed Loop) steuern.

Ein weiteres Problem, dass sich zeigt ist bei Erhöhung des Motorstromes 
(der Pulsbreite) kommt es zu Schrittverlusten. Ich betreibe den Motor 
bis jetzt nur im Leerlauf. Kann ich mit zunehmender Last den Strom 
weiter erhöhen? Kommen die Schrittverluste daher, dass der Motor in der 
Sättigung ist?

von aSma>> (Gast)


Lesenswert?

Sofarocker schrieb:
> R*L = 6.33 ms (ca. 160Hz)

Eher L/R.

Der snubber hat recht hohe Werte, ob das was hilft.

Drosselspule solte man symmetrisch aufbauen. Hier aber nur hinderlich 
und wiederum stromanstiegbegrenzend.

> Welche Ansteuerfrequenz würdet Ihr wählen?
Steht in Datenblätter vom Schrittmotor. Suche weiter nach Diagrammen.

> Noch eine Frage:
> Im Testbetrieb werden bei geringem Motorstrom alle Schritte umgesetzt.
> Bei Erhöhung des Motorstromes (auf ca. 2A Spitze) werden nicht mehr alle
> Schritt vom Motor gefahren. Ist die Spule des Motors bereits in der
> Sättigung?

Nein. Aber eher deine Drossel. Mach die mal raus.

> Der Motor ist im Leerlauf (ohne Last). Würde sich das Verhalten mit
> mechanischer Last (Moment) auf der Welle ändern?
Ja.

Wie hast du den Chopper implementiert?
Hast du ein Oszi?
Wie steuerst du die Eingänge?

Die Mosfets brauchen ein wenig Zeit bis die sich ausschalten, sonst 
entsteht ein Kurzschluß, jedesmal beim Schalten.

Highside Mosfets brauchen eine höhere Spannung zum Durchschalten 
(Ladungspumpe). Die Gatespannung kann man dann einer mit Z- Diode 
begrenzen.

Wenn du was basteln willst, dann nehme zwei L6203 und implementiere 
mikrostepping drauf.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Sofarocker,

> du hast recht, ich bin mit dem Thema Schrittmotorsteuerung und BLDC
> Motorsteuerung noch wenig vertraut. Das ist auch der Grund warum ich im
> Forum Nachfrage.
...
> Ich will den Motor jedoch ohne Positionssensor (Closed Loop) steuern.

Du suchst dir also als Anfänger gleich mal die komplizierteste Aufgabe: 
diskrete H-Brücke und dann noch sensorlose Regelung? Das wird so nichts. 
Fang erstmal mit den Grundlagen an: gesteuerter Betrieb, fertiges IC für 
Mikroschrittansteuerung mit integrierter H-Brücke. Oder noch besser: 
Kauf gleich etwas fertiges. Es sei denn, der Weg ist das Ziel ;)

Mit freundlichen Grüßen
Thorsten Ostermann

von MaWin (Gast)


Lesenswert?

Sofarocker schrieb:
> Ein weiteres Problem, dass sich zeigt ist bei Erhöhung des Motorstromes
> (der Pulsbreite) kommt es zu Schrittverlusten. Ich betreibe den Motor
> bis jetzt nur im Leerlauf. Kann ich mit zunehmender Last den Strom
> weiter erhöhen? Kommen die Schrittverluste daher, dass der Motor in der
> Sättigung ist?

Eher durch Resonanzen, dasselbe Problem wie beim BLDC. Es wird mit einer 
Bremsresonatorplatte oder einfach mal mit dem Finger wie Welle bremsen 
besser.
Du kannst auch ohne Last den Strom erhöhen bis zur Spezifikation deines 
Motors, der wird dann 80 GradC heisser als die Umgebung was er gerade 
noch aushält und hat dann auch die im Datenblatt angegebene Kraft.

Ich würde C24 und C33 durch 0 Ohm erseten, R114 R106 durch 100R, und 
T101, T95 als Konstantstromquellen  schalten so dass R113 und R101 
niederohmiger werden.

Die Versorgung der Treiber V+ mit 36V und der Motoren mit V+ ist 
hoffentlich nicht dasselbe V+, sondern an den Motoren nur V+ mit 24V, 
sonst funktioniert die Ansteuerung nicht, auch nicht mit C24/C33.

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.