Страница 1 из 6

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

СообщениеДобавлено: 25 янв 2018, 14:10
vovavova
Здравствуйте!
Недавно собрал вот такой термометр на 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 это как то скажется на точности показаний??? Частота кварца не измениться от этого? Какая вообще роль этих кондеров???

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

СообщениеДобавлено: 26 янв 2018, 10:41
Ewgen
В схеме нет резистора, соединяющего сигнальный провод датчика DS18B20 с плюсом питания, вывод 2 датчика и 7 МК. Резистор 4.7кОм.

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

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

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

СообщениеДобавлено: 26 янв 2018, 17:06
vovavova
Вы имеете ввиду вот такое включение???..
Изображение
А что это даст?? Объясните, пожалуйста. :roll:

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

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

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

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

СообщениеДобавлено: 27 янв 2018, 11:00
vovavova
Sergey7 писал(а):Исходники есть?

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

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

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

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

СообщениеДобавлено: 27 янв 2018, 13:37
Ewgen
Посмотрите журнал Радио 12 за 2007 год, стр. 51, Э. Щенов, "Необычный термометр", есть ассемблер с подробными комментариями.

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

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

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

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

Посмотрел Вашу модель, не анализируя точно данные видно, что программа слишком часто обращается к датчику, каждые 25 мс, зачем? Делать замеры чаще 2-4 раз в секунду нет смысла для простого термометра. Во время преобразования датчик потребляет заметный ток, до 1,5 мА, что и вызывает лишнее выделение тепла.

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

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