Бюджетный AeroQuad на Wii сенсорах

Musgravehill
mahowik:

Single pole low pass filter implementation for reducing sensor noise

Однополюсной ФНЧ прост как 2 копейки:
a0:=0.15;
b1:=0.85;
выход[t]:= a0*вход[t]+b1*выход[t-1];

В мультивии есть нечто похожее на фильтр скользящего среднего, только добавлены коэффициенты подавления сверхчувствительности, еще что-то в угоду алгоритму:

gyroData[axis] = (gyroADC[axis]*3+gyroADCprevious[axis]+16)/4/8; // /4 is to average 4 values ; /8 is to reduce the sensibility of gyro
gyroADCprevious[axis] = gyroADC[axis];
gyroADCinter[axis] = gyroADC[axis]+gyroADCp[axis];
// empirical, we take a weighted value of the current and the previous values
gyroData[axis] = (gyroADCinter[axis]+gyroADCprevious[axis]+12)/3/8; // /3 is to average 3 values ; /8 is to reduce the sensibility of gyro
gyroADCprevious[axis] = gyroADCinter[axis]/2;

Оба ФНЧ самые примитивные, зато не требуют много ресурсов и тяжелой настройки.

mahowik
Covax:

уж скоро год как слежу за летающими табуретками на основе Ардуино

Неужели руки не чешутся попробовать AeroQuad?! 😃

Тем более что по железу тот же Multiwii, т.е. шилду не обязательно подрубать.

Musgravehill:

Оба ФНЧ самые примитивные, зато не требуют много ресурсов и тяжелой настройки

PWM update rates to ESC’s increased to 400 Hz

А по поводу этого что? В мультиви вроде ESC 50 герц?

Musgravehill
mahowik:

PWM update rates to ESC’s

В мультивии частота ШИМ 490 Гц. По-моему, “за глаза” на фоне инерции мотора и пропеллера.

Те, у кого проблемы с ESC - как раз хотели бы попробовать запустить мультивии с ШИМ 50Гц.

1 month later
SovGVD

расстроился я чего то с MultiWii, решил подпилить AeroQuad под свои сенсоры: wmp (idg650 и еще какой то) + adxl335, вот что получилось:

пока небольшие непонятки с алгоритмами, там предлагается ARG и MARG… ARG толи не работает, толи не должен горизонт показывать, а MARG вроде как еще датчиков хочет, но работает адекватно =)
еще чего то там в коде с делением данных с WMP на 16 o_0 - не многовато ли? горизонт еле двигается, поубивал нафиг - стал адекватнее + для adxl335 accelScaleFactor = 414.0 / 9.81;
вот хз теперь… это испробовать или multiwii дальше мучить (в GUI снова моторы работают как хотят, при нормальном горизонте, а сам коптер колбасит до переворотов, смена PID вообще никак не влияет о_0)
зы: там из гуи можно регули откалибровать ^_^

YAN=

Глеб, что-то я ни как не могу схему найти, на их сайте. Если знаешь где искать. ткни носом.

SovGVD

схемы нет, искал в коде куда чего покдлючается (с i2c то понятно, а вот остальное надо искать) + там например нельзя использовать сразу wmp и аналоговый датчик - немного снова код менять - у них расчитано что купишь шилд и на него напаяешь всё

SovGVD

если интерено, dl.dropbox.com/u/1638929/…/AeroQuad_sovgvd.zip - то что вчера поковырял (по коду можно искать ник sovgvd - там где менял), рассчитано на wm+, adxl335 и 4х канальный приемник, PIDы переставлены так, чтобы была совместимость с Multiwii (не перепаивать же)
пока что не летал - гира шумит и горизонт плывет

Romb89

А что вообще общественность думает по поводу этого проекта, AeroQuad? Просто очень мало отзывов о нем в интернете. Я вот планирую собрать квадрик на ардуине и никак не могу выбрать, на основе какого проекта это сделать. MultiWii как-то не очень нравиться, не хочется wii контроллер расковыривать. Может кто-нибудь подскажет какие из проектов квадриков на ардуине сейчас самые перспективные и популярные?

SovGVD
Romb89:

MultiWii как-то не очень нравиться, не хочется wii контроллер расковыривать.

в MultiWii от Wii уже давно мало что осталось, да и сами Wii клоны фиговенькие стали попадаться - почти рулетка =)
на почтиардуине еще интересный проект ArduQuad, с дальномерами, GPS и прочими плюшками
про этот проект - хз, just4fun попрбовал адаптировать под свои сенсоры… гира шумит, горизонт плывет, забил

3 months later
targetorsk

а где почитать последовательность действий по заливке софта в коптер?
Первый скетч заливаю, ошибок вроде нет, запускаю сервер вижу только белое окно, в чем проблемка.
Пробовал wiicopter софт там в каталоге сервера тоже .pde лежит, что с ней делать ?

17 days later
wlad
targetorsk:

а где почитать последовательность действий по заливке софта в коптер?

C официального сайта Аэроквада www.aeroquad.com переходим во вкладку Downloads и скачиваем всё оттуда (под вашу ОС), конфигуратор пока 2.7.1, так как 3-ий иногда глючит, хотя может уже что-то подправили…

Стабильная прога 2.4.2 aeroquad.googlecode.com/…/AeroQuad_v2.4.2.zip

Далее скачиваем последний ардуино: arduino.cc/en/Main/Software (выберете вашу ОС)

Теперь так как вы решили делать Аэроквад, определитесь с конфигурацией:

  • Атмега 328 (32кб флэш) - в неё влезет гира (или аналоговый или I2c) + аксель (или аналоговый или I2c) + 6-ти канальный приёмник + 6 канальный выход PWM.
  • Атмега 1280 (128кб флэш) - в неё влезет ещё пара фишек, а также комбинация аналоговых и I2c датчиков, мигалки светодиодные, контроль батареи, остальное по коду смотреть надо (нету у меня атмеги 1280 пока)
  • Атмега 2560 (256кб флэш) влезет всё по максимуму на текущий момент.

Итак определилилсь…

Теперь решайте сами, или плату разводите и травите сами (или на производстве) или покупаете готовые комплекты… я к примеру всё делал сам, так как у меня много чего было сразу от других комплектов…

Предположим решили брать - идём по этой ссылке: aeroquad.com/showwiki.php и в конце видим картинку, где выписаны все конфигурации из готовых вариантов…

Далее как пример максимальной фаршировки: aeroquad.com/showwiki.php?title=Hardware+Assembly+…

Теперь касательно компиляции:

если вы купили готовый комплект, то прошивать его желательно из под Arduino 022, открываете Aeroquad.pde и у вас в окне появится прога на С++ и заголовочные файлы (куча целая).

В них вам надо будет задефайнить или раздефайнить ваши конфигурации, т.е выбрать вначале шилд, задать полётную конфигурацию, включить алгоритм определения углов, активировать ваши датчики. P.s по умолчанию основные датчики (гиры и аксели прописаны сразу и активны для конкретной конфигурации).

Потом выбрать во вкладке Tools - board вашу плату (справа появится список) и номер COM порта (Tools - serial port), ну собственно жмите кнопку Upload и через 15-50 сек прошивка скомпиленная зальётся в проц.
p.s Скомпиленную прошивку можно изъять при активной проге ардуино из папки windows - temp - build тут номер… длинный, прошивка всегда у вас будет называться aeroquad.cpp.hex (тока расширение не будет показано).

Далее нажмите Reset на шилде вашем, если такая кнопка есть и запустите программу Aeroquad_configurator 2.7 и выставьте скорость COM порта 115200 и номер COM порта.

P.s Подразумеваем что среда ардуино уже закрыта.

В конфигураторе активируется ваша плата и конфигурация… далее рекомендую посмотреть это видео, поможет при ознакомлении…

у вас почти такой же конфигуратор, тока автор там показывает мультипилот.

Ну и в заключении… вам придётся неоднократно обращаться к форуму аероквада или тут у народа Pid настройки клянчить, хотя для готовых конфигураций вроде как почти всё есть.

Ещё p.s тут тоже всё скачайте, это code.google.com/p/aeroquad/source/browse/ хранилище последних вариантов документации и софта, там же схемы и инструкции

Удачи! 😉

10 months later
Milchar

Доброе время суток! Не подскажите с таким вопросом, сам начал заниматься этим совсем недавно и столкнулся с такой проблемой - не хотят стартовать движки, т.е. при подключении напрямую через ресивер все замечательно, при подключении через Arduino с шилдом AeroQuad v2.1.2 ноль реакции, причем остальные модули (баро, аксель и пр.) работают нормально. Движки и ESC (LJLV700) от Scorpion. На движки сигнал какой-то идет, ибо без него они постоянно пищат.