09Série 2 · Relés, contatores e acionamentos · 9/20

ULN2803: quando e por que utilizar

O ULN2803 reúne oito drivers Darlington e diodos de proteção, facilitando o acionamento de múltiplos relés.

O ULN2803A reúne oito drivers Darlington com diodos de proteção integrados, permitindo que sinais de 3,3 V ou 5 V acionem relés, contatores e outras cargas indutivas.
Diagrama interno e pinagem
ULN2803A8 × Darlington + flybackIN1 · 117 · OUT1IN2 · 216 · OUT2IN3 · 315 · OUT3IN4 · 414 · OUT4IN5 · 513 · OUT5IN6 · 612 · OUT6IN7 · 711 · OUT7IN8 · 810 · OUT89 · GND18 · COM
Cada entrada comanda uma saída coletor aberto. O CI afunda corrente para o GND e o COM alimenta os diodos de proteção.
Como funciona
1GPIO em HIGH polariza o par Darlington.
2A saída correspondente é levada ao GND.
3A corrente percorre a carga e o canal do CI.
4Ao desligar, o diodo integrado absorve o pico.
EntradaSaída/carga
LOWAberta · desligada
HIGHLOW · ligada
Características
  • 8 canais independentes.
  • Até 500 mA por canal.
  • Saídas até 50 V.
  • Entradas 3,3 V e 5 V.
  • Diodos flyback integrados.
  • DIP-18 ou SOIC-18.
Exemplo prático com ESP32
ESP32
Módulo com múltiplos relés
GPIOs → IN1…IN8; OUT1…OUT8 → bobinas; GND comum; COM ligado ao positivo da fonte das cargas indutivas.
Especificações e cuidados
Tensão da carga5 V a 50 V
Corrente por canalAté 500 mA
Corrente totalDepende da dissipação e simultaneidade
COM — pino 18Positivo das cargas indutivas
GND — pino 9Referência comum
Não some simplesmente 500 mA em oito canais: corrente total e temperatura do encapsulamento precisam ser verificadas no datasheet.
Aplicações comuns
ReléRelés e contatores
Motores e válvulas
Iluminação
CLPs e controle
Painéis e automação
Exemplo de código — ESP32 / Arduino
Sequenciamento de oito canais com ULN2803
const uint8_t RELES[8] = {13, 14, 16, 17, 18, 19, 21, 22};

void setup() {
  for (uint8_t i = 0; i < 8; i++) {
    pinMode(RELES[i], OUTPUT);
    digitalWrite(RELES[i], LOW); // saídas desligadas
  }
}

void acionarCanal(uint8_t canal, bool ligar) {
  if (canal < 8) digitalWrite(RELES[canal], ligar ? HIGH : LOW);
}

void loop() {
  for (uint8_t canal = 0; canal < 8; canal++) {
    acionarCanal(canal, true);
    delay(300);
    acionarCanal(canal, false);
  }
}
Atenção: o ULN2803 afunda corrente; conecte corretamente COM e GND e respeite corrente e dissipação totais.

O que existe dentro do CI

São oito canais de transistor Darlington com entradas independentes, saídas de coletor aberto e diodos de supressão ligados ao terminal COM.

  • Acionamento de relés, solenóides, lâmpadas e pequenos atuadores.
  • Redução da quantidade de componentes discretos.
  • Compatibilidade prática com sinais de microcontroladores, respeitando o datasheet.

Conexão do terminal COM

Ao comandar cargas indutivas, o COM dos diodos internos deve ser ligado ao positivo da fonte das cargas. Ele não é o mesmo que o GND.

Limitações

Por usar Darlington, a queda de tensão na saída é maior que em um MOSFET. Calcule dissipação total quando vários canais operarem simultaneamente.