Люди , подскажите как засинхронизировать частоту оборотов двух двигателей, используя ПИД-регулятор. Если кто раньше этим занимался пришлите пожалуйста исходники. Заранее благодарю cir.
e-mail: cir16@yandex.ru
Еще раз, плиз, и помедленней.
Я пишу прогу под промышленный комп:
- Процессорная плата CPU686 200 Mhz
- Плата аналоговых выходов AO-16
Одна из задач моей проги - регулирование частоты вращения двух 3-х фазных двигателей(вернее одного двигателя , т.к. один двигатель задает частоту , а другой подстраивается под нее).Чачтота оборотов двигателей до 700 об/мин. Частоту оборотов замеряю абсолютными энкодерами (13 бит). Программно надо решить проблему синхронизации двигателей. Прочитал теорию по ПИД-регуляторам, попробовал написать прерывание по таймеру, регулирующее ведомый канал - ничего не вышло. Пробовал эксперементировать с ПИД регулятором, убирал интегральную и дифференциальную части - ничего, менял частоту срабатывания прерывания(18гц-60гц) - ничего не выходит. Подбирал коэффициенты для ПИД регулятора, но ряд рассогласований между положениями валов двигателей или вообще расходится, либо не сходися к нуля (скачит +- 30 градусов в лучшем случае, да и то лишь для определенной скорости).
Подскажите как решить проблему.
Взводатор
24.10.2005, 15:16
1. А зачем их синхронизировать?
2. Синхронизируется частота или положение?
3. Может, достаточно запараллелить валы и для второго двигателя поддерживать ток?
4. Нужный параметр - частота вращения, или какой-то другой, зависимый от нее? Давление, например.
5. А обгонные муфты не помогут? Обязательно решать задачу электрически?
С уважением Взводатор.
Взводатор
24.10.2005, 15:24
Нужно попробовать два ПИД-регулятора, включенных каскадно. Первый регулирует частоту, а второй фазу. Соответственно, фазовый должен быть помедленнее частотного и иметь ограничения по выходу, чтобы не сильно влиять на частоту, а только ее подстраивать. Это проявится как изменение фазы.
С уважением Взводатор.
"один двигатель задает частоту , а другой подстраивается под нее"
Это как?
Кстати, двигатель не может задавать частоту, он двигатель - не генератор.
У Вас задача реальная или какая-нибудь курсовая? Если второе, то я пас.
Если первое, то начните с начала. Что за установка, какие задачи и т.д.
1. Синхронизировать обязательно надо.
2. Синхронизируется положение
3. Во-первых движки далеко друг от друга, во-вторых звчем поддерживать ток, если движки управляются напряжением через ПЧ.
4. Нужный параметр . Нужно чтобы угол поворота валов во времени совпадал.
5. Муфты не помогут.
Задача реальная. Один двигатель задает частоту вращения (а точнее положение вала) через энкодер (энкодер абсолютный 13 бит). Другой энкодер соединен с ведомым двигателем.
Частота оборотов движков может быть 700 об/мин.
Так, появились ПЧ управляемые напряжением (каким и как ?).
Объясните толком. Например так:
Имеется длинный вал, от которого вращается большой вентилятор.
На обоих концах вала по двигателю, так как мощности одного не хватает.
Управляем скоростью вращения одного двигателя через ПЧ сигналом 0-10 В.
Второй двигатель должен работать синхронно с первым, то есть скольжение равно нулю и угол сдвига между векторами поля должно быть равно нулю.
Про ПК и прерывания потом.
Есть два двигателя , ои вращают два вала (каждый свой). Нужно чтобы фазы этих валов совпадали во времени. Каждый двигатель управляются своим ПЧ - сигнал 0..+10в. К каждому валу подсоединен абсолютный энкодер.
Взводатор
24.10.2005, 16:22
cir, опишите подробнее установку. На ум приходит только ленточный конвеер, у которого нужно поддерживать натяжение рабочей поверхности.
Если не поздно, может есть смысл перейти на синхронные двигатели?
С уважением Взводатор.
Гость_cir
24.10.2005, 19:27
К сожалению перейти на другие двигатели нет возможности, т.к. все оборудование давно работает на заводе, а менять его нет денег у заказчика. Вы почти угадали, поддержание натяжения будет, только не у конвейера, а у полотна, которое будет протягиваться под игольными брусьями. Игольные брусья будут перемешаться вверх-вниз и прошивать полотно. Но это потом, а сейчас я хочу решить проблему эти самых игольных брусьев. Сам я установку не видел, но по расказам и по фотографиям брусья эти очень тяжелые, а что самое плохое - их два и передвигаться они должны синхронно вверх-вниз, иначе они начнут раскачивать установку, что приведет к нежелательным последствиям. Два двигателя про которые я уже говорил (те что я хочу засинхронизировать) вращают валы, а валы в свою очередь передают ход (в вертикальной плоскости) игольным брусьям.
Итак как я уже говори у меня два двигателя, два ПЧ и два энкодера к каждому двигателю. Ожидаемый результат от моей работы - брусья передвигаются вверх-вниз с помощью валов, а валы вращаются двигателями. Брусья должны двигаться на одном уровне, для чего двигатели должны работать синхронно, т.е. их фазы должны совпадать во времени.
боюсь что задача не решаема в том виде как вы её ставите. асинхронник - это таки не шаговый движок. пробуйте поискать что-нить по ключевому слову "сельсин", к сожалению не помню, применимы ли они в даном случае, но это первое что пришло в голову...
Михаил Комаров
25.10.2005, 9:11
Здравствуйте, уважаемые.
Думаю, что качественное решение этой задачи возможно толькодвумя путями
- один мотор и механическая трансмиссия.
- два сервомотора (причем динамических) с соответствующими блоками управления и программно реализованной синхронизацией (на уровне блоков управления)
ЗЫ: > т.к. все оборудование давно работает на заводе
а как оно раньше работало?
Вот что я понял
Вы хотите чтобы частота вращения двигателей совпадала
первый способ это включить двигатели паралельно преобразователю частоты.
второй способ это использовать выходной сигнал состояния частоты в преобразователе 0..10 В и подавать его на аналоговый вход второго преобразователя как задание частоты.
И в том и в другом случае промышленный компьютер и плата Вам не нужна
соответственно Вы можете их продать и отдать мне половину за идеи
kartsev
25.10.2005, 10:45
Обычная следящая система, сигналом управления вторым двигателем является сигнал обратной связи первого, т.е. используются два ПИД-регулятора.
Взводатор
25.10.2005, 14:33
Для брусьев действительно просится механическая система. Какие будут последствия при рассихронизации брусьев?
А натяжение - самое то. Хотя синхронизировать до положения может и излишне. Управление обоими двигателями параллельно, от одного источника сигнала, но для одного из двигателей подмешивать сигнал коррекции.
С уважением Взводатор.
Вы не ответили - что делают энкодеры?
Цитата(ttt @ Oct 25 2005, 20:22 )
Вы не ответили - что делают энкодеры?
выдают на гора положение ротора (угол и направление), с разрешением в 13бит, т.е. с точностью 360/8192 градуса (или 360/4096 если 13-й бит - направление вращения).
"выдают на гора положение ротора (угол и направление)"
Тогда:
Путем воздействия на ведомый ПЧ держать разницу между углами равную нулю.
А Вы как делаете?
Боюсь ,что ЭНКОДЕРЫ тоже придется продать....
Михаил Комаров
26.10.2005, 9:08
2 cir
А можно по-подробнее.
Насколько я понял, энкодеры стоят на валах двигателей. Наверняка есть ещё редукторы.
Какая у этой установки кинематическая схема?
Какая мощность двигателей? Какой момент инерции того, что эти двигатели вращают (или хотя бы масса).
Какие параметры двигателей кроме мощности? Какие конкретно используются частотники.
Какая требуется точность. Как работают эти брусья (с постоянным периодом, время от времени)
А дальше можно подумать о законах регулирования (или доп. технических средствах)
Гость_Евгений
2.11.2005, 19:38
Цитата(LordN @ Oct 24 2005, 21:58 )
боюсь что задача не решаема в том виде как вы её ставите. асинхронник - это таки не шаговый движок.
Данная задача решается элементарно и с неимоверной точностью - у компании Данфосс есть частотники VLT 5000 и к ним контроллер Syncpos - синхронизирует работу двух валов с асинхронным приводом по ЛЮБОМУ алгоритму. Прецизионно.
По-моему, алгоритм у программы достаточно простой:
1. меряем частоту эталонного двигателя, сравниваем с заданием;
2. регулятор (ПИД, ессно) по токовому выходу выдаёт команду на оба частотника по петле.
Если нагрузка равномерная (что в реале быть не может) то оба будут работать с одинаковой частотой. Тогда:
1. Тоже самое.
2. меряем частоту второго двигателя.
3. сравниваем с частотой первого.
4. рассогласование уходит на коррекцию частоты второго через второй ПИД-регулятор.
Главное- не подбирать коэффициенты, а правильно их рассчитать.
И необязательно туда толкать такое сложное оборудование типа промышленного компа. В качестве ПИД-регуляторов подойдёт любой программируемый контроллер (тот же КОНТАР), энкодеры заменяются на ЦАПы, и т.д.
а если требуется сфазированная работа, то задача усложняется, но тоже решаемо, докупая необходимые датчики.
Хотя, судя по приблизительному описанию оборудования, всё может быть не так просто.
Тот же датчик Холла будет и частоту мерять и расфазировку показывать.
Ещё.
Применяя цифровую логику (т.к. имеем 13-битные преобразователи частоты) можно это всё реализовать на микросхемах, даже типа 155-й серии граздо проще и точнее, используя цифровые компараторы. Получится маленькая такая платка тёмно-зелёного цвета.
А ещё в книжках пишут, что подобные вещи гораздо проще управляются ( и тоже точнее, чем пид-регуляторы) с использованием нечёткой логики.
Прошу прощения, не до конца прочитал задачу.
Если установить в верхем положении брусьев типа концевиков ( оптика, механика, без разницы, лишь бы более-менее точно по сравнению с габаритами брусьев и расстоянием опускания-поднимания) то тогда можно сделать следующее:
необязательно держать частоту вращения двигателей точной, лишь бы они с какой-то точки начинали одновременное движение на приблизительно одинаковой скорости. Тогда когда оба концевика замкнуты одновременно, движение обоих продолжается, пока замкнут один- он ждёт, когда замкнётся другой. Но у частотников большая разгонная кривая......
Точность решения задачи во многом зависит от числа импульсов энкодера. А так все просто: поскольку абсолютное значение скорости нет необходимости держать с высокой точностью, задается скорость ведущего привода (напрмер аналоговым сигналом). Тогда его энкодер служит задатчиком скорости и положения сигнал энкодера ведомого привода используется в качестве сигнала ОС.
Синхронизация вала флексографической машины с отрезным ножом выполненная по такому принципу обеспечила точность положения рисунка на бумаге относительно реза не хуже +/- 1мм при расстоянии от ножа до печатного вала около 30 м. Вот вариант.
DriverFirst
3.6.2008, 8:51
Цитата(kartsev @ 25.10.2005, 9:45) [snapback]14960[/snapback]
Обычная следящая система, сигналом управления вторым двигателем является сигнал обратной связи первого, т.е. используются два ПИД-регулятора.
Совершенно верно, коллега. Я даже видел как такая сис-ма работает на протяжке четырехслойной пленки через каландры. Там работает три привода, первый работает (как-бы мастером), т.е. обратная связь по скорости для первого привода, является заданием для второго и т.д. В качестве О.С. используются энкодеры.
Цитата(Юджин @ 4.11.2005, 11:56) [snapback]15852[/snapback]
Прошу прощения, не до конца прочитал задачу.
Если установить в верхем положении брусьев типа концевиков ( оптика, механика, без разницы, лишь бы более-менее точно по сравнению с габаритами брусьев и расстоянием опускания-поднимания) то тогда можно сделать следующее:
...
совершенно согласен...
со временем будет накапливаться
статическая ошибка и вам необходимо получать обратную связь напрямую с механизмов...
я бы сделал так...
срабатывает датчик на одном "брусе", включается счетчик, срабатывает датчик на втором "брусе" и зная скорость перемешения(она же скорость вращения) вычисляем на сколько надо подтянуть (по перемещению или по скорости) и через ПИД блок подтягиваем...
ну и я не уверен, что в данном случае подойдет схема мастер-подчиненный для приводов, поскольку надо синхронизировать не скорость, а положение.
Здача синхронизации решена на уровне железа в преобразователях частоты ОМРОН серии F7. Два преобразователя, работающие по схеме ведущий-ведомый. Варианты выбора: синхронизация схорости или синхронизация положения. Многократно проверено на прокатных станах и летучих ножницах. Энкодеры правда используются инкрементальные.
Нажмите для просмотра прикрепленного файла
Я думаю все брендовые производители предлагают платы синхронизации по положению валов. У Fuji для общепромышленной серии Frenic 5000 G11 эта плата есть, про крановую серию Frenic 5000 VG7 я вообще молчу.
Цитата(fuel @ 6.6.2008, 11:57) [snapback]260301[/snapback]
Я думаю все брендовые производители предлагают платы синхронизации по положению валов. У Fuji для общепромышленной серии Frenic 5000 G11 эта плата есть, про крановую серию Frenic 5000 VG7 я вообще молчу.
это точно, просто NiD об этом незнает...
Но синхронизация скорости и синхронизация положения не совсем одно и тоже...
Если такой знаток, написал бы до моего сообщения. А в F7 есть синхронизация именно по положению.
Имеется длинный вал, от которого вращается большой вентилятор.
На обоих концах вала по двигателю, так как мощности одного не хватает.
Юморист!!
DriverFirst
7.7.2008, 9:41
Цитата(Ntt99 @ 6.7.2008, 0:05) [snapback]268925[/snapback]
Имеется длинный вал, от которого вращается большой вентилятор.
На обоих концах вала по двигателю, так как мощности одного не хватает.
Юморист!!

Никакого юмора, ссущая правда.
У Fuji синхронизация валов двух двигателей с энкодерами по положению есть даже у экономичной мини серии Frenic Multi до 15 квт. Погрешность по углу рассогласования правда повыше, до 5 градусов.