ПИД-регулятор форточка
- Войдите на сайт для отправки комментариев
Пнд, 19/09/2016 - 07:59
Добрый день.
Никак не могу найти примера использования ПИД-регулятора для поддержания заданной температуры в помещении. Есть пара температурных датчиков, один в помещении, второй на улице. И в зависимости от показаний датчиков, необходимо открывать/закрывать форточку, чтобы температура помещения оставалась в заданном диапазоне.
Все примеры, которые удалось найти, работали с сервоприводом. У меня же планируется либо обычный актуатор, или даже возможно моторчик от стеклоподъемника (но не суть). Мне хочется, чтобы ПИД_регулятор мог управлять реле, а реле в свою очередь уже будет запускать привод.
В общем, друзья, подскажите или дайте совет:) спасибо
P/s ах да, Arduino Mega2560 у меня
Примеров регуляторов полно, например тут
Регулировать температуру форточкой это конечно прикольно, но тогда необходимо определится, каким образом будет произ ходить регулирование
1. Путем открытия форточки на определеный угол
2. Или открытия её полностью но на определенное время в час.
А про гарантированный расход воздуха через форточку я допустим не уверен, особенно при небольшой разнице температуры наружнего и внутреннего воздуха.
Ну и ПИД и MEGA уж тут точно ни кчему.
1 скорее у вас будет коллекторный движок, который будет вращатся то в ожну сторону, то в другую. Так что для управления мотрчиком надо это. http://www.youtube.com/watch?v=68c5HtvB8KE
http://ru.aliexpress.com/item/Free-shipping-1pcs-lot-Special-promotions-...
2 нужны конечники крайних положений окна- полностью открыто и полностью закрыто.
Вот пока таким образом начал думать реализацию открытия окна
ПИД это перебор, а вот ПИ будет в самый раз. Реализовать его в вашем случае просто - заведите переменную и накапливайте значение разности между уставкой и текущей температурой. При привышении порога интегрирования даёте команду на действие и обнуляеете накопленное значение. Важно что бы постоянная времени интегратора была больше чем у цепи цепи измерения - реакции.
Вот у Вас время открытия и закрытия окна это 10000мс предпологаю.
Тогда 10000/100=100 т.е. 1% открытия = 100мс (что конечно не совсем верно в виду того что пропускная способность форточки изменяется не линейно от угла открытия, ну да ладно, для первого приближения подойдет.
Теперь берем температуру внутри помещения и заданную, передаем их в регулятор
Регулятор возвращает необходимый % упровляющего воздействия для поддержания заданной температуры.
Если он выдал к примеру 37% то это значит что 37*100мс(1%) = 3700мс необходимо открывать форточку и запомнить этот процент. При следующем расчете необходимо из нового воздействия вычесть прошлое и также * 100мс и крутить привод уже в зависимости от знака в ту или иную сторону.
Точность механизма конечно получиться не какая, но И составляющая в итоге устранит ошибку регулирования.
В итоге современем механизм собъется изза механических потерь. Гораздо лучше использовать шаговый двигаль или серву
ПИД это перебор, а вот ПИ будет в самый раз. Реализовать его в вашем случае просто - заведите переменную и накапливайте значение разности между уставкой и текущей температурой. При привышении порога интегрирования даёте команду на действие и обнуляеете накопленное значение. Важно что бы постоянная времени интегратора была больше чем у цепи цепи измерения - реакции.
а можно поподробнее, попроще, на пальцах, с примером?
ПИД это перебор, а вот ПИ будет в самый раз. Реализовать его в вашем случае просто - заведите переменную и накапливайте значение разности между уставкой и текущей температурой. При привышении порога интегрирования даёте команду на действие и обнуляеете накопленное значение. Важно что бы постоянная времени интегратора была больше чем у цепи цепи измерения - реакции.
а можно поподробнее, попроще, на пальцах, с примером?
П- пропорцеональная составляющая, создает воздействие пропорционально ошибке регулирования
И- интегральнальная составляющая, накапливает сумму ошибок
Д- реагирует на скорость изменения ошибки регулирования
Прочитайте про регуляторы для начала.
Д- реагирует на скорость изменения ошибки регулирования
Д - это дифференциальная составляющая. Только правду! Не надо нас жалеть! )))
Д- реагирует на скорость изменения ошибки регулирования
Д - это дифференциальная составляющая. Только правду! Не надо нас жалеть! )))
Да Да! Именно диффиренциальная, или реакция на производную по времени. Учитывая что быстро охладить или нагреть воздух в квартире через маленькую дырочку форточки ну ни как не получится, то именно дифференциальная составляющая в данном регуляторе не актуальна. Пропорциональная нужна при первом включении. Остальное время будет работать только интегральная часть. В силу медленного изменения температуры.
А если использовать актуатор от спутниковых антен? или какой-нибудь моторчик шаговый от автомобиля. Нужна максимально простая реализация. Возможно ли считывать угол поворота привода? Если брать серву, то скорее всего ее усилия не хватит для открытия окна, и да, не указал в верхней теме, тут не в комнате форточка, а в теплице.
Можно организовать "медленный ШИМ форточкой" :)
Взять окно времени к примеру 20 минут (это будет период медленного ШИМ). Так если нам нужно открыть форточку на 15%(заполнение ШИМ) то значит что каждые 20 минут будем открывать её на 3 минуты, после чего закрывать.
А чтобы привод не сжеч при достижении крайних положений можно применить примерно такую схему (позволяет обойтись без датчиков конечного положения)
Недостаток - привод в постоянном движении.