Перейти к содержанию
    

Алгоритм закрытия позиционной разности моторов.

1 hour ago, yamantau said:

Увидеть бы структуру электропривода.

раньше был H-BRIDGE а теперь такой

 

drv_power.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 минут назад, jenya7 сказал:

раньше был H-BRIDGE а теперь такой

 

drv_power.pdf

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 minutes ago, jenya7 said:

теперь такой 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, vervs said:

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

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

 две такие телескопические колодки связанные балкой.217967403.png.4e5f8400a7f9bdb47489e52b3803fb4d.png

нагрузка жестко привинчена.

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

 

Motor-3A.png.275e961e0ad8fd77e09e523e7d97314f.png

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть некоторая предельная величина перекоса, на сколько могут быть рассогласованы положения. Каждый сервоконтур должен держать заданную траекторию с точностью не хуже этой величины. Это будет означать, что вся работа регуляторов будет происходить в диапазоне этой предельной величины перекоса. Соответственно датчики положения нужны такие чтобы в этом диапазоне обеспечить измерение с приемлемой для регулирования точностью. Но в вашем случае, похоже нужно начать с того, чтобы убрать эту нечеткую логику "он двигается быстрей – я его притормаживаю а второй ускоряю ...". Алгоритмы и код здесь только инструмент, регулятор ведь может быть и аналоговым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, jenya7 said:

 две такие телескопические колодки связанные балкой.

Шаговики с энкодерами. Задача решается готовыми средствами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, jenya7 said:

раньше был H-BRIDGE а теперь такой
drv_power.pdf

Ага, выбрали схему с одним измерительным каналом . Эт может оказаться фатальной ошибкой.
А мы тут недавно  обсуждали какая схема измерения токов должна быть. 
С вашей схемой вам не удасться сделать качественное векторное управление.
А только на качество вам и придется надеяться. 
Поскольку датчики у вас неподходящие, то надо будет привлекать калмановский алгоритм слияния показаний датчика с моделью отклика на приложенный момент силы.
Но если момент силы из-за некачественного измерения тока вы тоже не можете измерить, то увы... тут и матлаб не поможет.
 

   

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, AlexandrY said:

Ага, выбрали схему с одним измерительным каналом . Эт может оказаться фатальной ошибкой.
А мы тут недавно  обсуждали какая схема измерения токов должна быть. 
С вашей схемой вам не удасться сделать качественное векторное управление.
А только на качество вам и придется надеяться. 
Поскольку датчики у вас неподходящие, то надо будет привлекать калмановский алгоритм слияния показаний датчика с моделью отклика на приложенный момент силы.
Но если момент силы из-за некачественного измерения тока вы тоже не можете измерить, то увы... тут и матлаб не поможет.
 

   

а почему мы должны управлять по току?  давайте по позиции.

1 hour ago, gosha-z said:

Шаговики с энкодерами. Задача решается готовыми средствами.

тут уж извините то что есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, jenya7 said:

а почему мы должны управлять по току?  давайте по позиции.

Пробуйте, но компенсатор должен быть не 2-го порядка типа PID, а 4-5-го. 
Нет, конечно  PID устойчив по природе и вы на нем всегда сделаете затухающие колебания, но это будут дикие колебания.  
У меня так в свое время ничего не получилось. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, AlexandrY said:

Пробуйте, но компенсатор должен быть не 2-го порядка типа PID, а 4-5-го. 
Нет, конечно  PID устойчив по природе и вы на нем всегда сделаете затухающие колебания, но это будут дикие колебания.  
У меня так в свое время ничего не получилось. 

а такой подойдет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, jenya7 said:

а такой подойдет?

Нет, это сразу в утиль. Там нету даже anti-windup-а.
Дело в том что действительно есть области где примитивные PID хорошо подходят. 
Это регулировка температуры, уровня воды  и т.д. Где огромным оверсэмплингом и кучей сетпоинтов вы можете очищать сигнал обратной связи и подбирать ветви управления на ходу.
С моторам все хуже. Слишком мало времени.  

Как я сказал, только эвристики могут помочь.
Идеально нечеткую логику применить или некую облегченную нейросеть.  
А эвристики это просто подступы к нечеткой логике. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 minutes ago, jenya7 said:

тут уж извините то что есть.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

11 hours ago, AlexandrY said:

...
С моторам все хуже. Слишком мало времени.  

Как я сказал, только эвристики могут помочь.
Идеально нечеткую логику применить или некую облегченную нейросеть.  
А эвристики это просто подступы к нечеткой логике. 

Обычным PID тоже вполне удается замыкать контур положения.  При одном условии - не пытаться получить от мехники того чего она физически сделать не может. На входе от задатчика положения ставится корректирующий фильтр/формирователь траектории  который гарантирует что усилия требуемые для изменения положения не будут насыщать (выводить из линейного режима) контур тока. В таком случае привод всегда находится в следящем режиме. Естественно этот вариант применим если возмущающее воздействия со стороны нагрузки не велики.  

 

Удачи! Rob.

 

  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 часов назад, jenya7 сказал:

а почему мы должны управлять по току?  давайте по позиции.

 

Не пробовали нагрузить 1 двигатель на 10-15% больше чем второй, и подать ступенчатый сигнал задания на оба привода?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 hours ago, RobFPGA said:

Приветствую!

Обычным PID тоже вполне удается замыкать контур положения.  При одном условии - не пытаться получить от мехники того чего она физически сделать не может. На входе от задатчика положения ставится корректирующий фильтр/формирователь траектории  который гарантирует что усилия требуемые для изменения положения не будут насыщать (выводить из линейного режима) контур тока. В таком случае привод всегда находится в следящем режиме. Естественно этот вариант применим если возмущающее воздействия со стороны нагрузки не велики.  

 

Удачи! Rob.

 

 

Категорически согласен. Даже такой тупой подход работает

motor_rt_params[mot_idx1].speed -= pos_dif_control[group].pwm_delta;
motor_rt_params[mot_idx2].speed += pos_dif_control[group].pwm_delta;

а уж если мы наложим PID - вообще конфету получим. Просто AlexandrY лениться. Не хочет симулинк запускать. :))

 

более того - самый минимальный PID

motor_rt_params[mot_idx1].speed -= pos_dif * ki;
motor_rt_params[mot_idx2].speed += pos_dif * ki;

уже улучшает реакцию в разы. главное не бояться эксперементировать.

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...