ArduCopter Mega: порт на обычную Arduino (тестим)
Выносил компас над мозгом на 150 мм иначе при полном газе врал на 40-90 град…
А у меня противоположная проблема - при полном газе с компасом ничего не происходит, показывает туда куда надо. А вот при быстром спуске в ручном режиме с очень малым уровнем газа, коптер поворачивает градусов на 45 против часовой стрелки. Из-за чего интересно?
Относить подальше, ставить внешний компас, больше я думаю никак. Я вставил стальную пластинку 0.2~0.5мм между моздами и регулями, при газе коптер всё равно проворачивает в сторону градусов на 10-15 в сторону.
А вы пластину сажали на ноль? 😒 😃 Или просто?
А у меня противоположная проблема - при полном газе с компасом ничего не происходит, показывает туда куда надо. А вот при быстром спуске в ручном режиме с очень малым уровнем газа, коптер поворачивает градусов на 45 против часовой стрелки. Из-за чего интересно?
Если медленно на ровной поверхности давать газу моторы одновременно стартуют?
А вы пластину сажали на ноль? 😃 Или просто?
Просто 😃 Думал “заземлить”, но решил что будет еще хуже) Может попробую при случае.
Если медленно на ровной поверхности давать газу моторы одновременно стартуют?
Да, откалибровано. Стартуют синхронно, останавливаются, когда газа совсем чуть-чуть тоже синхронно. Механически тоже вроде одинаково крутятся (руками). Да и висит отлично и взлетает ровно. Только вот на спуске поворачивается.
Только вот на спуске поворачивается.
а вы попробуйте когда коптер в стабе висит повернуть его на 90 гр - он не возвращается назад… может у Вас какой подшипник дохнет? либо спускаться по самолётному…
Да, под платой силовые провода к ескам…
Плата записывается от отдельного UBEC
Думаете могут быть ТАКИЕ наводки?
Как посоветуете экранировать плату от проводов?
Ага, было такое на трехе…пришлось досконально всё передалать.
Мозги на пластикоых стойках преподняты над рамой, все силовые соединения идут под рамой (разделены самой рамой).
Общая земля (-) на все устройства (Мозг, GPS, bluetooth, OSD, DC-DC Step UP для камеры и Видео TX) в одной точке.
Питание от 3х ESC
1: Мозг, bluetooth, GPS
2: OSD
3: Серва YAW
Вблизи мозга исключительно сигнальные провода и забыл про все беды.
У Олега(commy.s) - 100% воспроизведение дизарма.
Мы уже многое перепробовали. Но самое интересное что при снятии пропеллеров, баг не воспроизводится - что как бы намекает на проблемы по питанию. Но даже питая от двух ESC - проблема остается.
Я вот подумал, это скорее всего проблема, типа “дребезг сигнала” (по аналогии с проблемой считывания сост-я кнопок микроконтроллером - “дребезг контактов”). Ведь в родном арду, на сколько помню, на обработку каналов приемника отельная мега стоит. А тут все в одну впихнули, в итоге возможно из-за каких нить прерываний сигнал с каналов аппы разово считывается некорректно, т.е. соот-но при определенном стечении обстоятельств получается некорректное считывание, но оно “равно” дизарму…
Для увеличения надежности подобных команд надо брать считывания к примеру за пол секунды и если одно или какой то процент не совпадают, то команда “не прошла поверку”… В вие так и сделано, команда аля арм/дизарм должна быть четкой в течении 1 сек…
Вопрос тогда больше к Алексею: входа подтянуты к питанию? я у себя подтягивал ибо тоже периодически наблюдал шум, и в px4 вход тоже подтянут к питанию…
Для увеличения надежности подобных команд надо брать считывания к примеру за пол секунды и если одно или какой то процент не совпадают, то команда “не прошла поверку”… В вие так и сделано, команда аля арм/дизарм должна быть четкой в течении 1 сек…
В вие я не вижу что есть 1 сек. По моему арм/дизарм происходит сразу. А вот в Ardu-Megapirate надо ждать - точно больше 1 сек.
В вие я не вижу что есть 1 сек.
if (currentTime > rcTime ) { // 50Hz
rcTime = currentTime + 20000;
computeRC();
.....
// ------------------ STICKS COMMAND HANDLER --------------------
// checking sticks positions
uint8_t stTmp = 0;
for(i=0;i<4;i++) {
stTmp >>= 2;
if(rcData[i] > MINCHECK) stTmp |= 0x80; // check for MIN
if(rcData[i] < MAXCHECK) stTmp |= 0x40; // check for MAX
}
if(stTmp == rcSticks) {
if(rcDelayCommand<250) rcDelayCommand++;
} else rcDelayCommand = 0;
rcSticks = stTmp;
....
if(rcDelayCommand == 20) {
if(f.ARMED) { // actions during armed
#ifdef ALLOW_ARM_DISARM_VIA_TX_YAW
if (conf.activate[BOXARM] == 0 && rcSticks == THR_LO + YAW_LO + PIT_CE + ROL_CE) go_disarm(); // Disarm via YAW
#endif
#ifdef ALLOW_ARM_DISARM_VIA_TX_ROLL
if (conf.activate[BOXARM] == 0 && rcSticks == THR_LO + YAW_CE + PIT_CE + ROL_LO) go_disarm(); // Disarm via ROLL
#endif
}
....
rcDelayCommand это счетчик, который наращивается с периодом в 20мс и когда он равен 20-ти, тогда можно выполнить дизарм…
т.е. да, получится не 1 сек, а 0.4 сек… достаточно, что бы убрать ложные срабатывания…
Ага, было такое на трехе…пришлось досконально всё передалать.
Мозги на пластикоых стойках преподняты над рамой, все силовые соединения идут под рамой (разделены самой рамой).
Общая земля (-) на все устройства (Мозг, GPS, bluetooth, OSD, DC-DC Step UP для камеры и Видео TX) в одной точке.Питание от 3х ESC
1: Мозг, bluetooth, GPS
2: OSD
3: Серва YAWВблизи мозга исключительно сигнальные провода и забыл про все беды.
Спасибо! Попробую экранировать сначала… А там посмотрим - исправит или нет.
Сори всем за фоотоп 😃
MegaPirateNG 3.0.1 R2
Сделал Compassmot. Показал 13%. Вижу разницу - по маршруту летит очень точно. Линии на карте совпадают. 😃
Попробовал запись точек маршрута на лету. Всё ok!
Подскажите, в планере когда настраиваешь компас нужно заносить магнитное склонение, должно ли оно отображаться в соотв. поле после ухода в другую вкладку? (у меня посте возвращения стоит 0 😦)
Нормально ли работает автоопределение магнитного склонения?
Подскажите, в планере когда настраиваешь компас нужно заносить магнитное склонение, должно ли оно отображаться в соотв. поле после ухода в другую вкладку? (у меня посте возвращения стоит 0 😦)
Нормально ли работает автоопределение магнитного склонения?
Нужно. Должно отображаться. Автоопределение я не пробовал.
у меня посте возвращения стоит 0
точку на запятую поменять (или наоборот, зависит от настроек винды) и снять галку с авто
Привет всем. Извините что лезу в ваш огород…имею платку с ХК. Решил ее попробовать, скажите пжлста, какую прошиву на данный момент актуально влить в плату чтоб понять на сколько она отличается от оригинала АПМ 3.0.1?
какую прошиву на данный момент актуально влить в плату
MPNG 3.0.1 - R2, хотя я пока сам летаю на 2.9R300, проблемы все победил. Вроде бы )))
только что проверил ещё раз
MPNG 3.0.1 - R2
Восстановил коптер, пробовал повторить сбой FS, логи с борта тут , с планера нет, т.к. модемов нет 😦.
Видео, тестирование работы FS:
www.youtube.com/watch?v=RiysUO8nBCk
первый раз отключил пульт (см. 1:21), сработал РТЛ. вернул управление только переключением режима управления (Stab->AltHold->Stab), иначе всё равно использовался RLT…
сразу смоделировал второй FS - моментально сработал дизарм (см. 1:52)
www.youtube.com/watch?v=mZ93IuPEhI4
отключил пульт (см. 1:18), сработал РТЛ
вернул управление только переключением режима управления (Stab->AltHold->Stab) (см. 1:25)
смоделировал второй FS - сработал дизарм (см. 1:36)
www.youtube.com/watch?v=BqaTLrqe3Vg
FS при отсутствии ГПС с 1:30
спрашивайте что ещё потестить…
Пы.Сы. 2 Sir Alex: оттого-ли режим стабилизации стал жёстче, что убрали StabI & StabD?
такое ощущение, что коптер висит в режиме Loiter или PosHold, но спутников недостаточно, постоянные поправки чересчур сильные, даже в идеальных условиях, куда копать, как исправить, что крутить?
Помогите переключиться на внешний компас. Как то в сети скудно по этому вопросу. Знаю, что то нужно раскомментировать в AP_InertialSensor_MPU6000_I2C.cpp , хелп. И как проверить, что работает только внешний компас, а не оба?
спрашивайте что ещё потестить…
Попробуй дать полный газ в стабе, у меня на 3.01 R1 дизармится, в R2 виснет.
Помогите переключиться на внешний компас. Как то в сети скудно по этому вопросу. Знаю, что то нужно раскомментировать в AP_InertialSensor_MPU6000_I2C.cpp , хелп. И как проверить, что работает только внешний компас, а не оба?
О, мне это тоже интересно! Скоро предстоит! У вас какой компас, где брали? Как раз выбираю…
Экранирование не помогло - несколько слоев фольги, сажал/не сажал на минус - эффекта ноль. Для тестов удлинил стойки, - расстояние до силовых проводов стало приличным (см фото) - влияние на компас уменьшилось, но все равно осталось существенным…