Y por qué no usar el módulo comparador (hardware) del pic18f4550? -> "Comparator module" pag 271 de la hoja de datos: http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Hola, hmmm no entendí muy bien lo que me recomiendas, dices que la primera muestra la tome en la interrupción externa y en la del TMR0?Hola, ahora se entiende mejor la idea que planteabas antes.
Ten en cuenta que desde que sucede el cruce por cero (real) hasta que se llegue al voltaje umbral para que el led del optoacoplador se ilumine y luego dispare la interrupción externa pasa un tiempo (aunque normalmente no es muy considerable), luego de disparar la interrupción externa activas el temporizador y hasta que suceda su interrupción pasa otra cantidad de tiempo... quizá este por ahí el problema que planteas.
Se podría hacer que: En la interrupción externa (que es la mas cercana al cruce por cero) se active al temporizador y ahi mismo se tome la primera muestra de tanto de los sensores de voltaje como de corriente y luego el temporizador se ocuparía del resto.
Por otro lado asumo que las mediciones la estas haciendo sobre una carga netamente resistiva, solo asi se tendrían en fase la tensión y la corriente.
Jajaja si, así puede que funcione "más mejor", bueno eso lo probaré el martes, cuando lo haga, te comento como me fue... Gracias (Y)si, exactamente la primera muestra en la interrupción externa y el resto de las muestras en la interrupción temporizada, si eso no soluciona el problema habrá que pensar en algún método mas "mejor..jajajja" para la adquisición de datos.
Jajaja si, así puede que funcione "más mejor", bueno eso lo probaré el martes, cuando lo haga, te comento como me fue... Gracias (Y)
Ok, en cuanto pueda lo haré, primero debo conseguir la v7 de proteus. En cuanto a los sensores, uso para la corriente un ASC712 de 30A, de este sensor hay bastante información en el web; el problema lo he tenido con el de voltaje, ya que mi sensor es un módulo que compré en china, funciona bien, pero no tengo datos del funcionamiento de este, lo que hice fue variar el voltaje en la entrada del sensor para así poder tener la linealidad respecto al voltaje de entrada y salida, este es el sensor del que te hablo......Que mal.
Primero que nada ten en cuenta que no se podrá tomar una muestra exactamente en el cruce por cero de la señal... eso debido a los tiempos que tardan en detectar el cruce por cero, disparar la interrupción y muestrearlo con el adc, pero mientas los dispositivos sean mas veloces mas cerca se estará del cometido.
Ahora hay que luchar con el hardware, algo que debería solucionar el problema es implementar un circuito de muestreo y retención simultaneo de las señales de voltaje y corriente. por otro lado también hay que ver como es que estas obteniendo el disparo de la interrupción externa... me refiero mas al esquema, por ejemplo no es lo mismo (dependiendo del método de detección de cruce por cero) usar directamente la red eléctrica que usar un atenuador(ya sea por divisor de tensión o transformador), hay detalles que pueden generar el aparente desface entre en voltaje y corriente.
seria bueno que subas el esquema que estas usando pero con todos los detalles por ejemplo si usas transformador para la señal de la red eléctrica entonces debería estar especificado la relación de entrada y salida, detalles del sensor de corriente... etc.
si subes el esquema hecho en Proteus que no sea en la version 8 ya que para el caso mio no podre abrirlo ya que uso la version 7.
Si, eso mismo he estado pensando, no realizar el muestreo de la señal en el periodo que inicia con el cruce por cero, sino con el siguiente, sería algo como colocar un delay de más o menos 16 ms y después de este si empezar a tomar las muestras, esa es la idea, quizás lo pruebo hoy, cualquier cosa estaré comentando....
Otra opción seria detectar el anterior cruce por cero y tener en cuenta el periodo/la frecuencia de línea para realizar el trabajo que pensar hacer.
Si trabajas sobre líneas de alimentación de redes domiciliarias la frecuencia suele ser constante.
Saludos, JuanKa.-