|
Термодатчики DS18x20 от Dallas, обмен опытом |
|
|
|
Aug 31 2004, 08:48
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-08-04
Пользователь №: 538

|
Всем привет! Если кто работал с DS18x20, давайте поговорим о глюках этого устройства. Я столкнулся, буквально в первый раз использования этого девайса серии B7, с таким глюком: на след. день работы подал питание и обнаружил, что один из датчиков отдает мне температуру с враньем в +60 с чем-то градусов. В доке про это ничего не сказано. Проверил софт - все нормально. Начал искать. В доке одним предложением упомянуто, что датчики калиброваны для достижения точности в +-0,5 гр. С. Размышлял так: датчик цифровой и, если калиброван, значит, где-то должны храниться калибровочные коэффициенты. Раз кристалл работает с EEPROM, значит, там и должны храниться. Но в доке про это не найдете ни слова! Позвонил в Rainbow, рассказал о своей проблеме и свое предположение. Неохотно, но все же мне рассказали, что серию B7 особо коснулась проблема "слетания" EEPROM при подаче питания, что у меня и произошло на второй день эксплуатации датчиков! В целом, все было замечательно, но только вот это….  Мне сказали, что об этом коротко написано на www.1wire.org и пояснили, что по запросу Даллас может выслать один Application Note, где говорится об этой проблеме и даются коэффициенты (2 байта), чтобы возможно было восстановить точность до +-2 гр. С. Зашел на www.1wire.org, прочитал о проблемке и о том, что AN247 раньше был здесь в свободном доступе, а теперь Даллас высылает его только по запросу (?!!). Написал в Даллас, прислали AN247. Там говорится о 2 калибровочных регистрах TRIM1 и TRIM2, о командах, позволяющих их читать, писать и копировать в EEPROM. Хотя в доке про эту часть – ни слова! Там же написали о естественном логическом соображении следить за EEPROM при перезагрузке и, если слетело, – перезаписывать. Физически количество перезаписей EEPROM – весьма большое. И сам факт, что при повышенных температурах EEPROM не продержится долго, заставляет документировать пользовательский программный доступ к калибровочным коэффициентам (да и сам процесс калибровки тоже). Но нехороший момент в том, что вы, решив использовать привлекательный датчик DS18B20 в своем устройстве, можете даже не узнать, что же с ним случилось (и недоумевать о причинах последствий, к которым это может привести), т.к. на сайте Максима вы об этом нигде не прочитаете. (Переживают люди за имидж свой что ль?) Далее написал в Даллас с вопросом о том, как можно откалибровать их датчик, чтобы получить исходную точность. Ответили, что калибруются они по одной точке (я сначала думал, что по двум, и никак не мог понять уравнения для TRIM1, TRIM2) Про уравнение - что-то короткое и мало понятное. Пришлось самому проводить полный курс измерений, подставляя последовательные значения для TRIM1 и TRIM2 и анализировать это в EXCEL’e. Таким образом удалось восстановить исходную точность и узнать, что же все-таки нужно делать с интегральными датчиками с цифровым выходом, чтобы они были привлекательными не только на словах, но и на деле....
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 20)
|
Aug 31 2004, 08:59
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-08-04
Пользователь №: 538

|
Есть еще один вопрос по DS18x20, который пока я не разрешил: иногда после подачи питания один из датчиков начинает отдавать постоянно -19 гр.С независимо от его температуры. Лечится это переподачей питания. Но все же, хотелось бы знать, в чем причина такого зависания. Если кто с подобной проблемой сталкивался и как-то решал ее, поделитесь, пожалуйста. С уважением.
--------------------
И как хотел бы, чтобы с тобой поступили, так и ты чувствуй поступать со всем тем, что вне твоего эго...
|
|
|
|
|
Dec 13 2004, 17:55
|
Участник

Группа: Свой
Сообщений: 45
Регистрация: 22-09-04
Пользователь №: 698

|
Те же грабли были и с DS1621 - там, видимо, измерительное ядро то же, только I2C шина. Так они (Dallas-Maxim) похоже, решили втихаря поменять DS1621 на DS1631 - типа, точность у новых лучше, а о проблеме ни гу-гу. Так что непонятно: пофиксили они этот баг или нет. Да и в ДИПе DS1631 выпускать не будут  . http://www.rtcs.ru/news_detail.asp?id=837
|
|
|
|
|
Feb 28 2005, 07:47
|
Частый гость
 
Группа: Validating
Сообщений: 149
Регистрация: 11-02-05
Из: Рязань
Пользователь №: 2 574

|
Цитата(PraNkiSh @ Feb 26 2005, 01:45) а что по дальности получается ? тащил сквозь 6 этажей на крышу дома - глючило безбожно. расстояние около 30-40м (по стандарту до 300 кажись) RS-485 прошел без проблем. даже с контролем ошибок не заморачивался. пулапы уменьшал кажись до 2к 300 метров не пробывал но делал на 180 при нагрузке до 30 датчиков тоже столкнулся с проблемой глюков в линии. В общем смысл такой при крутых фронтах линия начинает звенеть. Длительность и аплитуда звона дависит от емкости самой линии и емкостей подключенных датчиков. У DS есть рекомендации по устранению звона в линии см. pdf смысл в том, чтобы фронты управления в линии стали не такими крутыми как обычно бывает у контроллеров. Правда приходится забитать на линию еще одну ногу. Может кто знает дгугое решение я пока не встречал.
Прикрепленные файлы
APP108.PDF ( 29.92 килобайт )
Кол-во скачиваний: 208
|
|
|
|
|
Nov 28 2005, 15:54
|
Группа: Новичок
Сообщений: 5
Регистрация: 28-11-05
Пользователь №: 11 504

|
Руские манулы на датчик есть?
|
|
|
|
|
May 19 2006, 05:42
|
Группа: Новичок
Сообщений: 1
Регистрация: 19-05-06
Пользователь №: 17 247

|
Цитата(Miron @ Mar 1 2005, 16:42)  Кто нибудь занимался метрологической поверкой датчиков DS18x20 ??? Знаю что сам датчик занесен в Гос реестр средств измерений под №23169-02 Но самой методики поверки у меня нет. Меня интересует занимался ли кто метрологической поверкой прибора на основе DS18x20 в целом и как этот вопрос решался. Если решилась проблема с поверкой - поделитесь опытом.
|
|
|
|
|
Jul 23 2006, 14:27
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

|
По поводу дальности. У меня, при использовании сетевого кабеля FTP эти датчики висели по 4 штуки на паре при дальности 350м. Однако для того, чтобы работа была устойчивой, пришлось pullup резистор шины 1Wire уменьшить с рекомендуемого 2.2k до 1.25k. Это как раз предел, исходя из того, что максимальный ток, который датчик может съесть, чтобы выдать 0 - 4ma (согласно datasheet). Еще большей дальности можно достичь, если заменить этот pullup резистор на источник тока. Естественно, нужно еще удлиннять промежутки между таймслотами, указанное минимальное расстояние в 1мкс - это только при минимальных расстояниях. На больших расстояниях эти промежутки долны быть больше, чем время необходимое, чтобы зарядить емкость кабеля, через pullup резистор, до порогового значения. Что касается "забывчивости" датчиков, то, слава богу, пока не сталкивался. Может они в новых партиях микросхем уже зафиксили этот баг? Какая у Вас стоит дата выпуска на "забывчивых" микросхемах?
|
|
|
|
|
Jul 24 2006, 05:54
|
Участник

Группа: Свой
Сообщений: 64
Регистрация: 18-05-06
Пользователь №: 17 211

|
Цитата(sash75 @ May 19 2006, 09:42)  Цитата(Miron @ Mar 1 2005, 16:42)  Кто нибудь занимался метрологической поверкой датчиков DS18x20 ??? Знаю что сам датчик занесен в Гос реестр средств измерений под №23169-02 Но самой методики поверки у меня нет. Меня интересует занимался ли кто метрологической поверкой прибора на основе DS18x20 в целом и как этот вопрос решался.
Если решилась проблема с поверкой - поделитесь опытом. Занимались этим подробно в 2001 году. http://www.e-as.ru/?PageName=PassiveContent&Id=41Дело было геморойное и даже весьма - пришлось на 80 % писать ТУ в строгом соответствии гостам, но дальше его все равно ВНИИМС дорабатывал. Датчики у нас стояли в морозильных камерах закалки мороженного и в хранилищах. Температура -40. Вылетали в среднем по 2 в год - именно сами датчики. Похоже так долго их при таком минусе никто не мучил :-) Временная нестабильность у них довольно большая - за год многие поубежали на 1-2 градуса (может из-за таких низких температур). Пришлось вводить программную калибровку в нашей проге. С нестабильной работой в цеху на линиях по 70 метров (было 3 луча с ком-портов на каждом ds2480 и по 30 датчиков где-то) тоже намучались - перепробовали все что можно было (все настройки ds2480), диоды шотки, заземление компа убирали-подсоединяли и другое по рекомендациям и аппнотам. Ошибки все равно сыпались. Для надежности мы ввели сигнал что датчик неисправен, если он не отвечал лишь с 8-й попытки подряд :-) Это сильно тормозило измерения, но время было не столь кричично для нас. И то после этого, ошибки раз в день выскакивали из-за помех: в цеху производства мороженного очень много частотников. Кабель у нас был витая пара 5-й категории, неэкранированная (так в элине посоветовали чтобы емкость линии уменьшить). Хотя потом и в экране цепляли участки - та же фигня. Все таки потенциальный сигнал, причем с такими слабенькими характеристиками, не очень надежное дело для промышленного применения. Для нашего случая было бы лучше сделать маленький контроллер c RS-485 к которому на несколько входов по месту цепляются DS1820 на коротких (несколько метров) линиях.
|
|
|
|
|
Jul 7 2016, 06:02
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Если кому интересно по точностям DS18, я проверял восемь штук по показаниям платиновых TRD. Правда, у меня DS18 S20 (нет смысла использовать B20, т.к. по документации у них совершенно такая же точность — ±0.5°C). Есть у меня два DS18 B20, понятно — выборка нерепрезентативная, чтобы как-то судить о датчиках в целом, но при сравнении с S20 никакой разницы обнаружено не было: та же точность ±0.5°C в диапазоне от -20°C до +20°C.
|
|
|
|
|
Apr 1 2017, 17:42
|
Группа: Участник
Сообщений: 5
Регистрация: 26-10-14
Пользователь №: 83 348

|
У меня такой вопрос, а как убедится в актуальности считанной температуры? Поясню, датчик на паразитном питании, линии заведомо не доверяем. Алгоритм у меня такой: 1. Ресет датчика 2. Читаю серийник, проверяю crc 3. Даю команду конверт, подтягиваю линию 4. Сплю 0,8сек, снимаю подтяжку 5. Ресет, скип ром, читаю блокнот, проверяю crc Если на 4ом этапе что то "случайно"(исхожу из максимально плохой ситуации) коротнет цепь, получаю ответ с корректной crc, но там будет 85'C... В моей ситуации температура 85 считается корректной. Как детектировать такую ситуацию? Может флаг/команда есть какая чтобы понять что 85 это дефолтное значение, а не измеренное?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|