Regulador de voltaje 7805: conexión, condensadores y disipador
Cómo conectar el regulador de voltaje 7805: pines, condensadores de 0,33 µF y 0,1 µF, dropout, cálculo de calor y disipador, serie 78xx, AMS1117-3.3 y buck.
El regulador de voltaje 7805 es un circuito integrado barato de tres patillas que toma una tensión alta o inestable de entre 7 y 35 V y la convierte en unos 5 V estables. Es la forma más sencilla de obtener 5 V limpios para Arduino, sensores y módulos de relé a partir de un adaptador de 12 V, la batería del coche o un pack de pilas: solo tienes que añadir dos condensadores pequeños. Pero el 7805 funciona convirtiendo el voltaje sobrante en calor, así que conocer la conexión correcta, los límites de la tensión de entrada y cuánto se va a calentar es la clave para que el circuito funcione con seguridad.
En esta guía aprenderás paso a paso qué es un regulador de voltaje, los pines del 7805 y cómo conectarlo con condensadores de 0,33 µF y 0,1 µF, qué es la tensión de dropout, cómo calcular el calor con P = (Vin − Vout) · I y cómo elegir un disipador. Después veremos la familia 78xx, el LDO AMS1117-3.3 para módulos de 3,3 V, la diferencia entre reguladores lineales y conmutados (buck), el regulador propio de Arduino y el límite de Vin, y terminaremos con código que mide el regulador con Arduino, ESP32 y Raspberry Pi Pico.

¿Qué es un regulador de voltaje y cómo funciona?
Un regulador de voltaje es un circuito que mantiene una tensión constante en su salida aunque cambien la tensión de entrada o la corriente que consume la carga. El 7805 es un regulador lineal: dentro tiene un transistor de potencia en serie entre la entrada y la salida, una tensión de referencia interna que no varía con la temperatura y un amplificador de error que compara constantemente la salida con esa referencia. Si la salida baja de 5 V, el transistor conduce un poco más; si sube, se cierra un poco. En resumen, el transistor se comporta como una resistencia que se ajusta sola y soporta la tensión sobrante entre entrada y salida. Esa tensión multiplicada por la corriente se convierte en calor, y por eso el 7805 es tan sencillo y a la vez se calienta.
Las dos últimas cifras de la familia 78 indican la tensión de salida: el 7805 da 5 V y el 7812 da 12 V. Las letras del principio solo identifican al fabricante; LM7805, L7805CV, MC7805 y KA7805 hacen el mismo trabajo. El chip incluye limitación de corriente, apagado por sobretemperatura y protección del área de funcionamiento seguro. Por eso rara vez se estropea aunque la salida entre en cortocircuito: simplemente limita la corriente o se apaga hasta que se enfría.
| Característica | Valor |
|---|---|
| Tensión de salida | 5 V (±4 %: 4,8–5,2 V) |
| Tensión de entrada | 7–25 V recomendado, máximo absoluto 35 V |
| Dropout (diferencia mínima) | Típico 2 V (a 1 A) |
| Corriente de salida | 1 A, hasta 1,5 A con buena refrigeración |
| Corriente de cortocircuito | Unos 2 A (limitación interna) |
| Corriente de reposo (Iq) | Típica 3–5 mA, máximo 8 mA |
| Resistencia térmica (TO-220) | Unión a cápsula 4–5 °C/W, al aire sin disipador 50–65 °C/W |
| Protección térmica | Se apaga con una temperatura de unión de unos 150 °C |
| Encapsulados | TO-220 (1 A), D2PAK, DPAK; el pequeño 78L05 en TO-92 (100 mA) |
Pines del 7805 y esquema de conexión
Si sujetas el 7805 con la cara impresa hacia ti y las patillas hacia abajo, los pines de izquierda a derecha son 1: Entrada (IN), 2: GND y 3: Salida (OUT). La lengüeta metálica con el agujero también está conectada a GND, así que puedes atornillar el 7805 sin aislante a un disipador o a una caja metálica unidos a la masa del circuito. La GND del lado de entrada y la del lado de salida son el mismo punto: la fuente, el regulador y la placa que alimentas deben compartir una masa común. La tabla muestra dónde va la salida del 7805 en cada placa.
| Pin del 7805 | Se conecta a | Arduino Uno | ESP32 DevKit | Raspberry Pi Pico |
|---|---|---|---|---|
| 1 – Entrada (IN) | Positivo de la fuente de 7–25 V + 0,33 µF | No se conecta | No se conecta | No se conecta |
| 2 – GND | Negativo de la fuente y extremo común de los condensadores | GND | GND | GND (p. ej. pin 38) |
| 3 – Salida (OUT) | Línea de 5 V + 0,1 µF | Pin 5V | Pin 5V (VIN) | VSYS (pin 39), con un diodo Schottky |
Condensadores: ¿por qué 0,33 µF y 0,1 µF?
El circuito estándar de las hojas de datos de los fabricantes lleva un condensador de 0,33 µF en la entrada y uno de 0,1 µF en la salida (algunos fabricantes indican 0,22 µF en la entrada). El de entrada evita oscilaciones causadas por la inductancia de los cables cuando el regulador está lejos del condensador de filtro de la fuente. El de salida no es imprescindible para la estabilidad, pero hace que la tensión varíe menos ante cambios bruscos de carga. Ambos deben ser cerámicos y colocarse lo más cerca posible de las patillas. Un condensador cerámico de 0,33 µF lleva el código 334 y uno de 0,1 µF el 104; para descifrar otros códigos usa la calculadora de código de condensadores.
En la práctica conviene añadir un electrolítico junto a cada uno de esos condensadores pequeños: 10–100 µF en la entrada suavizan el rizado de la fuente y 10–47 µF en la salida reducen las caídas de tensión con cargas que piden corriente de golpe, como servos, relés o módulos Wi-Fi. Si pones más de 10 µF en la salida, coloca un diodo 1N4001 de la salida a la entrada (en inversa durante el funcionamiento normal) por si la entrada se cortocircuita: si la entrada cae de golpe a cero, el condensador grande se descarga por ese diodo y no a través del regulador. Un segundo 1N4001 en serie con la entrada protege contra la inversión de polaridad, aunque añade una caída de unos 0,7 V. Para tipos y polaridad, consulta qué es un condensador y qué es un diodo.
Paso a paso: fuente de 5 V con un 7805 en la protoboard
- Coloca el 7805 en la protoboard con cada patilla en una columna distinta y la cara impresa hacia ti.
- Conecta el positivo de la fuente (por ejemplo, un adaptador de 9 V) a la patilla 1, la entrada, y el negativo a la patilla 2, GND. Si quieres, añade un 1N4001 en serie con el positivo para proteger contra la inversión de polaridad.
- Coloca el condensador cerámico de 0,33 µF (334) entre la entrada y GND, en los agujeros más cercanos a las patillas.
- Coloca el condensador cerámico de 0,1 µF (104) y, opcionalmente, un electrolítico de 10–47 µF entre la salida (3) y GND; la patilla larga del electrolítico va al positivo.
- Antes de conectar una carga, mide la salida con el multímetro: deberías ver entre 4,8 y 5,2 V.
- Conecta la salida al pin 5V del Arduino y GND a la GND del Arduino. Evita usar el USB y la fuente externa a la vez mientras cargas código.
- Tras unos minutos de funcionamiento, comprueba la temperatura del regulador; si se calienta mucho, añade un disipador según el cálculo de calor de más abajo o baja la tensión de entrada.
Tensión de dropout: ¿cuántos voltios necesita la entrada como mínimo?
Para que un regulador lineal mantenga estable la salida, la entrada tiene que estar cierta cantidad por encima de la salida; esa diferencia mínima se llama tensión de dropout. En el 7805 el dropout típico es de 2 V a 1 A, así que para 5 V de salida necesitas al menos 7 V en la entrada, y las condiciones de prueba de la hoja de datos también empiezan en 7–7,5 V. Si la diferencia baja de ahí, el regulador ya no puede regular y la salida sigue a la entrada unos 2 V por debajo: con 6 V de entrada, la salida cae a unos 4 V, el Arduino se reinicia o las lecturas analógicas se desvían.
Lo que importa no es el valor medio, sino el punto más bajo de la entrada. En una fuente clásica con transformador, puente rectificador y condensador de filtro, la tensión ondula en cada semiciclo; el rizado se estima con ΔV = I / (100 · C) (red de 50 Hz, rectificación de onda completa; en redes de 60 Hz usa 120 en lugar de 100). Con 500 mA de carga y 2200 µF, ΔV ≈ 2,3 V. Un transformador de 9 V de alterna rectificado llega a unos 11,3 V de pico, así que el valle del rizado queda en torno a 9 V; está por encima de 7 V y es suficiente. Por la misma lógica, una pila de 9 V cae rápido por debajo de 7 V con carga, y por eso alimentar un 7805 con una pila de 9 V dura poco. Para opciones con pilas, mira la guía para alimentar Arduino con batería.
Cálculo del calor: P = (Vin − Vout) · I
La corriente que el 7805 toma en la entrada es casi igual a la que entrega en la salida; la diferencia es solo una corriente de reposo de unos pocos miliamperios. Por eso la potencia que se convierte en calor en el regulador es P = (Vin − Vout) · I, y el rendimiento es aproximadamente Vout / Vin. Ejemplo: si alimentas un circuito de 500 mA desde un adaptador de 12 V, se generan P = (12 − 5) × 0,5 = 3,5 W de calor. Frente a 2,5 W que llegan a la carga, se pierden 3,5 W y el rendimiento es de solo el 42 %. Si alimentas el mismo circuito con 7,5 V, la pérdida baja a 1,25 W. Es decir, una tensión de entrada más alta de lo necesario no sirve más que para cargar al regulador con calor extra. Para repasar la relación entre corriente, tensión y potencia, echa un vistazo al artículo sobre la ley de Ohm.
| Entrada (Vin) | 100 mA | 300 mA | 500 mA | 1 A |
|---|---|---|---|---|
| 7 V | 0,2 W | 0,6 W | 1,0 W | 2,0 W |
| 9 V | 0,4 W | 1,2 W | 2,0 W | 4,0 W |
| 12 V | 0,7 W | 2,1 W | 3,5 W | 7,0 W |
| 24 V | 1,9 W | 5,7 W | 9,5 W | 19 W |
Cómo elegir el disipador
La temperatura de unión se calcula con Tj = Tambiente + P · θ; θ (theta) es la resistencia térmica, en °C/W. Un encapsulado TO-220 sin disipador tiene una resistencia térmica de la unión al aire de 50–65 °C/W: 1 W de pérdida sube el chip 50–65 °C por encima del ambiente. En un diseño seguro la unión se mantiene por debajo de 125 °C, lo que en una habitación a 25 °C supone como mucho unos 1,5 W sin disipador. Si el interior de la caja llega a 50–60 °C, el límite baja a 1 W. Cualquier caso de la tabla anterior que supere 1 W debería hacerte pensar en un disipador.
Para más potencia, calcula la resistencia térmica del disipador: θtotal = θJC + θCS + θSA. En el 7805, θJC (unión a cápsula) ronda los 5 °C/W y θCS (cápsula a disipador) con pasta térmica unos 0,5–1 °C/W. En el ejemplo de 3,5 W, para mantener la unión a 110 °C dentro de una caja a 40 °C hace falta θtotal ≤ (110 − 40) / 3,5 = 20 °C/W, de modo que el propio disipador debe tener θSA ≤ 20 − 5 − 1 = 14 °C/W. Los disipadores pequeños de clip para TO-220 suelen tener 20–30 °C/W y no bastan; necesitas un disipador de aluminio con aletas de tamaño medio. Los fabricantes indican este valor en °C/W en sus catálogos.
- Usa pasta térmica: la fina capa de aire entre la cápsula y el disipador reduce mucho la transferencia de calor; basta con una capa fina de pasta.
- La lengüeta es GND: en los 78xx la lengüeta metálica está unida a GND, así que no hace falta aislar el disipador y varios 78xx pueden compartirlo. En los 79xx la lengüeta está unida a la entrada y hay que aislarla con una lámina de mica y un casquillo de plástico.
- No confíes en la protección térmica: un 7805 sobrecalentado se apaga y vuelve a encenderse al enfriarse. La salida se corta cada pocos segundos y el Arduino se reinicia sin parar; es una protección de último recurso, no un funcionamiento normal.
- Reparte el calor: lo más eficaz es bajar la entrada. Para sacar 5 V de 24 V, baja primero a 7–8 V con un convertidor buck y usa el 7805 solo como última etapa.
La serie 78xx: 7805, 7809, 7812 y otros
| Modelo | Salida | Entrada mínima | Entrada máxima | Uso típico |
|---|---|---|---|---|
| 7805 | 5 V | 7 V | 35 V | Arduino, sensores, módulos de relé |
| 7808 | 8 V | 10,5 V | 35 V | Alimentación intermedia para el Vin de Arduino |
| 7809 | 9 V | 11,5 V | 35 V | Circuitos de 9 V, Vin de Arduino |
| 7812 | 12 V | 14,5 V | 35 V | Ventiladores y relés de 12 V (poca corriente) |
| 7815 | 15 V | 17,5 V | 35 V | Circuitos con amplificadores operacionales |
| 7824 | 24 V | 27 V | 40 V | Sensores industriales de 24 V |
| 78L05 | 5 V, 100 mA | 7 V | 30 V | Encapsulado TO-92, circuitos de poca corriente |
| 7905 | −5 V | −7 V | −35 V | Alimentación negativa (orden de pines distinto) |
Si necesitas una tensión ajustable, usa el primo de la familia, el LM317: con dos resistencias da cualquier salida entre 1,25 y 37 V, calculada con Vout = 1,25 × (1 + R2 / R1) (R1 suele ser de 240 Ω). Las reglas de calor y dropout son las mismas que en el 7805. El 78M05 de 500 mA es la versión de potencia media que se ve a menudo en placas de montaje superficial. Elijas el modelo que elijas, la regla no cambia: la entrada mínima debe estar unos 2–3 V por encima de la salida.
LDO AMS1117-3.3: para módulos de 3,3 V
El ESP32, la Raspberry Pi Pico, el nRF24L01 y muchos sensores funcionan a 3,3 V. Con un 7805 no puedes obtener 3,3 V; la opción más común para eso es el AMS1117-3.3. El AMS1117 es un regulador LDO (low dropout, de baja caída): a 800 mA su dropout es típicamente de 1,1 V y como máximo de 1,3 V, así que saca 3,3 V de 5 V sin problemas. Puede dar hasta 1 A, admite como máximo 15 V en la entrada y consume unos 5 mA en reposo. También es el regulador que baja los 5 V a 3,3 V en la mayoría de placas de desarrollo ESP32.

En el encapsulado SOT-223 del AMS1117 el orden de pines es distinto al del 7805: 1: GND/ADJ, 2: Salida, 3: Entrada, y la lengüeta grande está unida a la salida. La hoja de datos recomienda un condensador de tantalio de 22 µF en la salida para la estabilidad; los módulos listos para usar traen condensadores de 10 µF y funcionan bien con cargas normales, pero si montas tu propio circuito pon 22 µF en la salida. Es más sensible al calor: la resistencia térmica del SOT-223 va de 46 a 90 °C/W según el área de cobre de la placa, y el fabricante no garantiza la regulación por encima de unos 1,2 W. De 5 V a 3,3 V con 300 mA, P = 1,7 × 0,3 = 0,51 W, sin problema; pero de 12 V a 3,3 V la misma corriente supone 2,6 W y el módulo entra pronto en protección térmica.
| Regulador | Salida | Dropout | Entrada máx. | Corriente máx. | Corriente de reposo |
|---|---|---|---|---|---|
| 7805 (TO-220) | 5 V | ~2 V | 35 V | 1–1,5 A | 3–8 mA |
| AMS1117-3.3 (SOT-223) | 3,3 V | 1,1–1,3 V | 15 V | 1 A | ~5 mA |
| AMS1117-5.0 (SOT-223) | 5 V | 1,1–1,3 V | 15 V | 1 A | ~5 mA |
| MCP1700-3302 (TO-92 / SOT-23) | 3,3 V | ~0,18 V (250 mA) | 6 V | 250 mA | 1,6 µA |
En un proyecto que debe funcionar meses con pilas, la corriente de reposo importa tanto como el dropout: el AMS1117 consume unos 5 mA aunque no alimente nada, cientos de veces lo que gasta un ESP32 en deep sleep. Para sacar 3,3 V de una sola celda de litio (3,0–4,2 V), la caída de 1,1 V del AMS1117 también es excesiva: incluso con la celda cargada a 4,2 V la salida se queda en torno a 3,1 V y baja a medida que se descarga. En estos proyectos se prefieren LDO como el MCP1700, con corriente de reposo de microamperios y menos de 0,2 V de dropout.
¿Lineal o conmutado (buck)?
Un regulador conmutado buck (reductor) no quema el voltaje sobrante en forma de calor: conmuta la entrada decenas de miles de veces por segundo y transfiere la energía a la salida almacenándola en una bobina y un condensador. Así el rendimiento sube al 80–95 % y la corriente que se toma de la entrada es menor que la de salida. Por ejemplo, los módulos basados en el LM2596 dan una salida ajustable de hasta 3 A con 4,5–40 V de entrada y conmutan a 150 kHz. El precio es un rizado de conmutación de unas decenas de milivoltios en la salida, ruido electromagnético y más componentes. El ajuste y la conexión del módulo están en el artículo sobre el reductor de voltaje LM2596.
| 12 V → 5 V, carga de 1 A | 7805 (lineal) | LM2596 (buck, ~85 % de rendimiento) |
|---|---|---|
| Corriente de entrada | ≈ 1 A | ≈ 0,49 A |
| Potencia perdida en calor | 7 W | ≈ 0,9 W |
| Rendimiento | 42 % | ~85 % |
| Disipador | Imprescindible uno grande | Normalmente no hace falta |
| Ruido en la salida | Muy bajo | Rizado de decenas de mV |
| Número de componentes | 1 integrado + 2 condensadores | Módulo hecho, o bobina, diodo y condensadores |

La regla práctica es esta: si la diferencia entre entrada y salida es pequeña (2–4 V) y la corriente no pasa de unos cientos de miliamperios, un 7805 o un LDO es sencillo, silencioso y barato. Si la diferencia es grande, la corriente supera los 500 mA o el proyecto va con pilas, elige un convertidor buck. Cuando alimentas mediciones analógicas, audio o sensores delicados también es habitual combinar los dos: primero bajas a 7–8 V con un buck y luego sacas 5 V con poco ruido con un 7805. Así consigues a la vez rendimiento y una alimentación limpia.
El regulador propio de Arduino y el límite de Vin
La tensión que metes por el jack DC o el pin Vin del Arduino Uno R3 pasa por un LDO de 5 V de la familia 1117 montado en la placa (un NCP1117 en la placa original y casi siempre un AMS1117 en los clones), y detrás del jack hay un diodo tipo 4007 que protege contra la inversión de polaridad. Arduino recomienda 7–12 V y el límite de la placa es de 6–20 V. El límite inferior se debe al dropout: el diodo y el regulador se comen juntos unos 2 V, y por debajo de 7 V la línea de 5V cae. El superior se debe al calor: con 12 V en Vin y 200 mA de consumo, el pequeño regulador SOT-223 genera (12 − 5) × 0,2 = 1,4 W y se pone tan caliente que no se puede tocar. A 20 V, la misma carga supone 3 W.
| Placa | Regulador de la placa | Entrada recomendada | Límite |
|---|---|---|---|
| Arduino Uno R3 / Mega | LDO de 5 V (familia 1117) | 7–12 V (jack o Vin) | 6–20 V |
| Arduino Nano | LDO de 5 V (en los clones suele ser AMS1117) | 7–12 V (Vin) | 6–20 V |
| Arduino Uno R4 | Convertidor conmutado (buck) | 6–24 V (jack o Vin) | 24 V |
| ESP32 DevKit | LDO de 3,3 V (normalmente AMS1117) | 5 V (USB o pin 5V) | No pases de 6 V por el calor |
| Raspberry Pi Pico | Buck-boost (conmutado) | VSYS: 1,8–5,5 V | 5,5 V |
También puedes sacar corriente del pin 5V de la placa, pero esa corriente pasa por el mismo regulador. Con alimentación USB, la línea de 5V viene directamente del USB y está limitada por un fusible de 500 mA; alimentando por el jack, el límite lo pone el calor del regulador. Por eso conviene alimentar cargas como servos, tiras LED o motores desde un 7805 o un módulo buck aparte, no desde el pin 5V del Arduino, y unir las masas. El pin 3.3V solo da 50 mA; para módulos que consumen mucho, como el ESP-01 o un nRF24L01 con antena, usa un AMS1117-3.3 aparte. Para ver dónde está cada pin, consulta el artículo sobre los pines del Arduino Uno.
Probar el regulador con Arduino: entrada, salida y calor
El siguiente código mide la tensión de entrada y de salida del 7805, muestra en el monitor serie la diferencia, la potencia disipada y la temperatura de unión estimada, y avisa cuando se acerca al dropout o necesita disipador. La tensión de entrada supera los 5 V, así que no puede ir directa a un pin analógico: conecta la entrada a A0 mediante un divisor de tensión de 100 kΩ y 22 kΩ (mide hasta unos 27 V) y la salida a A1 con dos resistencias de 10 kΩ. Puedes comprobar las relaciones para tus propias resistencias con la calculadora de divisor de tensión. Todas las masas deben ser comunes.
1// 7805 test istasyonu: giriş, çıkış ve ısı / 7805 test bench: input, output and heat
2// Kart: Arduino Uno / Nano (ATmega328P) / Board: Arduino Uno / Nano (ATmega328P)
3
4const float R1_IN = 100000.0; // giriş bölücü üst direnç / input divider top resistor
5const float R2_IN = 22000.0; // giriş bölücü alt direnç / input divider bottom resistor
6const float R1_OUT = 10000.0; // çıkış bölücü üst direnç / output divider top resistor
7const float R2_OUT = 10000.0; // çıkış bölücü alt direnç / output divider bottom resistor
8
9const float LOAD_A = 0.30; // multimetreyle ölçtüğün yük akımı (A) / load current measured with a multimeter (A)
10const float THETA_JA = 60.0; // soğutucusuz TO-220, °C/W / TO-220 without heatsink, °C/W
11const float T_AMBIENT = 30.0; // ortam sıcaklığı (°C) / ambient temperature (°C)
12const float DROPOUT_V = 2.0; // 7805 için gereken en az fark (V) / minimum headroom for the 7805 (V)
13
14// Gerçek besleme gerilimini dahili 1,1 V referansla ölçer (mV)
15// Measures the real supply voltage with the internal 1.1 V reference (mV)
16long readVcc() {
17 ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); // referans AVcc, kanal 1,1 V / AVcc reference, 1.1 V channel
18 delay(2); // referansın oturmasını bekle / let the reference settle
19 ADCSRA |= _BV(ADSC); // dönüşümü başlat / start a conversion
20 while (bit_is_set(ADCSRA, ADSC)); // bitmesini bekle / wait until it finishes
21 long raw = ADCL; // önce ADCL okunmalı / ADCL must be read first
22 raw |= ADCH << 8;
23 return 1125300L / raw; // 1,1 x 1023 x 1000
24}
25
26// Bölücünün arkasındaki gerçek gerilimi hesaplar / Calculates the real voltage behind a divider
27float readVolts(uint8_t pin, float vcc, float r1, float r2) {
28 analogRead(pin); // ilk okumayı at / discard the first reading
29 long sum = 0;
30 for (int i = 0; i < 16; i++) sum += analogRead(pin); // 16 örneğin ortalaması / average of 16 samples
31 float vPin = (sum / 16.0) * vcc / 1023.0;
32 return vPin * (r1 + r2) / r2;
33}
34
35void setup() {
36 Serial.begin(9600);
37}
38
39void loop() {
40 float vcc = readVcc() / 1000.0;
41 float vin = readVolts(A0, vcc, R1_IN, R2_IN);
42 float vout = readVolts(A1, vcc, R1_OUT, R2_OUT);
43
44 float headroom = vin - vout; // regülatör üzerindeki gerilim / voltage across the regulator
45 float heatW = headroom * LOAD_A; // P = (Vin - Vout) x I
46 float tj = T_AMBIENT + heatW * THETA_JA; // tahmini yonga sıcaklığı / estimated junction temperature
47 float eff = (vin > 1.0) ? 100.0 * vout / vin : 0.0; // verim (%) / efficiency (%)
48
49 Serial.print(F("Vin ")); Serial.print(vin, 2);
50 Serial.print(F(" V | Vout ")); Serial.print(vout, 2);
51 Serial.print(F(" V | Fark ")); Serial.print(headroom, 2);
52 Serial.print(F(" V | Isi ")); Serial.print(heatW, 2);
53 Serial.print(F(" W | Tj ~")); Serial.print(tj, 0);
54 Serial.print(F(" C | Verim %")); Serial.println(eff, 0);
55
56 if (headroom < DROPOUT_V) Serial.println(F("UYARI: giris dusuk, dropout / WARNING: input too low, dropout"));
57 if (tj > 125.0) Serial.println(F("UYARI: sogutucu gerekli / WARNING: heatsink required"));
58 delay(1000);
59}En lugar de suponer la tensión de alimentación que sirve de referencia a las lecturas analógicas, el código la mide con la función readVcc(): lee la referencia interna fija de unos 1,1 V del ATmega328P y calcula a partir de ella la Vcc real. Así las lecturas siguen siendo correctas tanto si el Arduino se alimenta por USB como desde el propio 7805. Este método sirve para placas con ATmega328P como el Uno y el Nano; como la referencia interna puede variar un ±10 % de un chip a otro, compara el resultado una vez con el multímetro y ajusta la constante 1125300. Escribe en LOAD_A la corriente de carga que mediste con el multímetro; si has puesto disipador, sustituye THETA_JA por la resistencia térmica total de tu cálculo.
ESP32: el AMS1117 y los picos de corriente del Wi-Fi
Las placas de desarrollo ESP32 bajan los 5 V de entrada a 3,3 V con un LDO integrado en la placa. Normalmente la placa consume 50–100 mA, pero al transmitir por Wi-Fi la corriente salta un instante a unos 300 mA; por eso Espressif recomienda una fuente capaz de dar al menos 500 mA. Una fuente débil, un cable USB fino y largo o un regulador caliente hunden la línea de 3V3 en ese pico, y el ESP32 escribe "Brownout detector was triggered" en el monitor serie y se reinicia. El siguiente código te dice si el último reinicio fue por brownout y registra la tensión más baja que ve la línea de 3V3 mientras se conecta al Wi-Fi. Conecta el pin 3V3 a GPIO 34 mediante un divisor de dos resistencias de 10 kΩ.
1// ESP32: 3V3 hattını ve brownout resetini izle / ESP32: watch the 3V3 rail and brownout resets
2#include <WiFi.h>
3#include "esp_system.h"
4
5const char* WIFI_SSID = "AgAdi"; // Wi-Fi ağ adı / Wi-Fi network name
6const char* WIFI_PASS = "Sifre"; // Wi-Fi şifresi / Wi-Fi password
7const int SENSE_PIN = 34; // 3V3 -> 10k -> GPIO34 -> 10k -> GND (yalnız giriş, ADC1) / input-only ADC1 pin
8
9int minMv = 9999; // görülen en düşük gerilim (mV) / lowest voltage seen (mV)
10
11int rail3v3() {
12 return analogReadMilliVolts(SENSE_PIN) * 2; // bölücü yarıya indirir / the divider halves it
13}
14
15void setup() {
16 Serial.begin(115200);
17 delay(300);
18 if (esp_reset_reason() == ESP_RST_BROWNOUT) {
19 Serial.println("Son reset: BROWNOUT, besleme yetersiz / Last reset: BROWNOUT, weak supply");
20 }
21 Serial.printf("Wi-Fi oncesi 3V3: %d mV\n", rail3v3());
22
23 WiFi.begin(WIFI_SSID, WIFI_PASS);
24 unsigned long t0 = millis();
25 while (WiFi.status() != WL_CONNECTED && millis() - t0 < 15000) {
26 int mv = rail3v3(); // bağlanırken sürekli ölç / keep sampling while connecting
27 if (mv < minMv) minMv = mv;
28 delay(1);
29 }
30 Serial.printf("Baglanirken en dusuk 3V3: %d mV\n", minMv);
31}
32
33void loop() {
34 int mv = rail3v3();
35 if (mv < minMv) minMv = mv;
36 Serial.printf("3V3: %d mV | en dusuk / min: %d mV\n", mv, minMv);
37 delay(1000);
38}Si el mínimo durante la conexión baja de 3,0 V, la alimentación no es suficiente. El ADC no captura todas las caídas muy breves, pero muestra la tendencia con claridad. La solución suele ser sencilla: un cable USB corto y grueso, un condensador electrolítico de 470 µF entre 5V y GND cerca de la placa o una fuente que dé al menos 500 mA. Si vas a alimentar el ESP32 desde 12 V, no metas los 12 V en el AMS1117 de la placa; bájalos antes a 5 V con un módulo buck. Para una resolución de problemas más detallada, consulta el artículo sobre los errores de brownout y Guru Meditation del ESP32.
Raspberry Pi Pico: VSYS y el 7805
La Raspberry Pi Pico lleva un convertidor buck-boost eficiente en lugar de un regulador lineal, y su pin VSYS acepta cualquier tensión entre 1,8 y 5,5 V. Para usar una Pico en un sistema de 12 V puedes conectar la salida del 7805 a VSYS; si vas a usar el USB al mismo tiempo, pon en medio un diodo Schottky como el 1N5819, porque si no los 5 V del USB y el 7805 trabajarán uno contra otro. Nunca conectes la salida del 7805 al pin 3V3; ese pin no aguanta más de 3,3 V. El siguiente código MicroPython mide la entrada del 7805 con un divisor en GP26 y VSYS con el canal GP29 de la propia placa.
1# Pico: 7805 girişini ve VSYS'i ölç / Pico: measure the 7805 input and VSYS
2from machine import ADC
3import time
4
5adc_in = ADC(26) # GP26 (ADC0): 100k/22k bölücü / 100k/22k divider
6adc_vsys = ADC(29) # GP29 (ADC3): kart üzerinde VSYS/3 / VSYS/3 on the board
7
8K_IN = (100 + 22) / 22 # bölücü oranı (~5,55) / divider ratio (~5.55)
9V_OUT = 5.0 # 7805 çıkışı (V) / 7805 output (V)
10LOAD_A = 0.30 # ölçtüğün yük akımı (A) / load current you measured (A)
11
12def volts(adc, ratio, n=16):
13 total = 0
14 for _ in range(n):
15 total += adc.read_u16() # 0-65535 arası ham değer / raw value 0-65535
16 return total / n * 3.3 / 65535 * ratio
17
18while True:
19 vin = volts(adc_in, K_IN)
20 vsys = volts(adc_vsys, 3)
21 heat = (vin - V_OUT) * LOAD_A # P = (Vin - Vout) x I
22 print("Vin {:.2f} V | VSYS {:.2f} V | 7805 isi {:.2f} W".format(vin, vsys, heat))
23 if vin - V_OUT < 2.0:
24 print("UYARI: dropout / WARNING: dropout")
25 time.sleep(1)El ADC de la Pico lee como máximo 3,3 V, así que con el divisor de 100k/22k puedes medir hasta unos 18 V. El valor de VSYS sale un poco por debajo de la salida del 7805 por la caída de unos 0,3 V del diodo Schottky; es normal. En la Pico W, GP29 se comparte con el chip inalámbrico y medir VSYS requiere configuración adicional; en ese caso usa solo la lectura de GP26. Si estás empezando con la Pico, el artículo ¿Qué es la Raspberry Pi Pico? es un buen punto de partida.
Ideas de proyectos con el 7805 y otros reguladores
- Fuente de 5 V de sobremesa: monta una cajita con un adaptador de 12 V, un 7805, un disipador y un interruptor que dé 5 V estables a tus proyectos en protoboard.
- Fuente con indicador de tensión y calor: pasa el código de prueba de arriba a una pantalla LCD y muestra en directo entrada, salida y pérdidas; la idea básica de medida está en el artículo para hacer un voltímetro con Arduino.
- Arduino en el coche: baja los 12–14,4 V de la batería primero a 7–8 V con un buck y luego a 5 V con un 7805; añade un diodo TVS en la entrada contra los picos de tensión del vehículo.
- Tira LED de 12 V y control con relé: alimenta la tira directamente con 12 V, y el Arduino y el módulo de relé desde la salida del 7805.
- Línea aparte para servos y NeoPixel: alimenta los servomotores y los LED WS2812B desde una línea de 5 V propia con masa común, usando un 7805 por debajo de 1 A y un buck por encima.
- Placa de sensores de 3,3 V: alimenta módulos de 3,3 V como el BME280 y el nRF24L01 con un AMS1117-3.3, independiente del Arduino; para los niveles de señal usa un convertidor de niveles lógicos.
Errores frecuentes y cómo solucionarlos
| Síntoma | Causa probable | Solución |
|---|---|---|
| 3,5–4,5 V en la salida en lugar de 5 V | Entrada por debajo de 7 V (dropout) o pila agotada | Sube la entrada a 7,5–9 V y mide con carga |
| El 7805 funciona unos segundos y se corta | Salta la protección térmica, la pérdida es muy alta | Añade disipador, baja la entrada o usa un buck |
| La salida es igual a la entrada (p. ej. 12 V) | Patilla GND desconectada o regulador en cortocircuito interno | Revisa la conexión de GND; desconecta la carga, mide y cámbialo si hace falta |
| Salida a 0 V y el regulador no se calienta | Orden de pines incorrecto (78L05 o 7905 confundidos) o entrada y salida invertidas | Comprueba el orden de pines según el encapsulado |
| El Arduino se reinicia al azar | Faltan condensadores o están lejos de las patillas | Pon 0,33 µF y 0,1 µF junto a las patillas y añade un electrolítico de 10–47 µF |
| El regulador del Arduino se calienta mucho | 12 V en Vin y mucha corriente desde el pin 5V | Alimenta las cargas con otro 7805 o un buck; mantén Vin en 7–9 V |
| El ESP32 se reinicia al activar el Wi-Fi | La fuente o el AMS1117 no cubren el pico de corriente | Cable corto, condensador de 470 µF, fuente de al menos 500 mA |
| La salida del AMS1117-3.3 ronda los 3 V | Entrada por debajo de 4,4 V (p. ej. una sola celda de litio) | Aliméntalo con 5 V o elige un LDO de menor dropout |
Con la tensión de entrada adecuada, dos condensadores pequeños y un disipador cuando haga falta, el 7805 es una de las piezas más fiables de la electrónica y funciona durante años. Recuerda la regla: cuanto mayor es la diferencia entre entrada y salida, más calor. Para diferencias grandes elige un buck, para 3,3 V un AMS1117 y para que las pilas duren mucho un LDO con baja corriente de reposo. En la app BlueGrays encontrarás el voltímetro digital con LCD, el coche L298N controlado por Bluetooth, el robot que esquiva obstáculos, la estación de riego inteligente y los proyectos de deep sleep con ESP32, con esquemas y código paso a paso, y podrás montar tú mismo su alimentación con los cálculos de esta guía.
Preguntas frecuentes
¿Cuál es la entrada y cuál la salida en las patillas del 7805?
Con la cara impresa hacia ti y las patillas hacia abajo, de izquierda a derecha la patilla 1 es la entrada (IN), la 2 es GND y la 3 es la salida (OUT). La lengüeta metálica también está unida a GND. En el 78L05 con encapsulado TO-92 el orden es al revés (1 salida, 2 GND, 3 entrada), así que comprueba siempre el encapsulado.
¿Cuántos amperios da un 7805?
Un 7805 en TO-220 con un buen disipador da 1 A y, según las condiciones, hasta 1,5 A; su limitación interna actúa a unos 2 A en caso de cortocircuito. En la práctica el límite lo pone el calor, no la corriente: sin disipador, (Vin − Vout) · I no debería pasar de 1–1,5 W. El pequeño 78L05 solo da 100 mA.
¿Por qué se calienta el 7805 y necesito disipador?
El 7805 es un regulador lineal, así que convierte en calor la tensión sobrante entre entrada y salida. Consumir 500 mA con 12 V de entrada supone 3,5 W de calor, algo imposible sin disipador. Si la pérdida está por debajo de 1 W no lo necesitas; por encima usa disipador y, a partir de unos pocos vatios, un convertidor buck.
¿Funciona un 7805 sin condensadores?
Con cables cortos y cerca de una fuente bien filtrada suele funcionar, pero no se recomienda. Los 0,33 µF de la entrada evitan oscilaciones provocadas por el cableado y los 0,1 µF de la salida estabilizan la tensión ante cambios bruscos de carga. Estos dos condensadores baratos evitan reinicios inexplicables y ruido.
¿Cuál es el voltaje máximo de entrada del 7805?
El máximo absoluto es de 35 V (40 V en el 7824), pero trabajar cerca de ese límite no es práctico por el calor. Para 5 V de salida, lo ideal son 7,5–12 V en la entrada. Con tensiones altas como 24 V es mucho más inteligente bajar primero la tensión con un convertidor buck.
¿Se pueden sacar 3,3 V con un 7805?
No, el 7805 solo da 5 V. Para 3,3 V se usa un LDO como el AMS1117-3.3, que saca 3,3 V de 5 V sin problemas y da hasta 1 A. Para proyectos con pilas son más adecuados los LDO con corriente de reposo de microamperios, como el MCP1700.
Proyectos para hacer después de leer esto
Ver todos los proyectos
Voltímetro digital con pantalla LCD
Descubre cuánto voltaje da una pila o un adaptador con un medidor hecho por ti. Un divisor de dos resistencias baja la tensión alta a un nivel que la placa puede leer, y el Arduino calcula el valor re

Coche controlado por Bluetooth con L298N
Convierte tu móvil en un mando y conduce tu propio coche robot. El Arduino recibe por un módulo Bluetooth las órdenes de una app de control remoto en el móvil y mueve las ruedas con un controlador de

Robot para evitar obstáculos
¿Qué le parece construir un vehículo inteligente que encuentre su propio camino? El Robot Evitador de Obstáculos explora constantemente su entorno gracias al sensor ultrasónico que lleva delante. Cuan

Estación de riego inteligente
Un jardinero que riega solo tus plantas para que no se sequen mientras estás de vacaciones. Un sensor de humedad mide lo mojada que está la tierra; cuando se seca, el Arduino enciende la bomba de agua

Modo de suspensión profunda del ESP32 — Ahorro de batería (OLED + contador en RTC RAM)
El modo «Deep Sleep» del ESP32 reduce el consumo de corriente a unos 10 µA al desactivar la CPU y la mayoría de los periféricos, lo cual es de vital importancia para los dispositivos IoT que funcionan con pilas. En este proyecto utilizamos tres fuentes de activación diferentes: el temporizador (15 s), un pin externo (EXT0 — botón GPIO 33) y el sensor táctil (T0/GPIO 4). Las variables marcadas con RTC_DATA_ATTR se conservan durante el modo Deep Sleep: el contador de arranque, el contador de act

Conexión Wi-Fi STA con ESP32 (con pantalla LCD)
En este proyecto, conectamos el ESP32 a la red Wi-Fi doméstica en modo Station (STA) de forma segura y tolerante a fallos. Separamos el SSID y la contraseña en el archivo secrets.h para evitar que se filtren a Git, configuramos un mecanismo de reconexión automática y mostramos el nivel de señal RSSI y la dirección IP en una pantalla LCD I2C. El LED interno actúa como indicador de estado.

Control de la tira NeoPixel WS2812B con ESP32
Los LED direccionables WS2812B (NeoPixel) son LED RGB inteligentes que se pueden controlar en cadena a través de un único pin de datos. En este proyecto, controlaremos una tira de 8 LED WS2812B con la biblioteca Adafruit_NeoPixel para crear una animación fluida de arcoíris. Aunque el nivel lógico de 3,3 V del ESP32 funciona sin problemas en la mayoría de los componentes WS2812B, mostraremos la solución de una resistencia en serie de 470 Ω y un condensador de 1000 µF en caso de inestabilidad. La
Más artículos
App BlueGrays
Monta este circuito paso a paso en tu teléfono
Esquema, código y lista de piezas en una sola pantalla. Más de 200 proyectos de Arduino, ESP32 y Pico listos para montar.
Escanea con tu teléfono
Apunta la cámara al código y se abrirá la tienda de apps de tu teléfono.
o ábrela en la tienda

