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