Desvio de leitura no barramento oneWire para buffer temporal (simulador de sensor)

Bom dia senhores.

Antes de abrir este tópico eu procurei no campo de busca por: "ds18s20", "oneWire", "1-wire" e "one-wire". Em nenhum dos resultados notei pergunta como a que venho fazer.

INTRODUÇÃO

Trabalho com equipamentos que tem sua temperatura monitorada pelo sensor Dallas DS1820.

Como a maioria sabe, este sensor é extremamente difícil de se encontrar, pois trata-se de um modelo mais antigo. Entretanto, o sensor Dallas DS18B20 é encontrado em larga escala, inclusive em lojas do Brasil.

O meu problema é o seguinte:

Nossos equipamentos utilizam o DS1820, operando em 9 bits. Recentemente alguns deram defeito e subistitui errôneamente pelos DS18B20. Qual o resultado? O sensor funcionava, porém a temperatura mostrada no display era completamente equivocada; isto é: marcava 350 graus, 400 graus (sendo que estava medindo temperaturas proximas de -5 graus celsius.)

Pesquisei na internet e notei que a Dallas foi adquirida pela Maxim. Entrei no site da Maxim e eles próprios tem um documento explicando as diferenças entre os sensores DS1820 e DS18b20.

(link: https://www.maximintegrated.com/en/app-notes/index.mvp/id/4377 )

O curioso é que eles começam o texto dizendo que os dois dispositivos são iguais (posso ter me equivocado la leitura e, o que eles quiseram dizer, é que ambos servem para o mesmo propósito mas não necessariamente operam de forma igual).

Dando sequencia à leitura, notei que o fabricante diz que o Dallas DS1820 pode até operar como um módulo 12 bits e que ja vem de fábrica assim configurado. (Então, pra que utilizar a equação que eles fornecem no site????)

Novamente, continuando a leitura, o fabricante nos avisa que a forma como os registros de temperatura são manipulados pelos sensores são diferentes. (salvo pelo dalas DS18S20 que opera de modo à coincidir com a forma de operação do dallas DS1820).

Observe que as potências binárias são bem diferentes.

---------------------------------------------------------------------------------------------------------------

IDEA DE SOLUÇÃO

A minha idea é fazer um sistema embarcado da seguinte maneira:

1 - Utilizar o arduino para realizar a leitura do sensor DS18B20 (que é o substitudo que pretendo utilizar), através do barramento One Wire 1 (funcionando como master).

2 - Armazenar a string na memoria do arduino.

3 - Solicitar a temperatura, pelo arduino, de tempos em tempos (coincidindo com a frequencia de solicitação de temperatura que o equipamento da empresa está configurado.)

4 - Montar uma string, no formato que o dallas ds1820 monta e armazenar no buffer One Wire 2 do arduino (esta configurada como slave).

5 - Cada vez que o equipamento da empresa solicitasse a temperatura, ele perguntaria para o barramento One Wire 2, que por sua vêz já teria uma string pronta, montada da mesma forma que o dallas DS1820 enviaria para o equipamento aqui da empresa.

------------------------------------------

PERGUNTA:

Acham que é possível fazer este projeto? Pois não tenho acesso ao firmware do equipamento.

Obrigado!

Exibições: 356

Anexos

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço