TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: merlin en 03 de Mayo de 2006, 11:39:01

Título: Saludos y pregunta sobre el ADC
Publicado por: merlin en 03 de Mayo de 2006, 11:39:01
Hola a todos, primero saludar que es mi primer post. Despues, la pregunta:

Estoy utilizando un PIC, el 16F877A, y entre las tarea que me realiza, una de ellas es la conversion a digital usando su convertidor, pero en el uso, me surge una pregunta importante para mi circuito:

Uso el adc del pic para convertir las tensiones que entran por unas de sus patillas, en este caso, la patilla del AN0. COmo voltaje de referencia uso el propio de alimentacion, esto es, +5 V. Mi cuestion es la siguiente:

Me he dado cuenta, de que cuando la tension que entra al adc supera los 5 V (protejo la entrada del pin con un zener de 5.6V, para q no se queme) el convertidor sigue mostrandome 5 V. LA duda que me ronda es:

Hay alguna forma de saber, o hay alguna variable que me indique que la tension que entra del ADC es mayor que la tension de referencia, es decir, hay alguna forma de saber, alguna flag o variable, que me indique cuando una tension esta fuera del rango de medida del convertidor????

Esa es mi pregunta, espero vuestra ayuda

Gracias, un saludo
Título: Re: Saludos y pregunta sobre el ADC
Publicado por: LabPIC en 03 de Mayo de 2006, 11:54:52
No, no hay alguna flag o varible que te indique que la tension que entra al ADC es mayor de 5 volts.

Saludos  :mrgreen:
Título: Re: Saludos y pregunta sobre el ADC
Publicado por: merlin en 03 de Mayo de 2006, 12:10:05
Vaya, una mala noticia sin duda. Y bien, como podria hacer esto mediante programacaion ( uso el ccs ), hay alguna forma???

Gracias

Un saludo
Título: Re: Saludos y pregunta sobre el ADC
Publicado por: microcom en 03 de Mayo de 2006, 15:22:45
lo que puedes hacer es teniendo ya el resulatdo en bcd de la  conversion adc tienes que saber donde que dan las unidades ;decenas; y centenas de voltios comparas este referencias con 5. ejemplos tienes en la salida bcd 1,23V
hay un registro que almacena el 1 entonces el tope no ha sidio el maximo; 4.5V EL 4 ES ALMACENADO EN UN REGISTRO x.
 MOVF REGISTROX,0
 XORLW  .5
BTFSS  STATUS,2
GOTO NO_ES
GOTO SI
RETURN

ESTO ES PARA SABER CUANTO VOLTAJE ESTA EN LA CONVERSION O ENTRADA ANALOGA.

NO ES PARA PROTEGER EL PIC.
 
 
 
Título: Re: Saludos y pregunta sobre el ADC
Publicado por: JavisusII en 03 de Mayo de 2006, 18:07:16
Perdona mi ignorancia, pero...
no consiguo ver el fin que persigue tu inquietud :z)
Título: Re: Saludos y pregunta sobre el ADC
Publicado por: merlin en 03 de Mayo de 2006, 18:24:42
El fin es q esa tension q el adc tiene q convertir es uan tension q me da un proceso de calibracion. Q sucede, cuando calibro, y la tension q obtengo es mayor que la de fonde de escala, en este caso la de referencia, no tengo la posibilidad de saber si efectivamente estoy con 5 V justos, o hay mas voltaje. Por eso, seria bueno conocer que la tension es mayor que la de referencia, pq entonces, podria mostrar algun mensaje por pantalla que dijese algo asi como "Fuera de RAngo" o algo parecido.
Título: Re: Saludos y pregunta sobre el ADC
Publicado por: Arbolito en 03 de Mayo de 2006, 18:53:45
a ver si entiendo
Tenes que calibrar un instrumento para esto usas un dispositivo que a su salida te genera una señal que puede variar de 0 a 5v.
esa medida entre 0 y 5v que entrega tu dispositivo de medida es el valor medido (por ejemplo 1mm,2mm, o 3mm,etc)
y vos queres saber cuando se te va de escala (por ejemplo 5.2 mm)
bien si es asi tene en cuenta que los valores de tu convercion pueden ser guardados en una variable(programacion en c)
lo que se me ocurre es que podrias comparar esa variable(donde se guarda el valor convertido por el adc) con un valor fijo (que seria el correspondiente a 5v) antes de mostrarla en pantalla ,entonces si el valor de comparacion es menor o igual al de la constante se muestra en pantalla y si es mayor mostrar el mensaje "fuera de escala"
Bueno espero aberte alludado un saludo juan
Título: Re: Saludos y pregunta sobre el ADC
Publicado por: Veguepic en 03 de Mayo de 2006, 19:09:52
Hola Merlin:

Veo dos opciones a mi entender:

1.- Porque no usas un divisor de voltaje antes de meter el voltaje al ADC del pic, por ejemplo entre 2, osea trabajas a 2.5 volts y por soft multiplicas luego por 2 para obtener los 5 volts iniciales, asi evitas quemar la entrada ADC y puedes medir un sobrevoltaje hasta de 10 volts. Esto es una referencia pues puedes usar la relacion que gustes al final aunque esto dependera del maximo sobrevoltaje que quieras medir. Lo unico creo que pierdes algo de precision que creo minima, seria cuestion de calcularla.

2.- La segunda opcion es un poco mas complicada pues tendrias que hacer un circuito externo que detecte un sobrevoltaje y este meterlo al pic via un interrupcion para que indique que excede el rango.

Haber que tal te va.

Suerte