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

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

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

Сообщение nvz »

Прошу.
Вложения
как-то так.doc
(26 КБ) 340 скачиваний
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

Так понятнее. Кое-что хочу уточнить.
1. Когда выключается блокировка?
2. Что должно произойти с вентилятором и блокировкой, если произошла ошибка датчика?

N.B.
Аппаратный ШИМ есть на борту у PIC16F628A. Его несложно реализовать. Тогда вентилятор можно будет эксплуатировать в более широком диапазоне мощностей (от 0 до 100%, или ограничить) в автоматическом режиме регулирования оборотов.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

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

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

Сообщение nvz »

Посмотрю, попробую. У меня проблема с выходом в инет. Модем, Мегафон. Так вот последний стал делать какие-то эксперименты, во время которых в инет я могу выйти только утром до 10-11часов (8-9 по Москве), поэтому долго не отвечаю...
Насчёт блокировки: она уже работает продолжительное время, замечаний не имеет, у меня стоит уставка 30 градусов, выше-единица на выходе МК, ниже-нолик.
Перед тем как завести двигатель - смотрю на индикатор, замечаний пока не было, ну а будет сбой (не дай бог) на ШИМ - термоконтакт включения вентилятора остался в работе, не демонтирован, так что ничего фатального.
P.S. Выход на ШИМ надо бы инвертировать: включать единичкой, схемка немного не сошлась.
А насчёт регулирования ШИМ самим МК - неохота для такой ерунды алгоритм разрабатывать. Всё-так все мы в душе немного лентяи.

Посмотрел, попробовал. Не совсем понял, для чего блокировка устанавливается с десятыми градуса? Целых вполне достаточно. И совершенно не понял назначение кнопки ON_PWM. А выход на ШИМ надо бы инвертировать. Остальное вроде всё нормально.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):P.S. Выход на ШИМ надо бы инвертировать: включать единичкой, схемка немного не сошлась.

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

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

Сообщение nvz »

В протеусе вроде всё ОК, но, для чего всё-таки кнопка ON_PWM? для тестирования? в нормальном режиме 4 нога заземлена?
А текст можно и в блокноте.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

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

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

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

Сообщение nvz »

А предыдущая уже недействительна?
Скинь без объяснений

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

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

Сообщение Soir »

nvz писал(а):А предыдущая уже недействительна?
Скинь без объяснений

Не понял. Предыдущая прошивка? Или ссылка?
Отличие между прошивками: в первой с кнопкой отключения выхода на ШИМ (Termometr_v8.1_Cool_CC.zip), в более новой кнопку убрал (Termometr_v8.2_Cool_CC.zip). Больше отличий между ними нет.
Вложения
Termometr_v8.1_Cool_CC.zip
(17.02 КБ) 251 скачивание
Termometr_v8.2_Cool_CC.zip
(23.1 КБ) 286 скачиваний
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

(только для поддержки разговора) В предыдущеё прошивке 4нога заземлена, А в новой не надо?

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

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

Сообщение Soir »

nvz писал(а):В предыдущеё прошивке 4нога заземлена, А в новой не надо?

Риторический вопрос.

4-ая ножка больше не задействована. Ее состояние программой игнорируется.
nvz писал(а):только для поддержки разговора

Можете использовать ее в качестве основного назначения - это вход сброса MCLR. При прошивке в конфигурации выставить галочку MCLR включен, а в схеме на него подать +5V, можно через RC цепочку. Это будет задерживать запуск программы на время, пока не установится напряжение питания. Иногда бывает полезным. Да еще меньше геморроя при прошивке МК.
Аватара пользователя
hpo
Открыл глаза
Сообщения: 70
Зарегистрирован: Сб янв 15, 2011 18:46:07
Откуда: Крым
Контактная информация:

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

Сообщение hpo »

помогите добавить, плз,содержимое вложения в прошивку для pic16f628 - для увеличения диапазона температур заменил DS18B20 на AD7792 +TXA, или, если можно, исходники прошивки глянуть бы одним глазком :))
Вложения
AD7792&ТХА.txt
(3.71 КБ) 253 скачивания
Полнота познания всегда означает некоторое понимание глубины нашего неведения
Аватара пользователя
hpo
Открыл глаза
Сообщения: 70
Зарегистрирован: Сб янв 15, 2011 18:46:07
Откуда: Крым
Контактная информация:

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

Сообщение hpo »

Набросал схему в diptrace. Печатку пока не делал. Кому нужно, есть схема оригинальная с печаткой под односторонний монтаж - не шедевр, но задумывалась как базовая часть под возможные доработки
Вложения
TMRpowerPIC18F84_v1.zip
вариант платы близкий к оригиналу, только односторонний монтаж с перемычками
(13.68 КБ) 276 скачиваний
TMRpowerPIC16F628_v3.zip
мой вариант схемы
(15.8 КБ) 284 скачивания
Полнота познания всегда означает некоторое понимание глубины нашего неведения
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

Прошивка Termometr_v8.1_Cool_CC.zip и схема под индикатор с общим катодом? Если не очень сложно:
1 Можно в схеме добавить для индикатора четыре транзистора чтобы не переживать за ток, потребляемый индикатором?
2 Добавить кнопку MINUS (если не сложно)
3 оставить кнопку ON_PWM (если не сложно)
далее из Termometr_v8.1_Cool_CC поменять диапазоны:
4 Диапазон установки от 0 до 50 оС, затем снова 0…
заменить на: Диапазон установки от 0 до 125 оС, затем снова 0…
5 Меняется кнопкой PLUS от 80 до 95 градусов через один градус по кругу.
Заменить на: Меняется кнопкой PLUS от 0 до 125 градусов через один градус по кругу.
6 Меняется кнопкой PLUS от 1 до 10 градусов через один градус по кругу.
Заменить на: Меняется кнопкой PLUS от 1 до 25 градусов через один градус по кругу.
7 При отжатой кнопке ON_PWM выход PWM блокируется в состоянии логическая единица.
BLOCK на кнопку ON_PWM не должен реагировать и работает в соответствии с установленной температурой (если больше установленной вывод block ВЫСОКИЙ, если меньше вывод НИЗКИЙ. )
8 При ошибке датчика на индикаторе прочерки, на выходах BLOCK и PWM низкий уровень.
Заменить на: При ошибке датчика на индикаторе прочерки, на выходах BLOCK и PWM ВЫСОКИЙ уровень.
Спасибо за интересную тему и за помощь. В файле более детальное описание алгоритма:
Вложения
Описание работы-edit1.doc
(31 КБ) 266 скачиваний
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

serg-serg писал(а):Прошивка Termometr_v8.1_Cool_CC.zip и схема под индикатор с общим катодом?

В названии версии прошивки CC - индикаторы с общим катодом, CA - с общим анодом.
serg-serg писал(а):2 Добавить кнопку MINUS (если не сложно)

Не сложно. Хочу уточнить, кнопка MINUS работает аналогично кнопке PLUS? То есть при достижении 0 переходит на верхний предел устанавливаемого параметра? Или, раз кнопки теперь будет две, то сделать для них "упор" в крайних положениях?
Остальное вроде все понятно и не сложно для реализации.
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

Soir писал(а):
serg-serg писал(а):То есть при достижении 0 переходит на верхний предел устанавливаемого параметра?

Да. Пусть остается у MINUS переход на ....3-2-1-0-125-124-123...

Для BLOCK можно ли гипертезис увеличить до 2градусов? В идеале если это не сложно сделать изменяемый гипертезис как и у PWM.

Индикатор у меня с общим катодом. Хочу добавить три N-P-N транзистора на катоды. Между 1(pic)-1(индикатор), 18-2, 17-3. Для этого нужно в програмно инвертировать 1,18,17 PIC?

Подключить катоды через N-P-N хочу как на схеме. Будет работать? Нужно только будет только базу транзистров через резистор подключить соответсвенно к выводам pic 1,18,17 ?
Вложения
Termometr.png
(29.09 КБ) 496 скачиваний
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

serg-serg писал(а):...Для BLOCK можно ли гипертезис увеличить до 2градусов? В идеале если это не сложно сделать изменяемый гипертезис как и у PWM.

Можно.
serg-serg писал(а):Индикатор у меня с общим катодом. Хочу добавить три N-P-N транзистора на катоды. Между 1(pic)-1(индикатор), 18-2, 17-3. Для этого нужно в програмно инвертировать 1,18,17 PIC?

Да, это делается программно.
serg-serg писал(а):Подключить катоды через N-P-N хочу как на схеме. Будет работать? Нужно только будет только базу транзистров через резистр подключить соответсвенно к выводам pic 1,18,17 ?

Будет работать. Резисторы в схеме уже прорисованы: R12 - R15. У Вас будет три (три разряда). Сегмент H (точка) подключается к выводу 13 МК. И еще отличие: в новых вариантах моих схем по-другому организовано подключение кнопок, как в варианте Termometr_v8.1_Cool_CC.
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

Soir писал(а):Сегмент H (точка) подключается к выводу 13 МК. И еще отличие: в новых вариантах моих схем по-другому организовано подключение кнопок, как в варианте Termometr_v8.1_Cool_CC.

Учтем. Тогда займусь сейчас сборкой на макетке.
Резисторы в цепь точки и ABCDEFG 300ом или 1ком лучше? Применение транзисторов в катод разгрузит PIC по току? Или PIC не важно через транзистор или резистор в плане нагрузки?

Кнопки подключаю на землю через 1ком(уточните насчет MINUS):
6pic -MODE
7pic - PLUS
8(?)pic -minus
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

serg-serg писал(а):Резисторы в цепь точки и ABCDEFG 300ом или 1ком лучше?

Зависит от тока сегментов индикатора. Обычно ток до 20 мА. Таким образом сопротивление в пределах 200-300 Ом. От него также зависит яркость свечения. На макете поэкспериментируете. 1 кОм выбирался исходя из того, что общие катоды подключались без транзисторных ключей, напрямую к МК.
serg-serg писал(а):Применение транзисторов в катод разгрузит PIC по току? Или PIC не важно через транзистор или резистор в плане нагрузки?

Да, безусловно разгрузит. Ток через каждый из выводов МК не должен превышать 25 мА, но это крайнее значение, лучше меньше.
serg-serg писал(а):Кнопки подключаю на землю через 1ком(уточните насчет MINUS):

Во вложении проект в Proteus (только для отладки и демонстрации). На его основании можете делать схему. Там и прошивка, но она пока прежняя. Но все равно, если знакомы с Proteus - попробуйте. Я пока сделал только установку температуры от 0 до 125 и возникли вопросы.
1. Индикатор 3-х разрядный. Установленная температура выше 99,9 град будет без десятых.
2. Для индикации устанавливаемого параметра используются символы. Так при установке PWM символ P. Если PWM больше 99, то нужно думать другой вариант. Можно как-то точками, можно внешним светодиодом, можно последовательностью нажатий (например, сначала какой-то символ, опять же например, Out, а следующее нажатие на MODE уже температура срабатывания). Аналогично по остальным параметрам.

P.S.
В проекте вместо транзисторов инверторы. Так удобнее в Proteus при симуляции.
Вложения
Termometr_v8.3_Cool_CC.zip
(20.59 КБ) 273 скачивания
serg-serg
Родился
Сообщения: 16
Зарегистрирован: Ср апр 13, 2011 23:02:48

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

Сообщение serg-serg »

По схеме пока все понятно. Спасибо.
Индикатор у меня 4 разряда.
Может это упростит задачу?

Выводить например на 4:

085.4 и при >100 писать 105.5
или лучше первый ноль не зажигать если T<100 :
85.4 и при >100 писать 105.5
Ответить

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