Термометр на PIC и роль конденсаторов в обвязке кварца?

Обсуждаются темы не относящиеся к журналу "РАДИО"

Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение vovavova » 25 янв 2018, 14:10

Здравствуйте!
Недавно собрал вот такой термометр на PIC с датчиком DS18B20...
Изображение
Но проблема в том, что он НEточный! Вначале включения, показания точные, а вот потом, в ходе получасовой или часовой работы, начинает врать и "убегает" на 2.5 градуса вперед. Это слишком много! Пробовал менять и датчики, и микроконтроллер – все бестолку. С одним PIC «убегает» на 2.5... с другим – на 1.5 градуса, <Удалено модератором>! В общем, ерунда получается. Мне нужен точный термометр. Показания этого сравнивал с двумя другими обычными бытовыми термометрами рядом. Один цифровой в часах с ЖК дисплеем, а другой спиртовой. Так вот, они оба идут нога в ногу... а этот врет и не краснеет!!

Смотрел другие схемы, авторы которых обещают СВЕРХточность до 0.1 градуса, так они все стабилизированы(!) кварцем на 4 МГц.
Изображение
И я так понял, что неточность предыдущей схемы в том, что там нет стабилизации кварцем, а вместо него в контроллере используется RC цепочка. В документации на этот PIC читал, что RC выдает 4 МГц только при 5V питания и +25 температуры среды. А иначе частоту нужно корректировать через целые группы регистров программно и т.д., и т.п. Ну, одним словом, решил сделать по другой схеме с кварцем, но у меня такой вопрос: какую роль играют конденсаторы в обвязке этого самого кварца??? Просто на той схеме, что решил собирать, нужно два по 33 рF, а у меня таких нет. Нашел один старый еще по форме "трубочка", написано 33 +-10% реально по прибору - 35 pF. Еще один нашел подобный так он вообще 37 pF по прибору измерения. Думаю, что даже если куплю вообще новые, то и в них тоже будет "+-%" <Удалено модератором>. Скажите, если С1 будет 35 pF, а С2 – 37 pF это как то скажется на точности показаний??? Частота кварца не измениться от этого? Какая вообще роль этих кондеров???
vovavova
 
Сообщения: 253
Зарегистрирован: 20 сен 2012, 22:15

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение Ewgen » 26 янв 2018, 10:41

В схеме нет резистора, соединяющего сигнальный провод датчика DS18B20 с плюсом питания, вывод 2 датчика и 7 МК. Резистор 4.7кОм.
Ewgen
 
Сообщения: 221
Зарегистрирован: 13 ноя 2009, 20:40
Откуда: Ульяновск

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение Нафис » 26 янв 2018, 11:52

Если схема нарисована полностью я не вижу на ней резистора 4,7 kOm на выходе DS18B20. Резистор обязательно включается между выходом и плюсом питания. Программная реализация 1-Wire интерфейса связи с термометром успешно работает при значительных отклонениях в тактовой частоте микроконтроллера, короче говоря кварц и его обвязка тут не причем.
Нафис
 
Сообщения: 281
Зарегистрирован: 12 апр 2015, 12:28

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение vovavova » 26 янв 2018, 17:06

Вы имеете ввиду вот такое включение???..
Изображение
А что это даст?? Объясните, пожалуйста. :roll:
vovavova
 
Сообщения: 253
Зарегистрирован: 20 сен 2012, 22:15

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение Sergey7 » 26 янв 2018, 17:31

В током устройстве кварц - слишком большая роскошь. Внутреннего генератора на 4 Мгц хватает с головой, при правильной программе шина работает в широком диапазоне частот. Резистор, само собой нужен, внутренней подтяжки недостаточно. Но, раз чтение датчика успешно, то сомневаюсь, что это нужный ответ.

Вероятнее всего ошибка в программе, ведь датчик передает контрольную сумму последним байтом, ее надо обязательно проверять. Также надо правильно настроить разрешение замеров и частоту опроса. Если датчик опрашивать слишком часто, то кристалл может сам нагреться. Точность калибровки датчика +/- 0,5 градуса в середине диапазона, напряжение питания любое от 2,8В, а 0,1 градус это усредненное разрешение. От схем и программ точность не зависит, датчик откалиброван на заводе, ведь дополнительно калибровать вручную никто не будет, проще купить более дорогой датчик.
Исходники есть?
Sergey7
 
Сообщения: 236
Зарегистрирован: 24 фев 2010, 20:32

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение vovavova » 27 янв 2018, 11:00

Sergey7 писал(а):Исходники есть?

Вот это все что есть...
http://my-files.ru/k4cdhz/Простой термометр.rar
Правда из исходников только hex-файл, больше ничего нет. :?
Sergey7
Вы написали...
"Вероятнее всего ошибка в программе", а потом написали: "От схем и программ точность не зависит". Блин... я вообще запутался. :P
vovavova
 
Сообщения: 253
Зарегистрирован: 20 сен 2012, 22:15

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение Нафис » 27 янв 2018, 11:24

Резистор R1 необходим прежде всего для нормальной работы 1-Wire интерфейса. Если на шине один термометр нет необходимости считывать ID-код датчика, можно обойтись упрощенной процедурой. Рекомендация одна, подключить резистор и проверить работу устройства. Если не помогло, значит искать дальше.Тут следует различать протокол работы интерфейса и программу работы с DS18B20.
Нафис
 
Сообщения: 281
Зарегистрирован: 12 апр 2015, 12:28

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение Ewgen » 27 янв 2018, 13:37

Посмотрите журнал Радио 12 за 2007 год, стр. 51, Э. Щенов, "Необычный термометр", есть ассемблер с подробными комментариями.
Ewgen
 
Сообщения: 221
Зарегистрирован: 13 ноя 2009, 20:40
Откуда: Ульяновск

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение Sergey7 » 27 янв 2018, 15:28

Резистор нужен для создания лог 1 на шине, поскольку все 1-WIRE устройства имеют вывод с открытым коллектором, то есть и МК должен на выходе создавать либо лог.0 либо переходить в Z состояние (как вход), внутренний резистор подтяжки великоват, хотя на коротком шлейфе может и работать.
vovavova писал(а):
Sergey7 писал(а):Вы написали...
"Вероятнее всего ошибка в программе", а потом написали: "От схем и программ точность не зависит". Блин... я вообще запутался. :P

Я имел ввиду, что невозможно достичь точности замера выше заявленной точности заводской калибровки. Разрешающая способность датчика при 12 битах высока (0,0625), но ведь разрешение и точность это разные вещи.

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

Посмотрел Вашу модель, не анализируя точно данные видно, что программа слишком часто обращается к датчику, каждые 25 мс, зачем? Делать замеры чаще 2-4 раз в секунду нет смысла для простого термометра. Во время преобразования датчик потребляет заметный ток, до 1,5 мА, что и вызывает лишнее выделение тепла.
Sergey7
 
Сообщения: 236
Зарегистрирован: 24 фев 2010, 20:32

Re: Термометр на PIC и роль конденсаторов в обвязке кварца?

Сообщение Нафис » 27 янв 2018, 17:55

Похоже разработчики вообще не читают документацию на используемые компоненты. При 25 мс конвертирование температуры в выходной код не завершается, что гарантировано приводит к ошибке. Минимальное время обращения при 9 битах около 100 мс, при 12 битах 750 мс. Из-за тепловой инерции датчика обращаться к нему чаще чем через 5-10 секунд вообще бессмысленно.
Нафис
 
Сообщения: 281
Зарегистрирован: 12 апр 2015, 12:28

След.

Вернуться в Всё остальное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22