После публикации проекта Термометр: меньше не бываетна форуме было много разных мнений о недостатках этого проекта, а так жео том, как его можно улучшить. И вот, обдумав все и пойдя навстречу пожеланиям, я размещаю новый проект Термостат: меньше не бывает.
15 вывод микроконтроллера (порт PB1) используется в качестве общего для дополнительных 3-х светодиодов. Разумеется, в этой цепи должен находиться резистор, как и в цепях выводов 5, 6 и2 исходной схемы.
Введены 3 светодиода, которые катодами (или анодами –в зависимостиот типа примененного индикатора) соединяются вместе, а другими своими концами подключаются к выводам индикатора: к сегментуА – светодиод «Т2», к сегменту«G» – светодиод «минус» и к сегменту«D» – светодиод «Т1»
К выводам контроллера 24, 25 и26 подключаются3 кнопкина общий провод: соответственно кнопки «ВЫБОР», «ПЛЮС» и «МИНУС»
Выводы контроллера 27 и28 используютсяв качестве противофазных выходов термостата
Надеюсь, этого текстового описания достаточно.
В сущности, главное, как обычно, это прошивка для контроллера, которая и реализует все новые функции. Вот полный перечень возможностей и особенностей прошивки (я говорюв единственном числе, но прошивок2 – для индикаторов с общими анодами и катодами соответственно):
Знак минус для отрицательных температур индицируется дополнительным светодиодом «МИНУС»
Функция термостата с программируемым порогом срабатывания и гистерезисом
Точность задания границ зоны гистерезиса 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 особенности:
Порог Т2 всегда должен быть больше или равен Т1
Вне зависимости от порогов, фактическое измерение ведется только от −55.0°С
Ввод некорректных порогов приведет к некорректному поведению термостата – пусть это останется на вашей совести.
Разумеется, если дополнительные элементы в схемуне вводить, то прошивка будет работать просто как термометр (с учетом того, что знак минус при отрицатеьлных температурах выводиться не будет – просто некуда при трех-то разрядах индикатора).