Подписываемся на VK

Ежедневные новости, видео и приколы...

YouTube канал

Подбор моторов

TOP статьи

Вход




RC Магазины





Home Технологии Компьюторные USB адаптер сигнала PPМ на основе платы Arduino Pro Micro
Последние комментарии
USB адаптер сигнала PPМ на основе платы 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. В сети есть большое количество ресурсов посвященных этой теме. Отмечу только самые важные моменты:

- Установить и сконфигурировать среду программирования Arduino. Если программа уже установлена, необходимо проверить ее версию - она должна быть не ниже 1.6.6 - встроенные библиотеки обслуживания USB соединения появились относительно недавно.
- Проверить, что драйверы платы Arduino Leonardo установлены и подключенная плата детектируется средой программирования. Если драйверы не установились автоматически - установить их вручную.
- Загрузить библиотеку Joystick ( Это ссылка на zip-архив. Его надо скачать, раззипировать, найти в архиве папку Joystick и положить ее в директорию библиотек среды Aduino  ... /Arduino/libraries/.)
- Загрузить скетч PPM_Joystick.( Это ссылке на страницу с текстом программы. Можно не скачивать программу специально, а создать новый пустой скетч и скопипастить в него текст программы.)
- Подсоединить библиотеку к скетчу выполнив команду Скетч->Подключить библиотеку->Joystick
- Подключить плату Arduino Pro Micro к USB разъему и откомпилировать и залить скетч в непосредственно в Arduino.

Подключение к компьютеру

Для подключения такого устройства к программе симулятора не отличается от подключения стандартных 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 разъемы. Для подключения такого пульта возможно воспользоваться кабелем от старой "проводной" мыши или клавиатуры.

 





Последние сообщения форумаПоследние созданные темы
1) Сервомотор ведет себя не адекватно
2) Помогите пожалуйста с вертолетом (управление)
3) Юлиус Пердана и SHURIK-1960
4) Полётный контроллер PixRacer r15 autopilot
5) Вопрос по ПК
6) Автопилот SN Sparrow Flight Controller
7) Parrot Disco 4g mode.
8) Продажа комплекта деталей для авиамоделирования
9) радиоуправление квадрокоптером
10) Настройка Turnigy 9XR
1) Сервомотор ведет себя не адекватно - элероны
2) Помогите пожалуйста с вертолетом (управление) - Помогите пожалуйста с вертолетом (управление)
3) Вопрос по ПК - ПК фоксер ф722 v4, рагуль 1202 от fpv. Из этого сделать ЛК?
4) Продажа комплекта деталей для авиамоделирования - Здрaвcтвуйтe! Пpодaю кoмплект деталей для aвиамoделиpoвания
5) Полётный контроллер PixRacer r15 autopilot
6) радиоуправление квадрокоптером - забиндить приёмник RX2646H-DX с передатчиком RADIOMASTER
7) Юлиус Пердана и SHURIK-1960 - Летать НИЗЗЯ . а делать МОЖНО!
8) Два двигателя для модели вертолета двухвинтового КА - Какой двигатель ставить
9) Совместимость frsky r9m access и tx16s radiomaster - Проблема связи frsky r9m с rx frsky r9 slim OTA на tx16s
10) Модель вертолета с двумя винтами - Вертолет