Activity

Конфигурация моего эксперементального подвеса для камеры

По просьбам телезрителей 😃 выкладываю описание подвеса, с которого были сделаны тестовые видео DIY Brushless Direct Drive Gimbal Indoor flight test и DIY Brushless gimbal outdoor test.

Основные параметры подвеса:

Вес: 100г
Потребляемый ток: 0.5A, 12В
Углы наклонов: ROLL ±90, PITCH ±180

Общий вес аппарата с батареей 3s 3000 и камерой: 1300 грамм.
Время полета: 8-10 мин.

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

Но для такого принципа стабилизации нет ни контроллеров, ни моторов, ни ПО для конфигурации. Пока все это решено “на коленке” и “на соплях”, и в планах следующее:

  1. Сделать нормальный контроллер на PCB небольшого размера, объединяющий процессор и силовые ключи для моторов. Заказал и жду компоненты. Потом придется проектировать и заказывать PCB.

  2. Подобрать подходящий мотор для легкого монтажа и перемотки. В данном экземпляре один мотор на стяжке держится, второй от старого CD-ROM без подшипников (что сказывается на качестве). Думаю, идеально подойдут моторы с резьбовыми отверстиями на статоре и роторе. Заказал и жду несколько кандидатов на вскрытие.

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

  4. Написать GUI для конфигурации подвеса (вероятно на Processing, как сделано в MultiWii)

Upd: кратко опишу принцип работы. Он очень прост, а далее идут нюансы как из г. сделать конфетку.

  1. Угол наклона подвеса по всем осям меряет IMU на платформе камеры. Это ACC+GYRO, а математика стандартная и расписана сотню раз, посмотртите в любом полетном контрлллере с open source

  2. Нужный нам угол высталяется с пульта. Далее PID-контроллер определяет ошибку по каждой оси и дает сигнал на моторы. На выходе контроллера - “электрический угол” (см. принцип работы безколлекторников). Далее, этот угол преобразуется в три синуса, сдвинутые на 120 град., и подается тремя PWM-генераторами на силовые ключи - (полумост на каждую фазу). Таким образом, вектор магнитное поля в обмотках статора поворачивается на нужный угол, а ротор стремится следовать за ним, исправляя ошибку.

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

Upd2: видео работы со стороны Brushless gimbal in work

Upd3: проект оброс собственным сайтом: www.simplebgc.com

Upd4: все обсуждение переносится в ветку на форуме:
Подвес камеры на безколлекторных моторах прямого привода

Инструкции по настройке AltHold в MultiWii (в моем моде)

Дальнейшее справедливо для r15 моей ветки MultiWii.

  1. Скачать мод можно отсюда: code.google.com/p/multiwii-alexmos/…/detail?name=M… и к нему GUI: code.google.com/p/multiwii-alexmos/…/detail?name=M…
    (мод совместим только с моей версией GUI, т.к. официальный протокол уже успел измениться)

  2. Настройте config.h под свои нужды. Все новые параметры в конце.

  3. Залейте прошивку и подключитесь к GUI. Проверьте, что данные идут и все стандартные датчики рабоают как надо

  4. Откалибруйте акселерометр по 6-ти точкам. Смысл в том, чтобы каждую ось сориентировать ровно вниз и вровно вверх (±5 градусов), после каждого разворота зафиксируйте и нажмите “CALIB_ACC”. Порядок не важен, но первой всегда должно быть “нормальное” положение, т.к. при калибровке в нормальном положении работает старый метод и стирает всю точную калибровку.

    Проверьте результат калибровки: в 6 экстремальных положениях в GUI показатели ACC должны быть ±255 (то есть 1G=255 по всем осям в + и в -)

  5. В config.h раскоментируйте ALT_DEBUG, если он закоментирован. В GUI пойдет следующая информация:
    Alt=высота вычисленная в дц, heading=скорость (см/сек.), debug1=Высота с датчиков, дц, debug2, debug3=ошибка между высотой с датчиков и высотой вычисленной, debug4=коррекция throttle при работе алгоритма.

  6. Сориентируйте аппарат на плоскости и включите вывод графиков debug1 и alt. Данные должны примерно совпадать, но при работе барометра alt менее шумная чем debug1. При небольших наклонах
    вычисленная высота может слегка уплывать, но не сильно. При перемещенях на 1м - соответсвенно изменение должно отражаться на графике. Если есть сонар, то debug1 должен быть очень гладким и точно отражать любое изменение высоты с разрешением в пару см. Если только барометр - debug1 шумит с амплитудой 1м, это нормально.

  7. Настройте Alt PID: P=10, I=0.020, D=10, и бокс BARO на любой AUX (чтобы можно было включать и выключать AltHold).

  8. Без подключенной батареи, только в режиме эмуляции: Включите движки, режим AltHold и график debug4 в GUI. Должно быть так: в неподвижном состоянии debug4 возле нуля, при резких рывках вверх-вниз - выбросы для компенсации, при смещении на долгое время - медленный рост компенсации.

  9. Удерживая в руках: подключите питание к регулям, включите движки, выставите газ прмерно на зависание и включите AltHold. Проверьте правильность реакции на изменения высоты.

  10. Если все правильно, можно запускать. Для отключения сонара можно активировать режим PASSTHRU (тогда высота держится только по барометру).