STorM32 BGC: 3-Axis STM32 Brushless Gimbal Controller

Davest

Открытый и очень перспективный на мой взгляд проект трех-осевого подвеса на бесколлекторных моторах www.olliw.eu/2013/storm32bgc/
Есть чертежи печатной платы, в свободном скачивании прошивка и GUI.
Так же, как и в EvvGC использован 32 битный микроконтроллер STM32F103RC, но подход основательнее, все значительно более продуманно.
Пока нет продаж плат, но при желании можно самостоятельно её собрать, очень хорошее описание и gerber`s.
Драйверы моторов на TC4452 поддерживают питание до 18В (4S), пиковый ток 13А, номинальный - 2,6А.
Интерфейсы: USB, UART, and Bluetooth (модуль HC-06 за 5,5$)
Порты: PWM, Sum-PPM, Spektrum, Futaba S-Bus, IR Led, Joystick, Button, AUX
На плате предусмотрено место для установки MPU6050 на будущее. Гиро-акселерометр для получения данных так же MPU6050.

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

soliada

Вопрос.Есть желающие в Москве обзавестись таким контроллером?
Если есть,то можно скооперироваться и изготовить себе такие.Если наберется хотя бы человек 7-10,то этот вопрос можно обсудить.Цена вопроса себестоимость деталей+три четыре сотни за сборку.

Davest

Да, я бы сделал себе. Есть только один нюанс - драйверы на ТС4452, есть подозрение, что маловато для больших моторов, может быть нагрев. Надо получше посчитать, узнать потребляемые токи 5208 моторов и почитать ихненские форумы. Вообще драйверы хорошие, на самый большой ток и с минимальным сопротивлением из этой серии.

andrew3

Михаил, какова будет ориентировочная цена контроллера в сборе?

Davest

Я не Михаил, но могу предположить, что всё завит от того, где покупать радиодетали и какими объемами. Если в Москве - то это Терраэлектроника. Но на Алиэкспресс можно всё купить дешевле и не большими партиями. Да, ну и смотря кто и где будет спаивать. Если есть знакомые с печью - то и за шоколадку можно, хотя и паяльником реально собрать.
По производству печатных плат мне понравилась эта контора, все понятно расписано и хоть от 1-й штуки делают. Там же есть он-лайн калькулятор для расчета стоимости. Но конечно можно еще поискать и посравнивать цены.

andrew3

Александр, спасибо за ответ, думаю тоже паяльником smd осилю, но если это 300-400 как автор сказал, то можно и в печь)
В общем ждем прайс от Михаила.

Gapey

я бы всетаки не надеялся на нормальную работу этой железки в текущей её реализации с большими камерами …
как уже писал Андрей в соседней ветке :

Андрей_Гапонов:

Я мерил при питании 3s и моторе 5208 температура до 85 доходит да и скорость открытия закрытия маленькая(что сказывается на точности шима и всего остального)

ктомуже ТС4452 на Российских складах аж целых 4 штуки , и те в ТО220ом корпусе …
думаю что пиковый ток 13А и номинальный 2,6А заявлены именно для этого корпуса , который нам не годится …
соик на таких токах при сопротивлении перехода более ома просто сварится …
из Китая притянуть не проблема , но это время …
лично у меня желания делать эту плату в текущем её виде не возникает …

Davest

Ну по времени сейчас из Китая приезжает быстрее, чем платы сделать успеют.
Вот что отвечает автор платы про мощность:

Какой размер двигателя потянет этот контроллер?

Well, I can’t say much more than before, there are not enough testers and results out there and experience is hence limited… I would think however that Erick’s great results are very encouraging

(прим. видео от Эрика в этой ветке 2-м постом, у него там моторы с rctimer`а 5010/120t для Ява и 5208/150t для Ролла и Питча, батарея, 3S)

IMHO the question is actually not well posed. It should be rather “what max currents and voltage can this controller take?”. The point is, the motor can be as large as you want and produce as much torque as you want, as long as the resistance is such that the current flow at the given voltage is not too large. I’ve spend some time to research a bit the different motors lately, and - at least if the resistance values given on the web pages are correct - you can’t say that a larger motor also means larger currents (or lower resistance, respectively). E.g. there are 2000 size motors with resistance of 10 Ohm, while there are also 5000 size motors with resistance of 17 Ohm or more…

(Erick’s motors have 15 Ohm and 17 Ohm)

The experience so far indicates that motors with 15 Ohm or more are no problem for the board.
For the voltage the limits are known, max 18V, i.e. 4S.

So, if you’re happy with 4S and your whatever-sized motors have resistance of 15 Ohm or more, you shouldn’t have any problem balancing your 1.7 kg camera.

Anyway, let me repeat: This board has not be designed with high-current applications in mind. However, the board is open source and the electronic scheme hence public, so anyone can design her/his own board, and if she/he wants with current capabilities of 70A like some AlexMos boards (LOL).

Суть в том, что для моторов с сопротивлением обмотки больше 15 Ом эта плата без проблем подойдет. И что, в общем, тесты покажут точно что есть как.

soliada
andrew3:

Михаил, какова будет ориентировочная цена контроллера в сборе?

Честно говоря даже и не знаю. Самое дорогое это драйверы,примерно 20уе за 9шт+10уе доставка,остальное не так существенно и можно купить как здесь,так и в Китае.Сами платы стоят примерно 15уе за 10шт включая доставку.
Думаю получится не дороже 2000р за собранную плату.У меня нет коммерческого интереса,мне нужна всего одна,ну максимум 2 платы.Собственно остальные и предлагаю собрать для желающих или желающими.Понятно что купить сразу много необходимых деталей будет выгодней чем брать по одной-двум штучкам,собственно по этому и предлагаю скооперироваться.Сборку могу организовать.Если кто пожелает)))

Davest

Драйверы 20$ за 20шт. В общем, я буду собирать! Михаил, где хотите заказывать платы? Если никто не согласится - давайте пополам по 5 штук, там всего то получается по 260 рублей. Ну или если хотите - возьму себе 9 штук за 500 руб.

alexTAG

Михаил, я тоже подписываюсь и готов скооперироваться и приобрести хоть собранные, хоть кит 2-3 штуки.

soliada
Davest:

В общем, я буду собирать!

А вам как я понял сгодятся и пустые платы? Если да,то это упрощает дело.Хотя по хорошему,проще Вам самому заказать плат,я буду заказывать здесь imall.iteadstudio.com/…/pcb-prototyping.html давно там делаю,качество хорошее,делают очень быстро.
За ссылку на драйвера по 1уе спасибо)))

alexTAG:

Михаил, я тоже подписываюсь и готов скооперироваться и приобрести хоть собранные, хоть кит 2-3 штуки.

Не вопрос,Думаю подробности лучше обсудить в ЛС.

Gapey

на след. неделе придут платы на атмеге и спаренных полевиках с драйверами … посмотрю как это работает …
если все нормально , попробую перепилиь плату этого проекта под нормальные ключи …
думаю Андрей сможет перенести на нее свою версию софта …

soliada
Gapey:

если все нормально , попробую перепилиь плату этого проекта под нормальные ключи …
думаю Андрей сможет перенести на нее свою версию софта …

А стоит ли? Вся прелесть проекта в его открытости и почти законченности.Перепилите под другие драйвера,переделаете софт…Получится еще один контроллер который будет вечно тестироваться и совершенствоваться гуи под него? Потом продажа ключей активации?

skydiver
Gapey:

на след. неделе придут платы на атмеге и спаренных полевиках с драйверами … посмотрю как это работает …
если все нормально , попробую перепилиь плату этого проекта под нормальные ключи …

Юрий, вы не никогда не прикидывали ту разрешающую способность ШИМа которую выдает проц? Ведь например при 12ти битном шиме и частоте дискретизации 16кГц это около 15нс. А типичный драйвер для мосфета обеспечивает время открытия полевика не менее 100нс, типичная сборка для управления моторами от того или иного производителя - не лучше 35нс. Безусловно есть сверхбыстрые драйвера(1нс) - но то что я нашел, стоят неадекватных денег.

Gapey

а причем тут разрешение и быстродействие …
если шим выдаст импульс на 15 нс длинее , то и транзистор закроется на 15 нс позже …
унас сЪедается только края диапазона , те столь малые и столь большие импульсы что полумост не успеет переключиться … эти значения нужно отсекать программно … во всех остальных случаях мы получаем задержку переключения , притом достаточно стабильную , которая нам не мешает …
проблемы возникают если не использовать драйверы полумоста , тогда нужно либо управлять парами транзисторов поотдельности как в EvvGC и получать волшебный дым при сбое , либо пользовать инверторы и получать негарантированый дедтайм как в китайском контроллере за 16 баксов …

soliada:

А стоит ли?

стоит … потомучто будет более правильная железка под тотжесамый открытый софт , который пойдет без каких-либо доработок … + будет более правильная железка на ARM под которую Андрей сможет адаптировать свой код (если захочет) …
оригинальная версия железа также имеет право на жизнь , под малые и средние камеры вполне пригодно …
если проект будет популярным , думаю очень скоро мы увидим кучу китайских версий совместимого железа …

skydiver
Gapey:

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

Только задержка включения/выключения у нас например будет не 150нс, а 150±50нс согласно среднестатическому даташиту. И в итоге мы получаем из 12ти битного шима в лучшем случае 10ти битный, а если посмотреть осцилограммы то и вовсе 8ми битный. Я прекрасно понимаю что в общем то основной массе пользователей пофигу, но если говорить о построении системы класса мови и выше, то возможно все это и повлияет.

Gapey

ладно , пусть задержка срабатывания 200 нс … 1 отсчет пусть 15 нс … 200/15 = 13,3333 те при значениях ШИМ от 1 до 14 полумост физически неуспевает пепеключиться … при значении шим = 15 мы уже получим импульс на выходе , правдва непонятно какой длительности … при значении шим = 30 мы уже получим достаточно стабильный импульс … при этом с увеличением значения шима на 1 длительность импульса будет увеличиваться на 15 нс … те мы теряем около 30 отсчетов из 4096 (при 12 бит шим) … аналогично и с другого края мы теряем около 30 отсчетов … итого унас остается около 4000 отсчетов (это при 100% повер) … если мы устанавливаем повер 50% то мы теряем из этих 4000 половину , те унас остается только 2000 …
это к тому насколько важнее правильное сопротивление мотора (чтобы повер был ближе к 100%) чем потери на краях из за быстродействия моста …

skydiver
Gapey:

ладно , пусть задержка срабатывания 200 нс … 1 отсчет пусть 15 нс … 200/15 = 13,3333 те при значениях ШИМ от 1 до 14 полумост физически неуспевает пепеключиться … при значении шим = 15 мы уже получим импульс , правдва непонятно какой длительности … при значении шим = 30 мы уже получим достаточно стабильный импульс … при этом с увеличением значения шима на 1 длительность импульса будет увеличиваться на 15 нс … те мы теряем около 30 отсчетов из 4096 … аналогично и с другово края мы теряем около 30 отсчетов … итого унас остается около 4000 отсчетов (это при 100% повер) … если мы устанавливаем повер 50% то мы теряем из этих 4000 половину , те унас остается только 2000 …

Речь даже не о задержке, с ней все понятно - не так она критична.
Дело вот в чем: Разрещающая способность шима с ножки контроллера при 12ти битах и 16кГц - 15нс. Время открытия ключа драйвером 100±50нс(т.е. в одном случае может быть 100, а в другом 200), время закрытия примерно также.
теперь допустим мы хотим получить импульс со скважность 50%(середина диапазона), это 31,25мкс. Из-за нестабильности времени открытия/закрытия драйвером ключа, у нас реально будет 31,25мкс±200нс, т.е. реальная разрешающая способность будет плясать, от импульса к импульсу, от 12бит(4096отсчетов) до около 8ми бит(312 отсчетов).

пы.сы. сами по себе мосфеты нормально открываются и закрываются за 3-5нс, при наличии правильного питания драйверов.

Gapey

с какого перепугу там нестабильность в 50 нс ???
при изменении напряжения питания или температуры может тыть и больше чем 50 нс , но это-же не от импульса к импульсу …

Davest
skydiver:

Время открытия ключа драйвером 100±50нс

А про какой драйвер речь то? Вот из datasheet MIC4452:

mataor

ну на самом деле дискретность ШИМ-а более 10бит и не нужна абсолютно, на том же алексмосе на самом деле используется порядка 5-6 бит, не более, 8 - ток на макс мощности

alexmos

А никто не мерил ради интереса задержки переключения транзисторов на плате EvvGC? Думаю результаты будут очень неожиданными, порядка 1000-5000 нс. При этом плата нормально работает. Я к тому, что задержки в общем то не так кртичны, как и точность ШИМ, при наличии сильной обратной сязи. Проблема в том что транзисторы сильно греются, ну нельзя ими управлять с ног микропроцессора! Разработчик платы EvvGC конечно много съэкономил на нормальных драйверах, сделал ее очень дешевой, что вполне нормально для разработчиков, которые понимают как с таким железом нужно правилно обращаться. Но при этом очень ненадежной (никаких защит, даже не задумывался об этом), и подходит она только для мелких камер пока токи небольшие (да и то, при токах мотров 50…100ma, половина энергии уходит в тепло на ключах). Зачем другие разработчики копируют те же ошибки, непонятно. Юрий мыслит в правильном направлении, добавление хотя бы драйверов транзисторов, решит проблему перегрева и повысит точность ШИМ на порядки. Но не защитит от КЗ, низких напряжений, перегревов и пробоев при потере программного deadtime.

Gapey
alexmos:

Но не защитит от КЗ, низких напряжений, перегревов и пробоев при потере программного deadtime.

нормальные драйверы полумоста уже имеют аппаратную защиту от deadtime …
мало того , они требуют для управления 1 ногу микроконтроллера , а не две как в EvvGC …
в данном проекте использованы драйверы нижнего ключа , притом без самого ключа … единственный недостаток такого решения - высокое сопротивление внутренних ключей , в данном случае более 1 Ома …
от перегрева спасает использование нормальных ключей с сопротивлением порядка 0,003 Ом … если не использовать килограммовые движки этого достаточно …
за низким напряжением вообще МК должен следить … хотя в большинстве драйверов полумоста предусмотрена защита от низкого напряжения (питания самого драйвера) …
вот с КЗ все намного хуже … хотя если использовать современные ключи с рабочими токами 20-40 ампер можно обойтисЪ обычным предохранителем …

я вот все поглядываю на сборки для многофазных DC-DC … в одном корпусе 6х6 мм драйвер полумоста и сам полумост с большим током и низким сопротивлением … останавливает 3 отдельных теплоотводящих пятака на пузе … плату под них придется делать 4х слойную …