Ich habe einen bipolaren Schrittmotor (QH4-4242) und ein Netzteil von einem alten Drucker geborgen, an dem ich basteln möchte, bevor ich auf größere Motoren skaliere. Mit den begrenzten Kenntnissen über den Stepper (z. B. Nennstrom), aber dem Wissen, dass das Netzteil über eine 24-V / 0,55-A- und 5-V / 0,2-A-Versorgung verfügt, würde ich davon ausgehen, dass der Stepper eine Nennleistung von mindestens 0,5 A haben muss . Ich habe Spulendrahtpaare durch Messen des Widerstands gefunden (~ 8,5 Ohm).
Unter Verwendung einer Pololu-Karte, die um den DRV8825 herum aufgebaut ist, habe ich die Anweisungen auf der Website befolgt, um die richtigen Stifte A1, A2, B1, B2 mit den entsprechenden Spulenpaaren zu verbinden. Ich habe den Motor mit dem 24V / .55A-Ausgang versorgt und den Strombegrenzungs-Trimmtopf eingestellt, während ich die Ampere in einer einzelnen Phase gemessen habe, während der Step-Pin hoch war, so dass der Strom .29A betrug (da die Phasen nur 70% von erhalten der Strom bei vollem Schritt). Und ich habe den Schlaf eingestellt und wie angewiesen auf hoch zurückgesetzt.
Mit einem FEZ Panda II als Mikrocontroller habe ich einen einfachen Code geschrieben, der den Step-Pin und den Sleep-Pin 1 s lang hoch und dann 1 s lang niedrig dreht. Der Schrittmotor macht ein hohes Pitch-Geräusch (wie ich gelesen habe, ist für einen Chopper-Fahrer ziemlich normal) und die Welle wird schwer zu drehen, dreht sich jedoch nicht. Während die Stifte niedrig sind, dreht sich die Welle leicht, wenn ich die Welle leicht aus der "Zahn" -Position bewege, wenn die Stifte wieder zu hoch sind, als würde sie wieder einrasten. Es wird sich jedoch weder selbst drehen noch treten.
Ich würde mich über Beiträge oder Vorschläge zum Debuggen dieses Problems sehr freuen.
Aktualisieren:
Entschuldigung für die Verwirrungshelfer, ich dachte eine Sache und schrieb letzte Nacht eine andere. Mein Hoch und Tief für das Treten beträgt 1000 ms oder 1 Sekunde.
Pseudocode würde folgendermaßen aussehen:
while(true)
{
step(true)
sleep(1000)
step(false)
sleep(1000)
}
Update 2:
Gemäß Richmans Vorschlag habe ich hintereinander LEDs hinzugefügt, um das Umschalten der Polarität zu überwachen, wenn ein Schrittimpuls gesendet wird. Dies scheint etwas Licht auf das Problem zu werfen. Und tatsächlich das Problem gefunden. Die Polarität wurde beim Senden des Step-Signals nicht umgeschaltet. Dies lag daran, dass ich nicht nur einen Impuls an den Step-Pin gesendet habe, sondern auch den Sleep-Pin umgeschaltet habe, der die Stromversorgung des Motors aktiviert / deaktiviert. Ich habe gelesen, dass dies getan wurde, um hohe Geräusche zu minimieren, aber ich glaube, ich habe es falsch verstanden und das Aktivieren / Deaktivieren erfolgt, nachdem ALLE Schritte ausgeführt wurden. Das ist jetzt erledigt. Entschuldigen Sie die Antwortenden für die Verwirrung mit dem Timing. Ich würde Ihnen die richtige Antwort geben, da ich es falsch erklärt habe, wenn ich könnte.
Eine unbekannte Konsequenz ist, dass der Stepper von selbst tritt, wenn der Step-Pin niedrig gelassen wird. Ich bin neugierig, ob dies auf Rauschen im Signal zurückzuführen ist, das möglicherweise dazu führt, dass der Step-Pin hoch / niedrig wechselt, obwohl meine Logik dies nicht sagt. Oder vielleicht liegt ein Erdungs- / Abschirmungsproblem vor, denn wenn ich das Motorgehäuse, die Verkabelung berühre oder einfach nur meine Hand in die Nähe lege, beginnt es schneller und schneller zu treten und wird schließlich unregelmäßig.
Irgendwelche Gedanken zu diesem neuen Rätsel?