Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20

Поклонники продукции Microchip Technology Inc тусуются тут.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

kuchar писал(а):...Именно так...

Так и сделал.
Кроме того исправил ошибку в индикации.
И немного изменил часть программы, отвечающей за работу с датчиками, с целью оптимизации кода. Проверил на домашнем устройстве и на макете - работает нормально. Ну, а если что...

Вт янв 03, 2012 15:11:30
Перезалил вложения. Исправил ошибку с сигнализацией.
Вложения
Termometr_v11_CA.zip
(8.76 КБ) 270 скачиваний
Последний раз редактировалось Soir Вт янв 03, 2012 16:12:46, всего редактировалось 1 раз.
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение tbogdan »

Soir писал(а):
tbogdan писал(а):надеюсь что это последние изменения, работает отлично...
Пока пусть поработает, возможно будут еще какие-то вопросы...

И какой вариант прошивки финальный? Хочу удалить лишнее, чтоб не путаться.

Опробовал прошивку Termo_ATMega8_2.hex от 02.01.2012
Замечаний пока нет, спасибо за работу!!!
kuchar
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение kuchar »

Ув.Soir.По версии Termometr_v11_CA:автоматика теперь отрабатывает четко,но вот с сигналом не все в порядке.
Дело в том ,что когда отключаешь сигнализацию в двух каналах,то включается непрерывный сигнал и звучит во всех диапазонах изменения температуры ,пока не включишь сигнализацию хотя-бы в одном из каналов.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

kuchar писал(а):...вот с сигналом не все в порядке.
Дело в том ,что когда отключаешь сигнализацию в двух каналах,то включается непрерывный сигнал и звучит во всех диапазонах изменения температуры ,пока не включишь сигнализацию хотя-бы в одном из каналов.

Недоглядел...
На самом деле это старый "грех". Был и раньше, просто проявлял себя при определенных совпадениях - состояние сигнализации остается, как на момент отключения. Если поймать паузу в звуке, то и сигнала нет...
Перезалил прошивку в предыдущем посту. Проверяйте еще.
kuchar
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение kuchar »

Да,теперь все в порядке.Даже при желании придраться больше не к чему.Большое спасибо.Не сочтите за наглость-нельзя-ли както с пользой задействовать свободную ногу МК?Если,конечно размер памяти позволяет.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

kuchar писал(а):...нельзя-ли както с пользой задействовать свободную ногу МК?

Там их (свободных ног) аж три.
kuchar писал(а):Если,конечно размер памяти позволяет.

В пределах разумного.
Есть конкретные пожелания?
kuchar
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение kuchar »

У меня в автомате управлением инкубатором стоит отдельным узлом таймер,который включает на полминуты маломощный вентилятор,затем полминуты пауза и т.д.
Нельзя-ли и здесь придумать подобное?То есть для меня это было-бы полноценное управление инкубатором.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

kuchar писал(а):У меня в автомате управлением инкубатором стоит отдельным узлом таймер,который включает на полминуты маломощный вентилятор,затем полминуты пауза и т.д.
Нельзя-ли и здесь придумать подобное?То есть для меня это было-бы полноценное управление инкубатором.

Переходим от новогодних подарков к рождественским...
Добавил таймеры включения/выключения с настройками и запоминанием. Описание, проект в Proteus и прошивка прилагается. Тестируйте, я проверил только бегло.
P.S.
При смене прошивки необходимо стереть EEPROM.
Вложения
Termometr_v11_CA_timer.zip
(26.94 КБ) 253 скачивания
kuchar
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение kuchar »

Ув.Soir.Как здорово год начался,и трезвый до сих пор и такой подарок получил(это я о себе)
По последней версии Termometr_v11_CA_timer-никаких проблем,работает четко согласно описанию.
Проблема для меня,правда приятная-это то,что скорее всего придется собрать еще одно такое у-во.
Первое будет работать в качестве основных терморегуляторов,а второе будет надзирать за первым.
У меня в сельской местности перебои с электричеством в порядке вещей,а плюс работающие у соседей всякие корморезки,
пилорамы,сварочные аппараты-просто бич.Кстати,именно поэтому я отказался от фазоимп.управления нагрузкой и так
перестраховуюсь.Полный отчет ближе к весне,когда протестирую в реальных условиях.
Еще раз большое спасибо,удачи во всем.С ув. :beer:
an_muz
Родился
Сообщения: 14
Зарегистрирован: Пн июн 27, 2011 09:20:26

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение an_muz »

Soir писал(а):
kuchar писал(а):Да,я размечтался о двух отдельных индикаторах-каждый для своего канала...

Я набросал схему, посмотрите. Прежде чем писать программу, нужно все уточнить, чтоб потом не переделывать.
На схеме не показаны транзисторные ключи. Здесь подразумевается, что это будут эмиттерные повторители на n-p-n транзисторах. Индикаторы ОА.


Уважаемый Soir .
После появления этого сообщения стало яно что это то что мне надо. Стал ждать и не хотел мешать творческому процесу.
Получилось класно. Позанимался немного с выходами (хотя понимаю что и это можно решить програмно), в протэусе все работает отлично. Можно пробовать реализовать в железе как есть.
Но у меня к Вам большая просьба, посмотрите пожалуйста и ели Вас не затруднит подкорректируйте на основе того что Вы уже написали.
Вложения
Termometr_v11_CA_8.rar
(36.58 КБ) 235 скачиваний
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

an_muz писал(а): Позанимался немного с выходами (хотя понимаю что и это можно решить програмно), в протэусе все работает отлично. Можно пробовать реализовать в железе как есть.

Ваши упражнения с выходами для меня загадка. Например, зачем R5? Да и R4, R6 тоже лишние.
Давайте Вы опишете логику работы выходов, я внесу это в прошивку и внешнюю логику вообще уберем.
an_muz
Родился
Сообщения: 14
Зарегистрирован: Пн июн 27, 2011 09:20:26

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение an_muz »

"Обдув" - включен только в пределах гистерезиса канала 1.
"Нагреватель" - включен до достижения установленных значений на кан. 1 и 2. Выключается :
- на величину гистерезиса кан.1, если нан.2 не достиг уст.значения;
- на величину гистерезиса кан.2, не зависимо от состояния кан.1.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

an_muz писал(а):"Обдув" - включен только в пределах гистерезиса канала 1.
"Нагреватель" - включен до достижения установленных значений на кан. 1 и 2. Выключается :
- на величину гистерезиса кан.1, если нан.2 не достиг уст.значения;
- на величину гистерезиса кан.2, не зависимо от состояния кан.1.

Увы, так дело не пойдет...
Если про работу "Обдува" я еще могу догадаться. Да и то не уверен. Если дословно понимать Ваше описание, то "Обдув" работает только тогда, когда температура выше установленной минус гистерезис, но не выше установленной? То есть, установлена 70, гистерезис 2. Включится при 68, выключится при 70. А если будет 65? Или 75? Это за пределами гистерезиса - вентилятор не работает. Так что ли?. До прояснения сделал пока включение, если температура превысила установленную, а выключение, если снизилась до установленной минус гистерезис.
А описание работы "Нагревателя" просто выносит мне мозги...
Сформулируйте четко, например:
Если температура канала 1 снизилась ниже установленной на величину гистерезиса и температура канала 2 при этом не превышает установленную "Нагреватель" включается и т.д. Таких фраз должно быть ровно столько, сколько вариантов состояния "Нагревателя" в зависимости от температур по каналам. Можете для ясности, на примере конкретных температур. Или скажите где Вы собираетесь использовать данное устройство, может я догадаюсь, какой должен быть алгоритм.
Схему я перерисовал, и кое-что поправил в прошивке (так, как понял описание). Опишите более четко работу устройства при отключенном 1-ом канале: как ведут себя нагрузки, сигнализация, должны ли быть доступными настройки... Кстати, определитесь с именами, а то датчики называются так, индикаторы по-другому, нагрузки по третьему.
Вложения
Termometr_v11.1_CA.zip
(25.05 КБ) 196 скачиваний
an_muz
Родился
Сообщения: 14
Зарегистрирован: Пн июн 27, 2011 09:20:26

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение an_muz »

Выставляем на кан.1 температуру 70 гистерезис 5, на кан.2 т.20 г.1.

Канал 1 (нагреватель) включен, канал 2 (обдув) выключен.

Датчик кан.1 установлен на нагревателе и контролирует его температуру.
Датчик кан.2 установлен в пространстве обогреваемом нагревателем (комната).

При нагреве нагревателя до 70 гр. выход кан. 1 отключает нагреватель а выход кан. 2 включает обдув.
Обдув происходит до снижения темп. нагревателя на величину гестерезиса, в нашем случае до 65 градусов.
Снова включается нагреватель, а обдув выключается.
Процесс повторяется до тех пор пока датчик канала 2 не прогреется до 20 градусов. При достижении 20 гр. на датчике кан. 2 нагреватель отключается, обдув если был включен, выключается при снижении темп. нагревателя до 65 градусов, а если был выключен то так и остаётся выкл.
Повторно нагреватель включится при снижении температуры на датчике кан. 2 до 19 градусов.
Звуковая сигнализация сработает в случае повреждения одного из датчиков.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

Теперь более менее понятно в части работы нагрузки. Пробуйте что получилось. А по кнопке отключения одного канала все так?
Вложения
Termometr_v11.1_CA.zip
(25.08 КБ) 224 скачивания
an_muz
Родился
Сообщения: 14
Зарегистрирован: Пн июн 27, 2011 09:20:26

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение an_muz »

Soir писал(а):Теперь более менее понятно в части работы нагрузки. Пробуйте что получилось. А по кнопке отключения одного канала все так?


Уважаемый Soir щиро Вам дякую !!!
Пока все отлично, соберу отпишусь.
По кнопке отключения:
- я вообще-то думал о выключателе, но кнопка тоже нормально, вот может только ввести некоторую задержку;
- похоже что не запоминает выключенного состояния.
Да и вот ещё что, при отключении датчиков не слышно сигнализации.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

an_muz писал(а):По кнопке отключения:
- я вообще-то думал о выключателе, но кнопка тоже нормально, вот может только ввести некоторую задержку;
- похоже что не запоминает выключенного состояния.

Не догадался...
Ввел задержку 0,5 сек и запись в память.
При смене прошивки сотрите EEPROM.
an_muz писал(а):Да и вот ещё что, при отключении датчиков не слышно сигнализации.

1. Обратите внимание на какой вывод подключена пищалка. На своей схеме я вернул ее на историческую родину RB6.
2. Пищалка работает от постоянного тока, то есть нужна со встроенным генератором. И позаботьтесь об усилителе, ток вывода МК не должен превышать 25мА.
3. При отключенном 1-ом канале работа пищалки блокируется.
4. У меня она работает, ищите у себя...
Вложения
Termometr_v11.1_CA.zip
(3.41 КБ) 233 скачивания
an_muz
Родился
Сообщения: 14
Зарегистрирован: Пн июн 27, 2011 09:20:26

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение an_muz »

Все работает. Ещё раз большое спасибо !!!
Пищалка была включена на RB7.
an_muz
Родился
Сообщения: 14
Зарегистрирован: Пн июн 27, 2011 09:20:26

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение an_muz »

Александровичь писал(а):Доброго здоровья.Помогите пожалуста с терморегулятором,такое впечетление что сдвинута индикация вроде работает, но на индикаторах хаос цифр,пробовал разные прошивки- не помогло.Может зацыклился и покругу гоняю одну ошибку.Помогите пожалуста.


Какой именно терморегулятор Вы собираете?
Niks13
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Niks13 »

Братцы, спасите! Целый день читал эту ветку. Параллельно, начал осваивать Протеус. Дочитал до 57й стр. и уже просто сил нет. 2 часа ночи :cry: В голове, уже такая каша, что не помню что там в начале темы было.
Нужен, простой терморегулятор, с фазо-импульсным управлением. Фазо импульсное, потому, что в качестве нагревателей, используются лампы накаливания. Без таймеров и прочих наворотов. Диапазон температур достаточно 0- +50*С. В идеале, если бы было 2 датчика температуры и 2 нагревателя, которые поддерживают разную температуру в 2х ящиках. С возможностью один из них отключать. Если помечтать, то хочется, чтоб можно было включить индикацию температур, в ящиках, по выбору, или какой-то один, или чтоб, скажем, каждые 2-3сек чередовались. Гистерезис, желательно, кратный 0,1-0,2*С. Ну вот и все, что мне нужно для счастья. Из микросхем у меня есть АТтини2313, Атмега8 и ПИК16ф628 но для ПИКов нет программатора. Так что желательно на АВР.
Как я понял, если не быть старухой из сказки о золотой рыбке, то меня может спасти схема которую Уважаемый Soir выкладывал на 47стр апр 25, 2011 16:36:35.
Ответить

Вернуться в «PIC»