Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм позиционирования
Форум разработчиков электроники ELECTRONIX.ru > Силовая Электроника - Power Electronics > Электрические машины, Электропривод и Управление
Страницы: 1, 2, 3, 4
haker_fox
Цитата(evgeny_ch @ Dec 22 2008, 18:39) *
График посмотрите.
Поиск попробуйте - temperature dependence back emf voltage DC brush motor.

evgeny_ch, спасибо! Вы как всегда на высоте и аргументируете свои ответы ссылками, графиками, схемами... a14.gif
evgeny_ch
Цитата(haker_fox @ Dec 22 2008, 14:40) *
evgeny_ch, спасибо! Вы как всегда на высоте и аргументируете свои ответы ссылками, графиками, схемами... a14.gif
Константа мотора имеет сложную зависимость от температуры,
поскольку меняется несколько параметров, в вашем сл. будет критичным сопр. коллектора -
0,4% на градус.
haker_fox
Цитата(evgeny_ch @ Dec 22 2008, 18:44) *
Константа мотора имеет сложную зависимость от температуры,
поскольку меняется несколько параметров, в вашем сл. будет критичным сопр. коллектора -
0,4% на градус.

Получается довольно-таки высокая погрешность, учитывая, что колебания температуры могут быть в пределах 50 градусов (в критических ситуациях). Что же делать... как контролировать скорость за минимальное время? Грубый самодельный энкодер не заменить уже... а время отклика у него довольно большое получается.
Tanya
Цитата(haker_fox @ Dec 23 2008, 12:13) *
Получается довольно-таки высокая погрешность, учитывая, что колебания температуры могут быть в пределах 50 градусов (в критических ситуациях). Что же делать... как контролировать скорость за минимальное время? Грубый самодельный энкодер не заменить уже... а время отклика у него довольно большое получается.

А что Вы заранее пугаетесь? Измерить самому на том самом моторе нельзя? В крайнем случае - подкорректировать.
Можно ЭДС измерять в паузах ШИМа.
haker_fox
Цитата(Tanya @ Dec 23 2008, 17:33) *
А что Вы заранее пугаетесь? Измерить самому на том самом моторе нельзя? В крайнем случае - подкорректировать.
Можно ЭДС измерять в паузах ШИМа.

Ну я вообще-то в паузах ШИМа и хочу мерить)
Выше мне говорили, что для простой системы управления достаточно два контура: ток и положение. Скорость мы можем получить как первую производную по положению. Но с таким энкодером, боюсь только положение можно и мерить, но не скорость... Т.к. для регулятора все же нужно знать скорость (а иначе как ее стабилизировать), хочу мерить ее с помощью противоЭДС.
Tanya
Цитата(haker_fox @ Dec 23 2008, 12:54) *
Ну я вообще-то в паузах ШИМа и хочу мерить)
Выше мне говорили, что для простой системы управления достаточно два контура: ток и положение. Скорость мы можем получить как первую производную по положению. Но с таким энкодером, боюсь только положение можно и мерить, но не скорость... Т.к. для регулятора все же нужно знать скорость (а иначе как ее стабилизировать), хочу мерить ее с помощью противоЭДС.

Почему ток, а не интеграл от тока? Ток пропорционален силе, а интеграл - приращению скорости.
Есть еще мостовые способы. В мост можно поставить тоже медный резистор на корпус двигателя. Будет какая-то компенсация нагрева. Но медленная и не очень точная, наверное. Но все же...
Вот добавлю, чтобы не было взаимного недопонимания...
Пусть у Вас имеется система управления. Она выдает управляющее воздействие в виде текущего напряжения.
Если мы тупо будем это напряжение посредством ШИМа подавать на мотор. то ничего хорошего не получится... Так мы не можем знать, какой будет ток через мотор из-за его сопротивления(от температуры) и противоЭДС.
А вот если мы введем "местную обратную связь", например, - сигнал управления и сигнал от тока подаем на интегратор, выход которого будет управлять ШИМом, то получим, что управляющее воздействие будет пропорционально изменению скорости... более или менее. Таким образом, мы ОБЛЕГЧАЕМ работу системе управления.
evgeny_ch
Цитата(haker_fox @ Dec 23 2008, 13:54) *
Ну я вообще-то в паузах ШИМа и хочу мерить)
Выше мне говорили, что для простой системы управления достаточно два контура: ток и положение. Скорость мы можем получить как первую производную по положению. Но с таким энкодером, боюсь только положение можно и мерить, но не скорость... Т.к. для регулятора все же нужно знать скорость (а иначе как ее стабилизировать), хочу мерить ее с помощью противоЭДС.
Мерять действительно надо в паузах ШИМ. Если смущает зависимость от
температуры, ввести коррекцию, по температуре двигателя в установившемся режиме.
Два контура, скорости и положения вполне достаточно. Тем более, что вас скорее всего
будет интересовать девиация скорости, а не ёё точное значение, пмсм.
Как правильно замечено, токовая ОС (по усилию) замыкается на УМ, локально.
arisov
Практические конструкции "любительских" сервоконтроллеров, может сгодиться что-нибудь:
1. http://forum.rcdesign.ru/f41/thread118375.html (начало http://forum.rcdesign.ru/f41/thread40981-2.html#post997864)
2. http://members.shaw.ca/swstuff/dspic-servo.html
форум - http://www.cnczone.com/forums/showthread.php?t=40940
3. http://elm-chan.org/works/smc/report_e.html
форум - http://www.cnczone.com/forums/showthread.php?t=17726
усовершенствованием Ченовского сервопривода занимались (и я в том числе – arisov77 biggrin.gif )здесь http://forum.rcdesign.ru/f41/thread40981.html
haker_fox
Цитата(Tanya @ Dec 23 2008, 18:25) *
а интеграл - приращению скорости.

Меня несколько смущает следующее обстоятельство: а если вал двигателя заторможен, или застопорен, то ток-кто будет большим, а скорость по сути нулевая, хотя интеграл будет накапливать неплохие результаты...

Цитата(evgeny_ch @ Dec 23 2008, 18:46) *
Как правильно замечено, токовая ОС (по усилию) замыкается на УМ, локально.

Т.е. минуя ПИ(Д)? Но со своим коэффициентом обратной связи?
Tanya
Цитата(haker_fox @ Dec 23 2008, 15:02) *
Меня несколько смущает следующее обстоятельство: а если вал двигателя заторможен, или застопорен, то ток-кто будет большим, а скорость по сути нулевая, хотя интеграл будет накапливать неплохие результаты...
Т.е. минуя ПИ(Д)? Но со своим коэффициентом обратной связи?

Непонятно, что Вам непонятно...
Еще раз другими словами. Когда мы вводим обратную связь по току вышеописанным способом, управляющий сигнал (интеграл) приобретает смысл приращения импульса силы - когда есть движение - приращения импульса (кинетического). Если бы мы на интегратор подали произведение тока на напряжение (к примеру), то смысл сигнала управления изменился бы на "полную мощность".
.
Ничего как раз в интеграторе и не накапливается, потому, что сигналы долджны быть разного знака.
А интегратор для того, чтобы правильно все работало при импульсном управлении - не накапливался сигнал ошибки. На интеграторе в данном случае будет примерно так.
Накопился некоторый сигнал от управления выше порога. Включается ключ. В мотор подается некоторый ток дурацкой формы (щетки, противоЭДС, напряжение питания....). Ток интегрируется, интегратор уходит в минус (условно). Ключ выключается (ток еще течет немножко и тоже копится).
Сигнал управления через некоторое время опять доводит интегратор до плюса.
Все повторяется...и повторяется.. и повторяется... Интегратор так и колеблется без зашкала.
Если написанное выше понятно, то должно также быть понятно, что ПИД (основной) находится снаружи. Хотя.. вместо интегратора при непрерывном управлении можно было бы использовать... тоже ПИД... только номер два или три... Но тут мы грубо.. импульсами...
evgeny_ch
Цитата(haker_fox @ Dec 23 2008, 16:02) *
...
Т.е. минуя ПИ(Д)? Но со своим коэффициентом обратной связи?
Иногда и так делают.
Посмотрите, может что-нибудь извлечёте.
ОС по току повышает жёсткость статической характеристики ДПТ.
Применяется в дополнение к ОС по скорости и положению.
haker_fox
Я верно понял все изложенные мысли (см. прикрепленный рисунок). Задача "местной локальной обратной связи" (коэффициент K) поддерживать один и тот же момент на двигателе при одном и том же входном сигнале на блоке ШИМ, независимо от температуры обмотки и противоЭДС, а также других факторов. Задача ПИ(Д) регулятора - обыкновенная, поддержка скорости на приводе. Сигнал рассогласования между задаваемой и измеряемой скоростью формируется посредством сумматора (кружочек слева) и поступает на вход блока ПИ(Д). Вроде пока все... обдумываю дальше стратегию. ШИМ придется делать внешним (за бортом МК), верно? Заводить обратку по току и смешивать ее внутри МК, как мне кажется - сложно...

Спасибо.
Tanya
Цитата(haker_fox @ Dec 24 2008, 10:13) *
Я верно понял все изложенные мысли (см. прикрепленный рисунок). Задача "местной локальной обратной связи" (коэффициент K) поддерживать один и тот же момент на двигателе при одном и том же входном сигнале на блоке ШИМ, независимо от температуры обмотки и противоЭДС, а также других факторов. Задача ПИ(Д) регулятора - обыкновенная, поддержка скорости на приводе. Сигнал рассогласования между задаваемой и измеряемой скоростью формируется посредством сумматора (кружочек слева) и поступает на вход блока ПИ(Д). Вроде пока все... обдумываю дальше стратегию. ШИМ придется делать внешним (за бортом МК), верно? Заводить обратку по току и смешивать ее внутри МК, как мне кажется - сложно...

Спасибо.

Почти правильно. Будь у Вас непрерывное управление, было бы правильно. А с импульсным управлением необходимо использовать аналоговый интегратор. И смысл слов немного меняется... Но не сильно. Отношение входных резисторов интегратора войдет в полный коэффициент усиления...
Шим вполне может жить на борту. Компаратор или АЦП контроллера на выход интегратора.
Если Вы будете использовать противоЭДС в качестве датчика скорости, то целесообразно этот сигнал завести на П-часть, а сигнал от тахометра на И. Тут тоже лучше не доверяться контроллеру, а сделать аналогичный интегратор, так как сигнал будет явно дерганый.
Пожалуйста.
haker_fox
Долго молчал в этом топике... перерабатывал, усваивал, качал книги, читал, смотрел прототипы контроллеров... В одной книге увидел такую схему (см. рисунок), хочу испытать ее в работе. Не могу понять, как она работает? Зачем тупо вычитать из управляющего сигнала значение тока? Ведь при разгоне двигателя, когда потребляемый ток велик, управляющий сигнал будет сильно занижен. Когда двигатель разгонится и момент сопротивления будет примерно равен крутящему моменту (т.е. ускорение равно 0), ток тоже будет минимальный -> управляющий сигнал будет максимальным, т.к. из него вычитается теперь уже мизерный ток... Что-то у меня в голове каша... Такое ощущение, что это просто ограничитель тока. Matlab & Simulink все еще в процессе освоения, поэтому пока не очень с моделированием...
Tanya
Цитата(haker_fox @ Feb 2 2009, 14:12) *
В одной книге увидел такую схему (см. рисунок), хочу испытать ее в работе. Не могу понять, как она работает? Зачем тупо вычитать из управляющего сигнала значение тока? Ведь при разгоне двигателя, когда потребляемый ток велик, управляющий сигнал будет сильно занижен. Когда двигатель разгонится и момент сопротивления будет примерно равен крутящему моменту (т.е. ускорение равно 0), ток тоже будет минимальный -> управляющий сигнал будет максимальным, т.к. из него вычитается теперь уже мизерный ток... Что-то у меня в голове каша... Такое ощущение, что это просто ограничитель тока. Matlab & Simulink все еще в процессе освоения, поэтому пока не очень с моделированием...

Тут нарисовано именно то, о чем написано в предыдущем сообщении. Управление по моменту...моментом. Если усилитель сильно усиливает... Самый сильный усилитель - интегратор.
VladimirYU
Цитата(Tanya @ Feb 2 2009, 14:26) *
Тут нарисовано именно то, о чем написано в предыдущем сообщении. Управление по моменту...моментом. Если усилитель сильно усиливает... Самый сильный усилитель - интегратор.

Классическая двухконтурная система подчиненного управления (для поиска: +модульный оптимум+симметричный оптимум ). Внутренний контур тока для компенсации электромагнитной постоянной времени якорной цепи (L/R) и внешний контур скорости для обеспечения требуемого качества регулирования.
haker_fox
Ни в одном из приводов не видел токового управления. Только его ограничение. Что же получается, все-таки возможно обойтись без управления по току?
Что смотрел:
http://www.cnczone.com/forums/showpost.php...amp;postcount=1
http://elm-chan.org/works/smc/report_e.html (тут правда вообще контроля тока нет)
Знаменитый UHU Servo...
Везде толко Current Limit...
evgeny_ch
Цитата(haker_fox @ Feb 3 2009, 10:01) *
Ни в одном из приводов не видел токового управления. Только его ограничение. Что же получается, все-таки возможно обойтись без управления по току?
Что смотрел:
http://www.cnczone.com/forums/showpost.php...amp;postcount=1
http://elm-chan.org/works/smc/report_e.html (тут правда вообще контроля тока нет)
Знаменитый UHU Servo...
Везде толко Current Limit...
М. б. это поможет.
Башарин А.В. - Управление электроприводами (1982).djvu
Дело в том, что в забугорье это называется не токовое управление, а
torque control, поскольку имеется прямая зависимость момента двигателеля от тока.
arisov
Я в своё время с этим токовым ограничением «помучался». Выставишь ток ограничения по максимуму - движок резвый, но при «заклинивании», а такое в реальном станке может запросто произойти, из движка уже секунд через 20-30 дымок идёт. Убавляешь ток, динамика резко ухудшается.
haker_fox
Цитата(arisov @ Feb 3 2009, 15:58) *
Я в своё время с этим токовым ограничением «помучался». Выставишь ток ограничения по максимуму - движок резвый, но при «заклинивании», а такое в реальном станке может запросто произойти, из движка уже секунд через 20-30 дымок идёт. Убавляешь ток, динамика резко ухудшается.

Но Вы все-таки использовали именно ограничение тока? Т.е. ток превысил заданный -> выкючаем двигатель, верно?

Скажите, а как ведет себя двигатель при нагрузке на вал? Меня что беспокоит, на низкой скорости (5 об/с) если вал застопорить рукой двигаль на мгновение остановится, затем начинает вращаться снова. Если момент сопротивления увеличить (сильнее схватить вал пальцами), то начинается "дребезг", т.е. вал рывками вращается, а PWM скачет из минимума в максимум. На более высоких скоростях двигатель ведет себя намного лучше. Т.е. при торможение вала более жестко сопротивляется и набирает скорость. Видимо это связано с инертностью ротора: на более низких скоростях ротор не может накопить достаточное количество кинетической энергии и останавливается. На более высокой скорости этого не происходит. Но если момент сопротивления увеличить, то снова начинаются рывки и ШИМ скачет от мин. к макс. значению. Здесь, видимо, уже огрехи регулятора. Работаю с MATLAB'ом. Нужно строить мат. модель. Пока не знаю, как долго еще буду возиться...
_Pasha
Цитата(arisov @ Feb 3 2009, 10:58) *
Я в своё время с этим токовым ограничением «помучался».

+1 Там его ограничивать надо, как бы имитируя плавкий предохранитель (т.е. с относительно долговременным I^2 *t) Чем проще это звено - тем хуже.
haker_fox
Цитата(arisov @ Feb 3 2009, 15:58) *
но при «заклинивании», а такое в реальном станке может запросто произойти, из движка уже секунд через 20-30 дымок идёт. Убавляешь ток, динамика резко ухудшается.

Тут, наверно, нужно дополнительные условия вводить: типа если скорость вала не соответсвует нормативной в течение некоторого времени, то выключать двигатель...
arisov
Цитата(haker_fox @ Feb 3 2009, 11:24) *
Но Вы все-таки использовали именно ограничение тока? Т.е. ток превысил заданный -> выкючаем двигатель, верно?

Да, ограничение тока. И тоже «дергается», но я думаю, это просто руки у меня не осиляют равномерно удерживать вал. А ШИМ увеличивается, из-за компенсации рассогласования сервоконтроллером.

Цитата(haker_fox @ Feb 3 2009, 12:01) *
Тут, наверно, нужно дополнительные условия вводить: типа если скорость вала не соответсвует нормативной в течение некоторого времени, то выключать двигатель...

У меня при рассогласование в 3 шага запускается таймер и если через 15 сек., эти три шага не «догонят», то в ServoError. Если «догоняют, то таймер сбрасывается.

Про токовое ограничение я думаю надо темку открыть. Уже открыл.
haker_fox
Уф! Проблемы дребезга скорости были в пропорциональной части регулятора. Настроил его по-внимательнее и чудо! Никаких рывков! На осцилле видно как нарастает ШИМ: плавно и мягко. Правда на роботе еще не испытывал... как там себя поведен, неизвестно, но не сильно отличаться должно...
Сначала настроил только И-звено, чтобы никаких перерегулирований небыло, затем по-маленьку нарастил П-составляющую. А вот Д-звено сразу дает неустойчивую работу, даже при малом коэффициенте. Нужно (ИМХО) фильтровать данные на канале скорости, сейчас я на регулятор сразу мгновенную скорость завожу.

Правда на низких угловых скоростях, если резко приложить нагрузку к валу, то вал останавливается на мгновенье (0.1 - 0.2 с на глаз), затем снова набирает обороты (скчком, благодаря П-составляющей). Наверно это нормально?
arisov
Цитата(haker_fox @ Feb 3 2009, 13:50) *
Правда на низких угловых скоростях, если резко приложить нагрузку к валу, то вал останавливается на мгновенье (0.1 - 0.2 с на глаз), затем снова набирает обороты (скчком, благодаря П-составляющей). Наверно это нормально?

На роботе может и нормально, но не станках с ЧПУ. biggrin.gif
Какое у Вас время обновления сервоцикла?
haker_fox
Цитата(arisov @ Feb 3 2009, 19:04) *
На роботе может и нормально, но не станках с ЧПУ. biggrin.gif

Для ЧПУ характерны ударные нагрузки? Да еще и на малых частотах подач/вращения шпинделя?
Можно ли узнать, Ваш привод в этом плане как себя ведет?
Цитата(arisov @ Feb 3 2009, 19:04) *
Какое у Вас время обновления сервоцикла?

3 мс.
arisov
Цитата(haker_fox @ Feb 3 2009, 15:58) *
Для ЧПУ характерны ударные нагрузки? Да еще и на малых частотах подач/вращения шпинделя?
Можно ли узнать, Ваш привод в этом плане как себя ведет?

Очень характерны, особенно когда около тонны туда-сюда начинают "ширкать" biggrin.gif
Шпинделя у меня нет, это для очень старой газорезательной машины (в которой раньше металл не жалели) - ездит по рельсам вместе с оператором.
Проблемы небольшие есть - из-за изношенности пары рейка-шестерня местами есть люфт и "затирания". При вращении рукой вала ощущаешь, что нагрузка переменная, усилие то возрастает, то резко падает (как бы идёт по инерции) на каждом зубе шестерни (но в разных положения относительно рейки). Так вот на малой скорости когда происходит, как бы "переваливание через зуб" привод начинает по инерции быстрее двигаться, контроллер для удержания позиции "включает" реверс, затем опять нужное направление и т.п. и появляються рывки, которые некретичны для газорезки. Но эти рывки появляются только в определённых местах относительно рейки. И это только для "лёгкой" оси, та которая около тонны движется плавно. С большим быстродействием (меньшим временем сервоцикла), возможно этого бы не было.
_Pasha
Цитата(haker_fox @ Feb 3 2009, 13:50) *
 Нужно (ИМХО) фильтровать данные на канале скорости, сейчас я на регулятор сразу мгновенную скорость завожу.


Есть предложение такое:


Как только скорость обновляется чаще, чем длительность цикла управления, брать среднее, иначе - мгновенное значение. Реализуется через 1-байт счетчик, например инкремент в канале скорости, декремент - в конце цикла управления. Получится что-то типа фазового детектора ФАПЧ.
haker_fox
Цитата(arisov @ Feb 3 2009, 21:13) *
Но эти рывки появляются только в определённых местах относительно рейки. И это только для "лёгкой" оси

Ну примерно понятно: объект легкий - момент инерции невысокий, сервоцикл не очень короткий - все это способствует рывкам при переменной нагрузке. У меня, как я думаю, тоже самое.
Цитата(arisov @ Feb 3 2009, 21:13) *
та которая около тонны движется плавно.

Я думаю, что ее инертность (это при тонне-то веса) дает ей некоторые приоритеты rolleyes.gif
haker_fox
Цитата(_Pasha @ Feb 3 2009, 21:24) *
Как только скорость обновляется чаще, чем длительность цикла управления, брать среднее

Тут, наверно, имелось ввиду не длительность цикла управления, а период, с которым он вызывается?
Т.е. если у меня сервоцикл выполняется каждые N мс, то паузу в N мс я могу заполнить вычислением средней скорости за время N?
VladimirYU
Цитата(haker_fox @ Feb 3 2009, 09:01) *
Ни в одном из приводов не видел токового управления. Только его ограничение. Что же получается, все-таки возможно обойтись без управления по току?
Что смотрел:
http://www.cnczone.com/forums/showpost.php...amp;postcount=1
http://elm-chan.org/works/smc/report_e.html (тут правда вообще контроля тока нет)
Знаменитый UHU Servo...
Везде толко Current Limit...

Замкнутый контур тока применяется, как я уже отмечао, для компенсыции электромагнитной постоянноц времени якорной цепи двигателя (речь идет о ДТП). Его применение целесообразно и даже необходимо когда величина этой постоянной сопоставима с приведенной к валу двигателя электромеханической постоянной всей системы. В этом случае приближенная передаточная функция w(s)/Uупр(S) является звеном второго порядка с низким коэффециентом затухания. Следовательно, при отсутствии контура тока получается система с высоким коэффициентом колебательности (обозн. в литературе, например у Бесекрского, M ). Это характерно для машин
1) большой мощности, б)специальных машин с малым моментом инерции (пример полый ротор). Применение контура тока в сочетании с правильным выбором силового преобразователя позволяет повыситть устойчивость системы и упростить структуру регулятора скорости или положения (от задачи зависит) и процедуру настройки параметров регулятора.
haker_fox
Цитата(VladimirYU @ Feb 4 2009, 14:15) *
это характерно для машин
1) большой мощности, б)специальных машин с малым моментом инерции (пример полый ротор). Применение контура тока в сочетании с правильным выбором силового преобразователя позволяет повыситть устойчивость системы и упростить структуру регулятора скорости или положения (от задачи зависит) и процедуру настройки параметров регулятора.

Я верно понимаю, что для ДПМ-35-Н2-02 в следствие малой мощности можно не городить "мудренное" токовое управление, а просто ограничиться вариантом Current Limit?
VladimirYU
Цитата(haker_fox @ Feb 4 2009, 16:49) *
Я верно понимаю, что для ДПМ-35-Н2-02 в следствие малой мощности можно не городить "мудренное" токовое управление, а просто ограничиться вариантом Current Limit?

Вы меня поняли абсолютно правильно. Электромагнитная инерционность якорной обмотки для микромашин пренебрежимо мала.
А вот Current Limit считаю необходимым, т.к. из собствееного опыта помню что в случае токовых перегрузок (читай перегрева) эти движки выходят из строя очень быстро. Обратите внимание на их параметр - продолжительность безотказной работы, какие-то сотни часов.
haker_fox
Цитата(VladimirYU @ Feb 4 2009, 22:11) *
Вы меня поняли абсолютно правильно. Электромагнитная инерционность якорной обмотки для микромашин пренебрежимо мала.

Ага! Теперь становится понятно, почему у UHU Servo, elm-chan только current limit.
Цитата(VladimirYU @ Feb 4 2009, 22:11) *
А вот Current Limit считаю необходимым, т.к. из собствееного опыта помню что в случае токовых перегрузок (читай перегрева) эти движки выходят из строя очень быстро.

Он есть) Про быстрый выход из строя - поддтверждаю. У нас в свое время в институ много ДПМок пожлги по недосмотру (читайте по дурости). И дело-то всего было в том, что манипулятор упирался в ограничитель, а на двиг продолжало питание поступать. Но это простительно. СУ там была советская и дубовая. Никаких ограничений. Просто набор реле и PDP-11, в которой нужно было все управления двигами самому набить. Конечных выключателей небыло. Ужас! PUMA не в пример лучше! На каждую ось (двигатель) свой контроллер!
Цитата(VladimirYU @ Feb 4 2009, 22:11) *
Обратите внимание на их параметр - продолжительность безотказной работы, какие-то сотни часов.

Я обратил. Вот и печально, что они стоят в манипуляторе. Не думаю, что он на сотню часов рассчитан(
VladimirYU
Цитата(haker_fox @ Feb 4 2009, 17:30) *
Ага! Теперь становится понятно, почему у UHU Servo, elm-chan только current limit.


Я обратил. Вот и печально, что они стоят в манипуляторе. Не думаю, что он на сотню часов рассчитан(


Может имеет смысл рганизоватьсочетание токограничения с аврийным отключением, причем максимально тупым, например снятием питания через контакты реле? Конечно если это допустимо по условия м работы механизма.
arisov
В одной из модификаций UHU сервоконтроллера цепь токозащиты сделана двойной. Slow & Fast Limit.
haker_fox
Цитата(VladimirYU @ Feb 5 2009, 13:51) *
Может имеет смысл рганизоватьсочетание токограничения с аврийным отключением, причем максимально тупым, например снятием питания через контакты реле? Конечно если это допустимо по условия м работы механизма.

Так мы сейчас этим и занимаемся rolleyes.gif А старая СУ уже как 1.5 года на помойке лежит... Тема-то моя нанешняя и другие не зря создана... Вот только замахнулся я сразу на многое maniac.gif

Цитата(arisov @ Feb 5 2009, 14:30) *
В одной из модификаций UHU сервоконтроллера цепь токозащиты сделана двойной. Slow & Fast Limit.

И за это спасибо! Я тоже зареглен на cnczone.com. Великолепный форум!!!

Удалось решить проблему провала скорости при прикладывании нагрузки к валу двигателя на низких скоростях. Вернее провалы есть... но теперь на них можно не обращать внимания... Просто период вызова сервоцикла уменьшил с 3 мс до 500 мкс. Энкодер 27 имп/об. От мышки. Конечно, если поставить нормальный, хотя бы импульсов 200 - 500, то и время реакции должно еще более снизится (ИМХО).
_Pasha
Смех сквозь слезы. Читаю ветку Художника

Цитата
В идеале сервоцикл на каждом импульсе енкодера, при 3000об/мин для енкодера 2000cpr это 100кГц или 10мксек.


А теперь рассуждаем логически. Сервоцикл привязан к частоте ШИМ, а не к частоте сканирования энкодера и в течение периода ШИМ мы вообще не можем воздействовать на процесс. Зачем тогда этот цирк?

Правильно ли я понимаю? Вот так, когда увидишь чушь, сказанную на весь мир, начинаешь сомневаться в себе sad.gif 

ЗЫ А кто - нить баловался с адаптивным периодом сервоцикла?
Огурцов
Наверное нужно умножить частоту шим на разрешение шим. Т.е. например 50кгц * 256 - выше этой частоты забираться смысла нет. Да и вообще для меня большой вопрос, нужно ли напрягаться и делать частоту энкодера выше частоты шим.
_Pasha
Цитата(Огурцов @ Mar 3 2009, 14:18) *
 Да и вообще для меня большой вопрос, нужно ли напрягаться и делать частоту энкодера выше частоты шим.

В смысле - наоборот? частоту шим выше частоты энкодера ?
Огурцов
Нет, в смысле не гнаться за мега(кило)герцами. Успевает мега энкодер 100 кгц и 25 кгц шим обработать и хорошо, не успевает - да хоть бы и на 25 кгц энкодер поставить. По шим - тоже. Шим на 16 кгц (субъективно) вполне тихо работает, т.е. свист практически не слышен.
evgeny_ch
Цитата(_Pasha @ Mar 3 2009, 11:56) *
Смех сквозь слезы. Читаю ветку Художника



А теперь рассуждаем логически. Сервоцикл привязан к частоте ШИМ, а не к частоте сканирования энкодера и в течение периода ШИМ мы вообще не можем воздействовать на процесс. Зачем тогда этот цирк?

Правильно ли я понимаю? Вот так, когда увидишь чушь, сказанную на весь мир, начинаешь сомневаться в себе sad.gif 

ЗЫ А кто - нить баловался с адаптивным периодом сервоцикла?
Кстати Художник неплохой, но технарь из него, как пуля...
Он практик и энтузиаст. biggrin.gif Теперь о логике.
Сервоцикл должен быть связан с временем реакции на управляющее воздействие.
Дал полный ток двигателю, и посмотрел запаздывание системы. Вот на это время и надо
ориентироваться. Зачем вялому приводу большая скорость вычислений?
Где-то здесь писал, что при больших скоростях бесполезно пытаться регулировать
механизм (в следствие большой кинетической энергии) на каждом отсчёте изм. системы.
Т. е. время сервоцикла и дискрета энкодера связаны лишь опосредовано, через ошибку положения.
Удобнее обрабатывать аналоговые сигналы от преобразователя, это позволяет делать нужное
количество выборок в зависимости от скорости и не прегружать процессор.
Для сл. инкрементального энкодера проще иметь аппаратный (программный) счётчик
и считывать его по мере необходимости, пмсм. Это похоже на ваш адаптивный сервоцикл. biggrin.gif
Интересным здесь является момент останова (удержания) привода в точке коорд. системы.
Здесь нужен адаптивный регулятор.
Совсем забыл, частота ШИМ выбирается исходя из RC электродвигателя,
а её диапазон изменения влияет лишь на точность поддержания тока (момента),
так что непонятно, как это связать с периодом сервоцикла (традиционное ы).
Огурцов
зы: тут вообще дело в том, что шим может в каждом цикле измениться скажем от 0 до 255, а энкодер, если их циклы равны, только +-1. Видимо поэтому весьма желательно, чтобы импульсов с энкодера за один цикл шим поступало несколько больше, чем +-1.
Iptash
Цитата(haker_fox @ Feb 5 2009, 12:30) *
...Удалось решить проблему провала скорости при прикладывании нагрузки к валу двигателя на низких скоростях. Вернее провалы есть... но теперь на них можно не обращать внимания... Просто период вызова сервоцикла уменьшил с 3 мс до 500 мкс. Энкодер 27 имп/об. От мышки. Конечно, если поставить нормальный, хотя бы импульсов 200 - 500, то и время реакции должно еще более снизится (ИМХО).

На промышленных приводах есть компенсация скорости. Т.е. по простому если взять, то это допустим усилитель ошибки, который имеет не линейный
коэфициент усиления, у которого усиление малых сигналов огромно, больших сигналов мало. Т.е. на подачах ближе к нулю коэфициент усиления привода
максимальный, поэтому реакция круче. По мере увеличения подачи уменьшается усиление привода в целом.
Ну и конечно энкодер.
_Pasha
Цитата(Огурцов @ Mar 3 2009, 14:40) *
на 16 кгц ... свист практически не слышен.


Ну, это всего лишь один из факторов... Концептуально - гораздо важнее сохранить такую пропорцию: один период ШИМ - одна итерация PID, в крайнем случае, если не успевает обсчитать - линейно интерполировать соседние отсчеты. Стоять на месте оно не должно - хватит этих ступенек, нахавался вдоволь sad.gif 

Цитата(evgeny_ch @ Mar 3 2009, 14:45) *
Здесь нужен адаптивный регулятор.

Приветствую Вас! Думал, что мой вопрос больше уходит в плоскость программистских упрощений. smile.gif 

Адаптивный - в каком смысле? Что изменяется?



Цитата(Огурцов @ Mar 3 2009, 14:46) *
чтобы импульсов с энкодера за один цикл шим поступало несколько больше, чем +-1.

Дык совершенно ага! Думаю, везде так и делается.

То, что я сейчас строю:


частота опроса энкодера и step/dir  72 кГц

частота ШИМ 4/8/16/36 кГц (приблизительно)

Период сервоцикла соотв. 1000/250 мкс но есть проблемы, поскольку процессы генерации траекторий  иногда асинхронны по отношению к периоду ШИМ, т.е. проще говоря - не успевает обсчитать, особенно если сплайн в плавучке будет считаться за 50 мкс. Вот я и хочу выбрать для той же 36кГц - либо PID 8 разрядный, либо интерполяция.

Кстати, PID и так по входу ограничен, т.к. регистры положения у нас 32-разрядные, а операции - 16 разрядные. Это я к тому, что зона регулирования уже, чем возможный большой скачок

Цитата(Iptash @ Mar 3 2009, 15:18) *
компенсация скорости.

Я даже больше скажу - если контур стабилизации скорости организовать по периоду прихода импульсов от энкодера - будет самое оно
haker_fox
Что-то я чувствую, что пора тут модельки матлабовские выкладывать, чтобы всем наглядно было..., только вот у меня их нет, ибо погряз я окончательно в других заботах, в т.ч. и в учебе (тяжелый 3 курс... куча лаб, расчеток, две курсовых)... что же делать...
evgeny_ch
Цитата(_Pasha @ Mar 3 2009, 15:49) *
...
Приветствую Вас! Думал, что мой вопрос больше уходит в плоскость программистских упрощений. smile.gif 

Адаптивный - в каком смысле? Что изменяется?

...
Привет. biggrin.gif
Не совсем точно выразился.
Если уж совсем точно, то с переменной структурой.
Дело в том, что при движении часто не отслеживают траекторию точно, а задают диапазон ошибки
положения, и как следствие допустимо преререгулирование. Чтобы точно стоять на месте,
т. е. обеспечить достаточную жесткость механизма, нужна другая реакция (структура) регулятора, чем при движении.
Иначе при стоянке двигатель будет телепаться минимум дискрету энкодера в обе стороны.
Самый простой путь - увеличить дискретность энкодера, иначе приходится уменьшать коэффициент
усиления постоянного звена регулятора. Надеюсь, объяснил.
Теперь попытаюсь вспомнить (придумать) как отслеживать ошибку в дискрету изм. системы,
не теряя при этом момента привода, т. е. с максимальным усилением постоянного звена регулятора.
_Pasha
Цитата(haker_fox @ Mar 3 2009, 16:27) *
пора тут модельки матлабовские выкладывать

Очень нужна программная модель ДПТ с инерционной нагрузкой или хотя бы источник, откуда выдрать контрольные примеры, чтоб числа сошлись. smile.gif

Цитата(evgeny_ch @ Mar 3 2009, 17:06) *
 Надеюсь, объяснил.

Ага, спасибо. Кстати, есть еще такие вещи, как пусковой момент, и интегральное звено приснопамятного ПИД-алгоритма просто так не справится, надо как минимум два коэффициента - для старта и для работы
Цитата
Самый простой путь - увеличить дискретность энкодера


Ну, если только для удержания, можно наеобмануть природу, введя ошибку не по положению, а по периоду следования импульсов с энкодера. Простейший ПИ-регулятор ,имхо, может справиться. 
dpss
Цитата(_Pasha @ Mar 3 2009, 17:20) *
Ага, спасибо. Кстати, есть еще такие вещи, как пусковой момент, и интегральное звено приснопамятного ПИД-алгоритма просто так не справится, надо как минимум два коэффициента - для старта и для работы
А если эту идею развивать дальше - подойдем к регуляторам с нечеткой логикой.
Огурцов
Цитата(_Pasha @ Mar 3 2009, 13:49) *
Дык совершенно ага! Думаю, везде так и делается.

Если откинуть вопросы, связанные с разрешением, то танцевать, наверное, нужно от ускорения, которое может обеспечить привод при максимальном рассогласовании и оборотах за один цикл пвм.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.