alexPec 3 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба Добрый день. Есть синхронный трехфазный двигатель (3 фазы, 4 обмотки на каждой фазе расположенные по кругу ABC-ABC-ABC-ABC). На роторе - магниты. Магнитов больше чем обмоток, расположены строго над обмотками. Нужно точное позиционирование ротора, есть энкодер. Изложу свои домыслы, поправьте пожалуйста где ошибаюсь: 1. Управление трехфазным синусом, сделанным через ШИМ - чередованием выбираем направление. 2. Ток обмоток (амплитуда шима) выбираем исходя из необходимой скорости разгона (на роторе инертная масса) 3. Частоту синуса - опять же исходя из требуемой скорости разгона. Вопрос нарисовался сам собой: каким образом связать переменную процесса (положение ротора) с ДВУМЯ управляемыми величинами - частотой синуса и амплитудой? Если была бы одна управляемая величина - через ПИД регулятор. Да и в этом случае тоже через ПИД - регулятор наверняка, вычислить динамические параметры системы и выставить коэффициенты под оптимальное регулирование - это не проблема. Но вот по какому закону связать частоту и амплитуду - затык. У асинхронников частота с амплитудой связывается через закон V/F. Но там другая ситуация. А тут на момент двигателя получается влияет амплитуда синуса, а частоту (или точнее скорость изменения фазы) надо выбирать следя за энкодером исходя из того, чтобы ротор не "опрокинулся", т.е. не проскользнул. Быстро крутанем - даже при максимальном токе из-за инертности массы проскользнет, а значит дернется в другую сторону. Может смотреть за энкодером и держать опережение угла синуса относительно ротора? Ну то есть чтоб синус статора от ротора далеко не убегал. Подозреваю, что тоже есть какой-то закон типа V/F, как для асинхронников, но до сих пор с синхронниками не сталкивался, поэтому прошу подсказки специалистов - ссылки, литература, советы - все что не лень выложить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба ссылки, литература, советы - все что не лень выложить. Не всегда в таких двигателях применяется синусоида. Нужно убедиться что там не трапеция. А синусоида да, формируется ШИМ-ом. А ШИМ формируется цифровой схемой на микроконтроллере. Не знаю насколько вы близки к микроконтроллерам, но именно там и ищут алгоритмы управления движками. Все серьезные производители микроконтроллеров ST, TI, Atmel, Microchip, NXP, Freescale, Infineon... имеют неплохую документацию и примеры реализации цифрового управления двигателями типа вашего. Наиболее четкая документация у Microchip-а, а вот микроконтроллеры лучше всего получились у Freescale. Особенно серия Kinetis MK60. Для вашего движка также как и для асинхронников применяют векторное управление с двухконтурным регулированием. Тема слишком сложная чтобы ее тут объяснять на пальцах. Советую только не отрывать теорию от реализации на микроконтроллерах, а то потеряете время. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба Не всегда в таких двигателях применяется синусоида. Нужно убедиться что там не трапеция. Спасибо за ответ, посмотрю на микрочипе примеры. Реализация планируется на ПЛИС, там и шимы будут аппаратные, и модуль энкодера и все это для 4 движков в одном флаконе и управлять всем этим будет софт-процессор. Советую только не отрывать теорию от реализации на микроконтроллерах, а то потеряете время Конечно нет, поэтому и спросил тут у умных людей где поискать, что почитать. Давненько делал свой частотник для асинхронников, поэтому чуть-чуть в теме. С реализацией - что аппаратной, что программной - проблем нет, важна именно теория. С этим в области синхронных движков пробел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 5 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба Наиболее четкая документация у Microchip-а, а вот микроконтроллеры лучше всего получились у Freescale. Особенно серия Kinetis MK60. Я смотрю, Вы активно взялись за рекламу этого Кинетиса... ;) Сильное, наверное, впечатление произвёл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Посмотрел на сайт микрочипа и понял, что не понял чем отличаются BLDC (brushless DC) и Permanent Magnet Synchronous Motor (PMSM). Объясните пожалуйста! Нашел вот это: http://electronix.ru/forum/index.php?showtopic=106390 но непонятно тогда, почему шаговые выделяют отдельно от BLDC... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба Посмотрел на сайт микрочипа и понял, что не понял чем отличаются BLDC (brushless DC) и Permanent Magnet Synchronous Motor (PMSM). Объясните пожалуйста! Нашел вот это: http://electronix.ru/forum/index.php?showtopic=106390 но непонятно тогда, почему шаговые выделяют отдельно от BLDC... У шаговых и BLDC как минимум разные схемы драйверов. Шаговые не чувствительны к направлению тока в обмотке. PMSM называют движки с синусоидальной ЭДС. И BLDC могут развить большую скорость чем PMSM поскольку генерить синусоиду на высоких скоростях, а тем более делать векторное управление из-за фазовых сдвигов становиться невозможно. С этой точки зрения пытаться реализовать векторное управление сразу 4-я движками на маломощном софт процессоре эт смелое решение. ;) Скажем по векторному алгоритму MK60 на 120 МГц с минимальным запасом по ресурсам времени может управлять только 2-мя движками с ШИМ-ом на 16 КГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 30 августа, 2013 Опубликовано 30 августа, 2013 · Жалоба У шаговых и BLDC как минимум разные схемы драйверов. Шаговые не чувствительны к направлению тока в обмотке. Да это то понятно. а тем более делать векторное управление из-за фазовых сдвигов становиться невозможно. Фазовых сдвигов чего? ни ток, ни напряжение не меряю, у меня колесико с рисками и энкодер для контроля положения. С этой точки зрения пытаться реализовать векторное управление сразу 4-я движками на маломощном софт процессоре эт смелое решение. ;) С энкодерами то че бы и нет, тем более много можно перевести в аппаратную плоскость. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 31 августа, 2013 Опубликовано 31 августа, 2013 · Жалоба 1. Управление трехфазным синусом, сделанным через ШИМ - чередованием выбираем направление. 2. Ток обмоток (амплитуда шима) выбираем исходя из необходимой скорости разгона (на роторе инертная масса) 3. Частоту синуса - опять же исходя из требуемой скорости разгона. Частотно-токовое управление для асинхронных двигателей. В синхронных приводах с обратной связью по скорости по другому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Elsystems 0 31 августа, 2013 Опубликовано 31 августа, 2013 · Жалоба каким образом связать переменную процесса (положение ротора) с ДВУМЯ управляемыми величинами - частотой синуса и амплитудой? Делайте так: Никаких ШИМов тут не надо. Два токовых релейных контура по дву фазам, с частотами коммутации несколько килогерц, теперь вы сможете задать вектор тока в системе координат 120 градусов. Далее с помощью сигнала с датчика положения и функции sin ориентируете вектор тока относительно ротора так, чтобы был максимальный момент (фазу вектора нужно будет настроить). Теперь вы сможете задавать амплитуду вектора тока, и она будет пропорциональна моменту на роторе. С теорией регулирования вы знакомы, тогда дальше просто - поверх делаем скоростной контур, а поверх него - позиционный. Конечно это в двух словах - на практике очень много подводных камней. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 31 августа, 2013 Опубликовано 31 августа, 2013 · Жалоба alexPec то, что применяете ПЛИС это правильно, но зачем для управления МК, на ПЛИСе все функции можно сделать и лучше. Только я бы делал на CPLD и по отдельности каждый драйвер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 31 августа, 2013 Опубликовано 31 августа, 2013 · Жалоба Делайте так: Никаких ШИМов тут не надо. Два токовых релейных контура по дву фазам, с частотами коммутации несколько килогерц, теперь вы сможете задать вектор тока в системе координат 120 градусов. Далее с помощью сигнала с датчика положения и функции sin ориентируете вектор тока относительно ротора так, чтобы был максимальный момент (фазу вектора нужно будет настроить). Теперь вы сможете задавать амплитуду вектора тока, и она будет пропорциональна моменту на роторе. С теорией регулирования вы знакомы, тогда дальше просто - поверх делаем скоростной контур, а поверх него - позиционный. Конечно это в двух словах - на практике очень много подводных камней. Согласен, прочитал статейку микрочипа - там так же советуют - делаем фиксированное опережение угла для достижения максимального момента, угол опережения двигаем синхронно с ротором (следя за его положением по энкодеру), а управляем только посредством амплитуды синуса. Теперь возник еще вопрос. Посмотрел как слеплены драйверы (рисунок, упрощенный естественно) и задумался как таким управлять? Все нижние ключи управляются одной линией, верхние - раздельными. Получается в рабочем режиме нижние драйверы все должны быть включены, а верхние шимятся на положительной полуволне синуса, а на отрицательной что - отключаются и все? Так что ли? Стоп! Включив нижний драйвер, нам верхний то вообще нельзя включать - сквознячок будет...Как такое вообще работало тогда? alexPec то, что применяете ПЛИС это правильно, но зачем для управления МК, на ПЛИСе все функции можно сделать и лучше. Только я бы делал на CPLD и по отдельности каждый драйвер. Так МК то в той же ПЛИС и реализован, NIOS, для гибкости внешнего интерфейса и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Elsystems 0 1 сентября, 2013 Опубликовано 1 сентября, 2013 · Жалоба Все нижние ключи управляются одной линией, верхние - раздельными. Разделяйте все затворы. На вашем рисунке глупость какая то. Да, и когда вектор тока будете выставлять по ротору, тут есть одна хитрость - нужно учесть количество пар полюсов двигателя! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 1 сентября, 2013 Опубликовано 1 сентября, 2013 · Жалоба Пардон, на корпусе было плохо видно последнюю цифру, посмотрел другой драйвер - там одним выводом управляется и верхний и нижний ключи, а то что я принял за нижний ключ - это shut down. Так что все сходится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 1 сентября, 2013 Опубликовано 1 сентября, 2013 · Жалоба Так МК то в той же ПЛИС и реализован, 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 1 сентября, 2013 Опубликовано 1 сентября, 2013 · Жалоба Посмотрел я что предлагает Altera в своем "Drive-On-Chip Reference Design" Да, поначалу смотрится впечатляюще, векторное управление 4-я сервоприводами одновременно! Честно говоря, даже не знал что оно такое есть. Спасибо за информацию! Я как-то не люблю использовать библиотеки, операционки, и стараюсь заимствовать по минимуму. В плис у меня будет СВОЙ ШИМ, аппаратный формирователь синуса, аппаратное слежение за энкодерами и аппаратное опережение угла. Т.е. векторное (так как я это понимаю) управление мне не нужно - я не оцифровываю токи, напряжения, не сравниваю фазы и т.д. На программу ляжет нагрузка только реализовать 4 PID-регулятора, причем с железа я буду считывать рассогласование, а управлять буду только амплитудой синусов. Как мне кажется, для такой задачи кортексы уж очень избыточно. Но вот у MK60 есть не только эта синхронизация и 16-и битный АЦП с аппаратной фильтрацией но и еще и PGA. Мне бы такие МК лет 5-6 назад, когда частотник лепил. Для асинхронных частотников конечно самое то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться