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

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

Сообщение Soir »

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

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

Сообщение tbogdan »

Soir писал(а):
tbogdan писал(а):надеюсь что это последние изменения, работает отлично...
Пока пусть поработает, возможно будут еще какие-то вопросы...
И какой вариант прошивки финальный? Хочу удалить лишнее, чтоб не путаться.
Опробовал прошивку Termo_ATMega8_2.hex от 02.01.2012
Замечаний пока нет, спасибо за работу!!!
Реклама
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Сообщение kuchar »

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

Сообщение Soir »

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

Сообщение kuchar »

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

Сообщение Soir »

kuchar писал(а):...нельзя-ли както с пользой задействовать свободную ногу МК?
Там их (свободных ног) аж три.
kuchar писал(а):Если,конечно размер памяти позволяет.
В пределах разумного.
Есть конкретные пожелания?
Реклама
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Сообщение kuchar »

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

Сообщение Soir »

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

Сообщение kuchar »

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

Сообщение an_muz »

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

Сообщение Soir »

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

Сообщение an_muz »

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

Сообщение 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 скачиваний
Родился
Сообщения: 14
Зарегистрирован: Пн июн 27, 2011 09:20:26

Сообщение an_muz »

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

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

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

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

Сообщение Soir »

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

Сообщение an_muz »

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

Сообщение Soir »

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

Сообщение an_muz »

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

Сообщение an_muz »

Александровичь писал(а):Доброго здоровья.Помогите пожалуста с терморегулятором,такое впечетление что сдвинута индикация вроде работает, но на индикаторах хаос цифр,пробовал разные прошивки- не помогло.Может зацыклился и покругу гоняю одну ошибку.Помогите пожалуста.
Какой именно терморегулятор Вы собираете?
Прорезались зубы
Сообщения: 214
Зарегистрирован: Пн янв 16, 2012 02:06:36
Откуда: Луганск

Сообщение 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»