Переходим с AVR на ARM
Предлагаю делится в этой теме новостями, решениями о желательно менее болезненном переходе с процессоров AVR (ардуины) на значительно более производительные ARM процессоры…
- Делимся инфо о ардуино-совместимых платках на ARM, на которых можно портировать популярные проекты типа Multiwii, Megapirates
- Делимся о новых достойных мультироторных проектах на ARM
полезная ссылка с хабры habrahabr.ru/blogs/controllers/123236/
там и про avr и про arm и про mips и всё вроде как совместимо с ардуинкой
и вот еще сравнение цен/возможностей habrahabr.ru/blogs/controllers/120611/
готовые контроллеры (ща в меня тру паяльщики помидоры кидать будут) можно например на сайте сидуинки заказать
НО для всех этих ардуино совместимых плат придется переписывать код, я правильно понимаю? Ардуино севместивость у них у всех на уровне подключения внешних платок, нет?
учитывая что и MW и MP используют всякие хаки avr, то переписывать придется
а вот кстатии AR.Drone летает на ARM и вроде как с Linux на борту, никто реверс инжинеринг не делал?
Ну мало ли кто не знает 😃 openpilot.org/…/openpilot-coptercontrol-platform/
Ну мало ли кто не знает
не совсем осознал где заказать, сколько стоит и где исходники
господа а какой нибудь проект из вышеприведенных закончен до состояния стабильно летающе зависающего коптера? просто развелось куча веток, а видеоролики сносного качества только от пираньи
на всех народ вполне стабильно летает, а на армы/мипсы пересесть хотим, чтобы еще лучше летать
а на армы/мипсы пересесть хотим, чтобы еще лучше летать
Ну или хотя бы не собирать прошивку под каждый аппарат. В том же опенпилоте одна прошивка содержит программы стабилизации на все типы ЛА. Качество математики тоже растет.
Странно парни, или не хотите делится, или не знаете 😃
Конечно я слышал краем уха про мультипайлот32, но вот сейчас наткнулся на него на rcgroups:
www.rcgroups.com/forums/showthread.php?t=1392387
по видео чет не нравится как летает…
Странно парни, или не хотите делится, или не знаете
Я вчера ссылку на это устройство давал. rcopen.com/forum/f123/topic232641/1527 😃
Ну я вчера был зол на мегапирата, пропустил сорри 😃 Но летает че то совсем не вкусно, тряска эта, видео по камере вообще трешак 😃
Сравнение по выводам Сидуина Мега и LeafLabs Maple r5
первое - Сидуина, через дефис - мэпл на том-же контакте
Контактная группа 1 (Power):
RST - RST
3V3 - VCC
5V - VDDA
GND - GND
GND - GND
Vin - Vin
Контактная группа 2 (0-7)
0 (RX0) - 0 (PWM, AIN, RX2)
1 (TX0) - 1 (PWM, AIN, TX2)
2 (PWM) - 2 (PWM, AIN)
3 (PWM) - 3 (PWM, AIN)
4 (PWM) - 4
5 (PWM) - 5 (PWM)
6 (PWM) - 6 (PWM)
7 (PWM) - 7 (PWM, TX1)
Контактная группа 3:
8 (PWM) - 8 (PWM, RX1)
9 (PWM) - 9 (PWM)
10 (PWM) - 10 (AIN)
11 (PWM) - 11 (PWM, AIN)
12 (PWM) - 12 (PWM, AIN)
13 (PWM) - 13 (AIN)
GND - GND
AREF - 14 (PWM)
Группа 4
A0 - 15 (AIN)
A1 - 16 (AIN)
A2 - 17 (AIN)
A3 - 18 (AIN)
A4 - 19 (AIN)
A5 - 20 (AIN)
A6 -
A7 -
Остальное - не совпадает совсем…
Соответственно, в МультиВие задействованы:
A8-A15 - РУ. Можно перенести на A0-A7 для совместимости, один фиг последние два канала “not used”.
2-8 - моторы. В принципе - можно оставить без изменений, не считая 4: кажется на Лифе он в ШИМ не работает…
A0-A1 - стабилизатор камеры. Потенциально можно перенести куда-то ещё, что-бы оставить аналоговые входы для РУ. К примеру - на те-же 0-1, но второй группы, или куда-либо ещё: зачем занимать под стабилизатор аналоговые входы - я фз!
A3 - замер LiPol. Опять-же - можно перенести, хотя-бы на дополнительную группу контактов.
13 - индикация состояния, не мешает.
12 - питание, которое большинство всеравно берёт с 3v3 или 5 вольт для некоторых датчиков. В принципе - и не мешает.
31 - индикатор разряда батареи. Можно перенести.
SCL-SDA - на Лифе - 29-30 в пятой группе контактов. Для совместимости - проще на плате расширения сделать контактную группу и подключать ту или другую платы…
Вот, вроде, и всё…
Итого: с МультиВием совместимость только при переносе на другие контакты…
причем тут совпадение дырок? сам код местами использует всякие таймеры-фигаймеры и хаки ардуино подобных платок… ИМХО тупо перекомпилить код не получится
но начать стоит с multiwii конечно =) там кода меньше
А еще библиотеки стандартные и не очень используются. А значит либо искать аналог, переписывать вызовы. Либо вообще самому соответствующий функционал реализовывать.
вот у меня тут летает на ARM stm32f103 :
гиры 610е
а тут свежее ревизия платки. проц тот же. гиры только 500е пара.
контроллеры i2c. на первом видео 2.0 немцы. на втором - все разные 😃.
hoch, 2.0, и 1.2 немцы
Так это же знаменитый Vis с форума мультикоптер, ну как успехи? Будет какойто релиз для смертных?
Пробовал на Leaf залить 1.8 мультивия…
-
Обматерился на библиотеку EEPROM.pde, которая линкует avr/eeprom.h
Полез в гайд, выясняю, что АРМ eeprom тупо не имеет! Обходится флешем, а eeprom эмулируется через либу. Убрал EEPROM.pde из каталога, подкинул тот самый модуль сторонний для эмуляции. Вроде прокатило, по крайней мере некст наезд был уже на другую тему… -
“variable or field ‘blinkLED’ declared voidBad error line: -57” - что за фигня не понял - уж очень сильно спать хотелось…
Так это же знаменитый Vis с форума мультикоптер, ну как успехи? Будет какойто релиз для смертных?
про тот форум можно забыть 😃. владелец того форума не понимает в принципе слова “правда” и “другое мнение”. Бедняга, аж ip мой забанил…
а на тему релиза : сейчас всё переделываю 😃. Точнее уже переделал. Видео как летает сделаю в ближайшее время.
Итог: платка 90х90, ~1200 выводов, ~292корпуса, stm32f2хх. 2 канала i2c. 16pwm выходов. пока только s.bus или спектрум. Любому мотору можно назначить свой канал либо i2c либо pwm. pwm до килогерца. Буквально вчера проверил квадрик с тремя i2c и одним pwm плюшем 25А (12$ на HC) на 500Hz pwm + s.bus на t8fg. всё отлично и мягко.
ну оч много интересного и “вкусного” получилось… 😃 осталось дотюнить барометры и гпс.
Платка вроде хорошая получилась. Ничего в ней не пришлось перерезать и проводками перекидывать… Есть небольшие замечания только по размерам под корпуса… Оч много проблем было с переводом кода под опенсорсовую RTOS… и под 2хх проц…
Если интересно - поделаю видео как оно теперь летает и как выглядит 😃
А на тему ардуин и мапле - я как-то уже быстро вырос из этого… Максимум их юзать для какой-ть переферии простенькой.
Лучше всё делать руками под какую-ть RTOS (кокос или free)…
Все можно сделать на основе примеров из STM32F10x_StdPeriph_Lib_V3.4.0 или аналогичной под 2хх проц…
у меня на 207м проце сейчас 40% загрузка проца уже… А на 103м было под 75%…
ADC на maple будет никакое… руками через DMA на порядок лучше цифры.
maple - отличный продукт для начала изучения темы. если кто-то хочет с нуля начать хоть что-то делать 😃.
мультипилот32 в этом смысле интересное творение.
На тему “в массы” - да фиг знает. Хотя по себестоимости, функционалу и результатам получается ну оооч интересное решение. Самому паять платки - оч гиморно. Ради 50$ профита паять 2 дня в платку 300 корпусов я точно не буду 😃. Заказывать где-то производство - не изучал пока во сколько это встанет всё. Но конечно надо бы получить на выходе продукт… Т.к. работы за полгода проделано немеряно просто…
Платы можно заказать в www.resonit.ru Хендмейд врятли кто купит 😃 Виктор, а утебя помоему автокалибровка коптера реализована (или у Несбита, не помню)? Я так понимаю коптер сам ПИДы по свою конфигурации подбирает, или это фантастика?
Платы можно заказать в www.resonit.ru Хендмейд врятли кто купит 😃 Виктор, а утебя помоему автокалибровка коптера реализована (или у Несбита, не помню)? Я так понимаю коптер сам ПИДы по свою конфигурации подбирает, или это фантастика?
Если заказывать произоводство в Резоните, оч сильно подозреваю, что цена будет слишком высокой, чтобы еще и себе что-ть осталось. Стрёмно как-то сразу большую партию заказывать-то. Для начала нужно хотя бы человекам пяти дать на пробы железо-то…
дальше… я в принципе всё писал на форуме “Божественного Эндрю” 😃. Да он там всё потёр, как только его ткнули носом в его же дерьмо.
у Билла нет автокалибровки 😃. У него нет автоподбора пидов. У него вообще параметров калибровочный немеряно. Он смотрел в сторону логики VN100, но так и не срисовал всё с неё… 😃. Я имею ввиду калибровку в широком температурном диапазоне… А калибровка коптера у него - это весьма эротичный процесс… Т.к. калибровка основывается на постанализе полётной инфы. Его же наземным софтом, который он никому не даёт 😃.
Т.е. так как у него коптер летает ТОЛЬКО У НЕГО 😃.
Кстати вот его слова:
Victor,That is amazing. It flies just like an AutoQuad [IMG]file:///Default/smile.gif[/IMG] Quite impressive that you managed all of that
у меня сейчас пиды подобраны так, что на всём железе, на чём я пробовал - аппарат стабилен (штук 5 разных рам). на данном этапе это важно. Вероятность применения коптера в широком температурном диапазоне оч сомнительна, чтобы слишком сильно парится с калибровками 😃.
Я уже попробовал с 4мя разными гирами - ± одинаково себя ведет он. с 610ми лучше всего чисто по ощущениям, всё мягко, но дорогие гиры. дальше 500е - ооч достойно (корректировал амплитуду и добавлял фильтр). и пробовал еще с 6DOF-Razor-v12 (LY530ALH с lpr530al), с которыми тоже нормально всё было даже без коррекции амплитуды (4х выход). ну и 3200 i2c (моё мнение: полное г.).
От акселя особо ничего не зависит в общем… Пробовал разные. Можно и цифровой ставить, как у опенпилотов кстати.
Пробовал разные компасы. Хуже всех - немецкий в МК. 😃 у i2cшного HMC убила просто нестабильность работы. Если за ним понаблюдать сутки 😃.
На тему автоподбора пидов - пока не занимался. стоит в планах. как дальнейший тонкий тюнинг. нет смысла ща на это тратить время, т.к. и так ну ооч доволен результатом и самим процессом, что всё получается как задумано 😃. Как будет нечто в виде продукта - можно будет спокойно уже заниматься доводкой софта… Мне главное получить расширяемую платформу, с которой можно делать что угодно дальше… А уж применения думаю что сами дальше найдутся 😃. Ну и оч нравится всё новое пробовать, а не тупо болтить примитивные леталки 😃.