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

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

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

Сообщение nvz »

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

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

Сообщение nvz »

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

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

Сообщение Soir »

nvz писал(а):В данный момент я собрал последний вариант с сигнализацией

А предыдущий вариант Вы не собирали?
nvz писал(а):там кнопки не нужны.

Тем не менее в программе они реализованы и можно проверить их работу.
nvz писал(а):выход на датчике с открытым коллектором - при неисправном резисторе ничего работать не будет.

Там все гораздо сложнее. Исправность резистора легко проверяется. Да и желательно не только провода прозванивать, но и померять напряжения на датчике.
nvz писал(а):Да, вроде по умолчанию в осцилляторе выставлено HS, биты ни один не отмечен. Это правильно?

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

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

Сообщение Soir »

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

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

Сообщение nvz »

Докладаю! С моими непонятками - мой косяк: не поменял 3 ногу с 13, даже на выложенной схеме так оставил. Микросхему прошил в Пони (в icprog выдавал ошибку). Проверил предыдущую схему: температуру показывает, на 13 ноге сидит плюс постоянно (ставил светодиод с резистором на минус), уставки по напряжению не сохраняются, после перерыва питания - показывают что хотят. По последней прошивке на 16F84: установка температуры там действительно не нужна, нужен только контроль понижения температуры, независимо откуда она началась. Здесь же термометр показывает температуру раз в минуту, хотя необходимо чтобы он контролировал изменения температуры раз в минуту, с подачей сигнала при её понижении на 0,1 градуса и ниже, а индикация температуры работала как обычно. Насчёт сигнала - та же история, но светодиод постоянно горит через резистор на плюс.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):... уставки по напряжению не сохраняются, после перерыва питания - показывают что хотят.

Может по температуре? Сохранение производится через 5 сек после сделанных изменений, может Вы не дождались?
nvz писал(а):По последней прошивке на 16F84... Здесь же термометр показывает температуру раз в минуту, хотя необходимо чтобы он контролировал изменения температуры раз в минуту, с подачей сигнала при её понижении на 0,1 градуса и ниже, а индикация температуры работала как обычно.

Я так сделал для пробы, ждал от Вас уточнения http://www.radiokot.ru/forum/viewtopic.php?p=637505#p637505
nvz писал(а):Насчёт сигнала - та же история, но светодиод постоянно горит через резистор на плюс.

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

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

Сообщение Soir »

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

Ну вот такой вариант. При включении устройства измеряется температура и запоминается. В течении минуты температура измеряется каждую секунду и выводится на индикатор. Если температура хотя бы раз снизилась ниже запомненной - по завершении минуты включится нагреватель. Новая измеренная температура запоминается и последующую минуту идет сравнивание с ней. Если понижения не было - нагреватель выключается, новая температура записывается и т.д. Таким образом в начале каждой минуты измеренная температура будет образцовой, а все измерения в течении минуты будут с ней сравниваться.
P.S. Версию 2 перезалил. http://radiokot.ru/forum/viewtopic.php?p=633755#p633755 Хотя прошивка у меня и работает, но что-то компилятор на работе отказывается компилировать проект. :dont_know: Пришлось кое-что поправить, может потому и глючит. Еще проверю дома.
Вложения
Termometr_16F84_CC_v3.zip
(21.2 КБ) 322 скачивания
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Soir! Извини, конечно, но у меня интерес к этому проекту несколько банальней. Как я уже писал, у меня есть баня. Раньше я температуру там мерял другим способом: в бане генератор, частота изменяется термосопротивлением, дома принимаю эту частоту, выпрямляю и на стрелочный индикатор. Так как баня от дома почти 40 метров, когда нужно бежать подтапливать приходилось определять по стрелочнику (не бегать же туда каждые 5 минут). Схему оповещения к частотомеру я придумать не смог, хотя пытался... Так может сейчас, с ВАШЕЙ помощью сбудется моя мечта (когда я учился в техникуме точного приборостроения, компьютеры только начали появляться).
Вот такие дела...
Спасибо!
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

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

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

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

Сообщение nvz »

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

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

Сообщение nvz »

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

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

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

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

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

Сообщение Soir »

nvz писал(а):Имеется баня, в ней находится датчик температуры, показания с него - дома. Ситуация: топлю баню, температуру в ней наблюдаю дома. Так как баня находится далеко, хотелось бы знать, когда очередная порция дров в ней сгорела. Это, конечно, обозначается понижением температуры(почему я и написал 0,1 градуса или более в течении одной минуты) - сигнал - я бегу, подбрасываю следующую порцию дров.
Вот так...

Попробую прояснить для себя задачу. Температура будет замеряться раз в секунду на протяжении 1 минуты, то есть 60 раз (показания выводятся на индикатор). Первый замер образцовый. Если температура через минуту снизилась по отношению к образцовой - включается сигнал. То есть, в определении включать или не включать сигнал принимает участие только два замера - в начале минуты и по ее истечении. Допустим, надо включить сигнал. Включили. А когда его выключить? Дальше, вторая минута и последующие, какая для них образцовая температура? Если вновь измеренная - можно дойти до бесконечности, дров не хватит. Или самый первый замер является образцовым все время? Но он может быть произведен тогда, когда печь еще не в режиме. Как-то действительно не понятно... :dont_know:
Ну и, конечно, это круто: топить дровами, а температуру отслеживать с точностью 0,1 градус. 40 метров - это в одну сторону? Забегаетесь. :shock:
Последний раз редактировалось Soir Вт дек 07, 2010 18:01:42, всего редактировалось 1 раз.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Alex! Без всяких наворотов у меня уже есть, хотелось бы чтобы он говорил,что пора подбрасывать бежать в баню.
Последний раз редактировалось nvz Вт дек 07, 2010 18:17:59, всего редактировалось 1 раз.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

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

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

Сообщение nvz »

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

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

Сообщение Soir »

nvz писал(а):Забыл, образцовая температура - в начале каждой минуты. Не важно, будь это 40 градусов, что 60, что 80.
А если, к примеру, такой алгоритм: в начале минуты запоминается температура, сравнивается с температурой на 59 секунде, если есть понижение – сигнал 1 секунда, потом сброс, запоминается новая температура на второй минуте и т.д., но показания температуры на индикаторе не прерываются.

К примеру, температура в начале минуты 80 градусов, в конце минуты 79,9 сработал сигнал, дровишек подбросили. Следующая минута 100 градусов. (Я ускоряю процесс, чтоб нагляднее было). Запомнили. Следующая минута - 99,9. Запомнили, побросили дров. Еще минута 120 градусов - запомнили. Еще минута 119,9 градусов, снова сработал сигнал... Потолок ограничен датчиком 125 градусов. Что-то здесь не так.
Вот Ваш вариант. Пробуйте.
Вложения
Termometr.zip
(1.47 КБ) 259 скачиваний
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

"Что-то здесь не так" Это что, прикол? Приведу аналогию: у меня есть автомобиль, но я не гоняю на ней всё время на максимальной скорости. Так же и с баней: протапливаю я её градусов до 80, и то там уже уши сворачиваются, а на всё остальное время сигнал можно и отключить.
Прошивку проверил, похоже - то, что надо!!! Большое СПАСИБО! Этот вопрос можно считать закрытым. Открыт вопрос по предыдущему термометру: уставки ТЕМПЕРАТУРЫ сохраняются, но на 13 ноге постоянно сидит плюс. Это не есть хорошо.
(прошивка из Termometr_16F84_CC_v2)
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):"Что-то здесь не так" Это что, прикол?... а на всё остальное время сигнал можно и отключить.

Да нет, не прикол. Просто система получается недостаточно "интеллектуальная", как на мой взгляд. Теоретически она может Вам выдавать сигнал каждые две минуты. Вам придется каждый раз реагировать на сигнал и определять стОит ли подбрасывать дрова или нет. По крайней мере до того времени, пока Вам не надоест и Вы не отключите сигнал. То есть устройство фактически превращается в банальный термометр с сигнализацией интервалов времени.
nvz писал(а):Прошивку проверил, похоже - то, что надо!!!

Я бы все-таки еще подумал над алгоритмом срабатывания сигнализации.
nvz писал(а):Открыт вопрос по предыдущему термометру: уставки ТЕМПЕРАТУРЫ сохраняются, но на 13 ноге постоянно сидит плюс. Это не есть хорошо. (прошивка из Termometr_16F84_CC_v2)

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

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

Сообщение nvz »

...устройство фактически превращается в банальный термометр с сигнализацией интервалов времени.
Не думаю, пока дрова горят, помещение медленно, но нагревается. Остывать начинает когда прогорят. Хотя чувствительность разницы температур можно уменьшить, к примеру 0,5 градуса. Просто укажи, какая строка в Hex файле отвечает за это, а подогнать в процессе эксплуатации попробую сам.

Я думал это все один проект, оказывается это два разных.
Для меня это два разных, но очень полезных проекта!
С уважением NиколайVZ.
Ответить

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