Mostrando entradas con la etiqueta PWM. Mostrar todas las entradas
Mostrando entradas con la etiqueta PWM. Mostrar todas las entradas

viernes, 13 de enero de 2017

Control del brillo de una bombilla mediante un Dimmer AC y Bluetooth



Gracias a este POST vamos a aprender a controlar el brillo de una bombilla convencional de 220VAC mediante un Dimmer AC, como ya hicimos en un POST anterior, aunque en este caso vamos a modificar o variar el pulso PWM, que controla el Dimmer AC, desde una APP Android a través de Bluetooth y no desde el monitor serie como ya vimos con anterioridad. Ahora bien, para que nuestro Arduino pueda recibir el valor del PWM a través de Bluetooth tenemos que añadirle a nuestro proyecto un módulo Bluetooth HC-05, descrito y configurado en este POST, aunque lo debemos de conectar a nuestro Arduino como se muestra en la siguiente tabla. Cabe recordaros que la velocidad de comunicación (BAUDIOS) configurada mediante comandos AT del módulo Bluetooth HC-05, que en mi caso son 38400 bps (por defecto), debe coincidir con la velocidad de comunicación serie para el módulo Bluetooth que incluimos dentro de la programación que cargaremos a nuestro Arduino UNO (BT.begin(38400);).

  Tabla de conexiones entre nuestro Arduino y el módulo HC-05

Como ya sabemos de un POST anterior, un Dimmer AC es un atenuador de intensidad capaz de regular los 220VAC de su entrada para que su salida ofrezca un valor de 220VAC o inferior, que es donde conectaremos la bombilla para así poder controlar su brillo variando el pulso PWM entregado a través de Bluetooth. A continuación os muestro una tabla donde se relaciona directamente el valor  de la señal PWM con el porcentaje de atenuación del Dimmer y el porcentaje de brillo de la bombilla.

  Diagrama de funcionamiento del Dimmer AC

Como se puede observar en el diagrama anterior, la atenuación del valor de la entrada del Dimmer AC respecto de su salida es inversamente proporcional al brillo de la bombilla, es decir, a mayor atenuación de los 220VAC de la entrada del Dimmer AC obtenemos menor voltaje en la salida del mismo (menor brillo de la bombilla) y viceversa. A continuación os muestro las conexiones que debemos realizar en el Dimmer AC para que nuestro sistema funcione tal y como se ha descrito.

Tabla de conexiones del Dimmer AC

Una vez realizadas las oportunas conexiones de todo el sistema lo primero que tenemos que hacer es compilar y cargar el programa que tenemos en la descarga, en nuestro Arduino, para posteriormente instalar la aplicación "1 Channel Dimmer Bluetooth " que nos podemos descargar del siguiente enlace. Para instalar la APP en nuestro Smartphone, simplemente descomprimimos la carpeta descargada y copiamos el archivo “1CH_Dimmer_Bluetooth.apk” dentro de la tarjeta SD, para posteriormente abrir el explorador de archivos de nuestro Smartphone, buscar la ruta del archivo copiado y ejecutar el archivo dándole todos los permisos que sean necesarios para su instalación.

  Aplicación Android “1 Channel Dimmer Bluetooth”

Una vez instalada la aplicación debemos de realizar una serie de procesos como se muestra en el siguiente vídeo para poder vincular y conectar el módulo Bluetooth HC-05 a nuestro Smartphone y así poder utilizar la aplicación para enviar el valor del PWM mediante Bluetooth.



Si pulsamos el botón “ON” de la APP se envía a través de Bluetooth el valor  “90” (Bombilla completamente encendida) y si por el contrario pulsamos el botón “OFF” se envía el valor “14” (Bombilla completamente apagada).  Para valores intermedios del pulso PWM (entre 14 y 90), es decir, para variar el brillo de la bombilla, tenemos que ir pulsando sobre la barra central y nunca arrastrar el marcador, puesto que si lo hacemos, el sistema quedará bloqueado necesitando un reinicio para volver a su funcionamiento normal.  Si el valor enviado a través de la APP es superior a 90 es considerado por el Dimmer AC en todos los casos como 90, gracias a la programación que le cargamos a nuestro Arduino, y si es inferior a 14 es considerado siempre como 14. Para poder observar el valor del PWM que le estamos mandando al Dimmer AC a través de la APP en  cada momento simplemente tendremos que abrir el monitor serie del IDE de Arduino como ya lo hemos realizado en múltiples ocasiones y comenzar a enviar valores PWM desde la APP.
  Monitor serie


Lista de Materiales:



·         Arduino UNO Rev.3.

·         Cable USB tipo A-B.

·         Dimmer AC (50Hz/220V).

·         Módulo Bluetooth HC-05.

·         Casquillo portalámparas de PVC.

·         Bombilla de 28W/220VAC (vale cualquier bombilla de 220VAC).

·         Protoboard.

·         Cables de conexión.





Código del programa:

martes, 15 de marzo de 2016

Control del brillo de una bombilla a través de un Dimmer AC


Un Dimmer AC, también conocido como regulador o atenuador de intensidad, es un dispositivo de reducido tamaño cuya misión es la de regular el voltaje de entrada, 220 VAC en la mayoría de los casos,  para obtener a su salida otros voltajes menores o como mucho iguales. Este Dimmer AC puede funcionar sin necesidad de conectarle a un Arduino, gracias a que tiene integrado un microprocesador Atmel ATtiny85 configurable a través de programación ICSP,  aunque en este POST, le vamos a controlar a través de pulsos PWM enviados desde el monitor serie del IDE de Arduino.

 Dimmer AC

Gracias al MOC3023 (optoacoplador) del que dispone, se consigue separar la parte de control de la de potencia, para que no se queme ningún dispositivo debido a las corrientes transitorias que se puedan generar al manejar voltajes y corrientes elevados. El encargado de manipular la señal de entrada para adecuarla a la salida que nos interesa va a ser el TRIAC BTA316, es decir, va a ser el encargado de disminuir el valor eficaz del voltaje en la bombilla recortando la señal en el momento de subida en el punto que queramos, por lo que si cortamos la señal cuando la onda llega a 60 V la bombilla se encenderá muy poco, mientras que si la cortamos al llegar a 200 V se encenderá casi al máximo. Esto se consigue mandando pulsos PWM desde nuestro Arduino hacia el Dimmer AC, que hagan que el TRIAC conmute para que deje pasar o no la corriente y por lo tanto generar así una tensión AC regulada en su salida. Si aplicamos un pulso PWM al Dimmer AC, de un valor a partir de 15 (33VAC), la bombilla comenzará a brillar, hasta llegar al valor 90 (220VAC) con el que la bombilla tendrá el máximo brillo posible. Estos pulsos PWM se los vamos a enviar desde el monitor serie del IDE de Arduino.
Funcionamiento del Dimmer AC

Incluyendo Dimmers AC en las  instalaciones eléctricas de nuestro hogar o negocio,  mejoraremos la eficiencia energética del lugar, permitiendo un menor gasto en la factura eléctrica, aumentaremos la vida útil de las bombillas y cuidaremos de la vista de los usuarios adecuando la intensidad luminosa a la situación en la que nos encontremos (viendo la TV, leyendo, cocinando, trabajando con el PC…). A través del monitor serie se va a ir mostrando el porcentaje de la señal de entrada que le estamos diciendo al Dimmer que deje pasar hacia la salida a través del TRIAC, como se puede observar en la siguiente imagen.
Monitor serie


Lista de Materiales:


·         Arduino UNO Rev.3.

·         Cable USB tipo A-B.

·         Dimmer AC (50Hz/220V).

·         Casquillo portalámparas de PVC.

·         Bombilla de 60W/220VAC.

·         Protoboard.

·         Cables de conexión.


Código del programa:





Video:

miércoles, 13 de enero de 2016

Composición de colores RGB con Arduino


Como se ha descrito en un POST anterior, RGB es un sistema de color basado en tres colores primarios Rojo, Verde y Azul (por sus siglas en inglés (R)ed, (G)reen, (B)lue) en el cual en base a la mezcla de estos 3 colores podemos representar otros colores.
Lo que en este POST se pretende conseguir, es que un LED RGB de cátodo común brille con un color determinado, que nosotros vamos a ajustar mediante tres potenciómetros, conectando el terminal central de cada uno a los terminales R, G y B del módulo RGB respectivamente (Los terminales de los extremos de todos los potenciómetros irán conectados a +5V y GND respectivamente).
Como el valor del potenciómetro va a variar entre 0 - 1023 (0 - 5V) cuando modificamos la posición del mando y nosotros necesitamos valores entre 0 – 255 (0 – 5V), lo que tenemos que hacer es dividir la lectura del potenciómetro entre 4 y aplicársela directamente al terminal del módulo RGB que corresponda.
Por ejemplo si queremos el color blanco (255, 255, 255), el valor de cada potenciómetro ha de ser 1023 (1023/4 = 255), es decir, se entregarán los 5V directamente en cada caso. A continuación podemos ver una muestra de colores RGB, aunque existen millones de combinaciones.
Muestra de colores RGB

Para comprobar el valor que está entregando cada potenciómetro disponemos del monitor serie del IDE de Arduino que nos irá mostrando los valores exactos que estamos aplicando a los terminales R, G y B del módulo RGB.

Monitor serie con valores RGB
 
A continuación os muestro los materiales necesarios para el montaje del proyecto, el diagrama de conexión y el programa en sí que deberemos cargar a nuestro Arduino UNO.
 
 
Lista de Materiales:

 
·         Arduino UNO Rev.3.
 
·         Cable USB tipo A-B.
 
·         LED RGB de  5mm (cátodo común).
 
·         3 Resistencias de 220Ω.
 
·         3 Potenciómetros lineales de 10KΩ.
 
·         Protoboard.
 
·         Cables de conexión.
 
NOTA: Si utilizamos un módulo RGB, no nos hace falta utilizar ni el LED RGB ni las resistencias, puesto que ya viene todo integrado en una pequeña placa.
 
 
Código del programa:
 

 
Video: 
 
 

martes, 12 de enero de 2016

Control de un LED RGB


El RGB es un sistema de color basado en tres colores primarios Rojo, Verde y Azul (por sus siglas en inglés (R)ed, (G)reen, (B)lue) en el cual en base a la mezcla de estos 3 colores podemos representar otros colores como se muestra a continuación.


Sistema de color RGB
 
Por lo tanto un LED RGB está formado internamente por tres diodos emisores de luz, uno rojo, uno verde y por último uno azul,  con el propósito de poder crear, en teoría, toda la gama de colores posibles, mezclando cada color con intensidades distintas.
Para este LED RGB es común utilizar el encapsulado de 5mm como en los LED comunes, agregando un terminal de conexión por cada color y uno para el nodo común. Este nodo común puede ser el cátodo o el ánodo (como se muestra a continuación), aunque en nuestro caso vamos a trabajar con un LED RGB de cátodo común.
 

Composición interna de un LED RGB

El control se recomienda que se haga por medio de PWM, de tal forma que si la resolución del PWM en cada color es de 8 bits, tendremos la posibilidad de generar más de 16 millones de colores distintos. De esta manera el LED RGB brillará con una intensidad de color determinada en base al voltaje que se le suministre a cada diodo LED interno,  pudiéndose representar cualquier color derivado de los primarios.


Control PWM del LED RGB


Para simplificar el circuito y las conexiones en general, vamos a utilizar un pequeño módulo RGB que integra el LED RGB y las oportunas resistencias, como el que a continuación se muestra.


Módulo RGB


Lista de Materiales:


·         Arduino UNO Rev.3.
 
·         Cable USB tipo A-B.
 
·         LED RGB de  5mm (cátodo común).
 
·         3 Resistencias de 220Ω.
 
·         Protoboard.
 
·         Cables de conexión.
 
NOTA: Si utilizamos un módulo RGB, no nos hace falta utilizar ni el LED RGB ni las resistencias, puesto que ya viene todo integrado en una pequeña placa.
 

Código del programa:
 



Video:



martes, 15 de diciembre de 2015

Control del brillo de un LED con un potenciómetro


Hoy os voy a mostrar cómo controlar la intensidad de brillo de un LED, conectado a una salida digital con PWM, utilizando para ello un potenciómetro y una entrada analógica de Arduino. Para que os hagáis una idea, un potenciómetro no es más ni menos que una resistencia variable formada por tres terminales, dos fijos (los de los extremos y uno móvil (el central), gracias a esto, indirectamente se puede controlar la intensidad de corriente que fluye por un circuito si se conecta en paralelo, o la diferencia de potencial al conectarlo en serie. Normalmente, los potenciómetros se utilizan en circuitos de poca corriente. Para circuitos de corrientes mayores, se utilizan los reóstatos que pueden disipar más potencias, aunque este último no es nuestro caso.
Diagrama de un potenciómetro


Para el control del brillo vamos a tener que utilizar una entrada analógica (A0) y una salida digital que tenga PWM (D0). Partimos de la premisa de que a la entrada digital le va a llegar un valor entre 0-5V según la posición que tenga el mando del potenciómetro. Arduino gracias a un convertidor A/D de 10 bits de resolución del que dispone, convierte el valor de tensión de entrada en un valor numérico entre 0 -1023, en definitiva al leer el pin analógico se obtiene un número.
Ese número lo tenemos que llevar a la salida digital dotada de PWM (Modulación de anchura de pulsos,) para que el convertidor D/A de 8 bits que también posee Arduino lo transforme en un valor de tensión aplicable en el circuito. Al tener menos resolución el convertidor D/A tenemos que dividir el número obtenido en la entrada entre 4 para que se ajuste a los valores con los que trabaja este convertidor (0-255) para poder obtener nuevamente valores de tensión entre 0-5V. En la siguiente imagen se muestra un sinóptico de como Arduino realiza esta conversión.

Sinóptico de conversión A/D à D/A

 
Hay que tener en cuenta que al LED no le pueden llegar los 5V que ofrece Arduino en su salida, puesto que se quemaría, por lo que tenemos que limitar la corriente que lo atraviesa mediante una resistencia de 220Ω, con lo que en sus extremos tendrá como máximo unos 2.2V.


Lista de Materiales:

·         Arduino UNO Rev.3.
·         Cable USB tipo A-B.
·         LED 5mm (de cualquier color).
·         Potenciómetro lineal de 10KΩ.
·         Resistencia de 220Ω.
·         Protoboard.
·         Cables de conexión.
 


Código del programa:




Video: