реклама на сайте
подробности

 
 
18 страниц V  « < 12 13 14 15 16 > »   
Reply to this topicStart new topic
> Быстрый ПИД-регулятор, На отрезном станке. Новичёк просит помощи.
somebody111
сообщение Apr 14 2017, 17:21
Сообщение #196


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341



А можно поинтересоваться у ТСа - этот станок одноразовый? Отрезал и все...через час включат или непрерывно на равные части? Вы тут о позиционировании говорите,об останове, а зачем? Вращалка вращается и режет на равные длины всегда.Привод будет держать скорость. Если он там раз в час режет, то еще проще- использовать энкодер как микрик: нажал кнопку - сделал рез - сработал микрик-отключился -программа вывела в рабочую точку медленно. Какие-то траектории придумываете, обратные связи по положению

Сообщение отредактировал somebody111 - Apr 14 2017, 17:31
Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 14 2017, 17:28
Сообщение #197


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Цитата(AlexandrY @ Apr 14 2017, 18:04) *
Но автор имеет свободу в выборе интервала времени.
У него задача позиционирования.

Да, у него разомкнутое по времени управление, т.е. необходимо обеспечить совмещение цели и объекта в заданной координате и с заданной скоростью объекта.
И это не позиционирование в чистом смысле.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 14 2017, 17:29
Сообщение #198


Ally
******

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



Цитата(Gruffly @ Apr 14 2017, 20:20) *
Желаемое движение системы задается полиномами, минимизируется среднеквадратический критерий.

Ну? Cами прочитайте что написали.
Нет никакого желаемого движения.
В реальности есть только задача попасть в нужную точку и есть ограниченный но достаточно произвольный промежуток времени на это.

И еще, для решения задачи по оптимальному выбору траектории (терминальное управление в вашем смысле) требуется каждый раз решать систему уравнений.
Т.е. оптимизировать. Да, и модель объекта надо знать точно. Абсурд.

С тем же успехом можно предложить использовать нейросети, и они вам и объект идентифицируют и точнейшую траекторию укажут.
Чипсеты уже производят, только автору свой контроллер придётся выкинуть.
Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 14 2017, 17:35
Сообщение #199


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Цитата(AlexandrY @ Apr 14 2017, 18:29) *
Ну? Cами прочитайте что написали.
Нет никакого желаемого движения.
В реальности есть только задача попасть в нужную точку и есть ограниченный но достаточно произвольный промежуток времени на это.

Т.е. Вы не понимаете, что такое фазовые координаты и управление с ограничениями?
Тогда и смысла говорить для Вас очень мало.
Go to the top of the page
 
+Quote Post
somebody111
сообщение Apr 14 2017, 17:35
Сообщение #200


Частый гость
**

Группа: Участник
Сообщений: 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 wink.gif

Сообщение отредактировал somebody111 - Apr 14 2017, 17:50
Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 14 2017, 18:12
Сообщение #201


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Цитата(somebody111 @ Apr 14 2017, 18:35) *
бррр

Вот именно. А, что сразу не в HEX?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 14 2017, 21:01
Сообщение #202


Ally
******

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



Цитата(somebody111 @ Apr 14 2017, 20:35) *
Прецизионно и наличие разработчика не требуется, понятно даже Васе-столяру.Будет работать как атомные часы 25 лет. Могу сделать на релейной автоматике без программы, тогда без замены реле года 2 wink.gif

Нет коллеги.
Все что действительно автору нужно - это генерация нормальных сорсов тюнингированного в Matlab-e PIDа. (ADRC я пока тут выкладывать не буду biggrin.gif )
Потому что он сейчас не может сопоставить свою реализацию PID-а с Matlab-овской.
Выглядит это так:
Тюнингируется штатный дискретный PID как я писал в самом начале.
Потом строится такая модель с тюнингированным пидом и параллельно для сравнения идентичности подсистема полностью копирующая штатный PID
Прикрепленное изображение

Подсистему сделал я. Чтобы она совпадала в штатном пиде должен быть выбран режим clamping для anti-windup.
Подсистема внутри выглядит так:
Прикрепленное изображение

И теперь автор может спокойно из Simulimk-а сгенерить сорсы на C для своего контроллера для этой подсистемы.
Он получит понятную функцию без магических matlabовских чисел, где все константы передаются как аргументы.
А константы он будет брать из полей в диалоге штатного PID-а каждый раз когда будет перетюнингировать его.
Go to the top of the page
 
+Quote Post
Daedal07
сообщение Apr 14 2017, 22:25
Сообщение #203


Местный
***

Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913



Цитата(somebody111 @ Apr 14 2017, 20:21) *
А можно поинтересоваться у ТСа - этот станок одноразовый? Отрезал и все...через час включат или непрерывно на равные части?

Режет без остановки по несколько часов на равные части.


--------------------
Сжимаются ужи насмешкой лжи
Go to the top of the page
 
+Quote Post
somebody111
сообщение Apr 14 2017, 23:12
Сообщение #204


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341



Возвращаемся в самое-самое начало - зачем тебе позиционировать нож в начальное положение, если он будет всегда вращаться?Длина полотна будет определяться временем оборота ножа на 360 и скоростью полотна. Первое -ты задаешь просто частотой вращения, а второе ты влиять не можешь. За время одного оборота твоя картонка сместится на расстояние L=скорость линии*время оборота ножа. Стабилизируешь скорость - стабилизируешь длину того,что режешь.Ну хорошо -сделай опцию, чтобы перед каждой резкой нож возвращался в начальное положение по алгоритму выше- определяешь в какую сторону вращаться, даёшь небольшую скорость, чтобы не проскочить и пока энкодер на насчитает нужное число вращать, как только насчитает - стоп. Алгоритм есть выше. Оно тебе надо делать отрезной станок вертикального взлета с самонаведением?

Сообщение отредактировал somebody111 - Apr 14 2017, 23:16
Go to the top of the page
 
+Quote Post
Daedal07
сообщение Apr 14 2017, 23:17
Сообщение #205


Местный
***

Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913



Цитата(somebody111 @ Apr 15 2017, 02:12) *
Возвращаемся в самое-самое начало - зачем тебе позиционировать нож в начальное положение, если он будет всегда вращаться?Длина полотна будет определяться временем оборота ножа на 360 и скоростью полотна. Первое -ты задаешь просто частотой вращения, а второе ты влиять не можешь. За время одного оборота твоя картонка сместится на расстояние L=скорость линии*время оборота ножа. Стабилизируешь скорость - стабилизируешь длину того,что режешь.Зачем его позиционировать?Ну если хочешь выделиться, ну сделай функцию последнего реза по алгоритму выше, чтобы свести к минимуму "лишние обрезки", но не делай глупости типо -обратной связт по положению

На каждом обороте будет остановка, чтобы выдержать требуемую среднюю скорость и при этом не отрезать на слишком маленькой скорости.
Т.е. я не могу просто резать на постоянной скорости - на малых скоростях линии или длинных размерах реза средняя скорость будет мала и реза не получится. Режу на высокой скорости, чтобы скомпенсировать это - останавливаю или замедляю нож на какое-то время.
Это я уже писал раньше, но пост разросся, Вы позже подключились мне помогать.


--------------------
Сжимаются ужи насмешкой лжи
Go to the top of the page
 
+Quote Post
somebody111
сообщение Apr 14 2017, 23:41
Сообщение #206


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341



А почему не получается? Привод в 0 плавает?Реза не получается?
Go to the top of the page
 
+Quote Post
Daedal07
сообщение Apr 14 2017, 23:45
Сообщение #207


Местный
***

Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913



Цитата(somebody111 @ Apr 15 2017, 02:41) *
А почему не получается? Привод в 0 плавает?Реза не получается?

Усилия не хватает, полотно начинает прыгать, т.к. его уже не режут, а не спеша давят на него. Картон ломается.


--------------------
Сжимаются ужи насмешкой лжи
Go to the top of the page
 
+Quote Post
Gruffly
сообщение Apr 15 2017, 09:28
Сообщение #208


Частый гость
**

Группа: Участник
Сообщений: 103
Регистрация: 6-04-17
Пользователь №: 96 386



Графики-то будут? sm.gif
Хотелось бы увидеть реакцию на скачок 1 - 4 В, а, после установившейся скорости, скачок обратно 4 -1 В.
Go to the top of the page
 
+Quote Post
Daedal07
сообщение Apr 15 2017, 11:55
Сообщение #209


Местный
***

Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913



Цитата(Gruffly @ Apr 15 2017, 12:28) *
Графики-то будут? sm.gif
Хотелось бы увидеть реакцию на скачок 1 - 4 В, а, после установившейся скорости, скачок обратно 4 -1 В.

Будут, возможно даже сегодня.


--------------------
Сжимаются ужи насмешкой лжи
Go to the top of the page
 
+Quote Post
somebody111
сообщение Apr 15 2017, 13:03
Сообщение #210


Частый гость
**

Группа: Участник
Сообщений: 190
Регистрация: 2-03-11
Пользователь №: 63 341



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

Сообщение отредактировал somebody111 - Apr 15 2017, 13:21
Go to the top of the page
 
+Quote Post

18 страниц V  « < 12 13 14 15 16 > » 
Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 08:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.0148 секунд с 7
ELECTRONIX ©2004-2016