roboforum.ru

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

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

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

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

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

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

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


оглавление:
Теория
-Теория
-Аппноты, хаутушки, мануалы
-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-двигателям

Сообщение ilalexey » 22 ноя 2013, 14:54

Добрый день.
В начале темы упоминался tgy проект. Пытаюсь его заставить работать на N мосфетах и ir2101. Двиг от какого-то дисковода(15 полей). Питание от импульсного бп 12в 1а.
Пускаться не желает, хоть тресни. стоит на месте и вяло дёргаетя. Игрался с настройкой MIN_DUTY, POWER_RANGE и MOTOR_ADVANCE - изменения незначительные есть, но всё не то. Сам с места тронуться не может.
Проверку железа включил - светит ошибки 6,7,8.. типа "Phase drive broken", но все связи и целостность элементов вроде в порядке. Когда с толкача крутится мигает WarnLED.
Что я делаю не так?
Где в коде то место, в котором описаны границы компаратора(так понимаю, они должны быть)?
"transition to low at about 1.42V and to high at about 1.86V".
Резюки у меня стоят не идеальные(18к от фазы, 3к3 на землю)
Вложения
bldc_nfet.zip
(104.11 КиБ) Скачиваний: 0
Аватара пользователя
ilalexey
 
Сообщения: 3202
Зарегистрирован: 13 май 2011, 21:37
Откуда: Bb

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

Сообщение avr123.nm.ru » 22 ноя 2013, 15:00

лучше 1 раз картинку увидеть чем сто раз прочитать :D
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение ilalexey » 22 ноя 2013, 15:04

схему?
Вложения
bldc_nfet.png
Аватара пользователя
ilalexey
 
Сообщения: 3202
Зарегистрирован: 13 май 2011, 21:37
Откуда: Bb

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

Сообщение Dmitry__ » 22 ноя 2013, 16:43

Не, я канешна разобрал tgy до последнего винтика, но как-то очень смело вот так все менять. :shock:
А почему нижние транзисторы моста управляются как p-мосфеты?
А чего все макросы управления транзисторами переползли в основную программу?
А чего это microsoft тама делает? Мож не надо?

Если задавать вопросы относительно tgy, то и проект должен быть очень похож на tgy. А у тебя что-то очень свое. За разбор такого надо брать около 15000р в день. :pardon:
Делать надо так:
Берем драйвер из списка tgy, прошиваем/проверяем. Делаем одно изменение (например попытка компиляции проекта в другом иде (превед мелкософт)), прошиваем/проверяем/смелеем. Меняем драйверы на ir2101, меняем/проверяем/сжигаем/думаем/возвращаемся на один шаг назад. и.т.д. :)
Да, и с all n fet, с проектом tgy надо быть очень осторожным (в тексте программы есть предупреждение), ибо задержки для dead time должны быть все пересмотрены...

Добавлено спустя 9 минут 10 секунд:
Опс, понял, hk200a на ir2101? :oops:
А почему так программа изменилась? Новая версия от tgy или свое?

Добавлено спустя 1 минуту 42 секунды:
И это, 1 ампер источник для этого монстра - крайне мало. Хотя первые эксперименты надо проводить с послед. лампой накаливания в цепи питания...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение ilalexey » 22 ноя 2013, 16:51

https://github.com/sim-/tgy - топологии проекта не менял
а как управлять ими не как П?
Аватара пользователя
ilalexey
 
Сообщения: 3202
Зарегистрирован: 13 май 2011, 21:37
Откуда: Bb

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

Сообщение Dmitry__ » 22 ноя 2013, 20:27

Хо хо, нифига себе в tgy изменения :shock:
Я последний раз смотрел июньский код сего года. По новой версии, пока, подсказывать не готов. В глаза очень бросается разница между твоим bldc_main.inc и их hk200a.inc.
Отсюда вопросы:
Плата драйвера своя с большими изменениями в переопределении пинов avr или что-то покупное? (относительно hk200a.inc). Или какой inc ты брал за основу?.
Пытался ли ты этим драйвером крутить хоббийные двигатели? Ибо "Двиг от какого-то дисковода(15 полей)" не самый лучший вариант для старта. Какое сопротивление обмоток твоего двигателя?. От сопротивления и индуктивности обмоток очень сильно зависит возможность работы драйвера (они все-таки рассчитаны на хоббийные низкоомные движки).
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение ilalexey » 22 ноя 2013, 22:43

про hk200a.inc ничего не могу сказать, не смотрел.
Моего уровня программинга, думаю, хватит ноги в ширину плечь расставить.
управлять ими - другое дело.
в этом http://roboforum.ru/forum11/topic10041.html посту весьма плавал(тупил) с bldc и понял, что не наигрался. Плата с мосфетами оттуда. Тогда делитель(середины) стоял от основного питания и может я чего не разобрал, может ещё что, но поставив переменный резистор на землю делителя, окрошка сия стабильно жила весьма в малом диапозоне. при изменении скорости резистор приходилось подкручиваль. наверно програмно это не решено(в такие дебри не вникал).
Решил старому железу новые мозги вправить.
Делал bl-ctrl, так та стартовала с любым питанием и двигателями, что были под рукой.
в 1А не проблема - стартовать должно.
----
пс: поменял в .macro FET_on/off местами sbi и cbi. запустился. верхий "с" фет нагрелся.
уже результат.
Аватара пользователя
ilalexey
 
Сообщения: 3202
Зарегистрирован: 13 май 2011, 21:37
Откуда: Bb

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

Сообщение linvinus » 25 ноя 2013, 13:39

ilalexey писал(а):про hk200a.inc ничего не могу сказать, не смотрел.
Моего уровня программинга, думаю, хватит ноги в ширину плечь расставить.
управлять ими - другое дело.
в этом http://roboforum.ru/forum11/topic10041.html посту весьма плавал(тупил) с bldc и понял, что не наигрался. Плата с мосфетами оттуда. Тогда делитель(середины) стоял от основного питания и может я чего не разобрал, может ещё что, но поставив переменный резистор на землю делителя, окрошка сия стабильно жила весьма в малом диапозоне. при изменении скорости резистор приходилось подкручиваль. наверно програмно это не решено(в такие дебри не вникал).
Решил старому железу новые мозги вправить.
Делал bl-ctrl, так та стартовала с любым питанием и двигателями, что были под рукой.
в 1А не проблема - стартовать должно.
----
пс: поменял в .macro FET_on/off местами sbi и cbi. запустился. верхий "с" фет нагрелся.
уже результат.


Привет! :)
В той ветке а протестировал два варианта датчика перехода через 0.
Первый тот что в оригинальной схеме bldc-hv имеет фиксированный делитель по питанию, второй, по схеме microcopter, где делитель адаптируется к уровню противоэдс.
forum11/topic10041-30.html#p207463
Я отметил что вариант от microcopter более стабильный.
Можно легко поправить схему от bldc-hv, для этого нужно
1) резисторы R24,R25,R26 отключить от точек MOTOR_(A,B,C) а подключить к BEMF(A,B,C)
2) R29-R31 убрать
т.к. напряжение итак уже после делителя и должно соответствовать максимальнодопустимому уровню микроконтроллера.
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

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

Сообщение ilalexey » 25 ноя 2013, 13:52

Привет!
ту схему_прошивку пока нет возможности жевать, ибо:
Вложения
blnfet.jpg
Аватара пользователя
ilalexey
 
Сообщения: 3202
Зарегистрирован: 13 май 2011, 21:37
Откуда: Bb

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

Сообщение linvinus » 25 ноя 2013, 14:46

Так всё равно делитель должен быть

По tgy я тебе не помошник, я assembler плохо знаю.

поменял в .macro FET_on/off местами sbi и cbi


Тебе нужно разобраться, в bldc-hv довольно необычное управление.
на вход IN нужно подавать каким плечём управляем (верхним транзистором или нижним), а на вход SD подавать ШИМ или просто включение транзистора.

насколько я помню было так:
PB0,PB1,PD2 - задают какие ключи активны

например PB0,PB1,PD2 = 1,0,0 - означает что актывны Q11,Q12,Q41,Q42,Q61,Q62 (по оригинальной схеме)
Но! включаются эти транзисторы сигналами с PD0,PD1,PD2

например PD0,PD1,PD2 = 1,1,0
при этом,например, если PD0 генерирует шим , то в порт PORTD поочерёдно загружается то 1,1,0 то 0,1,0 (с частотой ШИМ)
Т.е. получается ШИМ на Q11,Q12 а Q41,Q42 всегда открыт, все остальные транзисторы закрыты.


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

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

Сообщение ilalexey » 25 ноя 2013, 15:08

т.е., относительно драйвера 2101, где есть HIN и LIN, LIN это шим, а хин управляющий? думал наоборот.

Добавлено спустя 6 минут 30 секунд:
я вообще не программер, просто интерес.
---
смущает ещё такая запись:
;-- FET driving macros ---------------------------------------------------
; Careful: "if" conditions split over multiple lines (with backslashes)
; work with arva, but avrasm2.exe silently produces wrong results.
Аватара пользователя
ilalexey
 
Сообщения: 3202
Зарегистрирован: 13 май 2011, 21:37
Откуда: Bb

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

Сообщение linvinus » 25 ноя 2013, 16:37

ilalexey писал(а):т.е., относительно драйвера 2101, где есть HIN и LIN, LIN это шим, а хин управляющий? думал наоборот.

Нет, у 2101 нет понятия управляющий и шим
если HIN=1 то верхний транзистор открыт,HIN=0 то верхний транзистор закрыт
если LIN=1 то нижний открыт,LIN=0 то нижний транзистор закрыт.

если HIN=1 и LIN=1 то будет короткое замыкание (верхний и нижний будут открыты) и транзисторы сгорят.
Никакой аппаратной защиты нет (кроме низкого напряжения для верхнего транзистора)

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

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

Лучшее что можно получить - выбрать наиболее близкую по конструкции плату, а именно, N+N и управляющие сигналы с контроллера должны быть не инвертированные.
Возможно Dmitry__ сможет подсказать такую плату.
Затем собрать правильно исходники для этой платы, поправив определения ножек, в соответствии с твоей конфигурацией.
Помолиться и попробовать запустить.

Чтобы в заблуждение никого не вводить, в схеме лучше переименовать AN_FET,BN_FET,CN_FET, AP_FET,BP_FET,CP_FET, на AUP_FET,BUP_FET,CUP_FET, ADOWN_FET,BDOWN_FET,CDOWN_FET, ну или как нибудь иначе, но без указания N и P т.к. все транзисторы N.


ilalexey писал(а):---
смущает ещё такая запись:
;-- FET driving macros ---------------------------------------------------
; Careful: "if" conditions split over multiple lines (with backslashes)
; work with arva, but avrasm2.exe silently produces wrong results.


Тут сказано что нельзя разбивать эти записи на несколько строк т.к. не все компиляторы адекватно это воспринимают.
А вообще суть этих макросов в том что если начальное состояние управляющих сигналов 1 то управляющие сигналы должны быть инвертированы.
Эти записи трогать не нужно они корректны, т.к. у тебя
INIT_PD = 0
INIT_PB = 0
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__ » 25 ноя 2013, 17:18

Подсказать по tgy можно, но тащить клещами ответы - ну нафиг. Жду ответов...
ilalexey писал(а):про hk200a.inc ничего не могу сказать, не смотрел.

Так что ты брал за основу для своего bldc_main.inc? Ближе всех был hk200a.inc, вот я и предположил.
Еще вопросы:
Что хочется получить в результате? Драйвер двигателя от хоббийного ппм сигнала как сейчас? или что-то другое? Если только управление от ppm, то купи регуль (20$ - макс. цена, простые по 5$) и залей туда tgy. А потом поймешь, сможешь одолеть все это. Если с прицелом на свой старый проект, то покупай hk200a (или любой на ir2101). Вот у себя откопал на ir2101: cloud-200a, покупался в китае, дешево, да и так они по 45$, а он на 200 ампер, правда водяное охлаждение там - шляпа :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение ilalexey » 25 ноя 2013, 17:44

первый попавшийся .инк схватил, а далее по образу и подобию(то там глянул, то сям)
---
если исходить из "купи", то вся прелесть сего занятия потеряется.
---
вот забацал себе тахометр на тиньке. удовольствие получил. можно было купить, но..
Вложения
tach_2.jpg
tach_1.jpg
Аватара пользователя
ilalexey
 
Сообщения: 3202
Зарегистрирован: 13 май 2011, 21:37
Откуда: Bb

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

Сообщение linvinus » 25 ноя 2013, 17:54

ilalexey,
вот то очём говорит Дмитрий http://0x.ca/sim/esc/HK_HK-SS200ALV/
Вот его настройки https://github.com/sim-/tgy/blob/master/hk200a.inc
Судя по твоему конструктору, тебе проще перепаять провода под hk200a.inc и ничего не менять в коде.

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

Пред.След.

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

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

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

cron