USB адаптер сигнала PPМ на основе платы Arduino Pro Micro |
Технологии моделизма - Компьтерные Технологии |
Автор: Андрей |
Поэтому, имея источник PPM сигнала я решил воплотить свою давнюю мечту - собрать беспроводный адаптер пульта управления моделью для подключения пульта к программе-симулятору полета на персональном компьютере. В качестве обработчика PPM сигнала была использована плата Arduino Pro Micro удобная своей дешивизной, миниатюрными размерами и наличием встроенного micro-USB разъема. Написать программу адаптеру так же не составило большой трудности - в сети легко найти скетч Компоненты и материалы - Приемник Изготовление преобразователя RC приемник подключается с помощью JR/Hitec серво разъема непосредственно к выводам платы Arduino - отсюда так же берется напряжение 5V, достаточное для питания приемника. Для подключения приемника к Arduino используется кабель, сделанный из половины кабеля удлинителя сервопривода. Провода части кабеля с "мама" разъемом припаиваются непосредственно к выводам платы Arduino (чтобы избежать облома провода в месте пайки, перед впаиванием проденьте его через свободное отверстие на плате). Разъем надевается на PPM выход приемника, таким образом, с Arduino на приемник пойдет питание +5В, а обратно на Arduino пойдет PPM сигнал с приемника. Схема подключения: Как видно из схемы - кроме распайки кабеля, необходимо сделать еще одно действие - припаять конденсатор 0.05 - 0.15 мкФ между ножками RST и GND. Программирование
- Установить и сконфигурировать Подключение к компьютеру Для подключения такого устройства к программе симулятора не отличается от подключения стандартных USB-PPM кабелей - не надо делать никаких дополнительных действий. При первом подключение устройства компьютер сам устанавливает все необходимые драйверы, что через некоторое время должно привести к появлению стандартного устройства джойстика в директории "Устройства и Принтеры" контрольной панели. Тестирование адаптера Для тестирования устройства совсем не обязательно запускать программу симулятора полета. Операционная система Windows позволяет увидить значения каналов джойстика непосредственно в меню устройства, для этого необходимо выполнить следующую последовательность действий - Кликнуть по иконке джойстика правой кнопкой мыши. В результате этих действий появится окно состояния джойстика:
Изготовления USB-PPM кабеля для передатчика Кроме варианта с беспроводным соединением, я решил так же сделать и обычный "кабельный" вариант. Это оказалось так же относительно просто - в большинстве современный пультов для вывода PPM сигнала используется обычный аудио разъем. Поэтому для подсоединению к такому пульту берется кабель от старых наушников и припаивается к части серво удлинителя с "папа" разъемом. Результат работы: Кабельный вариант адаптера тоже работает без нареканий. Какой метод подсоединения пульта лучше - это я оставлю выбирать уже пользователям устройства. Беспроводное соединение очень удобно, но в конце концов я остановился на кабельном соединении - при подключенном кабеле тренерского разъема передатчик пульта не работает и не потребляет энергии батарейки - заряжать ее надо гораздо реже. То что я получил в результате обычный PPM-USB кабель меня не слишком расстроило - теперь я понимаю, как он работает и могу, если надо, изменить его параметры. ЧаВо Сколько каналов управления может поддерживать преобразователь? Текущая программа поддерживает 6 канальный PPM, которые трансформируются в 6 пропорциональных каналов джойстика - (Z, X , Y, ZRot, XRot, Thr). Как я понял, общего стандарта соответствия каналов PPM нет и, вполне возможно, что для некоторых симуляторов нужно будет изменить программу и установить другое соответствие. Число поддерживаемых пропорциональных каналов может быть увеличено до 8, но в моей реализации в этом не было необходимости, так как используемый RC приемник выдавал 6-канальную PPM. Зачем припаивать конденсатор к RST платы Arduino? Плата Arduino Pro Micro является ремейком платы Arduino Leonardo и использует ту же библиотеку, что и прототип. Но у есть некоторые конструкторские отличия - Aduino Pro Micro инициализируется гораздо быстрее, чем Arduino Leonardo. В результате, при подключение платы к компьютеру, она опрашивает USB интерфейс раньше, чем тот успевает инициализироваться и быть готовым поддерживать соединение. Конденсатор на ножке RST некоторое время (3-10 сек) после включения питания сохраняет низкий логический уровень и отодвигает время начала работы контроллера Arduino, тем самым давая возможность драйверу USB компьютера подготовить соединение. Почему именно Arduino Pro Micro? Можно ли использовать плату другого типа? Можно, но надо понимать, что Arduio Pro Micro использует процессор ATmega32U4 с встроенной поддержкой USB соединения. Такой процессор установлен только на последних модификациях платы - Arduino Leonardo, Arduino Micro, Arduion Mega. Более старые варианты типа Arduino Uno построены на процессоре ATmega328p, который аппаратно не поддерживает USB соединения, поэтому с библиотекой Joystick они не будут работать. Кроме этого, плата Arduino Pro Micro является одной из самых маленьких и дешевых реализаций платформы Arduino. Другие платы на основе ATmega32U4 гораздо больше размером и стоят существенно дороже. Что делать если мой пульт имеет другой тип тренерского разъема? Аудио-разъем используется в большинстве современных пультов управления, старые модели часто использовали 6-штырьковые PS/2 разъемы. Для подключения такого пульта возможно воспользоваться кабелем от старой "проводной" мыши или клавиатуры. |