Ich arbeite an einem benutzerdefinierten Schwenk- und Neigesystem, bei dem die "Schwenk"- und "Neige"-Motoren mit einem Paar PWM-Motortreibern betrieben werden . Mit anderen Worten, jeder Motor hat seinen eigenen Treiber. Die Fahrer selbst erhalten Befehle von einem Arduino Nano, der wiederum Steuereingaben von einem 4-Wege-Schalter-Joystick erhält . Die Motoren werden nur einzeln mit Strom versorgt, da der Joystick torgesteuert ist.
Bisher ist das ziemlich einfach. Der knifflige Teil ist, dass das Kabel, das ich verwenden muss, nur drei Leiter für die Motoren zur Verfügung hat! Die beiden Motoren müssen sich einen Leiter teilen. Ich habe Mühe, Wege zu finden, um die Motoren mit Strom zu versorgen, da das Senden von Strom an einen von ihnen in den meisten Konfigurationen, die ich mir ausgedacht habe, auch Strom an den anderen Motor senden wird.
Das Beste, was ich mir einfallen lassen konnte, war, eine Leitung von jedem Motor durch einen NC-Schalter am Joystick zu führen, so dass der Stromkreis vom stationären Motor jedes Mal kurzgeschlossen würde, wenn der gemeinsame Leiter Strom erhält. In meinem Kopf macht das Sinn, aber ich habe das Gefühl, dass dies meine PWM-Treiber braten könnte.
Meine andere Idee war, vier NC-Relais mit Logikpegel zu verwenden und die Motorleitungen auf der Controller-Seite durch sie zu führen. Dann könnte ich Code verwenden, um den "stationären" Motor jedes Mal, wenn der andere Motor mit Strom versorgt wird, vollständig von seinem Treiber zu trennen. Aber jetzt müsste ich jedes Mal mit Verzögerungen umgehen, wenn ich schnell von einem Motor auf den anderen umschalte. Wenn ich zum Beispiel schnell hintereinander nach "oben" und dann nach "links" gehe, würde es einige Zeit dauern, bis die Relais für den "linken/rechten" Motor ausschalten und den Stromkreis schließen.
Was denkt ihr? Dies scheint die Art von Problem zu sein, die eine clevere Schalteranordnung lösen könnte, aber ich kann es nicht knacken.
Legen Sie das Arduino und die Treiber neben die Motoren und kombinieren Sie keine der Motordrähte
Setzen Sie den Joystick auf das Ende des Kabels und verwenden Sie ihn, um Widerstände zu schalten, die von einem der analogen Eingänge von Areduinos gelesen werden können, um festzustellen, was der Joystick tut.
z.B:
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Es gibt eine andere Möglichkeit, zwei Motoren über ein 3-adriges Kabel zu betreiben, aber es werden andere Teile als die von Ihnen gewählten verwendet.
Verwenden Sie anstelle der PWM-Antriebe LM2596-Buck-Module und schalten Sie sie einfach mit den Joystick-Schaltern zwischen Buck-Modus (positive Spannung) und Buck-Boost-Modus (negative Spannung) um.
Stellen Sie die auf dem LM2596-Modul voreingestellte Spannung ein, um die gewünschte Laufgeschwindigkeit zu erhalten.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Wie Sie sehen können, ruhen die Steuerungen bei gebremstem Motor, die Aktivierung der "Up" -Steuerung erzeugt eine positive Spannung für den Motor und die Aktivierung der "Down" -Steuerung eine negative Spannung.
Verwenden Sie ein anderes Buck-Modul und das andere Paar Joystick-Schalter für den anderen Motor und erden Sie das gemeinsame Motorkabel.
Da Sie Doppelschalter haben und Ihr Joystick 4-Wege (nicht 8-Wege) ist, so dass immer nur ein Schalterpaar zurechtkommen kann, könnten Sie es auch so machen.
Simulieren Sie diese Schaltung
Dadurch bleibt der unbenutzte X- oder Y-Draht mit dem gemeinsamen Draht kurzgeschlossen. Sie könnten möglicherweise die Spannung an XY und C erfassen, um festzustellen, in welche Richtung der Joystick gedrückt wird, wenn das Arduino das wissen muss. und ermöglicht auch eine geerdete Versorgung, opfert jedoch die Erdung des gemeinsamen Motorkabels.
Eine andere Lösung überlässt dem ardino die Kontrolle über die Geschwindigkeit und Richtung des Motors, verwendet jedoch nur einen einzigen Motortreiber.
BeB00
NuclearDude
schnedan
BeB00
NuclearDude
BeB00