roboforum.ru

Технический форум по робототехнике.

Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Модераторы: 1970DenisT, Dmitry__

Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение dccharacter » 25 июл 2013, 03:49

Так, надоело постоянное тро-ло-ло. Объявляем десятилетие изучения BLDC моторов. Взываю к духу учителя. Желающие присоединяются.

2nd_Gen_Prius_Transaxle.jpg
2nd_Gen_Prius_Transaxle.jpg (17.9 КиБ) Просмотров: 401376


оглавление:
Теория
-Теория
-Аппноты, хаутушки, мануалы
-linvinus - подробно об управлении двигателем

Двигатели
-Двигатель бессенсорный высокооборотистый
-Двигатель сенсорный высокооборотистый
-Двигатель сенсорный низкооборотистый (в т.ч. и "удерживающий")
- перемотка BLDC под свои нужды
- самодельные BLDC

Контроллеры
-Самодельные контроллеры/драйверы
-Покупные контроллеры с перепрошивкой

Управление с ПК
-Управляющее ПО (контроль, измерения, настройка)

Механизмы на основе BLDC
- BLDC Сервоприводы

Dmitry__ писал(а):
Myp писал(а):вопрос, скока магнитиков клеить на ротор?

Есть книга, гуглить "BrushlessPermanentMagnetMotorDesignVersion2".
Еще есть онлайн калькуляторы, типа:
http://www.bavaria-direct.co.za/scheme/calculator/
https://www.emetor.com/edit/windings/

Для меня самое понятное соотношение: 1, 2 или 4 магнита на одну группу полюсов (группа = 3 полюса). Т.е. те соотношения которые не дают пульсаций гармоник в калькуляторе при нажатии кнопки "advanced".
Например: 12s16m, 12s8m, 18s12m, 18s6m и.т.д. Подбирать так: Число слотов делим на 3 и умножаем на 1, 2 или 4.
Последний раз редактировалось dccharacter 12 июн 2016, 08:07, всего редактировалось 2 раз(а).
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Dmitry__ » 25 июл 2013, 23:01

dccharacter писал(а):Ну что, как вам вот эта штука:

Да это вообще штатные контроллеры для tgy. Твой ini: bs_nfet
Hobby King 20A (F-20A)
Hobby King 30A (F-30A)

Да еще все n-fetы, да еще все пины программирования выведены на плату, какой ты хакер после этого?
https://github.com/sim-/tgy/blob/master/bs_nfet.inc

linvinus писал(а):Непонятно что вы хотите получить в результате?

"обобщаем инфу"
на атмеле можно только блочную коммутацию сделать, если делать синус то на управление мало ресурсов останется.

Да ладна, там ресурсов сейчас 20% по памяти
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение dccharacter » 25 июл 2013, 23:08

Ну то исть вообще супер регуль за 10 баксов. Смотрю УАРТ там не задействован, а вот на TWI висят мосфетики. Ну если что и покромсать можно. Ну чо, утверждаем рекомендованным регулем в стартер кит?
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Dmitry__ » 25 июл 2013, 23:17

уарт на нем включается "USE_UART = 1"
Часто на регулях "rx" обьединяют с PPM входом регулятора, т.е. на штатный 3-х пиновый разьем регулятора можно подавать "тх" (в прошивке выключить USE_INT0 = 0)
dccharacter писал(а):Ну чо, утверждаем рекомендованным регулем в стартер кит?

Утверждай, да их тыщи еще совместимых...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение dccharacter » 25 июл 2013, 23:20

Ага, вот нашел грамотную табличку: http://wiki.openpilot.org/display/Doc/RapidESC+Database
А Дима ее уже добавил...
Последний раз редактировалось dccharacter 25 июл 2013, 23:25, всего редактировалось 1 раз.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение elmot » 25 июл 2013, 23:22

dccharacter писал(а):Хочу просто разобраться. На СТМ-ках крутил движки. Всему свое время, думаю и до синуса дойдем. Прямо сейчас я решаю простую проблему - с минимальным вложением времени и денег получить готовый стенд для экспериментов. Потом... ну, например, есть проект с подвесом камеры. Взять и подвесить фотик - фотик ведь есть у любого и это интересно. А то надоело зашивать в устройства алгоритмы, которые работают только с магическим сетом подобранных в течение трех ночей параметров. Шаг вправо, шаг влево - попытка побега, прыжок на месте - провокация.

Думаю на стмке, даже не на f4, а на гораздо менее мощной можно устроить ШИМ-синус по по нескольким каналам почти без участия проца. Чисто на таймерах/dma/gpio.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Myp » 25 июл 2013, 23:38

вот фотка прям моего, почти полный клон.
25072013142.jpg

припаялся
чё дальше?
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Dmitry__ » 25 июл 2013, 23:49

dccharacter, ты из своего бложика утащи ссылки сюда.
forum87/topic10646-855.html#p279051
Вот еще "Перепрошивка ESC для мультироторов"
http://forum.rcdesign.ru/blogs/43414/blog15262.html
Вот по силабам
http://forum.rcdesign.ru/blogs/90086/blog15276.html

Пилите Шура, она золотая...

Добавлено спустя 3 минуты 59 секунд:
dccharacter писал(а):А Дима ее уже добавил...

Я ничего не трогал :shock:
Myp писал(а):припаялся
чё дальше?

Фигассеее, ну земля еще и 5 вольт, про программатор ничего не сказал.
А дальше, надо топтать клаву, как tgy прикрутить к виндам и какие цонфиги изменить, типа надо время...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Angel71 » 26 июл 2013, 00:00

elmot, микрообзорчик "Motor control with STM3232‑bit ARM‑based MCU" http://www.st.com/st-web-ui/static/active/en/resource/sales_and_marketing/promotional_material/brochure/brstm32mc.pdf
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Dmitry__ » 26 июл 2013, 00:10

Кста, покурил бы кто ссылку стм32
forum87/topic10646-855.html#p279031
Что там хорошего? какая активность?, а то мне себя трудно пересиливать читать по буржуйски :oops:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение linvinus » 26 июл 2013, 01:12

dccharacter писал(а):Хочу просто разобраться. На СТМ-ках крутил движки. Всему свое время, думаю и до синуса дойдем. Прямо сейчас я решаю простую проблему - с минимальным вложением времени и денег получить готовый стенд для экспериментов. Потом... ну, например, есть проект с подвесом камеры. Взять и подвесить фотик - фотик ведь есть у любого и это интересно. А то надоело зашивать в устройства алгоритмы, которые работают только с магическим сетом подобранных в течение трех ночей параметров. Шаг вправо, шаг влево - попытка побега, прыжок на месте - провокация.


Крутить пропеллер и крутить камеру (если я правильно понял речь о gimbal) это две диаметрально противоположные задачи.
И решения у них разные.
Чтобы крутить пропеллер, нужно наиболее оптимально переключать обмотки, так чтобы поддерживать 90 градусов между текущей позицией ротора в рамках одного полюса и вектором токов в обмотках двигателя.
В gimbal на оборот, ротор всегда находится над стартером в равновесии.
При этом первая задача требует знание о точном положении ротора тогда как вторая этого не требует, по сути, превращая мотор в управляемый соленоид.

Если хочется именно экспериментировать, то советую отделить силовую часть от контроллера (сделать независимый узел).
Так можно подключать разные контроллеры к одним и тем же двигателям.
Силовая часть у всех контроллеров по большей части одинакова, драйвер полевых ключей и сами ключи, собрать можно и на макетке.
например взять силовую часть из этой схемы http://wladislaw-sl.narod.ru/BLMC-SL40A/Cxema.jpg
заморачиваться с диодами не нужно, они для повышения эффективности на больших скоростях ещё схемы тут http://wladislaw-sl.narod.ru/blmc-sl/blmc-sl.html
Плюс в том что верхний и нижний ключи управляются напрямую, т.е. давая полную свободу использовать какие угодно алгоритмы шим, судьба транзисторов в ваших руках.
Кстати об этом, если требуется схема для экспериментов, советую предусмотреть возможность лёгкой перепайки транзисторов, а драйверы вообще лучше в дип-панель посадить.
Гнаться за амперами не стоит, лучше всё проверять на малых токах (слабый источник питания), и обязательно использовать предохранитель.
По деталям: три драйвера, шесть резисторов и шесть транзисторов, проще некуда.
Резисторы между драйверами и силовыми ключами нужны для ограничения тока переключения силовых транзисторов, т.к. затворы имеют ёмкости через которые в первый момент времени может потечь ток К.З. если его не ограничить.

После того как будет чёткое понимание что и как должно быть можно разработать прошивку для готового контроллера, или собрать самому.
Последний раз редактировалось linvinus 26 июл 2013, 01:37, всего редактировалось 1 раз.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Myp » 26 июл 2013, 01:18

такс
написано что эта дело должно компилиться в AVR Studio
тока конфиг надо править вручную.
этот вариант меня устраивает :)

Since the 2012-06-01 release, the pre-built .hex files contain a boot loader that allows for flash and EEPROM reading and writing over the PWM input wire. The main purpose of this boot loader is to support software updates without having to expose the MCU or ISP pads for SPI programming, assuming this version or newer has previously been flashed.
тобишь достаточно один раз прошить проводками и проводки можно отпаять. замечательно.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение linvinus » 26 июл 2013, 01:21

Dmitry__, в соседней теме вы сказали что перематывали bldc и покупаете готовые контроллеры на атмелах (как я понял для пререпрошивки), а какие задачи решаете с их помощью?
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Dmitry__ » 26 июл 2013, 03:48

Виндузятникам посвящается.
Проект https://github.com/sim-/tgy написан под AVRA, код полностью совместим с асмом атмела. Все что надо сделать в AVR Studio - создать новый проект визардом, указать проект тип - Atmel AVR assembler, выбрать проц - atmega8 (A, L по вкусу). Сохраниться. Подключить исходный код tgy.asm, открыть его, поиском найти: #include "tp.inc" и заменить его (или закомментировать ";" и добавить нужный ini) на нужный ini. Например на: #include "bs_nfet.inc"
Все ini файлы всех хоббийных контроллеров лежат в папке проекта. Находится нужный ini или по названию регулятора в файле " README.md" или эмпирическим путем. Лично мне проще прозвонить все контакты авр на новом контроллере (чтоб найти всякие доп. вкусняшки типа rs232 обьединенным с PPM сигналом регулятора или узнать, что есть аналоговый датчик напряжения аккумулятора). Все, компилим проект, если появились ошибки типа неподкл. m8def.inc, находим и подключаем вручную.
Теперь конфигурация, на примере хотелок Мура :)
мысли по допиливанию:
1. можно ему сделать реверс?
2. можно управлять командами, а не шимом?
3. можно максимальную скорость задрать до максимума?
4. можно куданибуть допаять светодиод, для индикации достижения нужных оборотов?

1.За реверс отвечает "RC_PULS_REVERSE" в tgy.asm. Ваш КО :)
.equ RC_PULS_REVERSE = 1 ; Enable RC-car style forward/reverse throttle

Можно добавить электронное торможение двигателем "MOTOR_BRAKE" (для car)
Можно ограничить стартовый пуск SLOW_THROTTLE (не палить контроллеры пока чайник)
2. Вот тут варианты. У всего проекта tgy тяжелое наследство PPM управления, если команды перестают поступать с опред. частотой, то контроллер выключит двигатель по "потеря сигнала". Это относится и к ppm (USE_INT0) и к уарт (USE_UART), i2c и spi не проверял но 99% тоже. Проще всего, например для уарт - посылать команды постоянно, ноги уарта для tgy растут из:
http://home.versanet.de/~b-konze/blc_6a/blc_6a.htm
Находится в тексте tgy.asm:
Код: Выделить всёРазвернуть
   ; This is Bernhard's serial protocol implementation in the UART
   ; version here: http://home.versanet.de/~b-konze/blc_6a/blc_6a.htm
   ; This seems to be implemented for a project described here:
   ; http://www.control.aau.dk/uav/reports/10gr833/10gr833_student_report.pdf
   ; The UART runs at 38400 baud, N81. Input is ignored until _= 0xf5
   ; is received, вхере :) (пипец, почините форум) we start counting to MOTOR_ID, at which
   ; the received byte is used as throttle input. 0 is POWER_OFF,
   ; _= 200 is FULL_POWER.



Лично я пошел по пути выпиливания всего лишнего из кода, как-нибудь выложу, сейчас еще код не устаканен.
3. делается сооств. командой управления мощностью (говорю про уарт)
4. найти свободный пин (все пины контроллера обьявляются в соотв. ini) . Сам код - 2 строчки, когда начнешь крутить регуль, тогда допишем.

Советую начинать мучить регуль со стандартного PPM сигнала сервотестером или приемником. Отключить все уарты spi i2c, оставить только USE_INT0, кажись так во всех ini по умолчанию
Код: Выделить всёРазвернуть
.equ   USE_INT0   = 1
.equ   USE_I2C      = 0
.equ   USE_UART   = 0
.equ   USE_ICP      = 0

Кто начнет химичить с регулем подключенным к аккуму на 100C тот сам себе буратино, все меры предосторожности есть в ссылках и упоминались тут.

Писал по памяти, пробуйте, жгите, по мере поступления углей, буду корректировать пост.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение dccharacter » 26 июл 2013, 03:57

А вот скажи Дима за движочек. http://hobbyking.com/hobbyking/store/__ ... _size.html - какой форм-фактор выбираем? У меня, непример, с сидиромовым очень фигово получалось экспериментировать, потому что чуть-только ты отклоняешься от оптимального режима работы (максимальные обороты, ток в районе 300мА), движок тут же дико перегревается и наченает шкрябать, дымить и т.д. Нужно такой движок, чтоб лежа на столе от затяжного прохождения тока в пару-тройку ампер не помер....

Добавлено спустя 1 минуту 32 секунды:
Интуитивно вот это нравицца: http://hobbyking.com/hobbyking/store/__ ... Motor.html

Добавлено спустя 1 минуту 26 секунд:
А, да, после начальных забегов хочется сразу перейти к низкооборотным системам. Типо тех, что стоят на подвесе фотиков по ссылкам выше. Там где "модификация двигателя обязательна".
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Разборки с брушлесами - обобщаем инфу по BLDC-двигателям

Сообщение Angel71 » 26 июл 2013, 04:15

это монстр какой-то, а не движок
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Пред.След.

Вернуться в КиберЗона - клуб боевых роботов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron