Autor Tema: Usar un TC74 y un TCN75 (sensores de temperatura via I2C de Microchip)  (Leído 20040 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #15 en: 24 de Octubre de 2006, 01:31:25 »
Oye Navaismo, intenta con $9A para escribir y $9B para leer.

Te conviene mas usar el LM35 por su resolución y por tener menor error (1 grado si no recuerdo mal); éste sensor tiene 3 grados de error.

Hay otro sensor que fabrica la Maxim, el DS18 algo, no recuerdo bien. Ese también es de temperatura y no me acuerdo si es de humedad también...... necesito revisar eso.

Se supone que haría la tarea  :D.

Ahora si  ;-), no mas distracciones.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #16 en: 24 de Octubre de 2006, 02:01:47 »
 :8} Nop no jala :sad:, segun el data mi direccion es 1001 000 pero hasta ahi me quedo ya cambie las resistencias de 4.7 por 10 k y nada de nada. sigue marcando 2 y lo de agregar HEX  no se puede no se permite ne la sintaxis
---------------------------------------------

Por cierto migre del lm35 porque este igual tiene margen de +/- 1°C y no necesita adc, crei que era mas facil -jaja veo que no- y como son gratis pues quise probar. Y para lo que lo voy a usar pues bienvenido -quiero un sensor de temperatura para el interioir de mi pc con displays esta MOBOI no trae sensor.

saludos
« Última modificación: 24 de Octubre de 2006, 02:28:29 por navaismo »
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #17 en: 24 de Octubre de 2006, 03:02:33 »
Bueno me choca trabarme asi que me pico con le tema. Estuve revisando el foro y encontre en el subforo de C que alguien si lo pudo hacer funcionar y es el mismo que el mio. AQUI el LINK

me llaman la atencion unas lineas (intento interpretarlas bien) y son estas:


Código: [Seleccionar]
....
#define escribir_dispositivo 0b10010000 // ya que la capsula es TC74A0
#define leer_dispositivo 0b10010001 // ya que la capsula es TC74A0
....

  void temperatura(){

  i2c_start();
  i2c_write(escribir_dispositivo);
  i2c_write(0x00);
  i2c_start();
  i2c_write(leer_dispositivo);
  tmp=i2c_read();
  i2c_stop();
.........

veo que hacen una constante para escribir y leer  (10010000 y 10010001 respectivamente), esto es la direccion a la que me referia y que no logro configurar bien.

Luego en la rutina temperatura usan i2c_write(escribir_dispositivo); que sera donde acceden al registro, enseguida ponen i2c_write(0x00); que me imagino sera la configuracion default o de opercacion normal del TC74, (creo que si pusieran 0x80 lo configurarian en modo standby).

Despues ponen  i2c_write(leer_dispositivo); que es la configuracion del registro para leer y enseguida tmp=i2c_read(); que es donde guardan el valor leido.

Ahora lo bueno, yo uso I2cwrite sda,sclK,$90,$00,[$00] para esribir pero despues del noventa pongo $00 segun lei para que sepa que registro y entre corchetes igual [$00] para decirle que opere en modo normal.

Y tambien uso i2cread sda,sclK,$91,$01,[tempT] para leer, lo mismo para el $01 segun la direccion del regitro y en [TEMPT] guardo lo leido pero nada de nada. Aun quitando el $00 y el $01 no me da valores

Que podra ser




"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #18 en: 24 de Octubre de 2006, 04:18:52 »
Mmmmm......... me equivoqué con las direcciones, no había leido que tienes TC74A0, creí que tenías TC74A5.

¿No has considerado colocarle las etiquetas de error al I²C para saber dónde pudiera quedarse colgado? Si es a la hora de escribir o leer.

Otra situación que no he mencionado pero ya es tiempo de hacerlo:
¿Estás seguro que el dispositivo funciona?

Si tienes otro igual y ya lo cambiaste, estamos mal.

El único error que encotré en tu código (así rápido) es que siempre ponías 9 para escribir y leer; cuando debe ser el último bit quien dice si se escribe (o) o lee (1).

Si lo haces todo con el cristal del tema pasado estamos fritos; ese cristal especial que tienes que interactúa con las fuerzas magnéticas de la tierra y que alinea a Neptuno con Marte creado un equinoccio otoñal, produciendo así deflexiones en la perseverancia intrínseca indispensable para la trituración de metal acomulable en las playas de Málaga, provocando que la arena tomada para hacer el silicio esté contaminada de mas y por eso, no te funcionan.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #19 en: 24 de Octubre de 2006, 04:24:40 »
:D :D

No es un crystal de 4MHZ el otro es el de 12MHZ -y si con ese nada funciona- lo de cambiar el sensor ya lo hice 3 veces pues me llegaron 3 y dudo que los 3 esten mal.

Lo de los bits pues pongo $90,$00 o $91,$01 segun sea el caso. y como puse en el post anterioir tengo mis dudas aun comparandolo con el codigo de C, voy a probar con MKB haber que tal.


Ya lo probe en MKB y nisiquiera trnsmite los datos a mi PC -maldito mkb yo que me creo que va a funcionar-

aqui les dejo el codigo haber si a alguien le funciona

Código: C#
  1. program tc74
  2.  
  3. dim temp as byte
  4.  
  5. main:
  6.  TRISA=0
  7.  SOFT_I2C_CONFIG(PORTB,0,1)
  8.  SOFT_UART_INIT(PORTA,0,1,1200,0)
  9.  soft_i2c_write(%10010000)
  10.  soft_i2c_write($01)
  11.  soft_i2c_write($00)
  12.  soft_i2c_stop()
  13. GOTO INIT
  14.  
  15. INIT:
  16.  SOFT_I2C_START()
  17.  SOFT_I2C_WRITE(%10010000)
  18.  soft_i2c_write($00)
  19.  soft_i2c_start()
  20.  soft_i2c_write(%10010001)
  21.  temp = soft_i2c_read(0)
  22.  soft_i2c_stop()
  23.  soft_uart_write(temp)
  24.  delay_ms(2500)
  25. goto init
  26. end.
es para un 16F84A con reloj de 4mhz (ni siquiera me saca bien el baudrate el mkb)

« Última modificación: 24 de Octubre de 2006, 04:53:01 por navaismo »
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)----SOLUCIONADO!!
« Respuesta #20 en: 25 de Octubre de 2006, 14:09:16 »
 :-/ :-/ :-/ :-/ :-/


Por fin pude echarlo andar, que era? Probablemente como lo direccionaba. Volvi a armar el circuito y a rehacer el programa y sorpresota!!!! Funciono a la primera.

Aqui les dejo el codigo por si a alguien alguna vez le sirve

Código: C#
  1. "'****************************************************************
  2. '*  Name    : TERMO con TC74A0.pbp                               *
  3. '*  Author  : Max E. Reyes Vera Juárez                      *
  4. '*  Notice  :                                                    *
  5. '*          : All Rights Reserved                                *
  6. '*  Date    : 23/10/2006                                         *
  7. '*  Version : 1.0                                                *
  8. '*  Notes   :   La direccion para este sensor es 1001 000        *
  9. '*          :      para leer seria 1001 0001 = $91               *
  10.            :      para escribir     1001 0000 = $90             *
  11.           :      para modo normal $00                           *
  12.            :    para modo standby  $80                          *
  13. '****************************************************************"
  14. @ DEVICE XT_OSC, PROTECT_OFF, WDT_OFF
  15. include "modedefs.bas"
  16.  
  17. SCLK VAR PORTB.0
  18. SDA  VAR PORTB.1
  19.  
  20. TEMPT VAR BYTE
  21. i var byte
  22.  
  23. INIT:
  24.  
  25. I2cwrite sda,sclK,$90,[$00]   " 'CONFIGUARNDO MODO DE OPERACION NORMAL"
  26. PAUSE 1000
  27. serout2 portb.3,84,[13,13]
  28. goto sensa
  29.  
  30. SENSA:
  31.  i2cread sda,sclK,$91,[tempT]  "'LEE LA TEMPERATURA"
  32.  serout2 portb.3,84,["temperatura de: ",DEC tempT,"°C",13] "'envia la temperatura de forma serie 9600 sin invertit"
  33.  PAUSE 5000
  34. GOTO SENSA
  35. END
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #21 en: 25 de Octubre de 2006, 15:34:31 »
Muy Bien MAX !

Encontré una diferencia aquí
Programa viejo:

SENSA:
i2cread sda,sclK,$90,$00,[tempT] "'LEE LA TEMPERATURA"

Programa nuevo:
SENSA:
i2cread sda,sclK,$91,[tempT]  "'LEE LA TEMPERATURA"

Pero lo importante es que ya finciona.
Felicitaciones!
Saludos
Mario


Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #22 en: 25 de Octubre de 2006, 18:12:01 »
Si en efecto creo que por ahi estaba el problema, ahora a probarlo a fondo a ver si da el ancho y a rediseñar el dentalcook, entre otras cosas que tengo que hacer.

Ah y ahora que me lleguen unos TC77 Y TC75 probare haber que tal con esos.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #23 en: 26 de Octubre de 2006, 01:00:41 »
 :8} :8} :8} :8} :8} :8} :8} :8} :8} :2]


Oh!!!! decepcion el "sensorcillo" este me ha dado muchas sorpresas. Ahora que ya funciona y lo he estado probando pues si da una temperatura fiable, mas cuando le saco el promedio. Pero solo he visto un inconveniente.

Cuando intento leer mas temperatura osea cuando empiezo a subirla con un encendedor, la maxima leida es de 51° mas alla me empieza a marcar desde cero, y cuando baja vuelve 51, 50....etc. Segun el manual mide hasta 125 pero a mi no me resulta, me lo he leido y releido pero nada. Dejo esta parte aqui para ver si alguien me puede dar Luz.


Voy a ver como me va con los TC77 y TC75
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #24 en: 26 de Octubre de 2006, 01:49:28 »
Ahora haz la prueba de poner [hex tempT].
A mí me pasaba eso con el DS1307 y lo solucioné de esa forma.

Saludos. Vamos que estás muy cerca !

Mario

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #25 en: 26 de Octubre de 2006, 02:00:36 »
Es que la sintaxis de i2cread o i2cwrite no me permite meterle el prefijo HEX, snif snif.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #26 en: 26 de Octubre de 2006, 02:22:41 »
Max, es meterle HEX en lugar de DEC a la hora de desplegar.

Sigo insistiendo que no deberías usar este sensor:
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #27 en: 26 de Octubre de 2006, 02:57:06 »
mmmm.... No no es HEX a la hora de desplegar ya que lo que el sensor entrega es en formato binario de 8-bits como dice la imagen de arribita (la mia) si le pongo Hex a la hora de desplegar por ejemplo me saca 17°C y en binario me saca 00010111 que es 23 , la temperatura  la que esta mi cuarto.

Y si veo que efectivamente tiene ese gran margen de error, pero les tengo que dar un uso no? ademas son gratis, espero que los otros (TC77  y TC75) no esten tan chafas...

Yo ya queria hacer mis camisas " I love MICROCHIP" con el logo en lugar de la palabra.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #28 en: 26 de Octubre de 2006, 03:53:38 »
"A caballo dado no se le ve colmillo"  :)

"De lo perdido lo que aparesca"  :lol:

Voy a ver si puedo adaptar las rutinas que dán los de microengineering labs para usar el I²C por hardware.

Tantas cosas que quiero hacer y no me doy abasto  :D
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Usar un TC74 (sensor de temperatura via i2c)
« Respuesta #29 en: 31 de Octubre de 2006, 16:14:08 »
Bueno ya me llegaron los otros sensores el TC77 y el TCN75 y veo una tarea algo dificil, son unas micro-miniaturas de sensores. Problemas para mi pulso seguro :D y ahora estos se acceden de forma muy muy diferente el TC77 me da una lectura de 13 bits :shocked: como leo eso y elotro igual. bueno voy a checar que onda y les aviso.

Por cierto no logro leer mas de 52° con el tc74 y creo que la clave esta en la tabla de aqui arriba y la frase "complemento de dos"

algun tip???
« Última modificación: 31 de Octubre de 2006, 16:20:01 por navaismo »
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."