Cuente la cantidad de destellos en un LED amarillo con 1 cable

1

Me gustaría contar la cantidad de flashes generados por un LED amarillo en mi medidor de potencia Schneider Me4ZR. Este medidor de potencia produce 100 flashes por cada kWh. Me gustaría usar el protocolo One Wire para contar a través de mi PC. [EDITAR] Mi consumo es en promedio alrededor de 4 pulsos por minuto. Ya tengo una red de trabajo de 1 cable en mi casa que consta de sensores de temperatura, sensores de contacto y medidores de voltaje para mediciones de nivel de luz. Luego, la red se conecta a mi PC a través de enlace . Está funcionando bien para todos los demás sensores, por lo que no está causando ningún problema. Como se mencionó, también se cuentan los impulsos de luz cuando son más fuertes / más largos.

He creado un contador de un cable a partir de piezas que se comportan como este contador .

Luego construí un circuito de detección de luz separado idéntico a este:

perohereemplazadoelLEDconunreléde5Vyheprotegidoeltransistorconundiodoconectadoalospinesdelrelécomosemuestraaquí: descripción http://www.pcbheaven.com/circuitpages/images/darkswitch_1245000373.jpg . He conectado este circuito al contador de 1 cable.

La razón por la que elegí un relé en lugar de otro transistor fue que con un transistor obtuve demasiados clics aleatorios cuando se encendió el led. Con un relé puedo activar / desactivar un contacto limpio.

El relé cambia correctamente cuando se expone a una bombilla y el contador se incrementa como se esperaba. Todo bien hasta ahora.

Cuando coloco el fotodiodo delante del LED, no funciona bien. Todavía puedo escuchar el clic del relé pero el contador no se incrementa.

Supongo que la duración del pulso es demasiado corta. Supongo que una solución será aumentar la duración del pulso.

¿Cómo puedo comprobar cuál es la causa del problema y, si la respuesta es extender la duración del pulso, cómo puedo hacerlo fácilmente?

    
pregunta dancri77

1 respuesta

4

Retroceda algunas capas y vuelva a su problema original, que consiste en contar los impulsos emitidos por un LED y poder acceder a la información de conteo en una PC.

Aparentemente, obtienes un pulso por cada 10 W-h de uso de electricidad. Incluso si estuviera usando 10 kW (eso es mucho para una casa), obtendría un pulso cada 3,6 segundos. No hay problema allí. Sin embargo, tienes que determinar cuánto duran estos pulsos. Eso determinará cuán sensible es hacer el circuito y permitirá cierta reducción de ruido.

Comenzaría con un sensor de luz, acondicionaría adecuadamente la señal de nivel de luz para alimentarla a un microcontrolador, luego la mayoría del resto es firmware. Digamos que determina que los pulsos tienen una longitud de 1/4 segundo (250 ms). Probablemente muestrear el sensor de luz cada 1 ms en el micro, luego hacer un poco de filtrado buscando un pulso cuadrado de la duración esperada. Incluso solo una detección de umbral basada en un ambiente reciente con un poco de histéresis probablemente sea lo suficientemente buena.

De todos modos, obtienes una señal dentro del micro por cada pulso. Haz que se incremente un contador. A continuación, deberá enviar el valor del contador a la PC a pedido de alguna manera. Lo más sencillo fue usar serial. Use algo como un chip MAX-232 para convertir entre el UART del micro y el puerto COM de la PC.

No veo ningún punto en el uso de un bus de 1 cable en cualquier parte de este sistema. Simplemente no hay necesidad de uno, y la PC no puede hablar de forma nativa de 1 cable de todos modos.

Ciertamente no hay razón para usar un relé en ningún lugar aquí. Un relé causará fallas, tomará una potencia significativa y su salida rebotará. No necesita aislamiento porque solo está interceptando la luz del medidor de potencia, lo que en efecto le proporciona aislamiento óptico de la línea eléctrica.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas