- PVSM.RU - https://www.pvsm.ru -

А мне летать охота, или как протестировать узлы квадрокоптера без аппаратуры радиоуправления

Начитавшись статей на Хабре про квадрокоптеры, и насмотревшись видео на YouTube, захотелось и мне сделать квадрокоптер.
Заказал я в чудесном китайском магазине [1] деталек, за основу брал список из этой статьи [2]. К сожалению, в том магазине отсутствовала радиоаппаратура, да и опыта покупок на такие суммы у меня пока что не было, поэтому заказ состоял только из пропеллеров, аккумуляторов, двигателей, контроллеров к ним (ESC) и главного контроллера.
Приехало все достаточно быстро — менее двух недель (из Гонконга в Киев). Сразу после этого заказал в другом магазине [3] радиоаппаратуру и разную мелочь.
Раму я сделал из подручных материалов (квадратной алюминиевой трубы из местного строительного магазина), разместил на ней двигатели с контроллерами. И захотелось мне их испытать — вдруг бракованые есть. Инструкция к ESC говорила о том, что нужно подключить к ним один из каналов от радиоуправления. Но радиоуправление приедет не раньше чем через полторы недели…

Полез я разбираться, как же управляются эти ESC. Оказалось, управляются они ШИМом, причем скважность импульсов тут не важна, а важна абсолютная длительность импульсов. Минимумом считаются импульсы в 1 мс, максимумом — в 2 мс (RaJa [4], спасибо за помощь).
Для эмуляции радиоуправления я использовал чудесную разработку DiHalt [5]`а — плату pinboard II [6] (за что ему отдельное спасибо). Программа на Си, код до безобразия простой: микроконтроллер (ATMega16) ждет байт из последовательного порта, и если это 'q', 'w', 'e' — увеличивает (с разным шагом) ширину импульса на выхоже ШИМ, если 'a', 's', 'd' — уменьшает. Также программа мигает одним из светодиодов — чтоб убедиться что МК не завис, и зажигает/гасит второй светодиод если на порт приходит '1'/'0' (для проверки связи с компьютером).
Код программы [7]
ШИМ работает на частоте 488 Гц, все ESC адекватно такой сигнал воспринимают.
Компилировать в AVRstudio (я пока что 4ю использую), тактовая частота МК — 8MHz, прошивка с помощью bootloader`а (который был записан в МК в комплекте с pinboard).
Для управления платой можно использовать обычный screen (для *nix):
lim$ screen /dev/tty.usbserial-000013FAA 9600
либо гипертерминал для Win*.

И напоследок, как все в сборе выглядит:
А мне летать охота, или как протестировать узлы квадрокоптера без аппаратуры радиоуправления

И еще одно видео (вторая попытка):

Автор: lim


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/diy/11377

Ссылки в тексте:

[1] магазине: http://www.rctimer.com/

[2] статьи: http://habrahabr.ru/post/144173/

[3] магазине: http://www.hobbyking.com/

[4] RaJa: http://habrahabr.ru/users/RaJa/

[5] DiHalt: http://habrahabr.ru/users/DIHALT/

[6] pinboard II: http://shop.easyelectronics.ru/index.php?productID=151

[7] Код программы: http://pastebin.com/KGy4wRax