Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Alex: большое спасибо! спаяю переходник - попробую прошить, проверить. Кстати, сигнал на микросхему прямоугольный 3:1 с датчика Холла, а ты наверно делал импульсами. Да ладно, всё равно проверю.
Soir: http://radiokot.ru/forum/download/file.php?id=51544 здесь твоя прошивка для ходовых огней , уставка срабатывания 10 импульсов. Хотелось бы получить ещё пару ,на 20 и 25 импульсов, попробую разобраться как их менять, завтра буду устанавливать на авто, вполне возможно надо будет менять...
Soir: http://radiokot.ru/forum/download/file.php?id=51544 здесь твоя прошивка для ходовых огней , уставка срабатывания 10 импульсов. Хотелось бы получить ещё пару ,на 20 и 25 импульсов, попробую разобраться как их менять, завтра буду устанавливать на авто, вполне возможно надо будет менять...
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Alex: тактовая частота? если включен внутренний генератор, то почему в конфигурации выставлен стандартный резонатор ХТ? Или не вся обвязка на рисунке?
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Да, извеняюсь, не дорисовал... кварц на 4Мгц.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):Soir: http://radiokot.ru/forum/download/file.php?id=51544 здесь твоя прошивка для ходовых огней , уставка срабатывания 10 импульсов. Хотелось бы получить ещё пару ,на 20 и 25 импульсов, попробую разобраться как их менять, завтра буду устанавливать на авто, вполне возможно надо будет менять...
Не получится пишите.
- Вложения
-
- Auto_Light_v0.zip
- (2.28 КБ) 219 скачиваний
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
Аlex писал(а):Да, извеняюсь, не дорисовал... кварц на 4Мгц.
Там на 16F676 ещё надо идентификационный (язык сломать можно) код вводить при программировании оказывается, но я не об этом. Присобачил на 2 и 3 ногу кварц на 4,5 МГц, при включении на пятой ноге сидит 1 , на шестой 0. При любой частоте и даже без неё. Может на МС надо импульсы подавать, а не меандр?
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
nvz писал(а):Там на 16F676 ещё надо идентификационный (язык сломать можно) код вводить при программировании оказывается
Что-то новое.
Может калибровочную константу? Ее не вводить надо, а постараться не стереть. А лучше сначала ее считать, нацарапать на самом МК. А в случае случайного ее стирания записать по новой, МК без этой константы может вообще отказаться работать. Только это все для работы от внутреннего тактового генератора.- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Вот-вот-вот, как сейчас помню 31D0, но не знал что только для внутреннего генератора, для внешнего,значит можно не вписывать? Iprog стирает её начисто.
Hex посмотрел, нашёл, оказывается элементарно: 10Гц-вписываем 0А, 20Гц-14, 25Гц-19, да хоть 40Гц-28. Завтра поставлю, проверю, отпишу.
Hex посмотрел, нашёл, оказывается элементарно: 10Гц-вписываем 0А, 20Гц-14, 25Гц-19, да хоть 40Гц-28. Завтра поставлю, проверю, отпишу.
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Что-то тихо стало в зале... Поставил я девайс на авто (кстати, если кто будет говорить, что на классику поставить датчик скорости легко, не верьте). Похоже микросхема видит 2 импульса вместо одного, т.е. передний и задний фронт меандра. Пришлось прошивать с частотой 20Гц. Да и вообще днем наблюдать за фарами из за руля неудобно, стемнеет - проверю точнее.
А зачем он вааще, если там внутренний на 4 Мгц есть, почему его не использовать?
Аlex писал(а):Да, извеняюсь, не дорисовал... кварц на 4Мгц.
А зачем он вааще, если там внутренний на 4 Мгц есть, почему его не использовать?
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Я конечно немного другого мнения, ну да ладно, спорить не буду. Сделал как Вы просите.Можно сделать так, чтобы:
- если включение охлаждения установлено на 30*С, то включается оно при 30*С,
а не при 30*С+гистерезис
- если включение нагрева установлено на 25*С, то включится он при 25*С,
а не при 25*С-гистерезис
Это хреного. У меня, если честно, мыслей пока нет никаких. Отлаживал я в протеусе, т.к. МК такого у меня нетПрисобачил на 2 и 3 ногу кварц на 4,5 МГц, при включении на пятой ноге сидит 1 , на шестой 0. При любой частоте и даже без неё.
Если появятся мысли, отпишусь.
Без разницы. МК ловит переход из одного состояния в другой.Может на МС надо импульсы подавать, а не меандр?
Можно и не ставить, поменять конфигурацию при прошивке или в хексе. Но суть это не меняет. С кварцем должен был запуститься.А зачем он вааще, если там внутренний на 4 Мгц есть, почему его не использовать?
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Печально..... Видимо эта микросхема (16F676) редко применяется.
А что об этой проблеме скажет уважаемый Soir?
А что об этой проблеме скажет уважаемый Soir?
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Аlex писал(а):Я конечно немного другого мнения, ну да ладно, спорить не буду.
С удовольствием выслушаю Ваше мнение
Я рожден при социализме, и я этим горжусь!
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Моё мнение простое. Если регулятор выставлен на 20'С, то включаться он должен при 20.0'C, а выключатся при >20.0'C
Для того, чтобы он не дёргался, вводять зону нечувствительности, и она распростроняется не только в одну сторону, а в обе (и в + и в -). Когда выставить ЗН=0.5, будет включаться при 19.5'C, выключатся при 20.5'C. Рабочий диапазон будет лежать в этих пределах, а среднее значение будет равным 20'С. А у Вас получится рабочий диапазон 20-20.5'C, это значит среднее = 20.25'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
Alex, наверное Соник имел ввиду устанавливать не гистерезис, а дельту.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Ну не знаю что он имел в виду, но слова

говорят всё сами за себя- если включение нагрева установлено на 25*С, то включится он при 25*С,
а не при 25*С-гистерезис
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Ну не знаю, попробую перевести: при уставке включения 25гр. и дельте (гистерезисе) 3гр. - нагреватель включается при 25, а отключается при 28 градусах.
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
Я же говорю, это чисто моё мнение, и спорить не собираюсь 
- nvz
- Электрический кот
- Сообщения: 1056
- Зарегистрирован: Чт ноя 25, 2010 16:58:42
- Откуда: Средний Урал
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Вообще-то гистерезис - немного отрицательное значение: напряжение срабатывния реле 10в., возврата-6 вольт. Разница между срабатыванием и возвратом 4в. - это и есть гистерезис. А вот зона нечувствительности (она обычно в процентах) делится на 2 и устанавливается по обе стороны уставки.
Лирика всё это....
Лирика всё это....
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
http://www.owen.ru/uploads/rie_trm101_567.pdf

Это и есть гистерезис. Диапазон между включением и выключением ИМ. Он всегда находится в середине уставки.
А, как таковая, зона нечувствительности существует в регуляторах имеющих П, И , Д составляющие. Она определяет диапазон входных значений, в пределах которых регулятор игнорирует их изменения.
В нашем случае это всё таки гистерезис. И его значение должно быть по обе стороны уставки.
Конечно же это ИМХО
Это и есть гистерезис. Диапазон между включением и выключением ИМ. Он всегда находится в середине уставки.
А, как таковая, зона нечувствительности существует в регуляторах имеющих П, И , Д составляющие. Она определяет диапазон входных значений, в пределах которых регулятор игнорирует их изменения.
В нашем случае это всё таки гистерезис. И его значение должно быть по обе стороны уставки.
Конечно же это ИМХО

- Вложения
-
- trm.jpg
- (171.31 КБ) 1304 скачивания