Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Comment étendre les sorties Arduino PWM - Tutoriel TLC5940

Dans ce didacticiel Arduino, nous apprendrons à utiliser le pilote PWM TLC5940 à l'aide de la carte Arduino. Le TLC5940 est un pilote de LED à 16 canaux qui fournit des sorties PWM et il est parfait pour étendre les capacités Arduino PWM. Pas seulement des LED, mais avec ce circuit intégré, nous pouvons également contrôler des servos, des moteurs à courant continu et d'autres composants électroniques à l'aide de signaux PWM.

Fonctionnalités de base

  •  VCC =3 V à 5 V
  • 16 chaînes
  • Contrôle PWM 12 bits (4 096 étapes)
  • Capacité de pilotage
        – 0 mA à 120 mA (VCC> 3,6 V)
       – 0 mA à 60 mA (VCC <3,6 V)
  • Interface de données série
  • Taux de transfert de données de 30 MHz
  • Chaînage en guirlande

La connexion en guirlande est une fonctionnalité intéressante, ce qui signifie que nous pouvons connecter plusieurs circuits intégrés TLC5970 ensemble en série. Avec cela, nous pouvons étendre les capacités PWM de l'Arduino à plus de 16 sorties, par exemple 32, 48 ou 64 sorties PWM et toujours utiliser les mêmes 4 broches utilisées par la carte Arduino que pour contrôler un TLC5940 IC.

Vous pouvez obtenir les composants de ce didacticiel sur l'un des sites ci-dessous :

  • Arduino Nano………………………..
  • DEL rouges ultra lumineuses…………… 
  • Pilotes LED TLC5940…………… 

Câblage Arduino et TLC5940

Pour contrôler le TLC5940, nous devons occuper 4 broches de votre carte Arduino. Comme nous allons utiliser la bibliothèque Arduino TLC5940 fabriquée par Alex Leone, nous devons connecter le circuit intégré à l'Arduino en fonction de la configuration de sa bibliothèque ou en utilisant les schémas de circuit suivants :

Le schéma de circuit ci-dessus utilise une alimentation externe pour alimenter les LED, mais il peut également être connecté simplement en utilisant l'Arduino VCC lui-même si la quantité totale de courant tiré ne dépasse pas la limite de l'Arduino (valeur maximale absolue, courant continu VCC et broches GND - 200 mA).

Nous devons également noter que le TLC5940 est un puits de courant constant, de sorte que le courant circule vers les broches de sortie. Cela signifie que lors de la connexion des LED, nous devons connecter le fil négatif (cathode) à la broche de sortie du CI et le fil positif (anode) au 5V VCC.

Nous avons également besoin de 2 condensateurs pour le découplage et d'une résistance pour contrôler la quantité de courant qui traverse les sorties. La valeur de la résistance dépend du composant que nous voulons contrôler et elle peut être sélectionnée à l'aide du schéma suivant de la fiche technique du TLC5940.

Donc, selon le schéma, pour contrôler les LED qui nécessitent un courant de 20 mA, nous avons besoin d'une résistance de 2 K.

Code source

Une fois que nous avons téléchargé et installé la bibliothèque Arduino TLC5940 créée par Alex Leone, nous pouvons utiliser son exemple de démonstration "BasicUse" pour comprendre comment contrôler les sorties du CI.

Voici un code simple que j'ai créé pour ce tutoriel pour contrôler 16 LED à l'aide de cette bibliothèque. Lisez les commentaires dans le code pour comprendre le fonctionnement des fonctions.

/*
 * 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);
  }
}Code language: Arduino (arduino)

Contrôle de plusieurs TLC5940

Pour connecter plus d'un de ces circuits intégrés en série, nous pouvons utiliser les mêmes schémas de circuit que ceux indiqués ci-dessus. La seule différence est que le SOUT (Signal Output - broche 17) du premier IC doit être connecté au SIN (Signal Input - broche 26) du deuxième IC et ainsi de suite.

En ce qui concerne la partie programmation, nous devons apporter quelques modifications. Dans le dossier de la bibliothèque TLC5940, nous devons modifier le fichier tlc_config.h et remplacer la valeur de la variable NUM_TLCS par le nombre de circuits intégrés TLC5940 connectés en série. Dans notre cas, cette valeur est de 2. Cela fait, nous pouvons maintenant facilement traiter tous les LED de 0 à 31 et utilisez la même méthode de programmation que celle décrite précédemment.

À titre d'exemple, sur le lien suivant, vous pouvez consulter mon cadre photo DIY LED Heart - Projet Arduino où j'utilise 2 circuits intégrés TLC5940 pour contrôler 32 LED.


Processus de fabrication

  1. Comment mesurer la qualité de l'air sur OpenSensors
  2. Tutoriel sur le verrouillage RFID Arduino
  3. Comment pirater des télécommandes infrarouges
  4. Comment mesurez-vous ?
  5. Est-il facile d'utiliser une thermistance ? !
  6. Comment faire de la musique avec un Arduino
  7. Tutoriel sur le capteur d'empreintes digitales Arduino
  8. Comment utiliser Modbus avec Arduino
  9. Tutoriel Arduino 01 :Prise en main