Autor Tema: Variaciones bruscas en valor del ADC  (Leído 5025 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Variaciones bruscas en valor del ADC
« en: 25 de Agosto de 2012, 04:16:04 »
Hola a todos.

Estoy haciendo unas pruebas para mejorar mi anemómetro que se basan en lo siguiente:

1.- Tengo como hélice un ventilador nuevo de  ordenador, este ventilador lo hago girar por el efecto del viento de por ejemplo un secador de pelo y mido la FCEM que me genera en un polímetro; observo que manteniendo siempre la misma distancia al secador u otro ventilador que use para generar el viento, el multímetro me indica un abanico entre 800 y 850 mV.

2.- Ahora paso a la realidad y meto ese voltaje en el conversor ADC de un PIC16F818 con salida a un LCD. Meto el negativo (del motor) a la masa del circuito y el positivo al RA0/AN0 (Ch 0). y veo unas oscilaciones enormes; mientras que en el multimetro veia una oscilacion de unos 50 mV, aqui con el PIC veo que a veces sube hasta 1200 y otras baja hasta 400 mV y no comprendo por que puede ser.


Tengo configurado el ADC asi:

Código: [Seleccionar]
CCP1CON = 0;        //no capture/compare/pwm
INTCON = 0;
ADCON0 = 5;         //101
ADCON1 = 0x80;   //Righ justif.

y el bucle que lee asi:

Código: [Seleccionar]

ADCON0.GO_DONE = 1;                //inicia conversion
     while(1){
              Delay_ms(1000);    //para que no se muestren los num tan rapido
             
              if(ADCON0.GO_DONE == 0){
                         valor_leido  = ADC_Read(0);
                           
                               etc etc etc
              }
     }


No tengo muy claro si el bit ADCS2 de ADCON1 debo ponerlo a 0 o a 1 y que frecuencia de oscilacion debo coger con el ADCON0 segun esto:

Código: [Seleccionar]
bit 7-6 ADCS1:ADCS0: A/D Conversion Clock Select bits
If ADCS2 = 0:
00 = FOSC/2
01 = FOSC/8
10 = FOSC/32
11 = FRC (clock derived from the internal A/D module RC oscillator)
If ADCS2 = 1:
00 = FOSC/4
01 = FOSC/16
10 = FOSC/64
11 = FRC (clock derived from the internal A/D module RC oscillator)

Ahora como veis está en FOSC/2


Pues esa es mi duda, a ver por que ese abanico tan grande de fluctuación.

Gracias como siempre

 

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Variaciones bruscas en valor del ADC
« Respuesta #1 en: 25 de Agosto de 2012, 08:10:49 »
Halowin:
         Generalmente se hacen muchas mediciones y luego las promedian para obtener valores estables.
Vos estás haciendo eso?
             Saludos.
                  Jukinch
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado Tisco

  • PIC16
  • ***
  • Mensajes: 108
Re: Variaciones bruscas en valor del ADC
« Respuesta #2 en: 25 de Agosto de 2012, 08:31:33 »
Tienes que tener en cuenta que los motores, al funcionar como generador, no generan a su salida una señal DC, sino una AC. Deberías adaptar y filtrar la señal antes de introducirla a la entrada analógica del uC.

Un saludo.

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Re: Variaciones bruscas en valor del ADC
« Respuesta #3 en: 25 de Agosto de 2012, 09:40:19 »
Halowin:
         Generalmente se hacen muchas mediciones y luego las promedian para obtener valores estables.
Vos estás haciendo eso?
             Saludos.
                  Jukinch

Hola Jukinch

Si, tengo en mente hacer un promedio pero cuando el abanico sea mas estrecho.
Tienes que tener en cuenta que los motores, al funcionar como generador, no generan a su salida una señal DC, sino una AC. Deberías adaptar y filtrar la señal antes de introducirla a la entrada analógica del uC.

Un saludo.

Ya se que generan una señal analogica, por eso la paso por el ADC, Tisco.

Mi pregunta es saber por que con el polimetro hay una fluctuacion pequeña y midiendo con el ADC la hay tan grande, si es problema del programa, o qué estoy haciendo mal.

????



Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Variaciones bruscas en valor del ADC
« Respuesta #4 en: 25 de Agosto de 2012, 11:52:02 »
¿Tienes puesto un condensador a tierra en la entrada del ADC que te amortigüe esas oscilaciones?

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Re: Variaciones bruscas en valor del ADC
« Respuesta #5 en: 25 de Agosto de 2012, 12:06:57 »
¿Tienes puesto un condensador a tierra en la entrada del ADC que te amortigüe esas oscilaciones?

No, Nocturno, pero si me dices el valor y donde va exactamente ahora miiiiiiiismo lo pongo y te cuento.

Gracias

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Variaciones bruscas en valor del ADC
« Respuesta #6 en: 25 de Agosto de 2012, 12:34:12 »
Un multimetro te esta midiendo aproximadamente el valor eficaz de la tensión alterna generada y tu con el microcontrolador estas midiendo la tensión instantanea en un punto cualquiera de la señal generada  :rolleyes: Ahora, esa señal que se genera no tiene componente negativa? O sea, le estas metiendo tensión por debajo de los GND-0.3 V que soporta el ADC! Para medir el valor eficaz debes muestrear en el periodo de la señal generada cierta cantidad de puntos y calcular con ello su valor: http://es.wikipedia.org/wiki/Valor_eficaz

Pero para ello o debes montar la señal sobre una componente DC para poder muestrear todo el rango de tensiones en el periodo o utilizar otro tipo de conversor.

Si colocas un capacitor como dice Nocturno no vas a notar cambio, pero si colocas un filtro pasa-bajos (resistencia-capacitor) vas a pasar a tener el valor medio, o sea 0 V.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Re: Variaciones bruscas en valor del ADC
« Respuesta #7 en: 25 de Agosto de 2012, 12:42:16 »
Un multimetro te esta midiendo aproximadamente el valor eficaz de la tensión alterna generada y tu con el microcontrolador estas midiendo la tensión instantanea en un punto cualquiera de la señal generada  :rolleyes: Ahora, esa señal que se genera no tiene componente negativa? O sea, le estas metiendo tensión por debajo de los GND-0.3 V que soporta el ADC! Para medir el valor eficaz debes muestrear en el periodo de la señal generada cierta cantidad de puntos y calcular con ello su valor: http://es.wikipedia.org/wiki/Valor_eficaz

Pero para ello o debes montar la señal sobre una componente DC para poder muestrear todo el rango de tensiones en el periodo o utilizar otro tipo de conversor.

Si colocas un capacitor como dice Nocturno no vas a notar cambio, pero si colocas un filtro pasa-bajos (resistencia-capacitor) vas a pasar a tener el valor medio, o sea 0 V.


Saludos!


Ufff, Suki, muchas gracias, pero yo de electronica ando muy justo y si te digo la verdad me pierdo en tu explicacion.

Si te puedo decir que no hay componente negativa.


Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Variaciones bruscas en valor del ADC
« Respuesta #8 en: 25 de Agosto de 2012, 12:48:32 »
Si te puedo decir que no hay componente negativa.

Has colocado un osciloscopio en el "positivo" del motor con referencia a GND de tu circuito? Con tu multimetro mides AC o DC?
No contesto mensajes privados, las consultas en el foro

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Re: Variaciones bruscas en valor del ADC
« Respuesta #9 en: 25 de Agosto de 2012, 12:58:41 »
Si te puedo decir que no hay componente negativa.

Has colocado un osciloscopio en el "positivo" del motor con referencia a GND de tu circuito? Con tu multimetro mides AC o DC?

No tengo osciloscopio, el multimetro lo tengo en DC a escala de 2v.

He puesto un condensador de 1uF entre la entrada del ADC y masa y nada oscila igual, luego he puesto otro de 0.22uF y oscila exactamente lo mismo. ---- mal rollo---


Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Variaciones bruscas en valor del ADC
« Respuesta #10 en: 25 de Agosto de 2012, 13:11:07 »
Coloca una resistencia de 10k y un capacitor de 10uF, o sea:  Positivo motor ----- Resistencia-----Capacitor--- GND.

Ahora medí la tensión sobre el capacitor respecto a GND.
No contesto mensajes privados, las consultas en el foro

Desconectado halowin

  • PIC16
  • ***
  • Mensajes: 151
Re: Variaciones bruscas en valor del ADC
« Respuesta #11 en: 25 de Agosto de 2012, 13:24:22 »
Coloca una resistencia de 10k y un capacitor de 10uF, o sea:  Positivo motor ----- Resistencia-----Capacitor--- GND.

Ahora medí la tensión sobre el capacitor respecto a GND.

420 mV recibiendo viento, 340 mV sin viento.

Si la salida de la resistencia la meto en el ADC parece que las oscilaciones se reducen bastante pero incluso sin vntilador el LCD marca 475 mV (sin viento alguno).
« Última modificación: 25 de Agosto de 2012, 13:28:24 por halowin »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Variaciones bruscas en valor del ADC
« Respuesta #12 en: 25 de Agosto de 2012, 13:36:52 »
No sirve para entender que es lo que tienes. Tendrías que conseguir un osciloscopio para ver exactamente que señal estas generando  :? Seguramente una señal AC montada sobre una componente DC.

Eso si, las variaciones bruscas se generan por los métodos de medición. Uno mide "como un promedio" y el otro es instantáneo.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Tisco

  • PIC16
  • ***
  • Mensajes: 108
Re: Variaciones bruscas en valor del ADC
« Respuesta #13 en: 25 de Agosto de 2012, 15:28:11 »
Si te puedo decir que no hay componente negativa.

Has colocado un osciloscopio en el "positivo" del motor con referencia a GND de tu circuito? Con tu multimetro mides AC o DC?

Coincido con Suky en que el motor te debe de estar entregando una tensión AC con su correspondiente parte negativa.

Prueba a poner un diodo (a poder ser schottky) al positivo del motor y justo después un condensador como te comenta nocturno. El ánodo del diodo al positivo del motor y el cátodo al positivo del condensador y a la entrada analógica.

Un saludo.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Variaciones bruscas en valor del ADC
« Respuesta #14 en: 25 de Agosto de 2012, 15:46:51 »
Hola halowin, la configuración que estás utilizando no es muy fiable que digamos, por lo que te han explicado los colegas y además porque un cooler de PC es un ventilador electrónico, básicamente es un oscilador triple que genera tres señales desfasadas 120º en tres bobinas del estator, lo que genera un campo rotativo.
En el rotor tienes un imán que intenta seguir dicha rotación lo que lo hace girar.
Lo que quiero decir con todo esto es que el cable positivo que utilizas para sensar es la alimentación de un circuito electrónico no lineal, y que además la tensión de "salida" sea una oscilación en las bobinas generada por el acercamiento y alejamiento de cada polo del imán que hace girar el viento en este caso. Osea difícilmente la tensión de salida sea linealmente proporcional a la velocidad de giro del rotor.
Perdón mi intención no es tirar malas ondas, yo te aconsejo otra solución con el mismo transductor, sin renegar mucho con la "analógica" y es
que dichos ventiladores tienen un cable aparte (color amarillo) que envía pulsos a la placa madre del pc para saber la velocidad del cooler.
Sólamente tienes que contar una cantidad de pulsos en un cierto tiempo y obviamente eso te dará un valor proporcional a la velocidad de giro.
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.


 

anything