MultiWii
вот тут неполучается, при включенном нунчаке
Тоже мучался
1 выставляем чтобы в ГУИ были нули
2 если у вас проседает задний луч то подкладываем под него брошурку чтобы в ГУИ изменилось значение этого луча
на 1-2 единици при этом остальные значения должны остаться в нулях
3 теперь “калибрате” и подлетнуть
у меня только так получилось откалибровать
Сдела новую раму для своего multiwii контролера. Не подскажите мне какой лутше выбрать вариан + или х коптера. Растояние от мотора до мотора 56 см. Движки KD20-22
ничего не понимаю, как не может быть эффекта на триммер?
Сергей, не поверишь, элементарно.
В режиме автолевел канал с передатчика и выход IMU PID суммируются. Т.е. при наличии ненулевой интегральной составляющей все отклонения рано или поздно сведутся на нет. Равно как и разбаланс конструкции (все видели видео, как лишнюю батарейку сбоку вешали?). Т.е. если уровень откалиброван со смещением, оно будет плыть туда, хоть ты тресни.
По-хорошему, в режиме стабилизации каналы наклона стоило бы завести как поправки к целевым уровням крена и тангажа прямо в IMU.
А пока, чтобы триммеры действовали, приходится level I ставить в 0. Сам напоролся, когда треху в зале колотил.
Подключил наконец то нунчак. И поймал трабл: При подключенном нунчаке переходник USB - COM не определяется … что за … фигня?
данные от нунчака скачут до 400. Надо “придушить” ?
Мой пэпэлац полетел таки с гироскопом с дилэкстрима и bma020. Так что проблемы были в конкретном экземпляре WMP.
Пробовал на прошивке 1.6 и последней 1.7prebis
Самое интересное - он тоже на 3205, но делить ничего не пришлось, итак все данные в правильном количестве приходят 😛
Как потеплеет и поменьше ветра будет - пойду на улицу настраивать PID, пока практически в дефолте.
Еще заметил странное поведение при подключении питания к коптеру. Питание у меня организовано так: с силового аккумулятора всё разведено по контроллерам моторов, с силового же аккумулятора напрямую идет питание на seeeduino. Далее с одного из контроллеров моторов 5вольт идет на приемник. Питалово гироскопа и акселя идут через pin12 3.
Проблема следующая: периодически при подключении аккумулятора начинается какой-то тупняк и регуляторы моторов переходят в режим программирования, в этом случае у них сбрасываются некоторые настройки, чаще всего включается тормоз. Полагаю это из-за особенностей питания, примерно так: сидуина еще не прогрузилась, а на регули уже пошел какой-то непонятнный сигнал, отсюда и режим программирования включается.
Как можно решить эту проблемку, посоветуйте? А то у меня всё распаяно и каждый раз разбирать коптер, выпаивать проводки, и программировать контроллеры очень геморно :\
А регули какие? Сидуина мега?
Может попробывать в цикл в прошивке добавить условие подавать сигнал на регули начиная с какого-то определенного значения, а не сразу с момента запитки ардуины, не с нуля. Смысл понятен о чем я?
Залез в прошивку, вот например поставить в самом начале скетча такой код:
for (delay = 0; delay < 10000; delay++) {
}
я правда не знаю, 10000 это много или мало, но смысл в том, что не закончись этот цикл не пойдет инициализация сенсоров, моторов и т.д. Олег Сайбериан у нас крутой программер, пусть скажет свое мнение.
Смысл понятен о чем я?
seeeduino mega
регули HK blue series
Смысл то мне понятен, но не уверен, что сам справлюсь с реализацией
Мой пэпэлац полетел таки с гироскопом с дилэкстрима и bma020. Так что проблемы были в конкретном экземпляре WMP.
Рад за Вас, получается лоторея не только с нунчаками но и с WMP.
Бывалые, вопрос: отключенный тумблером с пульта автолевел полностью отключает нунчак или он продолжает влиять на гироскоп и поведение коптера в целом?
ну то что время обработки сигнала с ним возрастает вдвое это факт, поэтому лучше нунчак сразу вешать с джампером по питанию, чтобы можно было иногда его отключать на уровне железа.
for (delay = 0; delay < 10000; delay++) {
}
лучше в setup() {} добавить в начало delay(нужное количество милисекунд);
ну то что время обработки сигнала с ним возрастает вдвое это факт
Да, точно, без него примерно 3000 , с ним 6000, упустил из вида, спасибо.
Давайте поставим точку по конкретным датчикам (ITG 3205) на конкретных платах (фото ниже) , летают они у кого или нет, именно "летают " или нет, потому как на столе в GUI ведут себя замечательно! Насчитал минимум троих с такими платами.
"летают "
Да, летает (+ВМА020)! Коптер запускал в комнате и несколько раз на улице блинчиком. Сегодня подключил чип 3205 как 3200 и залил новую прошивку 1.7претер. Мельком взглянул - вроде пропатченая. Показания не делил, только сменил +roll на -roll. Все работает плавно, без overflow. wbb.multiwii.com/viewtopic.php?f=6&t=27&start=20 Питание напрямую +3.3В, причем, скосячил, и подал его сразу на подтягивающие резисторы, где автор на картинке обозначил +2.8В.
Удивительно, впервые вижу такую “правильную” картинку в ГУИ. В покое всё оси = 0, при наклонах мнемосхема повторяет движение коптера абсолютно синхронно! До хака 3205–>3200 мнемосхема могла запаздывать, заваливаться и плавно принимать нужное положение. Сейчас всё работает как часы.
Показания не делил, только сменил +roll на -roll.
Борис, это актуально только для itg3205(3200)?
Попробывал на улице.
поведение странное, иногда сам наклонится и полетит то вперед то назад, иногда просто дернется как следует и выравнивается.
на видео немного видно.
что порекомендуете?
Помучаю немного…
Да, летает (+ВМА020)!
Какая ардуина, чем запитана, с какого пина уходит питание на WMP + выложите скетч пожалуйста с этого сетапа.
Сегодня подключил чип 3205 как 3200 и залил новую прошивку 1.7претер.Все работает плавно, без overflow.
С ВМА020 или только WMP, тест на столе или подлетнули?
это актуально
Думаю, метод работает во всех необходимых случаях. Добавлю, что сменил 2 оси и один знак. Платы не трогал вообще. При рабочем положении “как для ВМП+ВМА020” нужно в коде для 3200 сделать так:
gyroADC[PITCH] = - ( ((rawADC_ITG3200[2]<<8) | rawADC_ITG3200[3])/5/4 ); //поменял Питч и Ролл местами, у Ролл сменил знак. Делители не трогал.
gyroADC[ROLL] = - ( ((rawADC_ITG3200[0]<<8) | rawADC_ITG3200[1])/5/4 );
gyroADC[YAW] = + ( ((rawADC_ITG3200[4]<<8) | rawADC_ITG3200[5])/5/4 );
--------
А вот эта строчка в разделе 3200 интересная: TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz
Аксель ВМА020 вроде нормально работает. Нужно копаться.
Помучаю
Freeduino 2009 328р, запитана от силового аккумулятора.
ВМП и ВМА020 питаются от пина 3.3В
Я всегда использую ВМП + ВМА020, потому что летаю блинчиком.
Тест в руках.
Прошивка 1.7preter. Ничего не патчил. Задал, что использую #define ITG3200 и #define ВМА020. Возможно, придется покрутить оси и знаки в разделе 3200: gyroADC[PITCH] = + - и т.д.
Вот, все таки руки дошли сделать аккуратную проводку на квадрике, запаять мою сиидуино на шилд от Jussi (через этот шилд обещают в дальнейшем сделать поддержку ArduCopter, ArduPirates, BaronPilot, Aeroquad), сделать хорошую виброразвязку датчиков и немного полетать. В режиме акро и левел теперь летает отлично (пока только дома).
Разобрался со своим перевёртыванием всё дело в акке и движке.Просмотрев данные логера,обнаружил,что в последние секунды полёта,квадрик потребил 19Ампер в место обычных максимальных 14-16(пока не совсем понял почему),и в этот момент акк дал просадку на 9.6 Вольт,и каждый себя увожающий контроллер должен понизить обороты,При разборке повреждённого двигателя обнаружил оголёный пропаеный провод,который коротил на магниты.
П.С.Те у кого при увилечении газа перевёртывания,советую проверить акк.Есть вероятность что и у вас проседает напряжение.
Припаял нунчак. С креном и тангажом все в порядке.
С курсом не разберусь никак.
ACC_Z - на уровне 200, но нашел что так и должно быть.
А вот реакция на наклоны странная - на изменение по курсу вообще не реагирует, вместо этого уменьшается на модуль отклонения по крену и/или тангажу.
Это так задумано, или баг? Куда копать?
То ли припаял что-то не так, либо изменение положения по курсу не отслеживаются?
А ну вообще акселерометр и не может отслеживать ускорения по курсу.
А к чему тогда третья ось?
как бы еще через ардуинку снимать потребление тока?
датчиком тока на эффекте Холла
www.rlocman.ru/news/new.html?di=82641 вот таким например
у меня в OSD стоит STM32F на 50А, помоему аналоговый