На рисунке показана схема двух канального терморегулятора, в качестве датчиков температуры используются датчики DS18B20 корпорации Dallas Semiconductor. Терморегулятор имеет рабочий диапазон температур от 0 до 125 градусов Цельсия, управление терморегулятором осуществляется при помощи трех кнопок:
- SA1 SA2 — регулировка температуры срабатывания реле
- SA3 — выбор канала при регулировании температуры
HL1 HL2 — индикатор включения нагрева (1 и 2 каналы), HL3 HL4 — индикатор опроса датчиков, в качестве индикатора используется WH1602B или аналогичный на базе контроллера HD44780.
DS18B20 — цифровой термометр с программируемым разрешением, от 9 до 12–bit, которое может сохраняться в EEPROM памяти прибора. DS18B20 обменивается данными по 1-Wire шине и при этом может быть как единственным устройством на линии так и работать в группе. Все процессы на шине управляются центральным микропроцессором. Диапазон измерений от –55°C до +125°C и точностью 0.5°C в диапазоне от –10°C до +85°C.
Основной экран терморегулятора
При нажатии SA3 появится возможность установки температуры регулятора для 1 и 2 канала.
Прошивка — ds18b20_pic16f877_g1.hex — гистерезис 1 градус
ds18b20_pic16f877.hex — гистерезис 2 градуса
Печатная плата — PIC16F877a.lay6 (файл предоставлен пользователем peregar78)
http://rcl-radio.ru/wp-content/uploads/2017/12/ds18b20_pic_XT3-1.hex
Пока отключил второй канал, все сделал как у других, у них все работает. Если будет показывать тысячи градусов это нестрашно, главное чтобы на изминение температуры реагировал.
Добрый день!
Залил последнюю прошивку, к сожалению без изменений, второй датчик отключен, первый показывает -1.0 С, при отключении 0.00 С, на нагрев пальцами не реагирует.
Попробую уже завтра, обязательно отпишусь.
http://rcl-radio.ru/wp-content/uploads/2017/12/ds18b20_pic_XT3-2.hex
Немного переработал, только первый канал. Цифровой датчик точно ds18b20?
Можно немного изменить в большую сторону сопротивление установленное на датчике 4,7к , возможно оно мало для него.
Тоже не пошла, показывает -1.0 С, пробовал резистор и 8к и 2к, без результата, МК другой прошивал — не помогло.
На датчиках надпись такая:
DALLAS
18B20
1735C4
+051AG
есть общие рекомендации по данной теме:
1. увеличение сопротивления до 100к (лучше поставить подстроечный)
2. Осциллографом посмотреть форму импульсов с датчика (2 вывод) и принять меры если форма импульсов искажена.
3. Поставить емкость + питания датчика — земля 0,1 мкФ
4. резистор 4,7 к должен быть максимально близко впаян к выводам датчика
Датчик не запускается, а если и запускается, то МК не читает импульсы.
Так же рекомендовано поднять частоту кварца до 8 — 20 Мгц.
http://rcl-radio.ru/wp-content/uploads/2017/12/ds18b20_pic_XT3-3.hex
В этой версии прошивки включена опция коррекции ошибок для шины связи 1-Wire
Пока на этом все, у меня большее идей нет.
Все вышеописанное проделал, ничего не помогло, кварц под рукой есть на 8 и 12Мгц, с ними схема вообще не завелась.
Прошивку поменял, результатов ноль.
Фотографии сигнала на 2 ноге датчика прилагаю.
Остается только поменять датчики, эти на АЛИ брал, может партия бракованная, завтра попробую пару штук в магазине купить.
Еще
И еще
http://rcl-radio.ru/wp-content/uploads/2017/12/ds18b20_pic_XT3-4.hex
Прошивка на 12 МГц
Прошивка на 12Мгц с кварцем на 12Мгц не завелась но, с кварцем 4Мгц схема завелась только показания с датчиком и без одинаковые 0.00 С.
http://rcl-radio.ru/wp-content/uploads/2017/12/ds18b20_pic_XT3-5.hex
Забыл сменить уставки для кварца до 4 МГц (ХТ) на от 4 до 20 МГц (HS). Сейчас должно заработать с кварцем 12 МГц
Добрый день!
Ура! на 12Мгц завелся датчик, большая просьба, переделать первоначальную прошивку на 12Мгц (или она и так заведется только HS поставить?) и если Вас не затруднит сделать гистерезис 2 градуса.
буду делать ПП для сего девайса и ключи на семисторах, если интересно могу потом прислать ПП и схему.
Заранее спасибо!
Обратил внимание что, не показывает десятые доли градуса, это можно как-то исправить?
Здравствуйте!
http://rcl-radio.ru/wp-content/uploads/2017/12/ds18b20_pic16f877.hex
Новая прошивка на 2 канала, гистерезис 2 градуса, то есть за 2 градуса до уставки сработает реле, так же температуре ниже на 2 градуса от уставки реле отключится.
12 МГц кварц, надеюсь на 2 датчика хватит.
Должны сейчас отображаться десятичные доли градуса.
Проверьте прошивку, должна заработать как надо.
Все заработало, спасибо! Только гистерезис работает не правильно:
установил 25С нагрев включается при 24С и выключается при 24С.
А нужно так установил 25С нагрелся до 25С и выключился, при 23С опять включился.
Будьте добры если можно.
http://rcl-radio.ru/wp-content/uploads/2017/12/ds18b20_pic16f877-1.hex
Вроде все правильно работает уставка 30, при достижении 30 отключается, при понижении до 28 включается.
ЗДОРОВО!!!
Все работает как надо, спасибо Вам за тех. поддержку, буду делать готовое устройство.
СПАСИБО!
Пожалуйста!
Как будет готово, если несложно, то в комментариях опубликуйте фото готового уст-ва, плату и измененную схему — может кому пригодится.
Есть ли возможность, построить алгоритм работы таким образом, что бы датчик был один, а реле 3, то есть при достижении до заданной температуры первое реле отключал ось за 5 градусов, второе за 3 градуса, третье при достижении установленного параметра например:65гр. параметр установки, 3 группы тэнов греют, до 60гр.3 реле., 63гр. 2 реле., 65гр.1 реле. Гистерезис 5 гр.?
Проект старый, исходники утеряны, изменить код не получится.
Я плату скинул в личку на почту, недели через две её соберу, жду контроллеры, отпишу отзыв по работе, можно сюда закинуть к проекту.
Да конечно, обязательно опубликую.
Еще раз спасибо!