В место введения: Это статья по созданию самодельного автопилота для БПЛА на современной элементной базе. Самодельный автопилот создавался чтобы лучше разобраться в теме АСУ транспортными средствами, а также реализации каких-либо уникальных возможностей которых нет в других готовых АП может также пригодится, например, для преодоление зон глушения сигнала, создании своих систем автономного полёта (по уникальному алгоритму) или под уникальный планер. В общем основным плюсом самодельного АП является его невероятная гибкость, открытый исходный код и цена.
Разработка АСУ осуществляется в интерактивной среде разработчика QT Creator поскольку данная среда позволяет работать по условно бесплатной лицензии, а также обладает кроссплатформенным ядром, что позволяет простой перекомпилировать ПО при переносе на другую платформу, например, на Linux.
Начну со структуры АСУ:
Управление БПЛА осуществляется с ноутбука (или любого другого устройства с ОС Win/Lin), с помощью программы неземной станции управления (НСУ) MapGraphics - это интерактивная спутниковая карта позволяет осуществлять полёт по маршруту (точкам) или в режиме ручного управления с помощью кнопок на клавиатуре ноутбука, а также принимает телеметрию о полёте. Сигналы управления предаются с помощью TCP сервера, что позволяет использовать любой Ethernet совместимый радио модуль, например, Wi-Fi. Сама программа просмотра спутниковой карты не моя она получена отсюда: https://github.com/raptorswing/MapGraphics [github.com] была приведена в рабочий вид и доработана для использования в АСУ. Сигналы управления от интерактивной спутниковой карты принимает ядро АСУ, данное ПО производит основной расчёт направления движения по сигналам от спутниковой карты и предаёт его на микроконтроллер в ивде структуры данных состоящей из 5 основных параметров направления (азимут), высота, угол атаки, тип точки (взлёт посадка) и наличии вращения вокруг точки (например, в конце маршрута). Ядро работает с такими модулями как GPS Ublox Neo M8N для получения курса, широты и долготы полёта и GSM модема для поиска БПЛА при посадке (например, в высокую траву). Ядро вычисляется на одноплатном компьютере (бортовом компьютере) ASUS TinkerBoard в прочем возможно использовать и Raspberry PI. ASUS TinkerBoard также отвечает за стабилизацию БПЛА в воздухе, движение по заданному курсу и высоте полёта для этого используется IMU датчик гироскоп+акселерометр+магнитометр BNO 088, барометр MS5611 и лидар высотометр для получения вертикальной скорости при посадке и нахождении земли.
[turboimagehost.com] Более новая схема 2022г с учётом критики на хабре
Теперь более подробно:
Графический интерфейс MapGraphics - Это обозреватель со спутниковыми снимками ESRI (аналог яндекс карт), на снимки накладывается сетка содержащаяя координаты широты, долготы и по этим координатам, и осуществляется движение. Координаты хранятся в памяти БПЛА в виде структур данных точек, каждая точка содержит следующие параметры: широту, долготу, высоту, угол атаки, тип точки, радиус точки, радиус круга (вращения вокруг точки). Точки отображаются на карте в виде маркеров существует 4 типа маркеров-точек: Точка мгновенного премещения - когда БПЛА летит в указанное место и по достижению координата вращается по кругу. Маршрутная точка - когда БПЛА летит в точку и по её достижению загружает из памяти следующую по достижению всех точек также начинает летать по кругу. Точка местонахождения БПЛА на карте. Точка для поиска БПЛА по координатам широты и долготы.
Параметры: высоты , угола атаки, типа точки, радиуса точки, радиуса круга точки получают из графического интерфейса (Text box) расположенных напротив своих названий, после установки точки на карту ей автоматически присваиваются значения в этих полях, изменяя эти значения каждый раз перед установкой новой точки можно составить маршрут полёта и загрузить его в БПЛА с помощью соответствующей кнопки, ограничение на количество точек как такого нет оно определяется только количеством ОЗУ бортового компьютера. Кнопка в стоп, начинает вращение вокруг текущего местоположения, а кнопка вернутся позволяет продолжить движение после остановки либо мгновенного перемещения. Кнопка калибровка передаёт команду самокалибровки на датчик BNO088 после чего нужно вращать самолёт под различными углами пока на панели телеметрии под индикторами вывода Напровление GNSS/Тонгаж/Крен/Рысканье все 4 индиратора отобразят 1.0 это иникаторы калибровки магнитометра гироскопа акселерометра и самопроверка датчика на неисправности.
В нижней части расположен (check box) предохранителя “Ручное” от случайного нажатия на карте маркера мгновенного перемещения, “Отладка” не использующейся в данный момент и “кнопки” для управления с помощью клавиш: “ADWS” а также ползунок для управления тягой двигателя (который можно регулировать колесом мышки для удобства).
Режим ручного управления эксперементальный режим управления копирующий управление самолётом из компьютерных игр, в данном режиме углы тонгажа крена и рысканья ограничены +/- 30 для тогажа, +/- 45 для крена, +/- 10 для рысканья при нажатии клавиши W БПЛА немедленно изменяет свой тонгаж на -30 а при отпускании возвращается на 0 аналогично S задаёт значение тонгажу +30 и при отпускании обратно, аналогично и все остальные кнопки. Важно заметить что значения от клавиш поступают на рули не напрямую а через закон управления (по сути ПИД регулятор хотя и не совсем обычный) это позволяет гарантировать удержание заданного угла в полёте. Данный режим планируется для использования с FPV оборудованием что-бы сделать полёт похожим на геимплей игры.
Поиск по координатам широты и долготы позволяет отобразить на карте положение самолёта в случае потери сигнала Wi-fi для этого необходимо набрать номер установленной в БПЛА сим карты после чего произойдёт сброс вызова и на телефон придут координаты самолёта, после чего их можно записать в соотвествующие поля в интефейсе карты и маркер отобразит местоположение самолёта.
Неудачный тест полёта по маршруту, неожиданно сильный ветер унес самолёт в результате чего он застрял на ветках а потом упал вниз. В результате блокировки винта мотор и регулятор вышли из строя начали переплавлять корпус т.к. работали на полную мощность. Аккумуляторы вздулись из-за перегрузки по току. В остальном всё цело АСУ работает:
[b.radikal.ru]
[a.radikal.ru]
[b.radikal.ru]
[a.radikal.ru]
[c.radikal.ru]
[b.radikal.ru]
[b.radikal.ru]
Интересно, что отвалилась моторама от планера (точнее отплавилась) но силиконовое крепление двигателя-виброразвязка выдержало и удар винта и температуру. Подобный тест случайно я провёл уже 2й раз (1 раз винт притянул с пола и разрубил мой смартфон который мерил вибрации рама лопнула но крепление осталось целое) следовательно данный способ крепления довольно надёжен в плане прочности и температурных нагрузок + уменьшает вибрации. А вот радиатор не смог спасти регулятор хотя он был очень массивный в прочем остановка двигателя = КЗ а регулятор был всего на 40А и судя по оплавлениям ещё работал и плавил пенопласт пока не сели батареи.
У меня загрузчик не работает после запуска Flash включается плагин я нажимаю загрузить (меняется на подождите) и ничего не происходит. Раньше работал и индикатор загрузки показывал загрузку а потом создовал ссылку а сейчас нет.
У меня все фото на forum rcdisign не читаются .Пользователи жалуются.Там нет способа ,как на нашем сайте ,прикрепления фотографий ,что конечно удивительно.Похоже наш сайт в этом отношении очень продвинутый.Большой респект Админу.
Userpc1010 У меня загрузчик не работает после запуска Flash включается плагин я нажимаю загрузить (меняется на подождите) и ничего не происходит. Раньше работал и индикатор загрузки показывал загрузку а потом создовал ссылку а сейчас нет.
Вы не тем пользуетесь. Я же написал, под редактором сообщений раздел “Прикрепить файлы и фотографии” кнопка “выбрать файлы” - загружайте с помошью нее, она теперь сама разбирается что вы загружаете и вставляет в зависимости от типа.
Оказалось регулятор и мотор всётаки работаю в двигателе было замыкание из-за оплавления провода, регулятор прозвонил ничего пробитого нет в итоге востановил двигатель подключил к регулятору и всё работает видимо радиатор всётаки его спас. Аккумуляторы также спустились почти приняли прежднюю форму. Но вот двигатель, эмалерованный провод двигателя из-за температурной перегрузки потемнел, статор стал гораздо сильнее притягиватся к ротору вероятно при блокировке он перемагнитился можно-ли пользоватся таким двигателем?