Wie kann ich feststellen, wenn ein Schrittmotor blockiert ist?
Eine Google-Suche hat mich zu einigen Leuten geführt, die sagten, wenn der Schrittmotor ausfällt, steigt der Strom an, was mit einem Hallsensor leicht zu erkennen ist. (Oder, nehme ich an, von einem der anderen Stromsensoren, die unter "Wie kann ich den Motorstrom messen?" Erwähnt werden .)
Ich habe jedoch den Strom durch (einen der 4 Drähte meines) Schrittmotors gemessen und es liegt immer innerhalb einiger Prozent von 0,5 A, ob mein Schrittmotor eine Position hält und sich normal bewegt (was in meiner Anwendung sehr langsam ist) ), oder der Stepper-Fahrer glaubt, der Stepper solle sich normal bewegen, aber der Motor hat sich gegen die harte Grenze gedrückt. Das Messen des Stroms in der +12 V-Stromversorgung, der an den Schrittmotortreiber geht, schien ebenfalls einen ziemlich konstanten Strom zu ergeben. Dies kann daran liegen, dass ich die Strombegrenzung meines Schrittmotortreibers "Chopper" auf diesen Wert herabgesetzt habe.
Vermisse ich einige wichtige Details im Ansatz "Messen Sie den aktuellen Stand"?
Eine Google-Suche hat mich zu einigen anderen Personen geführt, die die Back-EMF (BEMF) in einer Spule des Steppers messen, während der Steppertreiber nur die andere Spule antreibt. Aber das scheint nur zwischen "einem Motor, der sich schnell bewegt" und "einem Motor, der gestoppt ist" zu unterscheiden, und es scheint nicht zwischen meinem Fall von "einem Motor, der sich langsam bewegt" und "einem Motor, der gestoppt ist" zu unterscheiden.
Gibt es eine Möglichkeit, den BEMF-Ansatz auch in einem System anzuwenden, in dem ich den Stepper immer langsam und niemals schnell drehe?
Ich verwende derzeit eine Schrittmotor-Treiberplatine mit dem TI DRV8825-Chip und hoffe, dass der "Fehler" -Pin mich darüber informiert, wenn der Schrittmotor gegen meinen Festanschlag blockiert. Aber es scheint nichts zu tun - soll es mir von einem Stand erzählen, aber ich habe ihn nur falsch verkabelt?
Gibt es eine andere Chip- oder Antriebstechnik, die erkennt, wenn der Stepper gegen den Festanschlag abgewürgt ist?
Gibt es eine andere Technik zum Erkennen eines harten Stalls, die ich mit einem handelsüblichen Schrittmotortreiber zu einem System "hinzufügen" kann?
(Gibt es eine andere StackExchange-Site, die sich besser für Fragen zu Motoren und Motortreibern eignet?)
quelle
Antworten:
Eine Option ist ein Schrittmotortreiber, der ein sensorloses Blockiersystem verwendet, wie z. B. den STMicroelectronics L6470 dSPIN: Voll integrierter Mikroschrittmotortreiber mit Motion Engine und SPI .
Einmal kalibriert, kann es einen Blockierzustand erkennen und den FLAG-Stift nach oben heben, um die uC auf das Problem aufmerksam zu machen.
quelle
Ich fand heraus, dass die FFT der aktuellen Wellenform des Steppers oft die Eigenfrequenzharmonischen des Motor-Treiber-Systems zeigt UND dass während eines Strömungsabrisses zusätzliche Frequenzharmonische auftreten !!! Alles, was Sie brauchen, ist ein schneller bidirektionaler Strom-Spannungs-Wandler-IC und ein Schmalbandfilter, um festzustellen, ob die zusätzlichen Harmonischen vorhanden sind.
quelle
Leider ist es, wie Sie festgestellt haben, schwierig festzustellen, ob ein Schrittmotor blockiert ist, da der Strom durch die Spulen eines Schrittmotors in etwa der gleiche ist, wenn er blockiert ist (nicht treten kann), die Position hält oder normal schrittt .
Wenn Sie einen Encoder hinzufügen oder einen Schrittmotor verwenden, der bereits über einen verfügt, können Sie mit Leichtigkeit einen Stillstand erkennen.
Warum möchten Sie den Stillstand des Schrittmotors erkennen? Im Gegensatz zu einem bürstenbehafteten Gleichstrommotor ist das Abwürgen eines Schrittmotors normalerweise nicht schlecht. Könnten Sie den gleichen Zweck mit einem Endschalter erreichen?
quelle
Wenn Sie verpasste Schritte erkennen möchten, benötigen Sie einen Encoder. Glücklicherweise gibt es sowohl magnetische als auch optische Encoder, mit denen Sie problemlos 4096 Schritte pro Umdrehung ausführen können, sodass sogar ein Mikroschritt-Schrittmotor mit mindestens einem Schritt pro Schritt gemessen werden kann.
Beachten Sie, dass einige CNC-Fräser nicht unbedingt verpasste Schritte erkennen müssen. Es ist Sache des Bedieners, keinen Werkzeugweg zu programmieren, der für die Spindel und das Werkzeug zu schwer ist, und das Problem zu hören, wenn es auftritt. Stattdessen verwenden diese CNCs nur Endschalter, um die absolute Heimat zu finden, und arbeiten dann vollständig unter der Annahme, dass Schritte unternommen werden.
Mit Encodern können Sie möglicherweise auch mit anderen Funktionen experimentieren, z. B. mit einem DC-Hilfsmotor für nicht aktivierte Bewegungen für sehr schnelle Stromschnellen :-)
quelle
Sie müssen Folgendes quantifizieren: "Ich habe den Strom durch (einen der 4 Drähte) meinen Schrittmotor gemessen und er liegt immer innerhalb einiger Prozent von 0,5 A". Ein paar Prozent können alles sein, was Sie brauchen, um einen kleinen zusätzlichen Strom während des Abwürgens zu erfassen (wenn es zusätzlichen Strom gibt, wie ich auch annehmen würde, aber nachweisen müsste), der abgetastet und mit dem normalen Schrittstrom verglichen werden kann. In einigen Fällen sind 40 uA der Hauptunterschied, und in einigen Fällen sind 4 mA der Hauptunterschied. Ohne Messparameter von Ihnen ist es unmöglich, Sie wirklich zu beraten.
Was genau ist der Strom für einen Schritt im Vergleich zum Strömungsabriss und ist der Unterschied konsistent? Ich würde auch alle Drähte messen ... Sie verwenden einen unipolaren korrekten? Ich habe Stepper verwendet, mich aber nie darum gekümmert, den Strom zu messen, da die von mir verwendeten Stepper den Belastungsanforderungen entsprachen und niemals ins Stocken gerieten. Eine schnelle Antwort ist also, einen größeren Schritt zu machen.
quelle