""

Терморегулятор на pic

Содержание

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

Терморегулятор на микроконтроллере PIC16F628 с датчиком температуры DS1820

Особенность конструкции: Индикация на ЖК – дисплей текущей температуры. Возможность управления нагревательным элементом или другим мощным внешним прибором. Возможность работы в режиме термостата.

Сердцем схемы является микроконтроллер PIC16F628, поддерживающий постоянный обмен информацией с цифровым термометром DS1820 по протоколу 1-Wire, а также обрабатывает и анализирует эти данные и выводит ее на ЖК дисплей. В качестве дисплея используется модуль 16х2 MT16S2H фирмы «МЭЛТ»

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

Терморегулятор на микроконтроллере PIC16f84 для теплого пола с датчиком температуры DS1621

Устройство работает по интерфейсу l2C. В момент подачи питания, микроконтроллер сначала инициализирует внутренние регистры температурного датчика, а затем проводит его настройку.

Как только инициализация заканчивается, микроконтроллер считывает из энергонезависимой памяти заданные уровни температуры. Затем терморегулятор осуществляет циклический опрос температурного датчика и выводит значение температуры на светодиодный индикатор. Для отображения десятых долей температуры, десятичная точка у индикатора HG2 соединена через сопротивление R14 на общий провод. В конце сравнения заданного и фактического значений температуры программа формирует низкий или высокий уровень сигнала на второй выход RА3 микроконтроллера PIC16f84. Это сигнал и является управляющим для включения терморегулятора.

Требуемую температуру в память микроконтроллера PIC16F84A можно вносить с шагом в пол градуса Цельсия. Выбор нужного значения температуры осуществляется тумблерами SB1 и SB2, а ее запись в энергонезависимую память осуществляется нажатием и удержанием более 1 секунды кнопки SB3.

Температурный датчик DS1621 располагаем в подходящего по диаметру трубки и вблизи с нагревательным кабелем теплых полов. Соединение датчика и терморегулятора осуществляем 4-х проводным кабелем длинной до двух метров. Прошивку к микроконтроллеру скачивайте по ссылке чуть выше, а о программирование PIC микроконтроллеров читаем тут.

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

Оптическая развязка цепей между термостатом и нагревательными элементами теплых полов выполнена на оптосимисторе MOC3041.

Величину температурного гистерезиса можно задавать в интервале от 1 до 10 градусов. Температурный максимум, поддерживаемый регулятором, около 70 градусов. При первом включении схемы в энергонезависимую память МК записывается гистерезис включения и выключения термостата – 5 градусов и поддерживаемая температура -40 градусов. После подачи питания должны загореться все сегменты цифрового индикатора кроме точек. Для задания температуры используются кнопки SB1 и SB2. SB1 — уменьшение, SB2 — увеличение. Гистерезис задается этими же кнопками, но при нажатой SB3. Функциональность кнопок SB1 и SB2 в данном случае такая же. Если задать температуру в сорок градусов, а гистерезис десять, то при сорока градусах будут срабатывать термонагреватели, а при 40+10 = 50 они отключатся.

Номиналы сопротивлений резисторов R8,R9,R10 могут лежать в интервале от 4,7кОм до 10кОм. А вот номиналы сопротивлений R5 и R6 — критичны и должны быть такими, чтобы общий ток, идущий через HL2 и оптрон U1, был не выше 25 миллиампер. Можно вообще HL2 выкинуть из схемы, достаточно и лампы HL1, и тем самым снизить нагрузку на выходе МК.

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

Основа схемы — уже знакомый микроконтроллер PIC16F628A. В роли датчика температуры применен DS18B20, способный правильно функционировать до +125 градусов. Показания установленной и реальной температуры индицируется четырехразрядным семисегментным светодиодным индикатором с общим анодом.

Задание нужной температуры осуществляется при помощи двух кнопок SB1 и SB2. Коммутация нагрузки происходит с помощью оптотиристоров ТО125-12,5-6. При помощи сопротивления R1 задается ток протекающий через светодиоды оптронов, номиналом около 50мА. Оптотиристоры необходимо разместить на радиаторах, согнутых из полоски алюминия площадью 100см 2 . В роли сетевого трансформатора можно использовать любой, обеспечивающий на выходе вторички напряжение 6В при токе нагрузки — от 100 мА. Прошивку к МК и чертеж печатной платы забираем по ссылке выше

Основой схемы является, уже знакомый нам микроконтроллер PIC16F628A. Применение ЖК дисплея позволило освободить несколько выводов МК, что существенно упростило согласование по времени считывания данных с датчика температуры и влажности и вывода результирующей информации на экран. В этой схеме используется универсальный датчик температуры и влажности DHT22.

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

Максимальная температура, которую можно задать в термостате, 42 градуса. Минимальная – 25,7. Интервал изменения петли гистерезиса составляет от 0,1 до 0,9 градуса Цельсия. Влажность можно регулировать в диапазоне от 0,1% до 99,9%. При первом включении МК, в его энергонезависимую память будут сохранены следующие величины: температура — 37,5°C, гистерезис — 0,5°С, влажность — 50%. Далее, в память, будут внесены уже необходимые вам параметры. Скачать прошивку и более качественный вариант схемы можно по ссылке выше.

Терморегулятор на pic

Электронный термостат на PIC16F628 и DS1820.

Автор: Alexandr Mnchenko, alexandrminchenko@yandex.ru
Опубликовано 23.02.2015
Создано при помощи КотоРед.

Термостат – прибор для поддержания постоянной температуры.

С чего всё началось.

Сконструировал я мастерскую, она же помещение для ЧПУ станка. Стал вопрос поддержания приемлемой температуры в помещении, при сырой и холодной погоде. Буржуйка и всякого рода печи отпали сразу, не буду я сидеть сутками и топить дровишки. Решил остановиться на электрическом тепловентиляторе, только не на дешевеньком, в пластиковом корпусе, а на таком:

Параметры:
– Источник электропитания, В/Гц __220 / 50;
– Тепловая мощность, кВт ____ 1 / 2 кВт;
– Производительность, м3/час _____200;

Ну что, с источником тепла определился. Теперь задача номер два – чем управлять? Поиски в интернете привели меня на страницы журнала Радио-Конструктор №11/2008г. (стр.19 – 21), статья «Цифровой термостат». Также мне попалась ссылка на эту же конструкцию на сайте https://radioparty.ru – «Термостат на PIC16F628 и DS1820». Конструкция понравилась простотой, наличием дисплея. Ниже собственно схема, отрисовал в SPlan.

Температуру, которую необходимо поддерживать, можно установить в пределах от -25 до +75°С с шагом 0,25°С. Кроме того можно установить и необходимый гистерезис, в пределах которого температура должна поддерживаться, гистерезис устанавливается шагами по 0,1°С.
Управление термостатом осуществляется с помощью трёх кнопок. Кнопки «+» и «-» (S1 и S2) служат для установки численных значений температуры или гистерезиса, а кнопка «MODE» (S3) – для выбора установки.
Чтобы задать температуру, которую необходимо поддерживать, нужно нажать кнопку S3 и удерживать её пока на дисплее не появится надпись «SET TEMPERATURE».

Затем кнопками S1 и S2 установить необходимый гистерезис.

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

Температура измеряется с помощью интегрального термометра А1 – DS1820. Это готовый калиброванный датчик, не нуждающийся в налаживании. Датчик выполнен в виде отдельного щупа, соединённого с основной схемой экранированным кабелем через штекер 3,5мм (стерео).

Если датчик температуры неисправен или не подключен, отображается на дисплее следующая информация

Схема управления выполнена на микроконтроллере PIC16F628. Тактовая частота стабилизирована кварцевым резонатором ZQ1 на 4МГц.
Управление тепловентилятором осуществляется с помощью симистора VS1 типа BT136. Включение симистора производится с помощью оптопары MOC3043 (можно IL420). Схему включения тепловентилятора я изменил, применил промежуточное реле. В качестве нагрузки использовал катушку реле, а его контакты спаял параллельно и включил в разрыв цепи питания тепловентилятора.
Источник питания схемы построен на основе маломощного китайского трансформатора с двойной вторичной обмоткой , типа 9V-0-9V, на максимальный ток 100mA. Схема выпрямителя сделана двухполупериодной на двух диодах VD1и VD2. В случае использования трансформатора с одиночной вторичной обмоткой нужно применить мостовую схему выпрямителя. Напряжение питания контроллера и дисплея 5V стабилизировано интегральным стабилизатором А2 типа 7805.
Наличие трансформаторного питания и оптопары в цепи управления тепловентилятором обеспечивает полную гальваническую развязку между электросетью и схемой датчика и измерителя температуры.
Для отображения информации используется стандартный двухстрочный жидкокристаллический индикаторный модуль на 16 знаков в строке. Шрифт латинский. Подстроечным резистором R8 можно регулировать контрастность дисплея. Через резистор R9 подаётся ток на схему подсветки дисплея. Если подсветка не нужна вывод 16 дисплея можно не подключать, я поставил тумблер.
Со второго источника я взял файл прошивки, а вот печатную плату устройства пришлось развести, с удовольствием, самому.

Плата управления в сборе:

В файле thermostat.lay есть несколько вкладок: вкладка с моноплатой как на фото; плата питания; две платы управления, но с разными силовыми разъёмами; шаблон для корпусных отверстий.

Задача номер три – корпус для термостата. Подобрал корпус из серии «Z», а именно Z20 (KRADEX).

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

Вкрутил стойки под дисплей и вклеил стойки под плату с кнопками.

Врезал кабельный ввод питания термостата и разъём подключения датчика

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

Нечего ей круглые сутки светить.
Далее приступил к сборки всего в корпус.

Всё компоненты поместились в корпус, правда, плотно. На выходе термостата подключил розетку для тепловентилятора.

Блок термостата с розеткой будут закреплены, на отрезке гетинакса и установлены внутри мастерской при входе, на стенке.

Простой термостат – термометр с энкодером на микроконтроллере PIC16F628. Схема

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

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

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

В данной статье термостат снабжен буквенно-цифровым дисплеем 16х1, информирующий о текущей и заданной температуре. Благодаря этому, помимо функции регулировки, устройство также играет роль электронного термометра.

Температура измеряется с использованием цифрового датчика DS18B20, работающего в диапазоне -55…+125°C. Однако отображаемый диапазон ограничен диапазоном от -55…+99,9°C, и в таком же диапазоне можно установить контролируемую термостатом температуру. Этот диапазон значительно превышает потребности пользователя, однако из-за функции термометра это может быть полезно.

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

Например, если предположить, что температура должна быть на уровне 25°С с точностью 0,1°С, то при снижении температуры на 0,1°С произойдет включение обогревателя, а при увеличение на 0,1°С отключение.

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

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

Увеличив гистерезис в приведенном выше примере до 0,5°C, при поддержании температуры на уровне 25°C, переключение реле не будет происходить при температуре в диапазоне 24,5…25,5°C.

Значение гистерезиса необходимо подбирать в соответствии с поставленной задачей. В данном устройстве гистерезис может быть отрегулирован в диапазоне 0…5°C.

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

Коммутационная схема — это реле с управляемой мощностью 16А. Это дает возможность управлять нагревателем мощностью до 3 кВт. Для обеспечения безопасности, коммутационная схема выполнена на отдельной плате. Благодаря этому панель управления термостатом может быть размещена в любом удобном месте.

Управляющим элементом термостата является микроконтроллер PIC16F628 от «Microchip», который работает от внешнего кварцевого резонатора с частотой 4 МГц. Для отображения установленной и измеренной температуры применен однострочный буквенно-цифровой дисплей с возможностью отображения 16 символов. Контраст дисплея настраивается потенциометром R5.

Параметры термостата выставляются с помощью энкодера (Sw1) со встроенной кнопкой. Сигналы данных подаются на порт RA, а от кнопки — на порт RB.

Как уже было сказано выше, в качестве датчика температуры используется микросхема DS18B20, которая измеряет температуру и передает информацию в 12-битном формате. Микроконтроллер считывает результат через интерфейс 1-Wire и после вычислений выводит на дисплей температуру с разрешением 0,1°C.

Сигнал, управляющий реле, через транзисторный ключ VT1 подается на реле.

Питание термометра осуществляется с помощью стабилизатора напряжения DA1 (78l05), который обеспечивает выходное напряжение 5 В. Конденсаторы С1…С4 сглаживаю входное и выходное напряжение. Диод VD1 (1N4007) защищает схему от переплюсовки входного источника питания.

Термостат собран на двух платах: одна для системы управления с микроконтроллером и дисплеем, вторая для коммутации.

Для питания схемы термостата необходим источник питания с выходным напряжением около 12 В и током не менее 100 мА. После включения на дисплее будет отображаться фактическая температура и значение температуры, которое поддерживается термостатом.

В термостате можно запрограммировать два параметра: желаемую температуру и точность (гистерезис). Эти параметры сохраняются в энергонезависимой памяти EEPROM.

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

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

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

Второй параметр — гистерезис. Чтобы войти в режим изменения гистерезиса, нажмите кнопку энкодера во время нормальной работы термостата. На дисплее отобразится текущее значение в формате Term = T ± 0,0°C (значение по умолчанию 0,0°C). Изменения делаются поворотом ручки энкодера. Как и при настройке температуры, после первого шага начинает мигать измененное значение. Чтобы отказаться от введенных изменений, кратко нажмите клавишу. Чтобы сохранить его нажмите кнопку примерно на две секунды.

Статус активации реле отображается индикацией точки между фактической и контролируемой температурой.

Скачать рисунок печатной платы и прошивку (78,3 KiB, скачано: 872)

Микроконтроллеры Процессоры, проекты, программирование

Nav view search

Навигация

Искать

Терморегулятор на микроконтроллере PIC16F676

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

Позиционный принцип терморегулирования

Для регулирования температуры какого-либо объекта можно на выбор использовать несколько алгоритмов. В промышленных системах наиболее часто встречается позиционное управление, либо управление по ПИ или ПИД закону. Наиболее просто реализуется позиционный принцип. Его можно встретить в огромном количестве устройств. Практически все современные полупроводниковые датчики температуры имеют встроенный выход термостатирования, позволяющий максимально упростить итоговую систему. Но подобный подход отличается неинформативностью и сложностью перенастройки. Решить эту проблему можно с применением микроконтроллера и какого-либо индикатора.

Структурная схема терморегулятора

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

Позиционное управление температурой

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

Принципиальная схема

Основой термостата выбран популярный микроконтроллер PIC 16 F 676. Его характеристики наиболее оптимально подходят для создания простых измерительных устройств и устройств автоматики. Для тактирования использован внешний кварцевый резонатор на 20 МГц. Индикация температуры производится в динамическом режиме на 3-разрядном светодиодном индикаторе с общим катодом. С целью экономии выводов контроллера, управление сегментами реализовано через микросхему сдвигового регистра 74 HC 164.

Принципиальная схема терморегулятора

Температура измеряется датчиком с цифровым выходом модели MCP9800. Его характеристики позволяют отображать результаты измерения с разрешением 0.1 градуса. Точность при этом составляет ±0,5°С. Подключение к микроконтроллеру выполнено по шине I2C, что при необходимости позволяет легко изменить модель датчика на другую.

Управление нагревательным элементом может быть выполнено двумя способами. Один из них реализуется с помощью миниатюрного электромагнитного реле серии RE 03. В приведенной схеме используется модель RE 032005, срабатывающая от напряжения 5В. Нормально-разомкнутый контакт реле способен коммутировать нагрузку переменного тока с напряжением 230В и током 6А.

Печатная плата терморегулятораРасположение элементов сверху Расположение элементов снизу

Альтернативным вариантом реле может стать использование полупроводникового коммутационного устройства. В этом случае на плату устанавливается опторазвязка серии MOC30хх, позволяющая управлять мощным симистором. Рекомендуется использовать модели MOC306x, так как эти элементы имеют встроенный детектор перехода через 0. Его наличие позволяет избежать сложных коммутационных процессов в электрической цепи и связанных с ними недостатков. При использовании опторазвязки не требуется установка транзистора

Работа термостата

Задание температуры срабатывания реле выполняется с помощью трех кнопок. Кнопка S 3 при длительном нажатии переводит управляющую программу в режим установки задания. В этом режиме отображаются мигающие цифры, соответствующие уставке температуры. Кнопки S 3 и S 2 предназначены для соответственно увеличения и уменьшения уставки. Шаг изменения задания равен разрешению датчика и составляет 0.5 градуса. Диапазон изменения уставки – 0..99.9 градусов. Для выхода из режима задания требуется вновь длительно нажать кнопку S 3.

Собранная плата терморегулятора

К сожалению, малый объем памяти микроконтроллера не позволил реализовать задание гистерезиса, поэтому он задается программно.

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

Soft_I2C_Scl : sbit at RA1_bit;

Soft_I2C_Sda : sbit at RA0_bit;

Soft_I2C_Scl_Direction : sbit at TRISA1_bit;

Soft_I2C_Sda_Direction : sbit at TRISA0_bit;

Терморегулятор на pic

продаётся раскрученный сайт недорого обращаться в личку

Для домашних нужд предлагается схема терморегулятора который измерял бы температуру и поддерживал температуру в погребе в помещении и тот, кто желает попробовать свои силы в изготовлении несложного терморегулятора своими руками на базе микроконтроллера предлагается несколько вариантов решений, в основе построения использованием распространенный цифровой датчик температуры DS18b20 Dallas Semiconductor микроконтроллер серии PIC от Microchip.
С помощью данного терморегулятора Вы сможете контролировать температуру и управлять подогревом в помещении в автоматическом режиме.

Возможности терморегулятора
– Показания температуры выводятся на индикатор LCD
– Возможность регулировки и поддержания температуры на установленное значение
– Контроллер PIC16F628
– DS18b20 – цифровой термодатчик
– Программа для прошивки микроконтроллера в файле thermostst.asm
– Печатная плата схема, плата

Терморегулятор CH-1000 предназначены для управления системами регулирования температуры в пределах от – 50°С до + 120 °С. Регулятор может использоваться как в системах отопления, так и в системах охлаждения с управлением компрессором.
Регулятор имеет систему сохранения данных.
В регуляторе встроена интеллектуальная система аварийного контроля данных в постоянной памяти, а также система контроля данных в оперативной памяти. В процессе работы регулятор проверяет данные на соответствие технических параметрам и при возникновении ситуации, при которой какой либо параметр попадает в недопустимую область, останавливает работу системы и производит перезагрузку данных.
Функция контроля среды позволяет контролировать исправность системы отопления или охлаждения по динамическим параметрам. Контроль по времени выхода оборудования на режим и отклонение параметра регулируемой среды выше допустимых пределов.
Контроль повреждения или обрыва линии от датчика.
Регистры индикации максимальной и минимальной температуры зафиксированной регулятором в течении работы.
В регуляторе применяется цифровой датчик температуры DS18B20 с возможностью подключения по кабелю на удалении до 300 м.

Возможности терморегулятора
– Показания температуры выводятся на индикатор
– Напряжение питания

9 – 12 вольт или

18 – 24 вольт (AC/DC)
– Возможность регулировки и поддержания температуры на установленное значение
– Диапазон задания °С гистерезиса регулирования(Тгис) от 0 до 10 °С
– Дискретность индикации – 0,1°С
– Контроллер PIC16F628
– DS18b20 – цифровой термодатчик
– 78L05-SO-8 – микросхема памяти
– Файл для прошивки микроконтроллера скачать
– Схема терморегулятора скачать, GIF
– Схема терморегулятора скачать, формат P-cad 2006
– Полное описание описание скачать, PDF

Термоконтроллер -55°C. 125°C±0,1°C с релейным управлением и мониторингом нижнего и верхнего значений
Измерение производится с дискретностью 0,1°С. Ввиду того, что производитель DS18B20 не гарантирует заявленную точность, особенно на краях диапазона, в конструкцию терморегулятора добавлено сервисное меню коррекции показаний, в сторону уменьшения или увеличения, с шагом 0,1°С. Данная поправка заносится в энергонезависимую память и становится независимой от включения/выключения питания.
Для просмотра нижнего или верхнего значений, достаточно кратковременно нажать кнопку “В” и на индикаторе последовательно высветятся обозначения режимов и их значения:
[H],XXX,[B],XXX и возврат в режим показа текущей температуры.

Возможности терморегулятора
– Показания температуры выводятся на трехзначный индикатор
– Возможность регулировки и поддержания температуры на установленном значении
– Контроллер PIC16F676
– DS18b20 – цифровой термодатчик
– 74HC595 – микросхема памяти
– Файл прошивки термометра для индикатора с ОА и контроллером PIC16F676
– Файл прошивки термометра для индикатора с ОK и контроллером PIC16F676
– Файл прошивки термометра для индикатора с ОА и контроллером PIC16F630
– Файл прошивки термометра для индикатора с ОK и контроллером PIC16F630

Термометр + термостат на микроконтроллере PIC16F876 и датчиках DS18B20

История этого термометра началась в далёком 2011 году. Мне понадобилось в подвале частного дома, в холодные русские зимы, включать обогреватель для того чтобы не замерзала вода в трубе. А так как труба идёт через весь подвал, измерять температуру требовалось в нескольких точках.
Также включать и выключать обогреватель надо было исходя из какой-то логики, опираясь на данные нескольких датчиков. И мной был разработан термометр с возможностью работы с несколькими датчиками (от 1 до 4) и развитой логикой управления обогревателем (охладителем). За основу был взят микроконтроллер Microchip PIC16C73B, датчики DS18B20.

Для читателей сайта datagor.ru данная конструкция была доработана под более распространенный микроконтроллер PIC16F876(A), убрана микросхема памяти AT24C16, добавлено сохранение минимальной и максимальной температуры в EEPROM.
Вкусные подробности далее.

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

↑ Схема термометра

Светодиоды LED2-LED5 показывают, данные какого датчика в данный момент отображаются на индикаторе, светодиоды LED6 и LED7 отображают включение силового ключа и установленный режим (нагреватель или охладитель).

↑ Описание работы программы

↑ Режим общих настроек термометра

Начнём с самого простого, с общих настроек. Чтобы войти в этот режим, надо в течении 3 секунд удерживать нажатой кнопку S1. Первый пункт меню, режим работы силового устройства, нагреватель или охладитель. Пункт меню отображается “out”, режим нагревателя “H” от слова HOT (жара), режим охладителя “C” от слова COLD (холод).
Разница между ними в том, что в режиме нагревателя силовое устройство включается при снижение температуры до нижнего уровня (величина уровня и логика управления устанавливается в меню датчика) и выключается при достижении верхнего, а в режиме охладителя наоборот, при достижении верхнего уровня силовое устройство включается, а при достижении нижнего выключается.

При включении силового устройство режим индицируется соответствующим светодиодом. Режим нагревателя у меня индицирует красный светодиод, режим охладителя – синий. Режим переключается кнопками S3 и S1, переход в следующий пункт меню – кнопка S2.

Следующий пункт меню – время переключения на следующий датчик при отображении температуры. Пункт меню отображается “dt”, время переключения меняется кнопками S3 и S1. Всего существует четыре значения: 1,2,3,4 секунды. Мне удобнее 1секунда (значение по умолчанию), остальные сделал на всякий случай. Чтобы выйти из настроек с сохранением параметром, надо нажать и удерживать в течении 3 секунд кнопку S2, выхода без сохранения параметров не существует.

↑ Режим настроек датчика

Здесь будет посложнее. Чтобы перейти в раздел настроек датчика нужно в режиме отображения температуры сначала нажать кнопку S2, затем кнопками S1 и S3 выбрать нужный датчик, затем нажать и удерживать в течении 3 секунд кнопку S2, и вы войдёте в режим настроек данного датчика.

При определённом навыке, можно сразу нажать и удерживать в течении 3 секунд кнопку S3, поймав тот момент, когда отображается нужный датчик.
При входе в этот режим цифровой индикатор гаснет, остаётся гореть только светодиод указывающий номер датчика, двигая кнопками S3 (влево) и S1 (вправо), мы можем выбрать номер отображения данного датчика.
Так как при регистрации датчиков в термометре они сортируются по встроенному коду ROM, а мне хотелось бы чтобы они отображались в определённой последовательности, например в моём случае от ближнего конца подвала к дальнему.
Данная настройка позволяет отображать температуру в том порядке, в котором удобно, а не в порядке следования ROM датчиков.
Чтобы перейти в следующий пункт меню, надо нажать кнопку S2.

Следующий пункт меню, управление логикой включения силового устройства от данного датчика (слева на индикаторе будет отображаться “on”). По умолчанию все датчики отключены от управления, это индицируется дефисом в крайнем правом сегменте. Режима управления три, отключено (дефис в правом сегменте), режим “ИЛИ” (вертикальная линия в правом сегменте) и режим “И” (две вертикальные линии в правом сегменте). Режим “ИЛИ” означает, что если температура хотя бы одного датчика в этом режиме перешла порог включения или выключения, то силовое устройство будет включено или выключено. Включение имеет приоритет перед выключением. Если датчик вдруг сломался, а он участвует в управлении силовым устройством, программа считает, он находится в состоянии выключения.

Аналогично устанавливается логика выключения силового устройства в следующем пункте меню, в которое мы попадаем нажав кнопку S2. На индикаторе отображается “OFF”.

Нажав кнопку S2, мы попадаем в следующий пункт меню, это установка верхнего уровня управления силовым устройством. Он отображается буквой “H” (от HIGH – высокий) в крайнем левом сегменте индикатора. Кнопками S1 (уменьшает) и S1(увеличивает) выставляем температуру уровня, если кнопку S1 или S3 удерживать более 3 секунд, то к значению температуры начинает прибавляться (вычитаться) не 1, а 10.

Также выставляем температуру нижнего уровня в следующем пункте меню, в который попадаем нажав кнопку S2, он отображается “L” (от LOW нижний). По нажатию кнопки S2 мы попадаем в следующий пункт меню по кругу, чтобы выйти из меню настроек датчика с сохранением параметров, надо нажать и удерживать кнопку S2 в течении 3 секунд.

Чтобы понять логику управления силовым устройством, разберём пример. Предположим, что у нас подключено четыре датчика. Два из них (1 и 2) включены в режим И и два (3 и 4) в режим ИЛИ на включение, и все в режим ИЛИ на выключение. Термометр включен в режим охладителя.

Установлены следующие пороги (верхний, нижний) д1(70,50), д2(65,53), д3(30,20), д4(80,70). Установилась следующая температура: д1(75), д2(60), д3(28), д4(75). В данном состоянии охладитель включён не будет, несмотря на то что на д1 превышен порог, так как он включён в режим “И”, а на д2 верхний порог не достигнут. И на датчиках д3, д4 верхний порог тоже не достигнут. Чтобы включился охладитель, необходимо, чтобы верхний порог был достигнут или на одном из датчиков д3, д4, или на обоих датчиках д1, д2.

При температуре д1(76), д2(65), д3(29), д4(79) охладитель включится. Теперь, чтобы он выключился, необходимо, чтобы на одном из датчиков (включен режим “ИЛИ” для всех датчиков на выключение) температура достигла нижнего порога. При температуре д1(66), д2(57), д3(20), д4(73) охладитель выключится. Если возникнет конфликт, часть датчиков будет включать охладитель, часть выключать, то охладитель останется включенным, так как включение имеет приоритет перед выключением. Например при температуре д1(66), д2(57), д3(20), д4(80) охладитель выключен не будет до тех пор пока температура на датчике д4 не опуститься ниже верхнего порога.

Коды ошибок, которые может выдавать термометр:
Err 1 – Не подключено ни одного датчика, термометр постоянно пытается найти подключенные датчики, как только находит, термометр переходит в режим отображения температуры. После того, как термометр перешёл в режим отображения температуры, поиск датчиков больше не производится, чтобы найти вновь подключенные датчики, надо выключить затем снова включить питание термометра.
Err 2 – Сбой оперативной памяти микроконтроллера одновременно со сбоем чтения EEPROM. Может случиться при плохом питании микроконтроллера.
Err 3 – Подключено больше чем 4 датчика.
Err 4 – Ошибка записи EEPROM.
Err 6 – Ошибка датчика. Т.е. Датчик при включении был найден, а затем при работе не отвечает. Причин может быть несколько, плохая проводка, длинный кабель, помехи, плохое питание.
Err 8 – Рестарт сторожевого таймера. Глюк программы, У меня такого не случалось.
Err 5, 7, 9 – Случаться тоже не должны, объяснить сложно, что они значат, если вдруг случаться, пишите, будем разбираться.

↑ Конструкция

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

Разработанная печатная плата рассчитана на установку такого телефонного четырёх контактного разъёма, обратите внимание, что существуют разъёмы у которых 6 мест под контакты, а установлено только четыре. Так вот они к данной плате не подойдут, они шире. Плата односторонняя, без перемычек, разрабатывалась под корпус ProsKit 203-125A.

↑ Схема и печатная плата датчика:

↑ Силовое устройство

Данный модуль третий год без поломок управляет 2кВт тепловентилятором. Симистор, естественно, установлен на радиатор. Он включен между последним и предпоследним датчиком, на расстоянии 15 метров от термометра.

↑ Файлы

Во вложении файлы прошивки для микроконтроллера PIC16F876 и PIC16F876A.
▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Биты конфигурации включены в HEX файл, на всякий случай, дублирую:

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

Читайте также:  Вращающиеся трансформаторы бвг и предварительные усилители видеомагнитофонов
Рейтинг
( Пока оценок нет )
Загрузка ...
×
×
Adblock
detector