Вопрос чайника о PID регуляторе
- Войдите на сайт для отправки комментариев
Пнд, 26/04/2021 - 21:44
В общих чертах разобрался с ПИД-регулированием. Но в тех статьях речь идёт о бинарном управлении нагрузкой (включение/отключение ТЭНа, включение-выключение двигателя постоянного тока и т.д.).
Самостоятельно написать библиотеку ума не хватает, но в сети множество готовых решений, например, GyverPID
У меня же задача стоит регулировать нагрузку диммером. В общих чертах: двигатель переменного тока при срезанной синусоиде на входе пропорционально сбавляет обороты, а для срезания синусоиды имеется готовый модуль от RobotDyn
Укажите направление, как управлять нагрузкой единицей и нулём, а числом от 0 до 100. Готовое решение не обязательно.
Благодарю.
В общих чертах разобрался с ПИД-регулированием. Но в тех статьях речь идёт о бинарном управлении нагрузкой (включение/отключение ТЭНа, включение-выключение двигателя постоянного тока и т.д.).
что-то вы не те статьи читали. В теории как раз говорится, что если у вас нет плавного управления ("бинарное регулирование") - то ПИД вообще не применим.
То есть в любой статье и любом примере ПИД должно быть плавное управление
например, GyverPID
готовьтесь с библой от Гайвера получить кучу непоняток никакой поддержки - у него много ошибок и глюков
У меня же задача стоит регулировать нагрузку диммером.
диммер - это Фазо Импульсная Модуляция ФИМ
обратная связь есть? Задача не простая но и не супер сложная,
Укажите направление, как управлять нагрузкой единицей и нулём, а числом от 0 до 100.
разделите период на 100 частей и пропорционально изменяйте ФИМ, но там готовьтесь нарваться на нелинейность зависимости оборотов от этих частей фазы периода.
поищите что-нибудь про тиристорное управление двигателем от стиральной машины.
Посоветую переводную статью с нашего форума
http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/etyudy-dlya-pesochnitsy-teoriya-upravleniya-i-regulyatory#comment-512054
не все гладко написано, но на мой взгляд полезно. Там и примеры есть.
И оттуда же - "Обязательным условием применимости ПИД-регулирования является непрерывный (аналоговый) характер входных и выходных сигналов"
А где вы в своих статьях увидали, что ПИД применяют к системам. управляемым в режиме "ВКЛ- ВЫКЛ" - я не знаю. Похоже, это были не очень правильные статьи
что-то вы не те статьи читали. В теории как раз говорится, что если у вас нет плавного управления ("бинарное регулирование") - то ПИД вообще не применим.
То есть в любой статье и любом примере ПИД должно быть плавное управление
Ох, запутался. Надо будет завтра на свежую голову перечитать о PID-регуляторах, а то у меня, наверное, каша в голове. Да и существующие PID регулируют температуру бойлера через твердотельное реле - никакой плавности там нет (у реле всего 2 состояния)
Ох, запутался. Надо будет завтра на свежую голову перечитать о PID-регуляторах, а то у меня, наверное, каша в голове. Да и существующие PID регулируют температуру бойлера через твердотельное реле - никакой плавности там нет (у реле всего 2 состояния)
если регулировать через ШИМ или ФИМ - можно и через реле получить условно-непрерывный выходной сигнал
Ну какие нахрен гуверы !? Вам гитхаб забанили что ли? Чего вы всякую чепуху по помойкам собираете ?
https://github.com/br3ttb/Arduino-PID-Library
Все просто , в базе пид получает аналоговую величину на вход и отдает аналог на выход. Когда на выходе нельзя задать аналоговое значение, за такое значение принимают значение - время пока вход активен/не активен. По сути регулируем продолжительность наличия активного значения на выходе. Когда вы внимательно прочитаете что я написал вы поймете, что на самом деле это тот же шим, но мееееееедленный , как прибалт. На самом деле тут уже математика, бесконечности и прочее вылезают. То что медленно для человека быстро для улитки, а то что для человека быстро для мухи медленно.
Попробуйте ответить на вопрос 1сек включено + 1 сек выключено это бинарное управление или шим ? А 0.000001 секунду включено + 0.000001 секунду выключено это бинарное или шим ? Все конечно условно и этот ваш термин "бинарное управление" нужно писать в кавычках ибо в разных условиях это бцдет иметь совершенно разный смысл.
Не с проста существует термин "медленный шим" , он для вас :)
Укажите направление, как управлять нагрузкой единицей и нулём, а числом от 0 до 100.
разделите период на 100 частей и пропорционально изменяйте ФИМ, но там готовьтесь нарваться на нелинейность зависимости оборотов от этих частей фазы периода.
поищите что-нибудь про тиристорное управление двигателем от стиральной машины.
[/quote]
Посоветую переводную статью с нашего форума
http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/etyudy-dlya-pesochnitsy-teoriya-upravleniya-i-regulyatory#comment-512054
не все гладко написано, но на мой взгляд полезно. Там и примеры есть.
И оттуда же - "Обязательным условием применимости ПИД-регулирования является непрерывный (аналоговый) характер входных и выходных сигналов"
А где вы в своих статьях увидали, что ПИД применяют к системам. управляемым в режиме "ВКЛ- ВЫКЛ" - я не знаю. Похоже, это были не очень правильные статьи
Спасибо.
если регулировать через ШИМ или ФИМ - можно и через реле получить условно-непрерывный выходной сигнал
Это мысль. Но как это отразится на сроке жизни двигателя (двигатель с пусковым конденсатором)?
если регулировать через ШИМ или ФИМ - можно и через реле получить условно-непрерывный выходной сигнал
Это мысль. Но как это отразится на сроке жизни двигателя (двигатель с пусковым конденсатором)?
слыша ли про частотные преобразователи???? вот на пример веспер
есть и китайские вполне рабочие.
перевяжите обмотки двигателя на треугольник 220В + частотник и будет вам и двигателю счастье.
Попробуйте ответить на вопрос 1сек включено + 1 сек выключено это бинарное управление или шим ? А 0.000001 секунду включено + 0.000001 секунду выключено это бинарное или шим ?
И там и там "условно-бинарное управление". А модулю нужно значение в процентах, т.е., "условно-аналоговое", т.е., подаём ему значение 50, он срезает 50% синусоиды, двигатель крутится медленно, что даёт возможность поддерживать низкие обороты, что в свою очередь поддерживает постоянное давление.
перевяжите обмотки двигателя на треугольник 220В + частотник и будет вам и двигателю счастье.
Этот совет точно не для меня и не для других новичков.
что в свою очередь поддерживает постоянное давление.
так вам насосом воды управлять? поди автономку делаете?
или купляйте готовое решение или движок в перемотку под 3 фазы треугольник и цепляйте частотник - там уже все готовое и датчик давление можно прилепить и мозг не сломаешь и надежность хорошая.
Ребята, всем спасибо, за полчаса обсуждения накидали мне дельных советов. Всем всех благ, буду разбираться, ставить эксперименты, надеюсь, если остановлюсь на ШИМ-управлении, это не спалит двигатель, а твердотельное реле включает-отключает нагрузку в момент пересечения синусоидой нуля.
перевяжите обмотки двигателя на треугольник 220В + частотник и будет вам и двигателю счастье.
Этот совет точно не для меня и не для других новичков.
двигатель вам перевяжут в любой моточной ремонтной организации (ну почти, не все мотают мелочь) - я сдавал и мне перематывали.
это решение как раз для новичков - то, что вы хотите на порядки сложнее, т.к. вы вообще не в теме.
что в свою очередь поддерживает постоянное давление.
так вам насосом воды управлять? поди автономку делаете?
Поставил сам себе задачу: мне надо своими мозгами (пусть и с подсказками) дойти, а не готовое решение покупать. Нужно очень быстро регулировать давление без смены обмоток.
Я уже сделал это иным способом: двигатель включён постоянно, а сервопривод чуть приоткрывает вентиль, сбрасывая давление обратно в бак с водой, но это решение не считаю элегантным. Другое дело - регулировка оборотов.
Поставил сам себе задачу: мне надо своими мозгами (пусть и с подсказками) дойти, а не готовое решение покупать. Нужно очень быстро регулировать давление без смены обмоток.
пока не избавитесь от конденсатора - надежность системы будет очень печальная.. или моментоскоростная характеристика мотор-насоса будет ужасная, да и реактивка в системе будет чуть ли не зашкаливать.
пробуйте скрестить датчик давления (аналоговый), диммер (аналоговый), а ардуино пусть аварийные режимы регистрирует и отключает по необходимости.
только тиристоры закажите (на димер), думаю их может много понадобиться ... я даже не понимаю какой там снаббер нужно ставить...
Буквально на той неделе мне в голову пришла мысль пропорционального управления ТЭНом, при котором коммутация отключается вблизи целевого значения (за 50%, за 25%, за 12.5%, за 6.25% и т.д.), а дальше инерция делает своё дело, думаю применить этот же метод, только не отключать коммутацию, а подавать на модуль диммера уменьшенное значение.
Есть такой параметр - постоянная времени системы тау. Всё что в е раз быстрее - для системы быстро. Соответственно с медленно. То сюда и надо брать минимальный период ШИМ, что бы иметь теоретическую возможность применить ПИД. Реальность как всегда грубее. Что бы нормально настроить, минимальный период ШИМ должен быть раз в 10 меньше тау. Поэтому для нагрева воды и нагрева воздуха минимальна частота ШИМ будет разная.
Буквально на той неделе мне в голову пришла мысль
на форуме есть очень интересная тема - найдите время ее прочитать "не по диагонали" а вдумчиво.
ну хотя бы 100 первых постов - для общего развития, там ооочень много полезной информации среди мусора - вам будет полезно, ну и улыбнетесь :))))
Буквально на той неделе мне в голову пришла мысль
на форуме есть очень интересная тема - найдите время ее прочитать "не по диагонали" а вдумчиво.
ну хотя бы 100 первых постов - для общего развития, там ооочень много полезной информации среди мусора - вам будет полезно, ну и улыбнетесь :))))
А к чему это? Моя система нагрева как минимум на порядок менее точная, чем запросы автора.
А к чему это? Моя система нагрева как минимум на порядок менее точная, чем запросы автора.
я и говорю, вникнуть и посмеяться, но там есть замечательная строчка у автора, одна из:
В режиме ПИД греть неэффективно, долго. Поэтому сначала грею на полную.
и вопрос
Но как это отразится на сроке жизни двигателя (двигатель с пусковым конденсатором)?
вы уверены, что там пусковой конденсатор, а не рабочий? или там 2 конденсатора пускавой и рабочий? или там 2 обмотки пусковая и рабочая (как в холодильнике)
и вопрос
Но как это отразится на сроке жизни двигателя (двигатель с пусковым конденсатором)?
вы уверены, что там пусковой конденсатор, а не рабочий? или там 2 конденсатора пускавой и рабочий? или там 2 обмотки пусковая и рабочая (как в холодильнике)
Не уверен, конечно, но в среде использующих этот мотор конденсатор на нём принято называть пусковым.
Не уверен, конечно, но в среде использующих этот мотор конденсатор на нём принято называть пусковым.
1) вариантов управления 2 ФИМ и ШИМ
2) рекомендую использовать ШИМ с детектором 0 т.к. в системе есть конденсатор - это уменьшит реактивку
по данной теме была аналогичная задача недавно, прочитайте эту тему
за такие моторы ничего конкретного не скажу, но думаю что там обычный мотор с треугольником под фазосдвигающий конденсатор, сомневаюсь, что там внутри есть реле.
а пусковым его ошибочно называют, так как он без него не запускается :)))))))))
и не обращайте внимание, что там помпа вибрационная - рассуждения и ход решения близки или одинаковые.
UPD
если бы все было так просто, не появились бы ни частотные преобразователи, ни коллекторные двигатели как на стиральных машинах.
Не уверен, конечно, но в среде использующих этот мотор конденсатор на нём принято называть пусковым.
1) вариантов управления 2 ФИМ и ШИМ
2) рекомендую использовать ШИМ с детектором 0 т.к. в системе есть конденсатор - это уменьшит реактивку
по данной теме была аналогичная задача недавно, прочитайте эту тему
за такие моторы ничего конкретного не скажу, но думаю что там обычный мотор с треугольником под фазосдвигающий конденсатор, сомневаюсь, что там внутри есть реле.
а пусковым его ошибочно называют, так как он без него не запускается :)))))))))
и не обращайте внимание, что там помпа вибрационная - рассуждения и ход решения близки или одинаковые.
UPD
если бы все было так просто, не появились бы ни частотные преобразователи, ни коллекторные двигатели как на стиральных машинах.
Моя тема. В итоге стал управлять вибронасосом обычным включением/отключением на короткий промежуток (как на картинке ниже).
PID регулирование, как впрочем и любое регулирование, требует ОДНОЗНАЧНОЙ обратной связи и одинаковых временных промежутков измерений. На Вашем месте я бы сосредоточился на выполнении этих задач. И выбрал бы пока только P (пропорциональное) управление из всего PID. Оно проще программируется и отслеживается. Если процессы будут не очень быстрые - этого хватит, нет - добавите интегральную и дифференциальную составляющие. Но выполнение первых двух требований необходимо для управления.
PID регулирование, как впрочем и любое регулирование, требует ОДНОЗНАЧНОЙ обратной связи и одинаковых временных промежутков измерений. На Вашем месте я бы сосредоточился на выполнении этих задач. И выбрал бы пока только P (пропорциональное) управление из всего PID. Оно проще программируется и отслеживается. Если процессы будут не очень быстрые - этого хватит, нет - добавите интегральную и дифференциальную составляющие. Но выполнение первых двух требований необходимо для управления.
Обратная связь, конечно, есть - это манометр (иначе - тензодатчик давления).
Да, надо собрать П-регулятор и посмотреть, а может, оно и так будет нормально работать, тем более, с гидросистемой отклик почти мгновенный.
Не уверен, конечно, но в среде использующих этот мотор конденсатор на нём принято называть пусковым.
1) вариантов управления 2 ФИМ и ШИМ
2) рекомендую использовать ШИМ с детектором 0 т.к. в системе есть конденсатор - это уменьшит реактивку
по данной теме была аналогичная задача недавно, прочитайте эту тему
за такие моторы ничего конкретного не скажу, но думаю что там обычный мотор с треугольником под фазосдвигающий конденсатор, сомневаюсь, что там внутри есть реле.
а пусковым его ошибочно называют, так как он без него не запускается :)))))))))
и не обращайте внимание, что там помпа вибрационная - рассуждения и ход решения близки или одинаковые.
UPD
если бы все было так просто, не появились бы ни частотные преобразователи, ни коллекторные двигатели как на стиральных машинах.
Наступили выходные, и я решил вернуться к своему проекту. Как всегда теория и практика диаметрально противоположны и обрыв синусоиды менее чем на 0.5 сек, скажем, на 100мс, приводит к дёрганью двигателя и работе при низкой нагрузке, когда нагрузка возрастает, обрыв синусоиды на 0.1с и новый пуск приводит к заклиниванию двигателя.
То есть, этот вариант применим к упомянутой вами теме http://arduino.ru/forum/programmirovanie/dimmer-peremennogo-toka-ac-dimmer-rbddimmer , к вентилятору или электрическому точилу с большим маховиком, но никак не применим к вопросу регулирования оборотов, когда двигатель останавливается как только выключаешь питание.
с PID всегда так, как только слышишь это слово чувствуется какая-то недосказанность )))
Ну с двигателями так, обычно их таки ШИМят относительно высокой частотой. Не знаю как правильно "обрывать синусоиду" в данном случае, но 0.1 и 0.5с грубовато выглядит.
В системе с реактивными компонентами и малой инерцией вращения считать нужно очень серьезно - проще было на практике убедиться. Конечно можете попробовать еще с ФИМ поиграться, но думается мне, что и в этом случае ничего хорошего не светит. Конденсатор в системе - это очень сложно, учитывая что двигатель индуктивность.
Зато получил опыт. И он показал, что моя система имеет право на жизнь с другим двигателем и только с P-регулятором, I и D составляющие не нужны (время отклика - мгновенное), а диммировать моим способом однофазный асинхронный двигатель можно только без нагрузки.
что в свою очередь поддерживает постоянное давление.
так вам насосом воды управлять? поди автономку делаете?
или купляйте готовое решение или движок в перемотку под 3 фазы треугольник и цепляйте частотник - там уже все готовое и датчик давление можно прилепить и мозг не сломаешь и надежность хорошая.
Вы пишете про готовое решение. Ок, перемотать двигатель под 3 фазы - это не проблема, а лишь затраты, сделаю.
А как быть с частотником? Есть ли что-то готовое, генерирующее 3 фазы и частоту от 10 до 50 Гц?
Под готовым вы имеете в виду на ардуино ? Что то попадается "arduino variable frequency inverter three phase"
Под готовым вы имеете в виду на ардуино ? Что то попадается "arduino variable frequency inverter three phase"
Код - это другое. Я сейчас об электронике.
А как быть с частотником? Есть ли что-то готовое, генерирующее 3 фазы и частоту от 10 до 50 Гц?
я себе покупал в китае - это если подешевле. ВЕСПЕР - E5-8200, ставил другую линейку, впечатления самые хорошие.
Спасибо.