USB адаптер сигналу PPM на основі плати Arduino Pro Micro
| USB адаптер сигналу PPM на основі плати Arduino Pro Micro |
| Технології моделізму - Комп'ютерні Технології |
| Автор: Андрій |
Нещодавно у продажу з'явилися дешеві приймачі RC, які разом зі стандартними виходами сигналів сервоприводів, видають так само композитний PPM сигнал. Для бортової електроніки це, у певному сенсі, революційне явище, тому що композитну PPM гребінку набагато простіше обробляти, ніж 6-8 окремих імпульсних сигналів сервоприводів. Такий приймач може бути зручно підключений до периферійних пристроїв за допомогою лише одного 3-х жильного кабелю та серво роз'єму, яким так само передається напруга живлення. ![]() Тому, маючи джерело PPM сигналу, я вирішив втілити свою давню мрію - зібрати бездротовий адаптер пульта управління моделлю для підключення пульта до програми-симулятора польоту на персональному комп'ютері. Як обробник PPM сигналу була використана плата Arduino Pro Micro зручна своєю дешивізною, мініатюрними розмірами та наявністю вбудованого micro-USB роз'єму. Написати програму адаптеру так само не склало великої труднощі - в мережі легко знайти скетч обробника PPM сигналів для Arduino, а також бібліотеку обслуговування USB джойстика. Компоненти та матеріали - Приймач OrangeRx R615X DSM2/DSMX. Якщо пульт керування працює з приймачами іншого типу, можна взяти будь-який відповідний приймач, що видає PPM сигнал. - Плата Arduino Pro Micro. Вона зазвичай має ціну в кілька доларів і продається у багатьох інтернет магазинах. - Кабель-подовжувач сервоприводу з JR/Hitec роз'ємами. - Конденсатор 50-150 nF - Шматок термо-збіжної трубки шириною 4 см. Виготовленняперетворювача RC приймач підключається за допомогою JR/Hitec серво роз'єм безпосередньо до висновків плати Arduino - звідси так само береться напруга 5V, достатня для живлення приймача. Для підключення приймача Arduino використовується кабель, зроблений з половини кабелю подовжувача сервопривода. Проводи частини кабелю з "мама" роз'ємом припаюються безпосередньо до висновків плати Arduino (щоб уникнути облома дроту в місці паяння, перед впаюванням просмикніть його через вільний отвір на платі). Роз'єм надягається на PPM вихід приймача, таким чином, з Arduino на приймач піде живлення +5В, а назад на Arduino піде сигнал PPM з приймача. Схема підключення: ![]() Як видно зі схеми – крім розпаювання кабелю, необхідно зробити ще одну дію – припаяти конденсатор 0.05 – 0.15 мкФ між ніжками RST та GND. Після монтажу та перевірки на плату одягається шматочок термозбіжної трубки і осаджується феном. Програмування Тут я не детально описуватиму особливості програмування плати Arduino Pro Micro. У мережі є велика кількість ресурсів, присвячених цій темі. Відзначу лише найважливіші моменти: Підключення до комп'ютера Для підключення такого пристрою до програми симулятора не відрізняється від підключення стандартних кабелів USB-PPM - не треба робити жодних додаткових дій. При першому підключенні пристрою комп'ютер сам встановлює всі необхідні драйвери, що через деякий час має призвести до появи стандартного пристрою джойстика в директорії "Пристрої та принтери" контрольної панелі. ![]() Тестування адаптера Для тестування пристрою не обов'язково запускати програму симулятора польоту. Операційна системаWindows дозволяє побачити значення каналів джойстика безпосередньо в меню пристрою, для цього необхідно виконати наступну послідовність дій - Клацнути по іконці джойстика правою кнопкою миші. - У меню вибрати "Параметри ігрових пристроїв управління" - У вікні, що з'явилося, вибрати рядок Arduino Leonardo і натиснути на кнопку "Властивості". Внаслідок цих дій з'явиться вікно стану джойстика: ![]() Маркер + і червоні горизонтальні смужки відповідають пропорційним каналам джойстика. Вони повинні "ворушитися" при зміні положення ручок підключеного пульта управління моделлю. Виготовлення кабелю 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 роз'єми. Для підключення такого пульта можна скористатися кабелем від старої "провідної" миші або клавіатури. |




