Я ищу информацию о том, как реализовать правильное микширование двух аналоговых сигналов джойстика (ось X и Y) для управления приводом с двумя дифференциальными двигателями («бакоподобный» привод) с использованием uC (ATMega328p в моем случае, но то же самое относится и к любой uC с входами АЦП и ШИМ):
У меня есть аналоговый джойстик, который дает 2 аналоговых значения:
(направление) X: от 0 до 1023
(газ) Y: от 0 до 1023
Положение покоя (направление и нейтральное положение
дроссельной заслонки) 512,512 Дроссельная заслонка вперед / направление влево 0,0
Полное движение вперед-полное вправо - 1023,0
и т. Д.
Двигатели управляются 2-мя возбудителями H-моста, по 2 PWM-вывода для каждого (вперед, назад), например, так:
Левый двигатель: от -255 до 255
Правый двигатель: от -255 до 255
(положительные значения активируют вывод PWM вперед, отрицательные активируют реверс Контакт ШИМ, 0 отключает оба)
Цель состоит в том, чтобы смешать аналоговые сигналы джойстика для получения следующего отклика:
a) Дроссель вперед, нейтральное направление = транспортное средство движется вперед
b) Дроссель вперед, направление налево = транспортное средство движется вперед и поворачивает влево
c) Дроссельная заслонка, направление налево = автомобиль поворачивает влево В МЕСТО, что правый двигатель полностью вперед, левый двигатель полностью задний
... и аналогично для других комбинаций. Конечно, вывод должен быть «аналоговым», то есть он должен позволять постепенный переход, например, из варианта а) в б) в в).
Концепция заключается в следующем: