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 мин.
Благодаря примитивной механике, подвес такого типа получается достаточно легким и может ставиться на небольшие аппараты.
Но для такого принципа стабилизации нет ни контроллеров, ни моторов, ни ПО для конфигурации. Пока все это решено “на коленке” и “на соплях”, и в планах следующее:
-
Сделать нормальный контроллер на PCB небольшого размера, объединяющий процессор и силовые ключи для моторов. Заказал и жду компоненты. Потом придется проектировать и заказывать PCB.
-
Подобрать подходящий мотор для легкого монтажа и перемотки. В данном экземпляре один мотор на стяжке держится, второй от старого CD-ROM без подшипников (что сказывается на качестве). Думаю, идеально подойдут моторы с резьбовыми отверстиями на статоре и роторе. Заказал и жду несколько кандидатов на вскрытие.
-
Допилить прошивку для калибровки и выставления горизонта по командам с пульта. Сейчас калибровать надо, но в полевых условиях с компом это крайне неудобно.
-
Написать GUI для конфигурации подвеса (вероятно на Processing, как сделано в MultiWii)
Upd: кратко опишу принцип работы. Он очень прост, а далее идут нюансы как из г. сделать конфетку.
-
Угол наклона подвеса по всем осям меряет IMU на платформе камеры. Это ACC+GYRO, а математика стандартная и расписана сотню раз, посмотртите в любом полетном контрлллере с open source
-
Нужный нам угол высталяется с пульта. Далее PID-контроллер определяет ошибку по каждой оси и дает сигнал на моторы. На выходе контроллера - “электрический угол” (см. принцип работы безколлекторников). Далее, этот угол преобразуется в три синуса, сдвинутые на 120 град., и подается тремя PWM-генераторами на силовые ключи - (полумост на каждую фазу). Таким образом, вектор магнитное поля в обмотках статора поворачивается на нужный угол, а ротор стремится следовать за ним, исправляя ошибку.
Вот и все, далее нюансы реализации на том, что есть под рукой.
Upd2: видео работы со стороны Brushless gimbal in work
Upd3: проект оброс собственным сайтом: www.simplebgc.com
Upd4: все обсуждение переносится в ветку на форуме:
Подвес камеры на безколлекторных моторах прямого привода
Дальнейшее справедливо для r15 моей ветки MultiWii.
-
Скачать мод можно отсюда: code.google.com/p/multiwii-alexmos/…/detail?name=M… и к нему GUI: code.google.com/p/multiwii-alexmos/…/detail?name=M…
(мод совместим только с моей версией GUI, т.к. официальный протокол уже успел измениться) -
Настройте config.h под свои нужды. Все новые параметры в конце.
-
Залейте прошивку и подключитесь к GUI. Проверьте, что данные идут и все стандартные датчики рабоают как надо
-
Откалибруйте акселерометр по 6-ти точкам. Смысл в том, чтобы каждую ось сориентировать ровно вниз и вровно вверх (±5 градусов), после каждого разворота зафиксируйте и нажмите “CALIB_ACC”. Порядок не важен, но первой всегда должно быть “нормальное” положение, т.к. при калибровке в нормальном положении работает старый метод и стирает всю точную калибровку.
Проверьте результат калибровки: в 6 экстремальных положениях в GUI показатели ACC должны быть ±255 (то есть 1G=255 по всем осям в + и в -) -
В config.h раскоментируйте ALT_DEBUG, если он закоментирован. В GUI пойдет следующая информация:
Alt=высота вычисленная в дц, heading=скорость (см/сек.), debug1=Высота с датчиков, дц, debug2, debug3=ошибка между высотой с датчиков и высотой вычисленной, debug4=коррекция throttle при работе алгоритма. -
Сориентируйте аппарат на плоскости и включите вывод графиков debug1 и alt. Данные должны примерно совпадать, но при работе барометра alt менее шумная чем debug1. При небольших наклонах
вычисленная высота может слегка уплывать, но не сильно. При перемещенях на 1м - соответсвенно изменение должно отражаться на графике. Если есть сонар, то debug1 должен быть очень гладким и точно отражать любое изменение высоты с разрешением в пару см. Если только барометр - debug1 шумит с амплитудой 1м, это нормально.
-
Настройте Alt PID: P=10, I=0.020, D=10, и бокс BARO на любой AUX (чтобы можно было включать и выключать AltHold).
-
Без подключенной батареи, только в режиме эмуляции: Включите движки, режим AltHold и график debug4 в GUI. Должно быть так: в неподвижном состоянии debug4 возле нуля, при резких рывках вверх-вниз - выбросы для компенсации, при смещении на долгое время - медленный рост компенсации.
-
Удерживая в руках: подключите питание к регулям, включите движки, выставите газ прмерно на зависание и включите AltHold. Проверьте правильность реакции на изменения высоты.
-
Если все правильно, можно запускать. Для отключения сонара можно активировать режим PASSTHRU (тогда высота держится только по барометру).