подвес на бк моторах (open source) от немцев
Возможно это она и есть.
Полез в код от 048 выяснить этот вопрос. И не нашел ничего что касается калибровки акселерометра. Гироскопы да в момент подачи питания и по кнопке а пот про аксели тишина. Странно как-то… почему они отказались от калибровки. Получается датчик всегда должен стоят ровно по всем осям относительно камеры. На практике сделать это почти не возможно… всегда будет какая-то неточность. Или ей можно пренебречь?
Принцип ПИД настройки общий, но часто мы забываем всякие мелочи.
Нашел на рцгрупсе материал на тему настройки контроллера, значительную часть дополнил своим текстом.
Автор - 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.
Собрал подвес и плату с RCTIMER.
Все пришло очень быстро и собралось без проблем. Но заставить его работать я так и не смог. Bt-tool2_048 скачал, подвес он видит. Arduino 1.0.5 скачал, выбрал Arduino Pro Atmega 328 и код в плату записал (нужно ли вообще это было делать?). После этого на дефолтных настройках подвес страшно вибрирует. Если уменьшить или обнулить maxPWM, то вибрации проходят. Но самое печальное, что подвес вообще не держит ни горизонт, ни даже не сопротивляется.
И что делать с питанием? Сколько все-таки вольт подавать? А когда USB включен, то питание выключать или пусть остается? Уже и видео кучу пересмотрел и форумов на двух языках перечитал, а прогресса нет.
Help!
Help!
Я не понимаю, почему на подвесе Rctimer датчик MPU6050 стоит вверх чипом? Ведь 48 прошивка корректно работает с датчиком обращенным вниз, при этом контакты платы MPU должны быть обращены к мотору Roll. Проверьте - может есть возможность установки платы чипом гироакселя вниз.
Если вибрирует, стоит понизить P. Но перед этим проверьте правильность установки галок Reverse. Или поменять местами два провода мотора.
Встречаются изредка сообщения о выходе из строя плат при одновременном подключении USB и аккумулятора. Но большинство настраивает при подключенном компьютере и силовой АКБ.
Питание ограничено в первую очередь электролитическими конденсаторами (16\25В) Сами драйверы и L7805 достаточно “высоковольтны” - можно хоть 6S подключать.
Спасибо огромное! Переставил датчик - все заработало! Столько фотографий пересмотрел как этот датчик устанавливать, такого положения не было. А где, подскажите, написано про правильную установку?
Теперь принялся за настройку и пока подключено 8V по Roll идет срыв. Может этим моторам все-таки нужно больше?
Нашел на рцгрупсе материал на тему настройки контроллера, значительную часть дополнил своим текстом
Денис огромное вам человеческое спасибо!!!
Может этим моторам все-таки нужно больше?
Попробуйте 12 вольт
А где, подскажите, написано про правильную установку?
По этому опенсорсному продукту информация достаточно разрозненная. Достаточно знать, что на текущих прошивках плату гироакселя ставим чипом вниз, при этом стараясь разместить плату в месте пересечения осей Pitch и Roll (если смотреть на подвес сверху). Понятно, что датчик очень сложно разместить, так чтобы он был в абсолютном пересечении, но расположение под камерой или над камерой дает нормальные результаты. В будущем обещают выбор установки платы гироакселя - чипом вверх как у Alexmos или вниз.
В версии _049_A10 (в разделе definitions.h) была возможность введения смещения на установку платы MPU6050. В последующих ревизиях ее почему-то убрали. Надеюсь выведут как опцию в ГУИ.
//Offset for ACC Sensor
#define OFFSET_PITCH 0 // Offset Pitch
#define OFFSET_ROLL 0 // Offset Roll
Теперь принялся за настройку и пока подключено 8V по Roll идет срыв. Может этим моторам все-таки нужно больше?
Попробуйте запитать от 3S, и поиграться с значением maxPWM.
Запитал от 4S. Все вроде неплохо, но не могу в крайних положениях получить горизонт. Менял IAcc от 0 до 10 и дальше, с шагом 0.1 и 0.05. Попробую переставить датчик по осям моторов. Спасибо еще раз за помощь и подробную интсрукцию!
Вышла новая прошивка BruGi_049A_r45
code.google.com/p/brushless-gimbal/…/detail?name=B…
Что радует - убрали глюк связанный с наклоном камеры по оси Pitch. Я заснял тестовое видео на этой прошивке.
* RC +/-45 degree glitch fixed at pitch, roll still unchanged
* faster lock at startup
* OAC output runs at 25Hz, is same rate as used by 046…
* RC low pass filters have been set slower in absolute mode
Note: GUI does not support sensor orientation settings, use meisters version
И кстати, у меня на этой прошивке почему-то перестал работать RCgain, соотв. невозможно изменить скорость наклона камеры. На 48 работает. У кого есть возможность проверьте также эту функцию. Возможно закрался баг.
SteinDen,
Все изменилось с новой прошивкой. Сразу и горизонт держит и сама выравнивается! Единственное слегка гудят моторы. Вибрации нет, а зуд есть.
Я уже все собрал и готов протестировать RCgain, только подскажите в какой разьем на плате подключаться?
Нашел куда подключать. Действительно RCgain на скорость перемещения не влияет.
Поставил 049. Моторы гудели. Начал настраивать. Поставил настройки и файла Setting-GoPro-typical-2-Brugi_049.png который идет с прошивкой. Вроде было лучше чем 048. Решил немного прибавить PWM по pitth.Сколько именно добавил не помню но не много. Вышел на улицу проверить положил подвес включил подвес и получил два горелых драйвера. Вот такие дела. Может прошивка такая может причиной стало то что подвес лежал на земле и моторы не смогли сразу свободно крутиться. Вообщем как-то так. Будте осторожны…
Теперь блин новую плату заказывать(или две) и ждать хз сколько. (((
получил два горелых драйвера
Очень удивительно. Какой-бы сигнал не выдавала атмега, спалить сразу 2 драйвера, гарантированно быстро, можно лишь сменив полярность, как на фото ниже.
Я заливал загрузчик в чистую мегу328 - драйвера разогревались из-за “каши” на входах. Но выхода из строя ни разу не было. Кроме того, я уже много дней “очень жестко” экспериментирую и добавлением PWM до 255 значения мне удавалось спалить обмотки моторов, намотанных проводом 0,1 - 0,14. Т.е. драйверы способны отдать 5 Ампер в пике, что немало. Кроме того, L6234, как указано в даташите имеют теплозащиту. При достижении критической температуры должен уменьшится протекающий ток. Но судя по отзывам народа, уже имелись случаи самоотпайки драйверов - а это не менее 260 градусов.
Я бы на вашем месте тщательно все проинспектировал, дабы исключить в будущем.
Прочитал ваш пост тоже начал думать о переплюсовки. Разъем на батарейке JST. Провел експеремент можно ли воткнуть разъем наоборот. И оказалось что да. 😦(( Видно сами разъемы были не очень да еще и разболтались. Исходя из этого и вашего поста могу сказать что с вероятностью 98% моя вина и была переплюсовка. Так что прошивка не причем. Тока мне от этого уже не легче… 😦(
Тока мне от этого уже не легче… (
Я советую проверить, заливается ли скетч в атмегу и идет ли коннект по USB. Иными словами проверить - исправна ли Atmega328 и FT232.
Если это все исправно, то лучше купить драйвера, здесь к примеру www.elitan.ru/price/index.php?seenform=y&find=L623… ( Москва) - это возможно будет быстрее чем заказывать у китайцев. Два драйвера по 192.00 руб. + доставка, можно экспресс.
Или посмотрите у местных поставщиков. Кстати у вас китай рядом, может быть отсюда быстрее придет - www.aliexpress.com/item/…/903328650.html
И если используете разъемы на питание платы, то советую схему на фото ниже. Если поменяете полярность, то диоды создадут короткое замыкание для предохранителя, соотв. он выгорит. Два диода в параллель для гарантированного выгорания предохранителя, а не кристалла Шоттки. Большое падение напряжения (при реверсе питания) на кристаллах Шоттки защитит всю плату.
Этот способ включения гораздо лучше, чем просто диод в разрыв питания тем, что у вас не будет падения напряжения на диодах.
Большое спасибо за совет. Драйвера с китая будут к нам идти столько же сколько и в Россию. Кроме драйверов скорее всего погорели и LDO. Так как подача правильного питания показала что ничего на плате не загорелось. Если драйвера еше как-то смогу перепаять но вот SMD LDO думаю нет. К стыду своему до сих пор не имею паяльной станции. Есть еше одна плата v3 но с ней другая проблема. До меня с нее выдрали USB разъем. Пере поял разъем. Но видно что FTDI там накрылся. GUI не конектиться. Попытки прошивки заканчиваются avrdude: stk500_getsync(): not in sync: resp=0x00. Пробовал подключаться отдельным FTDI тоже самое. Судя по схеме контроллера используется тока VCC,TX,RX,GND. Но видно сидящий битый FTDI портит всю картину. В тоже время в авр смог залить бутлодер через ISP.
С горем пополам получил 10 Ом между фазами.
Но, увы, подвес так и не стабилизирует нормально. Пытается, но не очень то у него это и получается.
Возникает вопрос: может дело вовсе и не в двигателях, а в самом подвесе?
Если он в выключенном состоянии смотрит набок - значит не сбалансирован? И, исходя из кривой балансировки, - работать эта конструкция не будет? Верно я всё понимаю?
Натолкните на нужный путь.
Заранее спасибо.
Если он в выключенном состоянии смотрит набок - значит не сбалансирован? И, исходя из кривой балансировки, - работать эта конструкция не будет? Верно я всё понимаю?
Верно кстати понимаете. Стоит только камеру попытаться начать снимать с включенного подвеса, так он тут же начинает жить своей жизнью. Балансировка - очень важный момент. Сегодня настраивали на прошивке 49, всё гуд вроде, осталось в полёте испытать
Возникает вопрос: может дело вовсе и не в двигателях, а в самом подвесе?
Немного не так представляете картину. На самом деле сопротивление может быть и 3 Ом между фазами. И все будет работать. Другое дело, что греться будет как кипятильник (мотор в первую очередь). Поэтому мотают так, чтобы получить оптимальное сопротивление при нужном питании драйверов. Поэтому проблема наверняка не в моторе.
А баланс - это да.
В первую очередь нужно обеспечить механический баланс всей системы. На прошлой странице описано для чего - так как момент у БК моторов небольшой, важно обеспечить правильный ЦТ по осям. После того как будет выставлен ЦТ (вместе с камерой) можно настраивать систему. И стоит убедиться, что галки реверса в ГУИ стоят правильно. Иначе можно получить неадекватную работу подвеса.
Сегодня передвинул подвес вперед и добавил проводов из выхода AV GoPro. Подвес стал срываться так как пучек проводов попадает под поток винта. Легкий зуд моторов уже есть, а как правильно определить предельные значения maxPWM? Вибрация? Какой степени?
Подключение Тилта камеры к плате. Провод идет от AUX приемника (у меня крутилка на Spektrum) и входит в A2. Самый дальний от USB.
Легкий зуд моторов уже есть, а как правильно определить предельные значения maxPWM? Вибрация? Какой степени?
Высокое P не даст выставить высокое maxPWM - при этом будут осцилляции, подвес будет вибрировать, трястись. Легкий зуд вполне допустим. Главное, чтобы его амплитуда не вызывала смаз на камере 😃.
Итак, опробовал последнюю прошивку BruGi_049A_r45 в воздухе.
Так как это мой первый работающий подвес на БК, требования у меня к нему не особо высокие. Настройки ПИД, выставлены примерно. Терпения не хватило настроить точно, так как днями и ночами пилил, паял подвес -хотелось проверить в воздухе.
Мотор Pitch я использовал от CD ROM. Кроме того, такой мотор можно использовать и для оси Roll, но так как есть определенные проблемы с креплением таких моторов, в целях экономии времени - я просто поставил BC2836 на ось Roll.
У моторов CD ROM есть явные преимущества, по сравнению со стандартными силовыми моторами коптера.
- Низкий вес. ( как правило это 18 -28 грамм) Из этого вытекает еще одно преимущество - возможность выставлять высокие значения P и maxPWM без риска “поймать” осцилляции.
- Полное отсутствие залипаний. Это хорошо сказывается на работе подвеса. Кроме того, невероятно просто механически балансировать подвес - магнитное поле не мешает процессу выставления ЦТ.
- Низкая цена - Даром. Я снимал моторы с старых, убитых CD ROM. Я выбирал из модификаций с двумя подшипниками. Хотя варианты с втулками встречаются чаще.
- Достаточно просто разбираются и легко мотаются. У меня помещалось в среднем по 150 витков провода ПЭТВ 2-0,1мм. Сопротивление на фазу 14-15 Ом.
Основной недостаток CD ROM мотора - сложность крепления. Но я обошел эту сложность с помощью медных заклепок и стеклотекстолита. На фото (также в конце видеоролика) можно увидеть мою конструкцию подвеса.
На этом техническом видео видно, как во время пролетов, коптер немного поворачивается по оси Yaw - я его возвращаю назад - небольшие проблемы с ВМГ. Кроме того специально тестировал уход горизонта при поворотах Yaw. Во время тестов, ветер был 4-6 м\с.
Верно кстати понимаете. Стоит только камеру попытаться начать снимать с включенного подвеса, так он тут же начинает жить своей жизнью. Балансировка - очень важный момент.
Немного не так представляете картину. На самом деле сопротивление может быть и 3 Ом между фазами. И все будет работать. Другое дело, что греться будет как кипятильник (мотор в первую очередь). Поэтому мотают так, чтобы получить оптимальное сопротивление при нужном питании драйверов. Поэтому проблема наверняка не в моторе.
А баланс - это да.
В первую очередь нужно обеспечить механический баланс всей системы. На прошлой странице описано для чего - так как момент у БК моторов небольшой, важно обеспечить правильный ЦТ по осям. После того как будет выставлен ЦТ (вместе с камерой) можно настраивать систему. И стоит убедиться, что галки реверса в ГУИ стоят правильно. Иначе можно получить неадекватную работу подвеса.
Ясно. Спасибо. Буду, для начала, балансировать подвес. А потом уже пытаться обновить версию прошивки до 49, а то на 46 как то не хочется оставаться.
ЗЫ А как проверить правильность направления работы двигателя? Экспериментально?
ЗЫ А как проверить правильность направления работы двигателя? Экспериментально?
После настройки баланса, посмотрите как ведет себя подвес по каждой оси, в ответ на движение.
Установкой или снятием галки будет сразу виден результат, экспериментально. Судя по тому же рцгрупсу - это весьма распространенная ошибка, когда мотор включен неправильно, тут помогает установка - снятие галки или перепайка любых 2-х проводов на моторе.