|
|
  |
Забавное поведение датчика BS18B20 |
|
|
|
Dec 3 2011, 00:50
|

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

|
QUOTE (ILYAUL @ Dec 3 2011, 00:26)  Так может , это вообще не датчик , а RS485 дурит. Я свой уличный датчик читаю один раз в минуту и то думаю , что это очень часто. На 485 не похоже, т.к. кроме температуры читаются другие датчики, их показания верны. Да и протокол с контрольной суммой. Кстати, ошибка КС датчика исчезла. Сегодня утром проверяю температуру - на датчике -15, перезагрузил программно устройство, появилась реальная температура -20. Такое ощущение, что то ли задача перестает выполняться (опрашивать датчик), то ли какие-то сервисы ОС перестают функционировать... данные с датчика как бы "замирают", "замораживаются". Ладно, буду работать дальше... О результатах сообщу, м.б. кому-нибудь и будет полезен этот материал.
--------------------
Выбор.
|
|
|
|
|
Dec 3 2011, 09:14
|

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

|
QUOTE (314 @ Dec 3 2011, 16:20)  А то что у Вас АВР на улицу вынесен, случаем не с длиной проводов связано, в том смысле что на 10м провода сбои появляются, а на 0.5 нормально работает? И датчик с паразитным питанием или полным? На длину проводов не похоже, т.к. идет достаточно частый (каждые 150 мс) обмен с МК, за сутки непрерывной работы 2 ошибки из 46 тыс. переданных и принятых пакетов. Другие датчики нормально опрашиваются. Датчик с полным питанием. И все таки все больше похоже, что низкоприоритетная задача опроса датчика наглухо перестает работать. Выходишь на улицу, дышишь на датчик, держишь его в теплых руках, а программа на компе "исправно" показывает -14. При нормальной работе, показания всегда меняются. Что интересно, задачи более высокого приоритета продолжают работать (там АЦП опрашивается). А задачи приоритетом еще ниже тоже встают, это видно по отсутствию мигания служебного светодиода. Вот так вот я совершенно зря подозревал датчик...)))
--------------------
Выбор.
|
|
|
|
|
Jan 1 2013, 07:44
|

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

|
QUOTE (RabidRabbit @ Jan 1 2013, 16:30)  Либо стека всё же не хватает, либо неверна процедура подсчёта CRC, таковы мои версии  Две разные процедуры подсчета выдают одно и тоже значение вкупе с онлайн-калькуляторомПричем если датчик "погреть" пальцами, то CRC начинает сходится... Я же правильно считаю: 1. Принимаю scratchpad в буфер - 9 байт. 2. Подсчитываю CRC8 для 8 байт буфера. 3. Сравниваю эту КС с 9-м байтом буфера. Уже шарики за ролики заходят)
--------------------
Выбор.
|
|
|
|
|
Jan 1 2013, 09:31
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(haker_fox @ Jan 1 2013, 11:44)  Две разные процедуры подсчета выдают одно и тоже значение вкупе с онлайн-калькуляторомПричем если датчик "погреть" пальцами, то CRC начинает сходится... Я же правильно считаю: 1. Принимаю scratchpad в буфер - 9 байт. 2. Подсчитываю CRC8 для 8 байт буфера. 3. Сравниваю эту КС с 9-м байтом буфера. Уже шарики за ролики заходят) А еще бывает, что тайминги "плывут" взависимости от температуры.
|
|
|
|
|
Jan 1 2013, 14:04
|

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

|
QUOTE (Herz @ Jan 1 2013, 21:20)  Да потому что не тем в новогоднее утро занимаетесь. Оно для другого, ИМХО, изобретено. Да нормааааально Я же это с другими делами делаю) Да, похоже, что дело чисто программное. Снова напоролся на свои же грабли. Но я почему вопрос поднял, дело в том, что о этих датчиках известно, что иногда у них слетает EEPROM, либо они просто "погибают". Подобные темы я нашел на этом форуме... Вот и не знал, куда податься....
--------------------
Выбор.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|