Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Amplía PWM de Arduino con TLC5940: Guía completa del driver LED de 16 canales

En este tutorial de Arduino aprenderemos a usar el Driver PWM TLC5940 usando la placa Arduino. El TLC5940 es un Driver LED de 16 Canales que proporciona salidas PWM y es perfecto para ampliar las capacidades PWM del Arduino. No solo LEDs, sino que con este IC también podemos controlar servos, motores DC y otros componentes electrónicos usando señales PWM.

Amplía PWM de Arduino con TLC5940: Guía completa del driver LED de 16 canales

Características Básicas

  • VCC = 3V a 5V
  • 16 Canales
  • Control PWM de 12 bits (4096 Pasos)
  • Capacidad de Corriente
    – 0 mA a 120 mA (VCC > 3.6V)
    – 0 mA a 60 mA (VCC < 3.6V)
  • Interfaz de Datos Serial
  • Tasa de Transferencia de Datos 30 MHz
  • Encadenamiento en cascada (Daisy chaining)

El encadenamiento en cascada (Daisy chaining) es una gran característica que significa que podemos conectar múltiples ICs TLC5940 juntos en serie. Con esto podemos ampliar las capacidades PWM del Arduino a más de 16 salidas, por ejemplo 32, 48, o 64 salidas PWM y seguir usando los mismos 4 pines usados por la placa Arduino para controlar un solo IC TLC5940.

Puedes conseguir los componentes para este tutorial en cualquiera de los sitios a continuación:

  • Arduino Nano………………………..
  • LEDs Rojos Ultra Brillantes……………
  • Drivers LED TLC5940……………

Cableado Arduino y TLC5940

Para controlar el TLC5940 necesitamos ocupar 4 pines de tu placa Arduino. Como usaremos la Librería Arduino TLC5940 hecha por Alex Leone, necesitamos conectar el IC al Arduino según su configuración de librería o usando el siguiente esquema del circuito:

Amplía PWM de Arduino con TLC5940: Guía completa del driver LED de 16 canales

El esquema del circuito anterior usa una fuente de alimentación externa para alimentar los LEDs, pero también se puede conectar usando solo el VCC del Arduino si la cantidad total de corriente consumida no excede el límite del Arduino (Valor Máximo Absoluto, Corriente DC Pines VCC y GND – 200 mA).

También necesitamos notar que el TLC5940 es un sumidero de corriente constante (constant-current sink), por lo que el flujo de corriente va hacia los pines de salida. Esto significa que al conectar LEDs necesitamos conectar el terminal negativo (Cátodo) al pin de salida del IC y el terminal positivo (Ánodo) al VCC de 5V.

También necesitamos 2 capacitores para desacoplamiento y una resistencia para controlar la cantidad de corriente que fluye a través de las salidas. El valor de la resistencia depende del componente que queramos controlar y se puede seleccionar usando el siguiente diagrama del datasheet del TLC5940.

Amplía PWM de Arduino con TLC5940: Guía completa del driver LED de 16 canales

Así que según el diagrama, para controlar LEDs que requieren 20mA de corriente necesitamos una resistencia de 2K.

Código Fuente

Una vez descargamos e instalamos la Librería Arduino TLC5940 hecha por Alex Leone, podemos usar su ejemplo demo "BasicUse" para entender cómo controlar las salidas del IC.

Aquí hay un código simple que hice para este tutorial para controlar 16 LEDs usando esta librería. Lee los comentarios en el código para entender cómo funcionan las funciones.

/* 
 * Arduino y TLC5940 Tutorial - Ejemplo Simple 
 * by Dejan Nedelkovski, www.HowToMechatronics.com 
 */
#include "Tlc5940.h"
void setup() {
  Tlc.init(0); // Inicia el TLC5940 y pone todos los canales en off
}
void loop() {
  Tlc.set(0, 4095); // (Pin de Salida 0 a 15, Valor PWM 0 a 4095)
  // Nota: La función anterior no activa la salida de inmediato. La salida se activará cuando se ejecute la función Tlc.update()!
  Tlc.update(); // Activa las salidas configuradas previamente
  delay(1000);
  // Para activar las 16 salidas al mismo tiempo, podemos usar un bucle for para configurar todas a valor PWM 4095. Luego Tlc.update() las activará todas a la vez.
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
  }
  Tlc.update();
  delay(1000);
  // La función Tlc.clear() limpia todas las salidas, o establece el valor PWM de todas las salidas a 0
  Tlc.clear();
  Tlc.update();
  delay(1000);
  // Este bucle for activará los 16 LEDs uno por uno
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
    Tlc.update();
    delay(200);
    Tlc.clear();
    Tlc.update();
    delay(200);
  }
}Lenguaje: Arduino (arduino)

Controlando más de un TLC5940

Para conectar más de uno de estos ICs en serie, podemos usar el mismo esquema del circuito que se muestra arriba. La única diferencia es que el pin SOUT (Salida de Señal – pin 17) del primer IC necesita conectarse al pin SIN (Entrada de Señal – pin 26) del segundo IC y así sucesivamente.

Amplía PWM de Arduino con TLC5940: Guía completa del driver LED de 16 canales

En cuanto a la parte de programación, necesitamos hacer algunas modificaciones. En la carpeta de la librería TLC5940, necesitamos modificar el archivo tlc_config.h y cambiar el valor de la variable NUM_TLCS al número de ICs TLC5940 conectados en serie y en nuestro caso ese valor es 2. Con esto hecho, ahora podemos direccionar fácilmente todos los LEDs del 0 al 31 y usar el mismo método de programación que se describió anteriormente.

Amplía PWM de Arduino con TLC5940: Guía completa del driver LED de 16 canales

Como ejemplo, en el siguiente enlace, puedes echar un vistazo a mi proyecto Marco de Fotos LED Corazón DIY – Proyecto Arduino donde uso 2 ICs TLC5940 para controlar 32 LEDs.


Proceso de manufactura

  1. Medición de la Calidad del Aire con OpenSensors: Guía para Arduino y Python
  2. Crea un Cerrojo RFID Seguro con Arduino – Guía Paso a Paso
  3. Construya un mando a distancia IR universal con Arduino: Guía paso a paso
  4. Construye un estadiómetro digital: Controla tu altura con Arduino y sensor láser
  5. Uso Fácil de Termistor: Guía Paso a Paso con Arduino
  6. Genera Tonos Musicales con Arduino: Guía Paso a Paso
  7. Proyecto Sensor de Huella Dactilar con Arduino Nano – Tutorial Paso a Paso
  8. Domina Modbus en Arduino: Guía Paso a Paso
  9. Construye un Mini Piano con Arduino UNO – Tutorial Paso a Paso
  10. Construye JARVIS v1: Automatización del hogar con Arduino Nano – Tutorial paso a paso
  11. Tutorial Arduino para Principiantes 01: Inicia tu Primer Proyecto