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

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

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

Сообщение nvz »

Alex: большое спасибо! спаяю переходник - попробую прошить, проверить. Кстати, сигнал на микросхему прямоугольный 3:1 с датчика Холла, а ты наверно делал импульсами. Да ладно, всё равно проверю.

Soir: http://radiokot.ru/forum/download/file.php?id=51544 здесь твоя прошивка для ходовых огней , уставка срабатывания 10 импульсов. Хотелось бы получить ещё пару ,на 20 и 25 импульсов, попробую разобраться как их менять, завтра буду устанавливать на авто, вполне возможно надо будет менять...
Аватара пользователя
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 »

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

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

Сообщение Soir »

nvz писал(а):Soir: http://radiokot.ru/forum/download/file.php?id=51544 здесь твоя прошивка для ходовых огней , уставка срабатывания 10 импульсов. Хотелось бы получить ещё пару ,на 20 и 25 импульсов, попробую разобраться как их менять, завтра буду устанавливать на авто, вполне возможно надо будет менять...

Не получится пишите.
Вложения
Auto_Light_v0.zip
(2.28 КБ) 219 скачиваний
Аватара пользователя
Соник
Друг Кота
Сообщения: 7563
Зарегистрирован: Пн мар 22, 2010 11:01:14
Откуда: СССР, г. Москва.

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

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

Соник писал(а):
Аlex писал(а):
Твою, термостатовскую. Изменить кое-что в гистерезисе и индикации знака "минус".
Говори что поменять, посмотрим.

Я пока только узнал у тебя. Покумекаю ещё, проверю, тогда скажу на днях.


28 ноября:
Аlex писал(а):Если установка 20.0'C и гистерезис 0.5'C, то включится нагреватель при 19.5'C, выключится при 20.5'C.

Вот это считаю неправильным. Почему если я ставлю включение нагрева на 20*С - он включается при 19,5*С. И то же самое с охлаждением. Конечно мелочь, но в глаза бросается :)))

Можно сделать так, чтобы:
- если включение охлаждения установлено на 30*С, то включается оно при 30*С,
а не при 30*С+гистерезис
- если включение нагрева установлено на 25*С, то включится он при 25*С,
а не при 25*С-гистерезис

Насчёт знака "минус" - при индикации температуры -0,1*С ... -9,9*С второй разряд индикатора пустует ("минус" светится в первом разряде). Можно перенести "минус" в этом диапазоне температур из первого разряда во второй? А то он незаметен :)
Прошивку прикрепил.

ПС: у удного МК я спалил вывод, а второй никак не прошивается :(

Насчёт погрешности датчика, она равна 0,5*С? То есть при реальной температуре 20*С датчик может выдавать 19,5-20,5*С или 19,75-20,25*С?
Вложения
тт_v3 Ал.rar
(292.91 КБ) 243 скачивания
Я рожден при социализме, и я этим горжусь!
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Аlex писал(а):Да, извеняюсь, не дорисовал... кварц на 4Мгц.


Там на 16F676 ещё надо идентификационный (язык сломать можно) код вводить при программировании оказывается, но я не об этом. Присобачил на 2 и 3 ногу кварц на 4,5 МГц, при включении на пятой ноге сидит 1 , на шестой 0. При любой частоте и даже без неё. Может на МС надо импульсы подавать, а не меандр?
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

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

Сообщение Soir »

nvz писал(а):Там на 16F676 ещё надо идентификационный (язык сломать можно) код вводить при программировании оказывается

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

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

Сообщение nvz »

Вот-вот-вот, как сейчас помню 31D0, но не знал что только для внутреннего генератора, для внешнего,значит можно не вписывать? Iprog стирает её начисто.

Hex посмотрел, нашёл, оказывается элементарно: 10Гц-вписываем 0А, 20Гц-14, 25Гц-19, да хоть 40Гц-28. Завтра поставлю, проверю, отпишу.
Аватара пользователя
nvz
Электрический кот
Сообщения: 1056
Зарегистрирован: Чт ноя 25, 2010 16:58:42
Откуда: Средний Урал

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

Сообщение nvz »

Что-то тихо стало в зале... Поставил я девайс на авто (кстати, если кто будет говорить, что на классику поставить датчик скорости легко, не верьте). Похоже микросхема видит 2 импульса вместо одного, т.е. передний и задний фронт меандра. Пришлось прошивать с частотой 20Гц. Да и вообще днем наблюдать за фарами из за руля неудобно, стемнеет - проверю точнее.


Аlex писал(а):Да, извеняюсь, не дорисовал... кварц на 4Мгц.


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

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

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

Можно сделать так, чтобы:
- если включение охлаждения установлено на 30*С, то включается оно при 30*С,
а не при 30*С+гистерезис
- если включение нагрева установлено на 25*С, то включится он при 25*С,
а не при 25*С-гистерезис
Я конечно немного другого мнения, ну да ладно, спорить не буду. Сделал как Вы просите.
Termometr_v1.rar
(220.08 КБ) 255 скачиваний


Присобачил на 2 и 3 ногу кварц на 4,5 МГц, при включении на пятой ноге сидит 1 , на шестой 0. При любой частоте и даже без неё.
Это хреного. У меня, если честно, мыслей пока нет никаких. Отлаживал я в протеусе, т.к. МК такого у меня нет :(
Если появятся мысли, отпишусь.

Может на МС надо импульсы подавать, а не меандр?
Без разницы. МК ловит переход из одного состояния в другой.

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

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

Сообщение nvz »

Печально..... Видимо эта микросхема (16F676) редко применяется.
А что об этой проблеме скажет уважаемый Soir?
Аватара пользователя
Соник
Друг Кота
Сообщения: 7563
Зарегистрирован: Пн мар 22, 2010 11:01:14
Откуда: СССР, г. Москва.

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

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

Аlex писал(а):Я конечно немного другого мнения, ну да ладно, спорить не буду.

С удовольствием выслушаю Ваше мнение :)
Я рожден при социализме, и я этим горжусь!
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

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

Моё мнение простое. Если регулятор выставлен на 20'С, то включаться он должен при 20.0'C, а выключатся при >20.0'C
Для того, чтобы он не дёргался, вводять зону нечувствительности, и она распростроняется не только в одну сторону, а в обе (и в + и в -). Когда выставить ЗН=0.5, будет включаться при 19.5'C, выключатся при 20.5'C. Рабочий диапазон будет лежать в этих пределах, а среднее значение будет равным 20'С. А у Вас получится рабочий диапазон 20-20.5'C, это значит среднее = 20.25'C :)
Аватара пользователя
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 »

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

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

Сообщение nvz »

Ну не знаю, попробую перевести: при уставке включения 25гр. и дельте (гистерезисе) 3гр. - нагреватель включается при 25, а отключается при 28 градусах.
Аватара пользователя
Соник
Друг Кота
Сообщения: 7563
Зарегистрирован: Пн мар 22, 2010 11:01:14
Откуда: СССР, г. Москва.

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

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

Аlex писал(а):Когда выставить ЗН=0.5, будет включаться при 19.5'C, выключатся при 20.5'C. Рабочий диапазон будет лежать в этих пределах, а среднее значение будет равным 20'С.

А зачем включать нагрев при 19,5*С? Я предлагаю его включить при 20*С и гистерезис выставить скажем 6*С - как только температура доползёт до 26*С - нагрев отключится и температура в помещении пойдёт вниз и при 20*С снова включится обогрев. Разве не так работает большинство термостатов?
nvz писал(а):Ну не знаю, попробую перевести: при уставке включения 25гр. и дельте (гистерезисе) 3гр. - нагреватель включается при 25, а отключается при 28 градусах.

Совершенно верно.
Пока печатал свой пост - появился Ваш :)
Я рожден при социализме, и я этим горжусь!
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

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

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

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

Сообщение nvz »

Вообще-то гистерезис - немного отрицательное значение: напряжение срабатывния реле 10в., возврата-6 вольт. Разница между срабатыванием и возвратом 4в. - это и есть гистерезис. А вот зона нечувствительности (она обычно в процентах) делится на 2 и устанавливается по обе стороны уставки.
Лирика всё это....
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

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

http://www.owen.ru/uploads/rie_trm101_567.pdf
Изображение
Это и есть гистерезис. Диапазон между включением и выключением ИМ. Он всегда находится в середине уставки.
А, как таковая, зона нечувствительности существует в регуляторах имеющих П, И , Д составляющие. Она определяет диапазон входных значений, в пределах которых регулятор игнорирует их изменения.
В нашем случае это всё таки гистерезис. И его значение должно быть по обе стороны уставки.
Конечно же это ИМХО :dont_know:
Вложения
trm.jpg
(171.31 КБ) 1304 скачивания
Ответить

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