Verzeihen Sie mir bitte die Naivität, die ich hier mit Sicherheit ausstellen werde. Ich bin größtenteils ein Software-Typ, daher liegt dieses Projekt etwas außerhalb meiner Komfortzone. Dennoch:
Projekt
Ich habe ein Python-Skript erhalten, das Befehle an eine Arduino-Karte sendet, die wiederum einen Servomotor antreibt und eine Platte dreht, an der sie befestigt ist.
Wenn ich dieses Skript ausführe, soll die Platte 1 volle Umdrehung ausführen.
Problem
Der Motor dreht sich nicht. Das Skript funktioniert und der Arduino erhält die richtigen Befehle, aber die Platte sitzt einfach. Hier ist der erwartete Workflow:
- Skript ausführen
- Motor dreht sich
- Platte dreht sich um 360 Grad
Hier ist der einzige Workflow, den ich zur Arbeit bringen kann:
- Skript ausführen
- Schieben Sie die Platte
- Motor dreht sich
- Platte dreht sich um 360 Grad
Hintergrund
Es gibt nichts, was den Motor oder die Platte behindert. Dieses genaue Setup hat angeblich in der Vergangenheit funktioniert. Da ich nicht viel Erfahrung mit Arduinos und Servos habe, fällt es mir schwer, herauszufinden, wo ich mit dem Debuggen dieses Problems beginnen soll. Jede Hilfe oder Anregungen wäre sehr dankbar.
Hardware
- Netzteil : CUI INC EPS060100 Ausgang: 6V, 1A
- Servo: Hobbico CS-80 Geschwindigkeit: 0,14 s / 60, Drehmoment: 24,7 kg-cm
Weitere Tests
Ungefähr einmal von 5 Mal (20%) funktioniert es einfach. Kein Stoßen oder Stupsen; es reißt einfach auf Geschwindigkeit und dreht sich.
Ungefähr alle 50 Male (2%) bewegt es sich überhaupt nicht, selbst wenn es gedrückt wird. Dies kann jedoch ein Problem mit der Skript- / Arduino-Kommunikation sein.
Antworten:
Lassen Sie mich zunächst sagen, dass Sie nicht genügend Informationen angegeben haben, um sicher zu sagen, was das Problem verursacht. Eigentlich keine große Sache, außer dass Sie verstehen müssen, dass meine Antwort möglicherweise nicht 100% richtig ist.
Der Link zur Hobbico-Website enthält nicht viele Informationen zu diesem Servo. Ich "denke", dass es sagt, dass es 0,7 Ampere zieht, wenn es ohne Last läuft. Wenn dies der Fall ist, können Sie davon ausgehen, dass beim Start oder mit einer Last (auch bekannt als Platte) mehr als 0,7 Ampere verbraucht werden. Diese Strommenge scheint mir angesichts der Größe des Servos nicht hoch zu sein.
Was wir nicht wissen, ist, wie viel mehr als 0,7 Ampere das Servo verbraucht. Eine gute Vermutung ist, "weit mehr als 0,3 Ampere mehr". Dies bedeutet, dass Sie wahrscheinlich mehr Strom ziehen, als das 1-Ampere-Netzteil liefern kann.
Es gibt verschiedene Dinge, die passieren können, wenn das Servo versucht, mehr Strom zu verbrauchen, als verfügbar ist. Die Chancen stehen gut, dass eines oder mehrere dieser Dinge passieren:
Der einfache Weg, um festzustellen, ob dies geschieht, besteht darin, den Ausgang des Netzteils mit einem O-Scope zu versehen. Während Sie das O-Scope ausgeschaltet haben, können Sie sich auch andere Signale ansehen, z. B. die Signale, die an das Servo gesendet werden. Sie können auch ein anderes, leistungsfähigeres Netzteil ausprobieren, dies ist jedoch weniger informativ.
quelle
Vor vielen Jahren habe ich eine 555-Schaltung an Bord genommen, um ein Standard-Servo von Tower Hobbies zu steuern. Unter normalen Bedingungen zog das Servo etwa 250 mA in Bewegung. Beim "Summen" (instabil) wurden halbe Ampere-Spikes und mehr gezogen.
Was ich gelernt habe: 1. Servos ziehen viel Saft, um die Welle durch das Getriebe zu drehen. Ich würde niemals in Betracht ziehen, ein Standard-Servo von einem Netzteil aus zu betreiben, das nicht mindestens 1 Ampere Dauerleistung pro SERVO liefern kann. 2. Servos legen viel Müll auf ihre Stromversorgungskabel. Ich würde niemals in Betracht ziehen, ein Standard-Servo zu fahren, ohne bei JEDEM Servo ungefähr 250 uF über die Versorgungsleitungen zu legen, um den Müll (und den Einschaltstrom des Versorgungsstarts) zu überfluten.
Die Servos, mit denen ich zu tun hatte, waren mit 5-V-Versorgungen zufrieden.
Wenn Sie sich das Hobbico-Datenblatt ansehen, wie Ihr anderer Mann sagte, möchte Ihr Servo 700 mA (0,7 A) in kontinuierlicher Bewegung ohne Last. Das ist ungefähr dreimal so viel wie ein Standard-Servo. Ihr Netzteil ist für 1 A ausgelegt. Mein Bauchgefühl ist, dass Ihr Netzteil bei weitem nicht stark genug ist, um den Einschaltstrom des Servos zu liefern und die Prozessorplatine bei Laune zu halten. Wenn Ihr System mit einer 5-V-Versorgung betrieben wird, würde ich diese 6-V-1-A-Versorgung gegen eine lineare 5-V-3-A-Versorgung austauschen. (Diese waren früher fast kostenlos erhältlich.) Zumindest hatte ich mehrere hundert uF über die Servo-Stromkabel gelegt.
quelle