← Wiki · Concepto

Resistencias de pull-up y pull-down

Una resistencia a la alimentación (pull-up) o a masa (pull-down) le da a un pin un nivel definido cuando nada más lo controla.

Por qué#

Una entrada que no está conectada a nada flota: capta ruido y lee valores aleatorios. Una resistencia de pull-up (a 3V3) hace que lea 1 hasta que algo la lleve a nivel bajo; una de pull-down (a GND) hace que lea 0 hasta que algo la ponga en alto. La resistencia es débil a propósito, para que un pulsador o una salida puedan imponerse fácilmente.

Dónde la necesitas#

Señal Resistencia
Pulsador a GND pull-up de 10 kΩ (o la interna del chip)
SDA y SCL de I²C pull-ups de 4.7 kΩ a 3V3, una vez por bus
EN y pines de strapping de arranque del ESP32 pull-ups de 10 kΩ, según la hoja de datos
Puerta de MOSFET controlada por un GPIO pull-down de 10–100 kΩ, para que la carga siga apagada durante el reset
CC de USB-C (dispositivo) pull-downs de 5.1 kΩ, mira USB-C
Circuito de ejemplo: R1/R2 llevan las líneas I²C a 3V3 (los dispositivos I²C solo tiran a nivel bajo). R3 mantiene baja la puerta del MOSFET mientras el microcontrolador todavía arranca.
R1/R2 llevan las líneas I²C a 3V3 (los dispositivos I²C solo tiran a nivel bajo). R3 mantiene baja la puerta del MOSFET mientras el microcontrolador todavía arranca. Abre el ejemplo pullups_i2c de esta página en PCB Canvas: «Insertar en mi esquemático».

Cómo elegir el valor#

  • Demasiado bajo desperdicia corriente mientras la línea está llevada al otro nivel (3.3 V / 1 kΩ = 3.3 mA) y puede sobrecargar al que la controla.
  • Demasiado alto hace los flancos lentos y la línea sensible al ruido. I²C a 400 kHz necesita ≤ 4.7 kΩ en un bus típico; 10 kΩ va bien para pulsadores.
  • Los pull-ups internos (30–100 kΩ) sirven para pulsadores con cables cortos, pero son demasiado débiles para I²C con cables.

Errores comunes#

  • Dos módulos I²C, cada uno con sus propios pull-ups, está bien; cinco en paralelo (≈1 kΩ) es demasiado fuerte. Quita los que sobran.
  • Un pull-up a 5 V en un pin de un chip de 3.3 V le mete 5 V.