Sensor de posición del interruptor de luz de emergencia

Antes que todos los que diseñan un sistema autónomo de iluminación de emergencia, tarde o temprano, surge el problema de encender y apagar las luces de emergencia. ¿Cómo hacer esto de la manera más conveniente y transparente, para no estropear el diseño de las habitaciones con interruptores adicionales?


Una de las soluciones debajo del corte.


Antecedentes


En el mundo moderno, muchas cosas se han relacionado con el suministro de energía ininterrumpido. La mayoría de los tipos de actividad intelectual ya son inconcebibles sin una computadora y comunicaciones que funcionan 24/7. Esto no es ni bueno ni malo, y debes vivir con ello. Especialmente si su lugar de trabajo no está en una oficina moderna, repleta de UPS y generadores diesel de respaldo, sino en un departamento de un edificio residencial común de gran altura. Y sucedió que la fiabilidad del suministro de energía de las viviendas en la mayoría de las ciudades de la antigua URSS deja mucho que desear. Como resultado, el hilo que conecta la toma de corriente doméstica y la central eléctrica más cercana tiene la mala costumbre de romperse periódicamente. Una vez cada seis meses, y cuándo y tres veces al día.

Es por eso que, al comenzar las reparaciones en un nuevo apartamento, inicialmente puse cableado paralelo en el proyecto para el suministro de energía ininterrumpida y la iluminación.

Me gustaría mucho tener a mi disposición un generador potente con ICE, capaz de proporcionar energía normal a todo el departamento, pero tuve que abandonar esta idea. En una casa privada, la pregunta no se habría planteado en absoluto, pero un apartamento es otra muy distinta.

El primer problema es la eliminación de los gases de escape, que no hay absolutamente ningún lugar para colocar en el apartamento de una casa con calefacción central. Bueno, no tirarás la manguera justo afuera de la ventana, donde el humo es absorbido instantáneamente por la ventana abierta del vecino más cercano.

El segundo problema es el ruido. Sí, los generadores inversores de cuatro tiempos modernos, cuando los escuchas en la calle, pueden parecer muy silenciosos. Y si cuelgas un silenciador adicional, entonces completamente silencioso. Pero créanme, en un edificio desenergizado, lo que significa un edificio de apartamentos completamente tranquilo, incluso un ruido tan tranquilo será perfectamente audible para todos los vecinos.

En resumen, la idea con el generador murió, tan claramente y no nació. De las opciones reales restantes, solo quedaban baterías.

Además, me permito una narración simple de mis pruebas emocionales y las decisiones tomadas en primera persona sin ningún reclamo de verdad universal. E inmediatamente advierto que mis argumentos a alguien pueden parecer poco convincentes, y las decisiones tomadas son controvertidas. Pero, sin embargo, todo lo descrito aquí se implementa actualmente en hardware y realiza con éxito las tareas.

Y si alguien está interesado en el lado puramente práctico del problema y no importa cómo llegué a esa vida, puede omitir muchas cartas e ir directamente a la descripción de la solución preparada.

Brevemente acerca de elegir el tipo de batería


Y aunque este problema no tiene nada que ver con el tema del artículo, me gustaría insertar mis cinco centavos aquí también. Por otra parte, que inevitablemente surgen en tales discusiones declaraciones menudo lleva a una gran cantidad de lulz información útil.

Hoy, en el siglo de rápido desarrollo de la energía alternativa, han comenzado a aparecer sistemas de suministro de energía ininterrumpida para el hogar, relativamente asequibles, fabricados industrialmente, combinados con plantas de energía solar o eólica. Los más avanzados usan baterías de iones de litio con un montón de "potenciadores" electrónicos de la efectividad de todo el sistema.

En mi caso, no se puede hablar de ninguna mini planta de energía debido a razones objetivas, y solo la fuente de respaldo, renovable desde un tomacorriente ordinario durante la "iluminación", fue interesante. Por lo tanto, se decidió cultivar colectivamente todo el relleno electrónico del UPS del departamento por su cuenta. Y como mis manos estaban completamente desatadas, lo primero que debía decidirse era qué tipo de baterías usar.

Al principio, pensé así: “¿Por qué no litio? Juventud de moda con estilo. Sellado, energéticamente eficiente, duradero ". Pero cuando miré los precios, mi fervor de litio disminuyó notablemente. Una búsqueda rápida en combinación con la aritmética escolar mostró que incluso los bancos 26650 chinos muy "tontos" con (por supuesto) los 5000 mAH más honestos costarán cinco veces más que una batería ácida de la misma intensidad energética. Y si elige algo que no esté en la parte inferior del precio ordenado por precio, la diferencia llega fácilmente a 8-10 veces.

¿Y cómo puede compensar una diferencia de valor tan grande?

Sí, el litio almacena energía de manera más eficiente por cada kilogramo y metro cúbico, y una batería del tamaño de un bloque de cigarrillos dedica fácilmente una batería de plomo-ácido de diez kilogramos. ¿Pero es este hecho tan importante para el uso estacionario?

Por supuesto, un buen "litio", pero con el enfoque correcto durará más. ¿Pero diez veces?

Al mismo tiempo, en el otro lado de la escala, la potencial explosividad de las baterías de origen desconocido, un algoritmo de carga más complejo, problemas de eliminación (cada persona sin hogar sabe dónde usar una batería de plomo para obtener ganancias, mientras que el litio es mucho más complicado hasta ahora).

En resumen, por la suma de los factores, decidí posponer la idea de litio hasta la próxima iteración. Quizás en unos años algo cambie, pero por ahora, el plomo es nuestro todo.

, , . , , , .

En cuanto a las baterías de plomo, también hay varias opciones. La opción "correcta" son las baterías de respaldo especializadas, que se usan en UPS, en estaciones base celulares y en otros lugares similares donde se requiere que puedan tomar y entregar grandes corrientes, ocasionalmente experimentar una descarga fuerte y, de hecho, trabajar sin distraer a las personas. para servicio.

Otra opción "correcta" son las baterías de tracción para cargadores automáticos eléctricos o, qué demonios, un submarino diésel. Estas baterías tienen una alta durabilidad y buena tolerancia a las descargas profundas, mientras que no le quitan al propietario la oportunidad de "recargar un poco de agua".

Bueno, la opción "incorrecta" es la batería de arranque de la tienda de automóviles más cercana. Tal batería puede ceder brevemente hasta un kilovatio de energía a la montaña, pero cualquier descarga es estresante para ella, como el trabajo para una persona perezosa. Y la gloria de las baterías desechables generalmente está arraigada en las baterías de calcio modernas: "descargadas - cambio".

Bueno, entonces, espero que nadie dude de qué opción finalmente seleccioné para la implementación. Correcto, tercero. Y las razones aquí radican no solo en el conocido anfibio verrugoso, sino también en un simple cálculo pragmático. Las baterías de arranque son varias veces más baratas que todas las demás opciones, a veces se acercan al valor del litio. Y en lugar de sacudirse por una batería costosa, se siente mucho más libre en una situación de indiferencia saludable, cuando el reemplazo resulta en pérdidas en la cantidad de alimentos durante un par de semanas. Además, si no deja que estas baterías se agoten antes de perder el pulso, su vida útil en el rol de copias de seguridad se calcula por muchos años. Siempre puede colocar una batería con una capacidad mayor, establecer el límite de descarga más suave y aún así obtener una mejor relación precio / capacidad que la batería "correcta",sufriendo una descarga profunda.

Lo principal en este asunto es proporcionar ventilación al menos en el nivel de "agujero en la pared" en el lugar de instalación de las baterías. Bueno, para organizar una protección de cortocircuito banal, porque el bajo voltaje de la fuente de corriente atenúa la vigilancia y todo puede terminar muy mal.

Guerra actual en un solo apartamento


Después de cierta tranquilidad moral causada por la decisión final sobre el tipo de batería, una nueva razón inmediatamente pareció pensar cuidadosamente.

Permítanme recordarles que inicialmente quería obtener un generador de corriente alterna para 230 V. Sin embargo, después de reconciliarme con la realidad objetiva y cambiar mentalmente a las baterías, la inercia del pensamiento ya me llevó al conocido mercado en línea chino para elegir un convertidor de CC a CA adecuado. Y en el proceso de estudiar las características, el término "onda sinusoidal modificada", que se olvidó, surgió por primera vez, y luego el sentido común comenzó a generar preguntas incómodas.

La esencia de las preguntas fue la siguiente. Para cubrir todas las necesidades de energía del apartamento con una batería pequeña todavía no funcionará. Las calderas, un microondas, una lavadora y una potente computadora de escritorio seguirán siendo insoportables. Y el refrigerador, la campana e incluso el ventilador banal no podrán funcionar correctamente debido a esta onda sinusoidal muy modificada. Por supuesto, hay inversores con una verdadera onda sinusoidal, pero no solo son más caros, sino también menos eficientes. Y el problema de los consumidores poderosos aún no está resuelto.

¿Qué consumidores quedan dentro del presupuesto? No hay tantos: electrónica de consumo como computadoras portátiles y teléfonos / tabletas, un enrutador, un servidor ARM, el ambiente es un televisor y, por supuesto, la iluminación. Además, el mensaje inicial del artículo (y mi motivación personal) es precisamente garantizar el funcionamiento de la estación de trabajo de respaldo en forma de computadora portátil y la mínima comodidad del hogar, como la luz en el inodoro.

Casi todos estos dispositivos requieren un voltaje constante de 5 a 21 V para su funcionamiento y no hay necesidad objetiva de aumentar primero el voltaje de la batería a 230 V CA, luego bajarlo y enderezarlo nuevamente a más o menos el nivel inicial. En estas transformaciones, es fácil perder hasta un 50% de energía, lo que no sonreí en absoluto.

En resumen, así de fácil fue la idea de utilizar una red de corriente continua de bajo voltaje como alternativa. Y después de un cálculo aproximado de las pérdidas en los cables, los 12 (13.8) V iniciales se convirtieron en 24 (27.6) V más prácticos.

Al principio quería tomar incluso 36 (41.4) B, pero después de estudiar las características de algunos componentes electrónicos que planeaba usar para trabajar con toda esta economía, tuve que moderar mi apetito.

Por lo tanto, en un cableado alternativo con una sección transversal de 3.5 mm 2 de cobre puro, el voltaje se aplicó finalmente desde dos baterías de automóvil conectadas en serie.

, . ( ) . , .

Para permitir a los consumidores en las habitaciones, se agregó una salida más a cada bloque "grande" de salidas. Y para que nadie confunda una toma de corriente ordinaria con una de respaldo, los productos de tipo "americano" con contactos planos de diferentes anchos se instalaron como este último. Esto, en primer lugar, no permitirá que la aspiradora se conecte a la red de CC, y en segundo lugar, tal toma de corriente, a diferencia de la europea, siempre usa la misma polaridad cuando se usa el enchufe "correcto".


Para estos tomacorrientes se hicieron adaptadores para laptop, reduciendo el voltaje a los 18-20 V deseados y equipados con los conectores correspondientes. Está claro que los talones se hicieron con las habituales cargas USB de cinco voltios para cada pequeña cosa. Bueno, por si acaso, se compró un par de pequeños convertidores de 24/230 V, con una potencia de 50 y 200 vatios.

Se ordenaron a China cajas para cargar con un enchufe estadounidense, los mismos cables de alimentación y placas de convertidores de pulso prefabricadas. Solo se necesitaba un soldador para conectar los cables.

No hablaré sobre la planta de energía en este artículo, especialmente porque no hay nada interesante en él, por lo que iré directamente a uno de los problemas "inferiores", a saber, el problema de utilizar la energía almacenada en la batería para fines de iluminación.

Encendiendo


Entonces, al cablear el apartamento en paralelo con el cableado principal, se extrajeron los cables de una red de CC alternativa con un voltaje de 24 (27,6) V. Entre otras cosas, se enroscó un bucle que consta de un par de dichos cables en cada caja de interruptores y luego junto con los cables de red de 230 V condujo a las luces del techo (si había varias en la habitación, entonces el cable alternativo conducía a una sola).

Qué hacer con la salida de la red DC en el campo de la lámpara es una cuestión de enfoque individual. Como fuente de luz, se eligió una tira LED regular de 24 voltios. Sus segmentos de diferentes longitudes (en proporción al área de la habitación), dependiendo del diseño de los accesorios, se montaron directamente en sus alojamientos o se pegaron a esas superficies desde las que brillaría bien, y desde donde no sería muy llamativo.

En cualquier caso, este es un problema más estético que técnico, y ahora es otra cosa.

Entonces, en la caja de cada interruptor, tengo un bucle de un cable de fase de una red de 230 V para encender la luz "ordinaria" y un bucle de ambos cables de una red de CC para iluminación de emergencia. De esto y baile.

Al final, el desafío que tenía ante mí era crear un cierto dispositivo que pudiera separar tres estados entre sí:

  • AC AC OK → apague las luces de emergencia.
  • La red de CA está desenergizada, los contactos del interruptor están cerrados → encienda la luz de emergencia.
  • La red de CA está desenergizada, los contactos del interruptor están abiertos → apague la luz de emergencia.

Consideramos que las acciones son unilaterales, es decir, apagar la iluminación ya apagada simplemente no cambia nada. Estos estados se pueden distinguir entre sí si se resuelven las tareas de determinar el funcionamiento de la red de CA y la posición de los contactos del conmutador. Al mismo tiempo, tuve las siguientes condiciones iniciales:

  1. La gestión de la iluminación principal y de emergencia debe ser completamente transparente de un órgano rector, no "granja colectiva" de los botones adicionales.
  2. , , , .
  3. , .
  4. – , .
  5. - .
  6. ( ), .
  7. .

Por supuesto, la ausencia de la red eléctrica de CA en las casillas cero resultó ser un cálculo de diseño muy complicado. Sin ella, la determinación de la presencia de voltaje en la entrada del interruptor se vuelve imposible. Técnicamente, sería posible utilizar el cable negativo de una red de corriente continua como cero, pero esto contradice el párrafo 5 completamente indestructible de mis términos de referencia.

Sensor


Sin embargo, existe una alternativa para medir la tensión de red. No es necesario para mí determinar la presencia de voltaje, es suficiente determinar la presencia de corriente en el cable de fase con los contactos del interruptor cerrados. Después de todo, si hay corriente, entonces hay voltaje. Además, la "lectura" precisa de la corriente permite que se active la iluminación de emergencia no solo en el caso de una falla de energía, sino también en el caso de una quemadura de bulbo banal. Este método no permite determinar el estado de la red de CA cuando el interruptor está apagado, pero este estado no me molesta, porque una vez que el interruptor está apagado, la iluminación de emergencia tampoco debería funcionar.

Determinar la presencia de corriente en el cable es bastante simple, especialmente si esta corriente es alterna. Aquí puede aplicar, por ejemplo, un sensor Hall que detecta el campo magnético alrededor del cable. Pero puede sobrevivir con un transformador de corriente común , que consiste en un circuito magnético en anillo con un devanado. Se pasa un cable de corriente alterna a través del anillo, lo que crea un campo magnético en el circuito magnético. Este campo a su vez induce una corriente secundaria en el devanado, proporcional a la corriente primaria en el cable. Por lo tanto, este dispositivo simple le permite medir la fuerza de la corriente alterna en cualquier cable, sin romperlo y generalmente sin ninguna conexión galvánica con el circuito primario.

El trabajo de las pinzas de corriente, una herramienta muy útil para cualquier electricista, se basa en el mismo principio.

Si hay un transformador de este tipo cerca del interruptor, es suficiente medir el voltaje en su devanado secundario para averiguar si fluye corriente en el circuito de la lámpara. La presencia de corriente, como dije, en una primera aproximación indica dos hechos: hay un voltaje en la red de 230 V, y el interruptor está cerrado. El primero de estos hechos es esencial para el funcionamiento del dispositivo de activación de iluminación de emergencia.

El segundo "parámetro de entrada" de mi dispositivo futuro debería ser la posición de los contactos del interruptor.

La "lluvia de ideas" iniciada entre colegas aficionados trajo varias opciones para determinar la posición del interruptor, que se redujo principalmente a modificar el diseño para agregarle otro par de contactos. Aquí el alcance de la imaginación es bastante grande.

Era posible tomar un doble en lugar de un solo interruptor y "paralelizar" mecánicamente sus mitades para que se convirtieran en un todo único. Esta opción no difirió en la estética externa y no resolvió el problema en aquellas habitaciones donde la iluminación era de doble circuito y el interruptor era doble inicialmente.

Otras opciones involucraban la introducción de un micro interruptor o un interruptor de láminas con un imán en el mecanismo del interruptor. Pero después de estudiar los diseños de los interruptores automáticos aplicados, estas opciones también desaparecieron. La base de cerámica monolítica de un buen interruptor simplemente no deja ninguna posibilidad, incluso para un microinterruptor compacto, y el imán y el interruptor de láminas no funcionaron debido al golpe demasiado pequeño de la tecla y la histéresis en la curva de operación / liberación del interruptor de láminas.

«» , . , , , . , , , .

En resumen, era necesario idear un método que no requiriera modificación del interruptor. Y este método fue encontrado.

Arriba, describí un transformador de corriente, que le permite determinar la presencia de corriente alterna en un cable sin ruptura y contacto galvánico. Pero cualquier transformador es un dispositivo bidireccional (en contraste con el mismo sensor Hall), sus devanados primario y secundario son intercambiables.

Si aplicamos corriente alterna al devanado secundario de dicho transformador, induce voltaje en los extremos del cable enroscado en el anillo. Y, lo más importante, la energía consumida por el devanado de la fuente dependerá de si la corriente secundaria en el cable encuentra su camino para el movimiento circular.

Y aquí se vuelve más interesante. Un cable pasa a través del anillo, que se conecta inmediatamente, en pocos centímetros, a uno de los contactos del interruptor. Solo queda proporcionar esta corriente con una ruta de retorno desde el otro lado del interruptor para obtener un dispositivo para "detectar" la posición de los contactos. Y por la razón de que esta corriente alterna, un condensador convencional puede convertirse en un puente para ello.


En principio, para cerrar este circuito bajo ciertas condiciones, no se necesita un condensador. Si se bombea una corriente de una frecuencia suficientemente alta al transformador, entonces la capacitancia parásita entre los cables será suficiente para pasar.


Entonces, lo que se necesita para organizar dicho detector:

  1. Transformador de corriente.
  2. Medidor de voltaje de salida del transformador.
  3. Fuente de corriente alterna de alta frecuencia.
  4. Medidor de corriente que fluye a través del devanado de un transformador invertido.

Lo más difícil en términos de selección de los parámetros óptimos es un transformador, que en el modo de transformador de corriente debería dar un voltaje aceptable con una frecuencia de 50 Hz, y en el modo de "detección" activa del estado del interruptor de circuito, tener un coeficiente de transmisión aceptable a una frecuencia de cientos de KHz. Este elemento no es posible simular en un programa para modelar circuitos electrónicos, e incluso con el cálculo matemático todo resultó muy difícil. Tuve que tomar un soldador en mis manos y pasar horas manejando varias opciones en busca de lo mejor.

El número de vueltas y la resistencia de carga óptima se seleccionaron empíricamente y no el hecho de que no perdí la mejor relación. Como resultado de los experimentos, apareció la siguiente construcción:

  • Núcleo de ferrita con una permeabilidad de 10,000, tamaño 10x6x4 mm.
  • Bobinado de 30 vueltas con alambre esmaltado de 0.25 mm.
  • La carga activa del devanado es de 1 kOhm.

La permeabilidad magnética es bastante grande, probablemente, tendría sentido usar un anillo para 5000 o incluso 2000 unidades, pero en cantidades suficientes tuve estos anillos. En general, la permeabilidad en este caso es un valor de compromiso. Demasiado bajo hace que el transformador no sea apto para funcionar a una frecuencia de 50 Hz, y demasiado alto estropea todo a frecuencias superiores a cientos de kilohercios.

Múltiples experimentos confirmaron la realidad de la idea y se obtuvieron los siguientes resultados:

  • En el modo de transformador de corriente, el coeficiente de transmisión resultó ser de aproximadamente un milivoltio por vatio de potencia de flujo (voltaje 220-230 V).
  • En el modo de sonda, dependiendo de la frecuencia y la capacidad de la fuga, la diferencia de corriente con los contactos cerrados y abiertos del interruptor alcanzó dos o tres veces.

Eso es todo. Ambos valores son más que suficientes para una fijación confiable tanto de la corriente que fluye como para determinar la posición de los contactos del interruptor. Solo depende de la implementación específica.


En hierro


A diferencia de la mayoría de sus otros diseños, aquí ya en las primeras etapas de deliberación, se decidió utilizar inmediatamente el microcontrolador. Según las necesidades y la experiencia, la elección recayó en el ATtiny13A. Este chip tiene un ADC y tiene la capacidad de utilizar una fuente de referencia interna de 1.1 V en lugar del voltaje de alimentación. Hay un PWM que es excelente para generar una señal de sonido. Y, que luego resultó ser importante, hay una EEPROM que le permite almacenar datos de calibración.

, « , , - «» , ».

. . . , , , .

Aquí debe combinar al menos un generador, un medidor de voltaje y algún tipo de disparador para almacenar el estado actual entre mediciones. En general, cualquier bosquejo especulativo requería al menos tres casos solo en el "núcleo", y el controlador resultó ser mucho más práctico.

El voltaje del transformador de corriente con una carga de 10-20 W es de 10-20 mV y es demasiado pequeño para suministrarlo a la entrada DAC con un límite de incluso 1.1 V. Por lo tanto, además del controlador, también necesita un amplificador con un coeficiente de transferencia de aproximadamente 100 para aumentar el voltaje de la señal al menos hasta cientos de milivoltios.

En general, el voltaje de la señal de salida de un transformador de corriente depende no solo de la potencia de carga, sino también de su naturaleza. Una carga puramente activa como la bombilla de Ilyich, por ejemplo, produce una onda sinusoidal de nivel de milivoltios. Una bombilla LED de la misma potencia con una potencia de pulso simple produce ráfagas cortas a voltios y más. Podríamos jugar con esto, pero, en primer lugar, quería hacer un dispositivo universal, y en segundo lugar, en el apartamento había una lámpara con una fuente de alimentación externa equipada con un circuito PFC (es decir, una característica de consumo cercana a activa).

No atormentaré al lector con opciones intermedias e inmediatamente daré el diagrama final del dispositivo.


Aquí el voltaje de CC a través del regulador lineal económico LM2931-5.0 alimenta al controlador. En términos de carcasa, funcionalidad y distribución de pines, este estabilizador es similar al popular 78L05, pero difiere de él en un menor consumo interno (aproximadamente 500 μA con una carga de 10 mA) y una mayor tolerancia a breves ráfagas de voltaje de entrada. Si planea trabajar con un voltaje de no más de 20 V, puede usar un análogo aún más económico de LP2950-5.0.

LP2950-5.0 30 . 24 . - , , , , . 50%, 100%.

El transformador no se muestra en el diagrama, pero su devanado está conectado a los pines TR1 y TR2.

Como elemento clave para cambiar la carga, se usa un transistor MOS de canal P de baja corriente 2SJ196 (una corriente de hasta 1 A debería ser suficiente para cualquier lámpara LED), pero se puede usar cualquier otra adecuada para la distribución de pines, corriente máxima y voltaje de drenaje máximo.

Además del controlador y la clave de los elementos activos, se utilizan dos transistores. Se necesita uno para controlar el obturador de la llave, que funciona bajo el voltaje de la fuente de emergencia. El segundo actúa como una señal de amplificador desde la salida del transformador de corriente.

En este punto, podría usar amplificadores operacionales, pero en términos de detalles la ganancia fue mínima, y ​​tendría que olvidarse de trabajar en frecuencias superiores a varios cientos de kilohercios.

No es la señal amplificada del propio transformador la que se alimenta al ADC, sino su envolvente, que se puede medir con una sola muestra, y no con la digitalización de "transmisión" durante algún tiempo. Para aislar la envoltura, se utilizan dos diodos Schottky, conectados de acuerdo con el circuito de duplicación de voltaje. Tal inclusión forma un detector de amplitud clásico, en el que la caída de voltaje a través de los diodos se compensa en gran medida.

El principio de funcionamiento del sensor es simple. Primero, considere el algoritmo de acciones necesarias para medir la corriente en el cable.

En el modo de medición actual, el pin PB0 se pone en modo de salida y está conectado a tierra por un cero lógico. Esto evita que se envíen señales del controlador al punto TR1. En paralelo, se realizan las mismas acciones en el pin PB3, como resultado de lo cual la salida superior del condensador C2 está conectada a tierra. Este condensador junto con la resistencia R1 crea un filtro de paso bajo con una frecuencia de corte de aproximadamente 1500 Hz. Gracias a este filtro, el papel de varios ruidos de alta frecuencia en la formación de la señal medida se reduce considerablemente.

Luego se aplica un nivel alto a PB4 para alimentar el amplificador de señal. Después de completar los transitorios, se amplifica una corriente de 50 Hz desde la salida del transformador y llega al rectificador, donde carga el condensador C8.

La carga del condensador C8 se mide usando ADC1 y del valor de voltaje obtenido se saca una conclusión sobre la corriente "primaria" que fluye a través del transformador.

La detección activa se realiza de manera diferente. Primero, el pin PB0 se traduce en un solucionador PWM, y se le aplica una señal con una frecuencia de cientos de kilohercios a unidades de megahercios. Esta señal es algo atenuada por un divisor resistivo y alimentada al devanado del transformador de corriente en el punto TR1. El condensador C1, junto con un brazo superior del divisor R4, crea un filtro de paso bajo con una frecuencia de corte de aproximadamente 1,5 MHz, que reduce el nivel de armónicos de alta frecuencia de los pulsos rectangulares.

Después de pasar por el devanado del transformador, la señal de sondeo del punto TR2 llega al mismo amplificador y detector, del mismo modo al final cargando el condensador C8 a un voltaje proporcional a la carga en el circuito del transformador "externo". Del mismo modo, la carga del condensador se mide utilizando el ADC del microcontrolador.

Ahora explicaciones para algunos "flojos".

La resistencia R5 está diseñada para limitar el voltaje en la puerta del interruptor de alimentación, que para MOSFET de bajo voltaje generalmente no debe exceder los 20 V.En mi caso, la red de CC tiene un voltaje de hasta 30 V, lo que determinó la necesidad de un divisor 1: 3, que se obtiene junto con R3. Cuando se alimenta desde una fuente de menos de 20 V, no se necesita la resistencia R5 (reemplazada por un puente).

Los condensadores C4 y C5 están conectados en paralelo para lograr una capacitancia de 2 μF. Este par de condensadores es notable porque debe transmitir señales de frecuencias bajas y altas igualmente bien. Aquí sería posible utilizar una conexión paralela de un condensador electrolítico de varios microfaradios y una cerámica de cien o dos nanofaradios, pero un "electrolito" de tan pequeña capacidad no proporciona una ganancia de tamaño en comparación con las "cerámicas" de microfaradios. Es cierto que no era posible comprar un condensador de cerámica a 2 microfaradios, así que puse dos de ellos iguales.

, 50 2 , . , . . 100 , , . .

Las resistencias R4 y R1 forman una división de voltaje, que iguala más o menos el voltaje alterno de cinco voltios en la salida PWM con el voltaje de salida del transformador de corriente.

El condensador C8, como se mencionó anteriormente, acumula el voltaje a medir. Es mejor si es un condensador de alta calidad con una corriente de fuga mínima.

Mención especial merece el "peine" TP1 / TP2 de dos pines conectado a la pata de reinicio del microcontrolador. Estos contactos se utilizan no solo para reiniciar, sino también para ingresar al modo de calibración, que se describe a continuación. Simplemente, después de la implementación de toda la lista de deseos, el controlador ya no tenía pines libres, y la necesidad de agregar un control simple apareció durante la depuración del firmware. Así que tuve que usar el pie de reinicio del controlador para este propósito.

«» AVR RESET GPIO. , . , . , , , , RESET.

En general, el circuito resultó ser bastante simple, y toda la "magia" se implementa en el firmware del microcontrolador. Sin embargo, después de la fabricación del prototipo, resultó que la capacidad de cableado para el funcionamiento confiable de la "sonda" a menudo no es suficiente. La diferencia en la corriente a través del transformador simplemente resulta comparable con el nivel de interferencia y el funcionamiento del circuito no es confiable.

Por lo tanto, tuve que abandonar el anillo de ferrita que colgaba libremente de los cables y agregar un circuito de alto voltaje directamente a la placa en una nueva revisión del dispositivo, para facilitar la tarea de sondeo.

El punto aquí es agregar un condensador dedicado, encendido para que la forma más corta de cerrar la ruta a la corriente de RF a través de los contactos del interruptor.


El capacitor C10 debe estar diseñado para un voltaje de al menos kilovoltios, y su capacitancia debe elegirse de acuerdo con un principio de compromiso para que la confiabilidad de la operación sea suficiente para el uso práctico y que la corriente capacitiva parásita a través de la lámpara no sea demasiado grande. En la práctica, puede intentar "jugar" con esta denominación, si es necesario.

En cualquier caso, un interruptor equipado con dicho sensor ya no se puede percibir como ideal. Más bien, es similar a un interruptor con un indicador, por lo tanto, en primer lugar, puede causar luz parásita o parpadeo de lámparas LED de baja calidad, y en segundo lugar, puede causar una descarga eléctrica, aunque no es fuerte. Por lo tanto, nunca necesita trabajar con cableado de iluminación, confiando solo en el interruptor en la pared, siempre apague el "interruptor" en la entrada.

Y, dado que todavía tenía que agregar parte de la red de CA a la placa, agregué dos interruptores de desconexión allí, lo que no permitirá que la corriente de prueba de alta frecuencia pase al cableado. El valor práctico de la frecuencia del voltaje de sondeo puede alcanzar varios MHz y yo, como radioaficionado, estoy harto de la idea de aumentar la cantidad de interferencia en la red con mis propias manos.

Los cebadores L1 y L2 deben ser eléctricos, enrollados con un cable de grosor notable en los núcleos de tipo mancuernas o anillos. No se pueden utilizar los choques de señal en el diseño axial de "resistencia".

El giro principal del transformador de corriente ahora es un trozo de cable enhebrado a través del anillo y soldado a los puntos TR3 y TR4 en el tablero. Es mejor si este cable está blindado, mientras conecta la pantalla a TR5 y TR6 en ambos lados del anillo.

TR6 , . - , . , .


El código de firmware y el archivo HEX ensamblado se adjuntan al final del artículo junto con el circuito y el diseño de la placa de circuito impreso.

El algoritmo del detector sintonizado es simple. Una vez cada tres segundos, el controlador se despierta del sueño profundo, toma medidas y, si es necesario, cambia el estado de la tecla de control en una dirección u otra. Por lo tanto, la reacción a un cambio en la posición del interruptor puede tener un retraso de hasta tres segundos. No es muy conveniente, pero esto se hace, en primer lugar, para ahorrar energía de la fuente de respaldo y, en segundo lugar, para reducir significativamente el intervalo de sondeo no permite la duración de los transitorios en diferentes etapas de medición. El intervalo mínimo puede considerarse igual a un segundo, pero el circuito estará en modo de consumo activo casi todo el tiempo.

Bueno, en conclusión, sobre la configuración. Debido al hecho de que diferentes sensores tienen que funcionar en condiciones completamente diferentes de acuerdo con la corriente consumida por la lámpara, la longitud y otras características de cableado, el nivel de interferencia y similares, fue imposible colocar un conjunto universal de parámetros adaptativos en el firmware. Por lo tanto, cada sensor después de la instalación requiere una sola calibración en el sitio.

El sensor ingresa al modo de calibración cada vez que se enciende, mientras no hay datos de calibración, o después de cerrar los contactos TP1 y TP2. La entrada en la primera etapa de calibración se indica mediante una lámpara de emergencia que parpadea cinco veces.

Después de parpadear cinco veces, se dan 7,5 segundos para colocar el interruptor en la posición "apagado", si se encendió antes. Después de este tiempo, se mide el nivel de interferencia siempre presente en la red de CA. El valor obtenido se utiliza como punto de partida para mediciones en el ciclo de trabajo. También en este momento, el disyuntor se detecta a diferentes frecuencias para la posterior selección de la frecuencia más "de contraste".

Luego, comienza la segunda etapa de calibración y la lámpara de emergencia parpadea dos veces. Se dan 7,5 segundos de tiempo para cambiar el interruptor a la posición "encendido" y, después del tiempo de espera, el programa mide la corriente consumida por la lámpara. Si la lámpara tiene varios niveles de brillo, luego de encenderla, debe cambiarla inmediatamente al mínimo, para que en el futuro el sensor funcione correctamente con cualquiera de los niveles disponibles.

El comienzo de la tercera y última etapa de calibración está marcado por un parpadeo de tres veces de la lámpara de emergencia y requiere que el interruptor permanezca en el modo "encendido", y que la red de iluminación se desenergice a un nivel más alto (es decir, con el disyuntor principal o secundario en el panel) a más tardar a través de los mismos 7.5 segundos En este caso, se realiza un segundo sonido del interruptor automático ya activado a diferentes frecuencias y teniendo en cuenta los valores obtenidos en la primera etapa, se selecciona la frecuencia en la que la diferencia de corriente a través del interruptor de encendido y apagado es máxima.

La finalización exitosa de la calibración se indica mediante un solo parpadeo de la lámpara de emergencia y, si la red de iluminación después de la tercera etapa aún está desenergizada, encendiendo la iluminación de emergencia en el siguiente ciclo de operación de sondeo.

Si los valores medidos de corrientes y resistencias en diferentes condiciones están demasiado cerca y no pueden usarse para una detección confiable, la calibración falla. En este caso, la lámpara de iluminación de emergencia parpadea dos veces cuando la posición del interruptor no tiene éxito, o tres veces cuando el consumo de la lámpara de iluminación estándar es demasiado bajo.

En caso de falta de voluntad persistente del sensor para calibrar con un parpadeo doble en la final, debe intentar aumentar la capacidad de C10.

Total


El dispositivo resultó ser bastante simple, lo suficientemente compacto como para caber en una caja de interruptores, pero no quiere decir que sea muy fácil de configurar. Por supuesto, no se basa en el componente de una "casa inteligente" moderna, porque no tiene 5G, control en la nube e incluso no se proporciona WiFi banal con GPS. Sin embargo, ocho de estos dispositivos realizan su única función, y no se requiere nada más de ellos en condiciones de apagón.

Código fuente del firmware (Atmel Studio 7)
#define F_CPU 9600000 //   (  : avrdude.exe -U lfuse:w:0x7a:m -U hfuse:w:0xff:m)

#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/sleep.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/eeprom.h>

//#define PROTEUS

typedef unsigned char bool; //   
#define true  (0 == 0)
#define false (0 != 0)

#define MAX_U10BIT 0b0000001111111111 //      

#define INTERVAL         3   //  , 
#define CUR_MINIMAL_DIFF 50  //      , LSB
#define RES_MINIMAL_DIFF 50  //      , LSB
#define FREQ_DIV_OFFSET  2   //     
#define FREQ_MAXIMAL_DIV 6   //     

EEMEM unsigned int  EEPROM_cur_edge;
EEMEM unsigned int  EEPROM_res_edge; 
EEMEM unsigned char EEPROM_frequency_dividor;

unsigned int cur_edge, res_edge; //   ,   EEPROM    
unsigned char frequency_dividor; //   ,   EEPROM    
unsigned char clk = 0; //   watchdog
bool tp_reset = false; //   TP1  TP2

//   
static void init_vars(void) {
  if(MCUSR & (1 << EXTRF)) { // ,       TP1  TP2
    tp_reset = true;
    MCUSR &= ~(1 << EXTRF); //  EXTRF       ,   
  }
}

//  
static void init_pins(void) {
  DDRB |= (1 << PB0) | (1 << PB1) | (1 << PB2) | (1 << PB4); //       
}

//    watchdog
static void init_interrupts(void) {
  sleep_enable(); //   

  WDTCR = (1 << WDCE) | (1 << WDE); //  watchdog
  WDTCR = (1 << WDTIE) | WDTO_1S; // watchdog      ,  1 

  sei(); //  
}

//   
void init_settings(void) {
  cur_edge = eeprom_read_word(&EEPROM_cur_edge); //   
  res_edge = eeprom_read_word(&EEPROM_res_edge); //   
  frequency_dividor = eeprom_read_byte(&EEPROM_frequency_dividor); //   
}

//   
static void toggle_load(bool state) {
  if(state) {
    PORTB |= (1 << PB1);
  } else {
    PORTB &= ~(1 << PB1);
  }
}

//  
static void blink_load(unsigned char count) {
  for(unsigned char i = 0; i < count; ++i) {
    _delay_ms(200);
    toggle_load(true);
    _delay_ms(200);
    toggle_load(false);
  }
}

//   (   )
static void stop(void) {
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  while(true) sleep_cpu();
}

//   
static void toggle_amp(bool state) {
  if(state) {
    PORTB |= (1 << PB4); //     PB4
    _delay_ms(250);      //       200 .
  } else {
    PORTB &= ~(1 << PB4);
  }
}

//  
static void toggle_lpf(bool state) {
  if(state) {
    DDRB |= (1 << PB3); //  PB3    (  "0")     C2
  } else {
    DDRB &= ~(1 << PB3); //  PB3    ( )   C2  
  }
}

//    
static void toggle_gen(bool state) {
  if(state) {
    TCCR0A |= (1 << COM0A0) | (1 << WGM01); //    ( )    OC0A      OCR0A
#ifndef PROTEUS
    TCCR0B |= (1 << CS00); //    1
#else
    TCCR0B |= (1 << CS00) | (1 << CS02); //    1024
#endif
    OCR0A = FREQ_DIV_OFFSET + frequency_dividor; //   ,         OC0A
  } else {
    TCCR0A = 0; //  
  }
}

//  
static void toggle_adc(bool state) {
  if(state) {
    DDRB &= ~(1 << PB2); //  PB2    ( )
    ADMUX = 0b01 | (1 << REFS0); // PB2, 1.1v reference
    ADCSRA = (1 << ADPS0) | (1 << ADPS1) | (1 << ADPS2) | //       = 128 (75 )
             (1 << ADIE) |  //    
             (1 << ADEN);   //  
  } else {
    ADCSRA = 0; //  
    DDRB |= (1 << PB2); //  PB2    (  "0")   C8
    _delay_ms(50); //      C8
  }
}

//  
static unsigned int do_adc(void) {
  set_sleep_mode(SLEEP_MODE_ADC); //   "" 
  do {
    sleep_cpu(); //      ,      ,   
  } while(ADCSRA & (1 << ADSC)); //        ,  

  return ADC;
}

/*
//  
static void blink_bin(unsigned int value, unsigned char count) {
  for(unsigned char i = 0; i < count; ++i) {
    _delay_ms(1000);
    toggle_load(true);
    if(value & (1 << (count - i - 1))) {
      _delay_ms(500);
    } else {
      _delay_ms(50);
    }
    toggle_load(false);
  }
}
*/

//   
static unsigned int get_current(void) {
  unsigned int cur;

  toggle_lpf(true); //  
  _delay_ms(150);
  toggle_adc(true); //  
  _delay_ms(50); //    C8
  cur = do_adc(); //  
  toggle_adc(false);
  toggle_lpf(false);

  return cur;
}

//    
static unsigned int get_resistance(void) {
  unsigned int res;

  toggle_gen(true); //  
  _delay_ms(150);
  toggle_adc(true); //  
  _delay_ms(50); //    C8
  toggle_gen(false); //   ,   C8     
  res = do_adc(); //     
  toggle_adc(false);

  return MAX_U10BIT - res; //      ,      
}

//   
static bool is_current(void) {
  return (get_current() >= cur_edge);
}

//   
static bool is_toggled_on(void) {
  return (get_resistance() <= res_edge);
}

//  
static void do_main(void) {
  toggle_amp(true); //  

  if(is_current()) {
    toggle_load(false); //  ,  
  } else {
    if(is_toggled_on()) {
      toggle_load(true); //  ,  
    } else {
      toggle_load(false); //  ,  
    }
  }

  toggle_amp(false); //  
}

//    
static bool first_on(void) {
  return (frequency_dividor == 0xff); //   EEPROM   0xFF,        FREQ_MAXIMAL_DIV
}

//  
static void calibrate(void) {
  unsigned int cur_off, cur_on, res_off, res_on, res_on_tmp, res_off_array[FREQ_MAXIMAL_DIV + 1], diff, max_diff, frequency_dividor_tmp;

  blink_load(5); //    ,    
  _delay_ms(7500); //      

  toggle_amp(true); //  

  cur_off = get_current(); //      ( )

  //      
  for(frequency_dividor = 0; frequency_dividor <= FREQ_MAXIMAL_DIV; ++frequency_dividor) {
    res_off_array[frequency_dividor] = get_resistance();
  }

  blink_load(2); //     
  _delay_ms(7500); //      

  cur_on = get_current(); //     

  blink_load(3); //     
  _delay_ms(7500); //      

  
  res_off = MAX_U10BIT;
  res_on = MAX_U10BIT;
  frequency_dividor_tmp = 0;
  max_diff = 0;
  //      
  for(frequency_dividor = 0; frequency_dividor <= FREQ_MAXIMAL_DIV; ++frequency_dividor) {
    res_on_tmp = get_resistance();

    //   ,      
    if(res_off_array[frequency_dividor] > res_on_tmp) {
      diff = res_off_array[frequency_dividor] - res_on_tmp;
      if(diff > max_diff) {
        res_off = res_off_array[frequency_dividor];
        res_on = res_on_tmp;
        frequency_dividor_tmp = frequency_dividor;
        max_diff = diff;
      }    
    }
  }
  frequency_dividor = frequency_dividor_tmp;

  toggle_amp(false); //  
  
  if(cur_on > cur_off + CUR_MINIMAL_DIFF) { 
    cur_edge = cur_off + (cur_on - cur_off) / 2; //    ,     
 
    if(res_on + RES_MINIMAL_DIFF < res_off) {
      res_edge = res_off - (res_off - res_on) / 2; //    ,      

      //   
      eeprom_write_word(&EEPROM_cur_edge, cur_edge);
      eeprom_write_word(&EEPROM_res_edge, res_edge);
      eeprom_write_byte(&EEPROM_frequency_dividor, frequency_dividor);
      
      blink_load(1); //  
    } else {
      blink_load(2); //    
      if(first_on()) stop();
    }
  } else {
    blink_load(3); //    
    if(first_on()) stop();
  }
}

ISR(WDT_vect) {
  WDTCR |= (1 << WDTIE); //    watchdog   ""    
}

EMPTY_INTERRUPT(ADC_vect); //     ,     

int main(void)
{
  init_vars();
  init_pins();       
  init_interrupts(); 
  init_settings();

  if(tp_reset || first_on()) {
    calibrate(); //          
  }

  //  
  while(true) {
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
    sleep_cpu(); //   watchdog

    if(++clk >= INTERVAL) {
      do_main(); //  
      clk = 0;
    }
  }
}


Archivo con diagrama, cableado y el proyecto completo de Atmel Studio 7

All Articles