Forum: Mikrocontroller und Digitale Elektronik Microschritt mit l298


von RobertVortex (Gast)


Lesenswert?

Hallo,

für einen Vorschubschlitten (Querschlitten Drehmaschine) existiert ein 
Antrieb. Problem ist, das sich Motorgeräusche (die Niederfrequenten) auf 
das Ergebnis übertragen. Angangs war ein kreischender 12V (60u/min von 
Pollin) verbaut. Das gekreische hat man der Oberfläche wenig angesehen, 
jedoch nervt dem Bearbeiter (mich) der Ton und die maximale 
Verfahrgeschwindigkeit (Eilgang) war mir auch zu niedrig. So bastelte 
ich einen Wischermotor mit vorgeschalteten 1:6 Getriebe davor. Alles 
schön mit Puffern entkoppelt. Und nun Nervt zwar kein Getriebekreischen 
mehr, doch der brummige Motorsound überträgt sich auf die Mechanik, zwar 
schwach aber schlimmer als beim Vorgänger.

Mein allererster Gedanke war eine Schrittmotorsteuerung, doch die 
Rastung würde "auffallen".
Dann habe ich Gestern etwas versucht. Ich habe einen Atmega8 direkt mit 
einem l298 Verbunden. Also 6 Pins. 4 Geben die Spulenbestromung vor 
(Quadranten) und zwei (Enable A und ENable B) die PWM. 12 Stunden später 
lief das ganze sogar FAST wie im Traum. Ich unterteile einen Vollschritt 
in 50 Mikroschritte. Er (NEMA17) ist verhältnismäßig leise und hat auch 
beim langsamen Drehen viel Kraft, wie gewünscht.
Nun gibt es aber Hänger, in denen -so denke ich- der L298 so gut wie nix 
macht an einer Halbbrücke. Das PWM Signal geht von 0%-100%, der L298 
scheint aber erst mit 15% PWM anfangen zu laufen. Jetzt habe ich die 
Sinus/Cosinus-Tabelle angepasst, das die PWM bei 15% losgeht.
Leider war das nicht alles. Immer noch pro Vollschritt einen 
hänger/raster. Bei hoher Drehzahl gibts dann Brummen und bei niedriger 
Drehzahl dieser ungleichmäßige Lauf, beides nicht so toll );



So nun meine eigendliche Frage:
Wie kriege ich den Schrittmotor, bzw. -treiber. Nahezu geräuschlos ?(ich
meine nicht das PWM-Fiepen, sondern NUR den Lauf)



Mit dem L298 klappt das schon gut bis auf dieser "hänger". Hat das schon 
mal jemand mit Erfolg gemacht?


Bevor ich es vergesse: Basteln will ich, wenn mir dieser Antrieb bereits 
hunderte Stunden gekostet hat, will ich trotzdem kein Geld ausgeben. OK 
für einen -preiswerten- Treiberbaustein, der das kann schon.

Und zu guter Letzt: Die ganze Problematik kann ich erschlagen, in dem 
ich die jetzige Situation nutze, und den Microstepper (: mit einem 
Riemengetriebe akustisch auskopple, doch dazu müsst die Maschine 
räumlich erweitern und das soll meine letzte Option sein.


MfG  Robert

von m.n. (Gast)


Lesenswert?

RobertVortex schrieb:
> Angangs war ein kreischender 12V (60u/min von Pollin) verbaut.

Was ist ein 12V?

RobertVortex schrieb:
> Mit dem L298 klappt das schon gut bis auf dieser "hänger".

L298 ist ungeeignet.
Mein Vorschlag A4982 oder ähnlich mit 16 Mikroschritten. Der reicht für 
NEMA17.

von Noch einer (Gast)


Lesenswert?

Hast du schon mit verschiedenen Kupplungen und Schwungmassen 
experimentiert?

Erstaunlicherweise eignet sich Gartenschlauch als elastische Kupplung.
http://www.jensn.de/cms/cnc21.JPG

Uns sei nicht ganz so geizig. Mit einem chinesischem Speicheroszilloskop 
findest du die Programmfehler sofort.

von Alexander S. (alex998)


Lesenswert?

m.n. schrieb:
> Mein Vorschlag A4982

Oder gleich den DRV8825, kann 32 Mikroschritte und ist auch nicht 
teurer:
http://www.ebay.de/itm/DRV8825-3D-Drucker-Stepstick-Schrittmotor-Treiber-Modul-alternative-zu-A4988-/331641576509

von RobertVortex (Gast)


Lesenswert?

Ich meinte einen 12V Getriebemotor.
Der A4982 hat 16 Schritte, der DRV8825 wohl auch nur 32. Meiner hat 
jetzt 200 (jedoch ist die Sinustabelle an manchen Stellen nicht 
ausreichend aufgelöst)! Es ist wirklich kaum ein Schritt zu erkennen, 
nur halt wenn sich einer der Sinus' Null nähert. Und ich wills am besten 
Schrittlos.

Ich kann auch nur die PWM im 2-Kanalbetrieb (Analogoszi) prüfen, 
ansonsten wegen gemeinsamer Masse nur einen Spulenstrang und dort sieht 
man, das der L298 die einzelnen kürzeren PWM-Signale nicht nicht 
weiterleiten WILL.
Mit zwei Diskret aufgebauten Halbbrücken sollte das doch auch gehen, 
oder ?


MfG

von Noch einer (Gast)


Lesenswert?

> So bastelte ich einen Wischermotor

> nur einen Spulenstrang

Nanu?

Willst du einen Gleichstom-Getriebemotor mit PWM ansteuern? Oder ist das 
ein Schrittmotor mit angeflanschtem Getriebe?

Und um welche Frequenzen geht es? Sind es kHz oder baust du den Sinus 
aus MHz Impulsen zusammen?

von Wolfgang (Gast)


Lesenswert?

RobertVortex schrieb:
> Der A4982 hat 16 Schritte, der DRV8825 wohl auch nur 32. Meiner hat
> jetzt 200

Dein was hat 200?

Ein Schrittmotor mit 200 Schritten pro Umdrehung löst mit einem 32er 
Mikroschritttreiber 6400 Schritten auf, also etwa 0.05°/Schritt. Da 
musst du schon sehr genau hingucken, um noch Schritte zu erkennen.

Von Trinamic gibt es den TMC2100 mit max 256 Mikroschritten.

von RobertVortex (Gast)


Lesenswert?

Sorry... hab mich falsch ausgedrückt, vielleicht suche ich gar keine 
Microstep. Ich versuche den Schrittmotor mit zwei um 90° Versetzten 
Sinus zu Steuern. Der Sinus sollte mit einer 12khz PWM erzeugt werden. 
Das will ich, um einen geräuschlosen, drehmomentstarken und 
positionierbaren Antriebsmotor zu haben. Theoretisch habe ich 200 
Sinuswerten (PWM). Das entspicht einem Schritt, wovon der Schrittmotor 
200 hat. Ich kann (theoretisch) bis aufs vierzigtausendstel einer 
Gesamtundrehung auflösen. Bei meinen Versuchen habe ich einen Zeiger an 
dem Schrittmotor montiert, solche -nicht erwünschten- Schritte sichtbar 
zu machen. Denn wenn ich ihn schneller rotieren lasse, machen sich die 
kleinen Hänger schon bemerkbar.

Das ganze Konstrukt dient der Oberflächenbearbeitung und eine Drehzahl 
von 5 u/min (besser auch kleiner) bis >20 U/min ist vorraussetzung, 
wobei letzteres sich auch Wunsch ist.

von Wolfgang (Gast)


Lesenswert?

RobertVortex schrieb:
> Sorry... hab mich falsch ausgedrückt, vielleicht suche ich gar keine
> Microstep. Ich versuche den Schrittmotor mit zwei um 90° Versetzten
> Sinus zu Steuern. Der Sinus sollte mit einer 12khz PWM erzeugt werden.
> Das will ich, um einen geräuschlosen, drehmomentstarken und
> positionierbaren Antriebsmotor zu haben. Theoretisch habe ich 200
> Sinuswerten (PWM).

So wie du das beschreibst, hört sich das nach effektiv 200 
Mikroschrittansteuerung an. Ist dein Motor für Mikroschrittbetrieb 
konstruiert, sonst kann es leicht zu ungleichmäßigen Schritten kommen. 
Resonanzen sind ein anderes Problem. Testest du mit Last?

von Gabriel M. (gabse)


Lesenswert?

2 X L292

: Bearbeitet durch User
von Noch einer (Gast)


Lesenswert?

Einen Schrittmotor kannst du gar nicht auf einen Mikroschritt 
positionieren.

Wenn der Strom langsam ansteigt, passiert erst mal gar nichts. Sobald 
der Strom das Haltemoment überwindet, springt er zur nächsten stabilen 
Position.
http://www.schrittmotor-blog.de/die-bedeutung-des-lastwinkels-bei-schrittmotoren/

Aus diesem Grund benutzen Werkzeugmaschinen die teuren geregelten BLDC 
Motoren.

Und dann hast du noch das Problem: Bei höheren Drehzahlen nehmen Strom 
und Drehmoment ab. Du musst den Motor mit geregeltem Strom betreiben, 
nicht mit konstanter Spannung. Da sind 40 Volt für 3 Volt Nennspannung 
üblich. Ohne Stromregelung brennen die sofort durch.

Die beste Strategie: Zuerst Strom, Elastizität und Schwungmassen 
aufeinander abstimmen, dass er auch bei Halbschritt sauber läuft. Danach 
mit Mikroschritt die verbleibenden Schwingungen ein wenig dämpfen.

von Robert V. (malso)


Lesenswert?

Ob mein Schrittmotor Mikroschritt tauglich ist weiß ich gar nicht ):
Aber es sieht soweit ganz gut aus. Und wie gesagt ich versuche ja über 
die H-Brücken (l289) mit PWM einen Sinus und Cosinus zu erzeugen, welche 
dann den Drehwinkel des Ankers vorgeben.


Und ich kann den Schrittmotor wirklich extrem langsam bewegen und dabei 
kann ich einen Drehmoment vernehmen, wie er für meine Zwecke ausreicht.



ich seh mir mal den l292 an.


edit: zu dem Link... das der tatsächliche Drehwinkel, vom äußeren 
Drehmoment abhängt ist mir klar. Momentan ist der Motor Lastlos nur mit 
einem Zeiger auf dem Werktisch.

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

Robert V. schrieb:
> ich seh mir mal den l292 an.

Da wirst Du ins Museum gehen müssen.

Robert V. schrieb:
> Ob mein Schrittmotor Mikroschritt tauglich ist weiß ich gar nicht ):

Er ist er sehr wahrscheinlich nicht. Da kannst Du noch so viel 
Mikroschritte vorgeben, an seinem Rastmoment kommst Du nicht vorbei.

RobertVortex schrieb:
> Das ganze Konstrukt dient der Oberflächenbearbeitung und eine Drehzahl
> von 5 u/min (besser auch kleiner) bis >20 U/min ist vorraussetzung,
> wobei letzteres sich auch Wunsch ist.

Das geht mit einem geregelten DC-Motor mit Getriebe ganz gut. Pollin ist 
da keine Referenz.

von Robert V. (malso)


Lesenswert?

ok, dann habe ich wohl den Aufbau des Motors verkannt.
Warum soll das beim BLDC gehen und beim Schrittmotor nicht ?
Das Rastmoment kommt doch durch die stromUNdurchflossenen Spulen oder 
durch schrittweise Stromänderung. Da ich letzteres beseitigen will, 
woher noch?

Nochmal:  Meint ihr ein, mit reinem Sinus, bestromter Schrittmotor 
rastet??


edit: l292 ist rar, da bau ich mir dann vielleicht doch zwei H-Brücken

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Robert V. schrieb:
> Nochmal:  Meint ihr ein, mit reinem Sinus, bestromter Schrittmotor
> rastet??

Sogar ein gänzlich unbestromter Schrittmotor rastet.

Und das muss durch den Strom überwunden werden.

von Robert V. (malso)


Angehängte Dateien:

Lesenswert?

Vielleicht reden wir aneinander vorbei, aber ein Synchronmotor mit 
Permanentmagneten rastet stromlos, nicht wahr?! Mit einem Drehfeld 
bestromt (Sinusförmig) sollte er Rastfrei laufen und das theoretisch 
unabhängig von der Trägheit des Rotors.

Nun habe ich einen Ausgang des l298 an einen Trafo angeschlossen und die 
Ausgangsspannung unter Last (Glühlampe) angesehen. Es sind Plateaus im 
Nulldurchgang und an den Scheitelwerten. Er ist also wirklich ungeeignet 
für einen sauberen Sinus.


...eine Option wäre noch die PWM-Tabelle des µC, mit hilfe des 
Oszibildes, in Rinchtung Sinus zu korrigieren




edit: im Bild oben schon ein Versuch der Tabellenkorrektur
edit2: es sind 120khz PWM

: Bearbeitet durch User
von Possetitjel (Gast)


Lesenswert?

Robert V. schrieb:

> Vielleicht reden wir aneinander vorbei,

Vermutlich.

Hier im Thread wird auch ziemlich abenteuerliches Zeug
ueber Schrittmotoren behauptet.

> aber ein Synchronmotor mit Permanentmagneten rastet
> stromlos, nicht wahr?!

Sollte so sein, ja.

> Mit einem Drehfeld bestromt (Sinusförmig) sollte er
> Rastfrei laufen

Jein. Hier fangen die Probleme an.

Richtig ist, dass der Rotor des Schrittmotors jede
beliebige Zwischenstellung zwischen zwei Vollschritt-
positionen einnimmt, wenn Du die Wicklungsstroeme
passend variierst.
Einfachster Fall: Beide Wicklungen mit genau 70.7%
bestromt --> Halbschritt.

Falsch ist aber im Allgemeinen die Annahme, dass der
elektrische Winkel der Phasenstroeme dem mechanischen
Rotorwinkel genau proportional waere. Das ist normaler-
weise NICHT EXAKT so!
Bei 90° und 45° elektrisch haut es gerade hin, aber bei
den Zwischenwinkeln klappt das nicht unbedingt.

Die Ursache liegt darin, dass sich durch die Rotordrehung
der magnetische Widerstand aendert und daher der Strom
nicht mehr exakt proportional zur Kraft ist.

Folge: Auch wenn der Schrittmotor mit genau sinus- bzw.
cosinusfoermigen Stroemen bestromt wird, ist das Drehmoment
NICHT zwingend exakt konstant, sondern es schwankt trotzdem
noch. (Allerdings sind die Schwankungen VIEL kleiner als im
einfachen Vollschrittbetrieb.)
Die Abweichungen haengen mit der geometrischen Form der
Polschuhe zusammen. Man muesste passend vorverzerrte
Phasenstroeme verwenden, um konstantes Drehmoment zu
erhalten.

Robert V. schrieb:
> ...eine Option wäre noch die PWM-Tabelle des µC, mit
> hilfe des Oszibildes, in Rinchtung Sinus zu korrigieren

Kann man machen. Dann bewegst Du Dich allmaehlich in Richtung
eines echten Umrichters.

von Chrys (Gast)


Angehängte Dateien:

Lesenswert?

Ich würde einen DC-Getriebemotor (Nenndrehzahl etwas höher als dein 
gewünschtes Maximum) mit L298 oder besser L6206 nehmen, und mit onephase 
chopping ansteuern. Dann einen Encoder z.b. AS5047 mit auf die Welle und 
damit einen PID Regler implementieren.
Wenn du einen Halter für den Encoder brauchst, drucke ich dir gerne 
einen aus :)

Gruss Chrys

von Robert V. (malso)


Lesenswert?

Danke das hilft schon mal weiter. OK die mechanische Konstruktion, sorgt 
für eine Abweichung zwischen Stromwinkel und Drehwinkel. Da kann ich 
wohl nicht viel machen mit den gegebenen Mitteln, es sei denn, ich würde 
die Sinustabelle der tatächlichen Drehrichtung anpassen. Dazu fehlen mir 
aber die Messmittel, denn die Auflösung ist schon extrem klein.

Und danke für das Druckangebot, aber ich habe eine kleine Werkstatt, wo 
ich mir sogar ein kleines Getriebe fertigen könnte (wenn ich Zeit 
hätte).

Dann werde ich heute Nacht noch mal mit dem Schrittmotor und dessen 
Tabelle probieren und die Tage einen passenden Getriebemotor suchen.
Problem bei der Getriebevariante waren die Getriebegeräusche für den 
Maschinenarbeiter und Schrittmotoren lagen rum. Die Geräusche stören 
deswegen, weil man dann weniger Feeling für die eigendlichen 
Zerspangeräusche hat.



Bei dem, im Bild, gezeigten Motor habe ich wieder Angst, das die 
Probleme des Wischermotors auftauchen. Niederfrequentes Brummen.
Ich habe hier auch noch Reihenschluss- (oder Nebenschluss-?) Motore, 
welche ruhiger Laufen wie der Wischermotor. (Beim Wischermotor liegt das 
an den Permanentmagneten und der Kommutatierung).


... muss ich mir mal drüber gedanken machen.

von RobertVortex (Gast)


Lesenswert?

...so mit dem l298 hatt ich immer einen kurzen Vollausschlag hinter dem 
Nulldurchgang. Ich habs nicht geschafft damit und mir statt dessen zwei 
diskrete Vollbrücken gebaut. Nun alles ohne diese Peaks. Jetzt muss ich 
nur noch die Sinustabellen optimieren, denn ... er macht läuft 
ungleichmäßig ): und somit laut.

Mal sehen wie viele Stunden ich darin noch investieren will, deshalb 
Frage ich mal hier nach einer Empfehlung für einen Getriebemotor?

Die Anforderungen wären von ca 4 u/min bis 60 u/min. Drehmoment ist halt 
wie bei einem Querschlitten von einer Drehe mit minimalster Zustellung. 
Die Spindel hat 3mm Steigung und die Vorschubgeschwindigkeit ist 1/10mm 
bei einer Arschlangsamen Drehzahl. Es werden große Teile "plangedreht" 
und es sind extrem langsame Drehzahlen -> runter bis 16u/min

Mein bisheriges Problem damit war:

-kleiner Getriebemotor von Pollin: kreischt und hat eine nervige 
Maximalgeschwindigeit

-Scheibenwischermotor mit vorgeschaltetem Getriebe: Drehzahlen super, 
doch der Motor brummt so niederfrequent, dass man es in der Oberfläche 
sieht. (kann man dem Problem vielleicht über eine veränderte 
Kommutierung herr werden)

-beim Schrittmotor habe ich bisher keine gleichmäßige langsame Bewegung 
zu Stande bekommen, siehe oben (hab ihn aber noch angebaut und getestet)


Welchen motor kann ich nehmen ?

Ich will keine 40€ ausgeben und der Abstand zum Halter ist ca 4cm (aus 
dem Gedächtnis).

MfG

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


Lesenswert?

Warum meinst du eigentlich wie alle anderen Anfänger, du könntest "mal 
eben" selbst bauen, wofür andere lange Entwicklungsphasen brauchen? Der 
Teufel steckt eben im Detail. Mit einer guten fertigen 
Schrittmotorsteuerung würde dein Motor längst laufen. Die Probleme im 
Nulldurchgang werden in den Off-Phasen der Brücke verursacht. Deswegen 
arbeiten moderne Schrittmotortreiber mit Mixed-Decay. Mit einem L298 und 
einem wie auch immer gearteten, selbstgestrickten Stromregler wird man 
das nicht annähernd so gut hinbekommen.

Mit freundlichen Grüßen
Thorsten Ostermann

[1] 
http://www.schrittmotor-blog.de/stromregler-als-ursache-fuer-positionierfehler-im-mikroschritt/

von RobertVortex (Gast)


Lesenswert?

Weil es für das eigene Verständnis sinn macht Dinge von Grund an selbst 
zu entwickeln. Ich mache das quasi nur als Hobby, weil man als Schlosser 
elektrisch blöd sein muss. Es gibt halt Menschen die sich privat mit 
Dingen auseinandersetzen, die andere Beruflich machen, damit will man ja 
niemanden ans Bein pissen.

>>> Und weiter oben wurde schon geschrieben, dass es überhaupt nicht geht (:


Aber dein Link beschreibt anscheinend mein Problem, 1000 Dank. Jetzt bin 
ich erneut motiviert.

MfG

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.