Страница 1 из 3

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 09:13
GrSashek
Здравствуйте всем.
Подскажите пожалуйста, возможно-ли управлять шаговым двигателем через пид регулятор?
Есть проточный теплообменник к которому с одной стороны подходит кран холодной воды, а на другой стороне (на выходе) датчик температуры DS18B20. И вот на этом датчике нужно поддерживать заданную температуру открытием или прикрытием вентиля холодной воды на входе. Соответственно к вентилю холодной воды приделан (пришпандорен) шаговый двигатель с А4988
Здесь поискал по форуму нашёл пару блоков, но не могу приспособить их под свою задачу.

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 09:16
GrSashek
Пытался сделать без пид регулятора, так на выходе температура начинала скакать и выходила со временем за аварийные пределы.

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 09:49
pan
почему нет? какая разница каким двигателем или еще чем-то управлять

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 10:00
Sancho
GrSashek писал(а): 15 июл 2019, 09:13 (пришпандорен) шаговый двигатель
В подавляющем большинстве современных приводов Belimo для систем HVAC установлены шаговики.
При инициализации он делает тестовый ход от упора до упора, подсчитывает кол-во шагов и потом распределяет равномерно на управляющий сигнал.
Вы можете заранее подсчитать шаги и круть в соответствии с необходимостью на нужное кол-во и в нужном направлении.
Темы о шаговиках Вам однозначно помогут. Их, тем, здесь достаточно.

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 10:05
ElectronicRTC
Ваша система инерционна (медленно отрабатывающая) и для неё вовсе не нужен ПИД-регулятор.
В данном случае наверняка точность достаточно 0.5 градуса ? Если так то можете просто алгебраически распределить разницу температуры и количество шагов. Хотя по сути это и есть пропорциональный регулятор. И и Д составляющие не нужны тут во избежании колебательных процессов.

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 10:41
GrSashek
Sancho писал(а): 15 июл 2019, 10:00 Вы можете заранее подсчитать шаги и круть в соответствии с необходимостью на нужное кол-во и в нужном направлении.
Вот у меня так и работало, но
ElectronicRTC писал(а): 15 июл 2019, 10:05 система инерционна
и бывает уж очень температура переваливала за аварийные пределы.
Sancho писал(а): 15 июл 2019, 10:00 Темы о шаговиках Вам однозначно помогут. Их, тем, здесь достаточно.
Я их все достаточно хорошо изучил, но вот с пришпандориваньем блока пид регулятора к блоку шд, есть не большая проблема. А именно:
Заданна температура 45гр., на датчике 45,5, шд отработал 1 шаг на открытие, температура резко повышается и... вот здесь мои познания программирования и закончились. ШД вроде и делает ещё эННое кол-во шагов на открытие, но уже очень поздно.
Вот я и спрашиваю как или какой пид регулятор управляет шд?

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 10:56
Phazz
[ref]GrSashek[/ref], тут есть блоки ПИД которые вам нужны viewtopic.php?p=60680#p60680

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 11:11
GrSashek
Phazz писал(а): 15 июл 2019, 10:56 GrSashek, тут есть блоки ПИД которые вам нужны viewtopic.php?p=60680#p60680
:shok: :shok: :shok: :shok: Видать она мне попала промеж глаз.

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 14:57
Dev1
Есть такая вещь как термостатический смесительный клапан (пример). Выбираете под ваш расход и проходное сечение. Выставляете нужную температуру и забываете. :wizard: Использовали кучу в системах горячего водоснабжения, системах теплых полов, работает изумительно, без танцев с бубном. :senile:

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 15:07
GrSashek
Dev1 писал(а): 15 июл 2019, 14:57 Есть такая вещь как термостатический смесительный клапан (пример). Выбираете под ваш расход и проходное сечение. Выставляете нужную температуру и забываете. :wizard: Использовали кучу в системах горячего водоснабжения, системах теплых полов, работает изумительно, без танцев с бубном. :senile:
Вернуться к началу
Я понял про что Вы говорите, я поглядывал уже на этот клапан, но ещё раз повторюсь, к сожалению у меня только холодная вода. Если мы конечно говорим об одном и том же, а то по ссылке товар уже продан :smile44:

Пид регулятор к шаговому двигателю

Добавлено: 15 июл 2019, 15:55
Dev1
Мало данных, известно только проточный водонагреватель. Почему проточный а не накопительный, какие обьемы, для каких нужд... Тип ПВ, газовый, электрический... У проточного чтоб боле-мене получить стабильную температуру на выходе нужно боле-мене стабильный расход и давление ХВ на входе, причем с постоянной потребляемой мощностью на нагрев. Будет слишком малый расход на входе при большой мощности нагрева получите пар на выходе, опасно.

Пид регулятор к шаговому двигателю

Добавлено: 16 июл 2019, 03:55
GrSashek
Извините, а я про проточный водонагреватель и не говорил, я говорил про проточный теплообменник. У них немножко задачи разные. Мне можно конечно всю эту систему переделать на воздушное охлаждение, но это требует дополнительных финансовых вливаний, к чему на данном этапе я не готов.
Про давление воды на входе, это вообще не важно, она пусть хоть по капле капает - главное температура в теплообменнике должна быть постоянной. Давление воды в теплообменнике нулевое, после него в дренаж.
Я не про это. Для ШД нужен генератор, а я не могу понять что выходит с блоков пид регуляторов, у меня их уже целая куча. Пробывал штатный блок цеплять сразу к блоку ШД - не работает. Пробовал через генератор, двигатель крутит, но с постоянной скоростью и только в одну сторону, на DIR вообще не реагирует. И не зависимо от настроек Кр, просто живёт своей жизнью. Блок ШД мне предоставил Vacz, он на четыре мотора. Я его малость переделал под один, без пида он работает замечательно, а вот с ним ни в какую.

Пид регулятор к шаговому двигателю

Добавлено: 16 июл 2019, 03:56
GrSashek
Блок ШД попробую скинуть чуть-чуть попозже.

Пид регулятор к шаговому двигателю

Добавлено: 16 июл 2019, 06:07
vacz
Выложите свой проект (если не секретно). Возможно, что то нужно поправить. Блок ШД не будет реагировать на другие параметры после пуска, до завершения уже заданного значения.

Пид регулятор к шаговому двигателю

Добавлено: 16 июл 2019, 06:34
GrSashek
Да, почему секрет-нет.
Просто на отправке переменных в UART сидит экран Nextion, который категорически не хочет работать ни с генераторами, ни ШД.
Управление Вентилем (Уно).flp

Вот и пришлось вешать ещё один контролер, управляющий непосредственно ШД.

Отправлено спустя 7 минут 10 секунд:
Здесь решил для начала победить штатный блок, а затем думал подобрать уже который больше всего подходил бы к моим хотелкам. Но вот в таком единственном виде работает как было описано выше. В других вариантах двигатель пищит и всё :shok:

Пид регулятор к шаговому двигателю

Добавлено: 16 июл 2019, 14:16
vacz
Один из примеров работы блока ШД с датчиком температуры:
B.PNG
[spoiler]
pin5.PNG
t.PNG
[/spoiler]
Блок на один ШД с Pin5.
Generator.HD.pin5.mod_(CODE).ubi
вентиль.flp
Попробуйте запустить проект пока без Nextion. Когда убедитесь, что все работает можете прицепить и Nextion. (без UART. У Nextion есть свои блоки задать и получить параметр. И подключайте их с детектором изменения числа).

Пид регулятор к шаговому двигателю

Добавлено: 17 июл 2019, 15:02
GrSashek
vacz писал(а): 16 июл 2019, 14:16 Попробуйте запустить проект пока без Nextion. Когда убедитесь, что все работает можете прицепить и Nextion. (без UART. У Nextion есть свои блоки задать и получить параметр. И подключайте их с детектором изменения числа).

Запустил ка Вы посоветовали, не работает. С кнопок - крутит, а по датчику стоит.
Но я делал чтобы у меня работало по этой схеме, на экране оно работает классно, но на месте оказалось - вентилю либо не хватает шагов на реагирование, либо их очень много и мотор прямо на глазах начинает пакостить. И гистерезис делал в 2 градуса, и опрос датчика в 5-10 секунд. Температура бывало секунд за 5 на 15-20 градусов подскакивала, либо опускалась, а двигатель на фиксированных шагах не мог угнаться за ней. Я исходя из этого и пришёл к выводу, что нужен в моём случае пид регулятор.

Отправлено спустя 3 минуты 57 секунд:
Этот блок ШД который Вы мне предоставили, я так же упростил на 1 ШД для проверки.

Пид регулятор к шаговому двигателю

Добавлено: 17 июл 2019, 20:58
vacz
Попробовал в железе. Действительно, работает не корректно. Немного изменил проект. В проекте установлена температура от 32 до 33 градусов. Двигатель Nema17 с шагом 1/4. Закрывает / открывает периодически, пока температура не придет в норму. Вроде работает нормально. В проекте стоит дисплей, для проверки.
вентиль-2.flp
[bbvideo]https://youtu.be/9uBFucK0SMw[/bbvideo]

Пид регулятор к шаговому двигателю

Добавлено: 18 июл 2019, 05:29
GrSashek
Да, сейчас заработало. А можно сделать, чтобы количество шагов менялось от разницы температуры? Если разница 0 - стоим, разница 1 - 1 шаг, разница 10 - 300 шагов. Ну это так к примеру.
А дальше происходит вот что - температура повышается - делаем Н шагов, (конечно через определённое время), она все равно растёт - мы ещё делаем Н шагов на открытие. Разница температуры составляет градуса 2-2.5. Температура на датчике остановилась и составляет 35 гр. Затем 34.9, а двигатель в это время опять открывает вентиль воды на Н шагов, вместо того чтобы стоять. Затем температура 34.0 - он открывает вентиль ещё больше и... температура на датчике валится резко вниз, и составляет не 32.5, а 15, а двигатель делает Н шагов на закрытие и т.д. Разболонсировка происходит не только на повышение температуры, но так же и на понижение. И здесь должно меняться не только количество шагов но и время опроса, причём всё по гибкой системе.
Ну как то так.

Отправлено спустя 1 минуту 54 секунды:
По моему это ПИД? :smile37:

Пид регулятор к шаговому двигателю

Добавлено: 18 июл 2019, 13:03
Dev1
Смотрите график температуры при настройке ПИДа, без него сложновато понять что происходит. Да и нужно понимать как работает ПИД и что подкручивать в определенные моменты(видны будут на графике). У нас на газгольдере есть система подогрева воды как гидрозатвора чтоб зимой не замерзло. Там обогревают паром. Сами понимаете температуру пара и температуру воды держат где то 25-30. Там клапаном пара регулируют электро-задвижкой. Управляет этим контроллер импульсами. Выдает всегда 1 импульс, а вот пауза между импульсами уже зависит от разницы между заданной температурой и реальной. Средняя пауза между импульсами где то 20-30 сек., большой обьем и нужно выждать пока все перемешается. Это как альтернатива, если с ПИДом не получится. :senile: