STorM32 BGC: 3-Axis STM32 Brushless Gimbal Controller

Shuricus
alexmos:

ноль гироскпоа за это время “уезжает” на 200-300 единиц,

Это влияет на горизонт, или на общую работу подвеса?

Gapey

а 9250 тестировался ??? как он в сравнении с 20602/20608 ???
по части температурной стабильности - эффект наблюдался только на том одном подвесе или это закономерность ???
мог быть просто дефектный чип или конденсатор на умножителе (14 нога) …
если это выраженная закономерность , то единственная причина которая приходит в голову - на мелкой плате очень высокая скорость изменения температуры в момент инициализации чипа , как следствие неправильно работающая внутренняя компенсация дрейфа …

lokanaft:

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

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

Gapey
zeonmaster:

да, но ведь это выход

ну так никто не запрещает сделать простенький термостат и поместить в него сенсор … если делать на каком-нибудь мелком микроконтроллере то можно даже ПИД замутить … использовать можно будет с любым типом контроллера , единственно нужно будет его включать заранее , чтобы успел температуру набрать …

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

lokanaft
Gapey:

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

Особенно, когда на улице плюс/минус 40) Или на земле постоял нагрелся, в воздухе пропами обдувает - остыл)

Gapey:

ну так никто не запрещает сделать простенький термостат и поместить в него сенсор … если делать на каком-нибудь мелком микроконтроллере то можно даже ПИД замутить

Просто зачем это всё, когда свой датчик температуры уже есть в гире и вот именно от него и плясать. Из деталей надо всего лишь сам нагреватель и ключ для него на плате, ну и поддержку в прошивке)

Gapey

а инвенсенсовских гироакселях есть собственная система термокомпенсаций . все нюансы её работы известны только производителю . Алекс выяснил что на маленькой плате она работает В 10 РАЗ ХУЖЕ чем должна , теперь нужно выяснить почему …
моё предположение что дело в том что в момент инициализации температура растет слишком быстро из за этого неправильно инициализируется система термокомпенсации …
еще одна возможная причина - разность температур на разных концах (ногах) чипа …
основная причина того что мы не греем сенсор - отсутствие достаточной для этого мощности на плате сенсора . стабилизаторы 5v на платах на это не рассчитаны . но это решаемо … дальше контроллер нужно будет включать заранее , дожидаться термостабилизации , и только после этого сбрасывать и калибровать сенсор … это дополнительная задержка в работе …
опять-же это приемлемо только там где нет ограничений по массогабаритам и потреблению …
в случае отдельного термостата , со своим мозгом, его можно будет включить заранее … удорожание конструкции на один термодатчик и микроконтроллер стоимостью в 1 бакс … у нас не стоит задача поддерживать какую-то конкретную температуру , просто температура должна быть выше температуры окружающей среды и каждый раз одна и та же …

alexmos
Shuricus:

Это влияет на горизонт, или на общую работу подвеса?

Сильнее всего влияет на горизонт, а в Storm32 скорее всего и на качество работы моторов, так там больше завязано на углы, измеряемые IMU, чем в SimpleBGC.

Gapey:

а 9250 тестировался ??? как он в сравнении с 20602/20608 ???

Нет, не тестировал, меня он по параметрам не впечатлил.

Gapey:

по части температурной стабильности - эффект наблюдался только на том одном подвесе или это закономерность ??? мог быть просто дефектный чип или конденсатор на умножителе (14 нога) …

Чип я выпаял из другого сенсора, где не было подобных проблем, по крайней мере на 90% думаю, что это не проблема конкретного чипа. Если отсутсвует контакт с конденсаоторами, то это проявляется в виде сильного шума, при ручной сборке на это смотрим в первую очередь.

Термокомпенсация возможно и есть в самом чипе, и возможно она расчитана на монтаж на более толстый текстолит. Очевидно что при нагреве разнородных материалов с разным коэффициентом расшиения, их изгибает. А сенсор к этому очень чувствителен: если на это плате просто подогнуть один из проводов, эта казалось бы, небольшая статическая нагрузка, смещает ноль на десяток единиц.

lokanaft:

Просто зачем это всё, когда свой датчик температуры уже есть в гире и вот именно от него и плясать. Из деталей надо всего лишь сам нагреватель и ключ для него на плате, ну и поддержку в прошивке)

Да, так и есть - термостатирование в теории делается очень просто парой резисторов, термобарьеом на плате в виде прорезей и термоизоляции. Мы попробуем сделать ее в новом сенсоре, который сейчас в разработке.

Gapey:

основная причина того что мы не греем сенсор - отсутствие достаточной для этого мощности на плате сенсора . стабилизаторы 5v на платах на это не рассчитаны . но это решаемо … дальше контроллер нужно будет включать заранее , дожидаться термостабилизации , и только после этого сбрасывать и калибровать сенсор … это дополнительная задержка в работе …

Там большие токи не нужны. Точных цифр не помню но вроде как 200mA достаточно для поддержания 50 градусов. Стаб 5V на наших контроллерах подвеса до 1А выдает, провода и разъемы сенсора 200mA должны пропустить. Алгоритм инициализации конечно усложнится, но это решаемо. Возможно будет задержка в старте системы. На чипе нужен отдельный MCU, и дело не только в его цене - его нужно прошивать, тестировать - т.е. доп. расходы при массовом производстве. Кстати, Invesense года полтора назад анонсировал гиросенсор с термостатированием. Интересно почему так и не выпустили, и убрали из списка продуктов.

lokanaft
alexmos:

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

Ну вот сейчас в storm32 nt на плате датчика стоит огромный контроллер, который ничем не занимается, кроме как опрашивает гиру и посылает по сериал на основную плату. Кстати всё приходит голое без прошивки вообще и ставится оно не парой кликов, так что пользователи вроде привыкшие.

alexmos:

меня он по параметрам не впечатлил

А что именно за характеристики нужны для подвесов? Предельные скорости и перегрузки, частота опроса - это же всё ненужно? Термостабильность? Если делать подогрев, то мне кажется и на мпу6000 можно остаться, по крайней мере она нешумная.

Gapey

управление нагревом можно решить и без дополнительного микроконтроллера , просто добавить еще один провод (пятый) и отдельным пином на RC/FC или AUX … тогда пользователи смогут сами делать теммобоксы … ну или добавить 6-8 ногий MCU … в CAN версии сенсора и так есть процессор … (Олли тоже начинает ставить CAN в свои разработки , так что надеюсь что будут и CAN сенсоры и CAN моторы от Storm) …

lokanaft:

кажется и на мпу6000 можно остаться

про них лучше сразу забыть … ща брака немеряно … я их больше покупать не буду …

ЗЫ: ща подумалось можно использовать I2C I/O на сенсоре для управления ключом , что то типа MAX7323 … или сразу драйвер мотора с I2C управлением , например Drv8830 … по наличию такого чипа на шине можно автоматом определять что сенсор с термостабилизатором … и никакого MCU не нужно …

alexmos

Для подвесов важен высокий сигнал/шум и хорошая термостабильность. 9250 - это тот же 6500 + компасс. Компасс там не самый лучший и его не стоит ставить туда же, где обычно ставится гироскоп, так что никакого смысла в переходе на 9250 я не вижу.

Вариантов термостатирования и правда много. Хочется сделать все правильно, для этого все же лучше иметь отдельный MCU который управляет нагревом посредством ШИМ и “знает” две температуры: внутри и снаружи, для оптимального ПИД-регулятора. По мере накопления опыта может быть попробуем и варианты, которые аппаратно попроще (всем будет управлять главный контроллер через I2C).

SergejK
Gapey:

ща брака немеряно

А какого рода брак встречался вам в этих сенсорах?

Gapey
SergejK:

А какого рода брак встречался вам в этих сенсорах?

самый разный … были и не работающие оси , и разная чувствительность по осям , и пролазили данные из одной оси в другую (иногда складывалось впечатление что кристалл повернут на несколько градусов) … притом это было как на MPU6050 так и на MPU6000 (хотя и значительно реже).
были жалобы что калибровки сильно плыавут со временем , тоесть вы делаете термокалибровку а через пару месяцев эффект от нее сильно падает , нужно делать заново … один из московских партнеров купил большую партию 6050 и вся партия оказалась бракованной , в результате выпросили у меня десяток из старых запасов иначе у них выставка срывалась …

alexmos:

Хочется сделать все правильно, для этого все же лучше иметь отдельный MCU

поэтому начинать нужно с CAN , там полюбому без MCU никак …

lokanaft
Gapey:

поэтому начинать нужно с CAN , там полюбому без MCU никак …

Мне кажется Алексей подразумевает контекст использования для маленьких ручных и подвесов, где и так мало места поэтому по i2c.

lokanaft

Как реализовать механизм переворачивания оси яв? То есть нужно включить реверс яв мотора с рк инпута.

alexmos

20649 - не тот профиль. Он для спорта сделан, где нужна большая динамика. Для этого в два раза загрублен диапазон.

lokanaft

Не могу никак смену режимов настроить с трёхпозиционного канала, в вики об этом ничего нет. Сейчас получается так:

У всех так работает?

dvd-media

Может кто подсказать, какой толщины провод допустИм для моторов по осям? Стандартные моторки, как с подвесами идут алишными.
Хочу заменить родные, т.к. колом стоЯт мешают поворачивать камеру. От наушников, если распотрошить простенькие, в шёлковой изоляции очень тонкие будут?

Gapey

Очень сильно зависит от конкретного повода … если это обычный медный литцендрат (где прочностные характеристики определяет сама медь) то вполне возможно использовать под мелкие моторки …
но … провод может оказаться алюминием (китайцы и такое делают) , за прочностные характеристики может отвечать внешняя пластиковая или тканевая оболочка , тогда сечение будет явно недостаточным …
ну и достаточно часто в качестве провода для наушников используют “мешуру” … те медные жилки или ленты вплетены в волокна (обычно синтетические) … такой провод также имеет очень маленькое сечение (хотя на вид жилы толстые , большую часть их сечения составляют волокна )…

alextr
Gapey:

Очень сильно зависит от конкретного повода … если это обычный медный литцендрат (где прочностные характеристики определяет сама медь) то вполне возможно использовать под мелкие моторки …
но … провод может оказаться алюминием (китайцы и такое делают) , за прочностные характеристики может отвечать внешняя пластиковая или тканевая оболочка , тогда сечение будет явно недостаточным …
ну и достаточно часто в качестве провода для наушников используют “мешуру” … те медные жилки или ленты вплетены в волокна (обычно синтетические) … такой провод также имеет очень маленькое сечение (хотя на вид жилы толстые , большую часть их сечения составляют волокна )…

Алюминиевые провода лучше медных, они легче. Только вот концы у них плохие. Да и правда ломаются ещё.

dvd-media

Знать бы откуда их вырвать на пробу. Но родны однозначно менять надо… Есть у меня 18авг (кажется 18, не помню, которыми монтаж ПК и перифирии делал в коптере) в силиконовой изоляции. Они очень мягкие, но по диаметру примерно как родные. Заменю на эти, если не найду ничего подходящего потоньше. Разве что надо будет три жилы кусочками термоусадки фиксировать наверное.