SoloCodigo

Programación Específica => Microcontroladores => Mensaje iniciado por: Ale_la_maga en Miércoles 31 de Enero de 2007, 12:32

Título: Termómetro Ds18s20
Publicado por: Ale_la_maga en Miércoles 31 de Enero de 2007, 12:32
Hola gente hola.gif
Planteo una consulta quizas un poco tonta, pero tengo la necesidad de colocar 4 sensores DS18S20 en paralelo estos estan colocados en distintos lugares y son leidos con un controlador pero la duda se plantea en el siguiente punto, como puedo hacer para que el micro me identifique los números ROM de estos sensores, es decir que lea los sensores y guarde cada uno de sus numeros ROM para luego direccionarlos.
Puedo leer los números, puedo guardarlos en el micro.. todo esto está resuelto pero como hago para interrogarlos de a uno por su número ya que cuando envió el comando
para leer el número ROM todos contestan  :angry:  y claro se produce una colisión, la solución que encontré fué leer los numeros antes de uno en uno y guardarlos para luego direccionar, pero eso implica que si el cliente cambia un sensor hay que "cargar" el nuevo número ROM del sensor. Se puede solucionar esto?

Gracias y saludos para todos  :hola:

Alejandra
Título: Re: Termómetro Ds18s20
Publicado por: lalo_soft en Miércoles 31 de Enero de 2007, 15:31
1.-Device detect present/reset secuencia.
2.-Match Rom Comand.
3.-enviar los 64 bit Id.
4.- Convert Temperature Command.
5.- esperar unos  100ms
6.- leer registro temperatura.
7.- Device detect present/reset secuencia.


NOTA:

El uso del Comando SEARCH ROM se hace inpresindible si se tiene una red de sensores (el comando READ ROM solo se usa cuando  se tiene un sensor) .Para tener exito deveras imprementar el comando SEARCH ROM en un algorismo de scaneo por cada ves que leas los sensores y asi sabras si fueron cambiados.
Título: Re: Termómetro Ds18s20
Publicado por: Ale_la_maga en Miércoles 31 de Enero de 2007, 19:49
Gracias Lalo!!
Si si se me paso eso.
Incluso en la app162.pdf de Maxim está el código para implementar la función.

Gracias de nuevo.

     Alejandra
Título: Re: Termómetro Ds18s20
Publicado por: lalo_soft en Miércoles 31 de Enero de 2007, 23:52
Si vas a implementar un SEARCH ROM (que es en el fondo lo que nesecitas para trabajar con redes de sensores ONE-WIRE bus)que no se te olvide implementar tambien una funcion de chequeo de CRC ya que a veces se producen errores en la lectura de los bits en el modo SEARCH ROM.
Título: Re: Termómetro Ds18s20
Publicado por: Aristides Alvarez en Viernes 2 de Febrero de 2007, 23:55
No se cual es especificación de la distancia máxima de 1 wire, pero yo tuve dificultades a partir de los 6 metros, mejoró al bajar  un poco la R pull up.