Por que precisamos de resistores de tração externos quando os microcontroladores têm resistores de tração internos?

15

Os microcontroladores possuem resistores internos de pull-pull-pull, mas a maioria dos circuitos possui resistores de tração externos.

Procurei no Google por respostas e alguns sites disseram que esses resistores não são tão fortes, mas achei que eram bons o suficiente para funcionar. Eu pensei que eles poderiam precisar de externo porque os resistores internos precisam ser acionados pela programação.

Portanto, para alguma situação não planejada, eles também conectam resistores externos. Mas não tenho certeza.

Qual é a verdadeira razão por trás do uso externo quando temos internos?

Gunjan Gangwani
fonte
6
Alguns microcontroladores possuem resistores internos. E esses resistores não são dimensionados corretamente para todas as aplicações (geralmente são otimizados para baixo consumo de energia).
Dave Tweed
2
O que acontece se eu omitir os resistores pullup nas linhas I2C? Este segmento é uma análise de uma tentativa de usar resistores pull-up internos com I2C.
Nick Alexeev
"Portanto, para alguma situação não planejada, eles também conectam resistores externos". Às vezes, situações planejadas também. Geralmente, é mais fácil / rápido / barato em um ambiente de produção mover um resistor de um lugar para outro do que ter que re-atualizar o firmware para obter o mesmo resultado. Fazer isso no firmware provavelmente envolveria uma segunda versão do mesmo firmware que precisa ser mantida. Com uma modificação de solda, tudo o que é necessário é uma instrução de trabalho condicional.
Wossname

Respostas:

30

Existem alguns motivos possíveis, como

  • É necessário que o resistor esteja presente durante a inicialização, pois o microcontrolador ainda não começou a executar.
  • Precisando de uma resistência mais precisa do que o resistor interno. Os resistores internos de pull-up / down têm tolerâncias muito amplas.
  • Precisando de uma resistência maior ou menor que a fornecida internamente. Por exemplo, I 2 C normalmente usa pullups mais fortes, enquanto você pode querer um pull muito fraco para monitorar um switch, para economizar energia.
  • É necessário puxar para uma voltagem diferente da voltagem ou do aterramento de alimentação do microcontrolador.
  • Usando um resistor pull-up / down junto com o ADC no microcontrolador. Alguns microcontroladores desativam seus resistores internos em qualquer pino ao qual o ADC está conectado.
  • Precisando de um resistor de pulldown em um microcontrolador que tenha apenas pullups.
Abe Karplus
fonte
Eu não conseguia entender o último segundo ponto ... Por que microcontroladores desativar sua em resistências internas com ADC
Gunjan Gangwani
3
@GunjanGangwani Eu não acho que seja uma boa decisão de projeto, mas a idéia é que geralmente você não deseja que o ADC extraia corrente da coisa que está medindo, então você quer uma conexão de alta impedância. Eu acho que alguns designers não confiam nos desenvolvedores de firmware para desativar sempre os resistores internos.
perfil completo de Abe Karplus
7
Eu acho que é normalmente porque os pull-ups / pull-downs estão associados aos buffers de entrada digital, e permitir que os ADCs às vezes possam desativar completamente o circuito de buffer digital (e com ele, os resistores pull-up / down).
Connor Wolf
3
@Ashutosh Se você deseja alta impedância, é claro que não usa pullup. Alguns microcontroladores impõem isso desativando automaticamente seus pullups internos, o que é um problema nas situações em que você não deseja alta impedância.
perfil completo de Abe Karplus
1
As entradas ADC do @GunjanGangwani devem ser isoladas de todos os outros circuitos para fornecer o menor nível de ruído. As entradas digitais geralmente consomem mais corrente do que o desejado quando acionadas entre as tensões "alta" e "baixa". Os microcontroladores mais antigos usavam um comutador interno para desconectar a entrada da parte digital quando esse pino era usado para o ADC, e é a parte digital que tem o pull up. Isso é desconectado para isolar o ADC e reduzir o nível de ruído, além de evitar possível consumo adicional de corrente (ou em chips muito antigos, travamento de CMOS).
Adam Davis
9

Alguns (ou talvez muitos) microcontroladores possuem resistores de pull-up internos, mas esses geralmente são valores bastante altos. Muitas aplicações exigiriam pull-ups de menor valor.

Resistores de pull-up também podem ser necessários nas entradas de circuitos lógicos normais (portas, contadores, etc.) que não possuem pull-ups internos (e às vezes queremos resistores de pull-down, em vez disso ...)

Peter Bennett
fonte
1
resistores de pull-up internos, mas esses são valores bastante altos. Eu estava construindo uma aplicação de baixa potência recentemente e constatei que os resistores de pull-up eram de cerca de 50 k, os quais eu achei bastante baixos, resultando em muito uso atual. Então eu usei um resistor externo de maior valor. No final, depende de quais são suas necessidades.
Bimpelrekkie
3

Além disso, você usaria um resistor externo toda vez que precisar de um valor real de resistência. Os MCUs geralmente não têm resistores de pull-up reais, mas sim MOSFETs afundando uma pequena corrente, portanto, seu valor de resistência equivalente pode variar bastante, dependendo do sinal que você aplica ao pino.

Dmitry Grigoryev
fonte