Ардупилот на OpenPilot Revolution и других платах на STM32F4

Прошивка

Для первой прошивки плату необходимо переключить в режим DFU бутлоадера, для этого нужно подключить питание с нажатой кнопкой BOOT, после чего прошить через любую программу, предназначенную для DFU, лучше всего через родной DfuSe от ST

Первый раз прошивать нужно файл <плата>_bl - он содержит в себе бутлоадер. Потом достаточно прошивать файл <плата>.hex <плата>.dfu, они размещаются с нужного адреса и не трут параметры при прошивке.

 Подключение к плате Revolution / RevoMini

Я пытался поддерживать совместимость с документацией OpenPilot. Основное различие - FlexiPort по умолчанию UART, а внешний порт I2C находится на выводах 7 и 8 входного порта. Но это может быть изменено параметром HAL_FLEXI_I2C

MainPort - телеметрия, Serial1.Также он может использоваться как вход SBUS с аппаратным инвертором (параметр BRD_UART_SBUS), но при наличии софтверного декодера это расточительство.
FlexiPort - OSD, Serial2
Uart6 (контакты 5 и 6) - GPS, Serial3

Входной порт: (режим PWM не поддерживается - это общая тенденция)
контакт 1 входного порта GND
контакт 2 входного порта +5
контакт 3 входного порта - это 1-й вход PPM / SBUS / DSM / SUMD или Servo9 (если вы используете RC через UART)
контакт 4 входного порта -       2-й вход PPM / SBUS / DSM / SUMD или Servo10, также может работать как UART только на прием (для GPS) 
контакты 5 и 6 входного порта - Tx и Rx UART6 (для GPS - Serial3)
контакты 7 и 8 входного порта - это SCL и SDA внешнего I2C (или Tx и Rx для SoftSerial, если I2C перемещен в FlexiPort) - или Servos 7 и 8

SERVO Out port - Выходной порт для моторов
Подключите к выходным выводам PWM в порядке ArduCopter, CleanFlight или OpenPilot и установите параметр BRD_MOTOR_LAYOUT соответственно

Выходы PWM 5 и 6 могут быть использованы как Rx и Tx Serial4 - но только для квадров или самолетов (кроме маппинга моторов 1, см. ниже) 

также контакты 1 и 2 выходного порта могут использоваться в качестве выходов на сервы, в этом случае подключать моторы к контактам 3-6 в порядке ArduCopter со сдвигом на 2 вверх.

Порт OpLink

Приемник DSM satellite может быть подключен к порту Oplink (UART5) или к входам PPM (контакты 3 и 4 входного порта)

привязка DSM сателлита может быть выполнена двумя способами:
1. с дополнительным управляемым стабилизатором 3,3 вольта.
2. с непосредственным подключением к 3.3v, привязка потребует короткого отключения питания

Подключение к порту OpLink
Контакт 1 - Gnd,
контакт 2 - +5 (для DSM требуется 3.3!)
контакт 3 - Rx
контакт 4 - включение 3.3 стабилизатора.
контакт 5 - PC10 (pin 51) SCK
контакт 6 - PC12 (pin 53) MOSI
контакт 7 - PC11 (pin 52) MISO

Также порт Oplink может использоваться как внешний SPI для подключения SD-карты (F4light_Revolution_SD),

Датчики Airspeed & RSSI

Выводы Servo5 и Servo6 могут использоваться как аналоговые входы для датчика скорости и/или RSSI, подключение (в МП):

Servo5 = 48
Servo6 = 47

светодиоды

Вся важная информация отображается на 2х светодиодах RevoMini

Синий светодиод: состояние системы
 Очень быстрое мигание - инициализация
 Мигает - готово к армингу
 Двойное мигание - проверка не прошла, арминг невозможен
 Постоянное свечение -  заармлено
 медленное мигание (около 2 Гц) в полете - файлсейф по аккумулятору
 быстрое мигание (около 4 Гц) в полете - файлсейф радиоуправления
 мигание (небольшие темные паузы) - автотюн завершен
 двойное затемнение - автотюн завершился с ошибкой

Зеленый светодиод: состояние GPS
 Темный: нет фикса
 Мигает: количество миганий показывает количество спутников минус 6, так что если поймано 10 спутников то будет мигать сериями по 4 вспышки

специальные режимы:
 "полицейская мигалка" - калибровка ESC или SaveTrim
 короткое мигание обоих светодиодов - калибровка компаса

Подключение к плате Airbot F4

GPS подключить к UART6 , OSD к UART1 ,при использовании телеметрии подключать лучше только tx полетника -> rx OSD.

Модем для телеметрии так же подключать к UART1. Так же можно установить параметр HAL_CONSOLE_UART,1 ,он будет отправлять консольные данные вместе с телеметрией , может помочь в диагностике проблем.

Барометр и компас к SDA/SCL

 

 

Например GY-652 HMC5983 BMP180

 

 

 

 В данном случае приемник подключен по PPM . 

Перемычка SBUS снята. BUZZER не установлен.

 

 

 

 

Прошивал бетафлай конфигуратором , загрузкой локального фаила прошивки.Как пользоваться бетафлай конфигуратором ,точнее частью что касается прошивки ,полно видео в интернете.
Прошивка 
Фаил latest.zip прошивка revomini_airbot

После прошивки появилось неизвестное устройство ,установил свежий Mission Planner ,с ним установились новые драйвера и устройство стало определяться как PX4-FMU.
В Mission planner :
Калибровка акселерометра
Калибровка компаса
Калибровка радио
Для осд нажал на кнопку Enable OSD и всё пошло
В full parametr list
Напряжение BATT_VOLT_PIN,8
Ток BATT_CURR_PIN,7
RSSI RSSI_ANA_PIN,47
Так же было рекомендовано включить EKF3
AHRS_EKF_TYPE,3
EK3_ENABLE,1

Видео как собрал/проверял/полет 

Видео полет в loiter/rtl

 

-
Рейтинг@Mail.ru