Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20
Насчёт светодиода - это мысль, спасибо, у меня как раз здесь телефончик завалялся. Проверил новые прошивки, вместо незначащего выскакивает минус, дальше проверить не могу - за окном минус пять градусов.
- Реклама
Выскакивает правильно?nvz писал(а):Проверил новые прошивки, вместо незначащего выскакивает минус
А в холодильнике?nvz писал(а):дальше проверить не могу - за окном минус пять градусов.
Выскакивает правильно. Холодильника у меня на работе нет (есть микроволновка), а что, в холодильнике температура ниже 10 градусов?
У меня в морозилке -23. Можно еще проверить по установленной температуре. Ее то точно можно выставлять хоть все -55.nvz писал(а):Выскакивает правильно. Холодильника у меня на работе нет (есть микроволновка), а что, в холодильнике температура ниже 10 градусов?
Блин, про установку температуры не догадался. Проверю, но уже послезавтра, я все конструкции делаю на работе. А пока буду разрабатывать печатку, схемы и печатные платы делаю в ACAD14.
- Реклама
- Сообщения: 14
- Зарегистрирован: Сб дек 11, 2010 22:18:35
Добрый всем вечер
Перечитал всю тему в ввиду надобности подобного устройства, и малость запутался с возможностями каждой из прошивок. Собственно говоря у меня проблема следующего характера: в холодильнике сломался контроллер, и найти родной весьма затруднительно, к тому же интерес к МК(мне конечно ближе AVR, с них начинал) побудил меня создать контроллер своими силами. Вообщем устройство должно как минимум контроллировать и поддерживать температуру в холодильной камере(их 2) и включать копрессор, т.е. по сути подходит вариант предложеный в начале темы, с отключенной функцией нагревателя. Но вот есть желание использовать 2 датчика (для холодильной и морозильной камеры отдельно) и по возможности переключать источник контроля. Можно было бы добавить четвертую кнопку для переключения контролируемой камеры и сохронять этот выбор после выключения, с возможностью установок поддерживаемой температуры и гистерезиса для каждой камеры. Компрессор к сожалению один.
Помогите чем можете, ибо отсутсвие постоянной практики в создании устройств на мк дает о себе знать, последнее устройство делал года 3 назад, и навыки написания программ почти утеряны
Помогите чем можете, ибо отсутсвие постоянной практики в создании устройств на мк дает о себе знать, последнее устройство делал года 3 назад, и навыки написания программ почти утеряны
Могу помочь только с PIC.NoMaD писал(а):...мне конечно ближе AVR, с них начинал...
- Сообщения: 14
- Зарегистрирован: Сб дек 11, 2010 22:18:35
Это для меня не принципиально, просто я с ними не работалSoir писал(а):Могу помочь только с PIC.NoMaD писал(а):...мне конечно ближе AVR, с них начинал...
Я тут набрасал схемку, немного изменив вашу. Кнопка XK/MK/OFF переключает контролируемую камеру. Долгое нажатие на эту кнопку выключает компрессор(режим разморозки). Реле RL1 должно быть включено всегда кроме режима OFF.
Буду благодарен любой помощи
- Вложения
-
- TErmo.png
- (40.12 КБ) 586 скачиваний
Вопросы по схеме.NoMaD писал(а):Я тут набрасал схемку, немного изменив вашу. Кнопка XK/MK/OFF переключает контролируемую камеру. Долгое нажатие на эту кнопку выключает компрессор(режим разморозки). Реле RL1 должно быть включено всегда кроме режима OFF.
1. Назначение кнопок в цепях датчиков. Это выбор активного датчика?
2. Если нет и выбор датчика осуществляется кнопкой XK/MK/OFF, то каким образом будет индицироваться активный датчик?
3. Если установки для XK и MK разные, опять же, как их различать на индикаторе?
4. Тип индикатора: общий анод или катод.
5. Нужны ли в схеме ключи (инверторы) U3-U6?
Soir, это он наверное взял с моего проекта. Я этими переключателями эмитировал обрыв датчика.1. Назначение кнопок в цепях датчиков. Это выбор активного датчика?
- Сообщения: 14
- Зарегистрирован: Сб дек 11, 2010 22:18:35
Вообщем хотелось бы видеть это примерно так:
-При включении должен быть режим 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, они там не нужны, просто они не мешают
Извините, конечно, но я не понимаю, зачем такие сложности? По моему проще поставить переключатель типа тумблера для переключения датчиков и сигнализации ХК и МК. Уставки температуры выставлять отдельно для камеры, индикация которой включена, всё равно это делать надо будет редко.
Soir! Индикацию минусовой температуры проверил - всё работает правильно. У меня просьба, если не трудно:
имеются PIC16C622-04/P, кварц 14.318 МГц.
При достижении на входе 10 импульсов/сек и выше - на выходе плюс, при снижении до 9 импульсов и ниже - выдержка времени 10 секунд - на выходе минус. Если во время выдержки времени число импульсов повышается до 10 и выше - на выходе плюс. Как-то так.
С уважением NVZ.
имеются PIC16C622-04/P, кварц 14.318 МГц.
При достижении на входе 10 импульсов/сек и выше - на выходе плюс, при снижении до 9 импульсов и ниже - выдержка времени 10 секунд - на выходе минус. Если во время выдержки времени число импульсов повышается до 10 и выше - на выходе плюс. Как-то так.
С уважением NVZ.
Чуть освобожусь, тогда подумаю, как это реализовать.nvz писал(а):У меня просьба, если не трудно:
имеются PIC16C622-04/P, кварц 14.318 МГц.
При достижении на входе 10 импульсов/сек и выше - на выходе плюс, при снижении до 9 импульсов и ниже - выдержка времени 10 секунд - на выходе минус. Если во время выдержки времени число импульсов повышается до 10 и выше - на выходе плюс. Как-то так.
С уважением NVZ.
- Сообщения: 14
- Зарегистрирован: Сб дек 11, 2010 22:18:35
Ну в принципе я это и предлагаю, только вместо тумблера кнопка XK/MK/OFF, в остальном полностью согласен. Во время работы компрессора должна быть зашита от переключения контролируемой камеры, только в режиме OFF.nvz писал(а):Извините, конечно, но я не понимаю, зачем такие сложности? По моему проще поставить переключатель типа тумблера для переключения датчиков и сигнализации ХК и МК. Уставки температуры выставлять отдельно для камеры, индикация которой включена, всё равно это делать надо будет редко.
Вообщем подумал и решил отказаться от второго датчика, оставил контроль только холодильной камерой.
Принцип работы такой:
При включении на индикаторе реальная температура, при кратковременном нажатии на Set/On выставляем рабочую температуру и гистерезис, 15 и 16 ноги по нулям. При длительном нажатии на кнопку Set/On включаем компрессор и Лампу. В режиме On лампа горит постоянно, а компрессор соответственно регулируется. При повторном длительном нажатии на Set/On компрессор и лампа выключаются. Настройки температуры работают и в режиме off и в режиме on. По сути устройство такое же как и в начале темы, за исключением отсутсвия управление обогревателем и наличием выключателя On/Off.
Внизу предпологаемая схема. Люди добри помогите пжлста, бо без холодильника дуже тяжко
- Вложения
-
- Termo.rar
- (39.22 КБ) 264 скачивания
Осмелюсь ответить и на этот раз. Моё мнение - выход команды на компрессор надо всё-таки задавать вручную (выключателем), а не программно. В память микропроцессора записываются уставки температуры, но вряд ли там же находятся команды ON/OFF. После кратковременного прерывания электроэнергии термометр будет показывать температуру, будут обрабатываться уставки температуры, а выхода на компрессор не будет.
Это уже окончательный вариант, или... Не успеваю за Вами.NoMaD писал(а):Внизу предпологаемая схема. Люди добри помогите пжлста, бо без холодильника дуже тяжко
Вечером, если ничего не помешает, напишу прошивку.
По схеме, добавьте ограничительные резисторы в цепи управления кнопок. Или хотя бы один на все, при условии, что одновременно на две и более кнопки не нажимать.
И еще. Подключение кнопок сделайте к выводам 6, 7, 8. Диоды нужно развернуть анодами к выводам МК.
- Сообщения: 14
- Зарегистрирован: Сб дек 11, 2010 22:18:35
Учел все рекомендации и в итоге окончательный вариант.
При подаче питания компрессор и лампа работатют, все работает нормально. (лампа горит постоянно)
Все настройки работают, вообщем нормальная работа устройства.
При долговременном нажатии на кнопку Set/Off компрессор и лампа выключаются, режим не сохраняем в памяти, т.е. при снятии питания и подаче заново опять все работает, защита от выключения энергии
NVZ спасибо за подсказку насчет On/off.
Думаю это окончательный вариант, я понял что простота гарант надежности
При подаче питания компрессор и лампа работатют, все работает нормально. (лампа горит постоянно)
Все настройки работают, вообщем нормальная работа устройства.
При долговременном нажатии на кнопку Set/Off компрессор и лампа выключаются, режим не сохраняем в памяти, т.е. при снятии питания и подаче заново опять все работает, защита от выключения энергии
NVZ спасибо за подсказку насчет On/off.
Думаю это окончательный вариант, я понял что простота гарант надежности
- Вложения
-
- Termo.rar
- (21.25 КБ) 256 скачиваний
Смотрите вложение, проверяйте.NoMaD писал(а):Учел все рекомендации и в итоге окончательный вариант.
При подаче питания компрессор и лампа работатют, все работает нормально. (лампа горит постоянно)
Все настройки работают, вообщем нормальная работа устройства.
При долговременном нажатии на кнопку Set/Off компрессор и лампа выключаются, режим не сохраняем в памяти, т.е. при снятии питания и подаче заново опять все работает, защита от выключения энергии
NVZ спасибо за подсказку насчет On/off.
Думаю это окончательный вариант, я понял что простота гарант надежности
Схема Ваша, я лишь чуть изменил для корректной работы симуляции в Proteus. То есть, моя схема для демонстрации и отладки. Единственное что - резистор R4 рекомендуется 4,7 кОм.
Работает следующим образом. При включении питания лампа включена. До первого измерения температуры - компрессор выключен. После измерения, если температура оказалась выше установленной, включается компрессор. После снижения температуры на величину дельта ниже установленной, компрессор выключается.
Кратковременное нажатие на кнопку SET приводит к миганию установленной температуры. Кратковременное нажатие на кнопки PLUS/MINUS увеличивает/уменьшает десятые доли градуса. Длинное нажатие ускоряет процесс установки. Повторное нажатие на SET переводит устройство в режим установки дельты. Тут все аналогично. После завершения установки, примерно через 5 сек, данные заносятся в EEPROM и будут оттуда считаны при последующем включении устройства.
Длинное нажатие на кнопку SET в режиме отображения измеренной температуры приводит к выключению лампы и компрессора. Повторное включение только после снятия питания.
Вроде все как Вы просили. Если что не так - пишите.
- Вложения
-
- Termo_1.zip
- (24.28 КБ) 294 скачивания
- Сообщения: 14
- Зарегистрирован: Сб дек 11, 2010 22:18:35
Soir большое спасибо за программу, но все же есть 2 момента:
-Извиняюсь если неправильно сформулировал назначение режима on/off; при длительном нажатии на кнопку set выключаем и включаем также, просто мы не сохраняем это значение в память. Эта функция для оперативного включения выключения компрессора (ну и лампы тоже), просто чтобы при размарозке ни лезть вытыкать втыкать вилку из розетки (она у меня далеко)
-И второй маленький моментик, компрессор включаем при температуре равной установленая + дельта, т.е. если допустим установленая 5, дельта 2 а реальная 7 то мы включаем компрессор и доводим до 5 и выключаем. У вас помойму наоборот
В остальном пожалуй все отлично, спасибо
Ах да, нельзя ли как нибудь избавится от 85 при запуске и что в реально схеме мы ставим на место инвентора? Транзисторы или МС? Или не важно?
-Извиняюсь если неправильно сформулировал назначение режима on/off; при длительном нажатии на кнопку set выключаем и включаем также, просто мы не сохраняем это значение в память. Эта функция для оперативного включения выключения компрессора (ну и лампы тоже), просто чтобы при размарозке ни лезть вытыкать втыкать вилку из розетки (она у меня далеко)
-И второй маленький моментик, компрессор включаем при температуре равной установленая + дельта, т.е. если допустим установленая 5, дельта 2 а реальная 7 то мы включаем компрессор и доводим до 5 и выключаем. У вас помойму наоборот
В остальном пожалуй все отлично, спасибо
Ах да, нельзя ли как нибудь избавится от 85 при запуске и что в реально схеме мы ставим на место инвентора? Транзисторы или МС? Или не важно?


