Настройка пользовательской платы
Внимание: Этот раздел выходит за рамки типичного сценария использования Betaflight. Рекомендуется использовать готовую целевую конфигурацию (target) для полётного контроллера (FC), которая уже прошла тщательное тестирование. Такие конфигурации можно найти в списке унифицированных целей (unified targets).
Тем не менее, Betaflight может поддерживать самодельные полётные контроллеры при условии, что они содержат поддерживаемое оборудование. Прежде чем использовать Betaflight вообще, настоятельно рекомендуется:
- Убедиться, что ваш микроконтроллер (MCU) и периферийные компоненты поддерживаются. Хорошими источниками информации являются страницы Supported Sensors (Поддерживаемые датчики) и Hardware Reference (Замечение по оборудованию). Betaflight поддерживает множество процессоров STM32.
- Тщательно протестировать работоспособность своей аппаратуры с помощью интегрированной среды разработки (например, STM32CubeIDE) или других инструментов и методов отладки аппаратного обеспечения.
Чтобы создать собственную конфигурацию, сначала необходимо с помощью команды resource в интерфейсе командной строки (CLI) сопоставить выводы периферийных устройств с соответствующими пинами вашего контроллера. Используйте документацию по CLI и другие справочные материалы для изучения синтаксиса команд. Затем применяйте команду set, чтобы указать тип шины, I²C-адрес, частоту/тип фильтра нижних частот (LPF), тип барометра (baro_hardware), тип гироскопа (gyro_hardware) и т.д. Эти параметры в первую очередь зависят от вашего конкретного оборудования и потребуют множества итераций методом проб и ошибок. После настройки сохраните конфигурацию командой save и перезагрузите контроллер. Если оборудование не распознаётся, потребуется изменить или добавить дополнительные настройки в CLI, чтобы точно описать Betaflight состав вашей платы. При этом обязательно опирайтесь на даташиты и схемы вашей самодельной платы и её компонентов.
Помимо команд resource и set, существуют специальные команды timer и dma. Для некоторых функций — например, измерения напряжения аккумулятора или управления моторами — необходимо привязать к соответствующим пинам таймер и/или канал прямого доступа к памяти (DMA), чтобы эти функции работали корректно.
Примеры команд:
# timer
timer <пин> AF(x) [1-3]
# dma
dma [SPI_TX|ADC|пин] [индекс|пин] [0|1]
Для подобных нестандартных конфигураций настоятельно рекомендуется использовать уже существующие ГОТОВЫЕ конфигурации в качестве справочного образца.
Поддерживаемые датчики / сенсоры
Введение
Это неполнный список датчиков / сенсоров, поддерживаемых Betaflight. Чтобы точно убедиться, что ваш датчик поддерживается, проверьте исходные файлы в каталогах:
/src/main/drivers/accgyro/src/main/drivers/barometer/src/main/drivers/rangefinder/src/main/drivers/compass
Магнитометры (Компасы)
- AK8975
- AK8963
- HMC5883L
- QMC5883L
- HMC5983
Гироскопы / Акселерометры
- MPU3050
- MPU6050
- MPU6500
- MPU6000
- MPU9250
- BMI160
- BMI270
- ICM20601
- ICM20602
- ICM20649
- ICM20689
- ICM40625
- L3GD20
- LSM6DSO (LSM6DSOX)
Барометры
- BMP085
- BMP280
- BME280
- BMP388
- QMP6988
- MS5611
- DSP310
Дальномеры (Range Finder)
- HCSR04
- Benewake LIDAR TF02
- Benewake LIDAR TFmini
