Зліт затримано, доки не буде видно, що мотори обертаються
Що пише ArduPilot:
- … ESC RPM out of range
- … waiting for ESC RPM
- … CPU overload (N.N%)
Коли TKOFF_RPM_MIN більший за 0, після армування мотори тримаються на холостих обертах, доки кожен ESC не повідомить телеметрією щонайменше TKOFF_RPM_MIN об/хв (і не більше TKOFF_RPM_MAX, якщо його задано). «waiting for ESC RPM»: один чи кілька ESC жодного разу не надіслали телеметрії. «ESC RPM out of range»: телеметрія надходить, але мотор обертається повільніше за мінімум чи швидше за максимум, або його дані застаріли: він, можливо, зовсім не крутиться. Рядок повторюється кожні 5 с, доки всі мотори не пройдуть перевірку.
Що робити: найімовірніше спершу
Мотор не обертається: його ESC не запустився, втратив синхронізацію, або пошкоджено мотор чи дріт. Перевірка робить свою справу.
ПеревіртеПодивіться на мотори після армування: один стоїть або смикається. Телеметрія ESC у наземній станції показує його оберти рівними 0.
ВиправтеДизармуйте й знайдіть мотор, що стоїть. Знявши пропелери, запустіть тест моторів на кожному виході.
Телеметрія ESC охоплює не всі мотори: двонапрямний DShot увімкнено не для всіх виходів, або бракує дроту телеметрії.
ПеревіртеУ телеметрії ESC наземної станції менше ESC, ніж моторів у коптера.
ВиправтеЗадайте
SERVO_BLH_BDMASKтак, щоб він охоплював усі виходи моторів (або під'єднайте телеметрію кожного ESC), і перезавантажте.TKOFF_RPM_MINвищий за оберти, з якими мотори крутяться на холостих після армування.ПеревіртеУсі мотори обертаються рівно, але повідомлення «ESC RPM out of range» не зникає.
ВиправтеПісля армування прочитайте з телеметрії холості оберти (для першої перевірки зніміть пропелери) і задайте
TKOFF_RPM_MINприблизно як половину від них.«CPU overload»: від польотного контролера вимагають більше, ніж він може: високі частоти циклу чи логування, важкі скрипти, багато фільтрів.
ПеревіртеPM.Load у лозі тримається близько 100%, і відсоток у повідомленні каже те саме.
ВиправтеЗменште
SCHED_LOOP_RATEабо частоти логування, зупиніть непотрібні скрипти й скоротіть кількість режекторних фільтрів; навантаження має лишатися нижче 95%.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
TKOFF_RPM_MIN | Takeoff Check RPM minimum |
TKOFF_RPM_MAX | Takeoff Check RPM maximum |
SERVO_BLH_BDMASK | BLHeli bitmask of bi-directional dshot channels |
MOT_SPIN_ARM | Motor Spin armed |
SCHED_LOOP_RATE | Scheduling main loop rate |
Де це зробити:Стенд моторів і пропелерівНалаштування й тюнінг
Код, який це надсилає
… ESC RPM out of range
ArduCopter/takeoff_check.cpp Copter::takeoff_check() · Відкрити в ArduPilot Copter-4.6.3
libraries/AP_Vehicle/AP_Vehicle.cpp AP_Vehicle::motors_takeoff_check() · Відкрити в ArduPilot Copter-4.7.1
… waiting for ESC RPM
ArduCopter/takeoff_check.cpp Copter::takeoff_check() · Відкрити в ArduPilot Copter-4.6.3
libraries/AP_Vehicle/AP_Vehicle.cpp AP_Vehicle::motors_takeoff_check() · Відкрити в ArduPilot Copter-4.7.1
… CPU overload (N.N%)
ArduCopter/takeoff_check.cpp Copter::takeoff_check() · Відкрити в ArduPilot Copter-4.7.1