подвес на бк моторах (open source) от немцев

Dmitry_F
crand:

Перед подачей напряжения на аксели разместить плату ровно по горизонту.

Андрей простите может я немного тупой а может просто совсем недавно в теме RC. Но раз уж вы разобрались что к чему с этой платой, немогли бы вы объяснить. Аксели это маленькая платка с гироскопами? То есть каждый раз перед взлетом и подачей питания надо брать уровень и клеить к нему плату сенсоров? Или это надо делать в ассистенте. Простите но я не могу найти нормальной пошаговой инструкции, как это сделал для своего проекта Алексмос. На их сайте только какая-то хрень описана. С этими проектами “опенсорс” как будто в квестовую онлайн игру играешь, с начало где то надо купить, потом как то дождаться, а потом еще найти где узнать как это заставить работать:)

crand

У Вас плата с акселями и гироскопами стоит на платформе с камерой. Так вот перед подачей напряжения просто камеру расположить максимально ближе к горизонту, и только тогда подавать напряжение. Чтобы гироскопы раскручивались уже в горизонте. Чем точнее будет горизонт, тем лучше будет в движении.

leprud
crand:

Чтобы гироскопы раскручивались уже в горизонте

Э, что?! 😃
Нет там движущихся частей, особенно дисков… Это ж MEMS!

Dmitry_F
crand:

расположить максимально ближе к горизонту, и только тогда подавать напряжение

Сейчас расскажу что я делал, а если не так, то поправьте меня. расположил подвес так чтобы камера а следовательно и плата сенсоров стояла 100% горизонтально, после включил питание, и приподнял подвес чтобы он смог сделать свои калибровки. Результат опыта отрицательный, ничего не изменилось:(

Piranha

Гироскопам в момент подачи питания абсолютно пофигу как они расположены относительно горизонта!!! хоть боком хоть вверх ногами! главное чтоб они в покое были в момент инициализации!

crand

Значит я отстал от жизни. 😮
Может я что-то и не правильно сам понял, но если при подаче напряжения камера расположена горизонтально, то потом, при поворотах, горизонт держиться хорошо. Если же камера была наклонена, то при поворотах камера наклоняется. Как-то так.

Dmitry_F

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

Nicko007

Друзья, так кто-нибудь подключил управление питчем? Поделитесь плиз - как???

k1T4eR

При 10 Ом сопротивлении двигатель будет нормально работать, или это определяется не только этим фактором?

cylllka
crand:

Значит я отстал от жизни. 😮
Может я что-то и не правильно сам понял, но если при подаче напряжения камера расположена горизонтально, то потом, при поворотах, горизонт держиться хорошо. Если же камера была наклонена, то при поворотах камера наклоняется. Как-то так.

Я не знаю как у “немца” работает алгоритм, но у Алексмос при подаче питания калибруется только гироскоп, и как уже писал Дмитрий, ему пофик в каком он положении, главное никаких вибраций.
А вот акселерометр калибруется или через ГУИ, или кнопкой на плате. При калибровке акселя, его (или площадку камеры) нужно разместить горизонтально, и нажать калибровка. Процесс занимает около 30-40 секунд. При этом на датчик не дишим, и даже несмотрим! (шутка), нималейшего движения. Акселерометр не нуждается в постоянной калибровке.

Dmitry_F
cylllka:

А вот акселерометр калибруется или через ГУИ, или кнопкой на плате.

Спасибо вам огромное, добрый вы человек. Вот бы теперь кто то подсказал где эта кнопка. В ассистенте есть кнопка GYRO-CAL это может быть калибровкой акселя?

cylllka
Dmitry_F:

Спасибо вам огромное, добрый вы человек. Вот бы теперь кто то подсказал где эта кнопка. В ассистенте есть кнопка GYRO-CAL это может быть калибровкой акселя?

Возможно это она и есть.

Chester_kz
cylllka:

Возможно это она и есть.

Полез в код от 048 выяснить этот вопрос. И не нашел ничего что касается калибровки акселерометра. Гироскопы да в момент подачи питания и по кнопке а пот про аксели тишина. Странно как-то… почему они отказались от калибровки. Получается датчик всегда должен стоят ровно по всем осям относительно камеры. На практике сделать это почти не возможно… всегда будет какая-то неточность. Или ей можно пренебречь?

SteinDen

Принцип ПИД настройки общий, но часто мы забываем всякие мелочи.

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

Автор - Brandigan и я

Итак…

Горячий двигатель = слишком большое значение PWM (и / или механически несбалансированный подвес, моторы перегружены, работают неэффективно, возможны срывы в движении). Помните - подвес должен быть очень точно сбалансирован. Только в этом случае, возможно добиться нормальной работы подвеса.

Слишком высокое значение PWM = Не позволит увеличивать значение P свыше определенного значения - при этом возникают осцилляции, мотор начинает вибрировать, трястись.
P слишком низкий = плохая точность и значительный дрейф системы.

Полюса мотора - указывается количество магнитов двигателя. Обычно - 14. Было замечено, что ввод фактического числа полюсов мотора не всегда дает положительный результат. Например для 28 полюсного мотора - установка значения 28 приводила к гораздо худшей работе, то же самое для мотора с 6 полюсами - лучшие значения для работы были 12 и 14. Рекомендуется устанавливать значения 12 или 14.

Процедуру настройки подвеса лучше проводить поэтапно, сначала одну ось, потом другую. Для этого, можно отключить провода мотора от платы контроллера, или выставить значение maxPWM = 0. Обычно, я начинаю с оси Roll.

Установите значения IAcc=0, P=20, D=2, max PWM (Power) 40 для проведения тестов.

Шаг 1:
Наклоните подвес, обратите внимание на камеру - остается ли она в своем положении, или при движении видны срывы. Так же можно немного потрясти, имитируя воздействие внешних сил, чтобы убедиться, что момент развиваемый двигателем достаточный для удержания камеры в заданной позиции.
Если камера не удерживается в первоначальном положении, увеличьте значение maxPWM на 5 единиц и вернитесь к Шаг 1 заново.
Если мощность на валу мотора достаточна для удержания камеры, следуйте к следующему шагу.

Шаг 2:
Включите график (Chart), удерживайте подвес в руках примерно по уровню. Вращайте подвес на 90 градусов. Обратите внимание на разницу в углах графиков. Это дрифт. Выключите график.

Шаг 3:
Увеличьте значение P на 5 единиц.

Шаг 4:
Появилась вибрация, тряска?
Если Нет - возвращайтесь к Шаг 2.
Если Да - увеличьте значение D на 0,1.
Теперь, возвращайтесь к началу Шаг 4 и повторите процедуру.

В конце концов, вы получите такое значение D, которое уже не сможет устранять осцилляции, вызываемые высоким значением P. В этом случае, уменьшите немного значение P, при этом возможно придется подкорректировать D. Теперь все. Это лучшее, что можно было получить от вашего подвеса.

Проследуйте к Шаг 2, и обратите внимание, что величина дрифта, отображаемая на графике стала значительно меньше, а это означает, что достигнуто более высокое качество работы подвеса.

Теперь установите значение Iacc равное 1 или 2, для того, чтобы подвес возвращался точно в уровень. Это также может вызвать осцилляции. В этом случае необходимо немного уменьшить значения P и\или maxPWM.

При подключении второго двигателя, или установки значения maxPWM отличное от нуля, вы можете заметить, что ранее настроенная ось начала вибрировать. В этом случае следует увеличить значение D и\или уменьшить P, maxPWM.

Ось Pitch более чувствительна к осцилляциям, чем ось Roll. Я полагаю, это объясняется тем, что мотор Roll, расположенный дальше всего от датчика MPU6050, оказывает меньше всего низкочастотного воздействия. Двигатель Pitch, наоборот расположен ближе всего к плате гироакселя MPU6050.

Все современные MEMS гироскопы\акселерометры работают благодаря пьезоэлектрическому эффекту и имеют отличный микрофонный (акустический) эффект. По мере удаления источника вибрации( мотора Roll) становится возможным применение гораздо более высоких значений P и maxPWM, чем для оси Pitch. Отсюда следует такая практическая рекомендация - ставить на ось Pitch гораздо меньший по размерам двигатель, чем на Roll, тем более, ось Pitch является менее нагруженной. Это позволит увеличить значение P и maxPWM.

Старайтесь избегать применения моторов с “запасом мощности”. Это даст большие сложности с настройкой - преждевременное появление осцилляций, большой вес всего подвеса. Некачественная работа всей системы.

Для нагрузки в виде GoPro, для оси Pitch более чем достаточно мотора 20 - 25 грамм, с 6 полюсами. При этом maxPWM будет на уровне 90-120. Для оси Roll в зависимости от конструкции подвеса и его массы возможно потребуется более крупный мотор.

Ну и раз уж сообщение переросло в мини FAQ - если у вас слишком длинный , тонкий провод ( в моем случае это проблемный силикон AWG28) идущий к MPU6050, вы можете заметить, как подвес начинает жить своей жизнью - крутится по всем осям произвольно. В этом случае, достаточно установить резисторы 1 Ком вместо 4,7 кОм на плате контроллера БК подвеса. На фото обозначено красным кружком. Для плат версии 3. Таким образом мы изменили номиналы подтяжки шины I2C.

sskom

Собрал подвес и плату с RCTIMER.

Все пришло очень быстро и собралось без проблем. Но заставить его работать я так и не смог. Bt-tool2_048 скачал, подвес он видит. Arduino 1.0.5 скачал, выбрал Arduino Pro Atmega 328 и код в плату записал (нужно ли вообще это было делать?). После этого на дефолтных настройках подвес страшно вибрирует. Если уменьшить или обнулить maxPWM, то вибрации проходят. Но самое печальное, что подвес вообще не держит ни горизонт, ни даже не сопротивляется.

И что делать с питанием? Сколько все-таки вольт подавать? А когда USB включен, то питание выключать или пусть остается? Уже и видео кучу пересмотрел и форумов на двух языках перечитал, а прогресса нет.

Help!

SteinDen
sskom:

Help!

Я не понимаю, почему на подвесе Rctimer датчик MPU6050 стоит вверх чипом? Ведь 48 прошивка корректно работает с датчиком обращенным вниз, при этом контакты платы MPU должны быть обращены к мотору Roll. Проверьте - может есть возможность установки платы чипом гироакселя вниз.

Если вибрирует, стоит понизить P. Но перед этим проверьте правильность установки галок Reverse. Или поменять местами два провода мотора.

Встречаются изредка сообщения о выходе из строя плат при одновременном подключении USB и аккумулятора. Но большинство настраивает при подключенном компьютере и силовой АКБ.

Питание ограничено в первую очередь электролитическими конденсаторами (16\25В) Сами драйверы и L7805 достаточно “высоковольтны” - можно хоть 6S подключать.

sskom

Спасибо огромное! Переставил датчик - все заработало! Столько фотографий пересмотрел как этот датчик устанавливать, такого положения не было. А где, подскажите, написано про правильную установку?
Теперь принялся за настройку и пока подключено 8V по Roll идет срыв. Может этим моторам все-таки нужно больше?

Dmitry_F
SteinDen:

Нашел на рцгрупсе материал на тему настройки контроллера, значительную часть дополнил своим текстом

Денис огромное вам человеческое спасибо!!!

uv3dut
sskom:

Может этим моторам все-таки нужно больше?

Попробуйте 12 вольт

SteinDen
sskom:

А где, подскажите, написано про правильную установку?

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

В версии _049_A10 (в разделе definitions.h) была возможность введения смещения на установку платы MPU6050. В последующих ревизиях ее почему-то убрали. Надеюсь выведут как опцию в ГУИ.

//Offset for ACC Sensor
#define OFFSET_PITCH 0 // Offset Pitch
#define OFFSET_ROLL 0 // Offset Roll

sskom:

Теперь принялся за настройку и пока подключено 8V по Roll идет срыв. Может этим моторам все-таки нужно больше?

Попробуйте запитать от 3S, и поиграться с значением maxPWM.