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

So erweitern Sie Arduino-PWM-Ausgänge – TLC5940-Tutorial

In diesem Arduino-Tutorial erfahren Sie, wie Sie den TLC5940-PWM-Treiber mit dem Arduino-Board verwenden. Der TLC5940 ist ein 16-Kanal-LED-Treiber, der PWM-Ausgänge bietet und sich perfekt zur Erweiterung der PWM-Fähigkeiten von Arduino eignet. Nicht nur LEDs, sondern mit diesem IC können wir auch Servos, Gleichstrommotoren und andere elektronische Komponenten mit PWM-Signalen steuern.

Grundfunktionen

  •  VCC =3 V bis 5 V
  • 16 Kanäle
  • 12 Bit (4096 Schritte) PWM-Steuerung
  • Betriebsfähigkeit
        – 0 mA bis 120 mA (VCC> 3,6 V)
        – 0 mA bis 60 mA (VCC <3,6 V)
  • Serielle Datenschnittstelle
  • 30 MHz Datenübertragungsrate
  • Daisy-Chaining

Daisy-Chaining ist eine großartige Funktion, was bedeutet, dass wir mehrere TLC5970-ICs in Reihe miteinander verbinden können. Damit können wir die PWM-Fähigkeiten des Arduino auf mehr als 16 Ausgänge erweitern, z. B. 32, 48 oder 64 PWM-Ausgänge, und immer noch dieselben 4 Pins verwenden, die vom Arduino-Board verwendet werden, um einen TLC5940-IC zu steuern.

Sie können die Komponenten für diese Anleitung von einer der folgenden Websites herunterladen:

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

Arduino- und TLC5940-Verkabelung

Zur Steuerung des TLC5940 müssen wir 4 Pins Ihres Arduino Boards belegen. Da wir die TLC5940-Arduino-Bibliothek von Alex Leone verwenden werden, müssen wir den IC gemäß seiner Bibliothekskonfiguration oder mithilfe der folgenden Schaltpläne mit dem Arduino verbinden:

Die obigen Schaltpläne verwenden eine externe Stromversorgung für die Stromversorgung der LEDs, können aber auch nur mit dem Arduino VCC selbst angeschlossen werden, wenn die Gesamtmenge des gezogenen Stroms die Grenze des Arduino nicht überschreitet (absolute maximale Nennleistung, Gleichstrom VCC und GND-Pins – 200 mA).

Wir müssen auch beachten, dass der TLC5940 eine Konstantstromsenke ist, sodass der Strom zu den Ausgangspins fließt. Das bedeutet, dass wir beim Anschließen von LEDs die negative Leitung (Kathode) an den Ausgangsstift des IC und die positive Leitung (Anode) an die 5-V-VCC anschließen müssen.

Wir brauchen auch 2 Kondensatoren zur Entkopplung und einen Widerstand zur Steuerung der Strommenge, die durch die Ausgänge fließt. Der Wert des Widerstands hängt von der Komponente ab, die wir steuern möchten, und kann anhand des folgenden Diagramms aus dem Datenblatt des TLC5940 ausgewählt werden.

Gemäß dem Diagramm benötigen wir also zum Steuern von LEDs, die 20 mA Strom benötigen, einen 2K-Widerstand.

Quellcode

Sobald wir die TLC5940-Arduino-Bibliothek von Alex Leone heruntergeladen und installiert haben, können wir sein „BasicUse“-Demobeispiel verwenden, um zu verstehen, wie die Ausgänge des ICs gesteuert werden.

Hier ist ein einfacher Code, den ich für dieses Tutorial zur Steuerung von 16 LEDs mit dieser Bibliothek erstellt habe. Lesen Sie die Kommentare im Code, um zu verstehen, wie die Funktionen funktionieren.

/* * Arduino and TLC5940 Tutorial - Simple Example * by Dejan Nedelkovski, www.HowToMechatronics.com */ #include "Tlc5940.h" void setup() { Tlc.init(0); // Initiates the TLC5940 and set all channels off } void loop() { Tlc.set(0,4095); //(Output Pin from 0 to 15,PWM Value from 0 to 4095) // Note: The previous function doesn't activates the output right away. The output will be activated when the Tlc.update() function will be executed! Tlc.update(); // Activates the previously set outputs delay(1000); // For activating all 16 outputs at the same time we can use a for loop for setting all of them to be set to PWM value of 4095. Then the Tlc.updata() function will active them all at the same time. for (int i = 0; i < 16; i++) { Tlc.set(i, 4095); } Tlc.update(); delay(1000); //The Tlc.clear() function clears all the outputs, or sets the PWM value of all outputs to 0 Tlc.clear(); Tlc.update(); delay(1000); // This for loop will active all 16 LEDs one by one for (int i = 0; i < 16; i++) { Tlc.set(i, 4095); Tlc.update(); delay(200); Tlc.clear(); Tlc.update(); delay(200); } } Codesprache:Arduino (arduino)

Steuerung von mehr als einem TLC5940

Um mehr als einen dieser ICs in Reihe zu schalten, können wir die gleichen Schaltpläne wie oben gezeigt verwenden. Der einzige Unterschied besteht darin, dass der SOUT (Signalausgang – Pin 17) des ersten ICs mit dem SIN (Signaleingang – Pin 26) des zweiten ICs verbunden werden muss und so weiter.

Was den Programmierteil betrifft, müssen wir einige Änderungen vornehmen. Im TLC5940-Bibliotheksordner müssen wir die Datei tlc_config.h ändern und den Wert der Variablen NUM_TLCS auf die Anzahl der in Reihe geschalteten TLC5940-ICs ändern, und in unserem Fall ist dieser Wert 2. Damit können wir jetzt alle problemlos adressieren die LEDs von 0 bis 31 und verwenden Sie die gleiche Programmiermethode wie zuvor beschrieben.

Als Beispiel können Sie unter dem folgenden Link meinen DIY-LED-Herz-Fotorahmen – Arduino-Projekt ansehen, bei dem ich 2 TLC5940-ICs zur Steuerung von 32 LEDs verwende.


Herstellungsprozess

  1. Messen der Luftqualität auf OpenSensors
  2. Anleitung zum Arduino-RFID-Schloss
  3. Wie man IR-Fernbedienungen hackt
  4. Wie groß bist du?
  5. Wie einfach ist es, einen Thermistor zu verwenden?!
  6. Wie man mit einem Arduino Musik macht
  7. Anleitung zum Arduino-Fingerabdrucksensor
  8. So verwenden Sie Modbus mit Arduino
  9. Arduino-Tutorial:Mini-Klavier
  10. Arduino-Tutorial 01:Erste Schritte