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

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

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

Сообщение Soir »

Soir писал(а):
kuchar писал(а):Soir,я думаю,что эта базовая схема если и изменится ,то не коренным образом...

Начал писать программу. В принципе схема действительно меняться не будет. Если сможете, нарисуйте полную схему, с транзисторными ключами, пищалку, в зависимости от ее тока потребления, тоже через ключ... Покажете ее мне и можно будет делать плату. Если не сможете сами, чуть позже нарисую сам.

В общем первая версия прошивки готова. Смотрите вложение. Кроме прошивки, там проект в Proteus (упрощенная схема, только для симуляции! полной пока нет) и описание.
Не знаю, как должны вести себя выходы при ошибке датчика. Сделал отключение нагрузки, может я не прав. Проверьте все режимы, может что и напутал, что-то взвалил на себя слишком много, замотался.
От себя добавил пару опций в качестве новогоднего подарка, могут оказаться полезными в Вашем случае. Это фиксация с последующим просмотром максимальной температуры за весь период работы устройства, или от последнего сброса. (Можно еще добавить и минимальную температуру, следить - так следить.) И возможность отключения режима сигнализации и блокировки по каждому каналу в отдельности. То есть прибор превращается в обычный термостат.

24.12.2011
Исправил ошибки в прошивке.
Вложения
Termometr_v11_CA.zip
Возможно не финальная версия...
(22.4 КБ) 239 скачиваний
Последний раз редактировалось Soir Сб дек 24, 2011 21:55:34, всего редактировалось 1 раз.
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

bratt писал(а):...повторю:

Придется повторить еще раз.
bratt писал(а):1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 1

В первом случае не зависит от вывода 16?
bratt писал(а):2. Если температура U4 больше установленной, то на выводе 16 логический 1. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 0

А тут зависит? А если на выходе U3 температура больше установленной? На выводе 15 единица? Договаривайте, я устал читать мысли.
Если эти два выхода как-то взаимосвязаны между собой, опишите все ситуации.
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

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

Добавил возможность выбора времени перерасчета SP. Устанавливается в сервисных настройках от 1 до 60 сек. Описание и прошивка во вложении.
При смене прошивки все данные в EEPROM необходимо стереть, как в Proteus, так и в железе.
Поскольку влезать пришлось во многие места программы, мог что-то и напутать, проверяйте.
Не уверен, что все правильно пересчитается при больших значения времени выполнения программы и высокой температуре, может не хватить разрядности чисел. Я в этот вопрос пока не вникал и не ограничивал настройки. В случае успешных испытаний посмотрю что там и как.
Вложения
Termo_ATMega8.zip
Перезалил файл из-за ошибок в прошивке.
(13.58 КБ) 179 скачиваний
Последний раз редактировалось Soir Ср дек 21, 2011 20:01:01, всего редактировалось 1 раз.
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Soir, не работает кнопка OFF\ON, и в режиме SET, Р1 в первом разряде набора времени стоит двойка.
Последний раз редактировалось tbogdan Ср дек 21, 2011 14:58:12, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

tbogdan писал(а):Soir, не работает кнопка OFF\ON, и в режиме SET, Р1 в первом разряде набора температуры стоит двойка.

Беда...
EEPROM сбросили?
Реклама
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

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

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

Сообщение Soir »

tbogdan писал(а):Полностью очищаю МК

Это в железе или Proteus?
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

Прошиваю сразу МК
Изображение
Может фюзы???
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

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

Сообщение bratt »

Soir писал(а):
bratt писал(а):...повторю:

Придется повторить еще раз.
bratt писал(а):1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 1

В первом случае не зависит от вывода ...


Извените. Soir, туплю.
Повторю:
1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 1
2. Если температура U4 больше установленной, то на выводе 16 логический 1. Если температура U4 меньше установленной на величину гистерезиса, то на выводе 16 логический 0
Финальная версия, надеюсь. Спасибо за терпение.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

tbogdan писал(а):Прошиваю сразу МК...Может фюзы???

С этими же фюзами работал на другой прошивке?
Проверьте все-таки EEPROM считыванием после прошивки. А я гляну еще раз прошивку.
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

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

Сообщение tbogdan »

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

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

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

Сообщение Soir »

tbogdan писал(а):Остальные прошивки с этими установками работают
Буфер EEPROM

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

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

Сообщение Soir »

Soir писал(а):
tbogdan писал(а):Остальные прошивки с этими установками работают

Значит это я что-то намудрил...

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

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

Сообщение Soir »

bratt писал(а):1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 1
2. Если температура U4 больше установленной, то на выводе 16 логический 1. Если температура U4 меньше установленной на величину гистерезиса, то на выводе 16 логический 0

Вот теперь понятно.
Кстати, что с миганием?
Вложения
Termometr.zip
(3.05 КБ) 188 скачиваний
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

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

Сообщение bratt »

Soir писал(а):
bratt писал(а):1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 1
2. Если температура U4 больше установленной, то на выводе 16 логический 1. Если температура U4 меньше установленной на величину гистерезиса, то на выводе 16 логический 0

Вот теперь понятно.
Кстати, что с миганием?



Мигает по прежнему, плату проверил уже несколько раз, может вопрос в установках программатора,
шью icprog через com порт, галочка стоит напротив MCLR, осцилятор IntRC I\O, все остальные настройки типовые, вообщим у меня идеи закончились, пока скорее всего будет так как есть, спасибо за помощь.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

bratt писал(а):Мигает по прежнему, плату проверил уже несколько раз...

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

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

Сообщение bratt »

Soir писал(а):
bratt писал(а):Мигает по прежнему, плату проверил уже несколько раз...

Я выкладывал тестовую прошивку - тоже мигает?


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

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

Сообщение Soir »

bratt писал(а):Прошил последней выложеной прошивкой, то что хотел, огромное спасибо, но мигает.

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

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

Сообщение nvz »

OFF как время летит, вроде недавно (стр.19) поздравлял всех с днем энергетика, и уже снова приходится. ПОЗДРАВЛЯЮ!
Вложения
Resize of C днём энергетика.png
(200.18 КБ) 364 скачивания
Последний раз редактировалось nvz Чт дек 22, 2011 17:28:42, всего редактировалось 1 раз.
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

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

Сообщение bratt »

Soir писал(а):
bratt писал(а):Прошил последней выложеной прошивкой, то что хотел, огромное спасибо, но мигает.

Еще вариант. Мигание нужно победить.



Попробовал предложенный вариант, изменилась частота мерцания, время несвичения разряда стало значительно меньше, раньше было примерно одинаково время светится/несветится разряд индикатора, но мерцание осталось.
И еще, отсутствует мерцание при индикации температуры 25.0-25.9 град., 27.0-27.9 град., 31.0-31.9 град.
При отключении провода от индикатора с "точки", мерцание пропадает при любой температуре, но и не подсвечивается точка на индикаторе.
Ответить

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