TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Kprimbo en 29 de Septiembre de 2005, 20:38:00
-
Hola amigos:
Me surgio una duda acerca del estado de coneccion de un LM35.
Estoy usando un PIC16F877A con cinco sensores (LM35), haciendo un barrido secuencial de estos todo el tiempo y enviando los datos al PC para graficarlos.
El problema surge cuando sin intension desconecte uno de los sensores (cuando el sistema ya estaba en funcionamiento), y entonces mi sorpresa fue que la temperatura de ese sensor no se hizo cero, ya que se siguio viendo una temperatura (para nada fuera de lo normal), y recien cuando lo puse a tierra ese pin la temperatura se hizo cero.
A que se puede deber esto (lo primero que se me ocurre es que se deba al sample/hold que esta antes del conversor A/D o que esto surga en la multiplexion o debido a la tec. CMOS).
Como podria detectar si un sensor (cualquier analogico) se ha desconectado?, para poner una alarma.
-
A mi me paso exactamente lo mismo pero con una termocupla y el PIC16F877A, en una presentacion a mis docentes, y uno de ellos desconecto la termocupla de la tarjeta y la verdad no paso nada raro con la temperatura, incluso pensaron que se trataba solo una simulacion.
Y me pidieron que la aplicacion que hice pueda detectar cuando se desconecte la termocupla por causas no previstas.
Porfa a ver si alguien nos puede ayudar.
-
hola gente
primero que nada, seria interesante ver el circuito. Quizas modificando el circuito, se puede hacer que el Operacional vaya a cero o vaya a +VCC y asi de esa manera poder detectar cuando el sensor se desconecta.
Aloha
-
Me parece interesante este tema, y me vendria muy bien incorporar esta funcion para el proyecto que estoy haciendo lo que pasa es que yo de operacionales solo se 4 tonterias. Como habria que configurar el operacional para realizar esta tarea?
-
Igual estoy diciendo una tonteria pero y si con un transistor forzais antes de cada lectura que el terminal vaya a masa?
-
El tema del S&H puede tener que ver, usualmente en los sistemas de ADQ. de datos, solemos tener un multiplexor -> S&H -> ADC. si el S&H mantiene la tension del canal anterior es muy probable, que te siga "midiendo" ese canal (realmente el canal anterior, aun asi podrias poner el esquema del sistema de ADQ que tienes). Bien para esto, lo que hay que hacer antes del multiplexor, es tirar un circuito a masa para que de 0 (no recomiendo +Vcc pero tambien se puede hacer) osea, imaginaros que desconectamos el LM35 y tenemos una resistencia que va a masa desde su salida (la del lm35, la resistencia puede ser perfectamente de unas decenas de Ks para no cargar la salida del LM35), no circularia corriente por la misma del lm35, pero si unos nanoamperios de salida/entrada de el multiplexor, el valor seria de 0 volvios mas o menos. de esta manera detectariamos que el sensor tiene un problema ya que la temperatura es excesivamente baja (suponiendo que detectes alarma a partir de un valor de temperatura. Si no pones dicha resistencia, la entrada del multiplexor (suelen ser Transistores FET como interruptores analogicos) al estar al aire pueden medirte tambien cualquier cosa y aparte de esto, por su tecnologia tienen mas "condensadores parasitos" por asi llamarlos para mantener cargas para que entiendas.
En el caso de los termopares, cuando tu los pones en el circuito de medida, lo que tu estas midiendo es la tension de la union del termopar (unos milivoltios, sin excitacion del mismo, aparte de la temperatura) una manera de ver si el termopar es desconectado, seria mediante un puente de wheastone, como si estubieramos hablando de galgas extensiometricas, bien de esta manera podriamos medir la tension del puente y la descompensacion del mismo provocaria que mediante dicha medida, y asi pudieramos ver si el termopar es desconectado. En este caso, habria que tener en cuenta, que hay una corriente que circula por el termopar, que puede causar un pequeño error en la medida del mismo, esto deberias compensarlo mediante software (linealizacion por tramos, que es mas sencillo) o bien realizando los calculos necesarios para ver la caida de tension que tienes en el termopar por esta corriente (esta caida no es un valor constante, os recuerdo que a mas termperatura, menor resistencia en el material Ej.: el filamento de una bombilla, creo que lo he dicho bien xD). Este caso es un poco delicado la verdad, ya que es un sensor un poco "especial".
Yo la experiencia que tengo con sensores, y acondicionadores de señal, es que en el amplificador de instrumentacion, las entradas tienen que tener "tiradas" una resistencia de cientos de ks a masa en cada una de las entradas diferenciales para poder detectar correctamente la señal del sensor y si se desconecta, medir 0 o el valor de salida del amplificador de instrumentacion.
La idea basica en cualquier sensor, (que se puede utilizar esta idea para todo) es detectar el consumo de corriente del mismo, si no consume... no funciona ¿no? pues aplicando esta regla, si ponemos aun sensor en serie una resistencia muy pequeña (hablo de menos de 1 ohm) y medimos la tension de caida en la misma. Si esta el sensor hay circulacion de corriente por ella y por tanto caida de tension, si no hay sensor, la corriente no circula (idealmente por desgracia puede haber nanoamperios, tendremos que medir la ddp de la resistencia y usualmente utilizaremos un operacional) y la tension a medir en la misma seria 0V.
Bueno despues de este rollo que os he contado, la unica manera de ver que un sensor no funciona es aplicando la magnitud fisica al mismo (temperatura: calor o frio, Presion: aplicacion de la misma, Fuerza: compresion o traccion.....) y ver si el sistema de medida funciona. Todo lo demas es bastante complicado de aplicar y complicado de implementar, para gustos colores. Un saludo.
-
hola amigos:
Ante todo gracias por su interes.
En alguna parte lei, cosa que tambien coicide con lo que dice el amigo xerex que lo que se ve en el canal del sensor desconectado es lo correspondiente al canal anterior (en la multiplexion), osea que el S&H mantiene la tension del canal anterior, y por ende pareceria que todo anda bien, pero en realidad todo se va al tacho.
La solucion de xerex me parece exelente, obligando que el canal del mux (del sensor desconectado) se vaya a cero a travez de la resistencia. En el sistema que tengo solo hacia una verificacion de la coneccion de los sensores al comienzo, simplemente comparando las temperaturas con 0 (por software), y si se cumplia para algun sensor mandaba un mensaje. Pero la verificacion de la coneccion de los sensores ya en operacion no se me habia ocurrido que era diferente.
Quisiera saber tambien, si no es molestia como se podria hacer con el operacional (que vaya a cero cuando el sensor se ha desconectado).
Y la verdad si pudieras poner el esquema para el caso de un termopar te lo agradeceria muchisimo, pues tambien estoy interesado en el tema.
-
Les pido disculpas por lo del esquema pero no me lo acepta pese a que solo son 36k. (soy novato en esto)
Pero basicamente estan los cinco sensores (LM35), luego el MUX analogico, el op-amp (LF356N), y luego el PIC(AN0).
-
Si quieres puedes subir el archivo awww.rapidshare.de
-
El esquema del sistema DAQ y la solucion planteada por xerex esta aqui:
http://www.rapidshare.de/files/57631849/Esquema_1.jpg.html
-
Gracias Kprimbo por ayudarme en la explicacion. Bueno yo personalmente, no pondria el lm356 por dos razones:
1.- Metes un Operacional que no hace falta. Si no recuerdo mal, la salida del lm35 llega a 2 voltios como maximo de salida ¿no? y para que te de la maxima resolucion el pic puedes atacarle mediante la tension de referencia y ademas la entrada del pic es de alta impedancia por tanto no necesitas adaptar impedancias con el lm356. (si necesitas mas canales, puedes optar por el siguiente mas grande de los pic)
2.- Añadir un operacional puede causarte que su offset no sea el adecuado y te de errores en la medida. Para cada canal puede variarte las condiciones de entrada y aunque lo ajustes mediante un potenciometro de cero talvez no te valga una vez ajustado para un canal. De todas formas haz la prueba.
Un saludo.
-
Gracias por el esquemilla. La verdad es que no habia caido en poner una resistencia entre el sensor y masa.
-
Gracias por la recomendacion xerex, pero en realidad solo estaba haciendo pruebas con el LM35 (a temp. ambiente, unos 240mV a su salida) y la amplificacion (los 240mV -> 3V ), pues la aplicacion final la hare con termopares (para lo cual si necesito amplificar), una preguntilla mas xerex conoces de algun cable especial para transmitir con RS-232 unos 200 metros, ya que con cable normal lo que recomiendan es distancias menores a 15 m o necesitare trabajar con lazo de corriente las señales (para evitar inteferencias) y recien cerca al PC poner el PIC (corrigeme si estoy perdido en el tema, porque es mi primera experiencia con instrumentacion industrial).
-
Los Circuitos integrados del tipo CMOS cuando queda al aire un pin su valor de tension queda indeterminado debes calcular una simple resistencia pull-up o pull-down para cuando cualquier pin quede al aire por desconeccion del sensor este quede en un valor conocido de tension, estimados amigos y maestros no entiendo tanta explicacion para algo tan basico y muy conocido por los electronicos.
Saludos
-
Pues para transmitir esa barbaridad de metros siempre puedes ir al estandar RS485 o creo que tambien el RS422 en la web encontraras informacion y esquemas para implementar dichas comunicaciones desde RS232. Aun asi 200 mts de cable son demasiados metros... seguro que pierdes algun bit por el camino
.
Has pensado en Radio frecuencia? yo aun estoy por probar unos modulos de CEBEK que transmiten en 433Mhz con modulacion ook, la distancia no tengo ni idea cuanto alcanzaran, pero tienen amplificador aparte. Los que tengo son los modulos con referencia C-0504 y C-0503 TX y RX, si quieres implementarlo en bidireccional prueba con otro modulo que hay de CEBEk que tiene ambas cosas a la vez. sino pues ya sabes uno que transmita en 433 y otro en 866 que tambien tiene esa frecuencia cebek. Son baratos.
Un saludo.
-
Pues para transmitir esa barbaridad de metros siempre puedes ir al estandar RS485 o creo que tambien el RS422 en la web encontraras informacion y esquemas para implementar dichas comunicaciones desde RS232. Aun asi 200 mts de cable son demasiados metros... seguro que pierdes algun bit por el camino
.
Has pensado en Radio frecuencia? yo aun estoy por probar unos modulos de CEBEK que transmiten en 433Mhz con modulacion ook, la distancia no tengo ni idea cuanto alcanzaran, pero tienen amplificador aparte. Los que tengo son los modulos con referencia C-0504 y C-0503 TX y RX, si quieres implementarlo en bidireccional prueba con otro modulo que hay de CEBEk que tiene ambas cosas a la vez. sino pues ya sabes uno que transmita en 433 y otro en 866 que tambien tiene esa frecuencia cebek. Son baratos.
Un saludo.
-
Para kruskal:
Perdona que te diga esto, pero no todo el mundo es electronico ni todo el mundo es programador, ni todo el mundo tiene la experiencia de un maestro, si nos extendemos algunos es para que la gente aprenda de lo que no sabe (y talvez para aprender mas de lo que sabemos), que creo que para esto estamos aqui, para aprender y enseñar, y si podemos para intentar resolver algunas dudas o pegas de los demas.
Me alegra saber que seas electronico o ingeniero o programador o todo a la vez, suerte que has tenido de serlo, pero no todos estamos en tu caso.
Un cordial saludo. XeReX.
P.D.: No quiero crear polemica.
-
Muchas gracias amigo xerex por tu valiosa ayuda (particularmente por tus extensas explicaciones, que me han dado toda una leccion de instrumentacion. Especialmente para un aficionado a la electronica y programacion como yo, que lo poco que se se lo debo en gran parte a este foro y a personas como tu). Ahora mismo me pondre a buscar toda la informacion correspondiente al bus RS-485, y luego te cuento como me fue.
Un saludo desde Buenos Aires - Argentina.
-
Kprimbo:
tienes razon con la duda de otros y la experiencia de los foreros todos aprendemos.
Lo siento por el comentario supuse equivocadamente que era algo de conocimento basico, gracias por el tiron de oreja.
Saludos