Делаем стабилизатор своими руками
Собственно, по причине глюков FY21-ap задумал я сделать что-то подобное своими руками.
На основе arduino на 328 атмеге.
Сенсоры решил применить уже установленные на платке, ибо не хочется заморачиваться с травлением-сверлением-пайкой.
Остановился на изделиях от Sparkfun.
Первый вариант стаба был с использованием платки 5dof (3-х осевой акселерометр ADXL335 и 2-х осевой гироскоп IDG500, оба аналоговые).
Сейчас понял - это была ошибка. Во-первых чувствительность гиры - 2 милливольта на градус/сек слишком мала для аналоговых 10-и разрядных входов аруины.
Кстати 5dof отлично прижился на ARM проце cortex-m3 с его 12-разрядным АЦП на квадрокоптере.
Во-вторых, использование 2-х осевого гироскопа возможно только на небольших углах крена и тангажа. (Про курс здесь молчу, т.к. проект был под крыло).
Заменил на 6dof (3-х осевой акселерометр ADXL345 и 2-х осевой гироскоп ITG3200, оба цифровые).
Соединение с ардуиной по I2C. Четыре проводка - красота!
Напаял сверху ардуины этот 6dof на хитроизогнутых кусках канцелярской скрепки. Проводок - это 3.3В с ардуины на сенсоры.
На фото не показаны припаянные проводки с разъемами для приемника и серв. Этот модуль я вставлял в разъем специально изготовленной для первого варианта отладочной платы.
Сейчас прямо к ногам ардуины припаяны провода с “папами”.
Всё, этого железа достаточно для стабилизации полёта.
Ессно, позже были припаяны 3 подстроечника а-ля FY21/FY21. До них коэффициенты корректировал прямо в тексте программы и в поле заливал прошивку.
Алгоритм - DCM. На плате Seeeduino mega применяю расширенный фильтр Калмана, ибо 8К памяти уже позволяют.
На сегодня имеем:
Стаб, OSD на max7456, компас HMC5843, барометр BMP085. GPS приемник взял от 21-й фишки (правда пришлось помучиться с ним, он не совсем стандартно строки NMEA выдает, китай…).
Погрешность высоты по барометру ± 0.3м за счет IIR фильтра. Без фильтра ± 1 -1.5 метра.
Кстати гира ITG3200 на удивление не плывущая по сравнению с IDG500.
OSD ессно текстовый, примерно как у фишки. Но горизонт я более качественно отобразил.
Ценник, даже от жадного Sparkfun:
- 6dof - 65$
- HMC5843 - 20$
- BMP085 - 20$
- MAX7456 - 40$
Ардуина - cArduino - 700р.
Как видим, минимум необходимого для стаба обойдется в 65$ + 700р. = 2500р.
По-моему неплохо.
а зачем делать на меге если все получается с кортексом ( просто я про перспективу не травить плату а заапгрейдить фишку?)
2-х осевой гироскоп ITG3200
А он разве- не 3х осевой? invensense.com/mems/gyro/itg3200.html
Когда тестовый полёт+ видео с него?
А он разве- не 3х осевой?
Опечатка! 3-х!
Как видим, минимум необходимого для стаба обойдется в 65$ + 700р. = 2500р. По-моему неплохо.
Код выложите?
а зачем делать на меге если все получается с кортексом ( просто я про перспективу не травить плату а заапгрейдить фишку?)
Не вопрос! Просто ардуина маленькая платка. И входы-выходы арду менее нежные по сравнению с кортексом.
Прошить фишку - прошивку как залить? Я не знаю. Кортекс я по юсб шью. Но там загрузчик прошит (leaflabs maple)
Код выложите?
Только окончательный проверенный вариант. Чтобы не плодить уродцев.
Могу на станке плату развести!
Когда тестовый полёт+ видео с него?
Еду в Омск с 11 июля на 2 недели. Там куплю самик (кстати где можно купить) типа дракона и отсниму видео с борта.
Могу на станке плату развести!
Под плату думаю можно комплектующих без Breakout-ов закупить и напаять. Еще меньше и дешевле выйдет!
Но с платой мы приблизимся к другим похожим проектам и потеряем изюминку - девайс хендмэйд.
Могу на станке плату развести!
Воспользуюсь предложением если что. Мы соседи оказываецца.
Не проблема!
Могу на станке плату развести!
А что за станок, который разводит платы?
Игл? 😃
Прошить фишку - прошивку как залить
Счас чайнлинк все ломанутся шить - узнаете что такое StLink 😃)
… девайс хендмэйд.
А были уже летные испытания? И есть ли видео?
Итак, что я могу сказать, занимаюсь примерно аналогичным проектом, вот только платку сенсоров я взял готовую 10-dof:
cgi.ebay.com/…/260766408107
по цене почти тоже самое, только на одной платке, и очень компактное.
Сразу насчет погрешности по барометру, из даташита погрешность получается где то 8 см, у меня сделано 0,1 метра, да конечно плывет немного, но не смертельно, ведь разница давления на 10 см настолько мала, что даже небольшой поток воздуха попадающий на сенсор, приводит к скачкам до нескольких метров, думается мне что по барометру точнее уж никак не получится…
даташита погрешность получается где то 8 см, у меня сделано 0,1 метра
bmp085 не даст ни 0.008 ни 0.1 м погрешности
А были уже летные испытания? И есть ли видео?
Да, облетал на пилотажевском мини файтере. Крылышко вертлявое, неубиваемое - использую как стенд. Держит намертво. Конечно пришлось повозицца с пидами. Видео будет через две недели - я в отпуске. С осд видео будет. Выдумал новую фичу - подстроечником подгонять горизонт с камеры к горизонту осд на тангаже. Оптика-то у камер разная. Попробовал - полоска чотко на горизонте лежит. Конечно до определенного угла. Далее осд горизонт останавливаецца в верхнем или нижнем положении. Но в этих пределах - как примагниченный.
… Далее осд горизонт останавливаецца в верхнем или нижнем положении. Но в этих пределах - как примагниченный.
Здорово, ждем продолжения!
Имею практически такой же набор 6dof ,только акселерометр ВМА020, работают ВМА020 и ITG3200 вместе просто отлично, сейчас все это летает на квадрике мультивии, так что если есть или будет поддержка ВМА020 готов переставить на самик и попробовать, крылышко резвое тоже имеется 😃
2Drinker Можно ссылочку на DCM алгоритм? В гугле что-то ничего конкретного не попадается…
2Drinker Можно ссылочку на DCM алгоритм?