STorM32 BGC: 3-Axis STM32 Brushless Gimbal Controller

Gapey

эти платы под мелкие камеры …
есть версия storm на DRV8313 , она по нагрузке ничуть не хуже алексмоса на тех же драйверах … стоит что-то около 18 уе …

ЗЫ: новости по проекту STORM - Олли пришли платки под ICM20602 , скорее всего он будет узаконен на замену MPU9250 … как только будут доступны герберы так сразу буду заказывать платы … отдавать пустые буду из принцыпа по себестоимости …
ЗЗЫ: Алекс тоже вроде как обещал поддержку ICM20602 , ибо 20608 официально не рекомендованы для использования в новых разработках …

Shuricus
Gapey:

ICM20602, скорее всего он будет узаконен на замену MPU9250

Или скорее всего нет.

a first comparison of the data, especially of the noise does NOT look good: it looks as if in this real-world use case the icm20602 does produce substantially more noise in both the accelerometer and the gyro than the mpu9250 … in the 2nd flight it was much more windy, but if that explains it …

not so encouraging so far, I was somehow expecting that it wouldn’t be worse than the mpu9250

Gapey

мда… печальная информация …благо я их не успел закупить…
придется затариваться 20608 пока они не исчезли и ждать что то посвежее … вроде как 20603 на подходе …
Алекс не раз писал что 20608 это лучшее что есть у Invensense … все остальное - развитие продукта в сторону экономии энергии и DMP , что не лучшим образом сказывается на результатах .
хотя этой информации больше года , видимо так ничего и не изменилось .
посмотрим что у Алекса получится с 20602 , он вроде уже спаял платы (благо они в одинаковых корпусах) и обещал добавить поддержку (чтобы было что ставить когда кончатся 20608 )…

lokanaft
zeonmaster:

да, драйвера 4452

У меня тоже такие и тоже греются на 5206, если добавить мощности. Пока радиаторы поставил. Где то я читал, что под большие моторы надо 10В давать.

А что надо настроить, чтобы отрабатывал маленькие вибрации? Сейчас их просто игнорит.

alexmos
Gapey:

20608 это лучшее что есть у Invensense … все остальное - развитие продукта в сторону экономии энергии и DMP , что не лучшим образом сказывается на результатах . хотя этой информации больше года , видимо так ничего и не изменилось

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

Кстати температурная стабильность ОЧЕНЬ сильно зависит от печатной платы и корпуса, куда ставится сенсор. В одном микро-подвесе, который мне довелось недавно настраивать, плата сенсора всего на пару миллиметров боьше чипа и выполнена из тонкого текстолита. Там зависимость параметров от температуры в !!10 раз!! больше максимума по спецификации. Сенсор стоит рядом с камерой и греется при включении. Так вот, при нагреве на 5-10 градусов, ноль гироскпоа за это время “уезжает” на 200-300 единиц, делая любую калибровку бессмысленной. Как это решать, непонятно.

lokanaft

Вчера кстати мучал полётник с мпу6000, там из за плохого питания на улице при 4 градусах сигнала с гироскопов не было вообще, только с акселерометров. А в тепле при прогреве раз и появлялся сигнал с гир.
Может быть имеет смысл принудительно греть резистором гиру, в ней же есть термометр, чтобы температура при работе всегда была примерно одинаковая?

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

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