3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

Поводом для сборки этой схемы послужила поломка терморегулятора в электрическом духовом шкафу на кухне. Поискав в интернете, особого изобилия вариантов на микроконтроллерах не нашел, конечно есть кое-что, но все в основном рассчитаны на работу с термодатчиком типа DS18B20, а он очень ограничен в температурном диапазоне верхних значений и для духовки не подходит. Задача ставилась измерять температуры до 300°C, поэтому выбор пал на термопары К-типа. Анализ схемных решений привел к паре вариантов.

Схема терморегулятора — первый вариант

Термостат собраный по этой схеме имеет заявленный предел верхней границы 999°C. Вот что получилось после его сборки:

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

Схема терморегулятора — второй вариант

Немного поразмыслив пришел к выводу, что возможно сюда присоединить тот же контроллер, что и на паяльной станции, но с небольшой доработкой. В процессе эксплуатации паяльной станции были выявлены незначительные неудобства: необходимость перевода таймеров в 0, и иногда проскакивает помеха которая переводит станцию в режим SLEEP. Учитывая то, что женщинам ни к чему запоминать алгоритм перевода таймера в режим 0 или 1 была повторена схема той же станции, но только канал фен. А небольшие доработки привели к устойчивой и «помехонекапризной» работе терморегулятора в части управления. При прошивке AtMega8 следует обратить внимание на новые фьюзы. На следующем фото показана термопара К-типа, которую удобно монтировать в духовке.

Работа регулятора температуры на макетной плате понравилась — приступил к окончательной сборке на печатной плате.

Закончил сборку, работа тоже стабильная, показания в сравнении с лабораторным градусником отличаются порядка на 1,5°C, что в принципе отлично. На печатной плате при настройке стоит выводной резистор, пока что не нашел в наличии SMD такого номинала.

Светодиод моделирует ТЭНы духовки. Единственное замечание: необходимость создания надежной общей земли, что в свою очередь сказывается на конечный результат измерений. В схеме необходим именно многооборотный подстроечный резистор, а во-вторых обратите внимание на R16, его возможно тоже необходимо будет подобрать, в моём случае стоит номинал 18 кОм. Итак, вот что имеем:

В процессе экспериментов с последним терморегулятором появились ещё незначительные доработки, качественно влияющие на конечный результат, смотрим на фото с надписью 543 — это означает датчик отключен или обрыв.

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

Регулятор заданную температуру держит с точностью до 2-х градусов. Происходит это в момент нагрева, из-за инертности всей конструкции (ТЭНы остывают, внутренний каркас выравнивается температурно), в общем в работе схема мне очень понравилась, а потому рекомендуется для самостоятельного повторения. Автор — ГУБЕРНАТОР.

Термостат на микроконтроллере AT Mega8 для инкубатора

Задался идеей сделать что то по настоящему полезное с использованием микроконтроллера, выбор пал на термометр на кухню, затем на термостат в инкубатор взамен старому старичку на германиевых транзисторах.

Устройство должно только контролировать температуру, выводить информацию на индикатор и быть простым и понятным.

Мой выбор пал на термостат http://startcd.narod.ru/inkubator/index.html, простой, технологичный и выглядит надежным. Имеет систему аварийного сигнализирования и аварийного отключения. Состоит он с трехсекционного индикатора, микроконтроллера ATMega8, датчика температуры и двух транзисторов.

По просьбе автора я не выкладываю схему устройства, она доступна по ссылке на сайте автора.

Обращаю внимание что прошивки:

  • OA.hex — для индикатора с общим анодом
  • OK.hex — для индикатора с общим катодом

Мною была разработана печатная плата по схема автора которую я здесь выкладываю.

Купить термостат для инкубатора — http://ali.pub/1u0yoh

Виде первого теста термостата:

Список деталей для сборки термостата по моей печатной плате:

  • LM7805
  • 3*0,1 мкф smd 1206
  • 100 мкф 25в
  • 470 мкф 16в
  • 9,1 ком smd 1206
  • 2*4,7 ком 0,25
  • Транзистор bc547
  • 0,01 мкф smd 1206
  • 0-5 ком переменный (вертикальный синий)
  • ds18b20
  • 3*1 ком smd 1206
  • 6*1 ком 0,25 ват
  • МОС3021
  • 2*360ом 1 ват
  • btb24 симистор
  • 3*led
  • 1 диод SMD выпрямительный 1А
  • 1n4007 диод
  • 680 ом smd 1206
  • atmega8 dip28
  • Транзистор bc337
  • 2,2ком 0,25ват
  • 2*330ом smd 1206
  • 330 ом 0,25ват
  • 6*резисторов нулевого сопротивления (пофигисторов) smd 1206
  • 1*динамик пищалка
  • 1*индикатор трехсегментный с общим катодом или анодом
  • 1*кнопка
  • 7*PLS
  • 7*bls
  • Реле BS-115C
  • 2*радиатора на симистор и стабилизатор

Питается устройство от:

  • трансформатор 200-12в
  • сборка диодного моста из 4 диодов

Термостат на микроконтроллере AT Mega8 для инкубатора : 36 комментариев

Такой термостат нужная вещь в хозяйстве. а печатные платы приобрести можно ?

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

можно ли приобрести в сборе

  1. ravusiz Автор записи 16.10.2016

На заказ не собираю….

проще приобрести. мне надо штук 5 плат. если можно отпишите мне на ven*****@gmail.com
с ув.Эдуард

День добрый!! Решил повторить этот девайс, а вот печатка не открывается?? Хотел взять за основу и подогнать под свои детали + бп на плате. ЛАЙ 6 не открывает, в чем проблема??
С ув. Александр.

  1. ravusiz Автор записи 03.01.2015

Проблема в Вашем LAY или в zip архиваторе. Воспользуйтесь кнопкой написать автору справа сверху и я Вам скину ссылки на ПО что я пользуюсь…

А там есть еще автопереворот яиц? хотелось бы полный автомат 🙂 еще б было интересно чтоб было табло температуры и влажности ..и четыре пять кнопок ..поставил курячи яйца нажал там кнопка 1 .и все ждеш когда яйца вылупятся 🙂 такое можно сделать? и если вас попросить чтоб вы сделали .сколько будет стоитьь

  1. ravusiz Автор записи 09.03.2015

Автопереворота там нет! У автора схемы такая вариант ест но она платный! Это термостат по проще, т. е. только управление температурой и защита! На заказ устройства я к сожалению не делаю! В платанах по реализации термостата версии с переворотом пока нет, но возможно она появится, но точно не скоро!

возможно ли переделать термостат на два термодатчика ?алгоритм работы:два датчика t1 и t2 при поднятии темп на t1 больше чем n (величина програмированая от 5 до 20 град) включаетса релле.
при выравнивании t1, t2 реле выключаетса,

  1. ravusiz Автор записи 09.03.2015

Имеющейся поменять нельзя, он не мой! У меня нет исходников! Но можно написать другой! Вопрос 1 — Зачем? Вопрос 2 — более подробно алгоритм выравнивания температуры! Вопрос 3 — какая защита от сбоев необходима! http://vk.com/topic-73881384_30137040 тут можно произвести обсуждение вопроса! Пишите!

Собрал данный дивайс. Но при включении на индикаторе высвечивается ЕЕР. Подскажите — с таким не сталкивались?

  1. ravusiz Автор записи 13.03.2015

Да, Борис, сталкивался, так и должно быть при первом включении. Автор прошивки пишет «При включении, если контрольная сумма не совпадает, то выводится надпись EEP (eeprom)». При первом включении в eeprom еще пусто и соответственно считывать от туда нечего. Просто зажмите кнопку управления и выставить температуру для термостата. Новые значения запишутся в eeprom и больше это сообщение появляться не будет.
P.S. Если вы собирали устройство по моей печатке то буду очень благодарен если вы выложите сюда ссылку на фото Вашего устройства…

Спасибо за помощь. Я собрал устройство но печатку переделал под размеры своего корпуса. Сейчас устройство заработало но регулировка симистором не работает. Управление собрал как Вы на МОС3021. Но лампа выключается только от реле при превышении темп. более 40 град.

Все получилось. Поменял полярность анод-катод у симистора и он заработал как надо. Редко с симисторами дело имел — не думал, что поможет…

  1. ravusiz Автор записи 14.03.2015

Я рад что у Вас получилось! Будут вопросы обращайтесь!

А у меня при включении светит ЕЕР и сразу гаснет и при отключении тоже. Не подскажыте што может быть?

  1. ravusiz Автор записи 16.03.2015

EEP это ошибка чтения eeprom(энергонезависимая память) высвечивается если в eeprom записана некорректная величина! Вы прибывало устанавливать температуру с помощью кнопки?
Если да то: 1. Проверьте правильность монтажа, если есть канифоль на плате то удалите ее.
2. Сотрите контролер и EEPROM! (перед стиранием надо поставить FUSE EESAVE в unprogrammed )
3. Прошейте контролер заново, и проведите верификацию прошивки
5. Проверьте FUSE BIT(L: AC H: D6)
6. Включите термостат, при первом включении должен!! написать EEP !!
7. Зажатием кнопки выставите температуру
Больше EEP выскакивать не должен. Если появится попробуйте другой контроллер…

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

  1. ravusiz Автор записи 03.04.2015

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

Реле с каким током управления брать?

  1. ravusiz Автор записи 03.05.2015

Я использовал реле BS-115C. В нем рабочий ток при 12 в 30мА.

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

  1. ravusiz Автор записи 28.06.2015

Фото в студию, а то навыки телепатии отсутствую! Какая прошивка залита? Фазоимпульсня? Чем питаете? Ну и раз сами сказали то напишите номиналы резисторов возле опторозвязки!

Здравствуйте. Хочу собрать это устройство, подходит время для инкубатора, и мне нужна помощь, я человек новый в этом деле собрал лишь пару приборов. Подскажите пожалуйста по этой печатной плате, зачем на канал 1-Wire датчика температуры подстроечник. И какого номинала должен быть ограничивающее сопротивление оптопары R*.

и в мануале подключения МОС3021 есть конденсаторы, на печатке нату, тоесть можно подключать по схеме МОС3031 без них? МОС3021 указан в перечени

  1. ravusiz Автор записи 18.02.2016

По первому вопросу! Сопротивление на уровне 4,7ком, но в зависимости от длины кабеля необходимо подстраивать дабы датчик не врал и не сбоил… Я собирал на МОС3021 согласно печатки… Все работает! Видео тому подтверждение!

Спасибо. Буду пробовать, детали приобрел, текстолит подготовил)))

Если можете то подскажите. Собрал с оптопарой MOC3021, правда семистор взял BTB16. Возникла проблема — семистор постоянно открыт. Убираю с платы оптопару, он открыт. Убираю резистор обратной связи на управляющий электрод гаснет,и не включается с оптопарой. Резисторы в обвязке семистора взял 360 Ом. Ограничивающий резистор на светодиод оптопары 500 Ом.
Моя плата — http://1drv.ms/211vToy -верх
http://1drv.ms/211w2Z1 — низ.

Действительно, решение в перемене полярностей электродов симистора. Симистор вынес на радиатор проводами.

Простите, а где ссылка на прошивку микроконтроллера?

  1. ravusiz Автор записи 15.04.2017

В статье автора схемы

Подскажите, Вы пробовали в работе обе версии прошивок ? Если так, то какая из них работает лучше.
Просто не пойму, зачем две версии прошивок и как это скажется на работе инкубатора.

  1. ravusiz Автор записи 01.05.2017

Их больше. Например для дисплеев с общим анодом и катодом. Принцип управления температурой и т д. Я бы посоветовал под твой дисплей с фазоимпульсным управлением

На пример мне не нужно. Должно быть понятно что я имел ввиду фазоимпульсное или шим.
С общим анодом или катодом понятно и первоклашке. За совет спасибо.

Версия с фазоимульсным управление хороша для ламп накаливания. а с низкочастотной шим для нагревателей инертных вроде ТЭН, теплого пола , мощных резисторов.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Схема. Таймер-терморегулятор на микроконтроллере

Автор: Radioelectronika-Ru · Опубликовано 28.11.2017 · Обновлено 16.03.2018

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

Технические характеристики в режиме терморегулятора
Интервал регулируемой температуры, °С ………………………………….от -55 до +125
Разрешающая способность при измерении и регулировании, °С:
в интервале температуры -9,9…-99,9 °С …………………………………..0,1
в интервале температуры -55…-10 °С и +100…+125 °С ……………….1
Погрешность измерения, °С, не более:
в интервале температуры -10…+85 °С ……………………………………..±1
в интервале температуры -55…-10 °С и +85…+125 °С …………………±2
Интервал установки гистерезиса, °С ………………………………………..± 0…50
Верхняя граница установки интервала регулирования, °С …………….-55…+125
Нижняя граница установки интервала регулирования, °С …………….-55…+125
Интервал корректировки показаний термометра, °С……………………..±2

Терморегулятор работает как в режиме нагрева, так и охлаждения. Дополнительно можно установить продолжительность поддержания температуры в интервале 1—999 мин или остановку работы терморегулятора на тот же промежуток времени. В процессе работы подсчитывается суммарная продолжительность подключения нагрузки к сети. Устройство предназначено для работы совместно с датчиком температуры DS18B20 и автоматически определяет его ID-код.

Технические характеристики в режиме таймера
Интервалы установки времени
секунд……………..1…999
минут………….1…999
часов ………………1…999
Направления отсчёта времени …………………..прямое или обратное

Таймер обеспечивает задержку как включения, так и отключения нагрузки.
Схема таймера-терморегулятора показана на рис. 1. Все основные функции возложены на микроконтроллер DD1, управление режимами и ввод данных осуществляют с помощью кнопок SB1—SB3, а информация выводится на трёхразрядный светодиодный индикатор HG1. Питание осуществляется от сети, которую подключают к зажимам 1 и 2 колодки ХТ1. На трансформаторе Т1, диодном мосте VD1, стабилизаторе DA1 и сглаживающих конденсаторах С2 и С4 собран узел питания. Резистор R1 повышает надёжность работы устройства при повышенном сетевом напряжении. Но при желании его можно исключить, установив на плате взамен него проволочную перемычку.

Включение или отключение питания нагрузки осуществляется с помощью реле К1, контакты которого К1.1 нормально разомкнуты и подсоединены к зажимам 3 и 4 колодки ХТ1. Датчик температуры DS18B20 подключают к зажимам 5 и 6. Применена двухпроводная схема подключения датчика: к зажиму 6 присоединён вывод 2, к зажиму 5 — выводы 1 и 3. Для вывода информации на индикатор HG1 использована динамическая индикация с периодом обновления символов около 20 мс.

Управление работой и установку параметров осуществляют с помощью трёх кнопок SB1 “◄” (уменьшение), SB2 “►” (увеличение) и SB3 “∟” (ввод). В зависимости от предварительной установки устройство может выполнять функции универсального терморегулятора или быть в роли таймера. Для выбора функционального назначения необходимо нажать на кнопку SB3 и, удерживая её, подать напряжение питания. На индикаторе HG1 появится номер текущей установки (рис. 2). Кнопками SB1 и SB2 устанавливают режим работы: 1 — универсальный терморегулятор (задан по умолчанию), 2 — таймер. Для подтверждения следует нажать на кнопку SB3. Изменения вступят в силу после следующего включения.

При работе устройства в качестве терморегулятора датчик температуры располагают в месте, где необходимо поддерживать заданную температуру. После подключения прибора к сети на индикаторе “пробегает” тестовая надпись HELLO — терморегулятор готов к работе. В рабочем режиме на индикаторе HG1 постоянно отображается текущее значение температуры. О том, что нагрузка в данный момент включена, свидетельствует мигающая точка в младшем разряде.

Установку температуры производят кнопками SB1 и SB2, по умолчанию она составляет 30 °С. В момент нажатия на любую из этих кнопок на индикаторе HG1 появляется мигающее значение устанавливаемой температуры, а по истечении 5 с после последнего нажатия терморегулятор возвращается в рабочий режим. Все введённые данные сохраняются в энергонезависимой памяти микроконтроллера. При нажатии и удержании кнопок SB1 и SB2 выбранный параметр изменяется быстрее. В зависимости от продолжительности нажатия последовательно переключаются три его скорости изменения.

Для установки других настроек терморегулятора необходимо войти в меню. Для этого следует нажать на кнопку SB3. Изменение настроек производят в соответствии с рис. 3. Через 5 с после последнего нажатия любой кнопки устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. Ниже приведено описание доступных параметров.

ГГР — гистерезис. Параметр, в котором задаётся разность температур включения и отключения нагрузки. Установленное число суммируется с заданной установкой температуры для включения и вычитается для выключения. Если, например, задана температура 30,0 °С, а ГГР — 4,5, то в режиме нагревания отключение нагрузки произойдёт при температуре 30,0 + 4,5 = 34,5 °С, а включение — при 30,0 – 4,5 = 25,5 °С. Если терморегулятор работает в режиме охлаждения, отключение произойдёт при температуре 25,5 °С, а включение — при 34,5 °С. Если установить ГГР равным 0, на индикаторе отобразится надпись ГР и прибор будет работать как обычный термометр, на индикаторе отобразится текущая температура, а нагрузка будет всё время отключена. По умолчанию установлено значение ГГР, равное 3,0.

ВПР — верхний предел температуры. Этот параметр определяет максимально возможное значение устанавливаемой температуры. В случае превышения этого предела, независимо от других установок, нагрузка будет отключена. По умолчанию в ВПР задано значение 80,0.
НПР — нижний предел температуры. Этот параметр определяет минимально возможное значение устанавливаемой температуры. В случае снижения температуры ниже НПР, независимо от других настроек, нагрузка также будет отключена. Значение НПР всегда меньше или равно ВПР. По умолчанию в НПР задано значение 10,0.
ВРВ — продолжительность времени включения (в минутах). Этот параметр задаёт временной интервал, в течение которого поддерживается заданная температура. По его окончании нагрузка будет отключена. Признак истечения установленного временного интервала — постоянно светящаяся точка в младшем разряде индикатора. Повторный запуск таймера производят нажатием на кнопку SB3. Если ВРВ установлено равным 0, на индикатор выводится изображение “—“, а таймер в работе терморегулятора не участвует. По умолчанию таймер отключён.

ВРО — продолжительность времени отключения. Параметр задаёт временной интервал (в минутах), в течение которого устройство находится в выключенном состоянии, предназначен для использования совместно с параметром ВРВ. По окончании установленного интервала времени устройство возвращается к функции поддержания температуры. Если, например, установить значение ВРВ 90, а ВРО 60, терморегулятор будет циклически поддерживать температуру в течение 90 мин, а затем отключаться на 60 мин и снова включаться на 90 мин и т. д. Если ВРО равно 0, на индикаторе выводится изображение “–“, а таймер в работе терморегулятора не участвует. По умолчанию ВРО имеет нулевое значение (таймер отключён).
ПАР — параметры работы. Значение ПАР определяет режим работы терморегулятора: нагревание или охлаждение. При работе совместно с нагревателем в ПАР необходимо установить НА, при работе совместно с охладителем — ОС. По умолчанию в ПАР задано значение НА (работа с нагревателем).

ПОП — поправка показаний. Этот параметр позволяет проводить корректировку показаний термометра и в случае необходимости добиться (по образцовому термометру) погрешности измерения менее 0,1 °С. Значение ПОП добавляется к текущим показаниям температуры. Обычно в корректировке показаний нет необходимости, поскольку датчик температуры DS18B20 имеет заводскую калибровку и очень высокую точность измерения. По умолчанию ПОП имеет значение 0,0 (корректировка отсутствует).
РАБ — время работы нагревателя (или охладителя). В этом режиме выводится время (в часах), в течение которого нагрузка была включена. Это позволяет оценить расход электроэнергии. Например, если месячные показания РАБ равны 250, а мощность нагревательного элемента — 0,5 кВт, расход электроэнергии составляет 125кВт·ч.

НОГ — идентификационный номер (ID-код) датчика температуры. Выводится 64-разрядный идентификационный номер датчика DS18B20, представленный в шестнадцатеричном формате. Например, 28А2С86801000017. (последняя цифра отмечена десятичной точкой). Просмотр номера производится нажатием на кнопки SB1, SB2 и может понадобиться для определения, какой из датчиков подключён. Если связь с датчиком нарушена или по каким-либо причинам код считать не удалось, на индикатор будет выведено сообщение Err (ошибка).

Устройство автоматически определяет наличие и исправность датчика температуры. При обрыве цепи или отсутствии датчика на индикаторе появится надпись HI, а при коротком замыкании или неправильном подключении — Lo. При любой неисправности нагрузка автоматически отключается. Провод, соединяющий датчик с устройством, должен иметь сечение не менее 0,5 мм 2 , а длину — не более 10 м. Информация считывается с датчика температуры с периодом 1 с и сравнивается с предыдущим значением. Если скорость роста температуры превышает 30 °С/с или скорость падения температуры превышает 20 °С/с, ситуация интерпретируется как аварийная и нагрузка отключается.

Для просмотра и изменения установок при работе в режиме таймера необходимо войти в меню. Для этого следует нажать на кнопку SB3. Установку проводят в соответствии с рис. 4 Через 5 с после последнего нажатия на любую кнопку устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. После входа в меню появляется текущая установка таймера (индикатор мигает). Кнопками SB1 и SB2 устанавливают временной интервал в пределах 000…999 (по умолчанию задано 100). Если установить 000, таймер блокируется, а в рабочем режиме на индикаторе будет сообщение “—“.

После установки цифрового значения нажимают на кнопку SB3, и затем можно задать единицы измерения времени. Это могут быть секунды SEC (по умолчанию), минуты Ml или часы HOU.
Далее устанавливают режим работы таймера. При выборе ОН, по истечении установленного временного интервала, нагрузка будет подключена, выбор OFF означает, что нагрузка будет отключена. Выбор направления счёта таймера — обратный при выборе ОБС (задан по умолчанию) и прямой при выборе — ПРС. Во время работы таймера на индикаторе отображается время. Запуск таймера осуществляют нажатием на кнопку SB2. Если задан прямой счёт, показания изменяются от нуля до максимального значения, например, 0, 1, 2… и т. д., а если обратный — от максимального значения до нуля, например, 100, 99, 98… и т. д.

Остановку таймера производят кнопкой SB1. При повторном нажатии на неё он перейдёт в исходное состояние. Если выбрана установка на включение, по окончании установленного интервала нагрузка будет подключена и на индикаторе появится сообщение ОН, а если установка на выключение — OFF и нагрузка отключена. О текущем состоянии нагрузки можно судить по десятичной точке в младшем разряде индикатора. Она светит — нагрузка включена, погашена — отключена. В случае установки минут или часов точка каждую секунду кратковременно вспыхивает, если нагрузка отключена, и кратковременно гаснет, если включена.

Для повышения надёжности работы в устройстве применён ряд программных приёмов. В первую очередь, это касается работы с EEPROM микроконтроллера. Каждый параметр в энергонезависимой памяти продублирован в четырёх ячейках. Чтение и запись проводятся поблочно. После каждого чтения содержимое четырёх ячеек сравнивается между собой. Если в одной или двух из них оно отличается от остальных, единое значение всех ячеек блока восстанавливается по тем, в которых оно идентично.

Большинство деталей монтируют на двух печатных платах из фольгированного стеклотекстолита, чертежи которых показаны на рис. 5 и рис. 6. Применены постоянные резисторы для поверхностного монтажа РН1-12, остальные — МЛТ, С2-23. Оксидные конденсаторы — К50-35 или импортные, остальные — К10-17. Реле — JZC-22F3SC20DDC12V, кнопки — DTST-6. Трансформатор должен обеспечивать на выходе выпрямителя напряжение 12 В при токе до 150 мА ХТ1 — однорядный клеммник серии 305. Для программирования микроконтроллера предназначен файл modul_v2.hex.

Платы устанавливают в пластмассовый корпус рис. 7). Внешний вид собранного устройства показан на рис. 8. Резистор R2 был предназначен для защиты микроконтроллера в процессе отработки конструкции, но после изготовления нескольких экземпляров устройств он был исключён и взамен него на плате установлена проволочная перемычка.

В целях упрощения предусмотрена возможность исключения токоограничивающих резисторов R4—R11 в цепях управления сегментами индикатора HG1. В этом случае их заменяют отрезками провода, в микроконтроллер следует загрузить файл modul_v1.hex Чтобы исключить перегрузку по току индикатора и микроконтроллера, подача напряжения на каждый разряд индикатора осуществляется на 0,3 мс, поэтому работают они при номинальном среднем токе. Яркость свечения индикаторов с различным числом включённых элементов немного различается из-за неравномерного распределения тока и различного падения напряжения на выходных транзисторах портов микроконтроллера. Индикатор с общим катодом можно заменить на аналогичный, но с общим анодом. Для этого в начале программы modul_v1 .asm (modul_v2.asm) следует удалить строку tfdefine _COMMON_CATODE_ и заново откомпилировать программу.

При программировании устанавливают следующую конфигурацию микроконтроллера: BODLEVEL=1; BODEN = 0; SUT1 = 1; SUT0 = 1; CKSEL3 = 1; CKSEL2 = 1; CKSEL1 = 1; CKSEL0 = 1; RSTDISBL = 1; WDTON = 1; SPIEN = 0; СКОРТ = 0; EESAVE = 0; BOOTSZ1 = 1; BOOTSZ0 = 1; BOOTRST = 1.

И. КОТОВ, г. Красноармейск Донецкой обл., Украина
“Радио” №3 2012г.

Универсальный программируемый термометр-термостат

Это устройство разрабатывалось как контроллер дровяного котла и содержит два полноценных термостата. В меню можно настраивать режим работы выходов управления.

Основной алгоритм меню и работы такой:
Имеем мы кнопки -/+ первого выхода, -/+ второго выхода, MENU , AUTO/HWM. Нажимая на кнопку MENU мы по часовой стрелке «листаем» меню.
Главное меню, в нем происходит измерение температуры и кнопками -/+ можно настраивать температуру (соответствующего выхода).
При удержании кнопок — и + мы переходим в режим настройки дельты.
Если не нажимать на кнопки около 10секунд, мы автоматически выходим с режима настройки дельты в режим настройки температуры.
При кратковременном нажатии на кнопку мы добавляем/убавляем параметр на еденичку. При удержании — быстро (перебираем) добавляем/убавляем параметр.
Благодаря именно такому алгоритму устройством очень удобно пользоваться.

И так нажали кнопку MENU , переходим в первое меню «конфигурация выходов»

Сразу договоримся, что датчики температуры у нас Т1,Т2, а выходы у нас Q1,Q2 соответственно.
Первый режим:
T1=Q1
T2=Q2

Этот параметр выбирается по умолчанию, как только прошили контроллер. В этом режиме выходы работают на свой отдельный датчик температуры.
Два независимых термостата.
T1=Q2
T2=Q1

При такой конфигурации второй выход работает от первого датчика, а первый от второго.
T1=OFF
T2=Q1=Q2

В этом режиме оба выхода работают от второго датчика температуры
Идеально подходит к таким устройствам как: «инкубатор двух уровневого подогрева» , охлаждение и обогрев по двум точкам «климат-контроль», промышленные усадочные машины и т.д.
T1=Q1
T2=OFF

Работает один термостат
T1=Q1=Q2
T2=OFF

В этом режиме оба выхода работают от первого датчика температуры
Идеально подходит к таким устройствам как: «инкубатор двух уровневого подогрева» , охлаждение и обогрев по двум точкам «климат-контроль», промышленные усадочные машины и т.д.
T1=OFF
T2=OFF

Используется без функции термостата только измерение температуры.

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

Если же выставить например 25град.

То когда в котле дрова догорят и температура трубы упадет ниже этого предела, то привод закроет шибер.

Диапазон установки температуры закрытия шибера 20. 69град.

Следующее меню у нас ручной режим управления шибером.
Нажимая кнопку AUTO/HWM мы открываем либо закрываем шибер.

В него можно попасть перебирая меню кнопкой MENU а так же быстро можно попасть нажав кнопку AUTO/HWM
Если не нажимать никаких кнопок примерно 30секунд, мы автоматически возвращаемся в главное меню.

Если мы находимся в первом или втором меню и если нажать кнопку AUTO/HWM мы выходим в главное меню, то есть кнопка эта работает как RETURN.

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

Устройство еще в своем составе имеет алгоритм определения аварии. Авария генерируется на отдельном выводе микроконтроллера в случае, если обрыв или неисправность датчика или если температура выше 125град.
При активации аварии, все управляющие выходы отключаются, а на отдельном выводе (на выводе аварии) генерируется сигнал высокого уровня. А на дисплее вместо температуры отображается error.

Еще есть статусный светодиод, который сигнализирует нормальную работу устройства и сигнализирует чтение температуры.
Введено автоотключение подсветки дисплея через 5минут.

В будущем планирую добавить обратную связь от привода для вывода сообщения на дисплей при аварии привода.

Проект буду поддерживать и усовершенствовать постоянно.

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

Фьюзы надо запрограммировать на частоту кварца 8мгц
Для этого ЧИТАЕТЕ фьюзы с МК и ставите биты отвечающие за частоту. это у нас CKSEL3..0

Новая версия прошивки V2.0 (от 24.07.2013):
— введена поддержка ATmega88 (отдельная прошивка)
— исправлены программные ошибки
— ускорен опрос термодатчиков вместо

10сек. — 2сек. (только в ATmega8)
— оптимизирован код в целом.

Ниже вы можете скачать проект в Proteus, файлы печатной платы в LAY и прошивку

0 0 vote
Article Rating
Ссылка на основную публикацию
ВсеИнструменты
×
×
Adblock
detector