MultiWii

mahowik
alexmos:

Да, продумал уже на черновую - барометр нужно оставлять независимо работать, и переключаться на него при порогах ошибок или расстояния… Но все равно придется разобраться, как он там работает.

eto da, v IMU dlya barometra ispolzuetsya integrator i ego nelzya otrubat’, a lish’ perekluchat’sya na nego… est’ kstati ideya v sluchaye s sonarom ispolzovat’ totzhe integrator (kotoriy v IMU), no togda dlya baro nado vichislyat’ offset, chtobi sonar i baro bili v odnoy shkale visot, t.e. zemlya=0 i t.d.

alexmos
mahowik:

no togda dlya baro nado vichislyat’ offset, chtobi sonar i baro bili v odnoy shkale visot, t.e. zemlya=0 i t.d.

Да-да, я тоже включил блок коррекции баро по сонару в схему обработки, но потом он оказался не нужным, т.к. проще соединить управляющие сигналы уже после PID-ов, а для нх нужна разница высот, и даже одинаковые шкалы не важны, т.к. это корректируется в P.

PS: пиши в личку, чтобы не засорять тему.

mahowik

est’ odin minus, esli ispolzovat’ razlichnie/otdelnie PID reguli dlya sonara i baro… pridetsya dlya kazhdogo is regulyatorov svoi parametri v GUI derzhat’…

a temu etim dumayuy ne zasoryaem, a naoborot piarim MultiWii 😉 + mot esche kto podtyanetsya s myslyami poleznimi po etomu povodu. Potomu ya storonnik derzhat dannogo roda perepiski cherez forum kak raz. Naprimer ofical’niy forum, gde mnogie momenti realizavii novih idey obsuzhdayut otkrito…
tak skazat’ “Open Source” = “Open Ideas”!!! 😉

Chester_kz

Спасибо всем кто откликнулся на мою проблему. Перепробовал все результат тотже не хватает тяги на взлет даже на полном газе.
Прошику ставил голую. Экспоненту с газа убрал. Регули перекалибровал. Расходы с 1074 по 1911 на передачике. MAX газ стоит на 1900.
Повторюсь на куке все полетело, на пределе (маторы маловаты для моих 168 грам полетного веса) но полетел с вии не получается.
Не могу понять где я туплю…

Dimm168pin
Chester_kz:

Спасибо всем кто откликнулся на мою проблему. Перепробовал все результат тотже не хватает тяги на взлет даже на полном газе.
Прошику ставил голую. Экспоненту с газа убрал. Регули перекалибровал. Расходы с 1074 по 1911 на передачике. MAX газ стоит на 1900.
Повторюсь на куке все полетело, на пределе (маторы маловаты для моих 168 грам полетного веса) но полетел с вии не получается.
Не могу понять где я туплю…

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

Chester_kz
Dimm168pin:

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

Интресный вариант. Но насколько я знаю процесс муторный и не легкий как вариант не все регули переживут мои кривые ручки.
Опять таки шас у меня цель полететь как на куке. А где в прошивке менять частота передачи сигнала на регули? Предпологаю что кук на 50Hz работает а мультиви, возможно, больше дает… возможно в этом глюк. Регули просто не успевают отработать сигнал в купе с моторами? Что думаете?

mahowik
Chester_kz:

Перепробовал все результат тотже не хватает тяги на взлет даже на полном газе. Прошику ставил голую. Экспоненту с газа убрал. Регули перекалибровал. Расходы с 1074 по 1911 на передачике. MAX газ стоит на 1900.

попробуйте MAXTHROTTLE в 2000 выставить… надеюсь не сгорит ниче потому на свой страх…

/* this is the maximum value for the ESCs at full power
   this value can be increased up to 2000 */
#define MAXTHROTTLE 1900
soliada

Спасибо за проделанную работу.Есть вопрос.Т.к использую немного иные датчики,хотел уточнить по внутренним НЧ фильтрам акселей,как я понял лучше выставить в 25HZ и для гироскопа поднять до 400HZ?

Chester_kz
mahowik:

попробуйте MAXTHROTTLE в 2000 выставить… надеюсь не сгорит ниче потому на свой страх…

/* this is the maximum value for the ESCs at full power
  this value can be increased up to 2000 */
#define MAXTHROTTLE 1900

Вообшем все попробовал не летит. ( Буду покупать другие моторы. Старые на куке хоть и летали но на пределе… ждем окончания праздников в китае.

leprud

Чет я забыл совсем уже все… Кто подскажет?
Взлетаю в режиме гиро+акселерометр+магнетометр, висим ровно, но по yaw идет небольшой дрейф.
Кроме триммеров есть еще варианты исправления?

прошивка 1.9 релиз, калибровки все проводил конечно же

SovGVD
leprud:

Кроме триммеров есть еще варианты исправления?

тримеры чтоб 1500 было + deadbaund (deadband или как там), чтобы косяки аппы сглаживались по yaw

leprud

Субтримами выставлено 1500 везде, дедбенд=15
При висении значения акселерометра и гироскопа отклоняются максимум на ±10

mahowik
leprud:

Чет я забыл совсем уже все… Кто подскажет?
Взлетаю в режиме гиро+акселерометр+магнетометр, висим ровно, но по yaw идет небольшой дрейф.
Кроме триммеров есть еще варианты исправления?

прошивка 1.9 релиз, калибровки все проводил конечно же

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

alexmos

Подключите ГУИ, держите коптер в руках в одом положении и давайте газу для висения. Если компас пойдет в дрейф в ГУИ - значит наводки на компасс от силовых проводов. У меня именно так - есть небольшие наводки, но это не особо страшно.

Ещё вариант: коптер стоит на полу, поднимаю на метр - компас уходит на 30 град. Железобетон, ничего не поделаешь. Компас ОЧЕНЬ чувствителен к металлу. В новых версиях может сделают автокалибровку в полете, есть такие идеи на форуме оф. сайта.

У меня же возникла такая идея: Сделать новый режим “Коррекция ветра” - для случая FPV на открытой местности и большой высоте, где ветер практически постоянен. Выставляем коптер неподвижно против ветра, включаем этот режим и отпускаем ручку ROLL-PITCH. Текущий вектор коррекции запоминается, и при любых повотортах автоматически добавляется к управлению. Также при прямолинейных движениях не надо будет все время учитывать ветер. Естественно, компас обязателен. Есть ли смысл, что думаете?

SovGVD

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

kedrikov
Chester_kz:

Вообшем все попробовал не летит.

Была подобная ситуация вот только как вылечил сам непонял:)
Что у вас с вибрациями? В графиках гиры нет острых пик когда моторы работают .Регули еще разок перекалибруйте и желательно одновременно все через Yx2 переходник.И прошивку попробуйте от тов.mahowik мне она понравилась.

PS когда настраивал свой была такая необъяснимая фигня.Нехотел он лететь с пидами выше чем 2-5-5(примерно)бдолго парился с ними,немножко поднему пиды все дергается как паралечный.После долгих танцев с бубном (прошивание,калибровка,устранение вибраций) он в один прекрасный момент полетел с пидами 4,5-40-25 очень красиво и ровно.Так что больше терпения и упорства все получится 😃

mahowik
alexmos:

У меня же возникла такая идея: Сделать новый режим “Коррекция ветра” - для случая FPV на открытой местности и большой высоте, где ветер практически постоянен. Выставляем коптер неподвижно против ветра, включаем этот режим и отпускаем ручку ROLL-PITCH. Текущий вектор коррекции запоминается, и при любых повотортах автоматически добавляется к управлению. Также при прямолинейных движениях не надо будет все время учитывать ветер. Естественно, компас обязателен. Есть ли смысл, что думаете?

сама идея хороша, но тут соглашусь с Глебом что из-за не постоянности ветра будет плыть… тоже самое с моей идеей про extended level mode, если помниш, т.е. я его всеж написал и в безветрие даже работает, далеко не идеально но всеж ))

rcopen.com/forum/f123/topic253229

з.ы. опять попробую пообещать выложить видео 😃

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
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;

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