MultiWii

Dimm168pin
mahowik:

смотрите какой подарок InvenSense готовит!!!
Hе просто набор сенсоров, а ИМУ в одном флаконе с ними, да еще и с учетом корреции дрифтов + автокалибровка компаса… мну фигеет…
так и должно быть в принципе. Чипы будут отдавать готовые величины (типа углы по всем осям), разгружая тем самым полетный контроллер на решение основных/своих задач, а не обсчитывая данные перефирии (сенсоров) как ето проиходит сейчас!

invensense.com/mems/gyro/mpu9150.html

The MPU-9150 is a System in Pacakge (SiP) that combines two chips: the MPU-6050, which contains a 3-axis gyroscope, 3-axis accelerometer, and an onboard Digital Motion Processor™ (DMP™) capable of processing complex 9-axis MotionFusion algorithms; and the AK8975, a 3-axis digital compass. The part’s integrated 9-axis MotionFusion algorithms access all internal sensors to gather a full set of sensor data without intervention from the system processor.

  • Digital-output 9-axis MotionFusion data in rotation matrix, quaternion, Euler Angle, or raw data format
  • Tri-Axis angular rate sensor (gyro) with a sensitivity up to 131 LSBs/dps and a full-scale range of ±250, ±500, ±1000, and ±2000dps
  • Tri-Axis accelerometer with a programmable full scale range of ±2 g, ±4 g, ±8 g and ±16 g
  • Tri-axis compass with a full scale range of ±1200µT
  • Reduced settling effects and sensor drift by elimination of board-level cross-axis alignment errors between accelerometer, gyroscope, and compass
  • Digital Motion Processing™ (DMP™) engine offloads complex MotionFusion, sensor timing synchronization and gesture detection
  • MotionApps™ Platform support for Android, Linux, and Windows
  • Embedded algorithms for run-time bias and compass calibration. No user intervention required
  • Digital-output temperature sensor
  • Digital input on FSYNC pin to support video Electronic Image Stabilization and GPS
  • Programmable interrupt supports gesture recognition, panning, zooming, scrolling, free fall interrupt, high-G interrupt, zero-motion detection, tap detection, and shake detection

пару дне назад на мой восторг по этому поводу tc сказал следующее : ya its boring

just mpu6000+hmc5883mag

inside same box
тем временем сам отжигает на новой самопальной карбоновой раме с IDG500 / ISZ500подключенными по аналогу к его платке afroctrl на stm8 )

Dimm168pin


кстати вот барахлишка набрал для порта multiwii на stm8, борда типа ардуины и пара таких же процов только в tqfp для удобства разводки, в пакетике 8ые меги tqfp для масштаба 😃

mahowik

Ну tc не прочитал наверное что там не только сенсоры 😃

sasha85ru
Dimm168pin:


кстати вот барахлишка набрал для порта multiwii на stm8, борда типа ардуины и пара таких же процов только в tqfp для удобства разводки, в пакетике 8ые меги tqfp для масштаба 😃

на we.easyelectronics.ru читал что у стм8 какие-то проблемы с формированием длительности импульсов, ели заниматся ножкодрыгательством. В какой-то теме там дрыгали ножками на асме и смотрели в осцилограф.
Стм32 мне кажется более ардуиноподобен, так для для него вроде бы есть нет микро фреймворк.

mahowik

про аль холд… смотрите чего чел. налабал
www.multiwii.com/forum/viewtopic.php?f=8&t=562&p=8…
баро сенсор аналоговый 2003 судя по дате даташита! + АЦП 16 бит

может признается менял ли код ИМУ и ПИД регуля…

igor_v_t

В МультиВии на моторы команды идут с дискретом 8 милисекунд Мне показалось, что это плохо и я ввел в программу изменение, обеспечивающее более высокую среднюю точность выдачи команд.

// Расчет значений величины сигнала на моторы
byte mot_matr[8][8]={
{ 0,1,1,1,1,1,1,1},
{ 0,0,0,0,0,1,1,1},
{ 0,0,0,1,1,1,1,1},
{ 0,0,0,0,0,0,0,1},
{ 0,0,1,1,1,1,1,1},
{ 0,0,0,0,0,0,1,1},
{ 0,0,0,0,1,1,1,1},
{ 0,0,0,0,0,0,0,0}};

r_mot = rightMotor /8 + mot_matr[b_time%8][(rightMotor)%8] ;
l_mot = leftMotor /8 + mot_matr[b_time%8][(leftMotor )%8] ;
f_mot = frontMotor /8 + mot_matr[b_time%8][(frontMotor)%8] ;
b_mot = backMotor /8 + mot_matr[b_time%8][(backMotor )%8] ;

// Выдача на моторы (вывод 9,10 )
analogWrite(9, f_mot);
analogWrite(10,b_mot);

// Выдача на моторы (вывод 5,6 )
atomicPWM_PIN5_highState = r_mot;
atomicPWM_PIN5_lowState = 255-atomicPWM_PIN5_highState;
atomicPWM_PIN6_highState = l_mot;
atomicPWM_PIN6_lowState = 255-atomicPWM_PIN6_highState;

В цикле должна быть команда
b_time++
И объявлена
byte b_time;

Мне показалось , что коптер полетел более плавно.

soliada
xalex1377:

Ребята подскажите какой параметр настраивает стабильность бародатчика

А в чем заключается нестабильность?

Dimm168pin
mahowik:

Ну tc не прочитал наверное что там не только сенсоры 😃

да он иногда не очень внимателен) но там где внимателен ,очень внимателен)

sasha85ru:

на we.easyelectronics.ru читал что у стм8 какие-то проблемы с формированием длительности импульсов, ели заниматся ножкодрыгательством. В какой-то теме там дрыгали ножками на асме и смотрели в осцилограф.
Стм32 мне кажется более ардуиноподобен, так для для него вроде бы есть нет микро фреймворк.

Сказать по правде по крайне мере на видео мне показалось что у него на одних гирах летает стабильнее чем у основной массы со всеми включенным и датчиками на резиночках и с балансироваными моторами и пропами)

xalex1377:

Ребята подскажите какой параметр настраивает стабильность бародатчика на hoverthings.com/…/quadrino-flight-controller-basic… в конфигураторе multiwii ver 1.9 и надо ли бародатчик чемто заклеивать?

если речь идет о bmp085 то его в идеале затолкать в коробочку на которую "не дует"и само отверстие закрыть паролонкой, короче принцип как у микрофонов, 😃 Что то в таком духе будет идеально www.ebay.com/itm/…/260928640082

xalex1377
soliada:

А в чем заключается нестабильность?

Получается вот что…когда я тумблер во время полета активирую его прижимает к земле, а потом бывает на верх взмывает. вообще какой принцип активации. в программе я пишу altitude 1м, по идее он при включении тумблера должен так и зависать не на 1 метре на на любой высоте. ну что то не получается, не знаю как правильно…???

devv
xalex1377:

в программе я пишу altitude 1м,

Картинку (скриншот) можно увидеть где вы это пишите ?

xalex1377
devv:

Картинку (скриншот) можно увидеть где вы это пишите ?

нет я на ноутбуке практикую, не знаю как тут принт скрин делать, p-1? i-0,004 d-10. это то что в этой строчке. и еще не пойму что за параметр VER

mahowik
xalex1377:

Ребята подскажите какой параметр настраивает стабильность бародатчика

попробуйте прошивку отсюда… rcopen.com/blogs/83206
там ПИДы уже прописаны на удержание высоты… но лучшего результата чем +/-1м трудно добиться, т.к. точность барометра bmp085 невысока (+/-1м вроде)

igor_v_t:

В МультиВии на моторы команды идут с дискретом 8 милисекунд Мне показалось, что это плохо и я ввел в программу изменение, обеспечивающее более высокую среднюю точность выдачи команд.

думаю если регули перепрошиты (на быстродействие) то возможно будет разница… в обычных регулях типа плюХ там фильтр на входе… т.е. врятли получится что-то лучшее… если не трудно выложите код в архиве или в спец теге [code] чтобы было понятно куда вставлять…

igor_v_t
mahowik:

думаю если регули перепрошиты (на быстродействие) то возможно будет разница… в обычных регулях типа плюХ там фильтр на входе… т.е. врятли получится что-то лучшее… если не трудно выложите код в архиве или в спец теге [code] чтобы было понятно куда вставлять…

Частота на выходе >500 Гц (500-650 на программных выходах и 490 на аппаратных, поэтому фильтры уже не мешают.) Вставлять в области выдачи на моторы. Я просто МультиВии не занимаюсь. Если кого-то заинтересует в конкретную прошивку помогу вставить. Как на МультиВии будет работать сказать сложно, но на платке Арду ИМУ 3 работает хорошо и от плат с выходами с нормальной точностью не отличается. Аппарат перестает дергаться. В соседней теме архивчик rcopen.com/forum/f123/topic263186 .

devv
xalex1377:

p-1? i-0,004 d-10. это то что в этой строчке.

Это параметры P I D
Не имеют отношения к метрам (Если пишем 1 в поле P то это не значит что надо зависнуть коптеру на 1 м от пола)

Covax
igor_v_t:

Если кого-то заинтересует в конкретную прошивку помогу вставить.

Вообще очень интересно Игорь, тут точно будет кому попробывать на своем железе!

leprud
mahowik:

поставьте yaw I в 0.03-0.08 и пробуйте сперва без магнетометра, потом с ним…

Увы, не помогло, хотя и стало лучше. Подозреваю, что проблема в связке рама-пропеллеры, потому что при “пролетах” боками влево-вправо наблюдается скручивание по yaw в разные стороны

gena_g

Вот для интересующихся вертолетным режимом на MultiWii выложили код под 90 и 120 градусов головы вертолетов.

devv

Залить MultiWii_1_9_a2 из Аrduino IDE (выбрал правильный сом порт) через БТ не смог
Решил по кабелю ЮСБ, по старинке.
Ошибка вылазила:
avrdude: stk500_getsync(): not in sync: resp=0x00
Как на этой картинке - robocraft.ru/uploads/images/5/2/…/80a68cee1c.jpg
Пока не отключил модель БТ не смог.
Уж думал ардуина наелась

SovGVD

через бт не залить прошивку никак (бт модуль не резетит ), при подключенном модулей блокируется/глючит работа usb/ftdi

Dimm168pin
SovGVD:

через бт не залить прошивку никак (бт модуль не резетит ), при подключенном модулей блокируется/глючит работа usb/ftdi

мож ftdi тогда отключалку приделать