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

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

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

Сообщение Soir »

tbogdan писал(а):Синхронизация не нужна , так как буду использовать MOC304x и симистор ВТА41

Я внесу соответствующие изменения в прошивку.
tbogdan писал(а):резонатор внешний или внутрений, частота 4МГц?

Во внешнем кварце нет никакой необходимости, частота 4МГц.
Реклама
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Теперь когда не будет синхро, то желательно переставить сигналы
сегмент D на PD3/INT1 (5)
OFF на PC5 (28)
HEATER на PB5 (19)
плату будет легче развести.
И не сочтите за наглость, еще при установке таймера первой программы (Р0) в нулевое значение
нагрев, желательно чтобы проходил до установленной температуры без учета времени и дальше по программе,
если так можно.
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

tbogdan писал(а):Теперь когда не будет синхро, то желательно переставить сигналы
сегмент D на PD3/INT1 (5)
OFF на PC5 (28)
HEATER на PB5 (19)
плату будет легче развести.

Изменил. По ходу исправил мелкие ошибки. Путаюсь в работе кнопок. Проверьте все режимы.
tbogdan писал(а):...при установке таймера первой программы (Р0) в нулевое значение
нагрев, желательно чтобы проходил до установленной температуры без учета времени и дальше по программе,
если так можно.

Это еще не переварил... То есть, нагрузка сразу врубается на полную мощность? Учитывая инерционность системы будет перегрев. Или как это "без учета времени"?
Вложения
Termo_ATMEGA8.zip
(34.16 КБ) 209 скачиваний
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Это еще не переварил... То есть, нагрузка сразу врубается на полную мощность? Учитывая инерционность системы будет перегрев. Или как это "без учета времени"?

Soir Спасибо!
давайте пока не будем ничего не менять, проверим в работе.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
bav123
Говорящий с текстолитом
Сообщения: 1692
Зарегистрирован: Ср окт 12, 2011 20:37:13

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

Сообщение bav123 »

Небольшой отчет.
Собрал на работу для управления отопителем.Когда погода не сильно холодная то при включеной печке становится душновато.Отключишь и через несколько минут становится как то некомфортно.Вот и дергаешь тумблером туда - сюда.Предложеный Soir режим с гистерезисом понравился.Поставил температуру 20гр. и гистерезис 1 и в кабине сидеть одно удовольствие.
Реклама
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Всем доброго дня!
Собрал схему терморегулятора, предложенную Soir, на ATmega8
есть несколько ошибок в работе
1- нет возможности в сервисном режиме изменить количество программ (параметр Pr всегда 0)
2- переход в сервисном режиме от установки к установки проходит как то не понятно, с большой задержкой,
то есть нажимая "SET" переход к другой установке проходит через несколько секунд.
3- разогрев не происходит так как коэффициент выходной мощности всегда очень низкий (1%)
Вложения
shem.JPG
(191.57 КБ) 362 скачивания
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

tbogdan писал(а):Собрал схему терморегулятора, предложенную Soir, на ATmega8
есть несколько ошибок в работе...

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

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

Сообщение Soir »

Soir писал(а):
tbogdan писал(а):Собрал схему терморегулятора, предложенную Soir, на ATmega8
есть несколько ошибок в работе...

Да, есть косяки... Буду исправлять.

Неудачно выбрана стратегия работы кнопок. Это касается совмещения функций в кнопке DISPLAY. Я внес изменения в прошивку и в описание работы. Все режимы не проверял, это за Вами, у меня не хватает времени. Если такой вариант не подходит, давайте свои идеи по работе кнопок. Может Вкл. перенести на кнопку Сброс. Первое нажатие Вкл., второе Сброс...
Вложения
Termo_ATMEGA8.zip
(12.44 КБ) 171 скачивание
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Soir спасибо!
1. количество программ в сервисном режиме устанавливается но выполняются все 20, независимо сколько выставлено.
2. при нажатии сброс цифры мерцают
3. при входе в сервисный режим, если первая была нажата кнопка SET происходит вход в режим установки h а дальше не переключается, а если первой была нажата DISPLAY, тогда все нормально.
4. при быстром наборе температуры и выходе за верхний предел, пока не будет пересчитан SP, нагреватель остается включен.

Вкл./ стоп можно сделать так как Вы рекомендуете одной кнопкой, но обязательно надо сделать индикацию режима в каком находится регулятор, или отдельным индикатором на каком то выводе, свободен 18 (РВ4), или "OFF" на индикаторе, чередующий с показом температуры.
Пример платы.
Вложения
2.JPG
(231.89 КБ) 405 скачиваний
1.JPG
(103.37 КБ) 376 скачиваний
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

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

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

Сообщение Soir »

tbogdan писал(а):1. количество программ в сервисном режиме устанавливается но выполняются все 20, независимо сколько выставлено.

Изменения количества программ вступают в силу после их записи в EEPROM (через 10 сек после завершения манипуляций с настройками) и после отключения-включения питания. В новой прошивке этот момент реализуется при нажатии кнопки ON/OFF при старте термостата.
tbogdan писал(а):2. при нажатии сброс цифры мерцают

Должно уйти, проверьте.
tbogdan писал(а):3. при входе в сервисный режим, если первая была нажата кнопка SET происходит вход в режим установки h а дальше не переключается, а если первой была нажата DISPLAY, тогда все нормально.

Изменена работа кнопок. Описание во вложении, проверяйте.
tbogdan писал(а):4. при быстром наборе температуры и выходе за верхний предел, пока не будет пересчитан SP, нагреватель остается включен.

Очевидно Ваш нагреватель слишком мощный для такого алгоритма, давайте свой.
tbogdan писал(а):Вкл./ стоп можно сделать так как Вы рекомендуете одной кнопкой, но обязательно надо сделать индикацию режима в каком находится регулятор, или отдельным индикатором на каком то выводе, свободен 18 (РВ4), или "OFF" на индикаторе, чередующий с показом температуры.

Вынес светодиод. Можно, конечно, индикацию ON/OFF засунуть в перебор DISPLAY или SET, как скажете.
tbogdan писал(а):и еще, если можно уменьшить опорное напряжение примерно до 2.5В, чтоб была возможность поставить отдельный прецизионный стабилизатор, измерение и регулирование до 1000 - 1200 градусов, не более.

С этим чуть позже разберусь...
Вложения
Termo_ATMEGA8.zip
(27.11 КБ) 172 скачивания
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Soir писал(а):
tbogdan писал(а):и еще, если можно уменьшить опорное напряжение примерно до 2.5В, чтоб была возможность поставить отдельный прецизионный стабилизатор, измерение и регулирование до 1000 - 1200 градусов, не более.

С этим чуть позже разберусь...

Давайте разберемся.
В данной прошивке в качестве опорного напряжения используется внешнее напряжение, подаваемое на вход AREF (pin 21). В нашем случае +5V. Шкала прибора 0-5000. Вы можете подать на вход AREF другое напряжение, в пределах от 2,5 до 5,0V. Шкала прибора при этом сохранится - 0-5000. То есть, при подаче напряжения на вход АЦП от 0 до AREF показания прибора будут от 0 до 5000.
Если Вам просто нужна другая шкала, можно внести изменения в прошивку под Ваши требования.
Есть еще вариант использования внутреннего опорного напряжения 2,56V. На вход AREF цепляется конденсатор для уменьшения влияния помех. Со шкалой та же история...
Можно также использовать AVCC c подключением конденсатора на вход AREF...
Вот и все варианты. На каком остановимся?
P.S.
Шкалу лучше уменьшить, все равно АЦП лишь 10 бит... Точнее будут показания.
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Soir я Вам признателен за работу которую Вы делаете, СПАСИБО!
4. при быстром наборе температуры и выходе за верхний предел, пока не будет пересчитан SP, нагреватель остается включен.

Очевидно Ваш нагреватель слишком мощный для такого алгоритма, давайте свой.

Алгоритм подходит нормально, я имитировал перегрев, пробовал как поведет себя регулятор.
Есть еще вариант использования внутреннего опорного напряжения 2,56V. На вход AREF цепляется конденсатор для уменьшения влияния помех. Со шкалой та же история...

Точности внутреннего опорного напряжения хватит, так что можно подключить внутренний источник опорного напряжения с конденсатором на AREF, плата у меня так и сделана.
Шкалу сделать от 0 до 1000 градусов.
попробую только после выходных
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

tbogdan писал(а):Точности внутреннего опорного напряжения хватит, так что можно подключить внутренний источник опорного напряжения с конденсатором на AREF, плата у меня так и сделана.
Шкалу сделать от 0 до 1000 градусов.

Изменил прошивку. Напряжение на входе АЦП должно быть в пределах 0-2,5V.
Кстати. Выходное сопротивление источника сигнала должно быть не более 10 кОм. У Вас на схеме R14 100 кОм.
Ну и еще. Если показания будут прыгать, говорите, будем что-то усреднять, увеличивать количество замеров и т.д.
Вложения
Termo_ATMEGA8.zip
(34.51 КБ) 211 скачиваний
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

nvz, у меня сейчас реально времени нет. :( Работы навалилось... :?
Если появится времечко (что вряд-ли в течении пару месяцев), то гляну.
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Доброго дня !
Soir, не сочтите за наглость, но хотел попросить еще несколько изменений в прошивке,
более удобно будет, если количество заданных программ в сервисном меню, будет соответствовать и в режиме установок (SET).
В данной прошивке, количество программ отрабатывается то что задано в сервисном меню,
но в режиме установок перебираются все 20.
Все таки желательно сделать обязательное отключение нагревателя, при превышении текущей температуры над установленной.
И еще, если можно, озвучить конец программы и переход на другую, и само собой окончание работы.
Выход сделать на бузер с встроенным генератором, чтоб было проще, свободные остались только PB6 (9) и PB7 (10).
Soir, получился не плохой регулятор, может лучше будет если переместите в новую тему, а то в этой теряется не подходит название.
После испытаний выложу платы и вид устройства.
Еще раз БОЛЬШОЕ спасибо!!!!
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

tbogdan писал(а):...более удобно будет, если количество заданных программ в сервисном меню, будет соответствовать и в режиме установок (SET).
В данной прошивке, количество программ отрабатывается то что задано в сервисном меню,
но в режиме установок перебираются все 20.

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

Тут давайте подробнее. Нагреватель отключается, а программа продолжает работать? Или отключается все устройство? В общем нужен алгоритм поведения в таком случае.
tbogdan писал(а):И еще, если можно, озвучить конец программы и переход на другую, и само собой окончание работы.
Выход сделать на бузер с встроенным генератором, чтоб было проще, свободные остались только PB6 (9) и PB7 (10).

Добавил. Включение питания один короткий. Запуск/остановка - один короткий. Завершение программы - два коротких. Завершение всего цикла - три длинных. Можете предложить свою "музыку". Обратите внимание на нагрузку вывода под Buzzer, возможно надо усилитель (транзисторный ключ).
Ну и, как я понял, используется внутренний тактовый генератор, кварц не нужен.
tbogdan писал(а):...может лучше будет если переместите в новую тему, а то в этой теряется не подходит название.

Если есть желание - создавайте тему, мне как-то... Только дайте ссылку, чтобы я мог отвечать на вопросы, если таковые будут.
Вложения
Termo_ATMEGA8.zip
(26.59 КБ) 195 скачиваний
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Аlex писал(а):nvz, у меня сейчас реально времени нет. :( Работы навалилось... :?
Если появится времечко (что вряд-ли в течении пару месяцев), то гляну.

Вопрос снят, спасибо за внимание. Soirу отдельное спасибо!
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

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

Сообщение bratt »

схемa и соответственно прошивка устройства типа двухканального термостата с двумя каналами по нагрузке (типа один датчик на один канал), три кнопки управления, один 3-й индикатор с общим анодом, датчик температуры 18В20 , диапазон регулироки температуры термостата 0 - 125 град. С , гистерезис 1 - 20 град, везде шаг температуры 1 град. микроконтроллер или PIC16F84 если его хватит или ATTiny2313
Ответить

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