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?
Respostas:
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 ).
simular este circuito - esquemático criado usando o CircuitLab
fonte
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.
fonte
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.
simular este circuito - esquemático criado usando o CircuitLab
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.
fonte
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.
simular este circuito - esquemático criado usando o CircuitLab
fonte
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 é
fonte
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.
fonte