ArduCopter Mega: порт на обычную Arduino (тестим)
А может замутим двух процессорную плату, чтобы разгрузить основной а? я бы не прочь платку накидать )))
Нужно ставить stm32F4XX и забыть на время про нехватку ресурсов МК.
Еще бы уметь под него программить ))) я кроме асмы ни какого другого языка не знаю (
Похоже, что таки удалось установить причину из за которой останавливаются моторы, при нажатии на газ: ЭТО ВИБРАЦИЯ! Пользователь который помогал тестировать и у него постоянно воспроизводилось, по наводке одного из разработчиков ArduCopter попробовал снять плату с коптера и о чудо, бага не воспроизвелась!!!
Теперь осталось разобраться, как вибрации приводят к зависанию контроллера, но хоть что то сдвинулось с мертвой точки )))
В моем случае дело было не в вибрации (пропы карбон отбалансированы, желе не было) Я избавился от этой проблемы переместив плату на стойки, подальше от силовых. Раньше она крепилась прямо на разводке питания. Такое ощущение, что плата висла при резком скачке магнитного поля, может это как то связано с сходившим с ума компасом.
Теперь появилась другая проблема, которую обсуждают на rcgroups, а именно перезагрузку minimosd в альтхолд и лойтере (waiting for mavlink). Видимо реально не хватает ресурсов процессора.
Похоже в imu переполнения возникают по датчикам?
Похоже в imu переполнения возникают по датчикам?
Не представляю, как переполнения могу привести к зависанию. Даже если возникнет деление на 0, то по идее, плата должна уйти в ребут. Причем что странно, когда плата зависает, моторы останавливаются - а это значит, что PWM генератор перестает работать - с чего бы это???
Блин, ну почему такие проблемы возникают у пользователей, но не проявляются у разработчиков???
Похоже, что таки удалось установить причину из за которой останавливаются моторы, при нажатии на газ: ЭТО ВИБРАЦИЯ!
Может нужно просто усложнить алгоритм арминга/дисарминга чтобы случайные входные данные не смогли вызывать эти события?
Я избавился от этой проблемы переместив плату на стойки, подальше от силовых. Раньше она крепилась прямо на разводке питания. Такое ощущение, что плата висла при резком скачке магнитного поля, может это как то связано с сходившим с ума компасом.
Хм… да, это то же вариант. Возможно что дело не в вибрации а в резком изменении магнитного поля. Надо будет попробовать поднести магнит во время работы…
Теперь появилась другая проблема, которую обсуждают на rcgroups, а именно перезагрузку minimosd в альтхолд и лойтере (waiting for mavlink). Видимо реально не хватает ресурсов процессора.
Да, есть такая проблема, но с ресетом вроде как решается прошивкой более старых версий minimOSD.
А вот почему начинают тормозить данные не понятно. Я похожую проблему получил дома, когда включил отладочный режим шедулера (SCHED_DEBUG=2), я сразу и не понял что происходит, как только срабатывает FS (я его как раз тогда проверял) - телеметрия пропадает и появляется только когда происходит посадка. Видимо тут такая же проблема, но SCHED_DEBUG явно никто не включает, значит тормоза где то в другом месте.
У тебя кстати какой GPS? В каком он режиме работает, NMEA?
У тебя кстати какой GPS? В каком он режиме работает, NMEA?
NEO-6M протокол ublox
Т.е. собирать ты хочешь всё-таки на сервере? Можно было бы в принципе и к программе приложить сам gcc Тогда накидай примерный алгоритм общения программы с сервером, по каким параметрам авторизация (некая таблица с емейлами и паролями или еще что) и т.п., а я попробую реализовать.
Вроде я с большего определился что мне надо:
- Скрипт, который запускается по крону раз в минуту или реже.
- Скрипт подключается к локальной БД и вытягивает текущее задание на компиляцию. Видимо в БД, будет лежать ID задания, ID пользователя, Список дефайнов которые выбрал пользователь (видимо это произвольная строка, которую надо передать в make).
- Скрипт запускает компиляцию и записывает результат (hex файл запакованный например gz) обратно в БД в ту же запись с заданием и обновляет статус задания. Если возникла ошибка, статус = ERR и бинарное поле куда записывается прошивка, туда надо положить текст ошибки или что там будет от make.
- Смотрит есть ли еще задания и если есть то п.2
Вот в принципе и все 😃
Как вариант можно ещё ввести “кеш” прошивок.
Скорее всего большая часть конфигов будет совпадать и в этом случае можно просто отдавать готовую прошивку, которая когда-то была собрана по запросу какого-то пользователя.
тупо хеш от настроект (+ версия) - будет уникальное название, потом if (file_exists(хеш)) { отдать юзеру } else { блииин, придется собирать }
ну или табличку в базе хеш - осознаенное имя файла
Похоже дело не в бобине магнитном поле. Пробовал и так и сяк подсовывать магнит, пофиг дым. Хотя может у меня слишком слабый магнитик…
Я тут подумал, что может быть еще проблема в датчике тока и напряжения (Соответственно зависает при резком увеличении тока) - этот вариант я уже не могу проверить, где то потерял датчик тока…
Ребята, задонейчу 50$ тому кто найдет причину глюка!
Привет ! Летал позавчера. И словил дизарм. Первый за три месяца … Прошивка 2.9 R306. Это произошло после серии кувырков. Причем переворот влево квадр отрабатывал без проблем а вот вправо еле как. И при очередном перевороте моторы встали. Это выполнялось в стаб моде. Разгон вверх, ручка влево, газ вниз. Квадр переворачивается и добавляем газ. У меня моторы встали именно при правом перевороте.
Я тут подумал, что может быть еще проблема в датчике тока и напряжения
был у меня глюк, на версии 2.9, постоянно срабатывал FS по питанию вплоть до отключения моторов, хотя в планере напряжение было нормальным, с тех пор им не пользуюсь
Похоже дело не в
бобинемагнитном поле. Пробовал и так и сяк подсовывать магнит, пофиг дым. Хотя может у меня слишком слабый магнитик…Я тут подумал, что может быть еще проблема в датчике тока и напряжения (Соответственно зависает при резком увеличении тока) - этот вариант я уже не могу проверить, где то потерял датчик тока…
Ребята, задонейчу 50$ тому кто найдет причину глюка!
А зачем нам сам датчик ? Можно его сымитировать делителем.
Похоже дело не в
бобинемагнитном поле. Пробовал и так и сяк подсовывать магнит, пофиг дым. Хотя может у меня слишком слабый магнитик…Я тут подумал, что может быть еще проблема в датчике тока и напряжения (Соответственно зависает при резком увеличении тока) - этот вариант я уже не могу проверить, где то потерял датчик тока…
Ребята, задонейчу 50$ тому кто найдет причину глюка!
может всё-таки в приемнике?
Стоит датчик тока, на R300 более 300 вылетов ни разу дизарма не поймал.
У меня на multiwii управление пропадало, грешил на новую платку, оказалось что провод от приемника к контроллеру фиговый и при небольшом увеличении вибраций сигнал пропадает. Мне тоже кажетмя что дело где то в железе, а не прошивке… или у многих такой косяк?
У меня на multiwii управление пропадало, грешил на новую платку, оказалось что провод от приемника к контроллеру фиговый и при небольшом увеличении вибраций сигнал пропадает. Мне тоже кажетмя что дело где то в железе, а не прошивке… или у многих такой косяк?
Хорошо помогает резинка вокруг платы прижимая все провода.
Хорошо помогает резинка вокруг платы прижимая все провода.
Я обычно стяжкой к корупу притягиваю, но в этот раз помогла только замена провода, т.к. китайцы его фигово сделали и контачил только 1 волосок и то не всегда.
С похолоданием около +3 +5 стало происходить следующее: Делаю арм, даю газ, винты начинают вращаться на холостых оборотах вне зависимости от положения любых стиков и переключателей, ( Acro-stab-loiter-althold-auto-RTL) за исключением yaw. ( на яв реагирует незначительным изменением относительных скоростей моторов) далее внезапно дает полный газ и уносится в небо, так же не реагируя ни на что. Так повторялось более трех раз. Наученный опытом второй и далее разы после капитального восстановления- аппарат держал в руках. и вот когда полностью неуправляемое и жужжащее это вносишь в помещение- контроль полностью возвращается и по помещению нормально в стабе летает. причем изменения происходят в течение 3-5 сек, за которые температура просто просто не успеет оказать влияние. Опыт повторял многократно. Была мысль о непропае, но потом заливал мультивия и нормально летал на улице. возврат на пирата 3 0 2 повторял ситуацию. Может какой датчик в пирате более "жестко " опрашивается или еще что? плата AIO 1.1
конденсат или плывут регули и/или аппа или пересчет давление относительно температуры бажит в мозгах