Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Управление BLDC двигателем
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Электрические машины, Электропривод и Управление
Lomax
Подскажите как управлять BLDC двигателем на низких оборотах, которые существенно меньше минимальной частоты вращения при минимальном напряжение.

К примеру есть двигатель с максимальном частотой вращения 5000 при 24В, минимальная частота вращения около 500 при 2В

вот как управлять при скорости вращения единицы оборотов в секунду, вплоть до полной остановки?

будет работать классический ПИД регулятор по скорости?
AlexandrY
Цитата(Lomax @ Jan 20 2016, 09:32) *
будет работать классический ПИД регулятор по скорости?


А чего бы ПИД-у не работать если до этого работал.
Вот только энкодер с необходимой точностью будет не найти.
Lomax
Цитата(AlexandrY @ Jan 20 2016, 09:00) *
А чего бы ПИД-у не работать если до этого работал.


ну обычный коллекторный будет работать ?

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

Цитата
Вот только энкодер с необходимой точностью будет не найти.


энкодер есть, 12 бит аж
Vasily_
Вам нужен Sensorless BLDC тогда все будет работать.
Lomax
Цитата(Vasily_ @ Jan 20 2016, 10:36) *
Вам нужен Sensorless BLDC тогда все будет работать.


он и так Sensorless, он с энкодером
Vasily_
Вы энкодером видите где находится ротор?
Lomax


для максимального момента, ЭМ вектор должен обгонять роток на 90гр., т.е. на в режиме удержания или на инфранизких скоростях, этот вектор будет попеременно менять знак, вот откуда взять этот знак ? выход ПИД по скорости не сможет так быстро менять знать, тем более при 0 скорости.


пока сделал ПИД по положению, на входе ошибка по положению, на выходе амплитуда сигнала и направление вектора магнитного поля.
AlexandrY
Цитата(Lomax @ Jan 20 2016, 11:49) *
для максимального момента, ЭМ вектор должен обгонять роток на 90гр., т.е. на в режиме удержания или на инфранизких скоростях, этот вектор будет попеременно менять знак, вот откуда взять этот знак ? выход ПИД по скорости не сможет так быстро менять знать, тем более при 0 скорости.


пока сделал ПИД по положению, на входе ошибка по положению, на выходе амплитуда сигнала и направление вектора магнитного поля.


Ну так ясно же что не хватает точности энкодера.
12 бит мало. Потому и PID якобы медленный получается.
Lomax
Цитата(AlexandrY @ Jan 20 2016, 10:34) *
Ну так ясно же что не хватает точности энкодера.
12 бит мало. Потому и PID якобы медленный получается.

12 бит мало ? wacko.gif сколько же надо ?

да причем здесь энкодер ?

вот к примеру есть мотор, с оборотами от 500 до 5000
при +12 5000
при +9 4000
при +2 500
ниже +2 мотор уже не крутит

пид имеет на входе ошибку рассогласования скорости, на выходе значение амплитуды , если задано 4000 выдает +9в, при нагрузке больше и т.д.,
задаем 100 оборотов, пид честно понижает +0.5В b мотор останавливается, для старта уже надо вольт 5, а откуда они возьмутся
oleg_d
Цитата(Lomax @ Jan 20 2016, 09:32) *
вот как управлять при скорости вращения единицы оборотов в секунду, вплоть до полной остановки?

Векторное управление плюс обратная связь от датчика углового положения, например (resolver, sine cosine sensors).
Tanya
Цитата(Lomax @ Jan 20 2016, 14:22) *
задаем 100 оборотов, пид честно понижает +0.5В b мотор останавливается, для старта уже надо вольт 5, а откуда они возьмутся

Нельзя так... Надо плавно понижать величину задатчика. Ведь энергия должна диссипировать. Кроме того, при малой скорости становится заметна нелинейность, вызванная сухим трением.
khach
А причем тут вольты, если главное ток в обмотках? Питание серводрайвера как было так и останется 24 или 48 вольт. Сигнал скорости или позиции задается от внешнего контроллера. А дальше внутренне дело сервоконтроллера. Если сенсорлесс, то без "дрожи" ротора можно дойти до нескольких оборотов в минуту (на более низких скоростях сенсорлесс алгоритмы сбиваются). При использовании энкодера или ресолвера вообще двигатель может стоять на месте с полным моментом, т е если надо - сопротивлятся проворачиванию ротора внешней силой относитель заданной позиции.
Lomax
Цитата(Vasily_ @ Jan 20 2016, 09:47) *
Вы энкодером видите где находится ротор?

безусловно , энкодер прямо на роторе, без люфта
Цитата(khach @ Jan 21 2016, 11:21) *
А причем тут вольты, если главное ток в обмотках? Питание серводрайвера как было так и останется 24 или 48 вольт. Сигнал скорости или позиции задается от внешнего контроллера. А дальше внутренне дело сервоконтроллера. Если сенсорлесс, то без "дрожи" ротора можно дойти до нескольких оборотов в минуту (на более низких скоростях сенсорлесс алгоритмы сбиваются). При использовании энкодера или ресолвера вообще двигатель может стоять на месте с полным моментом, т е если надо - сопротивлятся проворачиванию ротора внешней силой относитель заданной позиции.

вообще то этот сервоконтроллер и проектируется
напряжение это на то которое подается на обмотки , соответственно и ток
Цитата(oleg_d @ Jan 21 2016, 10:12) *
Векторное управление плюс обратная связь от датчика углового положения, например (resolver, sine cosine sensors).

больше интересует какие ПИД вешать на это векторное или не векторное управление , я не очень уверен что векторное управление будет работать на нулевых скоростях
Цитата(Tanya @ Jan 21 2016, 11:12) *
Нельзя так... Надо плавно понижать величину задатчика. Ведь энергия должна диссипировать. Кроме того, при малой скорости становится заметна нелинейность, вызванная сухим трением.

зачем плавно, если можно использовать энергию самого двигателя для торможения ? вот вопрос где то в этом , как обеспечить максимальный момент на низкий скоростях , сейчас стоит только ПИД положению, задатчик нужного положение чисто математически, максимальный момент на любых скоростях, но чувствую это как-то не правильно
Tanya
Цитата(Lomax @ Jan 21 2016, 16:12) *
если можно использовать энергию самого двигателя для торможения ?


А как это возможно? Только рекуперацией - загонять энергию в источник. У Вас есть?
Lomax
если упрощено, то сейчас сейчас положение удерживается двумя векторами ЭМ поля +-90гр относительно ротора, если ротор движется в одну сторону от задания, то переключается направление вектор ЭМ поля и удерживает его ,и наоборот.
а вот как происходит управление знаком этого вектора в случае ПИД по скорости? если ротор начал обгонять требуемое задание, то недостаточно ослабить поле, нужно у поля поменять знак, чтобы двигатель притормозить, вот откуда этот знак взять при ПИД по скорости ?
зы может взять знак у входной ошибки скорости? crying.gif
наверно не очень понято объяснил, но если я сам не пойми физику процесса, все математика у меня не получится
Цитата(Tanya @ Jan 21 2016, 13:30) *
А как это возможно? Только рекуперацией - загонять энергию в источник. У Вас есть?

зачем? просто как-бы включаем двигатель в другую сторону
Tanya
Цитата(Lomax @ Jan 21 2016, 16:32) *
наверно не очень понято объяснил, но если я сам не пойми физику процесса, все математика у меня не получится
зачем? просто как-бы включаем двигатель в другую сторону

Очень круто! Вы полагаете, что это будет использование кинетической энергии для торможения?
Lomax
Цитата(Tanya @ Jan 21 2016, 14:38) *
Очень круто! Вы полагаете, что это будет использование кинетической энергии для торможения?


не полагаю, но это вполне тормозит
oleg_d
Цитата(Lomax @ Jan 21 2016, 15:12) *
больше интересует какие ПИД вешать на это векторное или не векторное управление , я не очень уверен что векторное управление будет работать на нулевых скоростях

Чтоб обрести уверенность почитайте это.
http://electronix.ru/redirect.php?https://...8TA&cad=rja
Tanya
Цитата(Lomax @ Jan 21 2016, 18:58) *
не полагаю, но это вполне тормозит

Со_жжете!
AlexandrY
Цитата(oleg_d @ Jan 21 2016, 18:09) *
Чтоб обрести уверенность почитайте это.
http://electronix.ru/redirect.php?https://...8TA&cad=rja


Вот этот Калачев халявщик еще тот. Практически ничего понять про векторное управление из него нельзя.
Да и векторное управление на малых углах смещения ни к чему. Ибо синус малого угла равен самому углу.
Тут можно применять обычный линейный PID с поправками на трение.
Вся проблема в точном датчике. Энкодеры слишком грубы.
Lomax
Цитата(AlexandrY @ Jan 21 2016, 19:04) *
Вот этот Калачев халявщик еще тот. Практически ничего понять про векторное управление из него нельзя.
Да и векторное управление на малых углах смещения ни к чему. Ибо синус малого угла равен самому углу.
Тут можно применять обычный линейный PID с поправками на трение.

вероятно два ПИД, по положению и по скорости ?
Цитата
Вся проблема в точном датчике. Энкодеры слишком грубы.

а можете пояснить ?
Цитата(Tanya @ Jan 21 2016, 17:01) *
Со_жжете!

почему?
Tanya
Цитата(Lomax @ Jan 21 2016, 23:43) *
вероятно два ПИД, по положению и по скорости


почему?

Два управляющих в одной голове - шизофрения. Такое возможно только при сильно отличающихся масштабах времени...
А сгорит от выделяющейся энергии. Мощность ведь пропорциональна произведению обобщенной силы на обобщенную скорость. В данном случае - углгвой момент силы и угловая же скорость. Сила будет пропорциональна току?
Еще вспомните противоэдс...
Lomax
Цитата(Tanya @ Jan 21 2016, 22:12) *
Два управляющих в одной голове - шизофрения. Такое возможно только при сильно отличающихся масштабах времени...
А сгорит от выделяющейся энергии. Мощность ведь пропорциональна произведению обобщенной силы на обобщенную скорость. В данном случае - углгвой момент силы и угловая же скорость. Сила будет пропорциональна току?
Еще вспомните противоэдс...


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

как по другому реализовать управление приводом к которому подключена неравномерная масса ?
khach
https://geektimes.ru/company/npf_vektor/blog/269486/ мурзилка неплохая. Кто нибудь дело с К1921ВК01Т имел? https://geektimes.ru/company/npf_vektor/blog/269246/
Tanya
Цитата(Lomax @ Jan 22 2016, 08:56) *
они не работают одновременно практически никогда, немного (и то попеременно) только в момент подхода к позиции и то на крайне низких значения амплитуды.

как по другому реализовать управление приводом к которому подключена неравномерная масса ?

Вы свой первый велосипед изобретаете? А что такое неравномерная масса? Ваш двигатель разве не похож на шаговый с малым числом полюсов?
Lomax
Цитата(khach @ Jan 22 2016, 08:38) *
https://geektimes.ru/company/npf_vektor/blog/269486/ мурзилка неплохая.

спасибо
вопрос
векторное управление подразумевает контроль реального вектора тока, который отстает от приложенного вектора, и чем больше скорость тем больше отставание, но можно ведь утверждать что на крайне низких оборотах вектор будет соответствовать приложенному всегда?
и второй вопрос, в выше приведенной реализации регулятор сможет удерживать вал от раскручивания под воздействиям нагрузки ?
Цитата
Кто нибудь дело с К1921ВК01Т имел? https://geektimes.ru/company/npf_vektor/blog/269246/

я на миландре реализую
Цитата(Tanya @ Jan 22 2016, 09:24) *
Вы свой первый велосипед изобретаете?

скорее пытаюсь научится ездит на изобретенном, но пока не понимаю почему он не едет не туда
Цитата
А что такое неравномерная масса?

ну к примеру система позиционирования камеры, у которой камера крайне криво прикручена и если выключить двигатель, он под действием массы опрокидывается вниз
Цитата
Ваш двигатель разве не похож на шаговый с малым числом полюсов?

даже не знаю что ответить, это обычный BLDC двигатель
кстати всего с тремя обмотками, высокскоростной, но я его смог заставить работать в режиме удержания, с точностью установки скорости 10ppm wacko.gif
khach
Книжка неплохая по векторному управлению http://avxhome.in/ebooks/engeneering_techn...3662469146.html забирать пока ссылка не протухла.
Цитата
я на миландре реализую

Для нормального векторного управления нужен заточнный под него контроллер. Т.е нужен 6 фазный ШИМ и связанный с ним многоканальный АЦП. Желательна ДМА загрузка регистров периферии и аппаратные защиты по аварийным состояниям, которые перводят таймер ШИМ в безопасное состояние. А, еще механизмы отладки без остановки процессора, т.к классиический дебаг с брекпоинтами это сразу бах силовой части.
Так что не уверен, что на выбранной платформе это реализуемо без костылей в виде FPGA и АЦП внешнего.
AlexandrY
Цитата(khach @ Jan 22 2016, 12:50) *
Книжка неплохая по векторному управлению http://avxhome.in/ebooks/engeneering_techn...3662469146.html забирать пока ссылка не протухла.


Книга достойная. Спасибо.
oleg_d
Цитата(khach @ Jan 22 2016, 12:50) *
Книжка неплохая по векторному управлению http://avxhome.in/ebooks/engeneering_techn...3662469146.html забирать пока ссылка не протухла.

Хорошая книга, спасибо.
san822
Цитата(khach @ Jan 22 2016, 13:50) *
Книжка неплохая по векторному управлению http://avxhome.in/ebooks/engeneering_techn...3662469146.html забирать пока ссылка не протухла.


А можно прямую ссылку на сам PDF-файл ? У меня что-то не получается скачать с той страницы.
AlexandrY
Цитата(san822 @ Jan 22 2016, 15:59) *
А можно прямую ссылку на сам PDF-файл ? У меня что-то не получается скачать с той страницы.


Да вот качайте. Здесь лучшее что я видел в последнее время.
https://drive.google.com/folderview?id=0B5d...amp;usp=sharing

Ссылка будет жить пару дней
khach
Может кто поделится таблицей "псевдосинусов" для таймера для правого режима управления ( векторный ШИМ)?

И что в этом случае можно сделать с датчиками back-EMF в безсенсорном управлении? Ведь обычно back-EMF измеряют отностительно среденй точки обмоток, а при таком управлении эта точна описывает достаточно сложную траекторию.
amaora
Цитата(khach @ Jan 22 2016, 18:31) *
Может кто поделится таблицей "псевдосинусов" для таймера для правого режима управления ( векторный ШИМ)?
И что в этом случае можно сделать с датчиками back-EMF в безсенсорном управлении? Ведь обычно back-EMF измеряют отностительно среденй точки обмоток, а при таком управлении эта точна описывает достаточно сложную траекторию.


Я делаю так без таблиц. Если коротко, то вычитаете из всех значений заполнения для фаз наименьшее. Одна из ног моста всегда оказывается на земле. Еще надо длину вектора ограничить как вам нужно. Про BEMF не знаю, измеряю только ток.
Lomax
Цитата(khach @ Jan 22 2016, 10:50) *
Для нормального векторного управления нужен заточнный под него контроллер. Т.е нужен 6 фазный ШИМ и связанный с ним многоканальный АЦП. Желательна ДМА загрузка регистров периферии и аппаратные защиты по аварийным состояниям, которые перводят таймер ШИМ в безопасное состояние. А, еще механизмы отладки без остановки процессора, т.к классиический дебаг с брекпоинтами это сразу бах силовой части.
Так что не уверен, что на выбранной платформе это реализуемо без костылей в виде FPGA и АЦП внешнего.


в миландре все это есть, и мнгофазный шим с deadtime и break входом, и АЦП с ДМА и т.д.
только я пока не уверен что мне нужно векторное управление


всем спасибо за книжки
Herz
Цитата(khach @ Jan 22 2016, 17:31) *
Ведь обычно back-EMF измеряют отностительно среденй точки обмоток, а при таком управлении эта точна описывает достаточно сложную траекторию.

Простите, что вмешиваюсь. Но ведь если измеряют действительно относительно средней точки, то какая разница, какую траекторию (относительно шины питания, например) она описывает?
khach
Цитата(Herz @ Jan 23 2016, 13:48) *
Но ведь если измеряют действительно относительно средней точки, то какая разница, какую траекторию (относительно шины питания, например) она описывает?

Я имел ввиду вот эту схему измерений. С виртуальной среденй точкой на резисторах. И пытаюсь понять как изменятся результаты измерений и как их обрабатывать если используется space vector pwm
amaora
Цитата
Я имел ввиду вот эту схему измерений. С виртуальной среденй точкой на резисторах. И пытаюсь понять как изменятся результаты измерений и как их обрабатывать если используется space vector pwm


1. svpwm подразумевает работу всех трех фаз моста, по такой схеме компаратор будет видеть напряжение от инвертора а не ЭДС двигателя. А если одну ногу моста поднять в Z состояние, то это уже будет не svpwm.

2. Измерение ЭДС происходит на малых интервалах времени, между переключениями ключей, на которых потенциал средней точки остается постоянным. Среднее значение этого потенциала ничего не значит для такой схемы измерения.
san822
Цитата(AlexandrY @ Jan 22 2016, 19:11) *
Да вот качайте. Здесь лучшее что я видел в последнее время.
https://drive.google.com/folderview?id=0B5d...amp;usp=sharing

Ссылка будет жить пару дней


Спасибо !

Lomax
Похоже я реализовал следящий привод , осталось к нему присовокупить PID rolleyes.gif
Lomax
вопросы так и остались открытыми, ответьте пожалуйста sad.gif

1. нужно ли векторное управление? в смысле приведение в систему координат ротора ибо синусоидальное управление уже по сути векторное упр.
2. чем не угодил энкодер с разрешением аж 12 бит ?
3. зачем нужна стабилизация по току ?
4. классическая схема из трех ПИД по положению, скорости и току, единственный вариант или могут быть другие ?
5. следящий ЭП может состоят из одного ПИД? типичная задача для контроллера положение камеры для квадрокоптера т.н. gimbal контроллер.
Lomax
Много хороших статей
ВЕНТИЛЬНЫЙ ЭЛЕКТРОПРИВОД ПРЕЦИЗИОННЫХ СИСТЕМ НАВЕДЕНИЯ http://pribor.ifmo.ru/file/journal/139.pdf

про разрешающую способность энкодера стр. 53

Представляется достаточным иметь уровень пульсаций момента (ускорения) не более одной пятой от предельно допустимого длительного момента (ускорения) двигателя. Например, если ε пр = 0,25 рад/с 2 , то при T опр = T e = 1 мс и ω ср v = 100 рад/с разрешающая способность оптического датчика при пятикратном запасе по моменту должна быть не хуже 0,16′′ (23 разряда). Соотношение (4) и приведенная численная оценка показывают, что оптические угловые датчики, разрешающая способность которых достигает 23—26 разрядов, могут использоваться в качестве универсального датчика обратной связи в системах прецизионного силового электропривода с высокими динамическими показателями, даже если для оценки скорости применяется отличающийся высоким уровнем шумов квантования способ прямого дифференцирования угла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.