MultiWii

SovGVD

а какие у multiwii дефолтные пиды в стандартной прошивке?
хочется поэксперементировать сегодня =)

leprud

Что лень животворящая делает-то 😃

void checkFirstTime() {
uint8_t test_val; eeprom_read_block((void*)&test_val, (void*)(0), sizeof(test_val));
if (test_val == checkNewConf) return;
P8[ROLL] = 40; I8[ROLL] = 30; D8[ROLL] = 23;
P8[PITCH] = 40; I8[PITCH] = 30; D8[PITCH] = 23;
P8[YAW] = 85; I8[YAW] = 0; D8[YAW] = 0;
P8[PIDALT] = 47; I8[PIDALT] = 0; D8[PIDALT] = 30;
P8[PIDGPS] = 10; I8[PIDGPS] = 0; D8[PIDGPS] = 0;
P8[PIDVEL] = 0; I8[PIDVEL] = 0; D8[PIDVEL] = 0;
P8[PIDLEVEL] = 90; I8[PIDLEVEL] = 45; D8[PIDLEVEL] = 100;
P8[PIDMAG] = 40;
rcRate8 = 45; // = 0.9 in GUI
rcExpo8 = 65;
rollPitchRate = 0;
yawRate = 0;
dynThrPID = 0;
for(uint8_t i=0;i<CHECKBOXITEMS;i++) {activate1[i] = 0;activate2[i] = 0;}
accTrim[0] = 0; accTrim[1] = 0;
powerTrigger1 = 0;

SovGVD

пока ждал ответа, забил и подлетнул в большой комнате (до этого только в мелкой тестил - где чуть влево-вправо и коптер теряет винт)
летает шикарно, почти аркадное управление, то ли потому что аккум повесил легкий (2.2 против 8), то ли пресловутые потоки воздуха… главное что исчез косяк при взлете, когда коптер сам по себе в разные стороны брыкался
и с кривой газа на аппе кажется угадал
ну в общем не буду пиды трогать, а буду ждать умельцев из соседней ветки про althold

кстатии косяк один всетаки остался - медленно снижается, бряк об пол и на полметра подскакивает

omegapraim

Ниу кого небыло проблем с платами версии на 3,3V 8 мГц сделал под этой платой вий 2й все запускается отлично работает (в GUI) но как только включаешь, регули начинают выдавать ошибку

alexeykozin
igor_v_t:

Я тоже недавно видел коптер именно на вашей плате, но не помню где. Может быть то же что и Вы. А если винты одного направления и выкошены, то это тоже самое, что разные. Единственное может реверс Yaw понадобится, или винты местами поменять.

я имел ввиду вот эти решения
квадракоптер на ardupolot imu, и трикоптер

igor_v_t
alexeykozin:

я имел ввиду вот эти решения
квадракоптер на ardupolot imu, и трикоптер

Да именно это я видел. Просто когда свое делал то мне было проще чтение приемника и выход на моторы из МультиВия взять, а чтение датчиков уже с платой было. DCM матрицу из ArducopterNG взял. Так же и здесь можно довести, только разобраться со свободными выводами и куда датчики поцеплены. То есть схема нужна. Просто тот проект 2 года назад сделан был .

Dimm168pin
SovGVD:

то можно будет добавить дополнительный режим фильтрации вибраций на самой гире и избавиться от повисаний и глюков
в любом случае, если wmp с itg3205 - лучше выпилить (там на самом деле надо всего пару дорожек перепелить, в соотвествующей теме всё есть) - новые wmp так себе работают

именно новые wmp или 3205 испоганились?

SovGVD
Dimm168pin:

именно новые wmp или 3205 испоганились?

именно wmp, с itg из wmp всё ок, а вот юзать wmp не вижу смысла вообще, разве что лень в 3х местах дорожки перерезать
(во всяком случае у меня с wmp не получилось ничего толкового, а выпиленый itg работает отлично)

=alex#
SovGVD:

во всяком случае у меня с wmp не получилось ничего толкового, а выпиленый itg работает отлично

это обнадеживает, но прежде, чем резать, решил подключить нунчак, посмотреть что показывать будет. И не понял вот что: пока передатчик не подключен, (сигналов с приемника нет) MultiWiiConf показывает, что NunChuck / Acc Active, при этом правильно калибруется и показывает горизонт, но как только включаю передатчик, и приемник начинает выдавать сигналы, NunChuck / Acc становится OFF, при этом графики и горизонт продолжают правильно показывать, но видимо работа акселерометров не влияет на поведение моторов. Почему выключается? и что надо сделать чтобы подключился?

omegapraim
=alex#:

это обнадеживает, но прежде, чем резать, решил подключить нунчак, посмотреть что показывать будет. И не понял вот что: пока передатчик не подключен, (сигналов с приемника нет) MultiWiiConf показывает, что NunChuck / Acc Active, при этом правильно калибруется и показывает горизонт, но как только включаю передатчик, и приемник начинает выдавать сигналы, NunChuck / Acc становится OFF, при этом графики и горизонт продолжают правильно показывать, но видимо работа акселерометров не влияет на поведение моторов. Почему выключается? и что надо сделать чтобы подключился?

надо подключить канал MODE на канал приемника типа 5 или 6 где есть переключатель, потом поставить галочку в гуи и нажать записать, он отключается потому что по стандарту он не активен при работе с пультом и его нужно включать переключая режим.

=alex#

после распиливания wmp и прямого подключения itg3205, удалось все таки заставить его летать. Но летает постоянно раскачиваясь. Иногда на полминуты затихает, и тогда ровненько держится, но потом снова начинает трепыхаться. Параметры, на рисунке, если куда-то немного в сторону, вообще не хочет лететь, почти стразу кувыркается. Куда надо крутить, чтобы более стабильно летал? Может быть слишком мелкий? Леталка трикоптер, 260гр, винты 8x4, расстояние от центра до двигателя 15 см. В скетче раскомментирован фильтр 20Hz.
И еще - что такое RATE на картинке?

omegapraim

фильтр меньше меньше 40 вообще трогать не стоит а чем вам стандартные пиды непонравились из прошивки 1.9 2а

P8[ROLL] = 60; I8[ROLL] = 30; D8[ROLL] = 40;
P8[PITCH] = 60; I8[PITCH] = 30; D8[PITCH] = 40;
P8[YAW] = 85; I8[YAW] = 45; D8[YAW] = 0;
P8[PIDALT] = 30; I8[PIDALT] = 10; D8[PIDALT] = 0;
P8[PIDVEL] = 55; I8[PIDVEL] = 0; D8[PIDVEL] = 45;
P8[PIDLEVEL] = 70; I8[PIDLEVEL] = 10;
P8[PIDMAG] = 40;
rcRate8 = 27; // = 0.54 in GUI
rcExpo8 = 65;
rollPitchRate = 0;
yawRate = 0;
dynThrPID = 0;
for(uint8_t i=0;i<8;i++) activate[i] = 0;
accTrim[0] = 0; accTrim[1] = 0;
powerTrigger1 = 0;
writeParams();

по поводу своего вопроса который я задал по поводу того что у меня не работали регуляторы с новой ардуиной, а со старой работают.

Так вот к сожалению регуляторы с кварцем на 16 мегагерц будут работать только с ардуиной на версии 5в 16 мГц
Кое как вкорячил кварц на 16 туже ардуину и все заработало, так что заказывая ардуину будьте внимательны.

=alex#
omegapraim:

фильтр меньше меньше 40 вообще трогать не стоит а чем вам стандартные пиды непонравились из прошивки 1.9 2а

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

omegapraim

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

Dimm168pin
omegapraim:

по поводу своего вопроса который я задал по поводу того что у меня не работали регуляторы с новой ардуиной, а со старой работают.

Так вот к сожалению регуляторы с кварцем на 16 мегагерц будут работать только с ардуиной на версии 5в 16 мГц
Кое как вкорячил кварц на 16 туже ардуину и все заработало, так что заказывая ардуину будьте внимательны.

вы кварц как поменяли? на dip? просто вопрос в том что там должны быть конденсаторы в обвязке, в smd варианте емкости внутри корпуса стоят.

omegapraim

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

=alex#
omegapraim:

искать проблему в железе

с железом, конечно не самый лучший вариант, регуляторы самые самые (20А, с которых цены начинаются на ebay), да и винты побитые и небалансированные, но все это как то летало на КК, правда там свои были проблемки.

omegapraim

Вы меня конечно извините, но я спросил не об этом марка регуляторов НЕ САМЫЕ САМЫЕ ни о чем не говорит, как я могу вам что-то посоветовать если вы ничего не указали…
Еще раз простите но все экстрасенсы в отпуске.

Это не Hobby Wing случаем?

SovGVD
=alex#:

вот ссылка

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

=alex#
SovGVD:

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

это точно) , но уменьшение частоты шины как то особо не повлияло, может быть совсем немного. А на той ссылке с видео, где про плохие регуляторы, там совсем другой эффект, у меня осцилляции, а там просто неустойчивость.

И еще, почему такая медленная реакция на ручки? Может в параметрах где-то есть это?

omegapraim

у вас в коде делитель у гиры какой стоит?

void Gyro_getADC () {
TWBR = ((16000000L / 100000L) - 16) / 2; // change the I2C clock rate to 400kHz
i2c_getSixRawADC(ITG3200_ADDRESS,0X1D);
GYRO_ORIENTATION( + ( ((rawADC[2]<<8) | rawADC[3])/6) , // range: +/- 8192; +/- 2000 deg/sec

  • ( ((rawADC[0]<<8) | rawADC[1])/6 ) ,
  • ( ((rawADC[4]<<8) | rawADC[5])/6 ) );
    GYRO_Common();
    }
    #endif

уменьшите с 6 до 4х, параметры находятся на вкладке сенсоры, смею еще предположить что у вас по шите датчиков идет питание от 5в? или я ошибаюсь.

SovGVD

вот эти строки

TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz

надо закоментить - иначе так и будет 400кгц на датчиках, не смотря на указания в конфиге

а вот делитель менять не очень хорошая идея, для itg3205 отлично работает железный фильтр, а с делением потом проблем не оберешься при подключении акселя

omegapraim
SovGVD:

вот эти строки

TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz

надо закоментить - иначе так и будет 400кгц на датчиках, не смотря на указания в конфиге

а вот делитель менять не очень хорошая идея, для itg3205 отлично работает железный фильтр, а с делением потом проблем не оберешься при подключении акселя

Не закоментить а поменять с
400000L на 100000L ДЛЯ КАЖДОГО ДАТЧИКА !!! для 3205 советуют понизить делитель до 5ти на сайте мультивия кстати)))) а вот для 3200 ничего делать не надо.