Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Насчёт светодиода - это мысль, спасибо, у меня как раз здесь телефончик завалялся. Проверил новые прошивки, вместо незначащего выскакивает минус, дальше проверить не могу - за окном минус пять градусов.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):Проверил новые прошивки, вместо незначащего выскакивает минус
Выскакивает правильно?
nvz писал(а):дальше проверить не могу - за окном минус пять градусов.
А в холодильнике?
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Выскакивает правильно. Холодильника у меня на работе нет (есть микроволновка), а что, в холодильнике температура ниже 10 градусов?
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):Выскакивает правильно. Холодильника у меня на работе нет (есть микроволновка), а что, в холодильнике температура ниже 10 градусов?
У меня в морозилке -23. Можно еще проверить по установленной температуре. Ее то точно можно выставлять хоть все -55.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Блин, про установку температуры не догадался. Проверю, но уже послезавтра, я все конструкции делаю на работе. А пока буду разрабатывать печатку, схемы и печатные платы делаю в ACAD14.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добрый всем вечер
Перечитал всю тему в ввиду надобности подобного устройства, и малость запутался с возможностями каждой из прошивок. Собственно говоря у меня проблема следующего характера: в холодильнике сломался контроллер, и найти родной весьма затруднительно, к тому же интерес к МК(мне конечно ближе AVR, с них начинал) побудил меня создать контроллер своими силами. Вообщем устройство должно как минимум контроллировать и поддерживать температуру в холодильной камере(их 2) и включать копрессор, т.е. по сути подходит вариант предложеный в начале темы, с отключенной функцией нагревателя. Но вот есть желание использовать 2 датчика (для холодильной и морозильной камеры отдельно) и по возможности переключать источник контроля. Можно было бы добавить четвертую кнопку для переключения контролируемой камеры и сохронять этот выбор после выключения, с возможностью установок поддерживаемой температуры и гистерезиса для каждой камеры. Компрессор к сожалению один.
Помогите чем можете, ибо отсутсвие постоянной практики в создании устройств на мк дает о себе знать, последнее устройство делал года 3 назад, и навыки написания программ почти утеряны
Помогите чем можете, ибо отсутсвие постоянной практики в создании устройств на мк дает о себе знать, последнее устройство делал года 3 назад, и навыки написания программ почти утеряны
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
NoMaD писал(а):...мне конечно ближе AVR, с них начинал...
Могу помочь только с PIC.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Soir писал(а):NoMaD писал(а):...мне конечно ближе AVR, с них начинал...
Могу помочь только с PIC.
Это для меня не принципиально, просто я с ними не работал
Я тут набрасал схемку, немного изменив вашу. Кнопка XK/MK/OFF переключает контролируемую камеру. Долгое нажатие на эту кнопку выключает компрессор(режим разморозки). Реле RL1 должно быть включено всегда кроме режима OFF.
Буду благодарен любой помощи
- Вложения
-
- TErmo.png
- (40.12 КБ) 584 скачивания
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
NoMaD писал(а):Я тут набрасал схемку, немного изменив вашу. Кнопка XK/MK/OFF переключает контролируемую камеру. Долгое нажатие на эту кнопку выключает компрессор(режим разморозки). Реле RL1 должно быть включено всегда кроме режима OFF.
Вопросы по схеме.
1. Назначение кнопок в цепях датчиков. Это выбор активного датчика?
2. Если нет и выбор датчика осуществляется кнопкой XK/MK/OFF, то каким образом будет индицироваться активный датчик?
3. Если установки для XK и MK разные, опять же, как их различать на индикаторе?
4. Тип индикатора: общий анод или катод.
5. Нужны ли в схеме ключи (инверторы) U3-U6?
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Soir, это он наверное взял с моего проекта. Я этими переключателями эмитировал обрыв датчика.1. Назначение кнопок в цепях датчиков. Это выбор активного датчика?
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Вообщем хотелось бы видеть это примерно так:
-При включении должен быть режим OFF, т.е. на 15 и 16 ноге ноль, при этом индикация температур должна работать. При кратковременном нажатии на кнопку XK/MK/OFF мы меняем индицируемую температуру. В этом же режиме(т.е. OFF) при нажатии на кнопку SET мы выставляем 5 пунктов:
-контролируемую камеру( примерно так С__1 или С__2) при этом 1 это ХК а 2 это МК.
-выставляем температуру 1 камеры(примерно так 1 XX)
-выставляем гистерезис 1 камеры(примерно так d1 X)
-выставляем температуру 2 камеры(примерно так 2-XX)
-выставляем гистерезис 2 камеры(примерно так d2 X)
и так по кольцу. По истечении 5 сек если не трогать клавиши все сохраняется и возвращаемся в режим индикации. Настройку температур и гистерезиса производим без десятых долей. Вместо 1 и 2 я бы поставил просто светодиоды но видимо ног на контроллере уже нет.
-При длительном нажатии на XK/MK/OFF включаем RL1(т.е. оно должно быть включенно постоянно пока режим ON) и управление компрессором.
Вообщем как то так
Может я малость намудрил конечно
Кнопки я взял видимо со схемы ALex, они там не нужны, просто они не мешают
-При включении должен быть режим OFF, т.е. на 15 и 16 ноге ноль, при этом индикация температур должна работать. При кратковременном нажатии на кнопку XK/MK/OFF мы меняем индицируемую температуру. В этом же режиме(т.е. OFF) при нажатии на кнопку SET мы выставляем 5 пунктов:
-контролируемую камеру( примерно так С__1 или С__2) при этом 1 это ХК а 2 это МК.
-выставляем температуру 1 камеры(примерно так 1 XX)
-выставляем гистерезис 1 камеры(примерно так d1 X)
-выставляем температуру 2 камеры(примерно так 2-XX)
-выставляем гистерезис 2 камеры(примерно так d2 X)
и так по кольцу. По истечении 5 сек если не трогать клавиши все сохраняется и возвращаемся в режим индикации. Настройку температур и гистерезиса производим без десятых долей. Вместо 1 и 2 я бы поставил просто светодиоды но видимо ног на контроллере уже нет.
-При длительном нажатии на XK/MK/OFF включаем RL1(т.е. оно должно быть включенно постоянно пока режим ON) и управление компрессором.
Вообщем как то так
Кнопки я взял видимо со схемы ALex, они там не нужны, просто они не мешают
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Извините, конечно, но я не понимаю, зачем такие сложности? По моему проще поставить переключатель типа тумблера для переключения датчиков и сигнализации ХК и МК. Уставки температуры выставлять отдельно для камеры, индикация которой включена, всё равно это делать надо будет редко.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Soir! Индикацию минусовой температуры проверил - всё работает правильно. У меня просьба, если не трудно:
имеются PIC16C622-04/P, кварц 14.318 МГц.
При достижении на входе 10 импульсов/сек и выше - на выходе плюс, при снижении до 9 импульсов и ниже - выдержка времени 10 секунд - на выходе минус. Если во время выдержки времени число импульсов повышается до 10 и выше - на выходе плюс. Как-то так.
С уважением NVZ.
имеются PIC16C622-04/P, кварц 14.318 МГц.
При достижении на входе 10 импульсов/сек и выше - на выходе плюс, при снижении до 9 импульсов и ниже - выдержка времени 10 секунд - на выходе минус. Если во время выдержки времени число импульсов повышается до 10 и выше - на выходе плюс. Как-то так.
С уважением NVZ.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):У меня просьба, если не трудно:
имеются PIC16C622-04/P, кварц 14.318 МГц.
При достижении на входе 10 импульсов/сек и выше - на выходе плюс, при снижении до 9 импульсов и ниже - выдержка времени 10 секунд - на выходе минус. Если во время выдержки времени число импульсов повышается до 10 и выше - на выходе плюс. Как-то так.
С уважением NVZ.
Чуть освобожусь, тогда подумаю, как это реализовать.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):Извините, конечно, но я не понимаю, зачем такие сложности? По моему проще поставить переключатель типа тумблера для переключения датчиков и сигнализации ХК и МК. Уставки температуры выставлять отдельно для камеры, индикация которой включена, всё равно это делать надо будет редко.
Ну в принципе я это и предлагаю, только вместо тумблера кнопка XK/MK/OFF, в остальном полностью согласен. Во время работы компрессора должна быть зашита от переключения контролируемой камеры, только в режиме OFF.
Вообщем подумал и решил отказаться от второго датчика, оставил контроль только холодильной камерой.
Принцип работы такой:
При включении на индикаторе реальная температура, при кратковременном нажатии на Set/On выставляем рабочую температуру и гистерезис, 15 и 16 ноги по нулям. При длительном нажатии на кнопку Set/On включаем компрессор и Лампу. В режиме On лампа горит постоянно, а компрессор соответственно регулируется. При повторном длительном нажатии на Set/On компрессор и лампа выключаются. Настройки температуры работают и в режиме off и в режиме on. По сути устройство такое же как и в начале темы, за исключением отсутсвия управление обогревателем и наличием выключателя On/Off.
Внизу предпологаемая схема. Люди добри помогите пжлста, бо без холодильника дуже тяжко
- Вложения
-
- Termo.rar
- (39.22 КБ) 261 скачивание
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Осмелюсь ответить и на этот раз. Моё мнение - выход команды на компрессор надо всё-таки задавать вручную (выключателем), а не программно. В память микропроцессора записываются уставки температуры, но вряд ли там же находятся команды ON/OFF. После кратковременного прерывания электроэнергии термометр будет показывать температуру, будут обрабатываться уставки температуры, а выхода на компрессор не будет.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
NoMaD писал(а):Внизу предпологаемая схема. Люди добри помогите пжлста, бо без холодильника дуже тяжко
Это уже окончательный вариант, или... Не успеваю за Вами.
Вечером, если ничего не помешает, напишу прошивку.
По схеме, добавьте ограничительные резисторы в цепи управления кнопок. Или хотя бы один на все, при условии, что одновременно на две и более кнопки не нажимать.
И еще. Подключение кнопок сделайте к выводам 6, 7, 8. Диоды нужно развернуть анодами к выводам МК.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Учел все рекомендации и в итоге окончательный вариант.
При подаче питания компрессор и лампа работатют, все работает нормально. (лампа горит постоянно)
Все настройки работают, вообщем нормальная работа устройства.
При долговременном нажатии на кнопку Set/Off компрессор и лампа выключаются, режим не сохраняем в памяти, т.е. при снятии питания и подаче заново опять все работает, защита от выключения энергии
NVZ спасибо за подсказку насчет On/off.
Думаю это окончательный вариант, я понял что простота гарант надежности
При подаче питания компрессор и лампа работатют, все работает нормально. (лампа горит постоянно)
Все настройки работают, вообщем нормальная работа устройства.
При долговременном нажатии на кнопку Set/Off компрессор и лампа выключаются, режим не сохраняем в памяти, т.е. при снятии питания и подаче заново опять все работает, защита от выключения энергии
NVZ спасибо за подсказку насчет On/off.
Думаю это окончательный вариант, я понял что простота гарант надежности
- Вложения
-
- Termo.rar
- (21.25 КБ) 253 скачивания
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
NoMaD писал(а):Учел все рекомендации и в итоге окончательный вариант.
При подаче питания компрессор и лампа работатют, все работает нормально. (лампа горит постоянно)
Все настройки работают, вообщем нормальная работа устройства.
При долговременном нажатии на кнопку Set/Off компрессор и лампа выключаются, режим не сохраняем в памяти, т.е. при снятии питания и подаче заново опять все работает, защита от выключения энергии
NVZ спасибо за подсказку насчет On/off.
Думаю это окончательный вариант, я понял что простота гарант надежности
Смотрите вложение, проверяйте.
Схема Ваша, я лишь чуть изменил для корректной работы симуляции в Proteus. То есть, моя схема для демонстрации и отладки. Единственное что - резистор R4 рекомендуется 4,7 кОм.
Работает следующим образом. При включении питания лампа включена. До первого измерения температуры - компрессор выключен. После измерения, если температура оказалась выше установленной, включается компрессор. После снижения температуры на величину дельта ниже установленной, компрессор выключается.
Кратковременное нажатие на кнопку SET приводит к миганию установленной температуры. Кратковременное нажатие на кнопки PLUS/MINUS увеличивает/уменьшает десятые доли градуса. Длинное нажатие ускоряет процесс установки. Повторное нажатие на SET переводит устройство в режим установки дельты. Тут все аналогично. После завершения установки, примерно через 5 сек, данные заносятся в EEPROM и будут оттуда считаны при последующем включении устройства.
Длинное нажатие на кнопку SET в режиме отображения измеренной температуры приводит к выключению лампы и компрессора. Повторное включение только после снятия питания.
Вроде все как Вы просили. Если что не так - пишите.
- Вложения
-
- Termo_1.zip
- (24.28 КБ) 292 скачивания
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Soir большое спасибо за программу, но все же есть 2 момента:
-Извиняюсь если неправильно сформулировал назначение режима on/off; при длительном нажатии на кнопку set выключаем и включаем также, просто мы не сохраняем это значение в память. Эта функция для оперативного включения выключения компрессора (ну и лампы тоже), просто чтобы при размарозке ни лезть вытыкать втыкать вилку из розетки (она у меня далеко)
-И второй маленький моментик, компрессор включаем при температуре равной установленая + дельта, т.е. если допустим установленая 5, дельта 2 а реальная 7 то мы включаем компрессор и доводим до 5 и выключаем. У вас помойму наоборот
В остальном пожалуй все отлично, спасибо
Ах да, нельзя ли как нибудь избавится от 85 при запуске и что в реально схеме мы ставим на место инвентора? Транзисторы или МС? Или не важно?
-Извиняюсь если неправильно сформулировал назначение режима on/off; при длительном нажатии на кнопку set выключаем и включаем также, просто мы не сохраняем это значение в память. Эта функция для оперативного включения выключения компрессора (ну и лампы тоже), просто чтобы при размарозке ни лезть вытыкать втыкать вилку из розетки (она у меня далеко)
-И второй маленький моментик, компрессор включаем при температуре равной установленая + дельта, т.е. если допустим установленая 5, дельта 2 а реальная 7 то мы включаем компрессор и доводим до 5 и выключаем. У вас помойму наоборот
В остальном пожалуй все отлично, спасибо
Ах да, нельзя ли как нибудь избавится от 85 при запуске и что в реально схеме мы ставим на место инвентора? Транзисторы или МС? Или не важно?