Modulación de ancho de pulso: ¿cómo configurar el ciclo de trabajo usando dos fuentes variables?

3

Para un proyecto de pasatiempo, estoy tratando de construir un circuito eléctrico en el que se pueda determinar el brillo de dos LED utilizando dos sensores: uno para luz (un LDR) y otro para sonido (se prefiere un micrófono, se prefiere electreto) . Después de la construcción del circuito, me gustaría poder cambiar el brillo máximo del LED, así como la cantidad de brillo que determina la luz o el sonido. En la imagen suministrada, se muestran las características del sistema.

Las preguntas menos triviales para construir este circuito es cómo combinar las dos "entradas" (sonido y luz) para determinar un ciclo de trabajo, así como cómo establecer el porcentaje de influencia de ambas fuentes. Teniendo en cuenta lo siguiente:

  • max = el ciclo de trabajo máximo enviado a los LED
  • l = la cantidad de luz observada
  • s = la cantidad de sonido observada
  • p = el porcentaje de influencia de la luz en el ciclo de trabajo total

Me gustaría saber qué circuito satisfaría las siguientes condiciones:

  • $$ \ text {Duty Cycle} = \ text {max} ((p (1 − l) + (1 − p) s) $$

Además, la fuente de alimentación debe ser lo más pequeña posible (por ejemplo, 2 baterías AA) y tener una duración de 50 horas.

    

2 respuestas

3

El circuito más simple es alimentar por separado las señales del sensor de sonido y luz en un microcontrolador con un A / D, calcular los brillos de LED deseados y luego generar los resultados como PWM.

Hay muchos micros que tienen al menos dos entradas A / D y dos salidas PWM. Si se tratara de un producto de volumen, probablemente comenzaría mirando la línea PIC 16. Si esto es único, usa lo que tengas alrededor o con el que te sientas cómodo. Esto sería muy fácil de hacer en uno de los PIC de 16 bits o dsPIC, como un 24F. Le resultará difícil encontrar uno que no pueda ejecutarse desde su oscilador interno, tenga dos o más entradas A / D y al menos dos salidas PWM básicas (llamadas Comparación de salida en estas partes).

Los parámetros de su algoritmo que mencione serían constantes de tiempo de compilación en el archivo de inclusión principal. Cambiarlos sería tan simple como cambiar los valores en el archivo de inclusión, luego volver a crear y volver a colocar el código en el micro. Si desea ser más sofisticado, puede implementar un protocolo UART que permita cambiar los parámetros sobre la marcha.

    
respondido por el Olin Lathrop
1

Para una precisión de tipo del 5-10%, este circuito sería lo suficientemente fácil para jugar.

Tiene un suministro de 15 V, por lo que dos celdas no van a funcionar. La multiplicación de ganancias (p y (1-p)) en el bote es solo aproximada. La salida es 0..1V (y más allá) para 0..100% PWM (Creo que desea que se sature a 100%? A menudo no se requerirían más circuitos.

En general, una solución \ $ \ mu \ $ C sería más limpia y probablemente con menos potencia, pero sería fácil jugar con ella sin necesidad de programación.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas