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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Контроллер для BLDC 1 об/сутки, Сверхочный привод
sergey_ch
сообщение Dec 2 2009, 11:25
Сообщение #1


Участник
*

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



Всем здрасьте! biggrin.gif Много читаю этот форум, место уникальное. К теме.
Мне необходимо разработать привод состоящий из двух осей. На каждой оси будут стоять оптические 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
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Sergey1957
сообщение Dec 4 2009, 12:30
Сообщение #2





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



Задача интересная.
ПИД регулятор не поможет. Он хорош, когда динамика.
Просто с ним я работаю 2-3 года и понял, что он может.
Пишу для PIC.
В разработке данного устройства вы (или кому поручите)напоритесь на
дребезг импульсов с энкодера. При наличии сдвинутой последовательности программно вытяните.
(Это при очень медленных перемещениях.)
В остальном стандартные схемы.
В принципе ПИД регулятор поможет только при наводке на объект.
Скорость перемещения будет ограничена временем прерывания и обработки импульсов с энкодера.
В принципе, цифры названы реальные.

Но алгоритм работы предложу несколько иной.
Каждый раз при смене объекта выполнять позицирование (HOME POZICHIN).

Остаётся открытым вопрос , что произойдёт при броске питания.
Энкодер не абсолютный, а относительный.

И тогда вы вспомните о механике. Могут ведь делать без люфтов.
Точнее могли. Использовал под свои задачи механику военной техники.
У каждого времени были свои герои.
Go to the top of the page
 
+Quote Post
Iptash
сообщение Dec 4 2009, 19:00
Сообщение #3


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

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



Все же ПИД нужен. Также нужен ДПР(датчик положения ротора), двигатель ведь синхронный. А управление лучше делать не аналоговым
сигналом, а импульсами, т.е. импульсы задания подаются в реверсивный счетчик и импульсы энкодера подаются в др. реверсивный
счетчик, и разность значений этих счетчиков и будет воздействие на двигатель (через ПИД). Частота входных импульсов будет скорость вращения вашего двигателя, т.е. можно реально сделать 1об. в год.
Go to the top of the page
 
+Quote Post
Microwatt
сообщение Dec 4 2009, 22:46
Сообщение #4


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Хм.. не знаю как люфт выражен в шаговом двигателе, а в редукторе... Так примените безлюфтовый редуктор. Средней руки механик нарисует. Это будет не дороже, чем сооружать этого 60-полюсного монстра.
Go to the top of the page
 
+Quote Post
sergey_ch
сообщение Dec 5 2009, 21:30
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Duhas
сообщение Dec 6 2009, 08:11
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



на сколь я понимаю тут нужны как раз 3 синусоиды.. в память таблицу на 90 градусов.. если использовать как обычно ШИМ на обмотки - то счетчики загружаем из таблицы ссответственно скорости... ну а чем больше нужна скорость тем быстрее меняем значения..

хотя можно с выходов счетчиков МК на РЦ фильтр, срез которого несколько выше максимальной частоты вращения и оттуда на 3 аналоговых усилка... такой вариант для вашей задачи мб и лучше будет ...
Go to the top of the page
 
+Quote Post
sergey_ch
сообщение Dec 6 2009, 08:50
Сообщение #7


Участник
*

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



Только сдвиг 120 градусов. Кстати синусоиды можно генерировать непосредственно через x=sin(a). Но как я уже говорил, чтобы ШИМ был хотябы 7629 Гц, чего очень мало, тактовая должна быть 500 мГц !!
Go to the top of the page
 
+Quote Post
Duhas
сообщение Dec 6 2009, 09:11
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



тааак, стойте подождите... разрядность ШИМ нужна 16 бит? частота грубо говоря 8 килогерц?
Go to the top of the page
 
+Quote Post
sergey_ch
сообщение Dec 6 2009, 09:12
Сообщение #9


Участник
*

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



Да, все верно... Если точно, то 14 бит, но нужен запас по точности.

Сообщение отредактировал sergey_ch - Dec 6 2009, 09:13
Go to the top of the page
 
+Quote Post
Duhas
сообщение Dec 6 2009, 09:24
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



ну на 14-ти битах почти 4кГц мона точно вытащить на Хмеге... мб и все почти 8 ... я пока не уверен про 4х от такта для таймера...

да.. по идее мона и х4 на таймер... на 128А3 например...
Go to the top of the page
 
+Quote Post
sergey_ch
сообщение Dec 6 2009, 12:15
Сообщение #11


Участник
*

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



Мне интересно будет ли такой способ работать с этим мотором?
Цитата
В управлении шаговыми двигателями он называется chopper PWM drive, т.е. запитываем текущую комбинацию, ток в обмотке растет, компаратор сравнивает с опорным, которое формируется 16 битным ЦАПом, и отключает обмотку. Это все повторяется на частоте примерно 20 кГц. Частота будет зависеть от напряжения питания и от индуктивности обмотки.


Так как задавать 16 битный ШИМ это черезчур. А здесь разрядность только у ЦАП. Есть очень хорошие ЦАП 16 битные с последовательным входом. Например LTC1655.

Также интересет как правильно снимать ток с обмоток. По идее надо ставить три датчика тока в разрыв каждой фазы. Так же я думаю соединить обмотки звездой и общую точку пустить на землю. А выходные каскады питать биполярным напряжением.
Go to the top of the page
 
+Quote Post
Serj78
сообщение Dec 6 2009, 12:36
Сообщение #12


Знающий
****

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



Цитата(sergey_ch @ Dec 6 2009, 00:30) *
В шаговом двигателе люфта нет, он в промежуточном редукторе. Причем он очень критичен именно в червячной паре. Требования по точности к червячным парам очень высокие и они получаются дорогие и не доступные. Люфт в общем редукторе и само трение в ЧП (червячных парах) на самом деле очень большие. Именно в этом применении. RMS или периодическая ошибка на выходе портит всю картину. В общем от червячных пар и пром редуктора нам здесь надо не просто уходить, а убегать не оглядываясь.


Про редукторы. Червячные пары при таких точностях- просто бред, их только в автомобильных дворниках применять.. smile.gif

Если пытаться использовать червячный редуктор- но тогда на выходе должен быть тормозящий фрикцион, и привод должен быть с 10-20- кратным запасом усилия.

Есть опыт построения подобной системы, но точность около 10 минут и скорость вращения 0.5-2 гц.

а так видится мотор с безлюфтовым редуктором.
но все зависит от нагрузок на привод. если у вас был редуктор 1:100, то вам придется увеличивать момент вашего мотора во столько же. получится?

Ваш BLDC в данном случае будет очень похож на беззубцовый шаговый мотор в режиме микрошага smile.gif
Go to the top of the page
 
+Quote Post
Iptash
сообщение Dec 6 2009, 13:01
Сообщение #13


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

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



Цитата(sergey_ch @ Dec 6 2009, 00:30) *
...
Я не совсем понял зачем нужен ДПР если применяется энкодер. Какое тогда будет разрешение ДПР?

Потому что, привод аппаратно должен знать в каком положении находится ротор, это допустим три датчика соорентированные по
фазе и распределенные по 120 град., это будет обсалютный ДПР, а энкодер это обратная связь по скорости или положению, как хотите.
Возможно многоразрядное ШИМ лучше сделать на ПЛИС, у них быстродействие достаточное, и сделать там не сложно и память
есть, А ПРЦ для распределения задач и вычеслений. Я примерно так на асинхронники собираюсь делать.
Go to the top of the page
 
+Quote Post
sergey_ch
сообщение Dec 6 2009, 13:33
Сообщение #14


Участник
*

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



Цитата(Serj78 @ Dec 6 2009, 15:36) *
Про редукторы. Червячные пары при таких точностях- просто бред, их только в автомобильных дворниках применять.. smile.gif

Если пытаться использовать червячный редуктор- но тогда на выходе должен быть тормозящий фрикцион, и привод должен быть с 10-20- кратным запасом усилия.

В таких монтировках стоят именно червячные пары, другого просто ничего не придумали. Фрикцион там есть, только применяется в качестве защиты, чтобы не свернуть зубья. Модуль от 0,5 до 1. Зубов от 144 до 360. Промежуточная редукция от 3 до 120. В данном проекте мы не рассматриваем вообще никакую редукцию. А безредукторная, безлюфтовая и без трения система уже совсем другого, HIEND класса. Многие наши покупатели просто мечтают о такой монтировке. Как известно шаговик на большой скорости теряет момент, а чтобы поворачивать ось на скорости 800х от звездной требуется огромная частота. Номинальная скорость поворота всего 4-8 градуса в секунду. Микрошаг(64х) они держат плохо. А мы на бесколлектронике можем хоть до 100 градусов вертеть.

Цитата
Потому что, привод аппаратно должен знать в каком положении находится ротор, это допустим три датчика соорентированные по
фазе и распределенные по 120 град., это будет обсалютный ДПР, а энкодер это обратная связь по скорости или положению, как хотите.
Возможно многоразрядное ШИМ лучше сделать на ПЛИС, у них быстродействие достаточное, и сделать там не сложно и память
есть, А ПРЦ для распределения задач и вычеслений. Я примерно так на асинхронники собираюсь делать.

Это в принципе понятно, но почему энкодер не может служить датчиком положения ротора, не пойму никак?

У энкодера на выходе будет квазиабсолютное положение, с точностью 0,158241"

Какие еще варианты коммутации кроме ШИМ? Тот способ , который я предложил реален?
Go to the top of the page
 
+Quote Post
Iptash
сообщение Dec 6 2009, 15:55
Сообщение #15


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

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



Конечно можно, но усложняются пересчеты, и надо что бы счетчик энкодера сохранялся после выкл. пит. и мне такие варианты просто не нравятся smile.gif
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 Текстовая версия Сейчас: 5th July 2025 - 05:52
Рейтинг@Mail.ru


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