Autor Tema: conversor analogo digital  (Leído 2837 veces)

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

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
conversor analogo digital
« en: 07 de Junio de 2006, 20:11:20 »

caballeros la inquietud que me llega es la siguiente el conversor para sensar la temperatura ambiente. estoy haciendo la prueva y la temperatura ambiente se debe mostrar en lcd.
al momento de visualizar la entrada analoga las unidades varian mucho, no se quedan quietas  estan oscilando en valores ejem :058   el numero  8 pasa a 0 a 1 a 7 y asi sucesivamente.
y hasta pasa a 062 etc.
que recomiendan
la señas analoga  que entra a ra0 la vario con un potenciometro.
caballeros si algui me puede orientar en el problema y me ayude a solucionar el inconveniente.
se necesita que la temperatura quede 058  090 y asi sucesivamente si oscilaciones.


gracias de antemano

Desconectado Arbolito

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 893
Re: conversor analogo digital
« Respuesta #1 en: 07 de Junio de 2006, 21:57:03 »
Hola microcom en este post se realizo un termometro de cuatro canales quizas te sirva para aclararte un poco y resolver tu inquietud.
http://www.todopic.com.ar/foros/index.php?topic=12258.0
Si no es asi pues pega el codigo de tu proyecto y vemos en que te puedes aver equivocado.
un saludo juan
« Última modificación: 07 de Junio de 2006, 22:05:50 por juanacho_ar »
Existo, aunque pienses que no pienso

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: conversor analogo digital
« Respuesta #2 en: 08 de Junio de 2006, 01:10:55 »
existen algunas posibilidades, una de ellas es manejar la referencia, ya que te varia mucho debido a que si son cinco voltios y trabajas en modo 8 bits tienes 255 valores de temperatura posible, por lo que una variacion en milivottios va a provocar un aumento considerable del valor a la salida del ADc, pero si puedes manejar el voltaje de referencia al punto en el que estas variaciones sean insignificantes puedes solucionar el problema, intenta a subir el Vref+ a 10v y el Vref- manalo a tierra (GND)

Otra opcion es ir actualizando la temperatra despues de algun tiempo.

Y la mas radical puede ser cambiar de sensor, ya que al parecer no es un sensor lineal, te recomiendo el lm35 que opera de perfecta forma con una variacion de 10mv por grado celciu y es bastante preciso, claro si no vas a supera la medicion de 100º
Casi me maté pero ahora estoy de nuevo vivo

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
conversor analogo digital
« Respuesta #3 en: 08 de Junio de 2006, 13:23:34 »
caballeros mucha gracias por las recomendaciones;
estoy utilizando un potenciometro para simular la temperatura esas variaciones
no  si sera la actualizacion de la temperatura. le he puesto condensadores para mejorar y nada.
boy a probar lo que usted dice.
otra cosa que me sucede es que le lcd el laparte derecha de la pantalla los datos selen perfectamente pero al rato los 8 espacios de esa parte se van colocando las lineas negras
no se si sera el lcd malo o que
el funcionaba perfectamente ahora me sala ese  problema
ay que pasa muchachos no se .
lcd malo o que.
las letras y datos se ven normal hasta llegar 12 lineas de la parte superior.
lo mismo sucede con la parte inferior dl lcd.


caballeros ese es un dilema.
una historia.

anexo el programa.

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: conversor analogo digital
« Respuesta #4 en: 08 de Junio de 2006, 13:51:59 »
Es poco practico utilizar un conversor a 4 bits y hasta complicado :?: pero bueno aparte de eso tienes mucho codigo que no hace nada y muchos retardos que no te sirven deberias corregir eso, un dato mas cuando tu pones un include de algun pic ya no es necesario definir todos y cada uno de los registros ya que estos ya esta definidos en el mismo include, solo tienes que definir los registros de RAM osea los que tu creas para guardar alguna variable u otra cosa.

Bueno yo te recomiendo que abandones totalmente ensamblador y te pases a un lenguaje de alto nivel que facilta muchisimo ,las cosas, deberias intentar hacer en PicbasicPro que es un leguaje bastante sencillo y muy practico y hay bastante infromacion en este foro mismo, por ejemplo lo que tu quieres hacer

Código: [Seleccionar]
' Conexiones LCD PIC:
'       LCD     PIC
'       DB4     PortB.0
'       DB5     PortB.1
'       DB6     PortB.2
'       DB7     PortB.3
'       RS      PortB.4
'       E       PortB.5
'       RW      Ground
'       Vdd     5 volts
'       Vss     Ground
'       Vo      20K potenciometro
'       DB0-3   No connectado

DEFINE LCD_DREG PORTB   
DEFINE LCD_DBIT 0       
DEFINE LCD_RSREG PORTB 
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5     

adval var byte

TRISA = %11111111 ' Set PORTA to all input
ADCON1 = %00000010 ' Set PORTA analog and LEFT justify result
ADCON0 = %11000001 ' Configure and turn on A/D Module
Pause 500 ' Wait .5 second


loop: ADCON0.2 = 1 ' Start Conversion

notdone: Pause 5
If ADCON0.2 = 1 Then notdone ' Wait for low on bit-2 of ADCON0, conversion finished

adval = ADRESH                         ' Move high byte of result to adval

Lcdout $fe, 1                               ' Clear screen
Lcdout "Value: ", DEC adval         ' Display the decimal value 

Pause 100              ' Wait .1 second

Goto loop          ' Do it forever
End
« Última modificación: 08 de Junio de 2006, 15:40:52 por patolinec »
Casi me maté pero ahora estoy de nuevo vivo

Desconectado Arbolito

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 893
Re: conversor analogo digital
« Respuesta #5 en: 08 de Junio de 2006, 14:11:52 »
como dice patolinec yo te recomendaria que pases a otro lenguaje ,para mi gusto el C. (en este te puedo dar una mano)
te sera mucho mas cencillo
Existo, aunque pienses que no pienso

Desconectado LabPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 143
Re: conversor analogo digital
« Respuesta #6 en: 08 de Junio de 2006, 14:18:37 »
Ademas no creo conveniente usar un micro de 10 bits de ADC para solamente utilizar 4, la resolucion de tu medicion disminuye demasiado.

Saludos LabPIC
¡¡¡Viva México cabrones!!!

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
conversor analogo digital
« Respuesta #7 en: 08 de Junio de 2006, 19:41:05 »
caballero el problema es con el ultimo digito que oscila demasiado

la resolucion no es inconveniente
el c no lo manejo

gracias

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: conversor analogo digital
« Respuesta #8 en: 08 de Junio de 2006, 20:23:12 »
Hola. Veo que en el programa asm, pusiste como comentario el retardo. Es necesario poner un retardo entre lectura y lectura, para dar tiempo a que el capacitor interno se cargue correctamete y pueda comparar bien.
Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado JavisusII

  • PIC12
  • **
  • Mensajes: 79
Re: conversor analogo digital
« Respuesta #9 en: 10 de Junio de 2006, 04:06:58 »
hola microcom:
nada muy rápido:

-Pon el esquema
-Vref 5V/100=50mV . Esos 50mv se mueven mucho? bueno, hay que entender que la entrada es una compuesta de Vcd+Vca debido al
 ruido , salida del sensor, etc. (entiendo que tu has amplificado la entrada sensor, dejando la salida a 0-5v 0-100 grados)
- Debes filtrar la entrada.
- Elige un sampleo lento.

Ahora no tengo mucho tiempo, si veo que no te sale ya postearé con más tiempo.
Xavi (Barcelona)


 

anything