Circuito detector de señal AC para PIC o AVR

Hola. Tengo un problema que me está haciendo pasar malos ratos;
Imaginemos un sistema multi-tarea en donde hay dos señales de 24V (i, j) y varios procesos A,B,C los cuales dependen o deben ser ejecutados solo si están presentes los 24 AC en la linea (i por ejemplo) . si la señal i de activación está presente “i” entonces se ejecutan los procesos A, B,C (todos), pero uno de estos procesos , por ejemplo “A” su resultado depende de otra línea de 24V AC, digamos “j”, entonces nos referimos a un sistema que tiene que estar monitoreando 2 señales de 24 Ac a 60 Hz
Tengo dos señales AC de 24V c/u :
Una de estas señales indica operación (señal j), es decir;
- Si la señal AC 24V está presente el MCU debe estar activo haciendo X tarea “ACtIVO”.
- La ausencia de esta indica al MCU estar “no activo”.
La otra señal AC también de 24 V (señal j), indica una especie de respuesta de uno de los procesos de la tarea X .
- Si la señal AC 24V está presente, el MCU deduce como respuesta positiva.
- La ausencia de esta durante determinado intervalo de tiempo le indica al MCU que la respuesta es negativa.
Para detectar las Sx AC estoy usando un optoacoplador, este es el PC814:

HCPL-814-pinout.jpg


Usando este PC814 adapto la señal Ac a pulsos digitales los cuales los introduzco al comparador de un pic. Cuando hay Sx, en la salida del opto aparece un tren de pulso alternando de 5V a 1.05V y cuando no hay Sx en 5v por una resistencia de pull-up.

Alguien tiene algún algoritmo o idea para controlar, detectar la presencia de estas Sx?
Cuál es la gráfica de salida de este opto cuando tiene una señal ac de entrada?
:( detesto acoplar Sx AC con circuitos digitales.

Como es el rollo? Comparadores, timers, interrupciones? estoy usando el PIC16F1847,1827 pero si saben algo con cualquier otro PIC o AVR, no importa.
 
No le veo mayor problema, eso se soluciona facil con las interrupciones, de otra forma tu soft estaria como loco ejecutando instrucciones basura y desperdiciando tiempo, por cierto me mareo tu explicacion y no entendi del todo bien.

La salida de es opto si se le mete una señal senoidal depende de la magnitud de la señal de entrada, si es grande a la salida solo obtendras una señal recortada (cuadrada), si es pequeña deberia salir aprox la misma señal
 
Confunde algo... :D
Se acomoda un cruce por cero... cuentas de dos ya que hay un pulso por cada semi-ciclo.

Una duda, el uCo va a realizar una tarea por cada ciclo que detecta? si es así, te aseguras que el tiempo de la rutina sea menor al tiempo que demora un ciclo.
 
Gracias, por responder.
La señal AC de respuesta dura como unos 800 ms más o menos..... y es la respuesta del otro sistema.
También se entrega una señal Ac permanentemente en 24 V, mientras esta señal este presente el MCU debe estar trabajando.

Son dos señales Ac una indica que el mcu debe trabajar y la otra es una respuesta a una tarea específica.

Tengo una duda.... con la interrupción ciertamente puedo detectar lo que pasa en el pin, pero no hablo de un pulso en particular, sino más bien de permanencia de la señal ac durante intervalos de tiempo..... Y esto sin causar un lio en la secuencia de ejecución en el MCU.

No soy bueno explicando las cosas. espero me entiendan y me disculpen.:D
 
Puedes rectificar la señal AC y aplicarlo al opto, con un buen filtro evitas que se genera pulsos a 60Hz.
Otra forma es como en la imagen, un opto en operación lineal. Los componentes son de ejemplo, calcúla los componentes para tener un mejor resultado.
 

Adjuntos

  • optoLineal.png
    optoLineal.png
    5.8 KB · Visitas: 57
Para tu necesidad, que no necesitas medir frecuencia ni cruce por cero ni nada raro, convertir la señal en continua como dice ByAxel no es una mala idea, te facilita bastante el soft.

Habría que ver que tan rápida debe ser la respuesta del filtro para señal "j" que es la que dijiste que indica la polaridad, pero para "i" no deberías tener problemas.

Sobre el soft, si lo haces continuo, usas 2 interrupciones externas, para "i" usas el flanco positivo para detectar la presencia de señal y el negativo para la ausencia. Para "j" en cambio usas el cambio de nivel.
 
Saludos a todos

tengo una señal que enciende un Relé de 24VAC está señal debe ser leida por un microcontrolador así que quiero diseñar un pequeño circuito que me detecte esta señal la comvierta en DC para el micro . es decir se convierta en un pulso alto cuando haya presencia de los 24VAC y pulso bajo cuando no tenga presencia de los 24VAC. limitaciones el circuito debe ser muy pequeño no me sirve puente rectificador con capacitor. ...
 
podes utilzar un diodo rectificador un capacitor de 1 a 10uf una R y un zener de 5.1V

El diodo es porque necesitas que se convierta en continua, el pequeño capacitor es para que sea DC y no pulsos positivos la R y el zener para bajar la tensión a 5V.
Otra forma sería con un optoacoplador
 
Saludos a todos

tengo una señal que enciende un Relé de 24VAC está señal debe ser leida por un microcontrolador así que quiero diseñar un pequeño circuito que me detecte esta señal la comvierta en DC para el micro . es decir se convierta en un pulso alto cuando haya presencia de los 24VAC y pulso bajo cuando no tenga presencia de los 24VAC. limitaciones el circuito debe ser muy pequeño no me sirve puente rectificador con capacitor. ...

Coincido 100% con el Sr.pandacba pero Yo en su caso lo haría con el siguiente circuito y claro esta SMD:unsure:

mWbcd.png
 
Última edición:
Atrás
Arriba