Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Прошу.
- Вложения
-
- как-то так.doc
- (26 КБ) 340 скачиваний
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Так понятнее. Кое-что хочу уточнить.
1. Когда выключается блокировка?
2. Что должно произойти с вентилятором и блокировкой, если произошла ошибка датчика?
N.B.
Аппаратный ШИМ есть на борту у PIC16F628A. Его несложно реализовать. Тогда вентилятор можно будет эксплуатировать в более широком диапазоне мощностей (от 0 до 100%, или ограничить) в автоматическом режиме регулирования оборотов.
1. Когда выключается блокировка?
2. Что должно произойти с вентилятором и блокировкой, если произошла ошибка датчика?
N.B.
Аппаратный ШИМ есть на борту у PIC16F628A. Его несложно реализовать. Тогда вентилятор можно будет эксплуатировать в более широком диапазоне мощностей (от 0 до 100%, или ограничить) в автоматическом режиме регулирования оборотов.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Пока вот такой вариант. Описание работы во вложении. Что не так - пишите.
- Вложения
-
- Termometr_v8_Cool_CC.zip
- (16.96 КБ) 378 скачиваний
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Посмотрю, попробую. У меня проблема с выходом в инет. Модем, Мегафон. Так вот последний стал делать какие-то эксперименты, во время которых в инет я могу выйти только утром до 10-11часов (8-9 по Москве), поэтому долго не отвечаю...
Насчёт блокировки: она уже работает продолжительное время, замечаний не имеет, у меня стоит уставка 30 градусов, выше-единица на выходе МК, ниже-нолик.
Перед тем как завести двигатель - смотрю на индикатор, замечаний пока не было, ну а будет сбой (не дай бог) на ШИМ - термоконтакт включения вентилятора остался в работе, не демонтирован, так что ничего фатального.
P.S. Выход на ШИМ надо бы инвертировать: включать единичкой, схемка немного не сошлась.
А насчёт регулирования ШИМ самим МК - неохота для такой ерунды алгоритм разрабатывать. Всё-так все мы в душе немного лентяи.
Посмотрел, попробовал. Не совсем понял, для чего блокировка устанавливается с десятыми градуса? Целых вполне достаточно. И совершенно не понял назначение кнопки ON_PWM. А выход на ШИМ надо бы инвертировать. Остальное вроде всё нормально.
Насчёт блокировки: она уже работает продолжительное время, замечаний не имеет, у меня стоит уставка 30 градусов, выше-единица на выходе МК, ниже-нолик.
Перед тем как завести двигатель - смотрю на индикатор, замечаний пока не было, ну а будет сбой (не дай бог) на ШИМ - термоконтакт включения вентилятора остался в работе, не демонтирован, так что ничего фатального.
P.S. Выход на ШИМ надо бы инвертировать: включать единичкой, схемка немного не сошлась.
А насчёт регулирования ШИМ самим МК - неохота для такой ерунды алгоритм разрабатывать. Всё-так все мы в душе немного лентяи.
Посмотрел, попробовал. Не совсем понял, для чего блокировка устанавливается с десятыми градуса? Целых вполне достаточно. И совершенно не понял назначение кнопки ON_PWM. А выход на ШИМ надо бы инвертировать. Остальное вроде всё нормально.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):P.S. Выход на ШИМ надо бы инвертировать: включать единичкой, схемка немного не сошлась.
Инвертировал.
Ну вот, опять: "Достигнут максимальный общий размер Ваших вложений."
Пока выложил на рапиду, потом перезалью на форум.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
В протеусе вроде всё ОК, но, для чего всё-таки кнопка ON_PWM? для тестирования? в нормальном режиме 4 нога заземлена?
А текст можно и в блокноте.
А текст можно и в блокноте.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):... для чего всё-таки кнопка ON_PWM? для тестирования? в нормальном режиме 4 нога заземлена?
Неправильно понял ТЗ, чего-то вбил себе в голову, что должна быть кнопка для отключения.
Кнопку убрал. 4-ый вывод можно никуда не подключать.
На сайте все те же проблемы, поэтому прошивка снова здесь.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
А предыдущая уже недействительна?
Скинь без объяснений
Ты не против, если я спрошу несколько вопросов у Базилио, накопилось......
Скинь без объяснений
Ты не против, если я спрошу несколько вопросов у Базилио, накопилось......
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
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
(только для поддержки разговора) В предыдущеё прошивке 4нога заземлена, А в новой не надо?
Риторический вопрос.
Риторический вопрос.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):В предыдущеё прошивке 4нога заземлена, А в новой не надо?
Риторический вопрос.
4-ая ножка больше не задействована. Ее состояние программой игнорируется.
nvz писал(а):только для поддержки разговора
Можете использовать ее в качестве основного назначения - это вход сброса MCLR. При прошивке в конфигурации выставить галочку MCLR включен, а в схеме на него подать +5V, можно через RC цепочку. Это будет задерживать запуск программы на время, пока не установится напряжение питания. Иногда бывает полезным. Да еще меньше геморроя при прошивке МК.
- hpo
- Открыл глаза
- Сообщения: 70
- Зарегистрирован: Сб янв 15, 2011 18:46:07
- Откуда: Крым
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
помогите добавить, плз,содержимое вложения в прошивку для pic16f628 - для увеличения диапазона температур заменил DS18B20 на AD7792 +TXA, или, если можно, исходники прошивки глянуть бы одним глазком 
- Вложения
-
- AD7792&ТХА.txt
- (3.71 КБ) 253 скачивания
Полнота познания всегда означает некоторое понимание глубины нашего неведения
- hpo
- Открыл глаза
- Сообщения: 70
- Зарегистрирован: Сб янв 15, 2011 18:46:07
- Откуда: Крым
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Набросал схему в diptrace. Печатку пока не делал. Кому нужно, есть схема оригинальная с печаткой под односторонний монтаж - не шедевр, но задумывалась как базовая часть под возможные доработки
- Вложения
-
- TMRpowerPIC18F84_v1.zip
- вариант платы близкий к оригиналу, только односторонний монтаж с перемычками
- (13.68 КБ) 276 скачиваний
-
- TMRpowerPIC16F628_v3.zip
- мой вариант схемы
- (15.8 КБ) 284 скачивания
Полнота познания всегда означает некоторое понимание глубины нашего неведения
Re: Терморегулятор на микроконтроллере PIC16F628A датчикe DS
Прошивка 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 ВЫСОКИЙ уровень.
Спасибо за интересную тему и за помощь. В файле более детальное описание алгоритма:
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 скачиваний
Re: Терморегулятор на микроконтроллере PIC16F628A датчикe DS
serg-serg писал(а):Прошивка Termometr_v8.1_Cool_CC.zip и схема под индикатор с общим катодом?
В названии версии прошивки CC - индикаторы с общим катодом, CA - с общим анодом.
serg-serg писал(а):2 Добавить кнопку MINUS (если не сложно)
Не сложно. Хочу уточнить, кнопка MINUS работает аналогично кнопке PLUS? То есть при достижении 0 переходит на верхний предел устанавливаемого параметра? Или, раз кнопки теперь будет две, то сделать для них "упор" в крайних положениях?
Остальное вроде все понятно и не сложно для реализации.
Re: Терморегулятор на микроконтроллере PIC16F628A датчикe DS
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 скачиваний
Re: Терморегулятор на микроконтроллере PIC16F628A датчикe DS
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.
Re: Терморегулятор на микроконтроллере PIC16F628A датчикe DS
Soir писал(а):Сегмент H (точка) подключается к выводу 13 МК. И еще отличие: в новых вариантах моих схем по-другому организовано подключение кнопок, как в варианте Termometr_v8.1_Cool_CC.
Учтем. Тогда займусь сейчас сборкой на макетке.
Резисторы в цепь точки и ABCDEFG 300ом или 1ком лучше? Применение транзисторов в катод разгрузит PIC по току? Или PIC не важно через транзистор или резистор в плане нагрузки?
Кнопки подключаю на землю через 1ком(уточните насчет MINUS):
6pic -MODE
7pic - PLUS
8(?)pic -minus
Re: Терморегулятор на микроконтроллере PIC16F628A датчикe DS
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 скачивания
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
По схеме пока все понятно. Спасибо.
Индикатор у меня 4 разряда.
Может это упростит задачу?
Выводить например на 4:
085.4 и при >100 писать 105.5
или лучше первый ноль не зажигать если T<100 :
85.4 и при >100 писать 105.5
Индикатор у меня 4 разряда.
Может это упростит задачу?
Выводить например на 4:
085.4 и при >100 писать 105.5
или лучше первый ноль не зажигать если T<100 :
85.4 и при >100 писать 105.5