Среда, 27.11.2024, 08:07
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Декабрь 2012  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 3
Гостей: 3
Пользователей: 0

Простой терморегулятор с ЖКИ

Простой терморегулятор с ЖКИ

Наш канал в YouTube


 

Предлагаемый вашему вниманию терморегулятор может найти различное применение там, где требуется поддержание температуры на определенном уровне или в заданном диапазоне температур. 

Терморегулятор имеет довольно простую схему, которая приведена на рис. 1. Он выполнен на микроконтроллере 16F676 и алфавитно-цифровом дисплее  WH-0802. Измерение температуры производится электронным цифровым датчиком DS18B20, работающим по шине 1-wire. Управление исполнительным устройством выполняет реле К1 через контакты К1.1 непосредственно или, при большой мощности исполнительного устройства, через дополнительное силовое реле (пускатель).

 

Рис. 1

 

Основой устройства является микроконтроллер 16F676. Он считывает по шине 1-wire значение температуры с датчика DS18B20, управляет алфавитно-цифровым дисплеем WH8002 и через транзисторный ключ VT1 КТ972 исполнительным реле К1. Тактирование микроконтроллера выполнено от внутреннего генератора, поэтому внешний кварцевый резонатор или RC-цепь не требуется. Резистором R6 устанавливается необходимая контрастность дисплея. Кнопки S1 и S2 служат для установки значений температуры включения/отключения. Блок питания построен по классической «трансформаторной» схеме. Конденсатор С3 необходимо разместить в непосредственной близости с выводами 1 и 14 питания микроконтроллера. Реле К1 питается от напряжения 12В, диод VD1 служит для подавления самоиндукции в момент коммутации реле.

Алгоритм работы терморегулятора в принципе ничем не отличается от других похожих устройств – электронный цифровой датчик контролирует температуру и если она становится равной значению отключения, то нагреватель отключается. Далее контролируется температура включения - при уменьшении температуры ниже заданного значения, нагреватель включается. Затем работа терморегулятора идет по замкнутому циклу.

Терморегулятор обеспечивает управление в следующем диапазоне температур:

Температура отключения (Т1) – 1…99 градусов (рис. 2)

Температура включения (Т2) - 0…98 градусов (рис. 3)

 

Теморегулятор

Рис. 2

 

Простой терморегулятор с ЖКИ

Рис. 3

 

Помимо текущего значения температуры, на дисплее так же отображается состояние реле К1 (ВКЛ - ОТКЛ).

Терморегулятор имеет два режима работы – установки и управления. Режим установки предназначен для ввода значений температур (уставок) отключения и включения реле К1. Для входа в этот режим необходимо нажать и отпустить кнопку «Ввод». На дисплее появится приглашение к вводу температуры отключения реле Т1 (рис. 4)

 

 

Рис. 4

 

С помощью кнопки «Выбор» производится выбор необходимого значения уставки. При каждом нажатии на кнопку значение увеличивается на единицу. После достижения максимального значения (99 градусов) отсчет начинается сначала (с 0 градусов). Для ввода (записи) нужного значения необходимо нажать на кнопку «Ввод» - при этом значение температуры отключения Т1 будет записано в энергонезависимую память микроконтроллера (EEPROM) и появится приглашение для ввода температуры включения (Т2). Это значение устанавливаем аналогично предыдущему значению.

Установка температуры включения имеет один важный момент – в алгоритме реализована защита от ввода значения, превышающего или равного значению температуры отключения. Другими словами, если значение температуры отключения было выбрано, допустим, 25 градусов, то диапазон ввода температуры включения будет 0…24 градуса. Этим достигается как корректная работа терморегулятора в целом, так и обеспечение необходимого гистерезиса включения/отключения.

Версия прошивки 1.1. Эта прошивка, в отличии от версии 1.0, предполагает ввод двух программ уставок температур, которые переключаются через вход "Прог". от внешних устройств. Поясню, для чего это может быть нужно. Допустим, у вас данный терморегулятор зимой управляет системой электрического обогрева дачи. Когда в доме никого, нет никакого смысла греть помещение до комфортной температуры. Достаточно поддерживать там температуру в пределах 5-10 градусов. А вот за несколько часов перед приездом на дачу можно перевести терморегулятор в другой режим температурного регулирования, например, 20-22 градуса.

Естественно, возникает логичный вопрос – а как переключить терморегулятор в другой режим, если в доме никого нет? Действительно, самый оптимальный вариант применения терморегулятора с режимом переключения программ установок температуры – это его использование в составе различных устройств удаленного управления через GSM. Ссылки на некоторые подобные устройства приведены в конце этой статьи.

В версии 1.1, в связи с введением второй программы установок температуры, дополнен режим ввода параметров. Значения Т1 и Т2 определяют температуру отключения и включения реле для первой программы, Т3 и Т4 – соответственно температуру отключения и включения реле для второй программы. Алгоритм ввода установок температуры аналогичен предыдущей версии – значения Т1 – Т4 вводятся последовательно, одна за другой. На значение уставки температуры Т4 наложено такое же ограничение, как и на Т2 – т.е. она не может быть равной или больше Т3.

Переключение программ установок температуры, как уже отмечалось, осуществляется по входу "Прог". При высоком уровне на этом входе работает первая программа уставок (Т1 - Т2), при низком уровневторая программа (Т3 - Т4).  

Печатная плата терморегулятора разрабатывалась исходя из размеров стандартного корпуса под DIN-рейку. Размещение печатной платы в корпусе приведено на рис. 5:

 

Termostat

Рис. 5

Хочу обратить ваше внимание на следующее.  Несмотря на то, что на дисплее с точностью +/- 1 градус отображается как положительная, так и отрицательная температура, корректная работа терморегулятора возможна только в диапазоне положительных температур (0…99 градусов). 

Учитывая, что термостат может использоваться как для управления нагревателем, так и для управления охладителем, дополнительно разработаны «инверсные» прошивки. Поэтому, в архиве находится четыре варианта прошивок:

  • 1.0 - под нагреватель (Т1 - отключение, Т2 - включение)
  • 1.0_inv под охладитель (Т1 - включение, Т2 - отключение)
  • 1.1 - под нагреватель с 2 группами уставок (Т1, Т3 - отключение, Т2, Т4 - включение)
  • 1.1_inv - под охладитель с 2 группами уставок (Т1, Т3 - включение, Т2, Т4 - отключение)

Версия 1.2. В архив добавлена новая версия прошивки термостата – 1.2. Эта прошивка объединяет в себе возможности версий 1.1 и 1.1_inv. Пользователь через меню самостоятельно может выбрать режим работы термостата – под нагреватель или охладитель. Выбор режима работы термостата производится аналогично вводу уставок температуры - после ввода уставок температуры Т1...Т4 необходимо кнопкой «Выбор» выбрать режим «Hot» (нагреватель) или «Frost» (охладитель). Кроме того, с целью поддержки индикаторов без «кириллического» знакогенератора, вывод информации реализован на латинском алфавите.  

 

 

Прошивка микроконтроллера, принципиальная схема, печатная плата, проект в Proteus

Обсудить на форуме

Устройство управления и контроля по GSM 

Управление нагрузками по ТФЛОП и GSM 

Управление нагрузками по радиоканалу




Категория: | Просмотров: 23028 | Добавил: Admin | Теги: термоконтроль, Терморегулятор, регулятор температуры | Рейтинг: 5.0/5 |
Всего комментариев: 50

1 2 3 »

50 Novichok  
Здравствуйте! Есть необходимость применения термостата в работе без кнопок управления и индикатора.
Где в прошивке можно задать температурный режим ? Спасибо!

49 murwiz  
Уважаемый автор. Позволил себе покопаться в исходниках версии 1.1 и нашел ошибку - в строке 564 стоит GOTO    UST_2_MIN, а должно стоять GOTO    UST_4_MIN. И еще в подпрограмме Delay_100 есть команда CLRWDT, хотя сторожевой таймер выключен.

48 vir8181  
Cкорее  не руссифицирован,так как на этом экране собирал другие устройства и тоже не все символы были русскими!

46 vir8181  
Здравствуйте!
Устройство заработало
Просто было два датчика ds18b20 один исправный второй нет-перепутал
только на индикаторе HD44780 16*2 где пишиться ОТКЛ в место буквы Л высвечивается цифра 7
а так все срабатывает на вкл и откл!

47 Admin  
Скорее всего, там не цифра 7, а "нечто похожее на 7". Это происходит, если дисплей не руссифицирован, тогда вместо русских букв, аналогов которым нет в "латинице" (типа Б, Л, Щ, Ж и т.д), он отображает "кракозяблы". Если это так, аналогичная картина должна быть и с текстом ВКЛ.
Обе прошивки из архива только что проверил, текст отображается правильно. Проверьте свой дисплей на совместимость с "кириллицей"

44 vir8181  
Собрал устройство-ПОЧЕМЕ НЕ РАБОТАЕТ ДАТЧИК температуры показывает 85 градусов(датчик исправен)
и на схеме 11 вывод куда идет?

45 Admin  
Что датчик исправен - это точно? Проверялся на другом устройстве? Используется действительно датчик DS18B20, а не DS1820 или DS18S20? Подтягивающий резистор R4 исправен?
Про вывод 11 (Упр) все есть в описании версии 1.1. Этот вход работает только с прошивкой 1.1 и предназначен для переключения на вторую программу установок температуры.

43 okzim  
В Протеусе хорошо работает ,особенно на прошивке с форума 1_0_inv.Возник вопрос в схеме.вывод 11 16f676 в протеусе через выключатель подключаеться к минусу   . Для чего этот выключатель?Есть ли прошивка под охладитель?

38 neokit  
А можно переделать прошивку так чтобы при достижении температуры например 25 градусов происходило включение нагрузки (например вентилятор), а при падении температуры например до 20 градусов выключение ? Так сказать нарушение алгоритма "Установка температуры включения имеет один важный момент – в алгоритме реализована защита от ввода этого значения, превышающего или равного значению температуры отключения. Другими словами, если значение температуры отключения было выбрано, допустим, 25 градусов, то диапазон ввода температуры включения будет 0…24 градуса." Просто нужен термостат который не греет а охлаждает, а нормальных схем не нашел зато понравилась ваша, но к сожалению паять умею а писать прошивки нет... Кстати ваша разработка "универсальный термометр" успешно работает без сбоев, спасибо.

39 Admin  
А если просто проинвертировать выходной управляющий сигнал транзистором VT1 smile
Тогда и прошивку менять не нужно, а реле будет работать "наоборот".

40 neokit  
Нет ну так то оно так)) Только дисплей будет показывать откл при включённом вентиляторе и наоборот. А вот еслиб поправить это в прошивке... да и заодно сигнал управления транзистором проинвертировать... эх мечты  smile

41 Admin  
Создал ветку на форуме, продолжим обсуждение там.

neokit, я поправил прошивку под "охлаждающий" вариант smile

42 neokit  
Огромное спасибо  up

36 dimoniy_32  
ОЧЕНЬ ХОЧЕТСЯ ПРОШИВКУ С ДЕСЯТЫМИ biggrin

37 Admin  
Я ещё раз повторюсь - это устройство не планировалось для использования с инкубатором. А если так уж нужно добавить десятые доли градуса - могу скинуть исходники, дерзайте!
Возможно, я и сам когда-нибудь сделаю это, но уж точно не в ближайшее время...

35 dimoniy_32  
Да хотел для инкубатора, родители попросили собрать. Собрал вашу схемку и хотел ее использовать.

33 dimoniy_32  
Уважаемый админ, а можно ли переделать прошивку чтобы были и десятые градусы? Собрал ваше устройство очень нравится, но десятых катастрофически не хватает.

34 Admin  
Это потребует довольно серьезных изменений в программе - т.к. помимо показаний десятых градуса, ещё нужно их и устанавливать в качестве "граничных" значений.

А для чего такая точность? Если для инкубатора - то это не совсем подходящая схема, данное устройство предназначено немного для других целей. Я дополнительно планирую здесь ввести только установку значений отрицательных температур.


1-10 11-20 21-30



T2M © 2024
Сайт управляется системой uCoz