Hallo, ich möchte mir in absehbarer Zukunft einen Schrittmotorcontroller bauen für einen 5 Phasen Schrittmotor mit einem Spulenwiderstand von 0.57 Ohm und Spuleninduktivität von 2.7 mH. Max. Spulenstrom ist dabei 2.1 A. Sprich dafür brauche ich 5 H-Brücken die bei 80V Versorgungsspannung wohl eher aus MOSFET's statt IGBT's bestehen werden. Die Strommeßung würde ich über einen Shunt (max 1 Ohm) zwischen Masse auf der einen Seite und D2/D4 auf der anderen Seite, realisieren, oder mittels Hall-Sensor um weniger Stromverschwendung zu haben. Egal wie ich messe, kriege ich als Resultat aber nur den Strom der sich aus der Spannung die ich anlege ergibt, nicht aber abhängig von dem Lastmoment. Das einzige an was ich denken kann, ist dass der Winkel dem die Achse dem Stromfeld in Abhängigkeit des Lastmomentes nacheilt. Allein den zu messen ist schon schwierig, da bei einem Vollschritt von 0.72° der Resolver/Encoder viel genauer sein müsste als üblich und die Auswertung bei hohen Drehzahlen wird dann auch zur Herausforderung. Daher die Frage: Habe ich vielleicht irgendwas vergessen. Gibt es Wechselwirkungen aus denen man das Drehmoment raus rechnen kann? Danke mfg Lenz
Lenz schrieb: > Die Strommeßung würde ich über einen Shunt (max 1 Ohm) zwischen Masse > auf der einen Seite und D2/D4 auf der anderen Seite, realisieren, oder > mittels Hall-Sensor um weniger Stromverschwendung zu haben. Wo siehst du da Stromverschwendung? Allenfalls Spannungsverschwendung und bei 80 V solltest du davon genug haben, insbesondere da du die hohe Spannung nur brauchst, wenn der Spulenstrom noch nicht fließt ;-)
Matthias schrieb: > Wo siehst du da Stromverschwendung? Allenfalls Spannungsverschwendung Ja das war vielleicht zu hausgebräulich ausgedrückt. Ich meinte Strom im Sinne elektrischer Leistung. Wenn die rund 2A fließen sind das bei fünf 1 Ohm Shunts (Sind ja 5 Spulen, also 5 H-Brücken) 2A 2V 5 = 20 Watt. Nur für Strommessung schon viel finde ich. Was die Wechselwirkungen angeht: Durch den Lastabhängigen Nacheil-Winkel müsste sich doch auch die Zeit in der der Strom in der jeweils angesteuerten Spule ansteigt ändern. Die Flussänderung die durch die Bewegung des Ankers entsteht, induziert doch eine entgegengesetzte Spannung in der gerade angesteuerten Spule, was den Stromanstieg verlangsamen müsste. Sprich je weiter der Anker noch weg ist (=höheres Lastmoment), desto schneller kann der Strom ansteigen. Somit müsste man über den Zeitabstand des "Choppens" das Lastmoment berechnen können. Kann das so stimmen?
> Egal wie ich messe, kriege ich als Resultat aber nur den Strom der sich > aus der Spannung die ich anlege ergibt, nicht aber abhängig von dem > Lastmoment. Das haben Schrittmotore so an sich, du hast also was Grundlegendes bei Schrittmotoren nicht verstanden. Trinamic versucht, aus dem Stromverlauf zu ermitteln ob er sich dreht oder bereits blockiert, den Lastmoment können die aber auch nicht ermitteln. http://www.trinamic.com/tmc/media/Downloads/webinars/2009-03_stallGuard.pdf Du solltest es mit Gleichstrommmotoren probieren, da passen deine Vorstellungen wenigstens zum Motor.
Nein ich brauch schon einen Schrittmotor zwecks Winkelgenauer Anfahrt und hohen Beschleunigungen. Wenn das mit der Drehmomentmessung nicht geht ist das auch kein Beinbruch. Aber eine andere Frage zur Strommessung zwecks Choppern: Da die Spule bereits nach ca 100µs den maximalen Strom bei 80V Versorgungsspannung durchlässt, müsste ich ca alle 10µs die Spannung am Shunt messen und eine vernünftige Regelung hinzukriegen. Bei 5 Phasen ist das ein ADC Wert alle 2µs. Nicht unmöglich aber schon ziemlich anspruchsvoll. Würde es nicht reichen auf die Strommessung komplett zu verzichten und einfach eine Steuerung aus Theorie bzw. Erfahrungswerten zu bauen? Sprich so und soviel µs Dauerbestromung bis der Strom den gewünschten Wert erreicht hat und danach mit einem Tastverhältnis weiter bestromen damit dieser Wert gehalten wird. Oder spielt hier der Einfluss der Rotorbewegung so groß rein, dass das für jede Drehzahl und Lastmoment anders wäre?
Hallo Lenz! Bei 2A würde ich 0,5R Widerstände nehmen. Nach deiner Rechnung wären dass dann 10W statt 20W. In der Praxis ist das noch sehr viel weniger, weil nur während der Zeit, in der die Brücke an ist, auch Strom über den Shunt fließt. Es gibt eine Menge (theoretischer) Literatur zum Thema sensorlose Winkelrekonstruktion bei Schrittmotoren. Leider läßt sich das nicht "mal eben" in die Praxis übersetzten, vor allem dann, wenn es halbwegs universell funktionieren soll. Trinamic scheint da mit der neuen Treibergeneration ("Stall-Guard 2") schon relativ weit zu sein. Deine Annahme, dass sich die Stromanstiegszeit lastabhängig ändern müsste, ist sicherlich richtig. Immerhin ändert sich auch die Induktivität. Der Effekt dürfte aber so klein sein, dass es schwer sein wird, ihn vernünftig zu messen. Was einfacher ist (aber nur drehzahlabhängig funktioniert), ist die Messung des Stroms vom Netzteil zur Brücke hin. Da gibt es eine deutlich messbare Lastabhängigkeit. Man muss dann allerdings für den verwendeten Motor eine Tabelle anlegen, in der man für verschiedene Drehzahlen bei Leerlauf und voller Last die Ströme ablegt. Dann kann man grob auf die Last zurückrechnen. Zur Stromregelung sollten 20kHz (50µs) prinzipiell ausreichen. Ich würde allerdings davon absehen, dass komplett im µC zu machen. Zumindest sollte man sich reichlich Gedanken dazu machen, wie man das fail-safe bekommt. Sonst geht bei jedem Hänger des Controllers die ganze Endstufe drauf... Mit freundlichen Grüßen Thorsten Ostermann
> ich brauch schon einen Schrittmotor zwecks Winkelgenauer Anfahrt > und hohen Beschleunigungen. Wofür Schrittmororee nicht besonders geeignet sind, schau mal bei Glockenankermotoren. > Da die Spule bereits nach ca 100µs den maximalen Strom bei 80V > Versorgungsspannung durchlässt, müsste ich ca alle 10µs die Spannung am > Shunt messen und eine vernünftige Regelung hinzukriegen. Bei 5 Phasen > ist das ein ADC Wert alle 2µs. Nicht unmöglich aber schon ziemlich > anspruchsvoll. > Würde es nicht reichen auf die Strommessung komplett zu verzichten und > einfach eine Steuerung aus Theorie bzw. Erfahrungswerten zu bauen? Ich kann mich nur wiederholen, du hast was Grundlegendes bei Schrittmotoren nicht verstanden. Wie kommst du darauf, daß du die Stromregelung in Software machen musst ? Das machen andere Leute doch auch nicht. Normale Schrittmotorcontroller wie TB6560 machen das intern, man kann nur von aussen die Rahmenbedingungen vorgeben. Der ist halt nur für nortmale Schrittmotoren. Aber du willst ja einen 5 Phasen Schrittmotor Exoten. Wenn ich mir vorstelle, was du bisher für Bildungslücken bei Schrittmotren zum Besten gegeben hast, frage ich mich, ob der Motor überhaupt irgendeine sinnvolle Begründung hat oder nur mal wieder auf Halbwissen basiert.
Thorsten Ostermann schrieb: > Zur Stromregelung sollten 20kHz (50µs) prinzipiell ausreichen. Wenn es von der Theorie zur Praxis geht werde ich erstmal mit niedrigen Spannungen und Strömen und niedrigen Drehzahlen anfangen, letzten endes sollen aber 3000 U/min erreicht werden. Bei der Drehzahl schießt der Motor mit 25kHz an jedem "Schritt" vorbei. Mit einer 20kHz Stromregelung kann das dann ja nicht mehr ordentlich funktionieren. > Ich würde > allerdings davon absehen, dass komplett im µC zu machen. Da der µC neben einigen Berechnungen auch eine Bus Kommunikation implementiert bekommen soll, habe ich da auch meine Bedenken zwecks (10)µs-genaue Verlässlichkeit. Aber was würdest du vorschlagen? "Einfach" zusätzliche Überwachungshardware die die Brücke bei Fehlverhalten deaktivieren kann? Wäre vermutlich schon sinnvoll bis sich der Controller als zuverlässig beweist. Eine andere Frage zu dem Thema: Bei einer Vollbremsung würde ich ja bei allen 5 Brücken T2 und T4 öffnen (im Bild vom ersten Beitrag). Was ich bisher gelesen habe wird immer von gepulstem öffnen gesprochen. Muss man davon ausgehen, dass bei dauerhaftem Öffnen der induktiv-Strom so groß wird dass der Motor beschädigt wird? Wenn ja müsste man auch den noch messen um eine maximale Verzögerung regeln zu können.
Bei Verwendung eines Widerstandes nach D2,D4 wirst Du den Zuleitungsstrom messen. Du müsstest aber den Motorstrom messen. Dieser ist deutlich höher als der Zuleitungsstrom. Nämlich genau um den PWM Wert. Eigentlich müsste man also 5 Strommesspfade in jede Halbbrücke einbauen. Oder über das aktuell eingestelle Tastverhältnis zurückrechnen. Jørg
Hallo Lenz! > Wenn es von der Theorie zur Praxis geht werde ich erstmal mit niedrigen > Spannungen und Strömen und niedrigen Drehzahlen anfangen, letzten endes > sollen aber 3000 U/min erreicht werden. Bei der Drehzahl schießt der > Motor mit 25kHz an jedem "Schritt" vorbei. Mit einer 20kHz Stromregelung > kann das dann ja nicht mehr ordentlich funktionieren. Bei 3000 U/min bist Du schon längst im Konstantspannungebetrieb, d.h. der Strom erreicht nicht mehr seinen Sollwert und es findet keine PWM mehr statt. Mit Kleinspannung wirst du aber garnicht soweit kommen. Unter 100V dürfte bei rund 1500 U/min Schluss sein. >> Ich würde >> allerdings davon absehen, dass komplett im µC zu machen. > > Da der µC neben einigen Berechnungen auch eine Bus Kommunikation > implementiert bekommen soll, habe ich da auch meine Bedenken zwecks > (10)µs-genaue Verlässlichkeit. Aber was würdest du vorschlagen? > "Einfach" zusätzliche Überwachungshardware die die Brücke bei > Fehlverhalten deaktivieren kann? Wäre vermutlich schon sinnvoll bis sich > der Controller als zuverlässig beweist. Wie MaWin schon schrieb: Andere machen das in Hardware, und das nicht ohne Grund. > Eine andere Frage zu dem Thema: Bei einer Vollbremsung würde ich ja bei > allen 5 Brücken T2 und T4 öffnen (im Bild vom ersten Beitrag). Ich kann das Bild leider nicht öffnen. Was ist *.p für ein Dateiformat? > Was ich > bisher gelesen habe wird immer von gepulstem öffnen gesprochen. Muss man > davon ausgehen, dass bei dauerhaftem Öffnen der induktiv-Strom so groß > wird dass der Motor beschädigt wird? Von gepulstem Öffnen habe ich noch nie gehört, und ich beschäftige mich schon seit 15 Jahren mit Schrittmotoren. Der Strom wird mit Sicherheit auch nicht den Motor beschädigen, da er ja nur kurzzeitig fließt (<<1ms). Die thermische Kapazität des Motors liegt deutlich höher. Mit freundlichen Grüßen Thorsten Ostermann
Hallo "Lenz" Nachdem ich die Datei in *PNG umbenannt habe, kann ich das Bild auch sehen... > Eine andere Frage zu dem Thema: Bei einer Vollbremsung würde ich ja bei > allen 5 Brücken T2 und T4 öffnen (im Bild vom ersten Beitrag). Das wäre slow-decay. Wenn du 3000 U/min erreichen willst, musst du schon mit fast- bzw. mixed-decay arbeiten, speziell beim Bremsen. Dann wird die Wicklung über T1/T4 oder T2/T3 kurzgeschlossen. Dabei wird allerdings in die Versorgung zurückgespeist, was zu einem entsprechenden Spannungsanstieg führen kann. Mehr zum Thema Slow-, Fast- und Mixeddecay gibts in meinem Blog: http://www.schrittmotor-blog.de/?tag=slow-decay Ich würde für den Einstieg vielleicht etwas einfacheres empfehlen als eine High-End Endstufe für 5-Phasen Motoren, z.B. einen fertigen Treiber oder einen Bausatz für einen 2-Phasen Motor. Treiber für 5-Phasen Motoren kann man "notfalls" auch fertig kaufen. Mit freundlichen Grüßen Thorsten Ostermann
interessanter Blog, zugegebenmaßen ein Punkt an den ich noch gar nicht gedacht habe. Der Grund warum ich keinen fertigen Controller nehmen wollte, ist der gleiche warum ich mich auf einen 5 Phasen Motor fixiert habe: Um noch bis 2000 U/min volles Drehmoment und bis 3000U/min mind ca. 2/3 Drehmoment zu haben. Mit den Schrittmotorcontroller die ich gesehn habe war das jenseits vom machbaren. Da der Hauptgrund für das abnehmende Drehmoment bei hohen Drehzahlen sein dürfte, dass die Wicklungen keine Zeit mehr haben sich aufzuladen, wollte ich die Wicklungen schon im voraus bestromen (nur bei hohen Drehzahlen). Sprich Anker ist bei Phase 1, Phase 2 ist bereits voll bestromt und der Controller fängt jetzt bereits an Phase 3 zu bestromen. Eventuell ist sogar ein noch weiter "vorgeeiltes" Bestromen von Vorteil. Deswegen auch ein 5 Phasen motor, da hier mehr Spielraum ist. Wenn es solche Controller bereits gibt würde ich mich natürlich über info freuen.
Aus welchem vernünftigen Grund brauchst du 3000 upm ? Es ist offensichtlich kein Getriebe nachgeschaltet, sonst wäre die Drehzahl egal weil anpassbar. Aber Schrittmotore ohne irgendeine Art von Getriebe, ob nun untersetzend oder übersetzend, haben letzlich immer zu wenig Drehmoment, können also vielleicht einen Propeller bewegen, aber nichts sinnvolles. Und das alles willst du positionsgenau bremsen können. Da fällt mir nur Lasershow ein, und da heissen die Dinger nicht ohen Grund Lasergalvanometer weil man es eben abers baut. Ich gehe nach wie vor davon aus, daß bereits deine Grundentscheidung falsch war, aber natürlich erzählst du nichts zum Grundproblem.
Hallo MaWin! Ich weiss ja, dass Schrittmotore nicht dein Ding sind, aber es gibt durchaus Anwendungen, wo sie ihre Berechtigung haben. Allerings nicht bei 3000 U/min, sondern Aufgrund der hohen Polpaarzahl im unteren Drehzahlbereich, ähnlich wie Torquemotoren. Und da braucht man im Gegensatz zu schnell drehenden Servos eben kein Getriebe, um genügend Moment zu erhalten. Mit freundlichen Grüßen Thorsten Ostermann
Wenn diese Vorgaben komplett unrealistisch sind, wäre denn 1500 Upm mit vollem und 2000 Upm mit ca 2/3 Drehmoment machbar? Falls nicht wäre der BLDC vielleicht der richtige. Vielleicht findet sich da auch eher ein geeigneter Controller(-chip).
Hallo Lenz! Vielleicht definierst Du erstmal die Eckdaten: - Wie hoch soll das Drehmoment sein - Wie genau muss Positioniert/gebremst werden - Welche Geschwindigkeiten und Beschleunigungen sind gefordert - Welche Massenträgheit muss bewegt werden - Wie hoch darf die Versorgungsspannung sein - ... Anonsten wäre das nur stochern im Nebel. Für eine industrielle Anwendung würde ich schlicht einen Servomotor mit Encoder und entsprechendem Servoregler empfehlen. Bei hohen Genauigkeitsanforderungen mit zusätzlichem direkten Messsystem.
Servomotor ist sicherlich die beste Lösung. Aber auch die teuerste, zu teuer, denn das habe ich bisher verbaut und suche nun eben eine günstigere Variante. (Für Verschraubungen die bei einem gewissen Drehmoment abbrechen. Beim Schrittmotor würde ich den respektiven Strom für das Drehmoment einstellen und bei Schritteverlust (durch Encoder detektiert) stoppen. Zu den Eckdaten, vieles ist nicht in Stein gemeisselt, aber hier eine ungefähre Angabe: Drehmoment: 2 bis 2.4 Nm (kann auch mehr sein) Positionsgenauigkeit bei maximaler Verzögerung: keine Positionsgenauigkeit im normalen Betrieb: ca. 5° Drehzahl_Max: absolutes Minimum 1500, besser über 2000, (3000 fürs Datenblatt) Drehzahl_Min: Einigermaßen weicher Lauf bei 200 Upm, weniger besser. Beschleunigung: Keine spezielle Vorgabe schneller besser, aber nicht wirklich entscheidend. Verzögerung: Möglichst schnell um Werkstück-Bruch zu vermeiden. Mich jetzt auf einen genauen Wert fest zu legen ist schwierig. Größer als 200'000°/s², 500'000°/s² wären schön, mehr noch besser, aber mit dem Servomotor reichen die 500'000°/s² schon ganz gut.
Die 123456te Erfindung des Akkuschraubers ? Dort sind die billigsten Gleichstrommotoren drin, und das Drehmoment wird über eine Kupplung eingestellt. Das ist die perfekte Lösung, bewegte Masse dank Kupplung minimal, Motorleistung maximal, Ansteuerung simpel. Was geht bei dir über den Akkuschrauber hinaus, abgesehen davon daß du keinen Akku brauchst ? Du willst die Schraube greifen und musst dazu auf den 6-kant-Kopf positionieren ? Liesse sich einfachst mit dem Gleichstrommotor machen weil der in diesem Moment ja nicht rasend schnell laufen muss, wenn man einen Sensor zur Position der Welle dazubaut, den willst du eh dranbauen. Deine Lösung erscheint unvernünftig beim aktuellen von dir verbreiteten Sachverhalt.
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.