Jump to content

    
Sign in to follow this  
Voblin

термометр DS18B20 как отличить 85 град С измеренные и по умолчанию?

Recommended Posts

Датчик подключён по 3-х проводной схеме (по другому включить нельзя). В случае если идёт какой-то сбой по питанию, то при обращении к датчику он выдаёт 85 градусов (значение по умолчанию), как его отличить от измеренной температуры 85 град. Рабочая температура 100 град и больше. Другой поставить нельзя.
 

Share this post


Link to post
Share on other sites
2 часа назад, Voblin сказал:

В случае если идёт какой-то сбой по питанию, то при обращении к датчику он выдаёт 85 градусов (значение по умолчанию), как его отличить от измеренной температуры 85 град. Рабочая температура 100 град и больше.

в ветке анализа величины температуры при считанном значение 85С делать повторное чтение датчика, т.к. если был сбой, то повторное чтение даст реальную температуру. если же опять 85, то выводить либо аварию датчика либо аварию нагревателя среды, которую этот датчик контролирует..

Share this post


Link to post
Share on other sites

До старта преобразования записать в регистры DS18B20 пару байт, отличающихся от умолчательных значений при подаче питания. После старта преобразования и чтения температуры, читать эти 2 байта. Если совпадают с записанными - температура реальная, сбоя по питанию не было. Иначе - был сбой, выполнить переинициализацию.

Share this post


Link to post
Share on other sites


 

On 1 ноября 2019 г. at 11:39 PM, k155la3 said:

До старта преобразования записать в регистры DS18B20 пару байт, отличающихся от умолчательных значений при подаче питания. После старта преобразования и чтения температуры, читать эти 2 байта. Если совпадают с записанными - температура реальная, сбоя по питанию не было. Иначе - был сбой, выполнить переинициализацию.

Спасибо, попробую. Только в какие регистры писать температуру он перетрёт, TH, TL и конфигурация хранятся в EEPROM? дальше идут регистры зарезервированные, судя по даташиту там константы и судя по беглому чтению даташита их нельзя программировать.

On 2 ноября 2019 г. at 4:57 PM, kolobok0 said:

Вроде DS18B20 9 байт может высылать внутри которых есть CRC? Почему это нельзя заюзать?

CRC будет в порядке, после включения питания 85 град это нормальная ситуация.
 

Share this post


Link to post
Share on other sites
3 часа назад, Voblin сказал:

TH, TL и конфигурация хранятся в EEPROM

Только если вы подадите соотвествующую команду. Читайте документацию внимательнее.

Share this post


Link to post
Share on other sites
10 hours ago, Voblin said:

Спасибо, попробую. Только в какие регистры писать температуру он перетрёт, TH, TL и конфигурация хранятся в EEPROM? дальше идут регистры зарезервированные, судя по даташиту там константы и судя по беглому чтению даташита их нельзя программировать.

Quote

WRITE SCRATCHPAD [4Eh]
Эта команда позволяет мастеру записывать 3 байта данных оперативную память DS18B20. Первый байт данных запишется в регистр TH (2-й байт SRAM), второй – в регистр TL (байт 3), а третий – в регистр конфигурации (байт 4). Данными должны передаваться начиная с младшего бита. Все три байта ДОЛЖНЫ быть записаны прежде, чем мастер пошлет импульс сброса, иначе данные могут быть испорчены.

это из переведенного даташита, можно взять DS18B20-rus.pdf  здесь

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this