Schrittmotortreiber/Steuerung

Für Netzteile, NF-/HF-Verstärker, Reparaturen und allgemeine Elektronikprojekte.

Moderatoren: ebastler, SeriousD, MaxZ

Antworten
Nachricht
Autor
Benutzeravatar

Thread-Ersteller
ferrum
Beiträge: 649
Registriert: Sa 11. Mai 2013, 15:31
Spezialgebiet: Kaffee
Wohnort: Bayern
Hat sich bedankt: 4 Mal
Danksagung erhalten: 27 Mal

Schrittmotortreiber/Steuerung

#1 Beitrag von ferrum »

Servus Miteinander,
Nach langem mal wieder was von mir. Da bei der CNC die ich gerade baue der Großteil selber gestrickt ist muss auch der Motortreiber selbst gebaut sein. Gemacht hab ich das noch nie, deswegen hab hab ich mich im Wesentlichen an folgendem Desing Orientiert http://www.dr-iguana.com/prj_StepperDriver/index.html , welches ich nahezu 1:1 übernommen hab. Es sitzen drei von diesen Treibern auf einer Platine, gemeinsam mit ein bisschen Hühnerfutter, um sinnvoll mit anderen Geräten Kommunizieren zu können. Vorweg: Das hier ist kein Nachbau Projekt, das Design hat ein paar Bugs, andererseits lohnt es nicht Wirklich einen Motortreiber mit dieser Funktionalität selbst zu bauen (China liefert billiger). Mit den Erfahrungen die ich hier mitnehme hab ich aber vor einen State of the Art Motortreiber zu entwerfe bei dem sich das Nachbauen lohnt. Ich weis nicht mehr ganz was meine Intension war als ich angefangen hab meinen Motortreiber selbst zu bauen, aber gelernt hab ich auf jeden Fall was dabei und das möchte ich hier Teilen. Wer die KiCAD Dateien oder sonstiges zu dem Projekt haben möchte schreibt mir bitte, ich will das git repo nicht veröffentlichen weil da Massenhaft Datenblätter und ein paar Application notes drinnen sind die nicht von mir sind, privat geb ich das ganze aber gerne weiter.

Das gesamte Projekt besteht aus 3 Modulen Netzteil, Motortreiberplatine mit 3 Treibern und einem Raspberry PI der das ganze über einen CAN Bus an das Netzwerk frickelt.

1. Netzteil
Netzteil ist ziemlich staight forward aus einem LM5116 gebaut. Ich hatte noch 2*28V Trafo rumfliegen der macht schöne 80V DC für das Netzteil dann gehts mit einem Buck runter auf 20-36V bei 8A was dann etwa 200W hergibt. Der LM5116 ist gleichzeitig PWM controler, MOSFET Treiber und Linearversorgung für sich selbst. Da die uC und der Raspberry 5V sehen wollen sitzt auf dem Netzteil noch ein LM2676 Buck der aus der Brückenspannung für die Motortreiber 5V @ 3A macht. Der LM5116 vom Großen Buck kann sich nur mit thermischen Problemen auf Dauer aus den 80V selbst versorgen. Deswegen übernimmt nach dem Anlaufen die 5V Versorgung diese Aufgabe. Gelaufen ist das ganze out of the Box der LM5116 erleichtert vieles kann ich jedem nur empfehlen vor allem weil es ihn bei reichelt gibt.
Schaltplan
Bild
Und ja wem es auffällt das sind 120 1206er Abblockkondensatoren die in 4 Layers gestapelt sind :hihi: .
Bild
Und für die wo es mir nicht glauben hier noch die tollen Kondensator Türmchen. :novde:
Bild



2. Motortreiber
Der Motortreiber war leider nicht plug and play. Wie schon beschrieben sitzen auf der Motortreiberplatine 3 Treiber, ein uC um mit dem Raspberry Pi auf der einen Seite zu kommunizieren und den einzelnen Motortreibern auf der anderen zusätzlich ist ein bisschen Kleinkram für die Referenzspannungen und die 3,3V für die uC's vorhanden. Das schöne daran die Treiber über einen uC anzusteuern und nicht direkt vom PI ist dass das die Echtzeitanforderungen vom PI nimmt. Die 7 Seiten Schaltplan gibt es hier https://flo-e.de/CNC/Mainboard.pdf. Elektrisch ist das alles schon zusammen gelötet und getestet fehlen tut nur noch die Software für die Kommunikation. Ich werd euch auf dem Laufenden halten. Die Software um den Motor zu regeln steht bereits. Wer genauer an der Funktionsweise von Stepper Drivern interessiert ist hier https://www.microchip.com/wwwAppNotes/A ... e=en546027 ist das ganz gut beschrieben.

Elektrischer Aufbau
Die einzelnen Motortreiber bestehen aus je einer L298 Bipolaren Doppelvollbrücke(dafür dass ich die Dinger verwendet hab ohne nachzudenken beiß ich mir jetzt noch in den Arsch :facepalm: ) und einem dsPIC33FJ12MC202 uC von microchip. Der L298 besteht aus 2 Vollbrücken(für jede Motorphase eine) somit lässt sich jede Phase in beide Richtungen bestromen. Die einzelnen Motorphase verhalten sich wie ein RL Element. Bekanntermaßen gilt damit für $I=0$ $U = L\frac{\mathrm{d}I}{\mathrm{d}t}$, insbesondere begrenzt die Brückenspannung somit den maximalen Stromgradienten und die Drehzahl. Motortreiber verwenden deswegen in der Regel eine hohe Brückenspannung und Stellen den Strom im Motor mittels PWM. Um den Strom regeln zu können ist je Treiber und je Phase einen Shunt mit feedback Verstärker verbaut. Das Feedback wird dann vom ADC des uC gelesen. Zusätzlich sind noch Comperatoren für die Überstromabschaltung und Anschlüsse für die Endschalter der Achse verbaut.
Probleme sind leider nicht ausgeblieben ich musste nach langem Suchen feststellen dass zwei der uC etwas Temperatur empfindlich sind. Unter einer gewissen Temperatur werden die ADC Interrupts nur sehr sporadisch bis gar nicht geworfen. Woher das kommt hab ich keinen Plan es könnte ein Silicon Bug sein oder ich hab die uC irgendwie geschrotted :evil: . Fürs erste hab ich mal eine 1206 Heizung draufgeklebt :hihi: :hihi: :hihi: . Bei der nächsten reichelt Bestellung werden beide defekte uCs getauscht. Fürs erste läuft das so mit dem Hack.
Schaltplan
Bild
Bilder
Bild
Bild
Bild

Initialisierung
Leider musste ich nach dem ich das Ding zusammen gelötet hab feststellen dass die L298 Brücken ziemlich langsam sind die on Time ist um etwa $3,\!5\,\mu\mathrm{s}$ kürzer als die wo der uC vorgibt und variiert von Halbbrücke zu Halbbrücke um etwa $0,\!5\,\mu\mathrm{s}$ . Ähnliches gilt für die turn off delay. Das ist deswegen problematisch weil der uC dem ADC vorgibt wann genau der Strom aufgezeichnet wird. Da die Strommessung nur möglich ist wenn die Halbbrücke an ist, muss, um das Maximum des Stroms zu erfassen, die Verzögerung zwischen abschalten des uC Signals und Abschalten der Halbbrücke bekannt sein. Weiter ist im Feedback Verstärker noch ein RC Tiefpass um glitches beim Schalten zu Filtern, dieser verzögert das Strommaximum zusätzlich.

Um diese Probleme zu kompensieren(nimmt man normalerweise gute MOSFET Brücken :D ) muss der uC einige Messungen beim hochfahren machen.
  • Zuerst wird der Offset der Feedbackverstärker ermittelt welcher sich durch die Widerstandstoleranzen ergibt. Das geschieht bei ausgeschalteter Brücke.
  • Um die Ausschaltverzögerung zu bestimmen legt der uC eine PWM mit fester On time an die Brücke an. Durch sweepen der ADC Umwandlungszeitpunkte über einen gewissen Zeitbereich findet der uC das die Position des Maximums des gemessenen Stroms.
  • Mit der nun bekannten Turn-Off Delay wird nun die Verringerung der On-Time bestimmt. Hierzu erhöht der uC die On-Time solange bis ein sehr kleiner Strom messbar ist.
Regelung
Der uC hat nur einen ADC da auf beiden Phasen der Strom zu einem jeweils anderen Zeitpunkt gemessen werden muss, wird der ADC abwechselnd auf die eine oder andere Phase aufgeschalten. Folglich kann die Stromregelung für jede Phase auch nur dann stattfinden wenn ein neuer ADC Wert vorhanden ist, also nur jeden zweiten PWM Zyklus. Die Stromregelung funktioniert über einen selbst implementierten PID Regler. Grundlagen sind hier https://rn-wissen.de/wiki/index.php/Reg ... 1-Glied.29 ganz gut beschrieben. Implementiert ist das gleich nur will der Regler seine Regelungsparameter eingestellt haben sonst läuft da nichts. In letzterem Link sind einige Vorgehensweisen aufgelistet die bei mir alle nicht wirklich funktioniert haben, Ich hab mir das deswegen selber überlegt. Die Ziegler/Nichols und die Chien/Hrones/Reswick Methode können bei einem Stepper eigentlich nicht funktionieren weil die Sprungantwort vom Regler hierzu Abschnittsweise Konvex und Konkav sein muss, was bei einem RL Element nicht der Fall ist. Die dort angegebene Methode 1 funktioniert nicht weil ab der Verstärkung wo der Regler zu schwingen beginnt das Quantisierungsrauschen des ADC als Störgröße die Messung zu stark verfälscht.
Zunächst ist werden die Stell und Messwerte(in Bit) innerhalb des uC mit den Realen Größen in Beziehung gesetzt. Für die Effektiv am Motor anliegende Spannung $U$ gilt in Abhängigkeit des PWM Stellwertes $q_{PWM}$, der PWM Periode $q_{Period}$ und der Brückenspannung $U_{Bridge}$ gilt: $$U(t) = \frac{q_{PWM}(t)}{q_{Period}}\cdot U_{Bridge}$$
Auf den ersten Blick scheint dieser Zusammenhang offensichtlich. Problematisch ist jedoch wieder dass ich Bipolare Halbbrücken verbaut hab. Im Eingeschalteten Zustand der Brücke ( eine Seite HIGH die ander LOW) reduziert sich die Brückenspannung lediglich um die Flussspannung der Transistoren. Problematisch ist jedoch der Ausgeschaltete Zustand(beide Seiten LOW) hier liegt über der Brücke immer noch eine Flussspannung an was obige Beziehung nichtlinear macht. Ich vernachlässige das einfach mal weil die Mathematik dann schön einfach wird und der Einfluss nicht alzu groß sein solte ist.

Analog gilt für das Strom Feedback mit dem Strom $I$, dem Stromverstärkungsfaktor $G\left[\frac{1}{A}\right]$, dem ADC wert $q_{ADC}$ und der maximalen ADC Auslenkung auf die $G$ normiert ist $q_{limit}$:
$$I(t) G= \frac{q_{ADC}(t)}{q_{limit}}$$
Ein Zeit kontinuierlicher PID Regler wird, wobei $s$ den Sollwert markiert, durch folgende Gleichung beschrieben:
$$q_{PWM} = K_P \cdot (q_{ADC} - q_S) + K_D \frac{d(q_{ADC} - q_S)}{dt} + K_I \int_0^t dt (q_{ADC} - q_S)$$
Das RL Element(Regelstrecke) verhält sich folgendermaßen:
$$U = RI + L\frac{dI}{dt}$$
Durch Einsetzten dieser 4 Gleichungen ineinander folgt die folgende gewöhnliche lineare inhomogen DGL zweiter Ordnung mit Konstanten Koeffizienten:
$$K_I I + \left(K_P - \frac{R q_{Period}}{U_B G q_{limit}}\right) I' + \left(K_D - \frac{L q_{Period}}{U_B G q_{limit}}\right)I'' = K_I I_S + K_P I_S' + K_D I_S''$$
Ich freue mich immer wieder wenn eine so schön einfache DGL das Problem repräsentiert. Diese ist nämlich analytisch lösbar und die Lösungen sind gedämpfte Schwingungen. Von einem Guten Regler wird erwarted, dass er bei einer Sollwertänderung schnell reagiert, dabei aber nicht zu schwingen beginnt. Für diese DGL existiert eine solche Lösung nämlich der Aperiodische Grenzfall https://de.wikipedia.org/wiki/Aperiodischer_Grenzfall. Das ist der Grenzfall zwischen gerade so nicht schwingen und möglichst schneller Änderung. Um dies zu erreichen gilt für die Koeffizienten:
$$4 K_I = \frac{\left(K_P - \frac{R q_{Period}}{U_B G q_{limit}}\right)^2}{K_D - \frac{L q_{Period}}{U_B G q_{limit}}}$$
Der Freiheitsgrad der Koeffizienten ist nun um 1 geringer. Fehlt noch $K_P$ und $K_D$ zu bestimmen. Für einen Apperiodischen Regler ohne Totzeit der ungestört ist können beide theoretisch beliebig hoch gewählt werden (Meine ich zu mindestens wenn es nicht stimmt bitte berichtigen). Das Problem ist dass das Quantsierungsrauschen(Störgrößen) da wir einen diskreten Regler haben einen Strich durch die Rechnung macht. Da das schwerer zu modellieren ist folgendermaßen vorgehen um eine sinnvolle Einstellung zu finden. Zu Beginn wird ein kleines $K_D$ gewählt, $K_P$ wird solange erhöht bis der Regler durch das Rauschen instabil wird $K_I$ muss natürlich paralell mit obiger Gleichung nachgeführt werden. Anschliesend reduziert $K_P$ ein Stückchen zurück und erhöht $K_D$ wieder bis der Regler Instabil wird. Dann nochmal ein kleines Stück zurück und Fertig ist es.
Da der Regler jedoch kein kontinuierlicher ist sonder diskret mit Schrittweite $\Delta t$ muss die DGL noch Substituiert werden. Mit $S \Delta t = t$ gilt:
$$\frac{d}{dt} = \frac{d}{dS}\cdot \frac{dS}{dt} = \frac{1}{\Delta t} \frac{d}{dS}$$ bzw
$$\frac{d^2}{dt^2} = \frac{1}{\Delta t^2} \frac{d^2}{dS^2}$$
Für die Diskreten PID Parameter ergibt sich analog als Aperiodenbedingung mit $K_{D,dis} = \frac{D_{I,cont}}{\Delta t}$, $K_{I,dis} = K_{I,cont} \Delta t$
$$4 K_I = \frac{\left(K_P - \frac{R q_{Period}}{U_B G q_{limit}}\right)^2}{K_D - \frac{L q_{Period}}{\Delta t U_B G q_{limit}}}$$
So wie ich den Regler hier entworfen hab muss bedacht werden dass $\Delta t$ gleich der zweifachen Periodenlänge der PWM Periode ist.

Diese analytische vorgehensweise verhilft auch zu einem sauberen ergebniss, ich kann jedem nur davon abraten zu versuchen einen PID mit der Hand oder mit old school Einstellregeln einzustellen. Mit 15min nachdenken und eine Hand voll einfacher Rechnungen, ist das Ergebniss richtig nice. Bei den kleinen NEMA17 200Step/rot Dingern wo ich vor hab zu verbauen erreiche ich etwa 110rpm ohne dass der Strom gemindert ist. Die Drehzahlgrenze liegt bei etwa 150rpm @ 33V Brückenspannung. Wobei das sicher nicht das ende der Fahnenstange ist ich musste die PWM wegen der Rechenzeit für den PID regler auf 75% begrenzen da lässt sich einerseits noch etwas raus hohlen wenn ich mich dazu aufraffen könnte das in Assembler zu implementieren. Andererseits kann die Brückenspannung noch solange erhöt werden wie die Motorisolierung das mit macht. Wenn man die Drehzahl von einem Schrittmotor auf die Spitze treiben will, auch wenn das bei einer CNC nicht immer das ziel ist, gibt es noch einen kleinen Trick. Ein PID Regler kann im schwingenden Bereich größere Gradienten fahren. Wenn die doppelte Schrittfrequenz jedoch größer ist als die Eigenfrequenz des PID und die Dämpfung größer 0 kann fängt der PID obwohl er nicht mehr aperiodisch ist nicht an zu schwingen. Der PID wird schwingend indem $K_I$ größer wird als das der aperiodische Grenzfall erlaubt aber nicht so Groß dass die Grenzfrequenz zu hoch wird.

Dass man mir das auch glaubt hier einmal Bilder vom Current Feedback in Oma Geschwindigkeit und bei 150rpm.
Oma:
Bild
150rpm:
Bild
Bei der hohen Geschwindigkeit sind 2 Dinge gut erkennbar. Einerseits sieht man dass der PID Regler ziemlich an dem Maximalen Gradienten ist der möglich ist. Zum zweiten sieht man dass der maximale negative Gradient größer ist als der Positive Gradient. Das liegt wie ich vorher schon beschrieben hab dass das eine Bipolarhalbbrücke ist wo die Sättigungsspannung über den Bipolartransistoren anliegt.

Ansteuerung
Zuletzt fehlt noch wie der Motortreiber mit der CAN Bus Controler kommuniziert. Wie gesagt der Teil ist noch nicht fertig und ich werde euch auf dem laufende halten. Vom Prinzip her gibt es 2 Kommunikationskanäle einmal das was man klassisch als Step/Dir Signale kennt zusätzlich gibt es dann noch einen I2C Bus damit man so etwas wie Endschaltersignale Rückmelden kann. Bei den Step/Dir Signalen werde ich warscheinlich von dem was Üblich st abweichen und QEI Signale nehmen weil die der uC automatisch de modulieren kann.

Bald gehts weiter
lg ferrum
I <3 0402
Real ist alles was warm wird.
Pull turn Pull: The quick and easy way to throw the DJ out of the Club!!!
Es gibt keine Probleme die man nicht mit Mathematik Äquivalenzumformen kann.
KAFFEE SCHWARZ

Benutzeravatar

Norbi
Beiträge: 916
Registriert: So 4. Jul 2010, 10:57
Hat sich bedankt: 25 Mal
Danksagung erhalten: 71 Mal

Re: Schrittmotortreiber/Steuerung

#2 Beitrag von Norbi »

Der Widerstand da auf dem IC ist echt klasse, hab zuerst gedacht da würde irgendwas temperaturkompensiert werden und mich gefragt welches unsinnige Präzisionsbauteil da wohl druntersteckt.

Jetzt wo ich das Video aus deinem Link gesehen hab weiß ich auch was das soll überhaupt ne Schrittmotorsteuerung selber bauen zu wollen :shock: .....Dass man solche Drehzahlen mit einem Schrittmotor hin bekommt ist wirklich beachtlich, ist natürlich noch die Frage wie das Drehmoment dann noch aussieht.

Hattest Du vielleicht mal überlegt da noch irgendwie eine Positionsrückmeldung zB. mit so einem günstigen As5600 Hall Absolutwertgeber an den Motor zu frickeln? Closed Loop sollte ja schon irgendwie sein, zumindest finde ich ein Fehlersignal ungeheuer praktisch wenn Schrittverlust auftritt der nicht mehr tolerierbar ist.

Benutzeravatar

Death
Beiträge: 260
Registriert: Sa 14. Jul 2018, 05:56
Spezialgebiet: CO²-Laser
Schule/Uni/Arbeit: Elektroinstallateur
Wohnort: Duisburg
Hat sich bedankt: 21 Mal
Danksagung erhalten: 25 Mal

Re: Schrittmotortreiber/Steuerung

#3 Beitrag von Death »

Wow :shock:

Benutzeravatar

VDX
Beiträge: 1010
Registriert: Fr 13. Jul 2018, 18:23
Spezialgebiet: Laser und Mikro-/Nanotechnik
Danksagung erhalten: 133 Mal

Re: Schrittmotortreiber/Steuerung

#4 Beitrag von VDX »

... hmmm ... mein letzter Selbstbau-Schrittmotortreiber (1/8-SChritt mit einem IMT901) war um 1994 herum, für meine zweite "proffessionelle" CO2-Lasercutter-Reihe (aber auch nur 2 Anlagen aufgebaut :roll: )

Danach habe ich immer wieder handelsübliche gefunden, die mehr konnten - aktuell sind die mit dem besten "Durchsatz" welche von IMS mit bis 1/256 Mikrostepping und theoretisch bis 10MHz Schrittfrequenz für Bipolare, welche von Berger-Lahr/Precitec für 3-Phasen-Stepper mit 325V Spannung und welche von Vexta für 5-Phasen-Stepper ... da wäre mir ein Eigenbau einfach zu mühsam und käme auch nicht an die Werte dran ...

Aber trotzdem - Hut Ab!!

Viktor
Aufruf zum Projekt "Müll-freie Meere" - https://reprap.org/forum/list.php?426 -- Facebook-Gruppe - https://www.facebook.com/groups/383822522290730
Call for the project "garbage-free seas" - https://reprap.org/forum/list.php?425

Benutzeravatar

Thread-Ersteller
ferrum
Beiträge: 649
Registriert: Sa 11. Mai 2013, 15:31
Spezialgebiet: Kaffee
Wohnort: Bayern
Hat sich bedankt: 4 Mal
Danksagung erhalten: 27 Mal

Re: Schrittmotortreiber/Steuerung

#5 Beitrag von ferrum »

So weiter gehts,
erstmal danke fürs feedback.
Norbi hat geschrieben:
Sa 28. Mär 2020, 00:40
Jetzt wo ich das Video aus deinem Link gesehen hab weiß ich auch was das soll überhaupt ne Schrittmotorsteuerung selber bauen zu wollen :shock: .....Dass man solche Drehzahlen mit einem Schrittmotor hin bekommt ist wirklich beachtlich, ist natürlich noch die Frage wie das Drehmoment dann noch aussieht.
Also bezüglich Moment mmn. gilt grob Strom entspricht Moment bis 110rpm kann ich noch mit der vollen Stromamplitude fahren das bedeutet es ist nicht unplausibel anzunehmen dass ich bis zu dieser Drehzahl noch nahe beim vollen Moment bin. Ich kann es leider das Moment nicht messen ich versuch nur immer den Motor mit der Hand zu bremsen das gelingt mir bis zu dieser Drehzahl nicht. (Hornhaut an den Fingern ist schon weg :D) Oberhalb sieht man am Oszi deutlich dass der Regler keinen höheren Stromgradienten mehr Fahren kann und deshalb geht auch die Stromamplitude zurück. Kann den Motor dann auch bequem mit den Fingern zum stehen bringen. Ehrlicherweise muss ich aber auch dazu sagen dass die Regelungsparameter die ich bei diesen hohen Drehzahlen verwendet hab für den Typischen Stepperbetrieb nicht mehr Taugen wenn der Motor steht gibt das satte Schwingungen im Strom und über EMV will ich mal nicht nachdenken. Mit sinnvollen PID Einstellungen ist bei 60rpm Schluss. Ich glaub das Video hab ich nur in die moshbox gestellt und das war auch noch eine schön gemütliche Drehzahl. Hier das bei 150rpm https://flo-e.de/video_2020-03-31_15-38-06.mp4
Ich bin aber am überlegen ob ich die PID Parameter vor allem $K_I$ dynamisch an die Drehzahl anpasse. Bin mir aber nicht sicher in wie weit das Ändern des Regelparameters hässliche Artefakte nach sich zieht. Wollte mal wissen was ihr so davon haltet?

Gestern hab ich mittels Source Code noch den Magic Smoke aus einer Motorbrücke entfernt (Selbstzerstörungs Funktion). Was passiert wenn das Vorzeichen vom Regler Falsch ist und die Überstromabschaltung deaktiviert ist :facepalm: ? Hab in weiser Voraussicht die Leistungselektronik von einem Treiber auf Ersatz da liegen :headbang: . Aber was wäre schon ein Projekt ohne Tote Halbleiter :hihi: . Die 8A Sicherung im Netzteil hat es zwar noch nicht gejuckt der Strom der geflossen ist hat aber ausgereicht um neben der Motorbrücke auch noch die Shunts zu killen. Die nächste Version die ich baue bekommt auf jeden Fall jeder Motortreiber eine eigene Sicherung. Wäre das im Betrieb Passiert wäre das nicht zwingend so glimpflich ausgegangen.
Norbi hat geschrieben:
Sa 28. Mär 2020, 00:40
Hattest Du vielleicht mal überlegt da noch irgendwie eine Positionsrückmeldung zB. mit so einem günstigen As5600 Hall Absolutwertgeber an den Motor zu frickeln? Closed Loop sollte ja schon irgendwie sein, zumindest finde ich ein Fehlersignal ungeheuer praktisch wenn Schrittverlust auftritt der nicht mehr tolerierbar ist.
Ja hab ich mir auch gedacht dass ein Feedback gut wäre wo ich die Platine fertig hatte. Wenn ich das jetzt unbedingt noch mit dran Frickeln will wird es aufwändig. Wobei die idee mit dem AD5600 ganz cool ist weil ich den auf den I2C bus den ich sowieso hab mit drauf klemmen kann. Was ich allerdings in einer weiteren Version für die bessere Variante halte sind die Bänder aus Druckern um ein Quadratur codiertes absolutes Feedback von der Achsposition zu bekommen. (raphTec hat mich auf die Idee gebracht.) Toll daran ist neben den ganzen Mechanischen Vorteilen auch dass der uC das mit der Hardware dekodieren kann und die Hände für die wichtigen Regelaufgaben frei hat.
VDX hat geschrieben:
Sa 28. Mär 2020, 10:50
Danach habe ich immer wieder handelsübliche gefunden, die mehr konnten - aktuell sind die mit dem besten "Durchsatz" welche von IMS mit bis 1/256 Mikrostepping und theoretisch bis 10MHz Schrittfrequenz für Bipolare, welche von Berger-Lahr/Precitec für 3-Phasen-Stepper mit 325V Spannung und welche von Vexta für 5-Phasen-Stepper ... da wäre mir ein Eigenbau einfach zu mühsam und käme auch nicht an die Werte dran ...
Interessiert mich was die da alles so Verbastelt haben hast du mir einen link dazu? Klar solche Professionellen Treiber knacke ich nicht aber an die China Desings dürfte ich schon zum Teil hinkommen.

Heute Abend oder morgen kommt noch was bezüglich Kommunikation zwischen Raspi und uCs,
lg Flo
I <3 0402
Real ist alles was warm wird.
Pull turn Pull: The quick and easy way to throw the DJ out of the Club!!!
Es gibt keine Probleme die man nicht mit Mathematik Äquivalenzumformen kann.
KAFFEE SCHWARZ

Benutzeravatar

VDX
Beiträge: 1010
Registriert: Fr 13. Jul 2018, 18:23
Spezialgebiet: Laser und Mikro-/Nanotechnik
Danksagung erhalten: 133 Mal

Re: Schrittmotortreiber/Steuerung

#6 Beitrag von VDX »

... die 1/256 Mikroschritt @10MHz Taktrate für bipolare Stepper sind die IM483 von IMS - https://imshome.com/downloads/manuals/im483.pdf

Die 10.000spr-Treiber @200kHz sind WDM3-004 Doppel-Endstufen von ehemals Berger-Lahr/Positec, die Motoren sind VRDM397 3Phasen-Stepper und werden mit 325Volt angesteuert - je nach Modus (normal oder Mikroschritt) kann ich die mit wählbaren Schrittauflösungen von 200/400/500/1000 Schritt pro Umdrehung bis 20kHz ansteuern, oder eben alles 10x mit 200kHz ...

Viktor
Aufruf zum Projekt "Müll-freie Meere" - https://reprap.org/forum/list.php?426 -- Facebook-Gruppe - https://www.facebook.com/groups/383822522290730
Call for the project "garbage-free seas" - https://reprap.org/forum/list.php?425

Antworten