Autor Tema: medidor de temp. con 16f84  (Leído 3380 veces)

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

Desconectado doppel

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1534
medidor de temp. con 16f84
« en: 04 de Agosto de 2005, 12:52:00 »
Hola amigos!

Tengo que hacer un medidor de temperatura con un 16f84 y indicarla en 3 displays de 7segmentos, hasta acá todo bien jeje.-
El tema es que busqué por todo el foro y la mayoria de los circuitos y proyectos que encuentro son en base al 16f877 por tener ADC.-
Todavia no tengo resuelto que sensor voy a ultilizar ya que desconozco cual sería el mejor y cual es el más fácil de conseguir en Argentina, el circuito se usará para tomar la temperatura del agua de un motor.-
Mas que nada necesito ayuda con la logica y el circuito adaptador entre el sensor con  el 16f84.-
He encontrado un circuito que trabaja con dos sensores uno es el que toma la temperatura y otro que trabaja por comparacion pero como les he dicho antes mi problema es la logica para leer el sensor.
La idea es hacerlo en protón.-
Muchas gracias, espero puedan darme algún consejo.-

saludosRebotado
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado sanpic

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 430
RE: medidor de temp. con 16f84
« Respuesta #1 en: 04 de Agosto de 2005, 14:17:00 »
Hola.  Puedes usar sensores de temp. con salida digital de Maxim-Dallas  , ej :   DS18B20, DS1821 tienen un rango de medicion que va de  -55 a +125 grados centigrados

http://www.maxim-ic.com/quick_view2.cfm?qv_pk=2812
http://pdfserv.maxim-ic.com/en/ds/DS1821.pdf



Si te decides , te puedo pasar el fuente en PBP.
Un abrazo.



Angelito
IF you_know = true THEN                                 
     share_it
ENDIF

Desconectado doppel

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1534
RE: medidor de temp. con 16f84
« Respuesta #2 en: 04 de Agosto de 2005, 14:35:00 »
Hola muchas gracias Sanpic!

estuve mirando el datasheet y está mas que interesante, realmente no tengo experiencia con este tipo de sensores, pero por lo que estuve leyendo con solo tirarle los comandos el sensor directamente envia los datos? es asi? la forma de conectarlo seria directamente al puerto?

saludos
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado sanpic

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 430
RE: medidor de temp. con 16f84
« Respuesta #3 en: 05 de Agosto de 2005, 08:59:00 »
Es correcto lo que dices amigo Doppel.    Solo necesitas 1 pin del pic para controlarlo.
Si necesitas algun codigo para controlarlo , no dudes en pedirlo.


Un abrazo.


Angelito
IF you_know = true THEN                                 
     share_it
ENDIF

Desconectado doppel

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1534
RE: medidor de temp. con 16f84
« Respuesta #4 en: 06 de Agosto de 2005, 02:40:00 »
Hola Sanpic!!
Si tienes algún ejemplo por ahí, bienvenido sea! todavia no me decido por cual sensor si el DS1820 o el LM35H y todo debido a que no cuál voy a conseguir con mas facilidad en mi zona! por eso estoy leyendo acerca de los dos!  Pero cualquier ayuda será bienvenida.-

saludos!!

" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado dexmax07

  • PIC10
  • *
  • Mensajes: 4
Re: medidor de temp. con 16f84
« Respuesta #5 en: 16 de Enero de 2010, 21:38:17 »
aqui te dejo un ejemplo que funciona muy bien, espero te sirva:

DEVICE = 16F877A
XTAL = 4

CONFIG HS_OSC , WDT_OFF , PWRTE_ON , BODEN_OFF , LVP_OFF
delayms 500
all_digital=true
declare lcd_dtpin portb.4


 
SYMBOL  DQ = PortA.0      ' Place the DS1820 on bit-1 of PORTA 
DIM  Temp  AS   WORD        ' Holds the temperature value
dim grad as word
DIM  C  AS   word          ' Holds the counts remaining value
DIM  CPerD  AS   word        ' Holds the Counts per degree C value   
CLS             ' Clear the LCD before we start
Again:
OWRITE  DQ, 1, [$CC, $44]     ' Send Calculate Temperature command
REPEAT
DELAYMS  25        ' Wait until conversion is complete
OREAD  DQ, 4, [C]        ' Keep reading low pulses until
UNTIL  C <> 0        ' the DS1820 is finished.
OWRITE  DQ, 1, [$CC, $BE]     ' Send Read ScratchPad command
OREAD  DQ, 2,[Temp.LOWBYTE,Temp.HIGHBYTE,C,C,C,C,C,CPerD]  ' Calculate the temperature in degrees Centigrade
Temp = (((Temp >> 1) * 100) - 25) + (((CPerD - C) * 100) / CPerD)
temp = temp/8
print at 1,3,"TEMPERATURA"
Print $FE,$40,$07,$05,$07,$00,$00,$00,$00,$00
PRINT AT 2,6, DEC Temp / 100, ".", DEC2 Temp," ", AT 2,10,0,"C"
GOTO Again


 

anything