Терморегулятор на атмега8 своими руками

Содержание

Термостат для электрического чайника на ATmega8(Термопот)

rating starrating starrating starrating starrating star

В основе прибора микроконтроллер ATmega8, который тактируется от кварцевого резонатора частотой 8МГц. Датчик температуры аналоговый LM35 или цифровой DS18B20. Семисегментный индикатор с общим анодом.

Схема устройства c датчиком LM35

700 01

Схема устройства c датчиком DS18B20

700 06

При включении питания прибор начинает работу в режиме «Кипячение», вода нагревается до температуры установленной в параметре «P1», например 90°С, при этом на индикаторе будет мигать символ градуса 1 раз в 0,5сек. По окончании режима «Кипячение» прибор переходит в режим «Подогрев». В этом режиме температура воды поддерживается на уровне установленном в параметре «P2», например 60°С, символ градуса мигает 1 раз в 2 сек.

В параметре «P3» устанавливается гистерезис т.е. разница между температурой включения и температурой выключения в режиме «Подогрев», его значение устанавливается в пределах 1-15°С. Например, если «P2» равен 60°С, а «P3» равен 3°С то ТЭН чайника будет включаться при температуре 57°С, а выключаться при температуре 60°С.

Кнопка «Кипячение» включает режим «Кипячение» при условии, что текущая температура ниже установленной в параметре «P1».

Изменить параметры можно в меню, вход в которое осуществляется кнопкой «Меню», переход между параметрами осуществляется этой же кнопкой. Кнопками «+» и «-» изменяются значения параметров. Значения параметров автоматически сохраняются в энергонезависимой памяти микроконтроллера при выходе из меню.

Прибор автоматически выключает ТЭН и выдает на индикатор ошибку:

— Err1 обрыв линии или неисправен датчик DS18B20;
— Err2 если температура больше 150°С(LM35)/120°С(DS18B20);
— Err3 если ТЭН был непрерывно включен более 1 часа.

Фото готового устройства

700 02

700 03

700 04

700 05

Файлы к статье «Термостат для электрического чайника на ATmega8(Термопот)»
Описание:

Файл прошивки микроконтроллера, макет печатной платы DipTrace

Источник

Терморегулятор для холодильника на микроконтроллере ATMEGA8 и термодатчике DS18B20. Схема, плата, прошивка

1487262418 1

Содержание / Contents

↑ Немного истории

Моему холодильнику уже добрых 20 лет и за это время он успел сменить в себе два мотора и один термостат, побывал в двух мастерских и теперь это «чудовище Франкенштейна» совсем перестало выключаться.
По опыту скажу, что я очень не люблю такие термостаты, их механическая начинка довольно капризная. А ещё мастера мне попадались уникальные, они чинили одну часть холодильника, и ломали другую. Например, после ремонта у меня перестала включаться лампочка «в салоне» при открывании двери.
«Хочешь, чтобы было сделано хорошо? Сделай это сам!»

↑ Изучение холодильного вопроса и временное решение

Еда начинает портиться! Звать мастера, чтобы он провозился с холодильником пару недель (а у меня в городе такие мастера и есть) — не вариант, что делать? Надо периодически выдёргивать вилку из розетки, имитируя работу термостата! Меня хватило на один день этого мазохизма, поэтому мне нужно удобное решение и собрал я за вечер обычный микроконтроллерный таймер-реле включения/выключения буквально на подносе и это не шутка.

Работает! Его задача — тупо включать компрессор на 15 минут и выключать на 45. Питание взял от импульсника из сломанного DVD плеера, в нём удачно обнаружились два выхода 12 и 5 Вольт. Реле врезал в удлинитель и прижал всё колонками. Изящное временное решение вышло!

↑ Схема моего терморегулятора

Теперь есть «время на подумать» и поискать вдохновения в Интернете для разработки полноценного терморегулятора.
Что в итоге я выяснил:
• компрессор может работать часами, но не сутками, ему нужен отдых;
• после выключения компрессора, нужно минимум 5-10 минут перед повторным запуском.

В остальном, есть простор для творчества.

Тут всё просто. Есть реле RL1 на ток в 16А на каждую группу, управляющую компрессором. Ключ Q1 управляет этим реле, получая команды от микроконтроллера U1. МК тактируется от кварца в 4 МГц.

Кнопки управления всего две, это «PLUS» и «MINUS», подтянуты они к плюсу питания и зашунтированы ёмкостями С4 и С5, для избавления от дребезга контактов.

Используется цифровой термодатчик U1 ds18b20, работающий по однопроводному протоколу.

Вся индикация — на семисегментном LED индикаторе с общим анодом, работающим в динамическом режиме. Светодиод «WORK» это индикатор состояния компрессора, который показывает, включен он или нет.

Питание взял от готового импульсника, на выходе которого, снимается 12В на реле и 5В на всё остальное.

Осталось ознакомиться со схемой холодильника и приступить к разработке логики управления компрессором.

В итоге, клеммы с термостата SK будут отключены и перенаправлены на контакты моего реле.

↑ Пишем холодильную программу для МК

Тут не указана процедура опроса кнопки, т.к. она происходит постоянно на всех этапах работы программы. Во время периодического опроса датчика, а это каждые 3 секунды, происходит проверка исправности датчика температуры. В случае потери связи с датчиком, программа перейдёт в аварийный режим, когда вызывается подпрограмма таймера работы/отдыха компрессора. Для возврата в нормальный режим, необходимо будет исправить связь с датчиком температуры и выключить/включить устройство.

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

Прошивка и исходники, как всегда, в подвале статьи! Что касается фьюзов, то они все сняты, кроме CKSEL1, т.е. микроконтроллер настроен на работу от внешнего кварца на 4 МГц.

↑ Индикация и настройки

Теперь поговорим об индикации. В устройстве заложены несколько параметров, которые можно настраивать:
1) температуру внутри — «t» (от 0 до 10 градусов, шаг 0,1 градус);
2) гистерезис заданной температуры — «G» (от 1,0 до 5,0 градусов, шаг 0,1 градус);
3) таймер отдыха компрессора — «h» (от 5 до 60 минут, шаг 1 минута);
4) таймер работы компрессора — «H» (от 10 до 600 минут, шаг 10 минут);
5) время работы компрессора в аварийном режиме — «on» (от 5 до 99 минут, шаг 1 минута);
6) время отдыха компрессора в аварийном режиме — «oF» (от 5 до 99 минут, шаг 1 минута).

Далее фотографии с реальными настройками.

Настройка температуры производится простым нажатием кнопок «PLUS» и «MINUS», при этом первоначальное нажатие покажет текущую заданную температуру, а повторное нажатие одной из двух кнопок, уже изменит её на 0,1 градус.

Если не трогать кнопки 2 секунды, настройки сохраняются и устройство покажет текущую температуру в камере холодильника.

Для проведения настроек других параметров, нужно нажать сразу две «PLUS» + «MINUS» кнопки и отпустить, а затем изменять значения необходимых параметров теми же кнопками «PLUS» и «MINUS».

Переход на следующий параметр в меню, происходит также нажатием сразу двух кнопок «PLUS» + «MINUS».

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

Порядок переключаемых с помощью двух кнопок параметров соответствует порядку пунктов (2 → 3 → 4 → 5 → 6), перечисленному выше.
Применение параметров в программе в реальном времени происходит только в пунктах 1, 2, 5, 6. Параметры пунктов 3 и 4 применяются после событий старта/остановки компрессора.

При подаче питания на устройство на индикаторе высветится оставшиеся время отдыха компрессора. Это подстраховка. Мало ли, вдруг было отключение электричества, и компрессор до этого события работал, его же нельзя вот так сразу запускать. Нужна пауза минимум 5-10 минут, чтобы давление внутри стравилось, иначе пусковой ток будет слишком велик, и это может повредить мотор. В моём случае, он просто не запускался и гудел на пусковой обмотке, потребляя более 2 кВт!

По истечении таймера защиты индикация переключается на постоянное отображение температуры.

Гистерезис необходим для образования температурного «окна», т.е. если установлена температура +5°, а гистерезис равен 2°, то компрессор будет включаться при +7° и выключаться при +3°.

↑ Конструкция и детали цифрового термостата

1487262612 15
1487262671 16
1487262656 17
1487262683 18

1487262660 19

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

Выпилил окошки и отверстия в заглушке. Хорошо, что у меня завалялся кусок лицевой затемняющей панели от спутникового тюнера!

1487262676 20
1487262696 21

Все эти кусочки пластика я посадил на термоклей. В итоге вышла довольно симпатичная лицевая панель.

1487262718 22

Проводку от платы подключил к контактным клеммам возле компрессора, в соответствии со схемой холодильника. На фотографии видно, что моему холодильнику реально пора на пенсию, но речь не об этом.

Далее прикрутил платы на платформу от крышки.

1487262708 23

1487262733 24

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

1487262724 25
1487262759 26

↑ Результаты проделанной работы

На мой взгляд, выглядит всё круто и аккуратно. Мама очень довольна изобретением и боится нажимать на кнопки, что бы без привычки ничего не сломать.

Выставил температуру в +4,5° и гистерезис в 1,5°. Итого вышло, что холодильник включается при +6° и выключается при +3°. По времени вышло, что компрессор работает 10 минут и отдыхает 55 минут, а это 0,15 рабочего времени. В Интернете сказано, что диапазон соотношение цикла работы/отдыха в 0,2-0,9 считается нормальным. Думаю, моя цифра показывает, что экономия электроэнергии находится на высоком уровне.

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

↑ Файлы

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

На этом всё. Благодарю за внимание!
И да прибудут с вами интересные статьи на Датагоре!

Камрад, рассмотри датагорские рекомендации

🌻 Купон до 1000₽ для новичка на Aliexpress

Никогда не затаривался у китайцев? Пришло время начать!
Камрад, регистрируйся на Али по нашей ссылке. Ты получишь скидочный купон на первый заказ. Не тяни, условия акции меняются.

🌼 Полезные и проверенные железяки, можно брать

Куплено и опробовано читателями или в лаборатории редакции.

Источник

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

Dvuhkanalnyiy termostat termoregulyator na ATmega8 i DS18B20

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

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

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

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

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

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

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

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

Algoritm ustanovki rezhima termostatirovaniya

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

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

Algoritm ustanovki rezhima termoregulirovaniya

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

Algoritm ustanovki odnokratnogo nagreva ohlazhdeniya

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

Otklyuchenie blokov upravleniya

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

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

Podklyuchenie nagruzki k termostatu

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

Sheme podklyucheniya e%60lektricheskogo rele

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

Shemyi podklyucheniya simistorov i optosimistorov

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

Trinistor BT138

Polevoy tranzistor 2N7000

Vyivodyi dioda SHottki 1N5819

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

Hrakteristiki simistorov

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

rarTermostat 2 kanala OK_AlgorithmBuilder (36,7 KiB, 27 322 hits)

unknownTermostat 2 kanala OK_HEX (13,5 KiB, 39 609 hits)

unknownTermostat 2 kanala EEPROM_HEX (91 bytes, 845 hits)

Ustanovka FUSE bitov

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

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

Для работы программы с индикаторами, включаемыми по схеме «Общий Анод» в представленной выше схеме необходимо заменить транзисторы структуры NPN на транзисторы структуры PNP (к примеру ВС557). При этом эмиттеры транзисторов должны подключаться к «+» источника питания, а коллекторы к разрядам индикатора.

unknownTermostat 2 kanala OA_HEX (13,6 KiB, 3 319 hits)

Dvuhkanalnyiy termostat

rating onrating onrating onrating on rating on(67 голосов, оценка: 4,97 из 5)

Источник

2 Схемы

Принципиальные электросхемы, подключение устройств и распиновка разъёмов

464 header

Двухканальный цифровой термостат: схема на контроллере Atmega8

2 tsifrovoy reg temperatury 1

Для сборки схемы термостата использовались такие детали, как: микроконтроллер Atmega8, цифровые датчики температуры DS18B20 и дисплей ЖКИ 2х16 знаков.

Программа для Atmega написана на ассемблере. В программе реализована поддержка шины 1wire для датчиков. Устройство не выполняет поиск или распознавание идентификационных номеров датчиков, каждый из них подключен к разному контакту микроконтроллера. Таким образом к контроллеру можно подключить только два термодатчика, но в данном проекте этого достаточно. Кроме того, это решение значительно упростило программу.

Функции цифрового термостата

Термостат может быть запрограммирован с 8 рабочими параметрами, это рабочий режим, имеется 5 режимов:

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

2 tsifrovoy reg temperatury 3

Подсветка дисплея также управляемая: включить подсветку, выключить подсветку, включить подсветку на 30 секунд после нажатия клавиши.

2 tsifrovoy reg temperatury 4

Параметры устанавливаются в меню, которое становится доступным после длительного удержания кнопки ввода. Во время нормальной работы на ЖК-дисплее отображается текущая температура и состояние выходов, а в режимах 4 и 5 также разница температур. Все параметры сохраняются в памяти EEPROM, поэтому они не теряются после сбоя питания.

2 tsifrovoy reg temperatury 5

Как выглядит алгоритм работы? Алгоритм просто сравнивает фактическую температуру с пороговыми значениями, установленными пользователем. При установке пороговых значений температуры программа следит за тем, чтобы:

Все меню (8 параметров и возможность выхода из режима программирования) вместе с проверкой введенных параметров с учетом режима работы занимало больше места в памяти, чем основная программа. Основная программа — поддержка датчиков — считывание температуры, преобразование данных, отображение данных на дисплее. И соответствующее управление выходами с учетом: считываемой температуры, рабочего режима и заданных пользователем пороговых значений. Все это заняло 8 кБ памяти.

Конструкция и сборка

Регулятор температуры построен на односторонней плате размером 65 x 100 мм, разработана в EAGLE. Несколько элементов, например микроконтроллер, расположены под дисплеем.

2 tsifrovoy reg temperatury 2

Выходы термостата представляют собой два реле 250 В 16 А, поэтому можно легко подключить к ним потребители на приличную мощность. Всё питается от 12 В постоянного тока. Термостат уже долго работает без сбоев.

Источник

cxema21.ru

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

Схема термостата:

circ

IMG 6179

В обычном режиме, на экране индикатора отображается текущая температура, которая обновляется раз в секунду. Длительное, непрерывное нажатие на кнопку SB2 (3 секунды) переведет устройство в режим настроек, в котором можно установить новое значение поддерживаемой температуры. В этом режиме, кнопка SB1 увеличивает значение поддерживаемой температуры, а SB2 – уменьшает. Длительное нажатие на одну из этих кнопок, приведет к быстрому изменению значения температуры. Запись нового значения поддерживаемой температуры произойдет автоматически по истечению 5 секунд, если ни одна кнопка не нажималась.

IMG 6181

Нажатие на кнопку SB1, отобразит поддерживаемую терморегулятором температуру в нижней строке индикатора. Температура отображается все то время пока нажата и удерживается кнопка, сразу после отпускания кнопки информация с экрана исчезает.

IMG 6180

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

Видео работы:

Микроконтроллер работает от внутреннего задающего генератора на 4 мГц. В устройстве используются один датчик, который подключен к порту PC2 микроконтроллера..Печатная плата не разрабатывалась, на фотографиях использована макетная плата которая описывалась в статье.

Источник

Поделиться с друзьями
admin
Здоровая спина
Adblock
detector