Resistores de tração


18

Na minha busca para entender a engenharia elétrica, deparei-me com este tutorial:

http://www.ladyada.net/learn/arduino/lesson5.html

Eu entendi os diagramas até chegar aos switches. Não tenho certeza de como os switches funcionam na placa de ensaio ou nos diagramas. Este é o específico em que estou pensando (este é um resistor pull-down):

insira a descrição da imagem aqui

A implementação é:

insira a descrição da imagem aqui

Com base no diagrama, o que eu acho que está acontecendo é: A energia vai para o comutador, se o botão estiver pressionado, o circuito não está completo. Se o botão for pressionado, a corrente seguirá o caminho de menor resistência ao pino2, pois possui mais tração (100ohm <10kohm).

A maneira como é descrito no tutorial soa como quando o botão é pressionado, o circuito ainda está completo, mas o resistor de 10k ohm puxa a energia para o chão. Não sei como ou por que, se os 10k ohm e 100ohm estão recebendo corrente igual, a corrente seria puxada para o chão por uma resistência maior do que a que está aberta no pino 2.


3
Um aspecto à parte: tente pensar em um circuito em termos de qual será a tensão em cada ponto, em vez de onde a corrente flui. Isso ajudou minha compreensão quando aprendi EE pela primeira vez.
geometrikal

Estou meio decepcionado com a qualidade das respostas sobre essa questão. Eu sugiro assistir a este vídeo por AddOhms. . Eu não entendo esse conceito o suficiente para explicá-lo, mas nenhuma das respostas aqui no momento está falando sobre o que causa o estado flutuante, ou sobre como o pull-up ou push-down resolve o problema.
Evan Carroll

@EvanCarroll Por outro lado, a questão no momento da escrita não perguntar sobre as coisas que você está interessado.
Dmitry Grigoryev

Respostas:


29

Primeiro, esqueça o resistor de 100 Ω por enquanto. Não é necessário para o funcionamento do botão, apenas existe como proteção, caso você cometa um erro de programação.

  • Se o botão for pressionado, P2 será conectado diretamente a +5 V, de modo que será visto como um nível alto, sendo "1".
  • Se o botão for solto, o +5 V não conta mais, há apenas 10 kΩ entre a porta e o terra.

O pino de E / S de um microcontrolador tem alta impedância quando usado como entrada, o que significa que apenas flui uma corrente de fuga pequena, geralmente muito menor que 1 µA, que será o máximo de acordo com a folha de dados. OK, digamos que seja 1 µA. Então, de acordo com a Lei de Ohm, isso causará uma queda de tensão de 1 µA 10 kΩ = 10 mV através do resistor. Portanto, a entrada será de 0,01 V. Esse é um nível baixo ou um "0". Um microcontrolador típico de 5 V verá qualquer nível inferior a 1,5 V como baixo. ×


Agora, o resistor de 100.. Se você acidentalmente efetuou a saída do pino e a ajustou baixa, pressionar o botão causará um curto-circuito: o microcontrolador ajusta 0 V no pino e a chave +5 V no mesmo pino. O microcontrolador não gosta disso e o IC pode estar danificado. Nesses casos, o resistor de 100 should deve limitar a corrente a 50 mA. (O que ainda é um pouco demais, um resistor de 1 kΩ seria melhor.)

Como não há corrente de fluxo em um pino de entrada (além do baixo vazamento), dificilmente haverá queda de tensão no resistor.

Os 10 kΩ são um valor típico para um pull-up ou pull-down. Um valor mais baixo fornece uma queda de tensão ainda mais baixa, mas 10 mV ou 1 mV não faz muita diferença. Mas há outra coisa: se o botão for pressionado, haverá 5 V no resistor, para que haja uma corrente de 5 V / 10 kΩ = 500 µA. É baixo o suficiente para não causar problemas, e você não manterá o botão pressionado por muito tempo. Mas você pode substituir o botão por um interruptor, que pode ficar fechado por muito tempo. Então, se você tivesse escolhido um pull-down de 1 kΩ, teria 5 mA através do resistor, desde que a chave esteja fechada, e isso é um desperdício. 10 kΩ é um bom valor.


Observe que você pode virar isso de cabeça para baixo para obter um resistor de pull-up e mudar para o terra quando o botão for pressionado.

insira a descrição da imagem aqui

Isso inverterá sua lógica: pressionar o botão fornecerá um "0" em vez de um "1", mas o trabalho é o mesmo: pressionar o botão fará a entrada 0 V, se você soltar o botão, o resistor conectará o entrada para o nível de +5 V (com uma queda de tensão desprezível).

É assim que geralmente é feito, e os fabricantes de microcontroladores levam isso em consideração: a maioria dos microcontroladores possui resistores pull-up internos, que você pode ativar ou desativar no software. Se você usar o pull-up interno, você só precisará conectar o botão ao terra, é tudo. (Alguns microcontroladores também têm opções configuráveis, mas são muito menos comuns.)


Não acho claro como o método Push-Down resolve o problema com o estado flutuante a partir desta resposta.
Evan Carroll

7

Observe que o switch não é um dispositivo sofisticado que consome energia e cria algum sinal de saída - em vez disso, pense nele como um fio que você está apenas adicionando ou removendo do circuito pressionando o botão.

Se o interruptor estiver desconectado (não pressionado), o único caminho possível para a corrente é entre os P2dois resistores e o terra. Assim, o microcontrolador lerá um BAIXO.

Se o interruptor estiver conectado (pressionado):

  • A corrente viaja da fonte de alimentação através do comutador

  • Alguma corrente viaja através do resistor de 100 ohm para P2. O microcontrolador exibirá ALTO.

  • Uma pequena quantidade de corrente fluirá através do resistor de 10 Kohm para o terra. Isso é basicamente desperdício de energia.

Observe que o resistor de 100 ohms está lá apenas para limitar a corrente máxima de entrada P2. Normalmente não é incluído em um circuito como esse, porque a P2entrada do microcontrolador já é de alta impedância e não absorve muita corrente. No entanto, a inclusão do resistor de 100 ohm é útil caso o seu software tenha um bug ou um erro lógico que faça com que tente usar P2como saída. Nesse caso, se o microcontrolador estiver tentando diminuir, P2mas o interruptor estiver em curto e conectando-o a alto, você poderá danificar o pino do microcontrolador. Para ser seguro, o resistor de 100 ohm limitaria a corrente máxima nesse caso.


5

Quando você pressiona o botão, coloca um nível lógico alto (+5 V) na entrada. Mas se você omitir o resistor e o botão for liberado, o pino de entrada estará flutuando, o que no HCMOS significa que o nível é indefinido. Isso é algo que você não quer, então você puxa a entrada para o chão com o resistor. O resistor é necessário porque, caso contrário, pressionar o botão causaria um curto-circuito.

A entrada é de alta impedância, o que significa que dificilmente fluirá corrente através dela. A corrente zero através do resistor significa tensão zero através dele (Lei de Ohm); portanto, 0 V de um lado também será 0 V (ou muito próximo) no pino de entrada.

Essa é uma maneira de conectar um botão, mas você também pode trocar o resistor e o botão, para que o resistor vá para +5 V e o botão para o terra. A lógica é então invertida: pressionar o botão dará um nível baixo no pino de entrada. Porém, isso geralmente é feito, porque a maioria dos microcontroladores possui resistores pull-up embutidos, de modo que você só precisa do botão, o resistor externo pode ser omitido. Observe que pode ser necessário ativar a pull-up interna.



Veja também esta resposta .


Não acho claro como o método Push-Down resolve o problema com o estado flutuante a partir desta resposta.
Evan Carroll

4

O resistor de 10kohm é chamado de resistor pull-down porque, quando o nó "verde" (na conexão dos resistores de 100ohm e 10kohm) não é conectado a + 5V pelo comutador, esse nó é puxado para o terra (assumindo baixa corrente através dessa ramificação) , obviamente). Quando o comutador é fechado, esse nó ganha um potencial de + 5V.

Isso é usado para controlar as entradas de ICs lógicos (portas AND, portas OR, etc), pois esses circuitos se comportarão de maneira irregular se não houver um valor determinado em suas entradas (um valor 0 ou 1). Se você deixar a entrada de uma porta lógica flutuante, a saída não poderá ser determinada com segurança; portanto, é aconselhável sempre aplicar uma entrada determinada (a 0 ou 1, novamente) à entrada da porta. Nesse caso, P2 seria uma entrada para um portão lógico específico e, quando o comutador estiver aberto, ele terá um valor de entrada 0 (GND); quando o interruptor está fechado, ele tem um valor de entrada de 1 (+ 5V).


2

corrente segue o caminho de menor resistência

Não sei de onde vem esse equívoco comum, mas é realmente errado, pois contradiz diretamente a lei de Ohm. A corrente toma todos os caminhos possíveis , inversamente proporcionais à sua resistência. Se você aplicar 5V a um resistor de 10k, 0,5mA fluirá através dele, independentemente de quantos caminhos alternativos (baixa resistência ou outros) você fornecer.

Aliás, esse caminho através do resistor de 100 Ohm não é necessariamente "menor resistência", pois o resistor não está conectado ao terra . Normalmente, você conectaria esse resistor a uma entrada do MCU com impedância> 10 MOhm, tornando efetivamente o resistor de 10k o caminho de menor resistência.


1

A razão pela qual o resistor pull-down é necessário é que o microcontrolador é um dispositivo CMOS e, portanto, o pino de entrada é, em última análise, o portão de um MOSFET.

Se o seu botão de pressão controlasse uma lâmpada, um LED ou um relé, você não precisaria de um resistor de pull-down porque um circuito aberto estaria "desligado". Quando o botão era solto, a lâmpada desligava porque nenhuma corrente fluía.

Se o seu dispositivo fosse uma peça TTL verdadeira, como os chips lógicos originais da série 7400, você não precisaria do resistor de pulldown porque essas entradas seriam transistores bipolares e quando o botão era liberado, nenhuma corrente fluía através da junção do emissor base e a entrada seria "fora".

Por outro lado, a entrada do seu microcontrolador é uma porta MOSFET que funciona como um capacitor. Quando a tensão do portão é alta o suficiente, a entrada está "ligada". Isso acontece quando você pressiona o botão e a corrente flui através do resistor 100R para o microcontrolador. O portão carrega (muito rapidamente) como um capacitor e a entrada fica "ligada". Agora, o que acontece quando você solta o botão? Não há mais fluxos de corrente. Mas o que isso significa para a entrada? Se não houver resistor suspenso, a carga no portão não tem para onde ir. A voltagem fica perto de 5V e a entrada ainda está "ligada". O resistor de pull-down drena a carga do portão, de modo que sua tensão cai abaixo do nível "on". É isso que você deseja garantir que a entrada digital seja considerada "desligada".

Você pode experimentar isso conectando dois botões ao seu pino de entrada. Amarre um a 5V e um ao terra. Quando você pressiona o botão 5V, a entrada liga. Quando você o soltar, ele permanecerá ligado até você pressionar o que está conectado ao GND.


No TTL, é de fato a junção do emissor base que não conduz, mas não da maneira que você imagina: a entrada é o emissor do transistor NPN de entrada e o transistor conduz se a entrada for reduzida. Flutuar é o mesmo que alto.
Stevenvh
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.