Регулирование оборотов от положения

Общие принципы, проектирование, модуляризация, темплейты и шаблоны
Ответить
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Регулирование оборотов от положения

Сообщение Sergey Ivanov »

Всем привет.
Столкнулся с задачей, которую не могу пока решить и решил посоветоваться.

Есть система, состоящая из мотора (М), Редуктора (Р) и датчика обратной связи (ДОС). Мотор и редуктор связаны механической связью (мс) (извиняюсь за тавтологию). Редуктор с ДОС соединены также механически.
Управление мотором осуществляется скоростью (мы её задаём в пределах от о до 255) и направлением (0 -вперёд, 1- обратно).
IMAG0942.jpg
я пробовал реализовать пропорциональное управление,т.е. зависимость управления от величины рассогласования заданнного значения и значения с ДОС.
222.JPG
но в этом случае возникаю неприятности. неприятности такого рода: если система работает без нагрузки, то управление выходным валом редкктора происходит более менее нормально, НО стоит включить с нагрузкой, то работа происходит рывками и с задержкой. (например, движение начинается с величины рассогласования от 15-25).

также пробовал применив ПИД - регулирование:
111.JPG
но и тут не всё гладко. сначала вроде работало нормально, т.е. когда величина рассогласования было 0-2, то и на управление ничего не шло, в принципе, мотор на месте стоял. но после некоторых шевелений системы появлялось такое положение, что при рассогласовании меньше 10, управляющее воздействие составляло около 200 ед, соответственно, мотор около заданного положения совершал колебательные "телодвижения" ("пролетал" заданное положение)

собственно, хотелось поинтересоваться, как можно реализовать так, чтобы независимо от нагрузки осуществлялось плавное движение ? кто что подскажет ?

проект целиком:
сим.rar
(114.06 КБ) 323 скачивания

спасибо
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Регулирование оборотов от положения.

Сообщение IvanLis »

Sergey Ivanov писал(а):Управление мотором осуществляется скоростью (мы её задаём в пределах от о до 255)
Это напряжение или ток, который подается на двигатель постоянного тока? Или инвертор стоит, который частотой управляет?
Sergey Ivanov писал(а):собственно, хотелось поинтересоваться, как можно реализовать так, чтобы независимо от нагрузки осуществлялось плавное движение
Заранее мне кажется никак.
Не знаю как у тебя, но в ЧПУ для ШД это определяется экспериментально в зависимости от двигателя и нагрузки.
У тебя шаг энкодера судя по всему 360/1023 примерно 0.35 или это на несколько оборотов?
Да и один двиг у тебя на подъем работает под нагрузкой, а другой в холостую на спуск. Здесь индивидуальный подход необходим.

Можно сделать следующим образом, стартовать то все равно плавно нужно.
Определить минимальную и максимальные допустимые скорости вращения, посмотреть чтобы резонансов не было (для ШД это больная тема, тут хз). Допустим 20..200. Нужно знать кривую скорости, но будем считать, что зависимость линейна.
Допустим нам нужно повернуть на 100 у.е. :wink:

Включаем на минимальной скорости и смотрим за сколько он делает 1 у.е.
Потом считаем трапецию Разгон-Работа-Торможение (нам же еще затормозить надо, мгновенно не остановишь)
нашел похожее
нашел похожее
Как правило кривую торможения считают аналогичной разгону.
Т.е. на разгон нам нужно 20 у.е. (это исходя из первоначального измерения-взвешивания и по идее будет зависеть от нагрузки) и мы с каждым шагом увеличиваем скорость до 200, пропорционально шагу. Ускорение максимальное тоже экспериментально определяется в зависимости от нагрузки.
Потом скорость постоянна.
Потом когда подходит 80 у.е. начинаем тормозить, уменьшая скорость с каждым шагом.
На 100 у.е. stop.

Но это все из ШД, а как у тебя будет, понятия не имею. Например как затормозить асинхронник :dntknw: , не колодки же ставить.
Но судя по картинкам из темы Платформа стюарта у тебя ШД, с прицелом и писал.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Регулирование оборотов от положения.

Сообщение Sergey Ivanov »

Иван, спасибо за подробный ответ. надо было полностью задачу описать.
у меня стоит не энкодер, а потенциометр (270 градусов раб ход). и ацп 10 бит.

"управление скоростью" - это я имел в виду, что скорость вращения вала мотора зависит от величины поданного напряжения на пч (преобразоватль частоты). 0 ед - 0 в, 254 ед - 4,8 в. стати, мотор асинхронный

пч может эффективно тормозить ад (асинхронный двигатель) скорость торможения порядка 0,1 сек, может и меньше. есть функция торможения, в общем. до компа доберусь - видеоролик кину.

пока делал, что при старте упрпвляющее воздействие плавно увеличивается, со скоростью, пропорциональной рассогласованию. но с торможением туго пока.)
vi накидаю и кину, а то в первом посте забыл.

p.s. от шаговика отказался, т.к. зависимость момента и скорости оказалась несколько ионой. и максимальный момент меньше (
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Регулирование оборотов от положения.

Сообщение Sergey Ivanov »

V-rdKMn0RuA

с 2:30 можно немного оценить динамику мотора. на видео именно (разгон) - (стоп) - (разгон в другом направлении)
на вид, почти как у шагового двигателя :brows:

вот типа вот так, но пока в одном направлении работает.
есть идея, дома попробую сделать. сделать зону, начиная с которой будет уменьшение (торможение)
тест.jpg
тест.vi
(8.83 КБ) 319 скачиваний
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Регулирование оборотов от положения.

Сообщение Chupakabra »

Думаю, шаг в сторону использования ПИД - верное решение. Только ПИД нужно настроить на рабочую нагрузку. Кроме того в современных ПЧ обчно есть встроенный ПИД, почему бы его не задействовать?
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Регулирование оборотов от положения.

Сообщение Sergey Ivanov »

На то несколько причин:
-нужно обратную связь ему
-задавать положение через RS485 (если не ошибаюсь)

я уже делаю так, ручками ) люблю когда всё подд контролем, сделано самим и лего можно менять, конфигурировать. а пч пусть будет просто драйвером мотора.
Думаю, шаг в сторону использования ПИД - верное решение.
мне он тоже нравится, но я пока не знаю как сделать на выходе 0, если рассогласовании заданного положения и реального тоже 0. если это сделать, то проблема решена

думал "подтягивать" значение с выхода пид регулятора к 0, меняя скорсоть "подтягивания". чем больше разница, тем меньше "подтягивание" и наоборот.

но хочется как-то правильно и красиво сделать
Добро пожаловать на http://rk-stud.ru/
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Регулирование оборотов от положения

Сообщение Borjomy_1 »

Правильно и красиво это как сделано в частотном преобразователе. Два контура управления. первый контур - задание тока, управление скоростью вращения. Энкодер в качестве датчика обратной связи прямо на валу двигателя. Второй контур - задание скорости, управление текущим положением.
И еще. Редуктор содержит люфты, присутствует мощный момент инерции. Чем больше нагрузка, тем больше люфт. Всё это нелинейные элементы и они радикально влияют на качество управления
Ответить

Вернуться в «Модели программирования»