Переходим с AVR на ARM

Covax

Предлагаю делится в этой теме новостями, решениями о желательно менее болезненном переходе с процессоров AVR (ардуины) на значительно более производительные ARM процессоры…

  1. Делимся инфо о ардуино-совместимых платках на ARM, на которых можно портировать популярные проекты типа Multiwii, Megapirates
  2. Делимся о новых достойных мультироторных проектах на ARM
SovGVD

полезная ссылка с хабры habrahabr.ru/blogs/controllers/123236/
там и про avr и про arm и про mips и всё вроде как совместимо с ардуинкой
и вот еще сравнение цен/возможностей habrahabr.ru/blogs/controllers/120611/
готовые контроллеры (ща в меня тру паяльщики помидоры кидать будут) можно например на сайте сидуинки заказать

Covax

НО для всех этих ардуино совместимых плат придется переписывать код, я правильно понимаю? Ардуино севместивость у них у всех на уровне подключения внешних платок, нет?

SovGVD

учитывая что и MW и MP используют всякие хаки avr, то переписывать придется
а вот кстатии AR.Drone летает на ARM и вроде как с Linux на борту, никто реверс инжинеринг не делал?

SovGVD
AlcoNaft43:

Ну мало ли кто не знает

не совсем осознал где заказать, сколько стоит и где исходники

funtik26

господа а какой нибудь проект из вышеприведенных закончен до состояния стабильно летающе зависающего коптера? просто развелось куча веток, а видеоролики сносного качества только от пираньи

SovGVD

на всех народ вполне стабильно летает, а на армы/мипсы пересесть хотим, чтобы еще лучше летать

AlcoNaft43
SovGVD:

а на армы/мипсы пересесть хотим, чтобы еще лучше летать

Ну или хотя бы не собирать прошивку под каждый аппарат. В том же опенпилоте одна прошивка содержит программы стабилизации на все типы ЛА. Качество математики тоже растет.

Covax

Ну я вчера был зол на мегапирата, пропустил сорри 😃 Но летает че то совсем не вкусно, тряска эта, видео по камере вообще трешак 😃

Siorinex

Сравнение по выводам Сидуина Мега и 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 в пятой группе контактов. Для совместимости - проще на плате расширения сделать контактную группу и подключать ту или другую платы…

Вот, вроде, и всё…
Итого: с МультиВием совместимость только при переносе на другие контакты…

SovGVD

причем тут совпадение дырок? сам код местами использует всякие таймеры-фигаймеры и хаки ардуино подобных платок… ИМХО тупо перекомпилить код не получится
но начать стоит с multiwii конечно =) там кода меньше

iBat

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

7 days later
Covax

Так это же знаменитый Vis с форума мультикоптер, ну как успехи? Будет какойто релиз для смертных?

Siorinex

Пробовал на Leaf залить 1.8 мультивия…

  1. Обматерился на библиотеку EEPROM.pde, которая линкует avr/eeprom.h
    Полез в гайд, выясняю, что АРМ eeprom тупо не имеет! Обходится флешем, а eeprom эмулируется через либу. Убрал EEPROM.pde из каталога, подкинул тот самый модуль сторонний для эмуляции. Вроде прокатило, по крайней мере некст наезд был уже на другую тему…

  2. “variable or field ‘blinkLED’ declared voidBad error line: -57” - что за фигня не понял - уж очень сильно спать хотелось…

vis_asta
Covax:

Так это же знаменитый 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 корпусов я точно не буду 😃. Заказывать где-то производство - не изучал пока во сколько это встанет всё. Но конечно надо бы получить на выходе продукт… Т.к. работы за полгода проделано немеряно просто…

Covax

Платы можно заказать в www.resonit.ru Хендмейд врятли кто купит 😃 Виктор, а утебя помоему автокалибровка коптера реализована (или у Несбита, не помню)? Я так понимаю коптер сам ПИДы по свою конфигурации подбирает, или это фантастика?

vis_asta
Covax:

Платы можно заказать в 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 убила просто нестабильность работы. Если за ним понаблюдать сутки 😃.
На тему автоподбора пидов - пока не занимался. стоит в планах. как дальнейший тонкий тюнинг. нет смысла ща на это тратить время, т.к. и так ну ооч доволен результатом и самим процессом, что всё получается как задумано 😃. Как будет нечто в виде продукта - можно будет спокойно уже заниматься доводкой софта… Мне главное получить расширяемую платформу, с которой можно делать что угодно дальше… А уж применения думаю что сами дальше найдутся 😃. Ну и оч нравится всё новое пробовать, а не тупо болтить примитивные леталки 😃.

Covax

В принципе сделать калибровку компаса перед полетом не сложно, бошевский теряет за сутки направления четко, но на коротком периоде вроде нормально работает.
Короче я думаю желающие поучаствовать в проекте найдутся, главное чтобы проект развивался.

vis_asta
Covax:

В принципе сделать калибровку компаса перед полетом не сложно, бошевский теряет за сутки направления четко, но на коротком периоде вроде нормально работает.
Короче я думаю желающие поучаствовать в проекте найдутся, главное чтобы проект развивался.

нестабильность мной замеченная - это когда компас вдруг на минуту перестаёт передавать вектор 😃. либо одну и ту же цифру, либо рандомайз… ну или на 10 сек или на 5 минут… непредсказуемо. У меня ща вот лежит десяток их буду еще пробовать… И давать на выбор либо с аналоговым либо с цифровым. Аналоговый мне кажется на порядок интересней. Тоже на HMC. У меня весьма стабильные цифры выдаёт на 250Hz кстати. ±0.5 градуса… с минимальным сглаживанием. вон на втором видео у меня я даже толком не знаю где перед и зад у коптера-то 😃. всё доверие только к компасу…

на тему желающих - никого адекватного не нашёл. Вон пытался что-то сделать со всем известным персонажем… Толку с него оказалось - только как с курьера 😃. Да еще и время своё потерял на его обучение. А инвесторы мне не нужны… Но при этом на его видео всё называется “НАШЕ”. 😃 Я же вообще нигде не фигурирую… Но это отдельная тема… 😃

SavosRU
Covax:

Короче я думаю желающие поучаствовать в проекте найдутся, главное чтобы проект развивался.

vis_asta:

на тему желающих - никого адекватного не нашёл

Что ты вкладываешь в понятие “адекватных”? Ибо среди “желающих” я бы себя заявил - мне интересно. Но вот достаточно ли я “адекватен” с твоей точки зрения???
😁😵

Covax

Уж не знаю на чем у вас там разошлись дорожки, но фраза “не нашел ни одного адекватного” настораживает ))))