ArduCopter Mega: порт на обычную Arduino (тестим)
Если +5-5… то нам пофигу, т.к. коптер вернулся обратно и нам не важно, что его чуток поштормило! Про эту ситуацию речи нет!
Подумай, что будет если Гира может увидеть максимальный наклон 30гр (при 250Гц, для примера), а мы повернули на 45гр, а потом на 30 назад… в итоге гира скажет 0, а на самом деле 15гр!
tirrrrrrrrrr… prrrrrr 😃
postoyteka! o chem mi tut rassujdaem?! gira to otdaet uglovie skorosti a ne ugi !!!
t.e. poluchaetsya chto usrednyatsya budet skorost a ne ugol… %)
P.s. t.e. esli prinimat skorost postoyannoy v kvant vremeni (vremya iteracii bistrogo cicla) togda mogno i skorost usrednyat. No esli schitat chto v etot kvant ona takje ne postoyanna, to usrednenie ne katit…
сколько строк камера? у меня 420 строк и вижу не всё, да и сам горизонт смещен вниз
переключение режимов показывает? по идее надо всего лишь в коде OSD поменять их названия и будет вообще идеально
Брал такую BEV OSC 480-PAL вроде 480,показывает ровненько. Режимы показывает, но перепутаны надо поискать в коде.
postoyteka! o chem mi tut rassujdaem?! gira to otdaet uglovie skorosti a ne ugi !!! t.e. poluchaetsya chto usrednyatsya budet skorost a ne ugol… %)
Разумеется, имеется ввиду не просто угол, а скорость, например 60гр/с
i2c_write(0x4); // 1000/ 4+1 = 250 Hz ??? 1000/5 = 200Гц
Опа, еще одна ошибочка в коде походу. Значит и dt надо было отдавать не 4000, а 5000… (200Гц = 5мкс)
Значит и dt надо было отдавать не 4000, а 5000… (200Гц = 5мкс)
Может, лучше i2c_write(0x3); // 1000 / 1+3 = 250Hz
И оставить время цикла 4мс?
Или специально цикл 250Гц, а гира 200Гц, чтобы гарантировано успеть за ней?
Или специально цикл 250Гц, а гира 200Гц, чтобы гарантировано успеть за ней?
Логики выбора частоты я не знаю. Попробовал 250Гц, стало получше, но не намного… надо 500 или килогерц.
Вру, стало значительно лучше!
Попробовал 250Гц, стало получше, но не намного… надо 500 или килогерц.
Вру, стало значительно лучше!
Сделал 333 Гц super_fast_loop. ITG3200 LPF=20Hz, Fi = 1 000Hz. Sample Rate = 1 000/ (2+1) = 333 Hz
А fast_loopTimer >= 5000 т.е. 200Гц
if ((timer - super_fast_loopTimer) >= 3300)
{
G_Dt = (float)(timer - super_fast_loopTimer) / 1000000.f; // used by PI Loops
super_fast_loopTimer = timer;
super_fast_loop();
}
super_fast_loop()
{
readAHRS(); //только в супер_быстром цикле! Из fast_loop убрал!
}
Адекватно работает! Дрейф гироскопа по оси менее градуса в минуту.
-----------------------------------
readAHRS(); занимает 3200 мкс = 3.2 мс
Режимы показывает, но перепутаны надо поискать в коде.
в mpo.c
switch(pak_buf0[7])
{case 0: print(30,"MANUAL");break;
case 1: print(30,"CIRCLE");break;
case 2: print(30,"STABILIZE");break;
case 5: print(30,"WIRE A");break;
case 6: print(30,"WIRE B");break;
case 10: print(30,"AUTOPILOT");break;
case 11: print(30,"RETURN");break;
case 12: print(30,"HOLD");break;
case 13: print(30,"TAKEOFF");break;
case 14: print(30,"LANDING");break;
default: print(30,"UNKNOWN");break;
}
должно быть для коптера (по идее)
switch(pak_buf0[7])
{case 0: print(30,"STABILIZE");break;
case 1: print(30,"ACRO");break;
case 2: print(30,"ALT_HOLD");break;
case 3: print(30,"AUTO");break;
case 4: print(30,"GUIDED");break;
case 5: print(30,"LOITER");break;
case 6: print(30,"RLT");break;
case 7: print(30,"CIRCLE");break;
default: print(30,"UNKNOWN");break;
}
тогда всё будет работать как надо
Адекватно работает!
Не совсем понял, зачем DCM обновлять на этой частоте? Оригинальный код AC, просто усредняет (т.е. сумма/кол-во считываний) показания гиры между вызовами DCM. Думаю, нам можно так же поступить 😃
Кстати, я еще задействовал INT_Baro… это так же нам может дать дополнительные микросекунды 😃
Не совсем понял, зачем DCM обновлять на этой частоте?
Я не знаю, как отправить суммарный угол в DCM и учесть G_dt super_fast_cycle (
Может, в super_fast_cycle считать гиру new_gyro_vector и Gdt, а в f ast_cycle вызывать readAHRS(new_gyro_vector, Gdt); ?
Хочется аналоговые гиры, чтобы быстро считывать. Или отдельную ардуинку выделить под AHRS. Пусть возвращает вектор XYZ =)
Хочется аналоговые гиры, чтобы быстро считывать. Или отдельную ардуинку выделить под AHRS.
Дык это уже получается оригинальный ArduCopter OilPan 😃
Я не знаю, как отправить суммарный угол в DCM и учесть G_dt super_fast_cycle
Я сейчас пробую это сделать, если получится выложу код.
Подскажите пожалуйста новичку в чем концепция группы ардупираты?
У офф. ардукоптеров защита от чужих плат?
Другой процессор?
Ардупираты это группа товарищей, которая пишет альтернативную прошивку и наземную станцию на железо ардукоптера, не более того. У мегапиратов еще и альтернативное железо (только датчики другие, процессор тот же), а код портированный с оригинального ардукоптера, но с дополнениями, изменениями. Кстати, видел ваши платки ардупилота, очень интересно, ардукоптер не собираетесь воспроизвести таким же способом (защиты там никакой нет, это чистый опенсорс)? а то все альтернативное железо делает, а оригинал не поспроизводит никто кроме одного китайца, посылка от которого идет месяц-полтора…
одскажите пожалуйста новичку в чем концепция группы ардупираты?
Если вы про команду, которая тут тусуется, то цель у нас простая: Адаптировать прошивку ArduCopter под наше железо, в частности платы датчиков AllInOne и FreeIMU (ну и сонар)
Решил попробовать MegaPirateNG.2.0.44
При настройке режимов полета в GUI выбираю ALT_HOLD и STABILIZE.
При этом при переключении в консоли вижу AUTO и STABILIZE. Теперь настраиваю через консоль ALT_HOLD и STABILIZE.
В GUI получаю SIMPLE и STABILIZE. Чему верить… В полете еще не проверял.
спасибо за ответы,
у меня даже дух сперло, думаю малоли опенсорц софт да мало ли сделали привязку к железу, а я тут построил “мегапланы” по стимулированию в РФ самостоятельной сборки (технологии, инструкции, помощь в поиске комплектухи и совместный заказ печатных плат) доколе то китайское покупать будем?
посему ищутся единомышленники 😃
сначала закончу ардупилот и иму v2 потом можно и коптеровскую плату сделать, тем более с самолем я очень плохо дружу даже со стабилизацией 😃 , я больше по электронной части, а квс у меня женька- сосед.
трикоптер буду собирать обязательно и уже есть задумка что он будет иметь простейшее управление шагом винта - без перекоса на каждом из винтов (чтобы обеспечить стабильность во всех режимах)
Решил попробовать MegaPirateNG.2.0.44 При настройке режимов полета в GUI выбираю ALT_HOLD и STABILIZE. При этом при переключении в консоли вижу AUTO и STABILIZE. Теперь настраиваю через консоль ALT_HOLD и STABILIZE. В GUI получаю SIMPLE и STABILIZE. Чему верить… В полете еще не проверял
Планер у вас какой версии?
Планер у вас какой версии?
1.0.54
1.0.68 у меня не запускается.
1.0.54
Надо бы 1.0.74. Чтобы запускался, надо установить НетФрамеворк версии 3,5
Примечание 5 - Планер надо использовать последний (1.0.74)
Пост 2883
спасибо за ответы,
у меня даже дух сперло, думаю малоли опенсорц софт да мало ли сделали привязку к железу, а я тут построил “мегапланы” по стимулированию в РФ самостоятельной сборки (технологии, инструкции, помощь в поиске комплектухи и совместный заказ печатных плат) доколе то китайское покупать будем?
посему ищутся единомышленники 😃
сначала закончу ардупилот и иму v2 потом можно и коптеровскую плату сделать, тем более с самолем я очень плохо дружу даже со стабилизацией 😃 , я больше по электронной части, а квс у меня женька- сосед.
трикоптер буду собирать обязательно и уже есть задумка что он будет иметь простейшее управление шагом винта - без перекоса на каждом из винтов (чтобы обеспечить стабильность во всех режимах)
А расскажите поподробнее про свои “мегапланы”. В чем задумка? А там м.б. и единомышленники подтянутся 😃
Надо бы 1.0.74. Чтобы запускался, надо установить НетФрамеворк версии 3,5
Там сейчас 1.0.76. Запустился, но пока не могу подключиться. Точнее в log/setup mode цепляется.
не могу подключиться
Только что проверил. Все нормально подключается