четверг, 11 сентября 2014 г.

Гистерезис при контроле освещения, быть или не быть? Вот в чем вопрос...

Начинающий разработчик автоматики освещения довольно часто сталкивается с таким эффектом нестабильной работы фотореле, как дребезг на границе установленного порога срабатывания по освещенности. Выражается он в моргании лампы (периодическом включении-выключении нагрузки). И неважно, на микроконтроллере реализация или же чисто аналоговая схема. В случае последней можно ввести усреднение значений простой интегрирующей цепочкой на RC (простейший ФНЧ, что и делают), да и само реле (если использовано электромагнитное) обладает гистерезисом*.

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

Приведем пример типичной ошибки, избалованного Arduino-й поколения (псевдокод):
if (value >= 200) {
 // включить лампу
}
else {
 // выключить лампу
}
При этом на границе значения 200 с АЦП лампа будет моргать, ведь неизбежны флуктуации и значение будет прыгать в районе 198, 201, 200, 199, 202 и т.д. Что же делать? Конечно же усреднить значения через накопление нескольких значений во времени, либо ввести программный гистерезис. Пример:
if (value >= 200+delta) {
 // включить лампу
}
if (value <= 200-delta) {
 // выключить лампу
}
Дельта и будет определять запас по устойчивости системы, т.е. величину гистерезиса. Вот так просто.

Удачи!

Комментариев нет:

Отправить комментарий

В комментариях уважайте собеседника, внимательно читайте посты и не додумывайте. Просьбы и предложения из разряда: «можно ваш Skype/Viber/телефон», «напишите мне в vk/FB», а также другие им подобные — игнорируются. Выход новых версий ПО, внешняя ссылка, переставшая работать с течением времени и т.п. не является основанием для претензий. Желающие спокойно подискутировать и высказаться — Welcome. Желающие спонсировать блог — Donate. Нарушение этих простых правил ведет к бану и удалению комментариев без предупреждения.