|
Контроллер для BLDC 1 об/сутки, Сверхочный привод |
|
|
|
Dec 2 2009, 11:25
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 16-11-09
Пользователь №: 53 654

|
Всем здрасьте!  Много читаю этот форум, место уникальное. К теме. Мне необходимо разработать привод состоящий из двух осей. На каждой оси будут стоять оптические sin/cos энкодеры с разрешением до 8192000 отсчетов. Почему до? Потому что разрешение можно будет менять изменяя число интерполяции. С энкодером вроде всё ясно. Перейдем к мотору. Задача уйти от шагового двигателя и от промежуточных редукций из-за которых возникает огромный люфт и периодическая ошибка ведения. и вот решили поставить бесколлекторный трехфазный двигатель. Количество полюсов статора 60, число пар полюсов магнитов равно 40, т.е. 80 магнитов. Были сделаны кое какие расчеты и появились заданные параметры. 1) Обеспечить точность позиционирования меньше одной секунды дуги. 2) Обеспечить скорость вращения ротора равной один оборот за звездные сутки. При разрешении энкодера 8192000 отсчетов, точность позиционирования составляет 0,158203125" (секунд дуги). При таких параметрах мотора (60/80) угол поворота статора за период электрического поля равен 360 / 40(пар полюсов) = 9 о. Так как оцифровываться будет либо положительная часть периода либо отрицательная, то полупериод равен 4,5 о. При использовании DACа в драйвере на 16 бит получаем электрическое разрешение: 80 полупериодов * 65536 (16 бит) = 5 242 880. Скорость смены значений ЦАП равна: 5 242 880 / 86164,0905(секунд в звездных сутках) = 60,8476218988233851 Гц. Это самая медленная скорость. Максимальная скорость будет порядка 10-30 градусов в секунду и будет ограничиваться только максимальной рабочей частотой энкодера. Так же должен быть режим удержания, когда ротор просто стоит. Конструкция будет очень точно сбалансирована и будет иметь значительный момент инерции. Ветер будет раскачивать систему, но ПИД регулятор должен удерживать заданную скорость, либо заданную позицию удержания. Так вот вопрос у меня вот в чем. Натолкните на правильный способ управления таким мотором. Мне пока видится один способ. В управлении шаговыми двигателями он называется chopper PWM drive, т.е. запитываем текущую комбинацию, ток в обмотке растет, компаратор сравнивает с опорным, которое формируется 16 битным ЦАПом, и отключает обмотку. Это все повторяется на частоте примерно 20 кГц. Частота будет зависеть от напряжения питания и от индуктивности обмотки. Привожу внешний вид мотора и структурную схему драйвера.
Сообщение отредактировал sergey_ch - Dec 2 2009, 11:48
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Dec 5 2009, 21:30
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 16-11-09
Пользователь №: 53 654

|
Цитата(Iptash @ Dec 4 2009, 22:00)  Все же ПИД нужен. Также нужен ДПР(датчик положения ротора), двигатель ведь синхронный. А управление лучше делать не аналоговым сигналом, а импульсами, т.е. импульсы задания подаются в реверсивный счетчик и импульсы энкодера подаются в др. реверсивный счетчик, и разность значений этих счетчиков и будет воздействие на двигатель (через ПИД). Частота входных импульсов будет скорость вращения вашего двигателя, т.е. можно реально сделать 1об. в год. Вот именно эта идея у меня пока самая желанная. Цитата Хм.. не знаю как люфт выражен в шаговом двигателе, а в редукторе... Так примените безлюфтовый редуктор. Средней руки механик нарисует. Это будет не дороже, чем сооружать этого 60-полюсного монстра. В шаговом двигателе люфта нет, он в промежуточном редукторе. Причем он очень критичен именно в червячной паре. Требования по точности к червячным парам очень высокие и они получаются дорогие и не доступные. Люфт в общем редукторе и само трение в ЧП (червячных парах) на самом деле очень большие. Именно в этом применении. RMS или периодическая ошибка на выходе портит всю картину. В общем от червячных пар и пром редуктора нам здесь надо не просто уходить, а убегать не оглядываясь. Изучал недавно очень много материалов по управлению двигателями PMSM (3-phase permanent magnet synchronous motor) с синусоидальной коммутацией обмоток. Там основано на ШИМ управлении, но чтобы организовать 16 битный ШИМ на контроллере нужна очень высокая частота. Можно еще сделать аналоговый ШИМ на генераторе треугольных импульсов. В любом случае требования к "чистоте" сигнала очень высокие. Для сейчас самое важное именно как коммутировать синусоиду, чтобы как можно меньше было скачков ???Скажу также что такое уже изготавливается серийно http://www.astrosysteme.at/eng/mount_ddm85.htmlУ них применяется ПИД регулятор для поддержания скорости ведения. Цитата Также нужен ДПР(датчик положения ротора), двигатель ведь синхронный Я не совсем понял зачем нужен ДПР если применяется энкодер. Какое тогда будет разрешение ДПР?
Сообщение отредактировал sergey_ch - Dec 5 2009, 21:32
|
|
|
|
|
Dec 6 2009, 12:36
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
Цитата(sergey_ch @ Dec 6 2009, 00:30)  В шаговом двигателе люфта нет, он в промежуточном редукторе. Причем он очень критичен именно в червячной паре. Требования по точности к червячным парам очень высокие и они получаются дорогие и не доступные. Люфт в общем редукторе и само трение в ЧП (червячных парах) на самом деле очень большие. Именно в этом применении. RMS или периодическая ошибка на выходе портит всю картину. В общем от червячных пар и пром редуктора нам здесь надо не просто уходить, а убегать не оглядываясь. Про редукторы. Червячные пары при таких точностях- просто бред, их только в автомобильных дворниках применять..  Если пытаться использовать червячный редуктор- но тогда на выходе должен быть тормозящий фрикцион, и привод должен быть с 10-20- кратным запасом усилия. Есть опыт построения подобной системы, но точность около 10 минут и скорость вращения 0.5-2 гц. а так видится мотор с безлюфтовым редуктором. но все зависит от нагрузок на привод. если у вас был редуктор 1:100, то вам придется увеличивать момент вашего мотора во столько же. получится? Ваш BLDC в данном случае будет очень похож на беззубцовый шаговый мотор в режиме микрошага
|
|
|
|
|
Dec 6 2009, 13:33
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 16-11-09
Пользователь №: 53 654

|
Цитата(Serj78 @ Dec 6 2009, 15:36)  Про редукторы. Червячные пары при таких точностях- просто бред, их только в автомобильных дворниках применять..  Если пытаться использовать червячный редуктор- но тогда на выходе должен быть тормозящий фрикцион, и привод должен быть с 10-20- кратным запасом усилия. В таких монтировках стоят именно червячные пары, другого просто ничего не придумали. Фрикцион там есть, только применяется в качестве защиты, чтобы не свернуть зубья. Модуль от 0,5 до 1. Зубов от 144 до 360. Промежуточная редукция от 3 до 120. В данном проекте мы не рассматриваем вообще никакую редукцию. А безредукторная, безлюфтовая и без трения система уже совсем другого, HIEND класса. Многие наши покупатели просто мечтают о такой монтировке. Как известно шаговик на большой скорости теряет момент, а чтобы поворачивать ось на скорости 800х от звездной требуется огромная частота. Номинальная скорость поворота всего 4-8 градуса в секунду. Микрошаг(64х) они держат плохо. А мы на бесколлектронике можем хоть до 100 градусов вертеть. Цитата Потому что, привод аппаратно должен знать в каком положении находится ротор, это допустим три датчика соорентированные по фазе и распределенные по 120 град., это будет обсалютный ДПР, а энкодер это обратная связь по скорости или положению, как хотите. Возможно многоразрядное ШИМ лучше сделать на ПЛИС, у них быстродействие достаточное, и сделать там не сложно и память есть, А ПРЦ для распределения задач и вычеслений. Я примерно так на асинхронники собираюсь делать. Это в принципе понятно, но почему энкодер не может служить датчиком положения ротора, не пойму никак? У энкодера на выходе будет квазиабсолютное положение, с точностью 0,158241" Какие еще варианты коммутации кроме ШИМ? Тот способ , который я предложил реален?
|
|
|
|
Сообщений в этой теме
sergey_ch Контроллер для BLDC 1 об/сутки Dec 2 2009, 11:25 Sergey1957 Задача интересная.
ПИД регулятор не поможет. Он хо... Dec 4 2009, 12:30    Serj78 Цитата(sergey_ch @ Dec 6 2009, 16:33) В т... Dec 6 2009, 16:56  Iptash Цитата(sergey_ch @ Dec 6 2009, 00:30) ...... Dec 6 2009, 13:01 Microwatt Хм.. не знаю как люфт выражен в шаговом двигателе,... Dec 4 2009, 22:46 Duhas на сколь я понимаю тут нужны как раз 3 синусоиды..... Dec 6 2009, 08:11 sergey_ch Только сдвиг 120 градусов. Кстати синусоиды можно ... Dec 6 2009, 08:50 Duhas тааак, стойте подождите... разрядность ШИМ нужна ... Dec 6 2009, 09:11 sergey_ch Да, все верно... Если точно, то 14 бит, но нужен з... Dec 6 2009, 09:12 Duhas ну на 14-ти битах почти 4кГц мона точно вытащить н... Dec 6 2009, 09:24 sergey_ch Мне интересно будет ли такой способ работать с эти... Dec 6 2009, 12:15 Iptash Конечно можно, но усложняются пересчеты, и надо чт... Dec 6 2009, 15:55 Microwatt Все-таки непонятно.
Какой такой еще люфт в безлюф... Dec 6 2009, 17:01 sergey_ch Насчет обычных монтировок с червячными парами. Име... Dec 6 2009, 17:51 Tanya Цитата(sergey_ch @ Dec 6 2009, 20:51) Вот... Dec 6 2009, 18:39 Iptash Цитата(sergey_ch @ Dec 6 2009, 20:51) ...... Dec 6 2009, 19:20  sergey_ch Цитата(Iptash @ Dec 6 2009, 22:20) Вот зд... Dec 6 2009, 19:30 Microwatt Цитата(sergey_ch @ Dec 6 2009, 20:51) Что... Dec 6 2009, 19:28  dpss Цитата(Microwatt @ Dec 6 2009, 22:28) Так... Dec 7 2009, 11:04 sergey_ch Балансировка выполняется электронным способом. Мот... Dec 6 2009, 18:54 Tanya Цитата(sergey_ch @ Dec 6 2009, 21:54) Дум... Dec 6 2009, 19:07 sergey_ch Так 30 килограмм не "мягкий" элемент? С... Dec 6 2009, 19:21 khach Энкодер на 81920000 это что за чудо? Если со встро... Dec 6 2009, 19:41 sergey_ch Какой редуктор??? Это оптический sin/cos энкодер. ... Dec 6 2009, 20:26 Tran Может быть, для решения задачи, лучше подойдёт мом... Dec 7 2009, 00:28 sergey_ch Спасибо большое, и вообще всем спасибо за поддержк... Dec 7 2009, 08:10 guxa Вообще NEC предлагает готовые решения для BLDC, мо... Dec 7 2009, 08:33 sergey_ch Спасибо, очень много конечно нового свалилось сраз... Dec 7 2009, 09:06 sergey_ch У нас энкодер, точнее кольцо энкодера одно целое с... Dec 7 2009, 11:56 dpss Цитата(sergey_ch @ Dec 7 2009, 14:56) При... Dec 7 2009, 15:04 Duhas если знали авр-ы уже - Хмега вам в помощь... периф... Dec 7 2009, 12:52 sergey_ch Хорошо, буду пробовать. Для начала хочу накидать н... Dec 7 2009, 13:29 Duhas тоже вариант.. но это в 2 раза медленнее.. да и в ... Dec 7 2009, 13:46 sergey_ch Меня все еще интересует как именно подавать синусо... Dec 7 2009, 14:56 sergey_ch Поверхность будет не стеклянная. Юстировка вещь оч... Dec 7 2009, 15:37 dpss Цитата(sergey_ch @ Dec 7 2009, 18:37) Но ... Dec 7 2009, 17:25  sergey_ch Опять за рыбу гроши... Почему 1000? 1000 * 8192 = ... Dec 7 2009, 18:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|