ArduCopter Mega: порт на обычную Arduino (тестим)

Sir_Alex
Musgravehill:

Или специально цикл 250Гц, а гира 200Гц, чтобы гарантировано успеть за ней?

Логики выбора частоты я не знаю. Попробовал 250Гц, стало получше, но не намного… надо 500 или килогерц.

Вру, стало значительно лучше!

Musgravehill
Sir_Alex:

Попробовал 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 мс

SovGVD
ligor73:

Режимы показывает, но перепутаны надо поискать в коде.

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

        }

тогда всё будет работать как надо

Sir_Alex
Musgravehill:

Адекватно работает!

Не совсем понял, зачем DCM обновлять на этой частоте? Оригинальный код AC, просто усредняет (т.е. сумма/кол-во считываний) показания гиры между вызовами DCM. Думаю, нам можно так же поступить 😃
Кстати, я еще задействовал INT_Baro… это так же нам может дать дополнительные микросекунды 😃

Musgravehill
Sir_Alex:

Не совсем понял, зачем DCM обновлять на этой частоте?

Я не знаю, как отправить суммарный угол в DCM и учесть G_dt super_fast_cycle (

Может, в super_fast_cycle считать гиру new_gyro_vector и Gdt, а в f ast_cycle вызывать readAHRS(new_gyro_vector, Gdt); ?

Хочется аналоговые гиры, чтобы быстро считывать. Или отдельную ардуинку выделить под AHRS. Пусть возвращает вектор XYZ =)

Sir_Alex
Musgravehill:

Хочется аналоговые гиры, чтобы быстро считывать. Или отдельную ардуинку выделить под AHRS.

Дык это уже получается оригинальный ArduCopter OilPan 😃

Musgravehill:

Я не знаю, как отправить суммарный угол в DCM и учесть G_dt super_fast_cycle

Я сейчас пробую это сделать, если получится выложу код.

alexeykozin

Подскажите пожалуйста новичку в чем концепция группы ардупираты?
У офф. ардукоптеров защита от чужих плат?
Другой процессор?

Covax

Ардупираты это группа товарищей, которая пишет альтернативную прошивку и наземную станцию на железо ардукоптера, не более того. У мегапиратов еще и альтернативное железо (только датчики другие, процессор тот же), а код портированный с оригинального ардукоптера, но с дополнениями, изменениями. Кстати, видел ваши платки ардупилота, очень интересно, ардукоптер не собираетесь воспроизвести таким же способом (защиты там никакой нет, это чистый опенсорс)? а то все альтернативное железо делает, а оригинал не поспроизводит никто кроме одного китайца, посылка от которого идет месяц-полтора…

Sir_Alex
alexeykozin:

одскажите пожалуйста новичку в чем концепция группы ардупираты?

Если вы про команду, которая тут тусуется, то цель у нас простая: Адаптировать прошивку ArduCopter под наше железо, в частности платы датчиков AllInOne и FreeIMU (ну и сонар)

nemo61

Решил попробовать MegaPirateNG.2.0.44
При настройке режимов полета в GUI выбираю ALT_HOLD и STABILIZE.
При этом при переключении в консоли вижу AUTO и STABILIZE. Теперь настраиваю через консоль ALT_HOLD и STABILIZE.
В GUI получаю SIMPLE и STABILIZE. Чему верить… В полете еще не проверял.

alexeykozin

спасибо за ответы,
у меня даже дух сперло, думаю малоли опенсорц софт да мало ли сделали привязку к железу, а я тут построил “мегапланы” по стимулированию в РФ самостоятельной сборки (технологии, инструкции, помощь в поиске комплектухи и совместный заказ печатных плат) доколе то китайское покупать будем?
посему ищутся единомышленники 😃
сначала закончу ардупилот и иму v2 потом можно и коптеровскую плату сделать, тем более с самолем я очень плохо дружу даже со стабилизацией 😃 , я больше по электронной части, а квс у меня женька- сосед.
трикоптер буду собирать обязательно и уже есть задумка что он будет иметь простейшее управление шагом винта - без перекоса на каждом из винтов (чтобы обеспечить стабильность во всех режимах)

Sir_Alex
nemo61:

Решил попробовать MegaPirateNG.2.0.44 При настройке режимов полета в GUI выбираю ALT_HOLD и STABILIZE. При этом при переключении в консоли вижу AUTO и STABILIZE. Теперь настраиваю через консоль ALT_HOLD и STABILIZE. В GUI получаю SIMPLE и STABILIZE. Чему верить… В полете еще не проверял

Планер у вас какой версии?

nemo61
Sir_Alex:

Планер у вас какой версии?

1.0.54
1.0.68 у меня не запускается.

tusik
nemo61:

1.0.54

Надо бы 1.0.74. Чтобы запускался, надо установить НетФрамеворк версии 3,5

Sir_Alex:

Примечание 5 - Планер надо использовать последний (1.0.74)

Пост 2883

iBat
alexeykozin:

спасибо за ответы,
у меня даже дух сперло, думаю малоли опенсорц софт да мало ли сделали привязку к железу, а я тут построил “мегапланы” по стимулированию в РФ самостоятельной сборки (технологии, инструкции, помощь в поиске комплектухи и совместный заказ печатных плат) доколе то китайское покупать будем?
посему ищутся единомышленники 😃
сначала закончу ардупилот и иму v2 потом можно и коптеровскую плату сделать, тем более с самолем я очень плохо дружу даже со стабилизацией 😃 , я больше по электронной части, а квс у меня женька- сосед.
трикоптер буду собирать обязательно и уже есть задумка что он будет иметь простейшее управление шагом винта - без перекоса на каждом из винтов (чтобы обеспечить стабильность во всех режимах)

А расскажите поподробнее про свои “мегапланы”. В чем задумка? А там м.б. и единомышленники подтянутся 😃

nemo61
tusik:

Надо бы 1.0.74. Чтобы запускался, надо установить НетФрамеворк версии 3,5

Там сейчас 1.0.76. Запустился, но пока не могу подключиться. Точнее в log/setup mode цепляется.

tusik
nemo61:

не могу подключиться

Только что проверил. Все нормально подключается

nemo61
tusik:

Только что проверил. Все нормально подключается

На 1.0.76 не получается. Не могу найти 1.0.74. Подскажите.

Sir_Alex
nemo61:

На 1.0.76 не получается. Не могу найти 1.0.74. Подскажите.

Если вы подключаетесь по USB, то когда в планере нажимаете “Connect”, сделайте Reset Ардуины. Mavlink при подключении по USB коннектиться только в самом начале работы ардуины, потом переходит на порт телеметрии. Я точно не помню, в старых планерах, происходил или нет автоматический Reset фрдуины при подключении…

nemo61
Sir_Alex:

Если вы подключаетесь по USB, то когда в планере нажимаете “Connect”, сделайте Reset Ардуины. Mavlink при подключении по USB коннектиться только в самом начале работы ардуины, потом переходит на порт телеметрии. Я точно не помню, в старых планерах, происходил или нет автоматический Reset фрдуины при подключении…

Не помогло.
Вообще не могу понять! В 1.0.74 не могу, 1.0.76 не могу, а в 1.0.54 подключаюсь!