Далекомір увімкнено в параметрах, але драйвер для нього не запустився
Що пише ArduPilot:
- Rangefinder 0x…: Not Detected
RNGFNDn_TYPE не дорівнює 0, але під час увімкнення ArduPilot не зміг запустити драйвер цього далекоміра (число в повідомленні показує, котрого: 1 — це RNGFND1). Драйвери запускаються один раз, під час завантаження: послідовному датчику потрібен порт, налаштований на протокол далекоміра, а датчик I2C має саме в цю мить відповісти на шині. Пізніше спроби не повторюються, тож повідомлення лишається, доки причину не усунуто й польотний контролер не перезавантажено.
Що робити: найімовірніше спершу
Тип задали чи змінили, а польотний контролер після цього не перезавантажували.
ВиправтеПерезавантажте. Якщо повідомлення зникло — справа була лише в цьому.
Це послідовний далекомір (TFmini, TF-Luna, LightWare), а жоден послідовний порт не налаштовано на протокол далекоміра.
ПеревіртеЗ'ясуйте, до якого UART ідуть дроти датчика («Планувальник плати й підключення» покаже, який контакт — який UART), і подивіться
SERIALn_PROTOCOLцього порту: має бути 9 (Rangefinder). Перший послідовний далекомір займає перший порт із 9, другий — наступний.ВиправтеЗадайте цьому порту
SERIALn_PROTOCOL9, аSERIALn_BAUD— швидкість датчика (115 для 115200, як у TFmini), і перезавантажте.Далекоміра немає: параметр лишився з файлу іншого апарата.
ВиправтеЗадайте
RNGFNDn_TYPE0 для далекоміра, названого в повідомленні, і перезавантажте.Далекомір I2C не відповів під час завантаження: не було живлення, переплутано SDA і SCL або неправильна адреса.
ПеревіртеБагато лідарів живляться з боку батареї: від самого USB вони ще вимкнені, коли плата завантажується й шукає їх. Порівняйте
RNGFNDn_ADDRз адресою з інструкції до датчика.ВиправтеПодайте живлення від батареї (пропелери зняті), виправте підключення чи
RNGFNDn_ADDRі перезавантажте.Цю прошивку зібрано без драйвера для такого типу датчика.
Перевірте«Аналізатор прошивки» показує, з чим зібрано файл прошивки. Плати з 1 МБ флеш-пам'яті не мають багатьох драйверів далекомірів.
ВиправтеЗберіть прошивку з цим драйвером або оберіть датчик, який прошивка підтримує.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
RNGFND1_TYPE | Rangefinder type |
RNGFND2_TYPE | Rangefinder type |
RNGFND1_ADDR | Bus address of sensor |
SERIAL1_PROTOCOL | Telem1 protocol selection |
SERIAL2_PROTOCOL | Telemetry 2 protocol selection |
SERIAL3_PROTOCOL | Serial 3 (GPS) protocol selection |
SERIAL4_PROTOCOL | Serial4 protocol selection |
SERIAL5_PROTOCOL | Serial5 protocol selection |
Де це зробити:Планувальник плати й підключенняАналізатор прошивкиЗбирач прошивки
Код, який це надсилає
Rangefinder 0x…: Not Detected
libraries/AP_RangeFinder/AP_RangeFinder.cpp RangeFinder::prearm_healthy() · Відкрити в ArduPilot Copter-4.7.1