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

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Soir писал(а):Сразу видно: мало Вас током било... :)))


Детские впечатления остаются на всю жизнь - ещё в школе я залез в трансляционный усилитель "поремонтировать", а там анодное напряжение на лампах 600 вольт постоянки. Я тогда чуть стену рукой не проломил. С тех пор я знаю, что такое электричество. В данное время работаю электриком с допуском на оборудование до и выше 1000в. V группа электробезопасности. Так же выполняю обязанности неформального уличного электрика, приходилось менять розетки и счётчики без снятия напряжения....
Во время наладки конструкций кондёры обычно разряжаю отвёрткой, разрядные резисторы во всех самоделках.
Soir, спасибо за развёрнутые ответы, но для меня это прописные истины.
PS а схемы прохождения тока от Соника так и нет, только случаи из собственной практики....
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

vcter писал(а):А прошивка для какого индикатора? У меня с общим катодом.
А то включил - кракозябли показывает.

А я ведь спрашивал Вас про индикатор. Прошивка была для общего анода. Во вложении с общим катодом.

vcter писал(а):ЧТо должно показывать, когда нет датчика температуры?

Прочерки в трех старших разрядах, в последнем знак градусов. При этом выход отключается.
P.S. Забыл, у Вас три разряда, знака градусов не будет. Вывод 17 (RA0) МК просто никуда не подключайте.
Вложения
Termo_timer_16F628_CC_v0.zip
(16.97 КБ) 428 скачиваний
Реклама
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Небольшой совет для vcter.
Чтобы не путаться, какие индикаторы, с ОА или ОК - смотри, куда подключены кнопки: в конечном счёте если к минусу - с ОК, если к плюсу - с ОА (с общим анодом)
vcter
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср янв 26, 2011 15:32:25

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

Сообщение vcter »

vcter писал(а):ЧТо должно показывать, когда нет датчика температуры?

Прочерки в трех старших разрядах, в последнем знак градусов. При этом выход отключается.
P.S. Забыл, у Вас три разряда, знака градусов не будет. Вывод 17 (RA0) МК просто никуда не подключайте.[/quote]

Спасибо, индикация теперь в норме.
На датчик реагирует, только при подключении датчика отображается -6.9 и все.
при нагривании датчика - реакции нет.
датчик новый - неужели брак?
У меня правда датчик DS1820, а не DS18B20. У них есть отличия?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Соник
Друг Кота
Сообщения: 7571
Зарегистрирован: Пн мар 22, 2010 11:01:14
Откуда: СССР, г. Москва.

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

Сообщение Соник »

nvz писал(а):Во время наладки конструкций кондёры обычно разряжаю отвёрткой, разрядные резисторы во всех самоделках.

А чего тогда спорим? :)))
Я бы отвёрткой конденсаторы разряжать не стал....
nvz писал(а):PS а схемы прохождения тока от Соника так и нет, только случаи из собственной практики....

Ну плёночный конденсатор, ток утечки мал, заряд будет держаться долго, прикоснись к выводам заряженного и узнаешь схему прохождения тока :)
Я рожден при социализме, и я этим горжусь!
Реклама
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Мне конструкцию разбирать неохота, чтобы проверить.
Разговор то был про вилку....
Реклама
vcter
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср янв 26, 2011 15:32:25

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

Сообщение vcter »

vcter писал(а):
vcter писал(а):ЧТо должно показывать, когда нет датчика температуры?

Прочерки в трех старших разрядах, в последнем знак градусов. При этом выход отключается.
P.S. Забыл, у Вас три разряда, знака градусов не будет. Вывод 17 (RA0) МК просто никуда не подключайте.


Спасибо, индикация теперь в норме.
На датчик реагирует, только при подключении датчика отображается -6.9 и все.
при нагривании датчика - реакции нет.
датчик новый - неужели брак?
У меня правда датчик DS1820, а не DS18B20. У них есть отличия?[/quote]

Сбегал, купил 18В20 и все заработало как надо. Вроде одинаковые датчики, а разница есть...
Век жыви, век учись.

Начал тестирование.
Вернулся на 4 разряда, так нагляднее.

To Soir:
Можно передалать последовательность переключений по кнопке Mode?
Сначала текущая температура, потом остаточное время работы таймера, установка температуры, гестерезис, устанговка таймера.
По умолчанию, отображается текущая температура. При нажати на моде отображается остаточное время работы таймера, через 10 секунд - автовозвращение на отображение температуры.

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

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

Сообщение Soir »

vcter писал(а):Можно передалать последовательность переключений по кнопке Mode?
Сначала текущая температура, потом остаточное время работы таймера, установка температуры, гестерезис, устанговка таймера.
По умолчанию, отображается текущая температура. При нажати на моде отображается остаточное время работы таймера, через 10 секунд - автовозвращение на отображение температуры.

Можно. Когда победим глюк.
vcter писал(а):Какой то глюк. При достижении заданной температуры - выключает нагрузку и больше не включает (даже если температура сильно опускается).
Передергивание питания не помогает. Когда должна включаться нагрузка?
Сразу при включении питания или когда?

Странно, в симуляторе работает нормально... :dont_know:
При достижении заданной температуры нагрузка выключается, при снижении текущей температуры ниже заданной на величину гистерезиса должна включаться. То есть, например, если выставленная температура 40 град., а гистерезис 2 град., то отключение нагрузки произойдет при 40 град., а включение при 38 град. Может Вы гистерезис загнали куда-то? Проверьте, он на индикаторе с символом d (дельта). Или время таймера истекло. Точка мигает?
vcter
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср янв 26, 2011 15:32:25

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

Сообщение vcter »

vcter писал(а):Какой то глюк. При достижении заданной температуры - выключает нагрузку и больше не включает (даже если температура сильно опускается).
Передергивание питания не помогает. Когда должна включаться нагрузка?
Сразу при включении питания или когда?


Странно, в симуляторе работает нормально... :dont_know:
При достижении заданной температуры нагрузка выключается, при снижении текущей температуры ниже заданной на величину гистерезиса должна включаться. То есть, например, если выставленная температура 40 град., а гистерезис 2 град., то отключение нагрузки произойдет при 40 град., а включение при 38 град. Может Вы гистерезис загнали куда-то? Проверьте, он на индикаторе с символом d (дельта). Или время таймера истекло. Точка мигает?[/quote]

Нет точка не мигает.
Я биру, прошиваю пик. включаю. сначало загораются прочерки, затем отображается текущая температура с точкой. точка не мигает. зашел в моде, температура выставлена 40, гестерезис 2, таймер 2, вернулся к текущей температуре и на этом все.

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

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

Сообщение Soir »

vcter писал(а):Нет точка не мигает.
Я биру, прошиваю пик. включаю. сначало загораются прочерки, затем отображается текущая температура с точкой. точка не мигает. зашел в моде, температура выставлена 40, гестерезис 2, таймер 2, вернулся к текущей температуре и на этом все.

Для активации устройства необходимо длинное нажатие на MODE. Начнет мигать точка и, в зависимости от температуры, включаться/выключаться нагрузка. По истечении времени таймера точка будет гореть постоянно, нагрузка выключена. Для повторного запуска - длинное нажатие на MODE. Этим же длинным нажатием на MODE можно остановить работу устройства, а потом также запустить.
По ходу изменил порядок по короткому нажатию на MODE.
Вложения
Termo_timer_16F628_CC_v0.zip
(16.94 КБ) 251 скачивание
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):Небольшой совет для vcter.
Чтобы не путаться, какие индикаторы, с ОА или ОК - смотри, куда подключены кнопки: в конечном счёте если к минусу - с ОК, если к плюсу - с ОА (с общим анодом)

Нет, в данной схеме так не определить.
Алгоритм работы кнопок следующий: При смене индикации текущего разряда выходы МК, которые подключены к кнопкам, кратковременно переключаются на вход, программа проверяет, на каком выводе "0" - та кнопка и нажата. Так что кнопки в обоих случаях в конечном счете подключены к минусу.
vcter
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср янв 26, 2011 15:32:25

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

Сообщение vcter »

Soir писал(а):
vcter писал(а):Для активации устройства необходимо длинное нажатие на MODE. Начнет мигать точка и, в зависимости от температуры, включаться/выключаться нагрузка. По истечении времени таймера точка будет гореть постоянно, нагрузка выключена. Для повторного запуска - длинное нажатие на MODE. Этим же длинным нажатием на MODE можно остановить работу устройства, а потом также запустить.
По ходу изменил порядок по короткому нажатию на MODE.


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

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

Сообщение Soir »

vcter писал(а):Извените, я не знал этого. Ща попробуем.

Вы невнимательно читаете, я об этом писал.
http://radiokot.ru/forum/viewtopic.php?p=699077#p699077
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

To Soir:
схема термометра для авто собрана, проверена, всё ОК! Большое спасибо! осталось установить в машинку, купить датчик температуры, разобрать и впендюрить туда DS18B20, но это уже мелочи.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

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

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

Сообщение Soir »

nvz писал(а):Поставил девайс на машину, заметил интересную фичу: включаю зажигание - индикатор показывает температуру, как заведу - на индикаторе то нормальная температура, то -2, то +85. Помехи, блин. В моторном отсеке кинул до датчика в экранированном проводе плюс и данные, ещё интереснее стало: одни тире с точкой при заведённом двигателе. Завтра попробую кинуть экран прямо со схемы, она в салоне.

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

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

Сообщение nvz »

Soir писал(а):Попробуйте уменьшить сопротивление R1.
Если есть возможность, проверьте работу термометра от Alex в автомобиле, его варианты работали более устойчиво, по крайней мере в случае длинного кабеля.
Проверьте, как работает датчик, если его разместить в салоне, на коротких проводах.
По цепям питания поставьте побольше конденсаторы, обязательно кроме электролитов еще и керамику, да и само питание желательно брать с аккумулятора (или как можно ближе от него), а не с бортовой сети. Может надо поставить фильтр по питанию.


R1 попробую.
Термометр от Alex, поищу, прикину, длина кабеля в авто не более 2,5м. Помехи, по-моему, не будут знать, что я поставил другую схему.....
Для питания от АКБ придётся ставить дополнительное реле, проверю сперва напрямую. Керамику ставлю в любой цифровой схеме, электролиты увеличу.
Но сперва кину экран. Всё попробую сегодня вечером, отпишу.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Попробовал... кинул экранированный кабель, к питанию приделал 1500мк+0,1мк (питание, кстати, взято с блока автоматики прогрева), подтягивающий резистор уменьшил до 2,2кОм. Та-же история, при заводке двигла одни тире. Отключил датчик холла зажигания, крутнул двигатель - показывает температуру! После долгих раздумий выяснил: термодатчик стоит между свечами 3 и 4 цилиндров, зажигание электронное, поэтому наводки от высоковольтных проводов вполне могут перебить сигналы с DS18B20. Конструкция датчика температуры получилась такая: DS находится внутри, прижат к торцу штатной пружиной, второй конец которой прижат к выводному контакту термометра, туда я посадил 3 ногу DS. Первая нога DS соединена с корпусом термометра, а вторую ногу (дурак же я) вывел проводом наружу термометра где-то 5 см. Так вот на эти 5 см и наводятся импульсы! Обмотал я алюминиевой фольгой термометр и открытые провода с него, завёл двигатель, показывает температуру, но при перегазовке - опять тире. После "долгих раздумий" подключил к этой фольге оплётку подходящих проводов - кажись пошло всё нормально. Придётся делать экран, не фольгу же оставлять...
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

to Soir:
Раз у меня наметился переход на 16F628A, я бы попросил соорудить 2 прошивки (ОК и ОА) на основе download/file.php?id=49345 без COOLER. Условия (надёргал из ветки):
При нажатии на кнопку SET переходит в установку температуры выключения нагревателя, повторное нажатие - гистерезис. Включение - температура выключения минус гистерезис. Короткое нажатие на PLUS/MINUS меняет десятые, длинное - единицы.

проинвертировать вывода RAO0-3, сигналы подать на индикатор напрямую, а инвертацию сделать транзистором только на DP

Минус индицируется начиная с -0,1 градуса. Формат отображения ХХХ,Х для положительных значений и -ХХ,Х для отрицательных. Незначащие нули гасятся.

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

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

Сообщение Soir »

nvz писал(а):to Soir: ...я бы попросил соорудить 2 прошивки...

В выходные, раньше не получится.
Ответить

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