MultiWii на atxmega (не arduino)

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МГц

SergDoc

Да уж действительно зас…ли человеку тему ни за что ни про что, проц тут как раз и неважен особо, если есть какие-то собственные наработки, ну у меня уже два ARMа и что дальше CC и MultiWii никуда не ускакал, для начала нужна идея, потом математика, далее уже примерять её к какому либо процу, AVR с магией Калмана справляются вполне (сам проверял), вобщем Сергей удачи!

mataor

Спасибо, полностью согласен что сейчас выбор процессора не особо влияет, влияет больше то с чего программист начнет и насколько полно он сможет функции процессора реализовать по максимуму.
Я начал с мультивия т.к. он просто был ближе всего по коду к АВР студии + чтобы не разбиратся с нуля как раз с альфа/бета или калмановским фильтром - т.е. взял за пример. Дальше - сейчас конечно точно не скажу что планируется в будущем, все будет делатся по ходу дела, думаю и идеи соответствующие появятся. А потом если получится что-то нужное для народа - вполне можно перенести код и на ардуино.

Кстати… есть что-нить нормально удобоваримое по фильтру Калмана (в смысле исходников)?

П.С. вчера наконец пришел сонар HC-SR04, седня-завтра буду его опробывать… собираюсь сделать через прерывание и таймер чтобы не грузить проц доп временем ожидания - чисто переменная с последним измеренным расстоянием.

П.С. 2: еще нужно будет разобратся таки с i2c - в данный момент все работает, но если датчик не подключать(или отвалится) - программа виснет на ожидании статуса)))

SergDoc
mataor:

еще нужно будет разобратся таки с i2c - в данный момент все работает, но если

wire? на атмеге прекрасно работало, вплоть до того что аксель вис, но шина не висла…

mataor
SergDoc:

wire? на атмеге прекрасно работало, вплоть до того что аксель вис, но шина не висла…

не, тут другое дело… прост там откуда я вытащил код i2c для хмеги в данный момент в цикле ждет изменения статуса обмена, устанавливаемого в прерывании, соответственно если устройство не отвечает - бесконецный цикл

SovGVD
mataor:

П.С. вчера наконец пришел сонар HC-SR04, седня-завтра буду его опробывать… собираюсь сделать через прерывание и таймер чтобы не грузить проц доп временем ожидания - чисто переменная с последним измеренным расстоянием.

уже сделано примерно год назад в megapirateng и после перенесено в кастомную multiwii прошивку, да еще и работает