Problema del detector de cruce por cero

Realmente estoy en una situación difícil y necesito una ayuda muy seria para elaborar esto. Casi como dar de comer con cuchara.

Hace días que intento que mi detector de cruce por cero (y el atenuador triac) funcione correctamente, pero nada funciona bien. Estoy tratando de hacer que mi circuito funcione, pero todo es en vano, mientras que hay otro producto (que abrí para realizar ingeniería inversa) que usa el mismo triac y componentes casi similares, pero con pocos cambios y obras de alféizar. Te explico ambos casos.

Estoy usando un optoacoplador H11AA1 con una resistencia de 150k para usar voltaje de CA para generar interrupciones en mi microcontrolador ESP8266 (esp-12e) (wifi integrado). El circuito es como en la imagen.

ingrese la descripción de la imagen aquí

Pero los problemas a los que me enfrento son numerosos...

  • Una resistencia de 1/4 W se calienta demasiado y se quema si se usa un valor menor.
  • Las interrupciones son para el flanco ASCENDENTE, ya que habrá picos cuando haya un cruce por cero. Las duraciones de interrupción son (en milisegundos) son como -- 10,9,0,0,1,9,10,0,0,0,10,0,0,10,9,9,1,0,0, 1,1,10,....... y así sucesivamente. ¿¡¡¿POR QUÉ?!!? ¿Por qué es tan nervioso? ¿Y los valores aleatorios? Me sugirieron que la corriente en el lado de CA es menor. Pero como dije, bajar la resistencia lo quema y aumentarlo podría estropearlo más. Hablar de paradoja, ¿eh?

Ahora, sobre el producto que estaba tratando de aplicar ingeniería inversa:

ingrese la descripción de la imagen aquí

¿Por qué eso es un problema para mí?

  • Están utilizando una variante del (casi) mismo optoacoplador, H11A1 . Y usan una resistencia smd de "330k" (x2 veces más alta) que debe ser de 1/4W. Ahora, obviamente, la resistencia 2 veces mayor es la razón por la que no se quema. Pero, ¿cómo es que da suficiente corriente para generar las interrupciones correctas?

Por favor, ayúdame aquí. Con el escenario actual, hay un parpadeo bastante irregular en el atenuador triac probado con una bombilla incandescente. Han pasado días para entender por qué está pasando esto...

Muchas gracias de antemano.. :)

1. 150k * 10 != 330k. 2. Un producto no termina en el pin IO. 3. Los niveles de activación de un Atmel en 5 V y un ESPxxxx en 3,3 V no serán los mismos. 4. Para cualquier ayuda realmente útil, agregue enlaces a las Hojas de datos de las cosas que está utilizando.
las resistencias pequeñas tienen voltajes de ruptura que pueden ser superados fácilmente por el voltaje de la red, usaría más de una resistencia en serie por seguridad y durabilidad.
¿Realmente quiere que entren 220 Vac en el optoacoplador? Un buen transformador reductor, digamos a 24 Vac, lo haría seguro y no quemaría las resistencias.
Asmyldof: gracias por señalarlo. Escribí 10 veces mientras experimentaba con 33k en el momento de publicar la pregunta. Lo edité ahora. PD: 33k se fumaron al instante.
¿Está utilizando firmware nodemcu en su esp8266? en caso afirmativo. eso explica el parpadeo en la duración de sus interrupciones... y ahora para el circuito... Estoy usando un circuito basado en 4n35 que funciona de maravilla para mí... si está interesado, me encantaría explicar esto.
Suraj - gracias por la ayuda. Por favor explique. Y no estoy usando nodemcu. estoy usando arduino...
EDITAR --> Suraj - gracias por la ayuda. Por favor explique. Y no estoy usando nodemcu. Estoy usando arduino... PD: cuando lo expliques, por favor, sé lo más cercano posible a la cuchara para alimentarme... gracias. (con todos los valores de resistencia y potencia y todas las teorías...)
Hola Suraj... todavía necesito tu ayuda.
Lo siento, no hice un seguimiento de esta pregunta ... Agregaré la respuesta que funciona para mí ... esta noche ...

Respuestas (2)

Resistor

Una resistencia de 150 kΩ en 220 V CA está disipando 0,32 W y probablemente debería estar quemándose.

Una resistencia de 330 kΩ en 220 V CA está disipando 0,147 W, que está en el rango nominal.

Como sugirió uno de los comentaristas, su cálculo de 10 veces más alto está un poco fuera de lugar. ¿Quizás deberías probar una resistencia de 330kΩ?

Interrupciones

No nos diga las duraciones de interrupción, muéstrenos la captura de alcance del nodo en el pin 5. Si la captura de alcance se verifica, entonces sabe que es un problema de firmware y está describiendo un problema de hardware. Asegúrese de tener un problema de hardware antes de describirlo en términos de software.

Solo especulando sin una captura de alcance, pero ¿podría ser que su pull-up sea demasiado fuerte? Tienes una resistencia menor que el otro. ¿Tal vez probar un 10k? 20k? Nuevamente, publique una captura de alcance.

Oye, gracias por intentarlo. 1. Corregí la cosa de 10 veces a 2 veces. Fue exp. con los 33k mientras publicaba, así que escribí eso. No tengo ningún osciloscopio a mi disposición en este momento. Pero no hay mucho en el software de todos modos. Simplemente: adjuntar Interrupción (12, cero_comprobación, RISING) para registrar interrupciones y luego, en cada interrupción, calcula la diferencia de tiempo en milisegundos entre la última interrupción y la actual.
Además, ¿cómo obtienen suficiente corriente del circuito de 330k para impulsar el opto?
Lo entiendo, los visores pueden ser costosos, pero puedes obtener un visor analógico básico de la vieja escuela por $ 50 en estos días. Mantengo mi comentario de que debería mirar la salida con un alcance o, como mínimo, con un analizador lógico. Ya parece que podría estar disparando intermitentemente según sus tiempos, pero NUNCA lo sabrá sin solo mirar la salida directamente.
Agradezco su ayuda y entiendo que es difícil especular sin otros datos.

Finalmente encontré la respuesta a esto.

Una vez cambié experimentalmente la resistencia de 10k, en el lado izquierdo (lado de arduino), que conecta 5v al pin 5 del optoacoplador y al pin de interrupción, a 1M ohmios. También se conectó una capacitancia de 2nF entre el colector y el emisor.

Mi corazonada era que parte del ruido puede reducirse con el tipo adecuado de resistencia. Así que seguí aumentando la resistencia poco a poco hasta que dio el resultado que quería.

Además, una mejor opción para el optoacoplador es PC817.

Espero que esto ayude a cualquiera que tenga problemas con los detectores de cruce por cero. :)

Creo que te estás moviendo hacia mares peligrosos ... El rango de Mohm pull-up significa que no hay pull-up, quiero decir al menos una corriente de pull-up comparable a IC y fuga opto. Es posible que obtenga un circuito crítico, que funcione solo algunas veces. Podemos suponer que acaba de aumentar Rpull-up por Cstray timr constante poniendo un poco de filtrado de paso bajo. Si esto fuera cierto, podría obtener lo mismo de una manera más segura: reduzca la resistencia e incluya un condensador adicional en la salida opto.