Выбрать главу

Строка #define GPS_WP_RADIUS 200 определяет расстояние до заданной точки в сантиметрах, при котором можно считать, что точка уже достигнута. Указывать расстояние менее 200 см нет смысла, т. к. это минимальная погрешность применяемых нами гражданских приемников. В противном случае контроллер коптера может считать, что нужные координаты не достигнуты и бесконечно долго флуктуировать около точки назначения.

Параметр #define NEW_SLAVE_RATE 30 определяет сглаживание случайных выбросов данных. Если коптер ведет себя стабильно в режимах GPS HOLD и GPS HOME, можно попробовать уменьшить этот параметр до 15.

Стартовая позиция GPS HOME обнуляется каждый раз при арминге моторов. То есть, квадрокоптер считает "домашней" ту точку, в которой активированы моторы. Но это не всегда приемлемо для опытных пилотов. Например, при полетах по FPV оператор может посадить коптер на крышу здания, отключить моторы, затем взлететь снова. В этом случае первоначальные домашние координаты будут утрачены и в случае срабатывания функции Filesafe при утрате связи коптер автоматически вернется на крышу здания, а не к оператору. Чтобы этого не случалось, можно раскомментировать строку //#define DONT_RESET_HOME_AT_ARM. При этом в качестве домашних запоминаются координаты, в которых выполнена команда калибровки гироскопов (левый стик до упора влево и вниз, правый стик до упора вверх).

Подключение приемника GPS с прошивкой MahoWii

Настройка прошивки MahoWii для подключения приемника NEO-6M лишь незначительно отличается от настроек прошивки MultiWii v2.3. Необходимо задать высоту полета, которую будет поддерживать коптер при автоматическом возвращении домой по функции RTH в строке #define ALT_TO_RTH 3000. Высота задается в сантиметрах.

В строке #define ALT_TO_RTH_FINISH 200 указывается высота зависания при достижении точки возврата. Не следует указывать высоту меньше 200 см, т. к. за время полета может накопиться погрешность барометра. Кроме того, как вы помните, барометр дает большую погрешность при висении на малой высоте.

Строка #define INS_PH_NAV_ON включает инерциальную систему удержания позиции, которая учитывает данные акселерометра для повышения точности удержания.

Подключение дисплея

Теперь, когда можно приобрести по доступной цене графические OLED- или TFT-модули, приобретение двустрочного текстового дисплея для подключения к полетному контроллеру вряд ли целесообразно. Поддержка OLED-дисплеев встроена в прошивку MultiWii. Для подключения цветного TFT-дисплея автор разработал собственную конструкцию на базе микроконтроллера ATmega328.

Монохромный OLED дисплей CRIUS СО-16

Дисплей подключается по протоколу I2С к соответствующему четырехконтактному разъему полетного контроллера. На этот же разъем выведено напряжение питания +5 В. Обратите внимание, что в отличие от "перекрестного" подключения по последовательному протоколу UART, соединение для I2С должно быть прямым: SDA —> SDA, SCL —> SCL.

Для активации поддержки OLED-дисплея в прошивке найдите секцию LCD/OLED — display settings и раскомментируйте строку

#define OLED_I2C_128x64

Если вы не хотите, чтобы при включении питания на дисплей выводилась стартовая заставка в виде логотипа MultiWii, то закроите комментарием строку

#define SUPPRESS_OLED_I2C_128x64LOGO

Теперь включим вывод телеметрии на дисплей строкой

#define LCD_TELEMETRY

Информация разбита на девять страниц, с 1 по 9. Нулевой странице соответствует пустой экран. Можно задать автопереключение страниц строкой

#define LCD_TELEMETRY_AUTO "123452679"

или установить произвольный порядок автопереключения, например

#define LCD_TELEMETRY_AUTO "212232425262729"

где странице номер два уделено особое внимание. Должна быть раскомментирована только одна из двух упомянутых строк.

Страницы можно переключать вручную, движением правого стика до упора вправо вверх. Для этого строки автопереключения должны быть закомментированы, а раскомментировать надо строку

#define LCD_TELEMETRY_STEP "0123456789"

Порядок следования страниц может быть произвольным, любые страницы, включая нулевую, можно удалить из последовательности или повторить.

Настройка параметров через меню дисплея

При помощи стиков пульта и меню, отображаемого на дисплее, можно настроить различные параметры: PID, экспоненты, минимальный и максимальный газ, привязку переключателей AUX. Прямо скажем, делать это, глядя на крошечный монохромный экран — удовольствие на большого любителя. Но в ситуации, когда подходящий смартфон или ноутбук недоступен, может пригодиться и дисплей. Для включения функции конфигурирования раскомментируйте строку