jenya7 0 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 1 hour ago, yamantau said: Увидеть бы структуру электропривода. раньше был H-BRIDGE а теперь такой drv_power.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yamantau 15 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 11 минут назад, jenya7 сказал: раньше был H-BRIDGE а теперь такой drv_power.pdf Это принципиальная схема, я имел в виду структура (регуляторы, нелинейные и линейные звенья, датчики и т.д.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vervs 34 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 16 minutes ago, jenya7 said: теперь такой думаю от Вас не схему хотели... поясните что приводится в движение вашими моторами - прокатный стан, полноприводный элетромобиль, стол станка? тогда будет легче понять как выравнять скорость, может достаточно выравнять нагрузку Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 6 июня, 2019 Опубликовано 6 июня, 2019 (изменено) · Жалоба 1 hour ago, vervs said: думаю от Вас не схему хотели... поясните что приводится в движение вашими моторами - прокатный стан, полноприводный элетромобиль, стол станка? тогда будет легче понять как выровнять скорость, может достаточно выравнять нагрузку две такие телескопические колодки связанные балкой. нагрузка жестко привинчена. более точно выглядит так - два столбика двигаются вверх вниз а посредине экран. поэтому любой перекос чувствителен. как ни крути тут нужен хороший алгоритм. Изменено 6 июня, 2019 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 24 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба Есть некоторая предельная величина перекоса, на сколько могут быть рассогласованы положения. Каждый сервоконтур должен держать заданную траекторию с точностью не хуже этой величины. Это будет означать, что вся работа регуляторов будет происходить в диапазоне этой предельной величины перекоса. Соответственно датчики положения нужны такие чтобы в этом диапазоне обеспечить измерение с приемлемой для регулирования точностью. Но в вашем случае, похоже нужно начать с того, чтобы убрать эту нечеткую логику "он двигается быстрей – я его притормаживаю а второй ускоряю ...". Алгоритмы и код здесь только инструмент, регулятор ведь может быть и аналоговым. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 5 hours ago, jenya7 said: две такие телескопические колодки связанные балкой. Шаговики с энкодерами. Задача решается готовыми средствами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 5 hours ago, jenya7 said: раньше был H-BRIDGE а теперь такойdrv_power.pdf Ага, выбрали схему с одним измерительным каналом . Эт может оказаться фатальной ошибкой. А мы тут недавно обсуждали какая схема измерения токов должна быть. С вашей схемой вам не удасться сделать качественное векторное управление. А только на качество вам и придется надеяться. Поскольку датчики у вас неподходящие, то надо будет привлекать калмановский алгоритм слияния показаний датчика с моделью отклика на приложенный момент силы. Но если момент силы из-за некачественного измерения тока вы тоже не можете измерить, то увы... тут и матлаб не поможет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 1 hour ago, AlexandrY said: Ага, выбрали схему с одним измерительным каналом . Эт может оказаться фатальной ошибкой. А мы тут недавно обсуждали какая схема измерения токов должна быть. С вашей схемой вам не удасться сделать качественное векторное управление. А только на качество вам и придется надеяться. Поскольку датчики у вас неподходящие, то надо будет привлекать калмановский алгоритм слияния показаний датчика с моделью отклика на приложенный момент силы. Но если момент силы из-за некачественного измерения тока вы тоже не можете измерить, то увы... тут и матлаб не поможет. а почему мы должны управлять по току? давайте по позиции. 1 hour ago, gosha-z said: Шаговики с энкодерами. Задача решается готовыми средствами. тут уж извините то что есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба Just now, jenya7 said: а почему мы должны управлять по току? давайте по позиции. Пробуйте, но компенсатор должен быть не 2-го порядка типа PID, а 4-5-го. Нет, конечно PID устойчив по природе и вы на нем всегда сделаете затухающие колебания, но это будут дикие колебания. У меня так в свое время ничего не получилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 1 hour ago, AlexandrY said: Пробуйте, но компенсатор должен быть не 2-го порядка типа PID, а 4-5-го. Нет, конечно PID устойчив по природе и вы на нем всегда сделаете затухающие колебания, но это будут дикие колебания. У меня так в свое время ничего не получилось. а такой подойдет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 6 minutes ago, jenya7 said: а такой подойдет? Нет, это сразу в утиль. Там нету даже anti-windup-а. Дело в том что действительно есть области где примитивные PID хорошо подходят. Это регулировка температуры, уровня воды и т.д. Где огромным оверсэмплингом и кучей сетпоинтов вы можете очищать сигнал обратной связи и подбирать ветви управления на ходу. С моторам все хуже. Слишком мало времени. Как я сказал, только эвристики могут помочь. Идеально нечеткую логику применить или некую облегченную нейросеть. А эвристики это просто подступы к нечеткой логике. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба 29 minutes ago, jenya7 said: тут уж извините то что есть. Становится интересным, сколько грабель вы соберете на том пути, который CNCшники прошли уже вечность назад... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 6 июня, 2019 Опубликовано 6 июня, 2019 · Жалоба Приветствую! 11 hours ago, AlexandrY said: ... С моторам все хуже. Слишком мало времени. Как я сказал, только эвристики могут помочь. Идеально нечеткую логику применить или некую облегченную нейросеть. А эвристики это просто подступы к нечеткой логике. Обычным PID тоже вполне удается замыкать контур положения. При одном условии - не пытаться получить от мехники того чего она физически сделать не может. На входе от задатчика положения ставится корректирующий фильтр/формирователь траектории который гарантирует что усилия требуемые для изменения положения не будут насыщать (выводить из линейного режима) контур тока. В таком случае привод всегда находится в следящем режиме. Естественно этот вариант применим если возмущающее воздействия со стороны нагрузки не велики. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yamantau 15 7 июня, 2019 Опубликовано 7 июня, 2019 · Жалоба 9 часов назад, jenya7 сказал: а почему мы должны управлять по току? давайте по позиции. Не пробовали нагрузить 1 двигатель на 10-15% больше чем второй, и подать ступенчатый сигнал задания на оба привода? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 7 июня, 2019 Опубликовано 7 июня, 2019 (изменено) · Жалоба 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; уже улучшает реакцию в разы. главное не бояться эксперементировать. Изменено 7 июня, 2019 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться