Servomotor dreht sich nicht ohne Druck

7

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

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.

Patrick Perini
quelle
Klingt so, als ob es dem Servo schwer fällt, anzufangen. Der Anlaufstrom ist wahrscheinlich viel höher und Sie schieben ihn weiter. Was ist das Netzteil, das Sie verwenden? Könnte es unter Strom sein?
Kellenjb
@Kellenjb Ich habe die spezifische Hardware hinzugefügt. Es sieht so aus, als ob es definitiv stark genug sein sollte, um die Platte anzutreiben.
Patrick Perini
Gibt es eine Chance, dass Sie ein Zielfernrohr an die Stromleitungen anschließen können, um zu sehen, was mit der Spannung passiert, wenn sie sich nicht bewegt?
Kellenjb
Nicht ohne einige Dinge zu zerlegen, zu deren Demontage ich nicht befugt bin. Wenn ich meinem Senior versichern könnte, dass es sich um ein Hardwareproblem handelt, wäre er vielleicht bereit zu helfen, aber ich müsste zuerst sicher sein.
Patrick Perini
1
Ich sehe nicht ein, wie dies möglicherweise ein reines Softwareproblem sein könnte. Reine Softwareprobleme können selten, wenn überhaupt, umgangen werden, indem man der Hardware einen Anstoß gibt.
Ilmari Karonen

Antworten:

8

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 Ausgang des Netzteils (PS) fällt ab und verursacht einen Drehmomentverlust im Servo. Dadurch bleibt der Servo stecken, bis er gedrückt wird.
  • Der PS-Ausgang sinkt und die Steuerelektronik im Servo wird zurückgesetzt.
  • Der PS-Ausgang sinkt, wodurch die Arduino-Karte blockiert oder zurückgesetzt wird.
  • PS erkennt einen Fehler und schaltet ab. Es wird möglicherweise sofort oder nach einer Weile wieder eingeschaltet oder erst, wenn es vom Stromnetz getrennt und wieder angeschlossen wird.
  • PS wird beschädigt.

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
6

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.

John R. Strohm
quelle