Ардупилот - мини (atmega328)

Dear friends, unfortunately this site is in Russian, however you can click link under for download.

Currently the AP 2_8 firmware have the status of the beta version, some time here will be published fully tested release

Also you can also download the firmware AP 2.7 modifed by me, it fixes some bugs causing navigation to move to a point on the arc, servo tremor, added support of Remzibi OSD, fixed remzibi osd set home bug. AP_2_7 firmware fully tested in fly.

Тут будет история об изучении программного кода мини-ардупилота в целях его доработки и получения современной, отточенной версии.

Особенности прошивок:

Ardupolot 2.6

  • Нет возможности использовать канал 4 для руля направления

  • Отсутствует дрожание сервами в автоматических режимах

Ardupolot 2.7 + Remzibi as CGS модификация

  • поддержка Remzibi OSD (система внедрения титров в видеосигнал) для визуального контроля параметров полета (для использования этой системы понадобится портативная камера, видеопередатчик, видеоприемник, видеоочки)

  • исправлена ошибка навигации изза которой модель шла к очередной точке "по дуге"

  • убрано дрожание сервоприводов

В приложениях будет актуальная, наиболее функциональная версия прошивки.

Надеюсь на ваши комментарии, замечания и участие.

Планы:

  • Облетать на симуляторе 2.8 версию (частично выполнено)

  • Облетать на модели 2.8 версию

  • Выпустить релиз

  • Вычистить раритетный функционал (частично выполнено)

Планируется убрать поддержку :

  • возможности подключения GPS модулей напрямую минуя плату сенсоров

  • прямого подключения аналоговых сенсоров termophiles (выполнено) и датчика воздушной скорости (датчик воздушной скорости подключать к плате сенсоров)

Результаты тестирования в X-plane 9 :

автоматически (без моего участия):

  • Взлет

  • Проход по маршруту

  • мягкая посадка четко на полосу

Модель: Cessna 172

прошивка ардупилота: ardupilot 2.8 beta 6

прошивка 2.8 пока beta и использовать ее следует с осторожностью,

прошивка 2.7 полностью готова,

но перед полетом следует задать конфигурацию подходящую под вашу модель.

в моем случае я задаю следующие значения:

#define POSITION_1 MANUAL // the default, don't bother changing.

#define POSITION_2 STABILIZE

#define POSITION_3 RTL

Переключатель режимов использую с канала 5, на нем на используемом мною пульте sanwa установлен 3х позиционный переключатель.

реверс серв:

#define REVERSE_ROLL -1 // To reverse roll, PUT -1 to reverse it

#define REVERSE_PITCH -1 // To reverse pitch, PUT -1 to reverse it

#define REVERSE_RUDDER -1 // To reverse rudder for 4 channel control setups

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

#define THROTTLE_CRUISE 70 // (0-100 %) Default throttle value - Used for central value.

#define THROTTLE_MAX 100

Результаты летных испытаний:

ArduPilot_2_7.1_no_tremor

Пилотажная модель "пенолета" около метра в размахе крыльев, электролет, использовали стоковые пиды, проверяли режимы ручной, стабилизация, авто по 4 точкам, возврат домой. Забравшись повыше пытались свалить модель в пикирование и штопор - отпустив стики в режиме стабилизации модель моментально возвращалась в горизонтальный полет, заход на посадку в режиме "стабилизация" - превосходно. пробовали калибровать "иму" по горизонту и с положительным тангажем, сделали вывод, что во втором случае легче заходить на посадку.

Особенности монтажа: Поскольку модель бескорпусная а летали мы в условиях дождя и мокрого снега все платы были обернуты в несколько слоев стретч-пленки (используемой в кулинарии и торговле) при этом все штыревые разъемы остались снаружи, разъемы jst также защелкиваются сквозь пару слоев пленки. Учитывая помехи от электромотора и FPV передатчика, который был расположен на крыле, а GPS модуль разместили подальше, к хвосту модели, плата сенсоров размещена по центру модели, плата "ардупилот" рядом с примеником - для минимизации массы пучка проводов от приемника к "ардупилот" и от "ардупилот" к сервоприводам

AP_2_8_Beta7

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

Мини -фак:

  • Если вы в первый раз включили ардупилот и обнаружили что рули пришли в неполетное состояние в любом из режимов отличном от ручного - не следует пугаться, ардупилот показывает вам что он не готов к полету. Дождитесь захвата спутников и лишь после этого запускайте модель. Вы ведь не хотите чтобы модель вместо того чтобы вернуться к вам улетела в произвольном направлении? Дело в том что ардупилот запоминает первую точку определенную GPS как домашнюю, в нее он и должен вернуться при активировании режима RTL или по достижении последней маршрутной точки. Сигнализация неготовности специально сделана для предотвращения этой ситуации. Возврат осуществляется на высоте заданной при помощи утилиты загрузки маршрутных точек в параметре "альт холд", при достижении точки возврата модель будет кружить над домашней точкой.

  • Правильно ардупилот включать так: переключатель режимов должен находиться в положении "ручной", стик газа должен стоять в позиции выкл. Если вы включили неправильно, то при определенной настройке параметров прошивки модель может решить что произошла ситуация "airstart" (перезагрузка ардупилота в полете результате сбоя) и попытаться продолжить полет.

  • При правильном включении и получении первых координат от GPS / IMU ардупилот сохраняет домашнюю точку и трижды приветствует вас максимальными движениями рулей, сообщая свою свою готовность к полету.

  • Учитывая особенность большинства модулей GPS давать неточные координаты в течение 2х минут после первого захвата спутников (если он долго не включался и батарейка резервного питания GPS села) для повышения точности установки домашней позиции рекомендую произвести нажатие на кнопку сброс на "Ардупилоте" по прошествию 2 минут после захвата спутников (незабываем про ручной режим и 0 газа в этот момент) Неточность зависит он качества модуля GPS, отсуствия помех, соблюдения рекомендаций подключения и установки.

  • Если при подключении питания плата сенсоров не была в горизонтальном и неподвижном состоянии следует выбрать горизонтальное положение и нажать кнопку сброс на плате сенсоров, при калибровке должны мигать поочередно три светодиода, необходимо оставить модель неподвижной во время всей процедуры калибровки. Плата сенсоров должна быть установлена в плоскости самолета, вперед штырями FTDI, вверх светодиодами, место для установки следует выбирать по возможности поближе к центру модели, подальше от источников вибрации и электронных помех, положительно сказывается установка на вибропоглощающее крепление и точная балансировка мотора и винта.

  • Если вам не удается загрузить маршрутные точки в ардупилот несмотря на правильную настройку порта и параметров Arduino IDE проверьте что от ардупилота отключен GPS/IMU разъем, его сигналы могут перебивать входные данные с компьютерного порта. с тем чтобы не отключать каждый раз разъем есть следующие методы:

  1. Зажимать кнопку сброс на IMU на весь период загрузки прошивки или маршрутных точек (я долгое время использовал прищепку),

  2. Использовать плату сенсоров воздушной скорости (airspeed shield) с мультиплексором FTDI, в этом случае в режимах программирования мультиплексор автоматически отключит данные с GPS порта,

  3. Использовать плату "ардупилот" дополненную мультиплексором (именно эта модель представлена в разделе продукция)