TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: LAB_je en 18 de Julio de 2006, 08:42:37

Título: deteccion de paso por cero con convertidor A/D
Publicado por: LAB_je en 18 de Julio de 2006, 08:42:37
ola a todos!!! me a surgido un problemilla en mi proyecto que no se muy bien como afrontar!!tengo que realizar la deteccion del paso por cero de una señal señoidal mediante el convertidor A/D!!el problema principal de ello es que tiene que ser muy preciso y todas las pruebillas que he conseguido realizar asta el momento no lo son!!estoy trabajando con un 18F452 y con un entorno en C.A alguien se le ocurre alguna idea de realizar con precision dicha deteccion del paso por cero de la señal analogica con forma de senoide??????
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: Chaly29 en 18 de Julio de 2006, 09:26:09
Hola LAB_je, si buscas por el foro verás que ese tema a sido tratado varias veces e incluso hay circuitos posteados, y de consejo ya te estaría diciendo que del A/D te olvides si lo que buscas es exactitud.

Un saludo.

Atte. CARLOS.
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: jfh900 en 18 de Julio de 2006, 10:39:35
Efectivamente como dice Carlos si quieres precisión te tienes que olvidar del conversor ADC, so pena que tengas una frecuencia muy baja de la señal a muestrear y una tasa de conversión muy alta. Lo mejor es untilizar una circuito detector de cero.

Un saludo
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: Deimos en 18 de Julio de 2006, 11:10:22
De conversor A/D para un paso por cero? Ni te lo plantees hermano. No funcionará ni por equivocación.

No se como lo resuelven en las respuestas que ya hay en el foro, pero si yo lo tuviese que resolver, haria un semipuente con dos diodos, para que no aparezca el semiciclo negativo, y de ahí detectar el cero mediante un AO, y de ahí a una entrada con interrupcion al micro. Cada interrupcion es un paso por cero. Pero ya te digo, que no he leido como lo solucionan la penya del foro.

Uno que opina

Atentamente

Deimos

http://astroelectronica.iespana.es/
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: maunix en 18 de Julio de 2006, 11:14:16
En mi opinión , parece ser un ejercicio para la universidad...

Por supuesto para detectar un cruce por cero, deberá antes, montar la senoidal en una continua.  :) y adaptar los niveles de limite superior e inferior a los del PIC.

Si la onda es de frecuencia constante, se podría luego de algunos ciclos, determinar la frecuencia de la onda y su cruce por cero con bastante exactitud pero para ello hay que hacer un análisis discreto de la señal.

Saludos
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: LAB_je en 19 de Julio de 2006, 04:12:19
bueno por lo que veo todos coincidis en que con el convertidor A/D no voy a conseguir exactitud asiq, siguiendo a vuestros consejos empezare a pensar alguno de los sistemas que me habeis propuesto!!la verdad es que asi da gusto hacer las cosas,muchas gracias a todos!!!!!
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: patolinec en 19 de Julio de 2006, 16:30:53
Pues no necesariamente no es exacto sino que es mas complicado que usar otras formas, si tu en realidad deseas hacerlo con un ADC puedes tomar la referencia positiva el valor maximo de la onda a muestrear, y como referencia negativa el valor maximo negativo de la onda, de ahi verifica el valor que tendras en el adc cuando sea el voltaje positivo y de igual forma los valores que tomara cuando sea negativo, como te das cuenta es medio problematico, ahora si tu usas un PIC que venga con comparadores internos como el PIC16f628, puedes realizar la comparacion con GND que es bastante util y tendras una señal de curuce por cero bastante buena, y en su defecto tambien puedes usar un lm741 en modo comparador y de igual forma comparar con GND la onda senoidal que te dara un señal cuadrada de dos niveles en el que cada xcambio de nivel te indica cruce por cero.

Suerte :mrgreen:
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: jfh900 en 19 de Julio de 2006, 17:33:00
Pues no es tan facil y la explicación es que en un sistema muestreado, nada te dice que cuando tomes la muestra lo haga justo en el cero o en el valor positivo, la muestra caerá aleatoriamente delante o detras del cero o del máximo, en el caso del máximo ni siquiera sabriamos si estamos tomando el valor correcto o no, en el caso del cero si por ser un valor único. Por consiguiente con un sistema discreto nunca podremos saber si coincide la muestra con el punto deseado. Esto solo sería posible si el tiempo entre muestras es muy seguido y tomamos por ejemplo 512 muestras, para una frecuencia de 50 Hz tendriamos 20ms/512 = 39 uS, que seria el máximo error que cometeriamos, pero claro no hay ningun micro que muestree a esa velocidad (creo que los micros de Mcrochip no llegan aunque hay ADC externos que sí podrian muestrearlo).

Un saludo.
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: Nocturno en 20 de Julio de 2006, 15:02:07
En el Dimmer con mando  (http://elrebujito.es/modules.php?name=News&file=article&sid=110&mode=&order=0&thold=0) lo hice utilizando un LM741 en modo comparador como describe patolinec.

Luego, en el Minidimmer (http://elrebujito.es/modules.php?name=News&file=article&sid=180&mode=&order=0&thold=0) lo hice utilizando la entrada de interrupción externa del PIC, que es Schmith Trigger.
Título: Re: deteccion de paso por cero con convertidor A/D
Publicado por: LAB_je en 21 de Julio de 2006, 04:20:08
la verdad es que seguramente siga la opcion que me da patolinec, de la cual posteriormente me da un ejemplo nocturno (muy bueno por cierto!!!!y muy bien llevado a cabo!!).muchas gracias por vuestros sabios consejos, en caso de que me surja algun tipo de problema volvere a ponerme en vuestras manos!!!