Esclarecimento do resistor pull-up


12

Eu sou muito novo em eletrônica e estou tendo dificuldades para entender o princípio do "resistor de pull-up". Eu li muitos artigos sobre isso e acho que entendi, mas não tenho 100% de certeza, então tenho uma pergunta. No presente artigo , após a primeira imagem, ela diz:

Quando o botão momentâneo é pressionado, ele conecta o pino de E / S ao Vcc e o microcontrolador registra a entrada como alta.

Mas eu não entendo. Onde fica o VCC? Pelo que vejo, não há fonte de energia nesse esquema, apenas um microcontrolador conectado a um botão que é conectado ao terra, então como pode haver alguma voltagem nesse circuito?


Eu acho que eles estão se referindo às imagens 2 e 3 quando mencionam Vcc essas imagens têm VCC.
axk

2
Lembre-se de que U1 é uma porta lógica, que implica conexões de energia e terra no IC real. Estes não são desenhados para simplificar o diagrama de circuitos.
Ryan Griggs

5
Eu diria que é um erro no artigo. Uma vez pressionado, o botão está conectando a entrada do gate ao GND, não ao Vcc.
Eugene Sh.

Eu concordo com Eugene, é um artigo ruim. Encontre uma fonte melhor.
pipe

2
Parece que o autor desse artigo pode ter mudado de idéia entre fazer o desenho e escrever o texto. Deveria dizer "... pino de E / S para terra, e a porta NOT registraria a entrada como baixa". Esse parágrafo inteiro é geralmente confuso.
Peter Bennett

Respostas:


32

O artigo parece bastante confuso: o texto e as figuras não correspondem. Vou tentar apresentar aqui os mesmos três esquemas que existem, com uma explicação esperançosa.

Suponha que U1 seja seu microcontrolador e P1 seja um pino de E / S configurado como entrada. (Pode ser qualquer porta lógica, na verdade.) Outras conexões com o U1 não são tão relevantes, portanto não são exibidas, mas suponha que ele tenha conexões de energia e outras necessidades.

(1) Se o botão for pressionado, a porta P1 será conectada ao terra e detectará um nível lógico baixo. Mas quando o botão é liberado, a porta não está conectada a lugar algum, mas é flutuando . Não existe tensão definida, portanto, mesmo ruídos menores podem fazer com que a entrada digital mude de um valor para outro. Também pode oscilar e causar aumento no consumo de energia. Não é bom.

(2) Agora, quando o botão não estiver pressionado, a porta sentirá um nível alto, pois está conectada diretamente ao Vcc. Porém, se o botão for pressionado, o Vcc ficará em curto-circuito até o chão e a fonte de energia provavelmente queimará e morrerá. Pior ainda.

(3) Aqui, se o botão não for pressionado, a porta novamente sentirá um alto nível lógico: está puxado alto através do resistor. (Não há perda de tensão no resistor, pois a impedância da entrada digital é muito alta e, portanto, a corrente na porta é aproximadamente zero.)

Quando o botão é pressionado, a porta é conectada diretamente ao terra, para detectar um nível baixo. Agora, uma corrente fluirá de Vcc para o terra, mas o resistor a limitará a algo sensível. Isso é bom.

Neste esquema, um botão não pressionado lê como um valor alto (1) e um botão pressionado lê como baixo (0). Isso é chamado de lógica ativo-baixo . Trocar o resistor e o interruptor inverteria isso, de modo que um botão não pressionado lesse como baixo (0) e um botão pressionado como alto (1). ( lógica ativa alta ).

esquemático

simular este circuito - esquemático criado usando o CircuitLab


Eu acho que essa é uma boa explicação para um iniciante em eletrônica entender o tópico. +1 para diagrama e linguagem simples.
Mark Ch

Então, se eu entendi direito, o que negligenciei é o fato de o U1 estar realmente conectado ao Vcc, por que, no primeiro esquema, se o botão for pressionado, uma corrente pode passar? Uma segunda pergunta, quando você diz no ponto 3 que "mas como a impedância de entrada de uma porta de E / S digital é bastante alta, não importa", você quer dizer que 0 corrente irá para P1 ou uma corrente tão pequeno (devido à impedância da entrada) que quase será igual a 0 => baixo nível? Obrigado pela boa explicação de qualquer maneira! I marcar seu post como uma resposta por causa dos esquemas :-P
ssougnez

1
"pode ​​não sentir" ... Dizemos que a entrada pode "flutuar" e serpentear através de uma gama de potenciais. O resistor de pull-pull puxa a entrada "alto". NB a corrente não importa (sim, é pequena), apenas a tensão. As coisas ficam um pouco mais complexas para circuitos sujeitos a condições de "corrida".
Mckenzm #

@mckenzm Eu entendi agora. E você disse que o que importa é a tensão, então isso significa que o ruído do ambiente pode criar uma tensão alta o suficiente para colocar o portão em um estado alto?
ssougnez 8/09/16

Ou apenas o processo de fabricação, isso é muito comum agora para os chips incorporados nos cartões de crédito. Os leitores possuem resistores. É um ponto de falha de vez em quando.
Mckenzm 9/09/16

11

Um resistor pull-up ou pull-down "mantém" a entrada em um nível específico quando não há entrada no pino, em vez de permitir que a entrada flutue.

Quando você considera a Figura 1 em seu desenho, manter o interruptor aberto não fornece conexão elétrica ao pino, permitindo assim interferências dispersas, vazamentos internos etc. para influenciar a tensão do pino de entrada. Essas influências externas podem fazer com que a entrada seja interpretada como um valor flutuante, causando oscilação indesejada ou saída inesperada.

Portanto, para garantir que o pino seja mantido em um estado "conhecido", ele sempre deve estar conectado ao VCC ou ao GND. Veja a figura 2. No entanto, há um problema: se você conectar o pino ao VCC para mantê-lo em um estado "alto", conecte seu comutador ao GND e pressione o comutador, você cria um curto direto! Você pode queimar o fusível, danificar sua fonte de alimentação, queimar algo, etc.

Portanto, em vez de conectar a entrada diretamente ao VCC ou GND, você pode conectar a entrada através de um resistor pull-up / pull-down. Na figura 3, eles usam um resistor pull-up, conectando a entrada ao VCC.

Quando não há outra entrada no pino, quase zero corrente flui através do resistor de pull-up. Portanto, há muito pouca queda de tensão nele. Isso permite que toda a tensão VCC seja vista no pino de entrada. Em outras palavras, o pino de entrada é mantido "alto".

Quando sua chave está fechada, a entrada e o resistor pull-up são conectados ao GND. Alguma corrente começa a fluir através do pull-up. Mas como é uma resistência muito maior do que o fio que leva ao GND, quase toda a tensão cai através do resistor de pull-up, causando a presença de ~ 0 volts no pino de entrada.

Você selecionaria um resistor de valor relativamente alto para limitar o fluxo de corrente a um valor razoável, mas não muito alto para exceder a resistência interna da entrada.

Os resistores pull-up permitem manter a entrada em um estado conhecido quando nenhuma entrada está presente, mas ainda oferecem a flexibilidade de inserir um sinal sem criar um curto.


Obrigado por esta explicação, é realmente claro. Eu tinha muitas respostas para esta discussão e, infelizmente, só posso selecionar uma como resposta aceita. Eu escolhi outro por causa dos esquemas, mas o seu também é muito claro. Eu votei nele.
ssougnez

6

O artigo é confuso, mas aqui está a essência. O inversor possui uma alta impedância de entrada e não deve ser deixado flutuando, pois pode assumir uma lógica 0 ou lógica 1 ou oscilar entre os dois.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

  • (a) Sem um pull-up, exigiríamos que um comutador alternasse entre Vss e GND (terra). Esse arranjo mudaria firmemente a entrada de uma maneira ou de outra, mas há um problema durante a troca dos contatos da chave quando a entrada está flutuando momentaneamente. Isso pode causar oscilação na presença de interferência eletromagnética (EMI), por exemplo.
  • (b) resolve dois problemas: usa uma chave mais simples e, na ausência de fechamento da chave, a entrada é puxada para cima. Quando o interruptor está fechado, a entrada é puxada para baixo.
  • (c) mostra o mesmo arranjo inverso. O interruptor aberto puxa baixo.

O arranjo em (b) é mais comum, pois muitos dispositivos lógicos de IC têm resistores de pull-up internos, resultando em menor contagem de componentes e área de PCB ao usar esse arranjo.

Observe que energia e terra são assumidos em muitos esquemas. No caso de portas lógicas, por exemplo, existe uma conexão Vss e terra comum para 2, 4 ou 6 portas lógicas. Não faria sentido mostrá-los para cada porta, para que sejam assumidos ou mostrados separadamente com os capacitores de desacoplamento que o acompanham em outras partes do esquema.


Obrigado por esta boa resposta. Eu tenho uma pergunta sobre algo que você disse. "O arranjo em (b) é mais comum como ...". Não é "um problema" ter um resistor de pull-up em vez de um pull-down? De fato, o pull-up sempre consumirá corrente até que o botão seja pressionado e podemos assumir que, na maioria das vezes, o botão não é pressionado, portanto isso significa que o circuito consumirá corrente enquanto estiver inativo.
ssougnez

@ssougnez: Em vez de postar perguntas como comentários, geralmente é melhor postar perguntas como novas perguntas de nível superior - ou já foram respondidas em electronics.stackexchange.com/questions/113009/… ou electronics.stackexchange.com/ perguntas / 254037 /… ?
Davidcary

@ssougnez Qualquer resistor consumirá a corrente que a entrada puxar. E a corrente será consumida quando o interruptor for fechado, novamente, por mais que a entrada seja puxada. Depende da aparência do circuito de entrada.
David Schwartz

@ssougnez: Parte disso é por razões históricas. As entradas nos chips TTL , por exemplo, não consumiram corrente quando deixadas flutuando alto. Puxar baixo consumiu alguma corrente. Isso significava que era mais eficiente em termos de energia diminuir quando necessário. Projetos modernos usam entradas baseadas em FET que têm a mesma impedância de entrada quando alta ou baixa, para que não faça nenhuma diferença. Geralmente, é mais fácil e mais definitivo mudar para o terra do que mudar para uma fonte positiva - principalmente quando estão envolvidos trilhos de potência de tensão mista.
Transistor

4

Bem, é um portão NÃO então acho que devemos imaginar um pino de E / S conectado onde esse LED é exibido incorretamente sem um resistor em série. Quando você conecta a entrada ao terra, a saída deve ir para Vcc (que também pode ser chamada de Vdd, que é outra história).

É bastante normal não mostrar os pinos de energia nos portões lógicos. Isso é apenas para reduzir a desordem no esquema. Observe que o pino de energia à terra na porta lógica também não é mostrado.

Isso fica um pouco confuso (ocultando os pinos) quando você tem tensões lógicas mistas, como 1,8, 3,3 e 5V na mesma placa, por isso não costumo fazer isso sozinho, mas economizou um monte de confusão nos dias felizes quando tudo correu de 5V.

esquemático

simular este circuito - esquemático criado usando o CircuitLab


Seria possível, não é pedir muito, para me mostrar um exemplo completo desse circuito? Eu gostaria de poder visualizar corretamente o circuito sem o resistor de pull-up para poder ver também a imagem global. Obrigado
ssougnez 7/09/16

Veja editar. Internos simplificados do inversor (geralmente mais transistores para buffer e pelo menos alguns diodos de proteção). A entrada flutua quando o interruptor não é pressionado, mas quando pressionado, a saída é definitivamente alta (M1 está ligado e M2 está desligado).
Spehro Pefhany

A porta de E / S à direita no seu esquema não seria puxada para alguma tensão conhecida através do LED, em vez de estar realmente flutuando? Acho que o artigo se refere à entrada do gate NOT quando diz "pino de E / S". No texto após a Figura 1, apenas confunde Vcc com GND no solo. Após a Figura 2, eles estão no caminho certo novamente.
Ilkkachu

Não, o LED não afetará a tensão o suficiente para se preocupar (ainda será uma lógica 1 ou lógica 0). Como eu disse inicialmente, acho que não se refere à entrada do gate NOT. Não é um microcontrolador e é apenas uma entrada, não um pino de E / S, mas na verdade a página não é tão clara para um iniciante.
Spehro Pefhany

Obrigado, está mais claro agora, graças à sua resposta e a todas as outras. I upvoted seu ;-)
ssougnez

2

O resistor pull-up ou pull-down deve fixar um nível lógico (0 em GND ou 1 em VCC). O resistor tem maior impedância que o botão. Quando você pressiona o botão, o nível pode mudar (se estiver conectado corretamente).

O "não portão" que representa o MCU nas figuras é muito básico e o autor omitiu o suprimento de VCC. Obviamente, nas figuras 2 e 3, o Vcc está presente e bem conectado.

O sentimento que você escolheu foi explicar a lógica do "ativo alto". O que corresponde à figura 1 é

Usando um resistor de pull-up, o pino de E / S normalmente vê uma lógica alta e, quando o botão é pressionado, exibe uma baixa


1

Como as entradas flutuantes no CMOS podem vazar para níveis de entrada falsos, é mais propenso a ruídos dispersos, uma entrada oculta R na porta de entrada do uC com comutador para terra ou uma polarização externa R para um trilho de alimentação Vdd ou Vss e alterne para o trilho oposto.

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.