|
|
  |
Быстрый ПИД-регулятор, На отрезном станке. Новичёк просит помощи. |
|
|
|
Apr 14 2017, 17:28
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386

|
Цитата(AlexandrY @ Apr 14 2017, 18:04)  Но автор имеет свободу в выборе интервала времени. У него задача позиционирования. Да, у него разомкнутое по времени управление, т.е. необходимо обеспечить совмещение цели и объекта в заданной координате и с заданной скоростью объекта. И это не позиционирование в чистом смысле.
|
|
|
|
|
Apr 14 2017, 17:29
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Gruffly @ Apr 14 2017, 20:20)  Желаемое движение системы задается полиномами, минимизируется среднеквадратический критерий. Ну? Cами прочитайте что написали. Нет никакого желаемого движения. В реальности есть только задача попасть в нужную точку и есть ограниченный но достаточно произвольный промежуток времени на это. И еще, для решения задачи по оптимальному выбору траектории (терминальное управление в вашем смысле) требуется каждый раз решать систему уравнений. Т.е. оптимизировать. Да, и модель объекта надо знать точно. Абсурд. С тем же успехом можно предложить использовать нейросети, и они вам и объект идентифицируют и точнейшую траекторию укажут. Чипсеты уже производят, только автору свой контроллер придётся выкинуть.
|
|
|
|
|
Apr 14 2017, 17:35
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386

|
Цитата(AlexandrY @ Apr 14 2017, 18:29)  Ну? Cами прочитайте что написали. Нет никакого желаемого движения. В реальности есть только задача попасть в нужную точку и есть ограниченный но достаточно произвольный промежуток времени на это. Т.е. Вы не понимаете, что такое фазовые координаты и управление с ограничениями? Тогда и смысла говорить для Вас очень мало.
|
|
|
|
|
Apr 14 2017, 17:35
|
Частый гость
 
Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341

|
бррр #define encoder_end_point 5000 //где надо начать тормозить - выбирать с учётом проноса #define encoder_start_point 1000 //начальное положение - выбирать с учетом проноса #define speed_eps 0.01 //скорость, которую считаем нулевой #define min_speed_zero 10 //скорость, с которой двигатель должен вернуть нож в начальное положение bla-bla-bla -- if (encoder_pos>=encoder_end_point) //если нож в точке, где начать тормозить включить флаг начала торможения begin_tormoz=true; --- if (begin_tormoz) //если работает процедура торможения: даёт задание приводу 0 и ждем, пока частота вращения не снизится до минимума; как только дойдет, торможение завершено и //запускаем процедуру возврата в исходное положения { speed_ref=0; if (abs(speed)<=speed_eps) { begin_tormoz=false; begin_zero_pos=true; } if (begin_zero_pos) speed_ref=min_speed_zero; if (encoder_pos>=encoder_start_point) begin_zero_pos=0;speed_ref=0; } Прецизионно и наличие разработчика не требуется, понятно даже Васе-столяру.Будет работать как атомные часы 25 лет. Могу сделать на релейной автоматике без программы, тогда без замены реле года 2
Сообщение отредактировал somebody111 - Apr 14 2017, 17:50
|
|
|
|
|
Apr 14 2017, 18:12
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386

|
Цитата(somebody111 @ Apr 14 2017, 18:35)  бррр Вот именно. А, что сразу не в HEX?
|
|
|
|
|
Apr 14 2017, 21:01
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(somebody111 @ Apr 14 2017, 20:35)  Прецизионно и наличие разработчика не требуется, понятно даже Васе-столяру.Будет работать как атомные часы 25 лет. Могу сделать на релейной автоматике без программы, тогда без замены реле года 2  Нет коллеги. Все что действительно автору нужно - это генерация нормальных сорсов тюнингированного в Matlab-e PIDа. (ADRC я пока тут выкладывать не буду  ) Потому что он сейчас не может сопоставить свою реализацию PID-а с Matlab-овской. Выглядит это так: Тюнингируется штатный дискретный PID как я писал в самом начале. Потом строится такая модель с тюнингированным пидом и параллельно для сравнения идентичности подсистема полностью копирующая штатный PID
Подсистему сделал я. Чтобы она совпадала в штатном пиде должен быть выбран режим clamping для anti-windup. Подсистема внутри выглядит так:
И теперь автор может спокойно из Simulimk-а сгенерить сорсы на C для своего контроллера для этой подсистемы. Он получит понятную функцию без магических matlabовских чисел, где все константы передаются как аргументы. А константы он будет брать из полей в диалоге штатного PID-а каждый раз когда будет перетюнингировать его.
|
|
|
|
|
Apr 14 2017, 22:25
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(somebody111 @ Apr 14 2017, 20:21)  А можно поинтересоваться у ТСа - этот станок одноразовый? Отрезал и все...через час включат или непрерывно на равные части? Режет без остановки по несколько часов на равные части.
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 14 2017, 23:17
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(somebody111 @ Apr 15 2017, 02:12)  Возвращаемся в самое-самое начало - зачем тебе позиционировать нож в начальное положение, если он будет всегда вращаться?Длина полотна будет определяться временем оборота ножа на 360 и скоростью полотна. Первое -ты задаешь просто частотой вращения, а второе ты влиять не можешь. За время одного оборота твоя картонка сместится на расстояние L=скорость линии*время оборота ножа. Стабилизируешь скорость - стабилизируешь длину того,что режешь.Зачем его позиционировать?Ну если хочешь выделиться, ну сделай функцию последнего реза по алгоритму выше, чтобы свести к минимуму "лишние обрезки", но не делай глупости типо -обратной связт по положению На каждом обороте будет остановка, чтобы выдержать требуемую среднюю скорость и при этом не отрезать на слишком маленькой скорости. Т.е. я не могу просто резать на постоянной скорости - на малых скоростях линии или длинных размерах реза средняя скорость будет мала и реза не получится. Режу на высокой скорости, чтобы скомпенсировать это - останавливаю или замедляю нож на какое-то время. Это я уже писал раньше, но пост разросся, Вы позже подключились мне помогать.
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 14 2017, 23:45
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(somebody111 @ Apr 15 2017, 02:41)  А почему не получается? Привод в 0 плавает?Реза не получается? Усилия не хватает, полотно начинает прыгать, т.к. его уже не режут, а не спеша давят на него. Картон ломается.
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 15 2017, 11:55
|
Местный
  
Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913

|
Цитата(Gruffly @ Apr 15 2017, 12:28)  Графики-то будут?  Хотелось бы увидеть реакцию на скачок 1 - 4 В, а, после установившейся скорости, скачок обратно 4 -1 В. Будут, возможно даже сегодня.
--------------------
Сжимаются ужи насмешкой лжи
|
|
|
|
|
Apr 15 2017, 13:03
|
Частый гость
 
Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341

|
Предложи поменять редуктор.Дело в том, что реализуемость вашего решения определяется приведенным моментом инерции.Если он большой, то резкий разгон/тормоз возможен будет, если поднять стопорный ток в приводе-это не есть хорошо для непрерывно работающего двигатель.А редуктор уменьшит и момент инерции, и нагрузку на двигатель. С вашими 4:1, приведенный момент инерции уменьшен в 16 раз и нагрузка на двигатель в 4 раза.Если сделаете 5:1, момент инерции уменьшится в 25 раз.Как влияет инерция на разгон смотрите выше в картинках.Изготовить редуктор-дорогое удовольствие, могут послать.Надо тогда предупредить, что по другому может не сработать, подведите их к станку, дайте Макс.задание скорости и обратите внимание на время разгона.Пусть сами увидят возможности двигателя. --- Или наоборот, надо увеличить момент инерции на выходе редуктора/изменить конструкцию ножа и пр.Это проблема не электропривода-это проблема механиков и технологов.22кВт разогнать за 0.1 сек даже не обсуждается, редуктор быстро умрет.Можно извращаться над станком, но хорошего изделия не получится
Сообщение отредактировал somebody111 - Apr 15 2017, 13:21
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|