Resistores pull-up são essenciais em muitos circuitos digitais. Vamos falar sobre como os resistores pull-up funcionam e como usá-los.
Imagem fazendo um circuito digital onde um botão é necessário para ligar um LED. Você conecta o circuito corretamente, conectando uma extremidade do botão a uma entrada digital e aterrando a outra. Quando você finalmente fornece energia, percebe que o LED acende e apaga sem que você pressione o botão.
Se você já observou situações como essa, é provável que tenha esquecido de adicionar um resistor pull-up ao seu circuito digital. Então, o que exatamente é um resistor pull-up? Como funciona e como você usa um?
O que é um resistor pull-up?
Um resistor pull-up é um resistor que você adiciona a um circuito digital para evitar sinais indesejados que podem interferir na lógica ou programação do seu circuito. É uma maneira de polarizar ou puxar uma linha de entrada para positivo ou VCC quando nenhum outro dispositivo ativo estiver conduzindo a linha. Ao puxar a linha para VCC, você efetivamente define o estado padrão da linha como 1 ou verdadeiro.
Definir um estado padrão de todos os pinos de entrada é importante para evitar sinais aleatórios gerados durante seu estado flutuante. Um pino de entrada está em um estado flutuante quando é desconectado de uma fonte ativa, como terra ou VCC.
Resistores pull-up são normalmente usados em circuitos digitais usando microcontroladores e computadores de placa única.
Como um resistor pull-up funciona em um circuito
Ao usar uma chave momentânea em um circuito digital, pressionar a chave fará com que o circuito feche e transmita verdadeiro ou alto para o microcontrolador. No entanto, desabilitar o interruptor não necessariamente impedirá que o pino de entrada envie tais sinais.
Isso ocorre porque cortar a conexão por meio de um interruptor significa que ele não está mais conectado a nada além do ar. Isso faz com que a linha fique em um estado flutuante, onde os sinais do ambiente podem fazer com que o pino suba alto a qualquer momento.
Para impedir que esses sinais perdidos sejam registrados em seu circuito, você terá que injetar tensão suficiente na linha de entrada para que ela continue registrando alta quando o aterramento não for mais detectado. No entanto, você não pode conectar o VCC diretamente à linha de entrada, pois o circuito entrará em curto assim que o interruptor/sensor conectar a linha ao terra.
Para evitar curto-circuito na tensão de pull-up, você precisará usar um resistor. Ter o resistor de valor correto garantirá que a linha flutuante tenha tensão suficiente para aumentar enquanto baixa o suficiente para não causar um curto-circuito prematuro no circuito. A quantidade de resistência dependerá do tipo de lógica que seu circuito está usando.
Explicando Famílias Lógicas
Para calcular corretamente o valor de resistência do seu resistor pull-up, você precisará saber qual tipo de lógica seu circuito está usando para operar. A família lógica que seu circuito usa ditará o valor de resistência que seu resistor pull-up precisará.
Existem vários tipos de lógica. Aqui estão alguns deles:
Abreviação |
Nome |
Exemplos de Circuitos |
Min V ligado |
Max V desligado |
---|---|---|---|---|
CMOS |
Semicondutor de Óxido de Metal Complementar |
DSP, ADC, DAC, PPL |
3.5 |
1.5 |
TTL |
Lógica Transistor-Transistor |
Relógios digitais, drivers de LED, memória |
2.0 |
0.8 |
ECL |
Lógica Acoplada a Emissor |
Radar, laser, aceleradores de partículas |
-1.5 |
-1.8 |
DTL |
Lógica Diodo-Transistor |
Flip-flops, registradores, osciladores |
0.7 |
0.2 |
Se você não tem certeza de qual família lógica está usando, é muito provável que seu circuito esteja usando famílias lógicas CMOS ou TTL, já que ECL e DTL estão desatualizados há muito tempo. Marcações de chip com prefixos usando "74" ou "54" são tipicamente chips TLL, enquanto marcações de chip com "CD" ou "MC" indicam um chip CMOS. Se ainda não tiver certeza, você pode descobrir facilmente qual família lógica seu controlador está usando fazendo uma pesquisa rápida por sua folha de dados online.
Como calcular o valor do resistor pull-up
Agora que você entende os diferentes tipos de famílias lógicas e suas tensões mínimas de ativação e desativação, podemos agora calcular os valores para nosso resistor pull-up.
Para calcular o valor correto do resistor, você precisará de três valores. O mínimo de tensão da família lógica que seu circuito está usando, a tensão de alimentação do circuito e a corrente de fuga de entrada, que você pode encontrar na folha de dados ou por usando um multímetro.
Depois de ter todas as variáveis, basta inseri-las na seguinte fórmula:
Valor de resistência = (tensão de alimentação - alta tensão lógica) / corrente de fuga de entrada
Por exemplo, digamos que seu circuito use TTL e a linha de entrada esteja usando 100uA a 5V. Sabemos que o TTL precisa de um mínimo de 2V para elevar alto e um máximo de 0,8 volts para aumentar baixo. Isso significaria que a tensão adequada saindo de nosso resistor pull-up deve estar entre 3V e 4V, pois a tensão deve ser superior a 2V, mas não superior à nossa tensão de alimentação, que é 5V.
Nossos valores dados seriam:
- Tensão de alimentação = 5V
- Lógica de alta tensão = 4V
- Corrente de fuga de entrada = 100μA ou 0,0001A
Agora que temos as variáveis, vamos colocá-las na fórmula:
(5V - 4V) / 100μA = 10.000 ohms
Nosso resistor pull-up precisa ser de 10.000 ohms (10 kilohms ou 10kΩ).
Como usar um resistor pull-up em um circuito
Os resistores pull-up são normalmente usados em circuitos digitais para evitar interferência indesejada na programação digital de um circuito. Você pode usar resistores pull-up se o circuito digital usar interruptores e sensores como dispositivos de entrada. Além disso, os resistores pull-up só serão eficazes se os pinos de entrada estiverem conectados ao terra. Se os pinos de entrada estiverem conectados ao VCC, você pode querer usar resistores pull-down.
Para usar um resistor pull-up, você precisará localizar a linha de entrada que se conecta a um dispositivo de entrada. Uma vez localizado, você vai querer calcular o valor do seu resistor usando a fórmula discutida anteriormente. Se o seu circuito realmente não requer muita precisão, você pode simplesmente usar valores de resistor variando de 1kΩ a 10kΩ.
Agora que você tem seu resistor com o valor adequado, você pode colocar uma extremidade do resistor pull-up no VCC e uma extremidade entre o dispositivo de entrada e o MCU. Parabéns! Agora você sabe o que é um resistor pull-up e como usá-lo.
Alguns microcontroladores, como placas Arduino e SBCs, como o Raspberry Pi, possuem resistores pull-up internos que você pode acionar no código no lugar de resistores pull-up externos.
Solidifique seu conhecimento por meio da experiência
Em resumo, um resistor pull-up é um componente importante para ajudar a proteger seu circuito de interferências próximas. Ao definir o estado padrão de um pino de entrada como alto, ele evita que sinais aleatórios interfiram na lógica ou na programação do seu circuito. E agora que você sabe como usar um, pode querer solidificar seu conhecimento recém-adquirido aplicando-o em seus próximos projetos.