Wie erkenne ich, wenn ein Schrittmotor zum Stillstand gekommen ist?


12

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?)



Die Stromerfassung über einen Shunt-Widerstand, der an einen Operationsverstärker an einen einfachen PID-Regler an den ADC angeschlossen wird, funktioniert möglicherweise ...

Huh? Wie kann ich erkennen, wenn ein Schrittmotor ausgefallen ist? Wie ich in der ursprünglichen Frage erwähnt habe: "Ich habe den Strom gemessen ... und er liegt immer innerhalb einiger Prozent von 0,5 A, ob mein Schritttreiber ... sich normal bewegt (was in meiner Anwendung sehr langsam ist), oder der Der Stepper-Fahrer glaubt, dass er den Stepper anweist, sich normal zu bewegen, aber der Motor hat sich gegen das harte Limit gedrückt. "
David Cary

Dies gibt keine Antwort auf die Frage. Wenn Sie einen Autor kritisieren oder um Klarstellung bitten möchten, hinterlassen Sie einen Kommentar unter seinem Beitrag. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Wenn Sie über eine ausreichende Reputation verfügen, können Sie jeden Beitrag kommentieren .
Shahbaz

Ich wurde auch durchsucht. Ich denke, die bestmögliche Möglichkeit, einen Feedback-Encoder zu verwenden, der Schrittwinkel und Schrittzahl mit dem Eingangsimpuls vergleicht

Antworten:


6

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.


3
Willkommen bei Robotics Kurtnelle, und vielen Dank für Ihre Antwort. Ich habe es bearbeitet, um ein wenig mehr Kontext und genügend Informationen aus dem Link bereitzustellen, damit die Leute die Informationen an anderer Stelle finden können, wenn der Link verrottet .
Mark Booth

Ich habe festgestellt, dass die Stall-Erkennung des L6470 sehr schwer zu kalibrieren ist. Mein Prozess war es, die minimalen kvals zu finden, die für einen zuverlässigen normalen Betrieb erforderlich sind (Stall-Schwelle ignorieren). Dann bewege ich mich nach oben, bis keine Stall-Fehler mehr gemeldet werden. Dann erhöhe ich es ein wenig mehr für Kopffreiheit. Aber oft wird immer noch kein Stillstand festgestellt ... Haben Sie Vorschläge?
Dave

4

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.


2

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?


2
Das Erkennen eines Stillstands ist wichtig, um verpasste Schritte zu erkennen. beim CNC-Fräsen, wo Teiletoleranzen kritisch sind.

Alte Post, aber das Erkennen von Stillständen ist auch wichtig, wenn Sie eine einzelne Achse (z. B. auf einer CNC-Maschine) mit zwei Motoren antreiben. Ansonsten sind Sie schön quadratisch, sorgfältig verarbeitet und ohne Zweifel teure Portal kann sich in Stücke reißen.
3Dave

2

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 :-)


2

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.