И снова про регулятор мощности

bumpy
Offline
Зарегистрирован: 02.01.2017

Всех с наступившим! :)

Новогодние каникулы предоставляют немного времени поковыряться с ардуинкой, а в голове давно зреет проектик домашнего термостата для "сувида", который, по сути, ничем особо примечательным не отличается - нужно-то всего "кипятильник" небольшой мощности, термодатчик, да "мешалку" на каком-то подходящем моторчике. Целевая задача - поддерживать необходимую температуру с точностью +- 1 (лучше .5) градуса С, на заданном промежутке времени. Идеально - иметь режим быстрого выхода на нужную температуру. С учетом того, что емкость с водой будет достаточно инеционным объектом (литров 5-10, а для меньшего потребления и большей стабильности ее желательно будет накрыть крышкой и теплоизолировать), требования к скорости управления очень скромные. вначале вообще думал обойтись исполнительной цепью на простом реле, но потом подумал, что оно будет постоянно щелкать, да может залипнуть - все-таки ТЭН какая-никакая, а нагрузка. Поэтому стал копать в сторону различных ШИМ-регуляторов, но понял, что они для моей задачи несколько избыточны - ведь для ТЭНа нет смысла регулировать "внутри" полупериода питающего напряжения, гораздо "экономичнее" регулировать само наличие этих полу- (или полных) периодов. Т.е. идея такая - для уменьшения всяких паразитных напряжений, включение и выключение нагрузки делаем в начале (или конце) периода, когда питающее напряжение равно нулю. Само регулирование выполняем "пропуском" нужного количества периодов. Т.е. максимальная мощность - "открыт" каждый период, минимальная (нулевая) - закрыт каждый, промежуточные значения получаем пропуская N периодов перед открытием на P периодов. Теперь вопрос - как это реализовать, минимизируя стоимость элементной базы и обеспечивая максимальную надежность. В голову приходит схема управления на семисторе с оптоэлектронной развязкой и таким-же датчиком начала отсчета. Навскидку именно подобного решения тут не нашел, но может просто невнимательно искал. Может кто ткнет носом?

Ну или у кого есть мысли насчет правильной реализации такой исполнительной цепи, подскажите куда лучше копать?

nik182
Offline
Зарегистрирован: 04.05.2015

По включению тирристора тем много. Например http://arduino.ru/forum/programmirovanie/upravlenie-tenami-propuskom-per... . По программе можно посмотреть здесь https://github.com/br3ttb/Arduino-PID-Library/blob/master/examples/PID_RelayOutput/PID_RelayOutput.ino и вокруг.

bumpy
Offline
Зарегистрирован: 02.01.2017

О, спасибо, похоже, это то, что надо. Я правильно понимаю, что в такой реализации не нужно как-то привязываться к началу отсчета самой ардуинкой? Просто включаем на нужный период времени, а "драйвер" симистора сам включится и выключится в момент "ноля"?

Emeljanowich
Emeljanowich аватар
Offline
Зарегистрирован: 30.04.2015
nik182
Offline
Зарегистрирован: 04.05.2015

Да

uragan
Offline
Зарегистрирован: 23.02.2015

Чтобы с такой точностью поддерживать, измерять нужно в 10 раз точнее. Чем и как?

nik182
Offline
Зарегистрирован: 04.05.2015

Обычным терморезистором можно измерить до пятого знака. Если взять MCP3421.

bumpy
Offline
Зарегистрирован: 02.01.2017

uragan пишет:

Чтобы с такой точностью поддерживать, измерять нужно в 10 раз точнее. Чем и как?

Не совсем понимаю - откуда такое требование к точности измерения? В исходном сообщении я написал, что объект регулирования достаточно инерционный - при максимальной мощности, скажем ТЭН на .5 кВт будет греть 5 литров воды на 1 градус 42 секунды - есть время для регулирования :)

Собственно, датчик уже имеется - DS18B20 в "водном" исполнении: https://ru.aliexpress.com/item/1pcs-DS18B20-Stainless-steel-package-1-meters-waterproof-DS18b20-temperature-probe-temperature-sensor/32467815969.html?

uragan
Offline
Зарегистрирован: 23.02.2015

Регулирование это же некий процесс. Управляющее действие, реакция на него. А если измеритель имеет такую же точность, как и точность регулирования, то объект регулирования исчезает. 

nik182
Offline
Зарегистрирован: 04.05.2015

DS18B20 имеет разрешение 0.0625°C , что почти в 10 раз превышает требуемую ТС точность поддержания температуры.  

bumpy
Offline
Зарегистрирован: 02.01.2017

uragan пишет:

Регулирование это же некий процесс. Управляющее действие, реакция на него. А если измеритель имеет такую же точность, как и точность регулирования, то объект регулирования исчезает. 

Спорное утверждение, даже если не вдаваться в теорию управления - для того чтобы измерить длину отрезка с точностью до 1 см какая линейка подойдет? Неужели обязательно с "миллиметровой" шкалой? :)

Разрешение и чувствительность датчика может иметь решающее значение в случае ПИД-регулятора и "быстрых" процессов, когда важно вовремя учитывать скорость изменения сигнала, для чего и может потребоваться бОльшая точность датчика. В моем случае ПИ-регулятора будет "за глаза", и, соответственно, точности датчика.

uragan
Offline
Зарегистрирован: 23.02.2015

Измерить сможете. Регулировать - нет. Как можно регулировать не имея обратной связи?

bumpy
Offline
Зарегистрирован: 02.01.2017

uragan пишет:

Измерить сможете. Регулировать - нет. Как можно регулировать не имея обратной связи?

Измерение - это и есть обратная связь. Или я не понимаю о чем речь вообще...

bumpy
Offline
Зарегистрирован: 02.01.2017

Еще вдогонку - вот есть такой "классический" объект регулирования - смывной бачок унитаза. С какой точностью там происходит измерение и мешает ли это выполнять задачу регулирования уровня воды в бачке?

uragan
Offline
Зарегистрирован: 23.02.2015

Вопрос только в точности. Если уж аналог унитаз, то достигли уставки - выключили. И какая точность получится?

uragan
Offline
Зарегистрирован: 23.02.2015

.

bwn
Offline
Зарегистрирован: 25.08.2014

uragan, честно говоря, тоже не понял Ваших доводов. Задача вроде вполне решаема (разброс температур по объему оставим в стороне, не ядерный синтез чай), вроде вопрос ТС и заключается в создании обратной связи. Достигли пика - выключили, упали - включили. Максимум и минимум для включения подберет в процессе эксперимента. Система довольно медленная. ИМХО.

uragan
Offline
Зарегистрирован: 23.02.2015

См пост n1. Для чего сложности придумывать? ШИМы , пропуски периодов. Т е предполагается не просто вкл-выкл, а чем-то все таки регулировать. А информации нет.

bwn
Offline
Зарегистрирован: 25.08.2014

Но идея то в целом понятна. Я у себя подобное решал фазовым методом, температура понизилась, включили на минимум, падает или стоит на месте, добавили мощности, поднимается - греем на выбранной до достижения потолка (польза - не жрем от сети максимально доступную, если не требуется). Как то так.

bumpy
Offline
Зарегистрирован: 02.01.2017

Спасибо всем за активное обсуждение :)

Собственно, меня интересовал в первую очередь вопрос исполнительной цепи. В чем "прелесть" тиристорного ключа с включением при переходе фазы - минимальная нагрузка в этот момент (на сам ключ) и минимизаиция паразитных всплесков напряжения при включении/выключении нагрузки. Дополнительно, при таком исполнении имеем "бонусом" возможность не просто "вкл/выкл", а сделать такой "медленный" ШИМ, управляя длительностью открытия ключа кратно периодам питающего напряжения. Для того чтобы закрыть вопрос с точностью измерения - nik182​ уже уточнил, что точность выбранного датчика при 12 битном  подключении почти на порядок превышает требуемую точность регулирования, т.е. даже формально утверждение uragan о необходимости мерять в 10 раз точнее чем нужно регулировать уже выполняется. Но, исходя из моих остаточных знаний по теории автоматического управления, таких требвований к точности датчика при использовании ПИ-алгоритмов регулирования и не ставится.