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

k1T4eR
Alexey_1811:

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

А если его нету? Перематывать?

Alexey_1811

Если синусоиды нет или она не гладкая (видны ступеньки или бугорки) то на перемотку. Мотор желательно вращать дрелью.

crand
Dmitry_F:

Тогда подскажите как его калибровать?

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

k1T4eR
Alexey_1811:

Если синусоиды нет или она не гладкая (видны ступеньки или бугорки) то на перемотку. Мотор желательно вращать дрелью.

Осциллографа то нету, увы.
Ладно, попробую перемотать.
А сопротивление 6Ом - не мало?

uv3dut
k1T4eR:

А сопротивление 6Ом - не мало?

Маловато будет(

k1T4eR
uv3dut:

Маловато будет(

Витков впритык намотал. Ладно, попробую по плотнее.

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.