Ich suche nach Informationen darüber, wie man das richtige Mischen von 2 analogen Joystick-Signalen (X- und Y-Achse) implementiert, um einen doppelten Differentialmotorantrieb ("tankähnlicher" Antrieb) unter Verwendung eines uC (in meinem Fall ATMega328p) zu steuern, aber dasselbe sollte für gelten beliebige uC mit ADC-Eingängen und PWM-Ausgängen):
Ich habe einen analogen Stick, der 2 analoge Werte ergibt:
(Richtung) X: 0 bis 1023
(Gas) Y: 0 bis 1023
Die Ruheposition ist (Richtung und Gas Neutral) 512.512 Gas
vorwärts / Richtung links ist 0,0
Voll vorwärts-voll rechts ist 1023,0
usw.
Die Motoren werden von 2 H-Brückentreibern gesteuert, jeweils 2 PWM-Pins (vorwärts, rückwärts), wie
folgt : Linker Motor: -255 bis 255
Rechter Motor: -255 bis 255
(positive Werte aktivieren den Vorwärts-PWM-Pin, negative aktivieren den Rückwärtsgang PWM-Pin, 0 deaktiviert beide)
Das Ziel ist es, analoge Joystick-Signale zu mischen, um folgende Reaktion zu erzielen:
a) Gas vorwärts, Richtung Neutral = Fahrzeug fährt vorwärts
b) Gas vorwärts, Richtung links = Fahrzeug fährt vorwärts und links ab
c) Gas neutral, Richtung links = Fahrzeug links abbiegen IN PLACE, das ist der rechte Motor voll vorwärts, der linke Motor voll rückwärts
... und ähnlich für andere Kombinationen. Natürlich sollte der Ausgang "analog" sein, dh er sollte einen schrittweisen Übergang von beispielsweise von Option a) nach b) nach c) ermöglichen.
Das Konzept lautet: