2016-05-04 6 views
0

Ich wollte den Anfangspunkt eines Schrittmotors finden, wenn er existiert, also könnte ich ihn immer in 90 Grad oder 512 Schritten drehen (2048 Schritte für eine volle Umdrehung). Ich habe vier Tassen in den Schrittmotor und ich möchte den Grad 0 für Tasse 1, Grad 90 für Tasse 2 und so weiter verwenden. Ich benutze es mit Beaglebone Black mit Python-Sprache. Bis jetzt kann ich nur den Motor bewegen und ihm eine Anzahl von Schritten geben. Ich verwende die Adafruit_BBIO-Bibliothek, um GPIOs von Beaglebone zu steuern. Ist es möglich, die anfängliche Position des Motors zu erreichen oder in eine inizielle Position zu bringen? Ich habe noch nie einen Schrittmotor benutzt.Schrittmotor 28BYJ-48: Wie finde ich den Winkel 0? Oder sein Ausgangspunkt?

Vielen Dank.

+0

Ich stimme zu, diese Frage als off-topic zu schließen, weil es scheint, als wäre es besser für https://arduino.stackexchange.com/ – Stedy

Antwort

0

Nein - es ist nicht möglich, die genaue Position eines Schrittmotors ohne zusätzliche Informationen (Eingänge) zu bestimmen. Wie Sie bemerkt haben, können Sie nur eine bestimmte Anzahl von Schritten verschieben, aber wenn Sie nicht wissen, wo Sie angefangen haben, werden Sie nicht wissen, wo Sie enden.

Dies wird normalerweise gelöst, indem ein anderer Eingang, normalerweise ein Endschalter, an einer bekannten Stelle verwendet wird, so dass der Schalter schließt, wenn sich der bewegliche Teil direkt über diesem Ort befindet. Wenn Sie das erste Mal starten, drehen Sie den Stepper, bis sich der Schalter schließt. An diesem Punkt kennen Sie den aktuellen Standort. Sobald Sie Ihre Ausgangsposition kalibriert haben, DANN können Sie Ihre genaue Position durch Zählen der Schritte bestimmen (vorausgesetzt, Ihr Motor rutscht nicht!)

Sie sehen dies oft mit Tintenstrahldruckern; Wenn Sie sie zum ersten Mal einschalten, wird der Druckkopf den ganzen Weg zu einer Seite gleiten (wo es fast sicher eine Art Detektor ist). Das ist der Drucker, der seinen Nullpunkt findet.

Einige Alternativen zu einem Schalter:

Wenn Sie einen Servomotor nicht volle Umdrehung benötigen, können Sie stattdessen verwenden. Diese DO haben eine interne Positionserfassung.

Eine andere Hack-Lösung mit einem Stepper wäre es, einen mechanischen Block an einer Extremität zu platzieren, der verhindert, dass der Mechanismus passiert. Dann drehen Sie den Stepper um eine volle Umdrehung in eine bestimmte Richtung. Du weißt, dass du irgendwann den Block getroffen hast und aufgehört hast. Das ist nicht großartig; Sie müssen darauf achten, dass durch das Einlaufen in den Anschlag nichts beschädigt oder etwas aus der Ausrichtung gerissen wird. Aufgrund der Beschaffenheit von Steppern kann Ihre Schrittzahl auch um bis zu 3 Schritte abweichen, so dass dies keine besonders hohe Präzision ist.