Tabla de contenido:
- Paso 1: Modulación de ancho de pulso en software
- Paso 2: el hardware y los componentes necesarios
- Paso 3: el software restante y el resultado
Video: Varias velas electrónicas: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Las velas electrónicas se han publicado muchas veces en Instructables, ¿por qué esta?
En casa tengo estas pequeñas casitas navideñas semitransparentes que tienen una luz LED y una pequeña batería. Algunas casas tienen LED con efecto de vela y algunas tienen LED que están encendidos. Las baterías pequeñas se agotan relativamente rápido y como quería tener un efecto de vela en todas las casas, decidí convertirlo en un proyecto PIC. Por supuesto, también puede convertirlo en un proyecto Arduino.
Entonces, ¿qué hace que esta vela electrónica sea especial? PIC y Arduino tienen todos hardware de modulación de ancho de pulso (PWM) a bordo que se puede usar para crear un efecto de vela usando un LED, pero en mi caso quería tener 5 velas electrónicas independientes usando un controlador y eso no está presente, al menos no que yo sepa La solución que utilicé fue hacer estas cinco señales PWM independientes completamente en software.
Paso 1: Modulación de ancho de pulso en software
La modulación por ancho de pulso se ha descrito varias veces, p. Ej. en este artículo de Arduino:
PIC y Arduino tienen hardware PWM especial a bordo que simplifica la generación de esta señal PWM. Si queremos hacer una o más señales PWM en software, necesitamos dos temporizadores:
- Un temporizador que se usa para generar la frecuencia PWM
- Un temporizador que se utiliza para generar el ciclo de trabajo PWM
Ambos temporizadores se generan e interrumpen cuando se completan, por lo que el manejo de la señal PWM se realiza por completo con interrupción. Para la frecuencia PWM utilizo el temporizador 0 del PIC y dejo que se desborde. Con un reloj de oscilador interno de 8 MHz y una preescala de 64, la fórmula es: Fosc / 4/256/64 = 2.000.000 / 256/64 = 122 Hz u 8, 2 ms. La frecuencia debe ser lo suficientemente alta para que el ojo humano no pueda detectarla. Una frecuencia de 122 Hz es suficiente para eso. Lo único que hace esta rutina de interrupción del temporizador es copiar el ciclo de trabajo para un nuevo ciclo PWM y encender todos los LED. Hace esto para los 5 LED de forma independiente.
El valor del temporizador para manejar el ciclo de trabajo de PWM depende de cómo hagamos el efecto de vela. En mi enfoque, simulo este efecto aumentando el ciclo de trabajo con un valor de 3 para aumentar el brillo del LED y lo disminuyo con un valor de 25 para disminuir el brillo del LED. De esta manera obtienes un efecto parecido a una vela. Como utilizo un valor mínimo de 3, el número de pasos para controlar el ciclo de trabajo completo con un byte es 255/3 = 85. Esto significa que el temporizador del ciclo de trabajo PWM tiene que funcionar con una frecuencia de 85 veces la frecuencia del Temporizador de frecuencia PWM que es 85 * 122 = 10.370 Hz.
Para el ciclo de trabajo PWM utilizo el temporizador 2 del PIC. Este es un temporizador con recarga automática y utiliza la siguiente fórmula: Periodo = (Recarga + 1) * 4 * Tosc * Valor de preescala del Timer2. Con una recarga de 191 y una preescala de 1 obtenemos un período de (191 + 1) * 4 * 1 / 8.000.000 * 1 = 96 us o 10.416 Hz. La rutina de interrupción del ciclo de trabajo de PWM verifica si el ciclo de trabajo ha pasado y apaga el LED para el cual se completa el ciclo de trabajo. Si no se supera el ciclo de trabajo, disminuye un contador de ciclo de trabajo con 3 y finaliza la rutina. Hace esto para todos los LED de forma independiente. En mi caso, esta rutina de interrupción toma alrededor de 25 us y como se llama cada 96 us, ya se usa el 26% de la CPU para administrar el ciclo de trabajo de PWM en el software.
Paso 2: el hardware y los componentes necesarios
El diagrama esquemático muestra el resultado final. Aunque solo controlo 5 LED de forma independiente, agregué un sexto LED que se ejecuta junto con uno de los otros 5 LED. Dado que el PIC no puede controlar dos LED en un pin de puerto, agregué un transistor. La electrónica es alimentada por un adaptador de CC de 6 voltios / 100 mA y utiliza un regulador de voltaje de baja caída para producir 5 voltios estables.
Necesita los siguientes componentes para este proyecto:
- 1 microcontrolador PIC 12F615
- 2 condensadores cerámicos: 2 * 100nF
- Resistencias: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
- 6 LED naranja o amarillo, alto brillo
- 1 transistor BC557 o equivalente
- 1 condensador electrolítico 100 uF / 16 V
- 1 regulador de voltaje de baja caída LP2950Z
Se puede construir el circuito en una protoboard y no requiere mucho espacio, como se puede ver en la imagen.
Paso 3: el software restante y el resultado
La parte restante del software es el bucle principal. El bucle principal aumenta o disminuye el brillo de los LED ajustando el ciclo de trabajo de forma aleatoria. Dado que solo incrementamos con un valor de 3 y decrementamos con un valor de 25, tenemos que asegurarnos de que las reducciones no ocurran con tanta frecuencia como los incrementos.
Como no usé ninguna biblioteca, tuve que hacer un generador aleatorio usando un registro de desplazamiento de retroalimentación lineal, ver:
en.wikipedia.org/wiki/Linear-feedback_shif…
El efecto de la vela está influenciado por la rapidez con que se cambia el ciclo de trabajo de PWM, por lo que el bucle principal usa un retraso de aproximadamente 10 ms. Puede ajustar este tiempo para cambiar el efecto de vela según sus necesidades.
El video adjunto muestra el resultado final donde usé una tapa sobre el LED para mejorar el efecto.
Usé JAL como lenguaje de programación para este proyecto y adjunté el archivo fuente.
Diviértete haciendo este Instructable y esperando tus reacciones y resultados.
Recomendado:
La banda E: arte hecho a partir de piezas electrónicas de desecho: 5 pasos
La banda E - Arte hecho a partir de piezas de electrónica de desecho: Bueno … tenía algunas resistencias adicionales (¡muchas!) Y otras partes. Así que … hice una obra de arte usando estos desechos de circuito
Manijas de grifo electrónicas: 7 pasos
Mangos electrónicos para grifos: Mangos para grifos de cerveza (también sidra) con una pantalla electrónica que indica el nombre de la cerveza, el ABV y una descripción de la cerveza. Se ingresa el nombre de la cerveza, el ABV y la descripción en una página web. Puede conectarse a la manija del grifo a través de su red inalámbrica O c
¡Cómo obtener piezas electrónicas GRATIS !: 7 pasos (con imágenes)
¡Cómo obtener piezas electrónicas GRATIS !: El costo de comprar piezas electrónicas para nuestros proyectos de Radio Shack o Maplin es bastante caro hoy en día … Y la mayoría de nosotros tenemos un presupuesto limitado para comprar cosas. secretos de cómo obtener piezas electrónicas gratis, podrías ser
Muestras electrónicas gratuitas: 12 pasos (con imágenes)
Muestras electrónicas gratuitas: ¿Sabía que algunos fabricantes y proveedores regalarán algunas muestras gratuitas de sus productos a clientes e ingenieros para probarlos en sus proyectos? Son algunas reglas que debe conocer antes de comenzar a obtener muestras gratuitas de la compa
Muestras electrónicas gratuitas: 5 pasos
Muestras electrónicas gratuitas: ¿sabía que algunas empresas le enviarán productos electrónicos gratuitos como leds de forma gratuita? aquí están los sitios que utilicé y algunos que recogí en el camino