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

Поклонники продукции Microchip Technology Inc тусуются тут.
Pavel84
Открыл глаза
Сообщения: 59
Зарегистрирован: Ср апр 06, 2011 13:50:40

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

Сообщение Pavel84 »

Ничего не понял...

Ну да, немного не правильно выразился. Вообщем задача такова.
При подаче питания производим все необходимые настройки через кнопки MODE, PLUS/MINUS - на нагрузке 0;
При нажатии на четвертую кнопку(если таковую можно включить) производим нагрев жидкости до заранее заданной температуры, например 89,5гр. (с учетом установленного гистерезиса). Причем до этой температуры жидкость желательно нагреть максимально быстро (чтобы не терять время), но в то же время не должно произойти переброса через установленную;
Когда температура стабилизировалась(не меняется в течение 3-5минут), МК начинает плавно снижать мощность тена так чтобы температура упала до заранее заданной, например 65гр.(с учетом установленного гистерезиса). Почему необходимо плавно снижать - потому что мерять мы будем температуру пара этой жидкости. Т.е. необходимо поддерживать кипение;
В этом режиме устройство работает до команды пользователя.
По команде (при нажатии на четвертую кнопку) температура должна плавно возрасти до заранее установленной, например 85,7гр.(с учетом установленного гистерезиса), ну и работает так до следующей команды;
При очередном нажатии на четвертую кнопку что должно произойти пока не определено. Либо тен должен будет включиться на максимальную мощность, либо на минимальную, т.е. на 0.
Вот как-то так. Аж сам в шоке, пока все это сформулировал. Что вы на это скажете?
Аватара пользователя
Хатуль_мадан
Электрический кот
Сообщения: 1005
Зарегистрирован: Ср мар 03, 2010 11:48:00
Откуда: Уфа

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

Сообщение Хатуль_мадан »

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

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

Сообщение Soir »

Pavel84 писал(а):...Что вы на это скажете?

Это уже слишком.
Хатуль_мадан писал(а):Чем-то напоминает программый терморегулятор пропарочного оборудования в производстве железобетонных изделий

Моя версия: это самогонный аппарат. :))
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

И еще немного косметики в "Термостат с фазоимпульсным регулированием выходной мощности".
Вложения
Termometr_16F628_PWM_v2.0.zip
(36.12 КБ) 619 скачиваний
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

А я не понял как Pavel84 хочет поддерживать кипение при температуре 89,5 и 65 градусах :dont_know:
Pavel84
Открыл глаза
Сообщения: 59
Зарегистрирован: Ср апр 06, 2011 13:50:40

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

Сообщение Pavel84 »

Это уже слишком.

Ну да ладно, я всего лишь спросил. Я думаю что достаточно будет и того, что вы уже сделали. Очень Вам благодарен.
Моя версия: это самогонный аппарат.

Возможно Вы и правы :))
А я не понял как Pavel84 хочет поддерживать кипение при температуре 89,5 и 65 градусах

Но ведь температура кипения разных жидкостей разная, не так ли?
И еще вопрос. Когда температура стабилизирована на некой отметке и при выходе в меню (кнопка MODE) чтобы уменьшить или увеличить тепмературу стабилизации, как поведет себя нагрузка (отключится или останется на заданной мощности до сохранения новых установок?)
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Ясно, бензин гоним.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Pavel84 писал(а):...И еще вопрос. Когда температура стабилизирована на некой отметке и при выходе в меню (кнопка MODE) чтобы уменьшить или увеличить тепмературу стабилизации, как поведет себя нагрузка (отключится или останется на заданной мощности до сохранения новых установок?)

Новые параметры вступают в силу в процессе настройки.
Над остальным я подумаю, может когда будет нечего делать...
Pavel84
Открыл глаза
Сообщения: 59
Зарегистрирован: Ср апр 06, 2011 13:50:40

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

Сообщение Pavel84 »

Всех с праздником 1мая!!! :beer:
pert
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт дек 17, 2010 23:19:40
Откуда: Чешская Республика

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

Сообщение pert »

Я проверял термостат с фазоимпульсным регулированием выходной мощности -Termometr_16F628_PWM_v2.0.Термостат недержит температуру,меняется значительно. Например, установка 30 градусов, гистерезис 0,1, шаг 1 сек, температура колеблется в 29-31градусов. осцилляции происходят. Моя идея контроля в графе.
Вложения
rem 10.pdf
(14.89 КБ) 328 скачиваний
term 6.pdf
(10.97 КБ) 300 скачиваний
Pavel84
Открыл глаза
Сообщения: 59
Зарегистрирован: Ср апр 06, 2011 13:50:40

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

Сообщение Pavel84 »

pert, что действительно такой разброс??? :shock: Где температуру меряете? К сожалению сам эксперементировать пока не могу, МК мне так и не привезли пока (товарищу заказывал) :(
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

pert писал(а):...установка 30 градусов, гистерезис 0,1, шаг 1 сек, температура колеблется в 29-31градусов...

Это еще и хорошо, такие требования для такого регулятора! Гистерезис 0,1 это, мне кажется, вообще нереально в данном случае.
Я экспериментировал не в таких жестких условиях: датчик, лампочка 24V, 0,1A (в целях безопасности все эксперименты на низком напряжении и с гальванической развязкой) замотаны в куске ПХВ трубочки. Температура проверялась от 40 до 60 град, гистерезис 1 град, время шага (подбирал, по наилучшей стабилизации) 10 сек, ограничение шага 10 град. После нескольких колебаний температуры вокруг заданной +-1 град, температура устанавливалась в середине диапазона гистерезиса. Мощность при этом составляла, в зависимости от выбранной температуры, 30 и 50% и изменялась +-2 %. Я в тестовой программе специально делал фиксацию выходов температуры за пределы диапазона, в течении 2-х часов было не более 3-4 выходов на 0,2 град. Полученные данные считаю вполне удовлетворительными для данной схемы, датчика и выбранного алгоритма регулирования.
Это я пишу не в целях рекламы, а как раз наоборот - не ждите от такого варианта чуда. И, во-вторых, для каждой системы будут свои настройки.
pert писал(а):Моя идея контроля в графе.

Можно сделать и такой вариант. Только уже в самой идее заложен выход за пределы гистерезиса. И я не понял, это трехступенчатое регулирование? 0, 30 и 100%?
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Друзья, поздравляю всех с праздником (с нерабочим днём)!Желаю всего того, чего сами себе хотите!!!. Каждый сам себе кузнец своего счастья.
pert
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт дек 17, 2010 23:19:40
Откуда: Чешская Республика

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

Сообщение pert »

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

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

Сообщение Soir »

pert писал(а):Я пробовал с 20W лампочкой в металлической коробке с объемом около 3 литров ,низкой тепловой инерцией. С меньшей мощностью лампочки или с высокой тепловой инерцией ,регулирование будет более точным, но я выбрал более жестких условиях.

У датчика DS18B20 время конвертации 750 мсек. Плюс еще некоторое время на обмен и обработку информации. То есть реально измерение проводится 1 раз в секунду. Для систем с низкой "тепловой инерцией" добиться стабильной температуры будет трудно, да и еще с гистерезисом 0,1... :dont_know: Не следует также забывать про довольно высокую тепловую инерционность самого датчика.
Конечно, можно снизить разрешающую способность датчика до 0,5 град, тогда его работа ускорится. Но тогда придется забыть о точности 0,1 град. и о том же гистерезисе 0,1...
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Всех с праздником 9 Мая!
Pavel84
Открыл глаза
Сообщения: 59
Зарегистрирован: Ср апр 06, 2011 13:50:40

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

Сообщение Pavel84 »

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

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

Сообщение Soir »

Pavel84 писал(а):...Возможно ли вот как-то так сделать?

Сделать то можно, но как-то перестает устройство быть похожим на термостабилизатор... Надо за ним уже постоянно следить. Если напряжение в сети изменилось, а Вы отвлеклись (командировка)...
И что означает:
Pavel84 писал(а):...Подходим, смотрим вследствие чего у нас изменилась температура, задаем новую...
То есть каждый раз задавать новую температуру? Это уже будет стабилизатор температуры, которая случайно получилась. Как узнать, вследствие чего изменилась температура?
Как определять, что температура стабилизировалась? Это, если она на протяжении заданного времени не выходила за пределы гистерезиса при постоянной выходной мощности?
Как-то все запутывается, а в положительном результате я сомневаюсь...
В термостабилизаторе есть возможность управления выходной мощностью в ручном режиме. Если к нему добавить сигнализацию при выходе за гистререзис, то и получим Вашу идею.
Pavel84
Открыл глаза
Сообщения: 59
Зарегистрирован: Ср апр 06, 2011 13:50:40

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

Сообщение Pavel84 »

Надо за ним уже постоянно следить. Если напряжение в сети изменилось, а Вы отвлеклись (командировка)...

В том-то и дело что делается все это для ректификационной колонны и при ее работе (проверено с термометром мультиметра и с регулятором симистор-переменный резистор) температура выходящих паров держится довольно стабильно, даже при небольших изменениях сетевого напряжения. Но всетаки иногда из-за некоторых внешних факторов (атм. давление) температура изменяется. Приходится постоянно смотреть на термометр, дабы избежать позднего перекрывания клапана,чтобы лишнего ничего не начало испаряться. А так все это делал бы микроконтроллер. Остается только услышать сигнал, посмотреть на барометр, задать новую температуру и нажать на кнопку. Так что оставлять без присмотра все это дело на долго и не планируется.
Как узнать, вследствие чего изменилась температура?

Смотрим на барометр, потом на график зависимости темп. кипения допустим ацетона от атм. давления, задаем эту температуру. Но мощность немного приходится подкручивать в ту или иную сторону, чтобы температура стабилизировалась и снова открываем клапан. И тут микроконтроллер помог бы.
Для колонны важно стабильно держать мощность тена на определенной точке, поэтому и нужно чтобы когда темп. стабил., держать мощность неизменной.
Как определять, что температура стабилизировалась? Это, если она на протяжении заданного времени не выходила за пределы гистерезиса при постоянной выходной мощности?

Именно так.
В термостабилизаторе есть возможность управления выходной мощностью в ручном режиме. Если к нему добавить сигнализацию при выходе за гистререзис, то и получим Вашу идею.

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

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

Сообщение Soir »

Если Вам нужен именно такой алгоритм, я сделаю.
Только уточните параметры:
Soir писал(а):... если она на протяжении заданного времени не выходила за пределы гистерезиса при постоянной выходной мощности?

Интересует время. Если оно фиксированное, то какое. Если должна быть возможность устанавливать, то в каких пределах и как отображать на индикаторе.
В зависимости от свойств системы (тепловой инерции, места установки датчика и ТЭНа, выбранного гистерезиса, настроек и т.д.) момент стабилизации может не наступить никогда.
Да, и у МК на данный момент свободных выводов нет. Тут варианты такие:
1. Использовать имеющийся индикатор, переводя его в какой-то режим аварийной сигнализации (световой), например, мигание или сообщение...
2. Устанавливать дополнительную микросхему для управления индикатором, это позволит высвободить выводы МК.
3. Перейти на 3-х разрядный индикатор. Освободится один вывод. Но тогда придется переработать систему индикации.
4. Освободить вывод, управляющий точкой (символ H). Точку включить постоянно. Будет немного некрасиво.
5. Использовать другой индикатор, например ЖКИ. Тоже с целью высвобождения выводов МК.
6. Использовать другой МК, с бОльшим числом выводов.
Ответить

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