Аварийный второй контроллер на борту или как предотвратить улет коптера?

Anatoll

вот по этому я и предлагал как альтернативу второй датчик GPS… что бы можно было переключиться

An_private
ssilk:

На самом деле реализаций может быть куча, от некоей платы коммутации, к которой подключаются два обычных контроллера, и до FPGA-матриц в которых можно софтовых контроллеров понатыкать хоть 10

Я немного не понял. Вроде же pixhawk как раз и гордился двумя полностью независимыми контроллерами - основным на stm32f4 и резервным на stm32f1. Чем такое решение не нравится?

ssilk
An_private:

Вроде же pixhawk как раз и гордился двумя полностью независимыми контроллерами

Насколько я понял, они там делают разные вещи… у ф4 и ф1 разная производительность и разное количество памяти, они не смогут быть равнозначными контроллерами пока там крутится код арду… Я думаю, что второй МК обслуживает только EKF2 или второй набор сенсоров… Это лучше у Козина спросить…

An_private:

Чем такое решение не нравится?

Тем, что оно не умеет быть двумя разными полетными контроллерами. Это один контроллер с избыточностью сенсоров. А если причина не в сенсорах? Если оба набора дают одинаковые данные? Смысл этой темы в том, чтобы автоматически или вручную передать управление на другой (может быть более простой) контроллер, если первый заглючил или какой то неадекват словил… А на сегодняшний день ни один бюджетный контроллер этого не умеет…

Nesenin
ssilk:

А на сегодняшний день ни один бюджетный контроллер этого не умеет…

насколько я знаю на Буране было 4 полетника и 1 контролирующий аппарат, который сравнивал выходные команды. отклонявщийся игнорировал.

легко и просто на ардуинке сделать аналог мультиплексора. ШИМ на моторы будет прогоняться через него. по выбору с нужного контроллера.
проблем ноль.

An_private
ssilk:

у ф4 и ф1 разная производительность и разное количество памяти, они не смогут быть равнозначными контроллерами

А им и не надо быть равнозначными. Производительность F1 раз так в 5-10 повыше, чем у AVR, используемых в APM. Поупрощать алгоритмы, выкинуть особо ресурсоёмкие части и вполне полноценный контроллер.

ssilk:

оно не умеет быть двумя разными полетными контроллерами

Судя по докам - как раз таки умеет. Но (чьорт побьери) только для fixed wing. Для copter - нет 😦

  • Integrated backup system for in-flight recovery and manual override with dedicated processor and stand-alone power supply (fixed-wing use)
  • Backup system integrates mixing, providing consistent autopilot and manual override mixing modes (fixed wing use)

Да и второй процессор заявлен именно как: 32 bit STM32F103 failsafe co-processor
pixhawk.org/modules/pixhawk

Воздух
Nesenin:

насколько я знаю на Буране было 4 полетника и 1 контролирующий аппарат, который сравнивал выходные команды. отклонявщийся игнорировал.

легко и просто на ардуинке сделать аналог мультиплексора. ШИМ на моторы будет прогоняться через него. по выбору с нужного контроллера.
проблем ноль.

Интересная инфа, а где почитать поподробнее про этот Буран? Я кстати примерно и думал про ардуинку, чтобы она как коммутирующее устройство было.

Nesenin
Воздух:

Я кстати примерно и думал про ардуинку, чтобы она как коммутирующее устройство было.

вот нагуглил заготовку кода hobby.msdatabase.ru/…/moswsw_decoder
тут по прерыванию читается сигнал с пульта (на ноге 3). по его значению надо будем менять вариант трансляции значений простыми функциями digitalRead digitalWrite. быстродействия хватит что б не ипользовать аппаратный ШИМ.
возможно надо будет убрать

if (OldModePulses >= 25)

что б быстрее срабатывал

Воздух

Хорошо. А если все это упростить до такой логики: имеем к примеру назу и cc3d на борту, выходы на регули у них запараллелены, провода с приемника так же идут на оба контроллера. При в нештатной ситуации основного контроллера тумблером щелкаем отсечку питания через электронный выключатель и только аварийный остается в работе. Вопрос в том, если запараллелить выходы контролеров на регули и выходы с приемника, не погорят ли они? Очень хочется попробовать подключить так, но боюсь сгорит все к чертям. Вот мне кажется тут ардуинка и понадобится…

Covax

Вы чего боитесь то? Что наза начнет улетать кудато?
Я лично никогда не слышал, чтобы наза начала улетать, если к ней не подключен компас и гпс, а прошло помоему более полугода, а то и год, прежде чем к ней появился компас+гпс, все глюки из-за них. Так не стоит ли попробывать вначале отключить питание гпс и компаса, и посмотреть как поведет себя наза в этом случае. Сама по себе она очень надежна.

Anatoll
Covax:

Так не стоит ли попробывать вначале отключить питание гпс и компаса

Я вот по этому и настаиваю на том что бы для начала просто дублировать GPS, чтобы при глюках одной включалась другая или что бы работали в паре суммируя и контролируя показания друг друга… а может второй поставить чистый Глонасс ???

Воздух

Тут не в боязни дело, а прежде всего в интересе реализации.

KAIMAN
Covax:

Что наза начнет улетать кудато?
Я лично никогда не слышал, чтобы наза начала улетать, если к ней не подключен компас и гпс, а прошло помоему более полугода, а то и год, прежде чем к ней появился компас+гпс, все глюки из-за них. Так не стоит ли попробывать вначале отключить питание гпс и компаса, и посмотреть как поведет себя наза в этом случае. Сама по себе она очень надежна.

Извиняюсь, а если заметив нестандартное поведение Назы с Гпс, быстро перейти в режим Атти - это поможет как то вернуть адекватное управление?

Anatoll
KAIMAN:

это поможет как то вернуть адекватное управление?

пока так и делают…

KAIMAN

То есть я бы мог предотвратить вчерашний краш просто щелкнув тумблером Атти?) и вернуть адекватное управление.

ssilk
Nesenin:

быстродействия хватит что б не ипользовать аппаратный ШИМ.

Вот я как раз про аппаратный и думал… Быстродействия то у ардуинки хватит, а сможет ли она в фазу попасть? Что будет если на входе регуля импульс собьется? В случае аппаратного ШИМа сигнал на регули будет непрерывный, то есть, как от контроллера… Грубо говоря, имеем ШИМ-генератор управляемый по одному из двух входов, сигналом с пульта переключаем входы…

Воздух:

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

Выходы нельзя напрямую параллелить, даже если оба контроллера будут идентичные, на регули такая мешанина попрет, что это скорее коптер угрохает, чем спасет…) Только как Никита написал, через коммутацию, а уж мультиплексор это или генератор - вопрос конкретной реализации… Еще стоит помнить, что наза и CC3D в Вашем примере имеют одинаковый микроконтроллер, знаменитый своим шумом… Их придется разносить и экранировать друг от друга. Кроме того CC3D или любой другой второй контроллер придется ставить на виброразвязку, как минимум для того, чтобы сенсоры оказались в разных условиях относительно коптера…

Covax
KAIMAN:

То есть я бы мог предотвратить вчерашний краш просто щелкнув тумблером Атти?) и вернуть адекватное управление.

Ксли бы успели, то да.

Nesenin
ssilk:

Грубо говоря, имеем ШИМ-генератор управляемый по одному из двух входов, сигналом с пульта переключаем входы…

там тоже по прерыванию считается длина импульса. если он не корректный, то игнорится. думаю даже если 1 импульс будет нарушен ничего не произойдет (не успеет), следующим уже все исправится.

UserM
Nesenin:

на ардуинке сделать аналог мультиплексора.

Что мешает вместо добавления еще одного потенциально глюкавого девайса использовать просто мультиплексор или коммутатор? Или не воткнули куда нить арду день прошел зря ))

Covax

Отлично сказано про потенциальную глюкавость) кто забыл про фризы ардуинок, упавший коптер вам напомнит)

Nesenin
UserM:

Что мешает вместо добавления еще одного потенциально глюкавого девайса использовать просто мультиплексор или коммутатор?

отсутствие знаний и онного в столе. посвятите нас

UserM
Anatoll:

что мы пытаемся

Что Вы пытаетесь, не знаю . Ещё раз перечитайте название топика, а за одно и к сообщения к которым относился мой пост.
Может стоит в первую очередь по беспокоится о безопасности людей, а не о вашей игрушке?
Представьте что девайс решил улететь в строну оживленной трассы или населенного пункта.

Nesenin:

отсутствие знаний

И что гугл не может помочь? Википедия например.

СВ4016B, СВ4019B