Всем привет.
Столкнулся с задачей, которую не могу пока решить и решил посоветоваться.
Есть система, состоящая из мотора (М), Редуктора (Р) и датчика обратной связи (ДОС). Мотор и редуктор связаны механической связью (мс) (извиняюсь за тавтологию). Редуктор с ДОС соединены также механически.
Управление мотором осуществляется скоростью (мы её задаём в пределах от о до 255) и направлением (0 -вперёд, 1- обратно).
я пробовал реализовать пропорциональное управление,т.е. зависимость управления от величины рассогласования заданнного значения и значения с ДОС.
но в этом случае возникаю неприятности. неприятности такого рода: если система работает без нагрузки, то управление выходным валом редкктора происходит более менее нормально, НО стоит включить с нагрузкой, то работа происходит рывками и с задержкой. (например, движение начинается с величины рассогласования от 15-25).
также пробовал применив ПИД - регулирование:
но и тут не всё гладко. сначала вроде работало нормально, т.е. когда величина рассогласования было 0-2, то и на управление ничего не шло, в принципе, мотор на месте стоял. но после некоторых шевелений системы появлялось такое положение, что при рассогласовании меньше 10, управляющее воздействие составляло около 200 ед, соответственно, мотор около заданного положения совершал колебательные "телодвижения" ("пролетал" заданное положение)
собственно, хотелось поинтересоваться, как можно реализовать так, чтобы независимо от нагрузки осуществлялось плавное движение ? кто что подскажет ?
проект целиком:
спасибо
Регулирование оборотов от положения
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Регулирование оборотов от положения.
Это напряжение или ток, который подается на двигатель постоянного тока? Или инвертор стоит, который частотой управляет?Sergey Ivanov писал(а):Управление мотором осуществляется скоростью (мы её задаём в пределах от о до 255)
Заранее мне кажется никак.Sergey Ivanov писал(а):собственно, хотелось поинтересоваться, как можно реализовать так, чтобы независимо от нагрузки осуществлялось плавное движение
Не знаю как у тебя, но в ЧПУ для ШД это определяется экспериментально в зависимости от двигателя и нагрузки.
У тебя шаг энкодера судя по всему 360/1023 примерно 0.35 или это на несколько оборотов?
Да и один двиг у тебя на подъем работает под нагрузкой, а другой в холостую на спуск. Здесь индивидуальный подход необходим.
Можно сделать следующим образом, стартовать то все равно плавно нужно.
Определить минимальную и максимальные допустимые скорости вращения, посмотреть чтобы резонансов не было (для ШД это больная тема, тут хз). Допустим 20..200. Нужно знать кривую скорости, но будем считать, что зависимость линейна.
Допустим нам нужно повернуть на 100 у.е.
Включаем на минимальной скорости и смотрим за сколько он делает 1 у.е.
Потом считаем трапецию Разгон-Работа-Торможение (нам же еще затормозить надо, мгновенно не остановишь) Как правило кривую торможения считают аналогичной разгону.
Т.е. на разгон нам нужно 20 у.е. (это исходя из первоначального измерения-взвешивания и по идее будет зависеть от нагрузки) и мы с каждым шагом увеличиваем скорость до 200, пропорционально шагу. Ускорение максимальное тоже экспериментально определяется в зависимости от нагрузки.
Потом скорость постоянна.
Потом когда подходит 80 у.е. начинаем тормозить, уменьшая скорость с каждым шагом.
На 100 у.е. stop.
Но это все из ШД, а как у тебя будет, понятия не имею. Например как затормозить асинхронник , не колодки же ставить.
Но судя по картинкам из темы Платформа стюарта у тебя ШД, с прицелом и писал.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Регулирование оборотов от положения.
Иван, спасибо за подробный ответ. надо было полностью задачу описать.
у меня стоит не энкодер, а потенциометр (270 градусов раб ход). и ацп 10 бит.
"управление скоростью" - это я имел в виду, что скорость вращения вала мотора зависит от величины поданного напряжения на пч (преобразоватль частоты). 0 ед - 0 в, 254 ед - 4,8 в. стати, мотор асинхронный
пч может эффективно тормозить ад (асинхронный двигатель) скорость торможения порядка 0,1 сек, может и меньше. есть функция торможения, в общем. до компа доберусь - видеоролик кину.
пока делал, что при старте упрпвляющее воздействие плавно увеличивается, со скоростью, пропорциональной рассогласованию. но с торможением туго пока.)
vi накидаю и кину, а то в первом посте забыл.
p.s. от шаговика отказался, т.к. зависимость момента и скорости оказалась несколько ионой. и максимальный момент меньше (
у меня стоит не энкодер, а потенциометр (270 градусов раб ход). и ацп 10 бит.
"управление скоростью" - это я имел в виду, что скорость вращения вала мотора зависит от величины поданного напряжения на пч (преобразоватль частоты). 0 ед - 0 в, 254 ед - 4,8 в. стати, мотор асинхронный
пч может эффективно тормозить ад (асинхронный двигатель) скорость торможения порядка 0,1 сек, может и меньше. есть функция торможения, в общем. до компа доберусь - видеоролик кину.
пока делал, что при старте упрпвляющее воздействие плавно увеличивается, со скоростью, пропорциональной рассогласованию. но с торможением туго пока.)
vi накидаю и кину, а то в первом посте забыл.
p.s. от шаговика отказался, т.к. зависимость момента и скорости оказалась несколько ионой. и максимальный момент меньше (
Добро пожаловать на http://rk-stud.ru/
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Регулирование оборотов от положения.
V-rdKMn0RuA
с 2:30 можно немного оценить динамику мотора. на видео именно (разгон) - (стоп) - (разгон в другом направлении)
на вид, почти как у шагового двигателя
вот типа вот так, но пока в одном направлении работает.
есть идея, дома попробую сделать. сделать зону, начиная с которой будет уменьшение (торможение)
с 2:30 можно немного оценить динамику мотора. на видео именно (разгон) - (стоп) - (разгон в другом направлении)
на вид, почти как у шагового двигателя
вот типа вот так, но пока в одном направлении работает.
есть идея, дома попробую сделать. сделать зону, начиная с которой будет уменьшение (торможение)
Добро пожаловать на http://rk-stud.ru/
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: Регулирование оборотов от положения.
Думаю, шаг в сторону использования ПИД - верное решение. Только ПИД нужно настроить на рабочую нагрузку. Кроме того в современных ПЧ обчно есть встроенный ПИД, почему бы его не задействовать?
-
Sergey Ivanov
- expert
- Сообщения: 1217
- Зарегистрирован: 01 мар 2009, 20:54
- Награды: 5
- Версия LabVIEW: 2018
- Откуда: Санкт-Петербург, Кронштадт
- Благодарил (а): 11 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Регулирование оборотов от положения.
На то несколько причин:
-нужно обратную связь ему
-задавать положение через RS485 (если не ошибаюсь)
я уже делаю так, ручками ) люблю когда всё подд контролем, сделано самим и лего можно менять, конфигурировать. а пч пусть будет просто драйвером мотора.
думал "подтягивать" значение с выхода пид регулятора к 0, меняя скорсоть "подтягивания". чем больше разница, тем меньше "подтягивание" и наоборот.
но хочется как-то правильно и красиво сделать
-нужно обратную связь ему
-задавать положение через RS485 (если не ошибаюсь)
я уже делаю так, ручками ) люблю когда всё подд контролем, сделано самим и лего можно менять, конфигурировать. а пч пусть будет просто драйвером мотора.
мне он тоже нравится, но я пока не знаю как сделать на выходе 0, если рассогласовании заданного положения и реального тоже 0. если это сделать, то проблема решенаДумаю, шаг в сторону использования ПИД - верное решение.
думал "подтягивать" значение с выхода пид регулятора к 0, меняя скорсоть "подтягивания". чем больше разница, тем меньше "подтягивание" и наоборот.
но хочется как-то правильно и красиво сделать
Добро пожаловать на http://rk-stud.ru/
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Регулирование оборотов от положения
Правильно и красиво это как сделано в частотном преобразователе. Два контура управления. первый контур - задание тока, управление скоростью вращения. Энкодер в качестве датчика обратной связи прямо на валу двигателя. Второй контур - задание скорости, управление текущим положением.
И еще. Редуктор содержит люфты, присутствует мощный момент инерции. Чем больше нагрузка, тем больше люфт. Всё это нелинейные элементы и они радикально влияют на качество управления
И еще. Редуктор содержит люфты, присутствует мощный момент инерции. Чем больше нагрузка, тем больше люфт. Всё это нелинейные элементы и они радикально влияют на качество управления