MultiWii на atxmega (не arduino)

mataor

Народ с ветки MultiWii посоветовал создать свою ветку.
Что имеем:
Занимаюсь переделкой кода MultiWii под процессор atxmega128a3. В данный момент готова обработка датчиков-100%, IMU-100%, работа с конфигуратором -100%. Почему именно atxmega - потому что
а) переходим на нее на работе - вот чего с нее начал
б) довольно мощный и быстрый проц (у меня сейчас работает на кварце 7.3728 и множителе х6 - 44.2368МГц) с кучей интерфейсов
с) интересно не просто построить коптер, а больше интересно полностью разобратся в нем и “вылизать” код как можно ближе к совершенству
Кроме этого, во первых драйвера двигателей самодельные по i2c (считай нахаляву - все что нужно было на работе), во вторых пульт тоже самодельный, хотя пока что и не особо функционален - на основе джойстика от PS2 + граф дисплей от Nokia6100 + контроллер +приемо/передатчик(собираюсь через него обратную связь держать с коптером)

Собственно интересует - интересна ли и востребована ли моя задумка?

DVE

На правах имхо:

  • весь смысл open source - в большом количестве участников и доработок, поэтому если совместимости кода не будет, то смысла переходить на непонятно чьи исходники для большинства участников никакого, тем более травить под это новую плату под редкий проц.
  • i2c регуляторы сейчас практически неактуальны, кроме узкого сегмента, про самодельные пульты даже писать нет смысла
  • “просто чтобы летало” сейчас уже неактуально, куча плат ценой от 40$ которые уже летают. Доведите до ума какую-нибудь востребованную функцию, например GPS, полет по точкам, телеметрию, удержание высоты по сонару и барометру, автопосадка и пр. Тогда это будет действительно важно и востребованно, а не просто еще один клон. “Вылизывание” кода как самоцель, кроме автора, обычно мало кому нужно.
mataor
DVE:

На правах имхо:

  • весь смысл open source - в большом количестве участников и доработок

вот поэтому и спрашиваю

DVE:

поэтому если совместимости кода не будет, то смысла переходить на непонятно чьи исходники для большинства участников никакого

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

DVE:

тем более травить под это новую плату под редкий проц.

кстати разводка процессора оч удобная, для примера вот что сейчас у меня - но я делал чисто макетку (проц + FT232RL), без усилий обошелся односторонней платой, на второй стороне только перемычки под процессором земляные

DVE:
  • i2c регуляторы сейчас практически неактуальны, кроме узкого сегмента, про самодельные пульты даже писать нет смысла

а смысл было покупать если вся начинка в наличии, а 4 платы сделать - 1 час отсилы?

DVE:
  • “просто чтобы летало” сейчас уже неактуально, куча плат ценой от 40$ которые уже летают. Доведите до ума какую-нибудь востребованную функцию, например GPS, полет по точкам, телеметрию, удержание высоты по сонару и барометру, автопосадка и пр. Тогда это будет действительно важно и востребованно, а не просто еще один клон. “Вылизывание” кода как самоцель, кроме автора, обычно мало кому нужно.

как раз под вылизыванием я и понимал разные дополнительные функции. Мне как раз не нужно “просто чтобы летало”, мне прежде всего интересует не ручное управление - иначе я б и не начинал в коде ковырятся, меня интересует собственно самому полностью разобратся в том что уже есть, и во вторых Доделать до макс функциональной самостоятельности…

SergDoc
mataor:

кстати разводка процессора оч удобная, для примера вот что сейчас у меня - но я делал чисто макетку (проц + FT232RL)

Переходные отверстия под процем лучше не делать, да и дорожки там нежелательны…
Так для ознакомления платка 36Х36мм

mataor
SergDoc:

Переходные отверстия под процем лучше не делать, да и дорожки там нежелательны…
Так для ознакомления платка 36Х36мм

хм… а по вашему питающие линии тянуть вкруговую?
вообще эта платка разводилась на скорую руку + нужно было максимально удобно вывести порты (имеем 5 портов из 6 + питание на каждом разъеме - кроме порта А там упустил)+ хотел односторонку… у меня размер 55х55 получился

TimAU

Насколько я понял новое течение переход на ARM STM32 - например Rabbit, Afro32, FF, CopterControl

mataor

ну и попробуйте этот допустим ЛУТ-ом сделать… я лично правда делал фоторезистом
и вообще тут не на эту тему то разговор… свою плату я как уже говорил делал как макетку и до того как узнал про коптеры.

SergDoc
mataor:

ну и попробуйте этот допустим ЛУТ-ом сделать…

Готова и ждёт моторов rcopen.com/forum/f134/topic224458/295
Просто глюки потом искать плохо, а так всё на виду

mataor

прочел тему практически полностью, достаточно много интересных моментов.
собственно мне как раз наиболее интересна система стабилизации в коптерах.
сейчас жду моторы, пропеллеры и довольно бюджетную 10DOF платку датчиков (39$) с ebay, шасси не хватает только крепежа под аккум и ног, кстати пол недели пытался найти квадратную ал.трубку у нас в городе - бесполезно, нашел в рыболовном подсачек, из которого надыбал 8-ми стороннюю трубку 15мм диаметром (испоганил 2 подсачка - в каждом по 0.5м трубки)

gorbln
mataor:

кстати пол недели пытался найти квадратную ал.трубку у нас в городе - бесполезно

Это только так кажется. Строительный рынок, ищем достаточно крупный магазин с “метизы-профили” - и спрашиваем. Если есть крупные DIY сети типа OBI, Хоум-центр, К-раута - просто приходим и берём, без затей. А так - магазины типа “сделай сам” и “йуный техник” - там такое добро тоже всегда в наличии. На худой конец - взять круглую алюминиевую трубку и напилить каких-нибудь переходников из пластмассы

mataor

говорю - оббегал пол-города… стальной квадратной трубы - завались, а алюминиевой нету

TimAU

У кого нибудь есть готовый дизайн платы для STM32F4 c MPU6050, MS5611 и компасом?

SergDoc

А чё где-то 6050 раздают, я бы взял тогда бы и за платкой дело не стало 😃 F4 тоже ниочём не говорит какая именно? ног сколько? под какое ПО?

TimAU
SergDoc:

А чё где-то 6050 раздают, я бы взял тогда бы и за платкой дело не стало F4 тоже ниочём не говорит какая именно? ног сколько? под какое ПО?

Да их уже хоть попой кушай - вот на вскидку по 7баксов штука (14 пара) aliexpress.com/…/552718168-2pcs-MPU-6050-MPU6050-S…

А М4 такой что в дискаверях стоят STM32F407VGT6 www.st.com/internet/evalboard/product/252419.jsp - у нас их через елемент14 по 17 баксов продают, если береш 3 штуки то доставка бесплатно. Хочу от туда выпаять

ПО - а тут проблем не дожно быть, хош СС а хош Мультик от назе32

Sir_Alex
TimAU:

ПО - а тут проблем не дожно быть, хош СС а хош Мультик от назе32

ИМХО, не все так просто… надо код пилить под этот проц, но это конечно проще чем AVR->ARM32

По поводу топика: Не понимаю зачем начинать разработку на проце, который ни один софт не поддерживает (и навряд ли будет) и тем более не пойдет в массы. Если что то и начинать делать так это на STM32F4.
6050 так же устаревшая микросхема, лучше закладывать 9150, а еще лучше подождать Nemo от ST…

TimAU
Sir_Alex:

Если что то и начинать делать так это на STM32F4.

Так это он и есть STM32F407VGT6

Sir_Alex:

6050 так же устаревшая микросхема, лучше закладывать 9150, а еще лучше подождать Nemo от ST…

6050 можно сказать только появилась, новье!!! то что аннонсорована в прошлом году это нифига не значит. а 9150 так он еще не продается, нафиг он нужен, его еще и не щупал никто

Sir_Alex:

ИМХО, не все так просто… надо код пилить под этот проц, но это конечно проще чем AVR->ARM32

Ниче там пилить не надо, ужо 32 бита арм.

Gapey
Sir_Alex:

6050 так же устаревшая микросхема, лучше закладывать 9150, а еще лучше подождать Nemo от ST…

6050 только в этом году стала ОТНОСИТЕЛЬНО ЛЕГКО доступна … 9150 закладывать конечно можно , но на них даже ПДФа нет на сайте производителя , те пока доступны только ИНЖЕНЕРНЫЕ версии чипа …подождать Nemo от ST тоже можно , но так ждать можно до бесконечности …
нужно делать код под мощный проц (притом проц обычно выбирается тот который уже знает разработчик) и разные наборы датчиков ( как у мультивиая) , вот тогда это пойдет в массы …

SergDoc
TimAU:

Ниче там пилить не надо, ужо 32 бита арм.

CC - пилить неперепилить он чисто под свой проц заточен…

TimAU
SergDoc:

CC - пилить неперепилить он чисто под свой проц заточен…

А мы на него revo нальем в крайнем случае, он как раз на M4 😃 Хотя мультик тож неплох, шас таймкоп его долижет только…

Чтото темка не там где надо растет, может ее админам сдвинуть куда надо (контроллер своими руками…)

Sir_Alex
Gapey:

6050 только в этом году стала ОТНОСИТЕЛЬНО ЛЕГКО доступна … 9150 закладывать конечно можно

Дело в том, что 9axis DMP на 6050 похоже не будет никогда, так что его только как два датчика в одном корпусе использовать.
9150 - вроде получше, но его так же никто не щупал… может будет та же ситуация как и с 6050.

Gapey:

нужно делать код под мощный проц (притом проц обычно выбирается тот который уже знает разработчик) и разные наборы датчиков ( как у мультивиая) , вот тогда это пойдет в массы …

Главное, что бы массы то же знали этот проц 😃 Тогда действительно пойдет, Реальный пример Наза32 от Таймкопа - очень неплохая платформа для старта.

rual
Sir_Alex:

Главное, что бы массы то же знали этот проц Тогда действительно пойдет, Реальный пример Наза32 от Таймкопа - очень неплохая платформа для старта.

А зачем в массы? Человек мож для себя делает? А спрашивает для того чтоб на чужие грабли не наступить.

Gapey
Sir_Alex:

Дело в том, что 9axis DMP на 6050 похоже не будет никогда, так что его только как два датчика в одном корпусе использовать.

похоже на то … развечто инвенсенс родит под это дело свой компас в отдельном корпусе…
использовать нужно произвольный/пополняемый набор датчиков … если нехватает проца - ставим два … у опенпилотов изначально была правильная идея с выделенным AHRS … вот туда и ставить STM32F4 … а остальное типа радиотракта , телеметрии , формирование управляющих сигналов на моторы , навигация и т п оставить второму процу … там можно и атмегу оставить , если сильно захочется …

как вариант в качестве базовой платформы можно использовать LRS от слона , платки приемников впринцепе позволяют припаять STM32F4ххRxxx вместо STM32F205RGT6 … стандартная IMU 10 DOF спокойно вешается на I2C … ну и ЖПС на компорт … 15 выходов на сервы/моторы уже разведены … что ишшо нужно для счастья ???

mataor
Sir_Alex:

Не понимаю зачем начинать разработку на проце, который ни один софт не поддерживает (и навряд ли будет) и тем более не пойдет в массы.

Что вообще понимается под словами “ни один софт не поддерживает”? Код пишеццо в авр студии на либах которой работает ардуина

А по процессору - да, не так сильно всем известен как остальные, разрядность не 32 а 8/16, но вот функционал огромен, да и думаю он более предназначен для задач коптеров чем 32-х разрядные армы, количество интерфейсов позволит подключать какие угодно датчики…
Начинка:
ParameterValue
Flash:128 Kbytes
Pin Count:64
Max. Operating Frequency:
~50 MHz
CPU:8-bit AVR
Max I/O Pins:50
Ext Interrupts:50
SPI:4
TWI (I2C):2
UART:7
Timers:7
Output Compare channels:22
Input Capture Channels:22
PWM Channels:22
ADC channels:16
ADC Resolution (bits):12
ADC Speed (ksps):2000
Analog Comparators:4
DAC Channels:2
DAC Resolution (bits):12
Temp. Sensor:Yes
Crypto Engine:AES/DES
SRAM (Kbytes):8
EEPROM (Bytes):2048
Self Program Memory:YES
picoPower:Yes
Temp. Range (deg C):-40 to 85
I/O Supply Class:1.6 to 3.6
Operating Voltage (Vcc):1.6 to 3.6
32kHz RTC:Yes
Calibrated RC Oscillator:Yes

У меня сейчас пашет на кварце 7.3728 на частоте 44.2368МГц