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

iluxa1
Sir_Alex:

Похоже, что таки удалось установить причину из за которой останавливаются моторы, при нажатии на газ: ЭТО ВИБРАЦИЯ!

Может нужно просто усложнить алгоритм арминга/дисарминга чтобы случайные входные данные не смогли вызывать эти события?

Sir_Alex
commy_s:

Я избавился от этой проблемы переместив плату на стойки, подальше от силовых. Раньше она крепилась прямо на разводке питания. Такое ощущение, что плата висла при резком скачке магнитного поля, может это как то связано с сходившим с ума компасом.

Хм… да, это то же вариант. Возможно что дело не в вибрации а в резком изменении магнитного поля. Надо будет попробовать поднести магнит во время работы…

commy_s:

Теперь появилась другая проблема, которую обсуждают на rcgroups, а именно перезагрузку minimosd в альтхолд и лойтере (waiting for mavlink). Видимо реально не хватает ресурсов процессора.

Да, есть такая проблема, но с ресетом вроде как решается прошивкой более старых версий minimOSD.
А вот почему начинают тормозить данные не понятно. Я похожую проблему получил дома, когда включил отладочный режим шедулера (SCHED_DEBUG=2), я сразу и не понял что происходит, как только срабатывает FS (я его как раз тогда проверял) - телеметрия пропадает и появляется только когда происходит посадка. Видимо тут такая же проблема, но SCHED_DEBUG явно никто не включает, значит тормоза где то в другом месте.

У тебя кстати какой GPS? В каком он режиме работает, NMEA?

commy_s
Sir_Alex:

У тебя кстати какой GPS? В каком он режиме работает, NMEA?

NEO-6M протокол ublox

Sir_Alex
blind_oracle:

Т.е. собирать ты хочешь всё-таки на сервере? Можно было бы в принципе и к программе приложить сам gcc Тогда накидай примерный алгоритм общения программы с сервером, по каким параметрам авторизация (некая таблица с емейлами и паролями или еще что) и т.п., а я попробую реализовать.

Вроде я с большего определился что мне надо:

  1. Скрипт, который запускается по крону раз в минуту или реже.
  2. Скрипт подключается к локальной БД и вытягивает текущее задание на компиляцию. Видимо в БД, будет лежать ID задания, ID пользователя, Список дефайнов которые выбрал пользователь (видимо это произвольная строка, которую надо передать в make).
  3. Скрипт запускает компиляцию и записывает результат (hex файл запакованный например gz) обратно в БД в ту же запись с заданием и обновляет статус задания. Если возникла ошибка, статус = ERR и бинарное поле куда записывается прошивка, туда надо положить текст ошибки или что там будет от make.
  4. Смотрит есть ли еще задания и если есть то п.2

Вот в принципе и все 😃

obion

Как вариант можно ещё ввести “кеш” прошивок.
Скорее всего большая часть конфигов будет совпадать и в этом случае можно просто отдавать готовую прошивку, которая когда-то была собрана по запросу какого-то пользователя.

SovGVD

тупо хеш от настроект (+ версия) - будет уникальное название, потом if (file_exists(хеш)) { отдать юзеру } else { блииин, придется собирать }
ну или табличку в базе хеш - осознаенное имя файла

Sir_Alex

Похоже дело не в бобине магнитном поле. Пробовал и так и сяк подсовывать магнит, пофиг дым. Хотя может у меня слишком слабый магнитик…

Я тут подумал, что может быть еще проблема в датчике тока и напряжения (Соответственно зависает при резком увеличении тока) - этот вариант я уже не могу проверить, где то потерял датчик тока…

Ребята, задонейчу 50$ тому кто найдет причину глюка!

Олег24

Привет ! Летал позавчера. И словил дизарм. Первый за три месяца … Прошивка 2.9 R306. Это произошло после серии кувырков. Причем переворот влево квадр отрабатывал без проблем а вот вправо еле как. И при очередном перевороте моторы встали. Это выполнялось в стаб моде. Разгон вверх, ручка влево, газ вниз. Квадр переворачивается и добавляем газ. У меня моторы встали именно при правом перевороте.

kren-DEL
Sir_Alex:

Я тут подумал, что может быть еще проблема в датчике тока и напряжения

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

RTemka
Sir_Alex:

Похоже дело не в бобине магнитном поле. Пробовал и так и сяк подсовывать магнит, пофиг дым. Хотя может у меня слишком слабый магнитик…

Я тут подумал, что может быть еще проблема в датчике тока и напряжения (Соответственно зависает при резком увеличении тока) - этот вариант я уже не могу проверить, где то потерял датчик тока…

Ребята, задонейчу 50$ тому кто найдет причину глюка!

А зачем нам сам датчик ? Можно его сымитировать делителем.

pilot01
Sir_Alex:

Похоже дело не в бобине магнитном поле. Пробовал и так и сяк подсовывать магнит, пофиг дым. Хотя может у меня слишком слабый магнитик…

Я тут подумал, что может быть еще проблема в датчике тока и напряжения (Соответственно зависает при резком увеличении тока) - этот вариант я уже не могу проверить, где то потерял датчик тока…

Ребята, задонейчу 50$ тому кто найдет причину глюка!

может всё-таки в приемнике?
Стоит датчик тока, на R300 более 300 вылетов ни разу дизарма не поймал.

SovGVD

У меня на multiwii управление пропадало, грешил на новую платку, оказалось что провод от приемника к контроллеру фиговый и при небольшом увеличении вибраций сигнал пропадает. Мне тоже кажетмя что дело где то в железе, а не прошивке… или у многих такой косяк?

pilot01
SovGVD:

У меня на multiwii управление пропадало, грешил на новую платку, оказалось что провод от приемника к контроллеру фиговый и при небольшом увеличении вибраций сигнал пропадает. Мне тоже кажетмя что дело где то в железе, а не прошивке… или у многих такой косяк?

Хорошо помогает резинка вокруг платы прижимая все провода.

SovGVD
pilot01:

Хорошо помогает резинка вокруг платы прижимая все провода.

Я обычно стяжкой к корупу притягиваю, но в этот раз помогла только замена провода, т.к. китайцы его фигово сделали и контачил только 1 волосок и то не всегда.

SGur

С похолоданием около +3 +5 стало происходить следующее: Делаю арм, даю газ, винты начинают вращаться на холостых оборотах вне зависимости от положения любых стиков и переключателей, ( Acro-stab-loiter-althold-auto-RTL) за исключением yaw. ( на яв реагирует незначительным изменением относительных скоростей моторов) далее внезапно дает полный газ и уносится в небо, так же не реагируя ни на что. Так повторялось более трех раз. Наученный опытом второй и далее разы после капитального восстановления- аппарат держал в руках. и вот когда полностью неуправляемое и жужжащее это вносишь в помещение- контроль полностью возвращается и по помещению нормально в стабе летает. причем изменения происходят в течение 3-5 сек, за которые температура просто просто не успеет оказать влияние. Опыт повторял многократно. Была мысль о непропае, но потом заливал мультивия и нормально летал на улице. возврат на пирата 3 0 2 повторял ситуацию. Может какой датчик в пирате более "жестко " опрашивается или еще что? плата AIO 1.1

SovGVD

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

obion

Без каких либо логов трудно сказать.
Судя по описанию работает не stab режим.
У меня похожее поведение моторов в помещении в режимах типа althold/loiter. Если газ поставить в потолок, то через некоторе время моторы начинают вращаться на всю. Тестировал без пропеллеров.
Можно записать телеметрийный лог в mission planner’е, а там проиграть лог до момента проблемы и смотреть значения в закладке статус. Там наверняка и будет ответ на все вопросы.

У меня, например, был случай когда при ховере перед собой коптер вдруг резко решал полететь в сторону и не реагировал на стики. Помогало только переткнуть режимы туда/сюда обратно в стаб.
Выяснилось, что из-за тупняка GPS срабатывал GeoFence, включая RTL.

Логи наше всё 😃

SGur
SovGVD:

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

Конденсат за 3-5 сек не успеет создаться\высохнуть. На аппе еще 4 модели летают нормально. Что и как делать с пересчетом давления?

obion:

У меня похожее поведение моторов в помещении в режимах типа althold/loiter. Если газ поставить в потолок, то через некоторе время моторы начинают вращаться на всю.

Очень похоже, но вот процесс в реальном времени: высунул квадрик за окно в руке- запустил моторы закрутились на очень малых оборотах при любом положении газа, до хувера далеко. убрал газ в ноль, моторы крутятся, переношу в помещение, секунд через 5 моторы останавливаются.
GFENCE и Все файлсейфы выключены. Арм делаю при наличии gps lock, следовательно хом позиция вот на грани окна-комнаты. Случайно нашел какие то логи за это время в планере, был подключен блютус. На первый взгляд 5-й канал не дергал и вроде как в акро стоял. Но проведу чистый эксперимент. Я правильно понял, что планер автоматически пишет логи при коннекте?

obion

да, автоматически пишет тлоги.

По поводу failsafe рекомендовал бы пойти в Full Parameter List и там поиском выбрать все Failsafe, чтобы убедиться полностью.
У меня таким образом был gps failsafe включен по дефолту, из-за которого чуть не самоубился, решив подгазнуть в стабе дома.

RTemka
SGur:

С похолоданием около +3 +5 стало происходить следующее: Делаю арм, даю газ, винты начинают вращаться на холостых оборотах вне зависимости от положения любых стиков и переключателей, ( Acro-stab-loiter-althold-auto-RTL) за исключением yaw. ( на яв реагирует незначительным изменением относительных скоростей моторов) далее внезапно дает полный газ и уносится в небо, так же не реагируя ни на что. Так повторялось более трех раз. Наученный опытом второй и далее разы после капитального восстановления- аппарат держал в руках. и вот когда полностью неуправляемое и жужжащее это вносишь в помещение- контроль полностью возвращается и по помещению нормально в стабе летает. причем изменения происходят в течение 3-5 сек, за которые температура просто просто не успеет оказать влияние. Опыт повторял многократно. Была мысль о непропае, но потом заливал мультивия и нормально летал на улице. возврат на пирата 3 0 2 повторял ситуацию. Может какой датчик в пирате более "жестко " опрашивается или еще что? плата AIO 1.1

Если GPS в наличии походу FS и возврат домой включается 😃 В помещении спутников нет и тишина 😃
Больше такие быстрые перемены не объяснить 😃

Sir_Alex
RTemka:

Больше такие быстрые перемены не объяснить

Что бы хоть что то объяснить нужны логи…