Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino PWM erweitern mit TLC5940: 16-Kanal LED-Treiber Komplettanleitung

In diesem Arduino-Tutorial lernen Sie, wie Sie den TLC5940 PWM-Treiber mit dem Arduino-Board verwenden. Der TLC5940 ist ein 16-Kanal-LED-Treiber mit PWM-Ausgängen – ideal zur Erweiterung der Arduino-PWM-Fähigkeiten. Nicht nur LEDs, auch Servos, DC-Motoren und andere Bauteile lassen sich per PWM-Signal steuern.

Arduino PWM erweitern mit TLC5940: 16-Kanal LED-Treiber Komplettanleitung

Grundlegende Eigenschaften

  • VCC = 3 V bis 5 V
  • 16 Kanäle
  • 12 Bit (4096 Stufen) PWM-Steuerung
  • Treiberfähigkeit: 0–120 mA (VCC > 3,6 V), 0–60 mA (VCC < 3,6 V)
  • Serielle Datenschnittstelle
  • 30 MHz Datentransferrate
  • Daisy-Chaining (Reihenschaltung)

Daisy-Chaining ist ein großartiges Feature: Mehrere TLC5940 ICs lassen sich in Reihe schalten. So erweitern Sie die Arduino-PWM-Ausgänge auf 32, 48, 64 Kanäle – und nutzen weiterhin dieselben 4 Arduino-Pins wie für einen einzelnen TLC5940.

Benötigte Komponenten:

  • Arduino Nano
  • Ultrahelle rote LEDs
  • TLC5940 LED-Treiber

Arduino und TLC5940 Verdrahtung

Für die Steuerung des TLC5940 belegen wir 4 Arduino-Pins. Wir nutzen die TLC5940 Arduino Library von Alex Leone – der Anschluss muss gemäß seiner Library-Konfiguration oder folgendem Schaltplan erfolgen:

Arduino PWM erweitern mit TLC5940: 16-Kanal LED-Treiber Komplettanleitung

Der Schaltplan nutzt externe Stromversorgung für die LEDs, kann aber auch direkt über Arduino VCC gespeist werden, sofern der Gesamtstrom das Arduino-Limit nicht überschreitet (max. 200 mA an VCC/GND).

Wichtig: Der TLC5940 ist ein Konstantstrom-Senke (Current Sink) – der Strom fließt *zu* den Ausgangspins. Daher: LED-Kathode (–) an IC-Ausgang, LED-Anode (+) an 5 V VCC.

Zwei Kondensatoren zur Entkopplung und ein Widerstand zur Strombegrenzung sind nötig. Der Widerstandswert hängt vom Lasttyp ab und wird per Diagramm aus dem TLC5940-Datenblatt gewählt.

Arduino PWM erweitern mit TLC5940: 16-Kanal LED-Treiber Komplettanleitung

Für LEDs mit 20 mA benötigen wir laut Diagramm einen 2 kΩ Widerstand.

Quellcode

Nach Installation der TLC5940 Library (Alex Leone) können wir das Demo-Beispiel „BasicUse“ nutzen. Hier ein einfacher Code für 16 LEDs – lesen Sie die Kommentare zum Verständnis der Funktionen.

/* 
 * Arduino and TLC5940 Tutorial - Simple Example 
 * by Dejan Nedelkovski, www.HowToMechatronics.com 
 */
#include "Tlc5940.h"
void setup() {
  Tlc.init(0); // TLC5940 initialisieren, alle Kanäle aus
}
void loop() {
  Tlc.set(0, 4095); // (Ausgang 0-15, PWM-Wert 0-4095)
  // Hinweis: set() aktiviert nicht sofort! Erst Tlc.update() schaltet die Ausgänge.
  Tlc.update();
  delay(1000);
  // Alle 16 Ausgänge gleichzeitig aktivieren: for-Schleife setzen, dann update()
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
  }
  Tlc.update();
  delay(1000);
  // Tlc.clear() setzt alle PWM-Werte auf 0
  Tlc.clear();
  Tlc.update();
  delay(1000);
  // LEDs nacheinander einschalten
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
    Tlc.update();
    delay(200);
    Tlc.clear();
    Tlc.update();
    delay(200);
  }
}Code language: Arduino (arduino)

Mehrere TLC5940 steuern

Für die Reihenschaltung mehrerer ICs gilt derselbe Schaltplan. Der einzige Unterschied: SOUT (Signalausgang, Pin 17) des ersten ICs wird mit SIN (Signaleingang, Pin 26) des zweiten ICs verbunden, und so weiter.

Arduino PWM erweitern mit TLC5940: 16-Kanal LED-Treiber Komplettanleitung

Programmseitig: In der Library-Datei tlc_config.h die Variable NUM_TLCS auf die Anzahl der in Reihe geschalteten ICs setzen (hier 2). Damit können alle LEDs von 0 bis 31 wie bisher adressiert werden.

Arduino PWM erweitern mit TLC5940: 16-Kanal LED-Treiber Komplettanleitung

Als Beispiel: In meinem DIY LED Heart Photo Frame – Arduino Project nutze ich 2 TLC5940 ICs für 32 LEDs.

Herstellungsprozess

  1. Luftqualität messen mit OpenSensors: Arduino & Python Anleitung
  2. Sicheres Arduino RFID-Schloss bauen – Schritt-für-Schritt-Anleitung
  3. Universelle IR-Fernbedienung mit Arduino bauen: Schritt-für-Schritt-Anleitung
  4. Digitales Stadiometer bauen: Körpergröße messen mit Arduino & Lasersensor VL53L0X
  5. Thermistor (NTC) einfach nutzen: Schritt-für-Schritt Arduino-Anleitung
  6. Musikalische Töne mit Arduino erzeugen: Schritt-für-Schritt-Anleitung
  7. Arduino Nano Fingerabdruck-Sensor-Projekt – Schritt-für-Schritt-Tutorial
  8. Modbus auf Arduino meistern: Schritt-für-Schritt-Anleitung
  9. Mini-Klavier mit Arduino UNO bauen – Schritt-für-Schritt-Anleitung
  10. Arduino Einsteiger Tutorial #1: Erstes Projekt (Blink)