Термостат: меньше не бывает
Автор ARV   
25.06.2008 г.

Посвящается пользователю Toledo 

После публикации проекта Термометр: меньше не бывает на форуме было много разных мнений о недостатках этого проекта, а так же о том, как его можно улучшить. И вот, обдумав все и пойдя навстречу пожеланиям, я размещаю новый проект Термостат: меньше не бывает.

 

За основу взята схема проекта Термометр: меньше не бывает, в которую внесены следующие изменения:

  1. 15 вывод микроконтроллера (порт PB1) используется в качестве общего для дополнительных 3-х светодиодов. Разумеется, в этой цепи должен находиться резистор, как и в цепях выводов 5, 6 и 2 исходной схемы.
  2. Введены 3 светодиода, которые катодами (или анодами - в зависимости от типа примененного индикатора) соединяются вместе, а другими своими концами подключаются к выводам индикатора: к сегменту А - светодиод "Т2", к сегменту "G" - светодиод "минус" и к сегменту "D" - светодиод "Т1"
  3. К выводам контроллера 24, 25 и 26 подключаются 3 кнопки на общий провод: соответственно кнопки "ВЫБОР", "ПЛЮС" и "МИНУС"
  4. Выводы контроллера 27 и 28 используются в качестве противофазных выходов термостата

Надеюсь, этого текстового описания достаточно.

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

  • В качестве датчика используется DS18B20
  • Температура индицируется с точностью 0,1 °С
  • Знак минус для отрицательных температур индицируется дополнительным светодиодом "МИНУС"
  • Функция термостата с программируемым порогом срабатывания и гистерезисом
  • Точность задания границ зоны гистерезиса 0,1 °С
  • Диапазон измеряемых температур от -55.0°С до +99.9°С

Для нормальной работы контроллер, как и ранее, должен работать от встроенного генератора 8 МГц.

Теперь о том, как пользоваться термостатом.

Он имеет 3 режима работы: нормальный, который включается сразу после подачи питания, режим просмотра порогов (границ гистерезиса) и режим изменения порогов. Порогов, как вы понимаете, два: нижний Т1 и верхний Т2. Термостат "старабтывает в одну сторону", если температура превышает порог Т2, и переключается в "другую сторону" после того, как температура станет меньше порога Т1. Я умышленно говорю "срабатывает", т.к. термостат имеет 2 выхода, и уровни на них всегда противоположны. Если температура больше порога Т2, то вывод 27 имеет низкий логический уровень, а вывод 28 - высокий. Из этого и следует исходить, разбираясь с логикой переключений.

 

Переключение индикации происходит "по кругу" при нажатии кнопок ПЛЮС и МИНУС. В нормальном режиме мы видим текущую температуру датчика. После нажатия кнопки ПЛЮС - видим порог Т1. Очередное нажатие на ПЛЮС приведет к индикации порога Т2, а затем - снова к индикации температуры. Если нажать и удерживать любую кнопку, соответствующее действие будет повторяться раз в секнду.

Чтобы можно было отличать одини показания от других, введены дополнитиельные светодиоды Т1 и Т2, которые светятся в соответствующих вариантах индикации. При индикации температуры датчика кнопка ВЫБОР не действует, а вот при индикации Т1 или Т2 она включает режим редактирования порога, отображаемого на индикаторе. При входе в этот режим начинает мигать младший разряд индикатора (десятые доли градуса). В этом случае кнопки ПЛЮС и МИНУС приводят к изменению мигающего разряда либо на +1, либо на -1. Для перехода к следующему разряду надо нажать ВЫБОР. После установки всех трех разрядов числа нажатие кнопки ВЫБОР переключает в режим изменения знака - в этом случае должен мигать знак минус, но, т.к. мигающий минус не позволит толком понять включен он или нет, в этом случае мигать будет соответствующий светодиод Т1 или Т2, а знак (т.е. светодиод МИНУС) будет либо включаться, либо выключаться после нажатия ПЛЮС или МИНУС. Когда, наконец, порог введен полностью, следует нажать ВЫБОР последний раз - термостат переключится в режим индикации температуры, а введенное значение будет запомнено в EEPROM контроллера.

Можно задать пороги от -99.9 до +99.9, однако следует помнить важные 2 особенности:

  1. Порог Т2 всегда должен быть больше или равен Т1
  2. Вне зависимости от порогов, фактическое измерение ведется только от -55.0°С

Ввод некорректных порогов приведет к некорректному поведению термостата - пусть это останется на вашей совести.

Разумеется, если дополнительные элементы в схему не вводить, то прошивка будет работать просто как термометр (с учетом того, что знак минус при отрицатеьлных температурах выводиться не будет - просто некуда при трех-то разрядах индикатора).

Как обычно, прошивки в файлохранилище, обсуждение на форуме.

 

 


Добавить в любимые (4) | Просмотров: 64740

  Коментарии (3)
 1 Написал(а) Борис, в 18:53 30.10.2008
Уважаемый ARV! 
Собрал схему, только МК в корпусе TQFP? подкорректировал ноги и все вроде заработало, но температуру показывает градусов на 10 выше, чем обычные термометры. Подогрел паяльником, показала 105 градусов, выше греть не стал. И еще я отключил точку, она горела во втором разряде и вроде бы незачем. 
Что не так мог сделать?
 2 Написал(а) Дмитрий, в 10:25 13.11.2008
Добрый день ! 
А если отключить питание, то сохрянятся ли настройки верхнего/нижнего порога срабатывания ? Или надо будет заново программировать ? Спасибо.
 3 Написал(а) ARV, в 22:06 13.11.2008
для вопросов имеется форум

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.