реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Синхронный двигатель, точное позиционирование
alexPec
сообщение Aug 29 2013, 17:26
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Добрый день.
Есть синхронный трехфазный двигатель (3 фазы, 4 обмотки на каждой фазе расположенные по кругу ABC-ABC-ABC-ABC). На роторе - магниты. Магнитов больше чем обмоток, расположены строго над обмотками. Нужно точное позиционирование ротора, есть энкодер. Изложу свои домыслы, поправьте пожалуйста где ошибаюсь:

1. Управление трехфазным синусом, сделанным через ШИМ - чередованием выбираем направление.
2. Ток обмоток (амплитуда шима) выбираем исходя из необходимой скорости разгона (на роторе инертная масса)
3. Частоту синуса - опять же исходя из требуемой скорости разгона.

Вопрос нарисовался сам собой: каким образом связать переменную процесса (положение ротора) с ДВУМЯ управляемыми величинами - частотой синуса и амплитудой? Если была бы одна управляемая величина - через ПИД регулятор. Да и в этом случае тоже через ПИД - регулятор наверняка, вычислить динамические параметры системы и выставить коэффициенты под оптимальное регулирование - это не проблема. Но вот по какому закону связать частоту и амплитуду - затык. У асинхронников частота с амплитудой связывается через закон V/F. Но там другая ситуация. А тут на момент двигателя получается влияет амплитуда синуса, а частоту (или точнее скорость изменения фазы) надо выбирать следя за энкодером исходя из того, чтобы ротор не "опрокинулся", т.е. не проскользнул. Быстро крутанем - даже при максимальном токе из-за инертности массы проскользнет, а значит дернется в другую сторону. Может смотреть за энкодером и держать опережение угла синуса относительно ротора? Ну то есть чтоб синус статора от ротора далеко не убегал. Подозреваю, что тоже есть какой-то закон типа V/F, как для асинхронников, но до сих пор с синхронниками не сталкивался, поэтому прошу подсказки специалистов - ссылки, литература, советы - все что не лень выложить.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 29 2013, 19:27
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(alexPec @ Aug 29 2013, 20:26) *
ссылки, литература, советы - все что не лень выложить.


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

А синусоида да, формируется ШИМ-ом.
А ШИМ формируется цифровой схемой на микроконтроллере.
Не знаю насколько вы близки к микроконтроллерам, но именно там и ищут алгоритмы управления движками.
Все серьезные производители микроконтроллеров ST, TI, Atmel, Microchip, NXP, Freescale, Infineon... имеют неплохую документацию и примеры реализации цифрового управления двигателями типа вашего.

Наиболее четкая документация у Microchip-а, а вот микроконтроллеры лучше всего получились у Freescale. Особенно серия Kinetis MK60.
Для вашего движка также как и для асинхронников применяют векторное управление с двухконтурным регулированием.
Тема слишком сложная чтобы ее тут объяснять на пальцах.
Советую только не отрывать теорию от реализации на микроконтроллерах, а то потеряете время.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Aug 29 2013, 19:44
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(AlexandrY @ Aug 29 2013, 23:27) *
Не всегда в таких двигателях применяется синусоида. Нужно убедиться что там не трапеция.


Спасибо за ответ, посмотрю на микрочипе примеры. Реализация планируется на ПЛИС, там и шимы будут аппаратные, и модуль энкодера и все это для 4 движков в одном флаконе и управлять всем этим будет софт-процессор.

Цитата
Советую только не отрывать теорию от реализации на микроконтроллерах, а то потеряете время


Конечно нет, поэтому и спросил тут у умных людей где поискать, что почитать. Давненько делал свой частотник для асинхронников, поэтому чуть-чуть в теме. С реализацией - что аппаратной, что программной - проблем нет, важна именно теория. С этим в области синхронных движков пробел.
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 29 2013, 20:51
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(AlexandrY @ Aug 29 2013, 22:27) *
Наиболее четкая документация у Microchip-а, а вот микроконтроллеры лучше всего получились у Freescale. Особенно серия Kinetis MK60.

Я смотрю, Вы активно взялись за рекламу этого Кинетиса... wink.gif Сильное, наверное, впечатление произвёл.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Aug 30 2013, 04:08
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Посмотрел на сайт микрочипа и понял, что не понял чем отличаются BLDC (brushless DC) и Permanent Magnet Synchronous Motor (PMSM). Объясните пожалуйста!

Нашел вот это:
http://electronix.ru/forum/index.php?showtopic=106390
но непонятно тогда, почему шаговые выделяют отдельно от BLDC...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 30 2013, 05:41
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(alexPec @ Aug 30 2013, 07:08) *
Посмотрел на сайт микрочипа и понял, что не понял чем отличаются BLDC (brushless DC) и Permanent Magnet Synchronous Motor (PMSM). Объясните пожалуйста!

Нашел вот это:
http://electronix.ru/forum/index.php?showtopic=106390
но непонятно тогда, почему шаговые выделяют отдельно от BLDC...


У шаговых и BLDC как минимум разные схемы драйверов. Шаговые не чувствительны к направлению тока в обмотке.
PMSM называют движки с синусоидальной ЭДС.
И BLDC могут развить большую скорость чем PMSM поскольку генерить синусоиду на высоких скоростях, а тем более делать векторное управление из-за фазовых сдвигов становиться невозможно.

С этой точки зрения пытаться реализовать векторное управление сразу 4-я движками на маломощном софт процессоре эт смелое решение. wink.gif

Скажем по векторному алгоритму MK60 на 120 МГц с минимальным запасом по ресурсам времени может управлять только 2-мя движками с ШИМ-ом на 16 КГц.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Aug 30 2013, 06:11
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968




Цитата
У шаговых и BLDC как минимум разные схемы драйверов. Шаговые не чувствительны к направлению тока в обмотке.


Да это то понятно.

Цитата
а тем более делать векторное управление из-за фазовых сдвигов становиться невозможно.


Фазовых сдвигов чего? ни ток, ни напряжение не меряю, у меня колесико с рисками и энкодер для контроля положения.

Цитата
С этой точки зрения пытаться реализовать векторное управление сразу 4-я движками на маломощном софт процессоре эт смелое решение. wink.gif


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


Go to the top of the page
 
+Quote Post
Iptash
сообщение Aug 31 2013, 16:38
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Цитата(alexPec @ Aug 29 2013, 21:26) *
1. Управление трехфазным синусом, сделанным через ШИМ - чередованием выбираем направление.
2. Ток обмоток (амплитуда шима) выбираем исходя из необходимой скорости разгона (на роторе инертная масса)
3. Частоту синуса - опять же исходя из требуемой скорости разгона.

Частотно-токовое управление для асинхронных двигателей. В синхронных приводах с обратной связью по скорости по другому.
Go to the top of the page
 
+Quote Post
Elsystems
сообщение Aug 31 2013, 17:32
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 265
Регистрация: 19-01-12
Пользователь №: 69 736



Цитата
каким образом связать переменную процесса (положение ротора) с ДВУМЯ управляемыми величинами - частотой синуса и амплитудой?

Делайте так: Никаких ШИМов тут не надо. Два токовых релейных контура по дву фазам, с частотами коммутации несколько килогерц, теперь вы сможете задать вектор тока в системе координат 120 градусов. Далее с помощью сигнала с датчика положения и функции sin ориентируете вектор тока относительно ротора так, чтобы был максимальный момент (фазу вектора нужно будет настроить). Теперь вы сможете задавать амплитуду вектора тока, и она будет пропорциональна моменту на роторе. С теорией регулирования вы знакомы, тогда дальше просто - поверх делаем скоростной контур, а поверх него - позиционный. Конечно это в двух словах - на практике очень много подводных камней.
Go to the top of the page
 
+Quote Post
Iptash
сообщение Aug 31 2013, 17:54
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



alexPec то, что применяете ПЛИС это правильно, но зачем для управления МК, на ПЛИСе все функции можно сделать и лучше. Только я бы делал на CPLD
и по отдельности каждый драйвер.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Aug 31 2013, 18:46
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Elsystems @ Aug 31 2013, 21:32) *
Делайте так: Никаких ШИМов тут не надо. Два токовых релейных контура по дву фазам, с частотами коммутации несколько килогерц, теперь вы сможете задать вектор тока в системе координат 120 градусов. Далее с помощью сигнала с датчика положения и функции sin ориентируете вектор тока относительно ротора так, чтобы был максимальный момент (фазу вектора нужно будет настроить). Теперь вы сможете задавать амплитуду вектора тока, и она будет пропорциональна моменту на роторе. С теорией регулирования вы знакомы, тогда дальше просто - поверх делаем скоростной контур, а поверх него - позиционный. Конечно это в двух словах - на практике очень много подводных камней.


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

Теперь возник еще вопрос. Посмотрел как слеплены драйверы (рисунок, упрощенный естественно) и задумался как таким управлять? Все нижние ключи управляются одной линией, верхние - раздельными. Получается в рабочем режиме нижние драйверы все должны быть включены, а верхние шимятся на положительной полуволне синуса, а на отрицательной что - отключаются и все? Так что ли?
Стоп! Включив нижний драйвер, нам верхний то вообще нельзя включать - сквознячок будет...Как такое вообще работало тогда?

Цитата
alexPec то, что применяете ПЛИС это правильно, но зачем для управления МК, на ПЛИСе все функции можно сделать и лучше. Только я бы делал на CPLD
и по отдельности каждый драйвер.


Так МК то в той же ПЛИС и реализован, NIOS, для гибкости внешнего интерфейса и т.д.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Elsystems
сообщение Sep 1 2013, 04:15
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 265
Регистрация: 19-01-12
Пользователь №: 69 736



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

Разделяйте все затворы. На вашем рисунке глупость какая то. Да, и когда вектор тока будете выставлять по ротору, тут есть одна хитрость - нужно учесть количество пар полюсов двигателя!
Go to the top of the page
 
+Quote Post
alexPec
сообщение Sep 1 2013, 08:02
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Пардон, на корпусе было плохо видно последнюю цифру, посмотрел другой драйвер - там одним выводом управляется и верхний и нижний ключи, а то что я принял за нижний ключ - это shut down. Так что все сходится
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 1 2013, 11:32
Сообщение #14


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(alexPec @ Aug 31 2013, 21:46) *
Так МК то в той же ПЛИС и реализован, NIOS, для гибкости внешнего интерфейса и т.д.


Посмотрел я что предлагает Altera в своем "Drive-On-Chip Reference Design"

Да, поначалу смотрится впечатляюще, векторное управление 4-я сервоприводами одновременно!

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

В железе сделаны только примитивный парк и кларк.
Так их и Cortex щелкает своим float-point ускорителем за микросекунды.

Как большое достижение Altera представляет ШИМ модуляторы.
Так их 4-е штуки есть и в гораздо более дешевом MK60.

Далее как достижение представлена синхронизация АЦП с ШИМ. Но вот у MK60 есть не только эта синхронизация и 16-и битный АЦП с аппаратной фильтрацией но и еще и PGA.

Потом пространственно-векторная модуляция в альтере сделана программно!
Все каналы PI тоже программные и на ARM9 или NIOS, которые заведомо тормознее Cortex-M4.
Не удивительно, что у них частота модуляции выбрана 16 КГц.

И как последний гвоздь, связывающий софт базируется на RTOS uCOS-II, которая в принципе устарела, бесплатная только в демках, и для коммерческого проекта неоправданно дорогая.

Это при том, что для MK60 библиотеки управления движком идут с совершенно бесплатной и более мощной RTOS MQX.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Sep 1 2013, 16:39
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата
Посмотрел я что предлагает Altera в своем "Drive-On-Chip Reference Design"

Да, поначалу смотрится впечатляюще, векторное управление 4-я сервоприводами одновременно!


Честно говоря, даже не знал что оно такое есть. Спасибо за информацию!
Я как-то не люблю использовать библиотеки, операционки, и стараюсь заимствовать по минимуму. В плис у меня будет СВОЙ ШИМ, аппаратный формирователь синуса, аппаратное слежение за энкодерами и аппаратное опережение угла. Т.е. векторное (так как я это понимаю) управление мне не нужно - я не оцифровываю токи, напряжения, не сравниваю фазы и т.д. На программу ляжет нагрузка только реализовать 4 PID-регулятора, причем с железа я буду считывать рассогласование, а управлять буду только амплитудой синусов. Как мне кажется, для такой задачи кортексы уж очень избыточно.


Цитата
Но вот у MK60 есть не только эта синхронизация и 16-и битный АЦП с аппаратной фильтрацией но и еще и PGA.


Мне бы такие МК лет 5-6 назад, когда частотник лепил. Для асинхронных частотников конечно самое то.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 10:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.015 секунд с 7
ELECTRONIX ©2004-2016