Радиоуправление своими руками

Уголок радиоконструктора


В этой статье рассмотрено изготовление пропорциональной аппаратуры радиоуправления на основе платы Arduino. Интересной особенностью проекта является то, что аппаратура задумывалась как альтернатива "взрослой" аппаратуры, но которую можно изготовить самому. На передатчике присутствуют клавиши триммирования, что важно для управления например моделями самолетов, так же передатчик оснащен небольшим дисплеем на органических светодиодах, отображающий основную информацию по работе передатчика. Аппаратура рассчитана на 6 каналов, 4 пропорциональных и 2 дискретных. Также автор заложил на будущее добавление еще двух пропорциональных каналов, на корпусе добавлены 2 потенциометра, однако на данный момент они не задействованы. Тем не менее этого достаточно для управления моделью самолета, судна или автомобиля, а дискретные каналы позволят управлять дополнительной нагрузкой, например включением фар, подсветки палубы, ходовых авиационных огней или даже запуска небольших ракет. Аппаратура имеет два режима управления — линейный и экспоненциальный.






Для передатчика понадобятся:

1 x Arduino NANO/UNO/ProMini
1 x Плата защиты BMS для трех Li-ion банок
1 x разъем 5,5 x 2,1 мм
1 x повышающий DC/DC преобразователь XL6009
1 x небольшой понижающий преобразователь LM2596 (о нем скажу отдельно)
3 x 18650 :
2 x джойстики JH-D202X (продаются на али)
2 x тумблер
1 x i2c OLED-экран 0,96 дюйма 128X64
1 x радио модуль NRF24l01 с усилителем и антенной
9 x тактовая кнопка 6 * 6 * 5 мм
Резисторы выводные (смотри схему)

Для приемника понадобятся:

1 х Arduino NANO/UNO/Pro Mini
1 х радио модуль NRF24l01
1 х AMS1117 3,3 В стабилизатор напряжения
30 х PLS гребенки
1 х макетная плата
1 х 10 мкФ конденсатор

Ниже Вы можете видеть графическое изображение всех компонентов и схему их соединения. Перед сборкой понижающие преобразователи обязательно нужно настроить, XL6009 на 12,6 В (этот модуль ответственен за зарядку), LM2596 на 3,3 В (питание радиомодуля). Вместо LM2596 теоретически можно использовать и ASM117, согласно даташиту максимальное входное напряжение этого стабилизатора 15 В, однако советуется не подавать выше 12 В. Видимо исходя из этих соображений автор и использовал еще один DC/DC преобразователь. Вместо него так же можно использовать регулируемый стабилизатор, например LM317.






Корпус

Аппаратура радиоуправления на Arduino


Корпус состоит из двух основных частей: верхней и нижней. Помимо этого печатаются 9 кнопок (8 на триммирование и одна кнопка режима), 5 подпорок для кнопок, окантовка дисплея и ползунок включения. Автор печатал PLA ластиком с 20% заполнением, соплом 0,4 мм и высотой слоя 0,3 мм. К слову, никто не запрещает использовать другой корпус, можно взять просто подходящую коробку, склеить его самому или взять достаточно крупный корпус от китайской игрушки, на сайтах объявлений их чуть ли не мешками продают.




Монтаж передатчика

Аккумуляторы соединяются последовательно. Автор сделал это при помощи пайки, хочу отметить, что пайка банок 18650 требует некой сноровки, по этому если у Вас такого опыта нет — покупайте аккумуляторы с уже приваренными лепестками и подпаивайтесь к ним. Так же аккумуляторы согласно вышеизложенной схеме припаиваются к модулю BMS, на вход которого подается напряжение с преобразователя XL6009 (вместо него можно использовать MT3608). BMS отвечает за равномерную зарядку/разрядку всех банок и отключает питание, когда аккумуляторы разрядятся. Напряжение так же можно мониторить при помощи дисплейчика. Зарядка аккумуляторов осуществляется блоком питания 9 В с током не выше 3 А (максимум для XL6009 ). Фактически же ток заряда нужно подсчитать в зависимости от емкости аккумуляторов и взять блок питания с немного меньшим током или ограничить его. Монтировать модули в корпус удобно при помощи "автомобильного" двухстороннего скотча.




Тактовые кнопки устанавливаются на специальные площадки, после чего небольшими шурупами крепятся к соответствующим опорам внутри корпуса. Тут, собственно, все на уровне конструктора и хорошо понятно по фото.




Кнопки соединяются между собой резисторами, таким образом по сути выходит небольшая резистивная клавиатура, что позволяет использовать всего один вывод платы ардуино. К потенциометрам джойстиков припаиваются провода, крайние выводы идут на землю и 5 В, средний на соответствующий вывод Arduino. У меня в планах повторить эту схему, уже немного поэкспериментировал и могу сказать, что в коде заложена функция автоматического инвертирования каналов по необходимости, однако я пока не понял, как схема определяет эту самую необходимость. Это я к тому, что так-то инвертирование канала по сути производиться перепаиванием крайних выводов местами. Такие джойстики, на момент написания статьи, продаются на али по цене примерно 7 долларов за штуку, много это или мало решать Вам. Вместо них можно использовать модули джойстиков для ардуино или джойстики от игровых манипуляторов.

По сути джойстик работает как делитель, отклоняя ручку мы меняем напряжение на среднем выводе потенциометра, и в зависимости от этого напряжения ардуино определяет отклонение.
[center] [/center]
Так же подключаются и тумблеры. Тумблеры нужны двухпозиционные, так как канал дискретный и имеет только два значения - 0 или 1, в зависимости от того, к чему притягивается вывод ардуино - к земле или питанию 5 В. При чем обязательно двухпозиционный, если оставить вывод "висеть в воздухе", что было бы при использовании трех позиционного, контроллер не понимает что происходит и значение рандомно скачет то 0, то 1 (по моим опытам). Дополнительные потенциометры можете не ставить, на данный момент они не задействованы. А можете поставить и мониторить страницу источника, возможно автор со временем выложит обновленную прошивку.




Далее устанавливается ардуино, радио модуль и плата питания радио модуля. Как и писалось выше, на нем нужно выставить напряжение 3,3 вольта. Сделать это при помощи штатного переменного резистора практически невозможно, по этому автор отпаял его и вместо него припаял многооборотный триммер. Далее монтируется дисплей, и все компоненты подсоединяются к выводам ардуино согласно схеме.






Прошивка

О прошивке ардуино говорилось уже 1000 раз, на данном момент времени умение это делать взявшись за проект на ардуино является таким же важным по умолчанию, как умение держать в руках паяльник, взявшись что-то паять. Код для передатчика, приемника, необходимые библиотеки и файл для 3D печати корпуса можно скачать одним архивом в конце статьи.




Приёмник



Для приёмника потребуется ещё одна плата ардуино, радио модуль (без антенны, телеметрия все равно тут не реализована) и стабилизатор на 3,3 вольта. Приемник распаивается на макетной плате. Питание приемника осуществляется так же, как и питание любого другого заводского приемника, со специального выхода регулятора скорости.




От себя хочу добавить, что вместо стандартной антенны этого модуля желательно припаять такую же антенну, какая установлена в модуле с усилителем (только без корпуса). Это не особо повлияет на дальность приема, но значительно повлияет на качество приема в зависимости от положения управляемой модели в различных плоскостях. На современных приемниках и передатчиках ради этой цели даже устанавливается по две антенны, которые располагаются перпендикулярно друг другу.


Помимо этого автор реализовал очень важную функцию — вывод с приемника PPM сигнала. Схематически при этом ничего не меняется, нужно лишь залить другую прошивку, PPM сигнал при этом выводиться так же, как и в большинстве заводских приемников - с первого канала (газа).




На этом всё. Лично мне проект очень понравился, и как я уже говорил, в планах его повторение в корпусе от пульта детской игрушки. В меню Вы можете выбрать режим от линейного до экспоненциального и точно настроить значение каждого стика. Имейте в виду, что среднее значение каждого канала должно быть 127.



Скачать все необходимое можно тут.

Всем успехов в творчестве!
Источник (Source)