MultiWii
Решил вот сегодня перепрошиться на 2 версию вия (был 1.9). Прошился, теперь начались какие-то проблемы с датчиками. А точнее, поменялись оси… Какие были настройки осей у 1.9 и как их перенести на 2 версию? Наверное нужно что-то изменить в строчках
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = X; accADC[PITCH] = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -X; magADC[PITCH] = -Y; magADC[YAW] = Z;}
но я посмотрел, в 1.9 всё было точно так же… Не подскажите что изменить?
Компас я победил. Помогла калибровка, но не с первого раза.
Вопрос следующий. Пытаюсь приделать EOSD с прошивкой Syberian.
По рекомендациям Глеба rcopen.com/forum/f123/topic221574/4809 работает.
Но поскольку у меня Mega и портов не жалко, взял файлик из мегапирала и переделываю его под multiwii.
Вместо Serial.write, использую SerialWrite из multiwii.
Код работает, но интересует оптимизация.
Правильно ли я понимаю, что с serial 0, можно использовать стек и один раз писать с помощью UartSendData, а в остальные порты писать сразу?
Кстати, а с чем связано такое решение - для трикоптера другой вариант арминга и дисарминга двигов?
пропеллер просто уходит в крайнее положение в котором обычно не находится никогда и может выломать весь механизм если он жестко закреплен,или рубануть по( раме\траве\асфальту) .
Я стартую как попало т.к выставил крайние положения в настройках сервы
таким образом
#define TRI_YAW_CONSTRAINT_MIN 1250
#define TRI_YAW_CONSTRAINT_MAX 1750
#define TRI_YAW_MIDDLE 1500
вместо штатных
#define TRI_YAW_CONSTRAINT_MIN 1020
#define TRI_YAW_CONSTRAINT_MAX 2000
#define TRI_YAW_MIDDLE 1500
upd. Вчерашнее , Raw
так i2c висит…
да нет, не висит (если крутить квадрик график меняется)
а питание нормальное?
нормальное… при том же питании в прошивке 1.9 такой проблемы не было
отключите аксель и попробуйте еще раз, если поможет то I Pitch roll level все выставить до 0,005 0,010
З.Ы. стоит проверить ориентацию акселя повторно
почему на моторы подаётся газ не равномерно (разный уровень на разные моторы) при нахождении коптера в горизонтальном состоянии?
1000+1 раз писали это тут уже ((
Левел И сделайте 0.01, а то и меньше… + остальные ПИД у вас не сбалансированы… я конечно понимаю что каждому хочется на свои грабли понаступать, но попробуйте для начала проверенные месяцами (из альтернативных прошивок к примеру)…
в 1.9а и 2.0а установлены такие параметры #define MINCHECK 1150 #define MAXCHECK 1850 я специально сжал диапазон на 50 единиц с обеих сторон, чеб небыло проблем с простыми аппами типа HK-6X, соот-но троттл на арме должен быть <1150, а yaw>1850… проверьте в ГУИ
У меня троттл 990, а yaw 2010. Моторы не стартуют.
Подключи (выставь "галочки) “Arm” к одному из Aux.
Поставил. При нажатии на write стартуют моторы. После перезапуска системы моторы не стартуют.
Прошиваю 1.9.а2 моторы стартуют.
Вопрос снят.
Прошил 2.0а моторы запустились.
Слов нет…
приношу свои извенения тем кто после 1.9_а1 прошился 2.0_а0… забыл изменить checkNewConf в EEPROM.pde (и там и там код 200)…
и EEPROM не перезаписался соот-но при переходе с 1.9_а1 на 2.0_а0. отсюда могут быть глюки, кто прошивался именно в такой последовательности…
в ближайшее время перезалью прошивку, а пока просто замените 200 на 210 в EEPROM.pde для 2.0_а0:
static uint8_t checkNewConf = 210;
Прошиваю 1.9.а2 моторы стартуют. Вопрос снят. Прошил 2.0а моторы запустились.
все правильно, при переходе 1.9_а2 на 2.0_а0 все ок т.к. checkNewConf в EEPROM разный
еще раз извиняюсь ((
checkNewConf в EEPROM разный
еще раз извиняюсь
Значит,EEPROM надо обнулить?А как?
Пока жду свёрла,взял вот такоой сет,оказалось в Израеле даже не знают ,что есть свёрла меньше 1.5мм,для простых смертных.
Блин,ругался на Израил,а продавец оказалься (догадайтесь).Когда посылка пришла с Тел-Авива,решил что лыжы поехали не спеша😈.Стыдно.😕
Значит, EEPROM надо обнулить?А как?
если шили с 1.9_а1 на 2.0_а0, то заменить checkNewConf c 200 на 210 в EEPROM.pde для 2.0_а0 и еще раз прошить…
static uint8_t checkNewConf = 210;
т.е. checkNewConf текущей прошивки должен отличаться от checkNewConf пред-й прошивки… тогда записываются новые дефолтные значения в EEPROM
в ближайшее время перезалью прошивку
поправил/перезалил
1000+1 раз писали это тут уже ((
Левел И сделайте 0.01, а то и меньше… + остальные ПИД у вас не сбалансированы… я конечно понимаю что каждому хочется на свои грабли понаступать, но попробуйте для начала проверенные месяцами (из альтернативных прошивок к примеру)…
попробовал установить вашу прошивку MultiWii_2_0_a0. При дефолтных настройках квадрик быстро входит в страшную балтанку (стоит его чуть накренить в одну сторону, и отпустить стик, он пытается выравняться, двигаясь в противоположную сторону, но почему-то не останавливается, а продолжает балтаться туда-сюда, пока не упадет). Какие пиды подвигать что бы этого избежать?
вообще, подскажите, может где-нибудь доходчиво пишут про пид настройки?
отключите аксель и попробуйте еще раз, если поможет то I Pitch roll level все выставить до 0,005 0,010
З.Ы. стоит проверить ориентацию акселя повторно
отключение акселя не помогло… с i завтра поэкспериментирую, сегодня замучился уже… Оси акселя я так понимаю у меня правильно настроены (адекватная реакция на приборной панели в GUI).
airm.ru/articles/2 человек для вас старается пишет сайт, добавляет знания а поискать и почитать тему лень… ищите на данном сайте про ПИД самое нужное там русским языком понятно расписано, если болтается уменьшите П для начала