Hallo zusammen, Ich habe letztens einen Thread aufgemacht in dem es um eine Schrittmotorsteuerung mit Trinamic-Bausteinen ging. Weil diese Bausteine jedoch nicht so meinen Anforderungen entsprachen, überlege ich mir nun eine eigene Schrittmotorsteuerung zu bauen. Die Steuerung soll folgende Kriterien erfüllen: - Strom bis 4A - Spannung bis 48VDC - Phasen-Chopping zur Stromregelung mit ca. 25kHz - Mikroschritte (ich denke 8 oder 16 reichen) Ich habe viel im Forum gesucht, doch die meisten Steuerungen sind mit den L297/L298 gemacht, welche aber keine 4A liefern können. Ich habe mal ein Schaltplan angehängt, dieser hat aber bestimmt noch Fehler, denn ich bin in der Leistungselektronik nicht sehr erfahren. Für jeden Hinweis bin ich sehr dankbar. Insbesondere auch bei der Wahl der Bauteile. Der Leistungsteil kommt auf eine separate Platine, welche Eingänge für 5V-Signale, aber auch für echte 12V-Mosfet-Signale besitzt. Eine Frage beschäftigt mich momentan aber ganz besonders: Kriegt man mit einem AVR die Ansteuerung der Mosfets nach den obigen Kriterien hin? Also Chopping mit ca. 25kHz und Mikroschritten? Oder ist dafür ein AVR eher zu langsam? Schlussendlich soll man mit drei Schrittmotoren (für eine CNC-Steuerung) absolut synchron auf jeweils drei verschiedene Positionen fahren können. Also entweder muss ein einziger AVR alle drei Motoren steuern, oder drei AVRs müssen ihre Motoren synchron zueinander ansteuern. Was denkt Ihr, wäre das theoretisch machbar? Vielen Dank schonmal für eure Hilfe! mfg Urban
Floh schrieb: > Was soll Q5 machen? Der ist zum Invertieren des Einganssignals falls man bereits einen Mosfet-Treiber an den Eingang anschliesst. Das habe ich eingeplant falls ich doch mal ein Trinamic-IC (TMC249) anschliessen will. Die Invertierschaltung dazu habe ich auch aus dessen Datenblatt entnommen. mfg
Hi >Ich habe viel im Forum gesucht, doch die meisten Steuerungen sind mit >den L297/L298 gemacht, welche aber keine 4A liefern können. Seit wann ist ein Forum dafür relevant? L6203/L6201 können z.B. 4A MfG Spess
spess53 schrieb: > Hi > >>Ich habe viel im Forum gesucht, doch die meisten Steuerungen sind mit >>den L297/L298 gemacht, welche aber keine 4A liefern können. > > Seit wann ist ein Forum dafür relevant? > > L6203/L6201 können z.B. 4A > > MfG Spess Ach du meine Güte, da ist ja doch eine integriete H-Brücke für 4A, welcher in der Schweiz erhältlich ist :D Auf der H-Brücken Übersichtsseite war ich eigentlich schonmal und hab geschaut was es da so gibt, aber aus unerklärlichen Gründen ist mir der L6203 nicht ins Auge gesprungen. Vielen Dank an dich, Spess, dieses Bauteil scheint wohl total geeignet zu sein für meine Anwendung! Auch das Choppen mit 25kHz scheint damit kein Problem zu sein. Also wenn ich da nicht noch irgendwelche Nachteile vom L6203 finde, werde ich diesen wohl verwenden. Der L6201PS unterscheidet sich vom L6203 nur im Gehäuse oder? Dann wäre aber immernoch die Frage, ob die Ansteuerung direkt mit einem AVR möglich ist, also Choppen und Mikroschritte. Die Fertigen Ansteuerbauteile die es ja zu kaufen gibt, scheinen nur Halbschritte machen zu können. Gruss Urban
Wenn überhaupt, dann mit dem PWM-AVR. Aber bedenke, dass Du den Strom jeder Phase regeln musst. Das würde ich kein zweites mal mehr in Software machen. Lies Dir das mal durch: Beitrag "L298 = total langsam?" Beitrag "6A Schrittmotoransteuerung -alternative gesucht zu L297 & L6203" Und schau Dir fertige Lösung wie die CSD, NDC, HGD-Serien von RTA an: http://www.rta-deutschland.de/rta_de/PROD/PROD_STEP.HTM Der AVR ist mit den drei synchronen Kanälen und Mini-/ Mikrostep schon gut ausgelastet.
Hi >Weil diese Bausteine >jedoch nicht so meinen Anforderungen entsprachen, überlege ich mir nun >eine eigene Schrittmotorsteuerung zu bauen. Dem Thread entnehme ich, das du nichts praktisch getestet hast. Und das du die Trinamic-Entwickler übertreffen kannst, wage ich zu bezweifeln. MfG Spess
Hallo eProfi, Dass der Strom geregelt werden muss, ist mir klar. Mir schwebt da etwa diese Vorgehensweise der Software vor (erstmal im Halbschritt): - Wenn ein Eingang des L6203 von low auf high geschalten werden muss, wird einfach ein PWM-Ausgang eingeschaltet, welcher dann mit 25kHz taktet (Einschaltdauer erstmal egal) - Beim Wechsel von high auf low wird der PWM-Timer einfach wieder deaktiviert - Bei aktiviertem PWM wird ständig am ADC die Spannung vom Sense-R gemessen (Peak) und mit dem Sollwert verglichen - Falls es Abweichungen zwischen Soll- und Istwert gibt, wird nur die Einschaltdauer vom PWM-Timer angepasst Um mit drei Motoren synchron fahren zu können dachte ich übrigens auch an folgendes Prinzip: - Ein Master-uC schickt Steuerbefehle an drei Slaves via I2C oder SPI. - Der Master gibt ausserdem noch ein Taktsignal heraus (relativ schnell) - Die Slaves führen die verlangte Bewegung nun in Abhängigkeit vom Taktsignal aus, was eine absolute Synchronität sicherstellt - Beschleunigungsrampen könnten dadurch ev. sogar auf den Master ausgelagert werden (das Taktsignal wird schneller/langsamer), was die Slaves entlastet Könnte das so funktionieren? Oder dauert das Einlesen vom ADC vielleicht zu lange um bei 25kHz noch gescheit regeln zu können? mfg Urban
spess53 schrieb: > Hi > >>Weil diese Bausteine >>jedoch nicht so meinen Anforderungen entsprachen, überlege ich mir nun >>eine eigene Schrittmotorsteuerung zu bauen. > > Dem Thread entnehme ich, das du nichts praktisch getestet hast. Und das > du die Trinamic-Entwickler übertreffen kannst, wage ich zu bezweifeln. > > MfG Spess Das Problem bei diesen Bauteilen ist eigentlich nur, dass Trinamic es anscheinend nicht vorgesehen hat, dass man mit drei Motoren synchron verfahren kann. Mit viel Herumprobieren mit Parametern usw. würde man vermutlich akzeptable Lösungen finden, aber ich denke das braucht sehr viel Zeit und am Schluss hat man doch keine 100-Prozentige saubere Lösung. Herumprobiert habe ich noch nicht, eben weil ich denke dass das schlecht investierte Zeit ist. Dass ich Trinamic nicht übertreffen kann ist mir natürlich klar. Die ICs von denen sind in sehr vielen Hinsichten praktisch nicht zu übertreffen und haben viele nützliche Funktionen. Was ich an dieser Stelle noch erwähnen sollte, ist die Tatsache dass diese Steuerung erstmal nur ein Lernprojekt ist, das mir Spass bereiten und mein Wissen erweitern soll. Ich investiere also lieber 10 Mal soviel Zeit wie für die Trinamic-Lösung, wenn ich mit einer eigenen Steuerung viel Lernen kann. Momentan bin ich mir übrigens noch am überlegen ob ich vielleicht doch keine Mikroschritte einplanen, sondern bei Halbschritten bleiben soll. Ich hatte jedoch mal mit einer Trinamic-Steuerung die Erfahrung gemacht, dass der Motor im Mikroschrittmodus wirklich seidensanft läuft im Vergleich zum Halbschrittmodus. Das war übrigens ein "Trinamic Pandrive" mit 3,2Nm Haltemoment. Nachtrag: Ein Vorteil vom Software-Choppen ist halt noch dass man dann den Strom einfach per Software einstellen kann. Das würde ich eben schon gerne machen können. Aber wenns sein muss könnte ich auch auf das verzichten... ;-)
So, hab mal ein Schema und das Board dazu gezeichnet, siehe Anhang. Gibts Verbesserungsvorschläge, Kritik? Die Leistungswiderstände sind übrigens in SMD, wie auch alle anderen Widerstände. Auch fast alle Kondensatoren sind in SMD, was die Platzierung zwischen den Beinen vom L6203 ermöglicht. Das Board werde ich später einseitig Isolationsfräsen. Der Top-Layer sind Drahtbrücken. Die Kombination von 100 Ohm und 4,7nF an den Sense-Widerständen habe ich aus dem Datenblatt vom TMC429 entnommen, da wird es bei einer diskreten Halbbrücke empfohlen, ich denke mal das kann auch beim L6203 nicht schaden oder? Für die Stromregelung hatte ich übrigens auch noch eine andere Variante im Kopf. Man könnte jeweils die PWM-Ausgänge einfach auf logisch 1 setzen, und dann warten bis der Strom den Sollwert erreicht. Dann sofort den Ausgang wieder abschalten. Und das ganze mit 25kHz. Könnte das klappen? Gruss Urban
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.