Автоматическое обнаружение датчиков и обнаружение аппаратных сбоев в iNav
Как работает автоопределение в INAV
В INAV, когда параметры mag_hardware (магнитометр) и baro_hardware (барометр) установлены в значение AUTO, система пытается автоматически определить, какой датчик подключен.
Когда она находит датчик, она меняет параметр на найденный тип, например BMP280. Если датчик найти не удается, параметр *_hardware устанавливается в значение NONE.
Причина переключения с AUTO на конкретный обнаруженный датчик заключается в том, чтобы функция обнаружения аппаратных сбоев работала корректно.
Значение по умолчанию после прошивки новой версии — AUTO. Это заставляет прошивку искать датчики при первой загрузке и устанавливать найденные.
Если вы подключите магнитометр после первой загрузки, он не будет обнаружен автоматически. Вам придется либо указать mag_hardware вручную, либо снова установить mag_hardware = AUTO, чтобы попытаться определить компас автоматически. (Это также относится к случаю, если у вас уже подключен внешний компас, но на него не было подано питание при первой загрузке).
Обнаружение аппаратных сбоев
Начиная с версии 1.5, в INAV присутствует функция обнаружения аппаратных сбоев. Во время работы все датчики — GPS, BARO, MAG, ACC, GYRO, SONAR — периодически проверяются системой диагностики. Для каждого датчика существует 4 ситуации:
Случай №1: Датчик не настроен
- Если настройка
*_hardwareустановлена вNONE. Датчик при этом не отслеживается системой диагностики, помечается как NOT AVAILABLE (НЕДОСТУПЕН) и это не считается аппаратным сбоем.
Если датчик настроен, он периодически проверяется, и его статус передается в Конфигуратор через MSP, а также используется для предполётных проверок.верок.
Случай №2: Датчик настроен, но не обнаружен
- Это может произойти, если вы настроили датчик, которого физически нет (например, случайно установили
mag_hardwareнаMAG3110, в то время как ваш чип компаса —HMC5883). В этом случае сообщается статус NOT DETECTED (НЕ ОБНАРУЖЕН), и это считается аппаратным сбоем.
Случай №3: Датчик настроен, обнаружен, но данные некорректны
- Датчик обнаружен правильно, но выдает противоречивые показания. Эта проверка может быть реализована не для всех датчиков, но если она есть, такой датчик помечается как NOT HEALTHY (НЕИСПРАВЕН), что считается аппаратным сбоем.
Случай №4: Всё в порядке
- Датчик настроен, обнаружен правильно и передает корректные и стабильные данные. Сообщается статус GOOD (ИСПРАВЕН).
Если какой-либо из датчиков находится в состоянии NOT DETECTED или NOT HEALTHY — плата не заармится (не включится режим готовности), а в предполётной проверке "Hardware health" в Конфигураторе будет указано FAIL.
Обнаружение аппаратных сбоев не блокирует работу во время полета. Единственное исключение — если INAV теряет данные о местоположении и больше не знает, где находится (например, потеря фиксации GPS). Это приведет к выходу аппарата из режимов GPS, а если это произойдет во время возврата домой (RTH) по Failsafe, будет выполнена аварийная посадка.
ID 21
-
iNav для самолетов с неподвижным крылом
Любой полетный контроллер можно использовать для сборки самолетов с неподвижным крылом, однако контроллеры, специально разработанные для этой цели, сделают сборку проще и потребуют меньше дополнительных компонентов.
-
Причины отказа активации дрона («нет Арма») в iNav
Система INAV может отказать в выполнении некоторых операций, включая активацию («Арминг») или процедуры выполнения маршрута полета. Настоящий документ описывает возможные причины таких ситуаций.