Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Como estender as saídas PWM do Arduino – Tutorial TLC5940


Neste tutorial do Arduino vamos aprender como usar o driver PWM TLC5940 usando a placa Arduino. O TLC5940 é um driver de LED de 16 canais que fornece saídas PWM e é perfeito para estender os recursos do Arduino PWM. Não apenas LEDs, mas com este IC também podemos controlar servos, motores DC e outros componentes eletrônicos usando sinais PWM.

Recursos básicos

  •  VCC =3V a 5V
  • 16 canais
  • Controle PWM de 12 bits (4096 etapas)
  • Capacidade de condução
        – 0 mA a 120 mA (VCC> 3,6 V)
        – 0 mA a 60 mA (VCC <3,6 V)
  • Interface de dados seriais
  • Taxa de transferência de dados de 30 MHz
  • Encadeamento em margarida

O encadeamento em série é um ótimo recurso, o que significa que podemos conectar vários ICs TLC5970 juntos em série. Com isso podemos estender os recursos PWM do Arduino para mais de 16 saídas, por exemplo 32, 48 ou 64 saídas PWM e ainda usar os mesmos 4 pinos usados ​​pela placa Arduino para controlar um IC TLC5940.

Você pode obter os componentes deste tutorial em qualquer um dos sites abaixo:
  • Arduino Nano…………………………..
  • LEDs vermelhos ultra brilhantes…………… 
  • Drivers de LED TLC5940…………… 

Fiação do Arduino e TLC5940


Para controlar o TLC5940 precisamos ocupar 4 pinos da sua placa Arduino. Como usaremos a biblioteca do Arduino TLC5940 feita por Alex Leone, precisamos conectar o IC ao Arduino de acordo com a configuração da biblioteca dele ou usando os seguintes esquemas de circuito:

O esquema do circuito acima está usando fonte de alimentação externa para alimentar os LEDs, mas também pode ser conectado usando o próprio Arduino VCC se a quantidade total de corrente consumida não exceder o limite do Arduino (Classificação Máxima Absoluta, Corrente CC VCC e Pinos GND – 200 mA).

Também precisamos observar que o TLC5940 é um dissipador de corrente constante, de modo que a corrente flui em direção aos pinos de saída. Isso significa que, ao conectar os LEDs, precisamos conectar o fio negativo (cátodo) ao pino de saída do IC e o fio positivo (ânodo) ao VCC de 5V.

Também precisamos de 2 capacitores para desacoplamento e um resistor para controlar a quantidade de corrente que flui pelas saídas. O valor do resistor depende do componente que queremos controlar e pode ser selecionado usando o seguinte diagrama da folha de dados do TLC5940.

Então, de acordo com o diagrama, para controlar LEDs que exigem corrente de 20mA, precisamos de um resistor de 2K.

Código-fonte


Depois de baixar e instalar a biblioteca TLC5940 Arduino feita por Alex Leone, podemos usar seu exemplo de demonstração "BasicUse" para entender como controlar as saídas do IC.

Aqui está um código simples que fiz para este tutorial para controlar 16 LEDs usando esta biblioteca. Leia os comentários no código para entender como as funções funcionam.
/*
 * 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)

Controlando mais de um TLC5940


Para conectar mais de um desses CIs em série, podemos usar os mesmos esquemas de circuitos mostrados acima. A única diferença é que o SOUT (Signal Output - pino 17) do primeiro IC precisa ser conectado ao SIN (Signal Input - pino 26) do segundo IC e assim por diante.

Quanto à parte de programação, precisamos fazer algumas modificações. Na pasta da biblioteca TLC5940 precisamos modificar o arquivo tlc_config.h e alterar o valor da variável NUM_TLCS para o número de ICs TLC5940 conectados em série e no nosso caso esse valor é 2. Feito isso, agora podemos resolver facilmente todos os LEDs de 0 a 31 e utilize o mesmo método de programação descrito anteriormente.

Como exemplo, no link a seguir, você pode conferir meu DIY LED Heart Photo Frame – Arduino Project, onde uso 2 ICs TLC5940 para controlar 32 LEDs.

Processo de manufatura

  1. Como medir a qualidade do ar em OpenSensors
  2. Tutorial de bloqueio RFID do Arduino
  3. Como hackear IR Remotes
  4. Qual é sua altura?
  5. Quão fácil é usar um termistor ?!
  6. Como fazer música com um Arduino
  7. Tutorial do sensor de impressão digital Arduino
  8. Como usar o Modbus com Arduino
  9. Tutorial do Arduino:Mini Piano
  10. Arduino Tutorial 01:Começando