реклама на сайте
подробности

 
 
> Забавное поведение датчика BS18B20
haker_fox
сообщение Dec 1 2011, 06:16
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Здравствуйте!
Датчик DS18B20 подключен к AVR'ке проводом длиной 50 см. Система находится на улице и подключена к компьютеру через интерфейс RS485.
При чтении температуры иногда появляются ошибки. На улице -15, термометр показывает -3. Иногда появляются ошибки в контрольной сумме, но значение температуры верные, но это бывает очень редко (ошибка КС). Поскольку КС можно сказать, что сходится всегда, возникает вопрос, почему датчик выдает ошибочную отрицательную температуру? С положительной все ОК. Преобразование из дополнительного кода проводится правильно, т.к. иногда отрицательная температура читает правильно. Не могу уловить зависимость между правильными и неправильными показаниями.
Что еще интересно, по умолчанию при включении питания датчик настроен на 12-ти разрядный результат, что определяется конфигурационным регистром в "скратчпаде" (он равен после сброса питания 7F). Спустя некоторое время его значение становится 5F, хотя я не использую команду записи в "скратчпад".
Далее в документации на датчик написано, что байты 5 - 7 (считаем от нуля) имеют вполне определенные значения: FF, 0C, 10. Так вот, 5 и 7 читаются как надо, всегда причем, а 6 - изредко 0C, а так 04, 08.... Меняется иногда вместе с изменением температуры.

Да, как бы есть едва угадываемая закономерность: чем меньше температура (ближе к -14, -15), тем вероятнее ошибка. Но у нас на улице сейчас -8, так что пока все ОК, и нет возможности проверить гипотезу.

Теряюсь в догадках, думал датчик другой стоит (DS1820, DS18S20), но нет, проверил, все ок.

Заранее благодарен за любые советы!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
нечитатель
сообщение Mar 27 2013, 21:58
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



ds18b20 (ds18b20+ ?)
никаких паразитов, никаких стометровых лапшей по промзонам, всеми тремя ногами воткнуто напрямую в клеммы на плате, столе и в обычной жилой комнате



а). инициализация:

reset pulse
0xCC = "Skip ROM"

0x4E ... ""Write (to) Scratchpad"
0b01111101 ... "T low"
0b11001001 ..."T high"
0b01111111 ... 12 бит, т.е. разрешение 0.0625 градуса

reset pulse
0xCC ... "Skip ROM"

0x48 ... "Copy (from) Scratchpad (to EEPROM)"



б). раз в секунду:

reset pulse
0xCC ... "Skip ROM"
0xBE ... "Read Scratchpad", контрольная сумма сходится (или криво посчитана, но даже если - интерес не в ней, а далее по тексту)

reset pulse
0xCC ... "Skip ROM"
0x44 ... "Convert T"



в). дунул феном на датчик, убрал фен, датчик медленно остывает, внимательно смотрю на данные с него около 32 градусов:

10 0000 0000 = 32.0 С
01 1111 1111 = 31.9 С ___ 10 1111 1111 = 47.9 С ... старший байт так и остался
01 1111 1110 = 31.8 С ___ 10 1111 1110 = 47.8 С ... старший байт так и остался
01 1111 1101 = 31.7 С ___ 10 1111 1101 = 47.7 С ... старший байт так и остался
01 1111 1100 = 31.6 С ... старший байт просра актуализировался на конец
и далее остывает уже без вопросов

Так артефакт замечен при охлаждении конкретно на отметке 32.0 градуса ("сырые" с датчика двоичные данные соответственно и внимательно): старший байт обновляется с опозданием относительно младшего байта. Стабильно и повторяемо происходит.
В обратную сторону (при нагреве от 31 до 32+ градусов) всё выглядит прилично... но при быстром нагреве артефакт получается тоже. Но менее удобным для рассмотрения и осознавания.



На физический смысл артефакта имело бы смысл взмедитнуть через разъяснение интерфейса протокола библиотеки для принципа действия датчика внутри.
Где-то раньше попадалось мне такое разъяснение, но потерял его я - и осталось в в гугле моём по теме только про интерфейсы с библиотеками теперь. И всё это го оно разное одинаковое уныло, даже с пересказами на русский язык.

Сообщение отредактировал нечитатель - Mar 27 2013, 23:22
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 28 2013, 05:54
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(нечитатель @ Mar 28 2013, 01:58) *
ds18b20 (ds18b20+ ?)
никаких паразитов, никаких стометровых лапшей по промзонам, всеми тремя ногами воткнуто напрямую в клеммы на плате, столе и в обычной жилой комнате
...
0b01111111 ... 12 бит, т.е. разрешение 0.0625 градуса
...
раз в секунду:


Преобразование при такой разрядности занимает время порядка секунды (750мс).
Вполне можно нарваться на пограничное значение, что преобразование еще не закончилось, а результат уже считывается.
Попробуйте увеличить задержку до 10 секунд - опрашивать этот датчик все равно часто не нужно, поскольку будет саморазогрев.

Ну, и тайминги слотов проверить - может не правильно различаются "0" и "1".

Кстати, CRC совпадает?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- haker_fox   Забавное поведение датчика BS18B20   Dec 1 2011, 06:16
- - kolobok0   Цитата(haker_fox @ Dec 1 2011, 10:16) ......   Dec 1 2011, 08:04
|- - haker_fox   QUOTE (kolobok0 @ Dec 1 2011, 16:04) не ф...   Dec 1 2011, 08:27
|- - xemul   Цитата(haker_fox @ Dec 1 2011, 12:27) Как...   Dec 1 2011, 13:54
|- - haker_fox   QUOTE (xemul @ Dec 1 2011, 21:54) имхо, у...   Dec 1 2011, 13:59
- - haker_fox   Вот сейчас на улице -14. С датчика приходит это CO...   Dec 1 2011, 13:24
- - ILYAUL   На этот срочно шубу . Вы же говорили , что есть...   Dec 1 2011, 13:28
|- - haker_fox   QUOTE (ILYAUL @ Dec 1 2011, 21:28) На это...   Dec 1 2011, 13:53
- - xemul   Упс-с, уже забыл. Глянул в ДШ: ЦитатаBytes 5, 6, a...   Dec 1 2011, 14:16
|- - haker_fox   QUOTE (xemul @ Dec 1 2011, 22:16) Упс-с, ...   Dec 1 2011, 14:43
- - -SANYCH-   1) Не правельное измерение температуры может проис...   Dec 2 2011, 07:50
|- - haker_fox   QUOTE (-SANYCH- @ Dec 2 2011, 15...   Dec 2 2011, 08:50
|- - xemul   Цитата(haker_fox @ Dec 2 2011, 12:50) Гм....   Dec 2 2011, 09:42
- - haker_fox   Похоже датчику придется принести извинения, т.к. е...   Dec 2 2011, 09:54
|- - ILYAUL   Цитата(haker_fox @ Dec 2 2011, 13:54) Пох...   Dec 2 2011, 16:26
|- - haker_fox   QUOTE (ILYAUL @ Dec 3 2011, 00:26) Так мо...   Dec 3 2011, 00:50
- - adnega   Была ситуация очень напоминающая Вашу, только датч...   Dec 3 2011, 06:07
- - 314   А то что у Вас АВР на улицу вынесен, случаем не с ...   Dec 3 2011, 08:20
|- - haker_fox   QUOTE (314 @ Dec 3 2011, 16:20) А то что ...   Dec 3 2011, 09:14
- - haker_fox   Полагаю, что проблема решена. 1,5 суток ни одного ...   Dec 5 2011, 02:05
- - haker_fox   И все таки оно плавает.... Столкнулся с этим вот с...   Jan 1 2013, 07:09
- - RabidRabbit   Либо стека всё же не хватает, либо неверна процеду...   Jan 1 2013, 07:30
|- - haker_fox   QUOTE (RabidRabbit @ Jan 1 2013, 16:30) Л...   Jan 1 2013, 07:44
|- - adnega   Цитата(haker_fox @ Jan 1 2013, 11:44) Две...   Jan 1 2013, 09:31
- - ILYAUL   Ну EEPROM они победили и даже аппноут убрали с сай...   Jan 1 2013, 17:32
|- - haker_fox   QUOTE (ILYAUL @ Jan 2 2013, 02:32) ни раз...   Jan 2 2013, 01:47
- - haker_fox   Еще и времянки в драйвере 1wire были "замечат...   Jan 2 2013, 08:21
|- - kolobok0   Цитата(haker_fox @ Jan 2 2013, 12:21) ..у...   Jan 2 2013, 17:08
- - ILYAUL   ЦитатаМожет быть у Вас тоже дело в софте? Да скор...   Jan 2 2013, 12:26
- - ILYAUL   Тоже самое и с полевиками, фронты - мама не горюй ...   Jan 2 2013, 23:48
|- - _Артём_   Цитата(ILYAUL @ Jan 3 2013, 01:48) Ну ее ...   Jan 3 2013, 00:39
- - haker_fox   Всю ночь мой датчик проработал на улице. CRC совпа...   Jan 3 2013, 02:52
- - ILYAUL   ЦитатаCRC совпадает C какой точностью работаешь? ...   Jan 3 2013, 10:08
|- - haker_fox   QUOTE (ILYAUL @ Jan 3 2013, 19:08) C како...   Jan 3 2013, 11:26
|- - kolobok0   Цитата(haker_fox @ Jan 3 2013, 15:26) ......   Jan 3 2013, 17:58
|- - haker_fox   QUOTE (kolobok0 @ Jan 4 2013, 02:58) типа...   Jan 4 2013, 08:08
|- - kolobok0   Цитата(haker_fox @ Jan 4 2013, 12:08) ..Ж...   Jan 5 2013, 20:35
- - ILYAUL   Цитата1. Команда на конвертацию. + (~)750ms (обычн...   Jan 3 2013, 12:10
|- - haker_fox   QUOTE (ILYAUL @ Jan 3 2013, 21:10) + (~)7...   Jan 3 2013, 13:35
|- - ILYAUL   Цитата(haker_fox @ Jan 3 2013, 17:35) Так...   Jan 4 2013, 21:08
- - ILYAUL   Празник, не дадут посидеть нормально.   Jan 3 2013, 16:41
- - ILYAUL   ЦитатаЖаль в "ходовых" мегах один USART ...   Jan 4 2013, 15:21
|- - haker_fox   QUOTE (ILYAUL @ Jan 5 2013, 00:21) И чему...   Jan 5 2013, 01:45
|- - ILYAUL   Цитата(haker_fox @ Jan 5 2013, 05:45) Да ...   Jan 5 2013, 11:06
- - haker_fox   Стейт-машина - я понял Вашу идею!!! Сп...   Jan 6 2013, 05:13
|- - SM   Цитата(haker_fox @ Jan 6 2013, 09:13) В о...   Jan 6 2013, 06:09
|- - ILYAUL   Цитата(haker_fox @ Jan 6 2013, 09:13) З.Ы...   Jan 6 2013, 09:19
|- - kolobok0   Цитата(haker_fox @ Jan 6 2013, 09:13) ......   Jan 7 2013, 17:51
- - haker_fox   Мама моя женщина) Как все сложно/просто) Кажится ...   Jan 6 2013, 11:36
- - Rst7   QUOTE Да и не могут два цифровика ошибаться. У них...   Jan 6 2013, 18:27
|- - haker_fox   QUOTE (Rst7 @ Jan 7 2013, 03:27) Когда я ...   Jan 7 2013, 02:41
- - Rst7   QUOTE Понятно, значит постоянные времени (для темп...   Jan 7 2013, 08:41
|- - Herz   Цитата(Rst7 @ Jan 7 2013, 10:41) Да у сам...   Jan 7 2013, 09:04
|- - ARV   Цитата(Herz @ Jan 7 2013, 13:04) Ну, на с...   Jan 7 2013, 17:19
- - Rst7   QUOTE Ну, на столе, при расстоянии порядка полумет...   Jan 7 2013, 09:14
- - ILYAUL   Вот так стоят датчики, удобно работать. Вот их тем...   Jan 7 2013, 10:04
|- - haker_fox   QUOTE (ILYAUL @ Jan 7 2013, 18:04) Кто ви...   Jan 7 2013, 16:06
- - SM   А если их местами поменять? Благо в колодках? Не г...   Jan 7 2013, 12:38
- - ILYAUL   Спасибо , тебе дружище!!! И тебя с Рож...   Jan 7 2013, 16:14
- - ILYAUL   Цитата2. датчики ОЧЕНЬ ЧУВСТВИТЕЛЬНЫЕ Вот!...   Jan 7 2013, 18:35
- - haker_fox   QUOTE (ARV @ Jan 8 2013, 02:19) если кому...   Jan 8 2013, 03:30
- - haker_fox   А интерфейс-то у Вас правильно реализован? Я имею ...   Mar 28 2013, 03:04


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 05:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016