Как стать автором
Обновить

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

Время на прочтение 2 мин
Количество просмотров 15K


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

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

И напоследок, как все в сборе выглядит:


И еще одно видео (вторая попытка):
Теги:
Хабы:
+7
Комментарии 13
Комментарии Комментарии 13

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн