Como sei se preciso de um resistor pull up ou pull down para um pino GPIO?


8

Eu já vi muitos microcontroladores usarem resistores pull up ou pull down como uma configuração para pinos GPIO ou como parte do hardware.

Como sei se preciso de um resistor de puxar para cima ou para baixo para um pino GPIO e se preciso, como sei qual é o certo para a minha aplicação?

Respostas:


6

Você precisa de um resistor de puxar para cima ou para baixo em uma linha cujo nível de tensão, pelo menos às vezes, seja "imprevisível" - por exemplo, uma entrada flutuante, mas também uma linha I2C.

Se você deseja que o padrão da linha seja 1 digital, use um pull up. Se você deseja que seja um 0 digital, use um menu suspenso.

Um exemplo muito típico é um botão. Suponha que o software espere que um pino seja pressionado quando um botão for pressionado. No pino correspondente, você puxa para cima e o botão conecta o pino ao terra.


3

No layout final, também é altamente recomendável puxar todos os pinos não utilizados para o nível apropriado. Não os deixe desconectados, pois isso pode causar um comportamento imprevisível na hora de início ou durante o programa em execução.


0

Se você o puxa para cima ou para baixo, depende realmente de você e das necessidades do seu projeto.

Como mencionado anteriormente

Se seu código estiver sendo acionado em uma borda descendente ou a 0, convém usar um pull up para manter o nível alto quando não for usado.

Se o seu código está procurando disparar em uma borda ascendente ou a 1, convém usar um pull-down para manter o potencial em 0, mas sua fonte externa o puxa.

Agora, os resistores de tração devem ter um alto valor ôhmico, suficiente para superar o ruído que você precisa eliminar, mas não tão forte que seu soucre externo não possa superá-lo.

Geralmente, puxando para baixo, você economizará alguns mA de energia.

Digamos que temos um pull de 5k a 5v, ou seja, 1mApor pino; ao ficar sem baterias, todo mA é precioso.

Quando puxamos para baixo, geralmente estamos apenas queimando o ruído EMF, consumindo um número insignificante de mAs.


um pullup não consumiria nominalmente nenhuma corrente quando a linha não estiver baixa, e da mesma forma uma corrente residual de pulldown quando a linha estiver alta?
John O'M.

Normalmente, um resistor pull-up / down é suficiente para que o sinal "padrão" desejado seja alcançado, tipicamente Vin ou Gnd. Para esse fim, eles costumam ter cerca de 10k ou mais, portanto, se você conduzir a linha HIGH enquanto um resistor pull-down estiver conectado, você desperdiçará apenas Vhigh / 10k amp. Se Vhigh for 5V, isso equivale a 0,5mA.
Chuck
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.