Двухканальный термостат, терморегулятор на ATmega8

Admin 19.01.2016

Доброго дня уважаемые друзья!
Приветствую Вас на сайте «Мир микроконтроллеров»


Двухканальный термостат, терморегулятор
на ATmega8 и DS18B20

Данное устройство — двухканальный термометр, термостат, терморегулятор собран на микроконтроллере ATmega8 и цифровых датчиках температуры DS18B20. Вся информация выводится на два трехразрядных семисегментных светодиодных индикатора. Эта статья завершает цикл статей с использованием микроконтроллера ATmega8 совместно с датчиками температуры DS18B20 (простой термометр, двухканальный термометр) с выводом информации на семисегментные индикаторы. В дальнейшем, мы конечно будем еще использовать датчики DS18B20 и микроконтроллер ATmega8, но уже с другими индикаторами.

Двухканальный термостат, терморегулятор на ATmega8 и DS18B20


Некоторые пояснения к некоторым понятиям.
1. Под словом «термостат» подразумевается способность устройства поддерживать определенную температуру
2. Под словом «терморегулятор» подразумевается способность устройства поддерживать температуру в определенных границах
3. Это условное разделение


Описание и характеристики двухканального термостата (терморегулятора) на ATmega8 и DS18B20

Контроль температуры осуществляется двумя датчиками температуры DS18B20 — на каждый канал свой датчик. По результатам измерения температуры датчиками устройство управляет двумя каналами управления, с подключенными к ним нагрузками, в соответствии с предварительными установками.

Каналы идентичны, каждый канал может работать в следующих режимах:
1. Поддержание определенной температуры (для положительной — только режим «нагрев», для отрицательной — только режим «охлаждение»)
2. Поддержание температуры в определенных границах (положительной, отрицательной, смешанной для режимов «нагрев» и «охлаждение»)
3. Однократный нагрев до определенной температуры, однократное охлаждение до определенной температуры (запуск режима осуществляется вручную)

Шаг установки температуры — 1 градус, чего вполне достаточно. Делать шаг в 0,1 градуса, при точности датчика +-0,5ºС, мне кажется особого смысла нет. А если еще изменение температуры происходит с достаточно большой скоростью, то датчик просто не будет успевать отслеживать текущую температуру с точностью до 0,1.

Диапазон установки температур включения и выключения нагрузки:
— положительная — до +99ºС
— отрицательная — до -50ºС
Включение нагрузки происходит высоким уровнем с вывода порта микроконтроллера, выключение — низким уровнем.
Двухканальный термометр с диапазоном измерения текущей температуры от -55ºС до +125ºС с разрешающей способностью:
— положительные температуры до 99ºС — 0,1 градуса, свыше 99 градусов — до одного градуса
— отрицательные температуры до -9,9ºС — 0,1 градуса, ниже -9,9 градуса — до одного градуса
Период измерений температуры — около 1 сек.
Устройство управляется тремя кнопками
Отключение канала производится путем записи нулевых установок включения и выключения канала
Питание устройства осуществляется от стабилизированного источника напряжением 5 вольт

При возникновении ошибки в работе с датчиком соответствующий номер ошибки выводится на индикатор, а нагрузка отключается:
Еr.1 — нет высокого уровня на линии DQ
Er.2 — нет импульса присутствия от датчика
Er.3 — не восстановлен высокий уровень на линии DQ после импульса присутствия
К сожалению, из-за необходимости организации динамической индикации шести разрядов индикаторов, пока не удалось решить проблему с проверкой кода CRC. Пока эта проблема решена наполовину — проверку СRC возможно проводить, и даже, если не приглядываться, мерцание индикаторов незаметно, но полностью пока она не решена. В данной программе проверки кода CRC нет. Если удастся ввести проверку CRC, то обязательно будет выложена новая программа.
В случае зависания программы сработает сторожевой таймер и микроконтроллер будет перезагружен. Перезагрузка не повлияет на работу устройства, за исключением — будут отключены нагрузки при использовании режима однократного нагрева/охлаждения

В абсолютном большинстве термостатов, «гуляющих» на просторах интернета, заложен следующий алгоритм работы:
— выставляется контрольная температура
— выставляется гистерезис
— выбирается режим работы — или «нагрев», или «охлаждение»

В этом устройстве алгоритм построен немного иначе (мне кажется, что так практичней и удобней):
— выставляется температура включения нагрузки
— выставляется температура выключения нагрузки
— и все

В чем плюсы (на мой взгляд) такого алгоритма:
1. Если нам надо, к примеру, поддерживать температуру в пределах 22-25ºС, то именно эти значения мы и выставляем, не надо искать «центр» и высчитывать величину гистерезиса
2. Режим работы — «нагрев» или «охлаждение» устройством выбирается автоматически, исходя из логики установленных значений включения и выключения нагрузки, к примеру:
— если температура включения +20ºС, а выключения +25ºС, то, естественно выбирается режим «нагрев»
— если температура включения +5ºС, а выключения -10ºС, то, естественно, выбирается режим «охлаждение»

Схема двухканального термостата, терморегулятора на ATmega8:

Схема двухканального термостата, терморегулятора на ATmega8 и Ds18B20
Схема аналогична схеме двухканального термометра. Добавлены три кнопки для управления устройством, выводы микроконтроллера РС3 и РС4 подключаются к блокам управления нагрузками (первому и второму соответственно). На схеме блоки управления не раскрыты, о них мы поговорим в конце статьи.


Программа двухканального термостата (терморегулятора) на ATmega8 и DS18B20

Микроконтроллер ATmega8 (с любыми буквенными обозначениями) с внутренней тактовой частотой 8 МГц.
Алгоритм программы реализован на прерываниях от таймеров-счетчиков Т0 (рабочий режим) и Т2 (режим установки порогов включения/выключения нагрузки).
При включении устройства происходит настройка необходимых данных, загрузка данных из EEPROM, предделители таймеров устанавливаются в СК/64, прерывания от таймеров — по переполнению (период 2 мс).
Разрешается прерывание от таймера Т0, разрешается глобальное прерывание.
Далее, по прерыванию от таймера Т0:
— происходит считывание данных с датчиков DS18B20 и вывод текущей температуры на индикаторы
— сравнение текущей температуры от датчиков со значениями установленных порогов включения/выключения
— управление нагрузками (включение/выключение)
— опрос кнопок
При нажатии на кнопку «Выбор»:
— запрещается прерывание от таймера Т0
— разрешается прерывание от таймера Т2
Далее, по прерыванию от таймера Т2:
— опрос кнопок
— установка порогов включения/выключения для двух каналов
— запись данных установок в EEPROM
— после установки порогов включения/выключения — аппаратный сброс
Далее — по кругу.


Управление двухканальным термостатом (терморегулятором) на ATmega8 и DS18B20

Управление устройством осуществляется тремя кнопками:
1. «Выбор»
— переход в режим установки порогов включения/выключения каналов
— выбор очередного пункта меню установки порогов включения/выключения каналов
— аппаратный сброс (автоматически, после установки порогов)
2. «+» — увеличение показаний (принудительное включение первого канала в режиме однократного нагрева\охлаждения)
3. «-» — уменьшение показаний (принудительное включение второго канала в режиме однократного нагрева\охлаждения)
При однократном нажатии кнопок №2 и №3 происходит изменение показаний на 1 градус, при длительном нажатии — автоматическое увеличение/уменьшение показаний на 1 градус с приемлемой периодичностью
При первоначальном включении устройства в установках порогов включения/отключения нагрузки записаны нули. При повторном включении устройства, в режиме установки порогов будут высвечиваться ранее записанные установки.


1. Режим термостатирования

В этом режиме необходимо установить одинаковые параметры включения и отключения нагрузки.
При этом надо учитывать, что поддержание температуры в положительном диапазоне температур осуществляется в режиме «Нагрев».
К примеру, нам надо, на нагрузке №1 поддерживать постоянную температуру +45ºС. Выставляем температуру включения и температуру выключения 45ºС.
Если температура ниже установленного значения, устройство включит нагрузку. При достижении температуры +45ºС, устройство отключит нагрузку. При «попытке» температуры опуститься ниже +45ºС (на 0,1 градуса) устройство включит нагрузку. При достижении температуры +45ºС устройство выключит нагрузку.
Поддержание температуры в отрицательном диапазоне осуществляется в режиме «Охлаждение».
К примеру, нам надо, на нагрузке №2 поддерживать постоянную температуру -7ºС. Выставляем температуру включения и выключения нагрузки -7ºС.
Если температура выше -7ºС (к примеру +1 градус) устройство включит нагрузку. При достижении температуры -7ºС, устройство отключит нагрузку. При увеличении температуры на 0,1 градус (-6,9ºС) нагрузка будет включена.

Алгоритм установки режима термостатирования


2. Режим терморегулирования

В этом режиме выбор режима «Нагрев» или «Охлаждение» осуществляется автоматически
Пример:
1. Допустим, нам необходимо поддерживать температуру в помещении путем его нагрева в пределах от +18ºС, до +21ºС:
— устанавливаем температуру включения +18ºС
— устанавливаем температуру выключения +21ºС
Устройство автоматически определяет, что выбран режим «Нагрев», при этом:
— если температура выше +21ºС, нагрузка будет выключена, при опускании температуры до +18ºС — устройство включит нагрузку, а при достижении температуры +21ºС — выключит нагрузку, далее по кругу
— если температура ниже +18ºС — устройство включит нагрузку, при повышении температуры до +21ºС — устройство выключит нагрузку, при опускании температуры до +18ºС — устройство включит нагрузку, далее — по кругу
2. Допустим, нам необходимо поддерживать температуру в холодильной установке путем охлаждения в пределах от -4ºС, до -6ºС
— устанавливаем температуру включения -4ºС
— устанавливаем температуру выключения -6ºС
Устройство автоматически определяет, что выбран режим «Охлаждение», при этом:
— если температура ниже -6ºС ( к примеру -8ºС), нагрузка будет выключена, при повышении температуры до -4ºС — устройство включит нагрузку, при достижении температуры -6ºС — устройство выключит нагрузку
— если температура выше -4ºС, устройство включит нагрузку, при понижении температуры до -6ºС — устройство отключит нагрузку, при достижении температуры -4ºС — нагрузка будет включена, далее — по кругу

Если один из температурных порогов будет в отрицательном диапазоне температур а второй в положительном, то все равно режим «Нагрев» или «Охлаждение» будет определятся автоматически и устройство будет работать по описанным выше алгоритмам.

Алгоритм установки режима терморегулирования


3. Режим однократного нагрева/охлаждения до определенной температуры

Не всегда необходимо поддерживать постоянную температуру. К примеру, необходимо утром и вечером нагревать воду в самодельном титане (или в титане с неисправным блоком управления) до определенной температуры, или что-то периодически охлаждать. Данный режим как раз пригодится в таких случаях.
1. Допустим, на нагрузке №1, нам необходимо периодически подогревать воду до +90ºС:
— для температуру включения устанавливаем нулевые значения
— температуру выключения устанавливаем +90ºС
— когда потребуется включить этот режим — нажимаем кнопку №2, при этом, если температура выше +90ºС — нагрузка останется в выключенном состоянии, если температура ниже +90ºС — устройство включит нагрузку, при достижении температуры +90ºС — устройство отключит нагрузку. Следующее включение возможно только по нажатию кнопки №2.
2. Допустим, на нагрузке №2, иногда необходимо что-то охлаждать до температуры -15ºС:
— для температуру включения устанавливаем нулевые значения
— температуру выключения устанавливаем -15ºС
— когда потребуется включить этот режим — нажимаем кнопку №3, при этом, если температура ниже -15ºС — нагрузка останется в выключенном состоянии, если температура выше -15ºС — устройство включит нагрузку, при достижении температуры -15ºС — устройство отключит нагрузку. Следующее включение возможно только по нажатию кнопки №3.

Алгоритм установки однократного нагрева, охлаждения


4. Отключение каналов управления нагрузками

Если какой-либо канал, или оба канала, не используются — в этом случае эти каналы необходимо отключить.
Отключение канала (каналов) производится путем записи нулевых значений во все установки. По этой причине, термостатирование при установке порогов включения/выключения в 0ºС — не возможна.

Отключение блоков управления


Подключение нагрузки к термостату (терморегулятору) на ATmega8

Нагрузка может быть активной (лампочки накаливания, ТЭНы, электронагревательные приборы …)
Нагрузка может быть реактивной — емкостной и индуктивной. В практике чаще всего мы сталкиваемся с индуктивной нагрузкой (электродвигатели, приборы в которых имеются трансформаторы, электронная техника, катушки индуктивности …)
Кроме того, иногда приходится управлять нагрузками с постоянным током.

Самый универсальный способ управления любой нагрузкой — механическое реле. С помощью реле мы можем управлять любыми видами нагрузки.
В тоже время, если необходимо управлять только активными нагрузками, наверное предпочтительнее будет использовать в схеме симисторное управление.
Симисторы (триаки) очень удобны в управление активными нагрузками в сетях переменного тока.
Реле имеет ограниченный ресурс работы (хотя и очень большой) — обычно около 100 000 переключений и может коммутировать нагрузку в несколько киловатт. Надо учитывать, что при эксплуатации реле с нагрузкой, потребляющей мощность близко к предельным паспортным значениям реле, ресурс работы реле может снизиться на порядок. Симисторы имеют неограниченный ресурс работы при правильной эксплуатации (подключать нагрузку с мощностью не превышающей паспортной мощности симистора, а лучше выбирать симистор с запасом прочности). При управлении нагрузками мощностью 300-400 ватт симисторы могут работать без радиатора, при большей нагрузке необходимо ставить симистор на радиатор. В сети можно найти порядок расчета площади радиатора для триака.
При использовании в конструкции симисторов, очень желательно делать гальваническую развязку микроконтроллера от сети 220 вольт. Для этого обычно используют оптосимисторы (оптотриаки, драйверы управления симиситорами)


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

Подключение нагрузки к термостату

Светодиоды сигнализируют о включенной нагрузке, а также позволяют визуально контролировать ручной режим включения нагрузок (однократный нагрев/охлаждение).
При использовании других схем управления нагрузками необходимо помнить, что включение нагрузки происходит высоким уровнем с вывода микроконтроллера, а выключение — низким уровнем.
При использовании оптосимистора в качестве гальванической развязки, необходимо смотреть даташит прибора, в котором показаны схемы подключения к симисторам

В качестве буферного транзистора для подключения реле к микроконтроллеру можно использовать не только полевые но и биполярные транзисторы

Схеме подключения электрического реле

И еще несколько схем подключения нагрузки к микроконтроллеру

Схемы подключения симисторов и оптосимисторов


Некоторые справочные данные:

Симистор BT138:

Тринистор BT138

Транзистор 2N7000:

Полевой транзистор 2N7000

Диод 1N5819:

Выводы диода Шоттки 1N5819

Характеристики некоторых симисторов:

Характеристики симисторов


Программа двухканального термометра, термостата, терморегулятора на ATmega8 и DS18B20:

  Программа двухканального термостата в HEX коде (13,5 KiB, 6 046 hits)

  Программа в Algorithm Builder (42,4 KiB, 94 862 hits)

Скачать программу с ЯндексДиска

Настройка FUSE-битов:

Установка FUSE-битов


Схема, программа и прошивка для индикаторов со схемой включения «Общий анод»

Материал предоставлен Вячеславом Кучером и Юрием Градовым, за что им большое спасибо.

Кусочек схемы:

Схема для подключения индикаторов с ОА

Все изменения схемы заключаются в замене транзисторов структуры NPN на транзисторы структуры PNP. В схеме можно применить маломощные транзисторы ВС557.

  Программа, прошивка, схема (41,3 KiB, 34 692 hits)


В магазине сайта «МирМК-SHOP» вы можете заказать необходимые детали для сборки термостата/терморегулятор (включая запрограммированный микроконтроллер):

Двухканальный термостат


Другие конструкции на микроконтроллерах
1. Простые электронные часы на микроконтроллере ATyni26, с использование микросхемы часов реального времени DS1307
2. Простой термометр на микроконтроллере ATmega8 и датчика температуры DS18B20
3. Двухканальный термометр на микроконтроллере ATmega8 и датчиках температуры DS18B20
4. Двухканальный термометр, термостат, терморегулятор с возможностью работы по времени, одноканальный таймер реального времени на ATmega8 и датчиках DS18B20
5. Двухканальный термометр, часы на ATmega8, датчиках температуры DS18B20, RTC DS1307, LCD 1602


(47 голосов, оценка: 4,96 из 5)
Загрузка...
Двухканальный термостат, терморегулятор, термометр на микроконтроллере ATmega8 и датчиках DS18B20
Published by: Мир микроконтроллеров
Date Published: 01/25/2016


Комментарии

Двухканальный термостат, терморегулятор на ATmega8 — 61 комментарий

  1. Здравствуйте Admin!
    Два вопроса.
    1. Можно ли заменить индикаторы на oled display. Если — да, то как это сделать?
    2. Можно ли сделать так, чтобы второй канал не охлаждал, а нагревал?

  2. Спасибо большое,за схему и прошивку!
    Собрал все работает!
    С уважением, Александр!
    Новые бы схемы какие нибудь увидеть))

  3. VIP Admin.
    Вопрос к специалисту. У меня схема на Atmega8 совсем другой конструкции. А вопрос в том, что оперативные данные, устанавливаемые оператором в некоторых случаях (прибл. 15%) после выключения устройства не сохраняются. Если поставить другой процессор, то все в порядке. Т.е. проблема идет вслед за процессором. Дайте совет если будет Ваша ласка.

    • Здравствуйте Владислав!
      1. Проверьте источник питания на стабильность выходного напряжения
      2. Поставьте конденсаторы (можно припаять прямо к ножкам питания на МК) на 0,1 мкФ и 10-20 мкФ в цепь питания МК
      3. Установите FUSE-бит СКОРТ (по умолчанию он сброшен)
      С уважением, Admin.

  4. Здравствуйте Admin. Я правильно понял что на каждом индикаторе отображается температура каждого канала? И на оба выхода можно подключить симисторы. И еще было бы неплохо добавить на свободный выход МК звуковой излучатель типа бузера из встрореным генератором в случае аварии.

    • Здравствуйте Иван!
      Да, каждый индикатор отображает температуру от своего канала.
      На оба выхода можно подключить симисторы (через оптосимисторы).
      Вообще, выходные каскады можно использовать любые.
      Да, наличие звукового индикатора аварии это хорошо, но это будет уже другая конструкция.
      С уважением, Admin.

  5. Здравствуйте!
    Собрал схему все работает,но датчики ds18b20+ новые с магазина,при подключении выдают ошибку er.2
    Что делать?Ошибок в монтаже нет.
    С уважением.

    • Здравствуйте Александр!
      Проверьте установку Fuse-битов — 8 МГц от внутреннего RC регулятора, еще раз проверьте правильность подключение датчиков.
      Конструкция, как и прошивка, рабочие.
      С уважением, Admin.

  6. Здравствуйте. Пару вопросов возникло:
    Нет необходимости использовать второй канал с термодатчиком. Если его исключить из схемы будет ли работать? Ил придется менять код?
    И тут насколько понял сразу .hex файл и исходников нет. Не ли вариаций схемы с lsd монитором, а не с 7-сегментными индикаторами.

    • Здравствуйте Артем!
      Работать будет. Установки для второго канала можно поставить в «0».
      НЕХ файл и исходники в Algorithm Builder для двух каналов в конце статьи, других нет.
      Для LCD варианта нет.
      С уважением, Admin.

        • Здравствуйте Артем!
          В статье «Трехканальный….» в конце две картинки, правая — для СинаРрог.
          С уважением, Admin.

  7. Здравствуйте!
    Подскажите, пожалуйста,как будут установлены fuse bits в программе poni prog 2000.С уважением Александр.

  8. Сделали прошивку ОА. Благодарю Юрия Градова (iopa4.narod.)Есть изменения в схеме, то что касается индикаторов. Как добавить файл не знаю.

  9. Здравствуйте!
    Скажите, не так давно искал решение по термостатированию на логическом алгоритме сравнения. Нашел интересный пост — http://forum.amperka.ru/threads/Сколько-будет-стоить-заказ.7676/
    ,где на несложной, вроде, задаче поломали копья «именитые мэтры»
    На Вашей площадке что-то подобное выполнялось?

  10. Здравствуйте, Конструкция простая и рабочая, как топор. А как добавить SMS оповещение с помощью DIY KIT GSM GPRS M590 с AliExpress?

    • Здравствуйте Максим!
      Добавить SMS оповещение можно, но придется очень серьезно дорабатывать как программу, так и конструкцию.
      Сейчас в разработке находится конструкция с дистанционным управлением нагрузками, а Ваш вопрос навел на мысль добавить в конструкцию SMS оповещение и управление устройством с телефона. Спасибо.
      С уважением, Admin.

  11. Здравствуйте. Интересная конструкция. Не можете ли подсказать схему подключения данного устройства к компьютеру для прошивки. Или необходим только программатор. Заранее спасибо за ответ. С уважением

    • Здравствуйте Геннадий!
      Необходим программатор.
      Также Вы можете купить запрограмированный микроконтроллер в интернет-магазине сайта (бесплатно).
      С уважением, Admin

    • Здравствуйте Вячеслав!
      То, что не работает в Протеусе, ничего страшного.
      Такое бывает.
      Конструкция полностью работоспособна.
      С уважением, Admin.

      • С глубоким уважением! Перед тем как моделировать в Proteuse7 собрал на макетке. Может быть есть ссылки на данное устройство в действии (видео, исходники или т.д).

        • Здравствуйте Вячеслав!
          К сожалению, вещественных доказательств предоставить не могу.
          Программу скачало более 4000 человек, никто не высказывал своих замечаний.
          Есть исходник в Algorithm Builder, могу выслать.
          Ниже есть комментарии Андрея, собравшего устройство.
          С уважением, Admin.

          • Здравствуйте!
            Вышлите,пожалуйста,исходник в Algorithm Builder для двухканального
            термостата и если есть,для трёхканального.
            Спасибо.
            Валерий bwall55@i.ua

          • Здравствуйте Валерий!
            Исходники в Algorithm Builder выложил в соответствующих статьях.
            С уважением, Admin.

  12. Здравстуйте такой вопрос. Если нужен один канал для управления, то второй можна выкинуть из схемы?

  13. Добрый день.
    Подскажите, какой программой программируется МК?
    У меня Avr-OspII
    Затрудняюсь, как правильно в этой программе установить Fuse и Lock биты.

    • Здравствуйте Геннадий!
      В программе Avr-OspII необходимо в разделе «Fuse Bits» выбрать строчку:
      — Int RC Osc 8 Mhz Start-Up Time: 6 CK + 64 ms
      С уважением, Admin.

  14. Подскажите, пожалуйста, с помощью какой программы программируем МК?
    У меня Avr-Osp-II и программатор AVR910 PROTTOSS.
    Как правильно выставить Fuse и Lock биты.

    Заранее благодарю за помощь.

  15. Здравствуйте,как можно найти прошивку? ваша ссылка не работает! Спасибо!!!

    • Здравствуйте Андрей!
      Проверил ссылку — скачивается нормально.
      Ниже ссылки есть фраза: «Скачать программу с ЯндексДиска». Можете скачать файл по ней (там два файла одинаковых — один заархивирован, второй — нет).
      Если не получится — пишите, что-нибудь придумаем.
      С уважением, Admin.

      • Добрый день.
        Ссылка может не работать из за браузера. В Mozilla Firefox действительно не открывается, использую Internet Explorer.

        Автору огромнейшее спасибо за статью и прошивку. Собрал пару термостатов для родственников — довольны, всё работает как часы.

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

        • Здравствуйте Андрей!
          Спасибо за «Спасибо»!
          Версию прошивки для индикаторов с ОА обязательно сделаю и выложу, но позже, после 10 сентября.
          С уважением, Admin.

  16. Добрый день. Спасибо большое за устройство и статью. Собрал термостат для включения насоса отопления по температуре носителя (измеряею температуру подачи и обратки) у себя дома. После сборки все сразу заработало, пока не начал проверять работу по нужным температурам +40-+70 градусов Цельсия. И вот неприятность при нагреве датчика температуры выше 45 градусов, индикаторы начинают подмаргивать и появляется «Err.2» — нет импульса от датчика. Менял датчики, источник питания, контроллер ничего не помогло. Ниже 45 град все отлично работает. Подскажите, пожалуйста, как избежать данной ошибки?

    • Здравствуйте Андрей!
      Индикаторы начинают мерцать в случае появления ошибки от датчика (нарушается алгоритм индикации).
      Устройство тестировалось в течении нескольких недель, сбоев не наблюдалось.
      Обычно, ошибки от датчика могут «вылезать» при длинном соединительном проводе.
      Поэкперементируйте с номиналом подтягивающего резистора 4,7 кОм (1-5 кОм)
      Кроме того, попробуйте залить программу от трехканального термостата (там добавлен таймер, который можно не использовать). В этой программе внутренняя частота микроконтроллера более стабильна за счет учета значения калибровочной ячейки для внутренней частоты 8 мГц.
      С уважением, Admin.

      • Добрый день. Спасибо, Admin, за бысрый ответ. Все испробывал по вашим рекомендациям, ничего не помогло. Решил еще раз подумать — баг от прошивки не зависит, подтяжка по питанию датчика не влияет, а замена источника и питания и датчиков не принесла результата в прошлый раз. Остается только контроллер, но я менял их, аж 5 штук, с разными прошивками. И тут я вспомнил, все эти 5 контроллеров atmega8 я заказывал на ebay одной партией. Взял другой контроллер с электронных часов, прошил, и вуаля, все заработало!!!! Итог: у китайцев партия контроллеров оказалась с багом, к сожелению знаний не хватает, в чем именно этот баг может быть.
        Спасибо, еще раз, за данное устройстово, рад что все теперь работает.

  17. Здраствуйте,я новичек в мире микроконтроллеров,поэтому прошу не судить строго и помочь в освоении мк.Яхотел бы повторить конструкцию термостата,но на atmega8-8pu других контроллеров под рукой пока нет,возможно ли использовать эти контроллеры в данной конструкции и что необходимо будет изменить.Спасибо.

    • Здравствуйте Иван!
      Микроконтроллер подойдет, в конструкции ничего менять не надо.
      С уважением, Admin.

    • Здравствуйте Dmitry!
      Прошивка — нажимаете на надпись «Двухканальный термостат/терморегулятор в НЕХ коде»
      Схема — щелкаете левой кнопкой по схеме — она выделится на отдельной странице — щелкаете по схеме правой кнопкой и выбираете «Сохранить как»
      С уважением, Admin.

    • Доброго дня!
      Печатная плата для этого устройства не разрабатывалась.
      С уважением, Admin.

  18. Здравствуйте,Admin!В архиве есть файл прошивки HEX, но нет FUSE битов!Как быть?

    • Здравствуйте Алексей!
      Перед программированием МК, FUSE- битами необходимо установить тактовую частоту МК 8 МГц от внутреннего RC- генератора.
      Картинку прикрепил за файлом прошивки.
      С уважением, Admin.

    • Здравствуйте Alex!
      Для индикаторов с общим анодом прошивки на сегодня нет.
      Если будет время, внесу изменения в программу и выложу прошивку для индикаторов с ОА.
      С уважением, Admin.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *