Regulador de tensão 7805: pinagem, capacitores e cálculo de calor
Como ligar um regulador de tensão 7805: pinagem, capacitores de 0,33 µF e 0,1 µF, dropout, perda de potência e cálculo do dissipador, série 78xx, AMS1117-3.3 e buck ou linear.
O regulador de tensão 7805 é um chip barato de três pinos que recebe uma tensão mais alta ou instável, entre 7 e 35 V, e a transforma em 5 V estáveis. É o jeito mais fácil de ter 5 V limpos para um Arduino, sensores e placas de relé a partir de um adaptador de 12 V, uma bateria de carro ou um pack de pilhas: você só acrescenta dois capacitores pequenos. Mas o 7805 funciona transformando a tensão excedente em calor, então conhecer a ligação certa, os limites da tensão de entrada e o quanto ele vai esquentar é a chave para um circuito que funcione com segurança.
Neste guia você vai aprender passo a passo o que é um regulador de tensão, a pinagem do 7805 e como ligá-lo com capacitores de 0,33 µF e 0,1 µF, o que significa tensão de dropout, como calcular o calor com P = (Vin − Vout) · I e como escolher um dissipador. Depois veremos a família 78xx, o LDO AMS1117-3.3 para módulos de 3,3 V, a diferença entre reguladores lineares e chaveados (buck), o regulador do próprio Arduino e o limite do Vin, e terminaremos com um código que mede o seu regulador com um Arduino, um ESP32 e um Raspberry Pi Pico.

O que é um regulador de tensão e como ele funciona?
Um regulador de tensão é um circuito que mantém uma tensão constante na saída mesmo quando a tensão de entrada ou a corrente da carga mudam. O 7805 é um regulador linear: dentro dele há um transistor de potência em série entre a entrada e a saída, uma tensão de referência interna que não varia com a temperatura e um amplificador de erro que compara o tempo todo a saída com essa referência. Se a saída cai abaixo de 5 V, o transistor conduz um pouco mais; se sobe acima, o transistor segura. Em resumo, o transistor se comporta como um resistor que se ajusta sozinho e derruba sobre si a tensão excedente entre a entrada e a saída. Essa tensão excedente multiplicada pela corrente vira calor, e é por isso que o 7805 é tão simples e também por isso que esquenta.
Os dois últimos algarismos da família 78 dizem a tensão de saída: um 7805 dá 5 V, um 7812 dá 12 V. As letras na frente só identificam o fabricante, então LM7805, L7805CV, MC7805 e KA7805 fazem o mesmo trabalho. O chip tem limitação de corrente interna, desligamento térmico quando esquenta demais e proteção da área de operação segura. Por isso ele raramente queima, mesmo com a saída em curto: ele só limita a corrente ou desliga até esfriar.
| Parâmetro | Valor |
|---|---|
| Tensão de saída | 5 V (±4%: 4,8–5,2 V) |
| Tensão de entrada | 7–25 V recomendado, máximo absoluto de 35 V |
| Dropout (diferença mínima) | Típico de 2 V (a 1 A) |
| Corrente de saída | 1 A, até 1,5 A com boa refrigeração |
| Corrente de curto-circuito | Cerca de 2 A (limite interno) |
| Corrente quiescente (Iq) | Típica de 3–5 mA, máx. 8 mA |
| Resistência térmica (TO-220) | Junção-encapsulamento 4–5 °C/W, para o ar sem dissipador 50–65 °C/W |
| Proteção térmica | Desliga com a junção a cerca de 150 °C |
| Encapsulamentos | TO-220 (1 A), D2PAK, DPAK; o pequeno 78L05 em TO-92 (100 mA) |
Pinagem do 7805 e esquema de ligação
Segure o 7805 com o lado impresso virado para você e as pernas para baixo: os pinos, da esquerda para a direita, são 1: entrada (IN), 2: GND e 3: saída (OUT). A aba metálica com furo também está ligada ao GND, então você pode parafusar o 7805 sem isolante em um dissipador ou caixa metálica ligada ao terra do circuito. O GND do lado da entrada e o GND do lado da saída são o mesmo ponto: a fonte, o regulador e a placa alimentada precisam se encontrar em um GND comum. A tabela abaixo mostra para onde vai a saída do 7805 em cada placa.
| Pino do 7805 | Liga em | Arduino Uno | ESP32 DevKit | Raspberry Pi Pico |
|---|---|---|---|---|
| 1 – Entrada (IN) | Positivo da fonte de 7–25 V + 0,33 µF | Não ligado | Não ligado | Não ligado |
| 2 – GND | Negativo da fonte e o lado comum dos capacitores | GND | GND | GND (ex.: pino 38) |
| 3 – Saída (OUT) | Linha de 5 V + 0,1 µF | Pino 5V | Pino 5V (VIN) | VSYS (pino 39), por um diodo Schottky |
Capacitores: por que 0,33 µF e 0,1 µF?
O circuito padrão das folhas de dados dos fabricantes usa um capacitor de 0,33 µF na entrada e um de 0,1 µF na saída (alguns fabricantes indicam 0,22 µF na entrada). O capacitor de entrada evita oscilações causadas pela indutância dos fios quando o regulador fica longe do capacitor de filtragem da fonte. O capacitor de saída não é obrigatório para a estabilidade, mas mantém a tensão mais firme em mudanças bruscas de carga. Os dois devem ser cerâmicos e ficar o mais perto possível dos pinos. Um capacitor cerâmico de 0,33 µF tem a marcação 334, e um de 0,1 µF, 104; para decifrar outras marcações, use a calculadora de código de capacitores.
Na prática, é um bom hábito acrescentar um eletrolítico ao lado de cada um desses capacitores pequenos: 10–100 µF na entrada suavizam a ondulação da fonte, e 10–47 µF na saída reduzem as quedas de tensão com cargas que puxam corrente de repente, como servos, relés ou módulos Wi-Fi. Se você colocar mais de 10 µF na saída, acrescente um diodo 1N4001 da saída para a entrada (polarizado reversamente na operação normal), para o caso de a entrada entrar em curto: se a entrada cair a zero de repente, o capacitor grande descarrega por esse diodo e não pelo regulador. Um segundo 1N4001 em série com a entrada protege contra polaridade invertida, mas acrescenta uns 0,7 V de queda. Para tipos e orientação, veja o que é um capacitor e o que é um diodo.
Passo a passo: uma fonte de 5 V com 7805 na protoboard
- Encaixe o 7805 na protoboard com cada perna em uma coluna separada e o lado impresso virado para você.
- Ligue o positivo da fonte (por exemplo, um adaptador de 9 V) ao pino 1, a entrada, e o negativo ao pino 2, GND. Se quiser, acrescente um 1N4001 em série com a linha positiva para proteger contra polaridade invertida.
- Coloque o capacitor cerâmico de 0,33 µF (334) entre a entrada e o GND, nos furos mais próximos dos pinos.
- Coloque o capacitor cerâmico de 0,1 µF (104) e um eletrolítico opcional de 10–47 µF entre a saída (3) e o GND; a perna longa do eletrolítico vai no positivo.
- Antes de ligar uma carga, meça a saída com um multímetro: você deve ver 4,8–5,2 V.
- Ligue a saída ao pino 5V do Arduino e o GND ao GND do Arduino. Evite usar o USB e a fonte externa ao mesmo tempo enquanto carrega o código.
- Depois de alguns minutos funcionando, confira a temperatura do regulador; se ele esquentar muito, acrescente um dissipador com base no cálculo de calor abaixo ou baixe a tensão de entrada.
Tensão de dropout: qual é a tensão mínima de entrada?
Para um regulador linear manter a saída estável, a entrada precisa ficar um tanto acima da saída; essa diferença mínima se chama tensão de dropout. O dropout típico do 7805 é de 2 V a 1 A, então para uma saída de 5 V você precisa de pelo menos 7 V na entrada, e as condições de teste da folha de dados também começam em 7–7,5 V. Se a diferença ficar abaixo disso, o regulador não consegue mais regular e a saída só acompanha a entrada uns 2 V abaixo: com 6 V na entrada, a saída cai para uns 4 V, o Arduino reinicia ou as leituras analógicas se desviam.
O que importa não é a média, e sim o ponto mais baixo da entrada. Em uma fonte clássica com transformador, ponte retificadora e capacitor de filtragem, a tensão ondula a cada meio ciclo; a ondulação é de aproximadamente ΔV = I / (100 · C) (rede de 50 Hz, retificação de onda completa; use 120 no lugar de 100 em redes de 60 Hz, como no Brasil). Com uma carga de 500 mA e um capacitor de 2200 µF, ΔV ≈ 2,3 V. Um transformador de 9 V CA retificado tem pico de cerca de 11,3 V, então o fundo da ondulação fica em torno de 9 V; isso está acima de 7 V, então basta. Pela mesma lógica, uma bateria de 9 V cai rápido abaixo de 7 V com carga, e é por isso que alimentar um 7805 com uma bateria de 9 V não dura muito. Para opções com bateria, veja o guia de como alimentar o Arduino com bateria.
Cálculo de calor: P = (Vin − Vout) · I
A corrente que um 7805 puxa na entrada é quase igual à que ele entrega na saída; a única diferença são alguns miliamperes de corrente quiescente. Então a potência transformada em calor no regulador é P = (Vin − Vout) · I, e a eficiência é de aproximadamente Vout / Vin. Exemplo: alimentar com um adaptador de 12 V um circuito que consome 500 mA gera P = (12 − 5) × 0,5 = 3,5 W de calor. Para entregar 2,5 W à carga, 3,5 W são desperdiçados e a eficiência é de só 42%. Alimente o mesmo circuito com uma fonte de 7,5 V e a perda cai para 1,25 W. Ou seja, uma tensão de entrada maior do que o necessário só serve para carregar o regulador com calor extra. Para relembrar corrente, tensão e potência, dê uma olhada no artigo sobre a lei 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 |
Escolhendo um dissipador
A temperatura da junção é Tj = Tambiente + P · θ, em que θ (teta) é a resistência térmica em °C/W. Um encapsulamento TO-220 sem dissipador tem resistência térmica junção-ar de 50–65 °C/W: uma perda de 1 W deixa o chip 50–65 °C acima do ambiente. Em um projeto seguro, a junção fica abaixo de 125 °C, o que significa no máximo uns 1,5 W sem dissipador em uma sala a 25 °C. Se o interior da sua caixa esquentar até 50–60 °C, o limite cai para 1 W. Qualquer caso da tabela acima que passe de 1 W deve fazer você pensar em um dissipador.
Para mais potência, calcule a resistência térmica do dissipador: θtotal = θJC + θCS + θSA. No 7805, a resistência junção-encapsulamento θJC é de cerca de 5 °C/W, e a encapsulamento-dissipador θCS, com pasta térmica, de cerca de 0,5–1 °C/W. No exemplo de 3,5 W, manter a junção a 110 °C dentro de uma caixa a 40 °C exige θtotal ≤ (110 − 40) / 3,5 = 20 °C/W, então o próprio dissipador precisa ter θSA ≤ 20 − 5 − 1 = 14 °C/W. Os pequenos dissipadores de encaixe para TO-220 costumam ter 20–30 °C/W, então não servem; você precisa de um dissipador de alumínio aletado médio. Os fabricantes de dissipadores informam esse valor em °C/W nos catálogos.
- Use pasta térmica: a fina camada de ar entre o encapsulamento e o dissipador reduz muito a transferência de calor; uma camada fina de pasta basta.
- A aba é GND: no 78xx a aba metálica está ligada ao GND, então o dissipador não precisa de isolamento e vários 78xx podem dividir um dissipador. No 79xx a aba está ligada à entrada e precisa ser isolada com uma arruela de mica e uma bucha plástica.
- Não conte com a proteção térmica: um 7805 que esquenta demais se desliga sozinho e volta a ligar quando esfria. A saída corta a cada poucos segundos e o Arduino fica reiniciando; isso é uma proteção de último recurso, não um funcionamento normal.
- Divida o calor: a solução mais eficaz é baixar a entrada. Para tirar 5 V de 24 V, primeiro desça para 7–8 V com um conversor buck e use o 7805 como estágio final.
A série 78xx: 7805, 7809, 7812 e outros
| Modelo | Saída | Entrada mínima | Entrada máxima | Uso típico |
|---|---|---|---|---|
| 7805 | 5 V | 7 V | 35 V | Arduino, sensores, placas de relé |
| 7808 | 8 V | 10,5 V | 35 V | Alimentação intermediária para o Vin de um Arduino |
| 7809 | 9 V | 11,5 V | 35 V | Circuitos de 9 V, Vin do Arduino |
| 7812 | 12 V | 14,5 V | 35 V | Ventoinhas e relés de 12 V (corrente baixa) |
| 7815 | 15 V | 17,5 V | 35 V | Circuitos com amplificadores operacionais |
| 7824 | 24 V | 27 V | 40 V | Sensores industriais de 24 V |
| 78L05 | 5 V, 100 mA | 7 V | 30 V | Encapsulamento TO-92, circuitos de baixa corrente |
| 7905 | −5 V | −7 V | −35 V | Alimentação negativa (ordem de pinos diferente) |
Se você precisa de uma tensão ajustável, use o primo da família, o LM317: com dois resistores ele dá qualquer saída de 1,25 a 37 V, definida por Vout = 1,25 × (1 + R2 / R1) (R1 costuma ser 240 Ω). As regras de calor e de dropout são as mesmas do 7805. O 78M05, de 500 mA, é a versão de média potência que aparece muito em placas SMD. Seja qual for o modelo escolhido, a regra continua: a entrada mínima precisa ficar uns 2–3 V acima da saída.
LDO AMS1117-3.3: para módulos de 3,3 V
O ESP32, o Raspberry Pi Pico, o nRF24L01 e muitos sensores funcionam com 3,3 V. Não dá para tirar 3,3 V de um 7805; a escolha mais comum para isso é o AMS1117-3.3. O AMS1117 é um regulador LDO (de baixa queda): o dropout dele a 800 mA é tipicamente de 1,1 V e no máximo 1,3 V, então ele faz 3,3 V a partir de 5 V com facilidade. Ele fornece até 1 A, aceita no máximo 15 V na entrada e consome cerca de 5 mA em repouso. Também é o regulador que baixa 5 V para 3,3 V na maioria das placas de desenvolvimento ESP32.

No encapsulamento SOT-223 do AMS1117, a ordem dos pinos é diferente da do 7805: 1: GND/ADJ, 2: saída, 3: entrada, e a aba grande está ligada à saída. A folha de dados recomenda um capacitor de tântalo de 22 µF na saída para a estabilidade; os módulos prontos vêm com capacitores de 10 µF e funcionam bem com cargas normais, mas se você montar o seu próprio circuito, ponha 22 µF na saída. Ele é mais sensível ao calor: a resistência térmica do encapsulamento SOT-223 é de 46–90 °C/W, conforme a área de cobre da placa, e o fabricante não garante a regulação acima de uns 1,2 W. De 5 V para 3,3 V com 300 mA, P = 1,7 × 0,3 = 0,51 W, o que está bem; mas de 12 V para 3,3 V a mesma corrente significa 2,6 W, e o módulo logo entra em desligamento térmico.
| Regulador | Saída | Dropout | Entrada máx. | Corrente máx. | Corrente quiescente |
|---|---|---|---|---|---|
| 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 |
Em um projeto feito para funcionar meses com bateria, a corrente quiescente importa tanto quanto o dropout: o AMS1117 consome cerca de 5 mA mesmo sem alimentar nada, o que é centenas de vezes o consumo de um ESP32 em deep sleep. A queda de 1,1 V do AMS1117 também é demais para fazer 3,3 V a partir de uma única célula de íon-lítio (3,0–4,2 V): mesmo com a célula carregada em 4,2 V, a saída só chega a uns 3,1 V, e cai à medida que a bateria descarrega. Para esses projetos, LDOs como o MCP1700, com corrente quiescente na casa dos microamperes e dropout menor que 0,2 V, são a melhor escolha.
Linear ou chaveado (buck)?
Um regulador chaveado buck (abaixador) não queima a tensão excedente como calor; ele liga e desliga a entrada dezenas de milhares de vezes por segundo e transfere a energia para a saída guardando-a em um indutor e em um capacitor. Isso leva a eficiência para 80–95%, e a corrente puxada da entrada é menor que a corrente de saída. Por exemplo, os módulos com LM2596 dão uma saída ajustável de até 3 A a partir de 4,5–40 V e chaveiam a 150 kHz. O preço é uma ondulação de chaveamento de algumas dezenas de milivolts na saída, ruído eletromagnético e mais peças. A configuração e as ligações do módulo estão no artigo sobre o conversor abaixador LM2596.
| 12 V → 5 V, carga de 1 A | 7805 (linear) | LM2596 (buck, ~85% de eficiência) |
|---|---|---|
| Corrente de entrada | ≈ 1 A | ≈ 0,49 A |
| Potência perdida em calor | 7 W | ≈ 0,9 W |
| Eficiência | 42% | ~85% |
| Dissipador | Dissipador grande obrigatório | Geralmente desnecessário |
| Ruído na saída | Muito baixo | Dezenas de mV de ondulação |
| Número de peças | 1 chip + 2 capacitores | Módulo pronto, ou indutor, diodo e capacitores |

A regra prática é esta: se a diferença entre entrada e saída é pequena (2–4 V) e a corrente fica abaixo de algumas centenas de miliamperes, um 7805 ou um LDO é simples, silencioso e barato. Se a diferença é grande, a corrente passa de 500 mA ou você está usando bateria, escolha um conversor buck. Para alimentar medições analógicas, áudio ou sensores sensíveis, combinar os dois também é comum: primeiro desça para 7–8 V com um buck e depois tire 5 V com pouco ruído de um 7805. Assim você tem eficiência e uma alimentação limpa.
O regulador do próprio Arduino e o limite do Vin
A tensão que você põe no conector DC ou no pino Vin do Arduino Uno R3 passa por um LDO de 5 V da família 1117 na placa (um NCP1117 na placa original, geralmente um AMS1117 nos clones), e atrás do conector há um diodo tipo 4007 que protege contra polaridade invertida. A Arduino recomenda 7–12 V, e o limite da placa é 6–20 V. O limite inferior tem a ver com o dropout: o diodo e o regulador juntos comem uns 2 V, então abaixo de 7 V a linha de 5V cai. O limite superior tem a ver com o calor: com 12 V no Vin e 200 mA de consumo, o pequeno regulador SOT-223 produz (12 − 5) × 0,2 = 1,4 W e fica quente demais para tocar. Com 20 V, a mesma carga significa 3 W.
| Placa | Regulador na placa | Entrada recomendada | Limite |
|---|---|---|---|
| Arduino Uno R3 / Mega | LDO de 5 V (família 1117) | 7–12 V (conector ou Vin) | 6–20 V |
| Arduino Nano | LDO de 5 V (nos clones, quase sempre AMS1117) | 7–12 V (Vin) | 6–20 V |
| Arduino Uno R4 | Conversor chaveado (buck) | 6–24 V (conector ou Vin) | 24 V |
| ESP32 DevKit | LDO de 3,3 V (geralmente AMS1117) | 5 V (USB ou pino 5V) | Fique abaixo de 6 V por causa do calor |
| Raspberry Pi Pico | Buck-boost (chaveado) | VSYS: 1,8–5,5 V | 5,5 V |
Você também pode tirar alimentação do pino 5V da placa, mas essa corrente passa pelo mesmo regulador. Na alimentação por USB, a linha de 5V vem direto do USB e é limitada por um fusível de 500 mA; alimentando pelo conector, o limite é definido pelo calor do regulador. Por isso alimente cargas como servos, fitas de LED ou motores com um 7805 ou módulo buck separado, não pelo pino 5V do Arduino, e una os GNDs. O pino 3.3V só fornece 50 mA; para módulos que consomem muito, como o ESP-01 ou um nRF24L01 com antena, use um AMS1117-3.3 separado. Para a disposição dos pinos, veja o artigo sobre a pinagem do Arduino Uno.
Testando o regulador com Arduino: entrada, saída e calor
O código abaixo mede a tensão de entrada e de saída do 7805, mostra no Monitor Serial a diferença, a potência dissipada e a temperatura estimada da junção, e avisa quando ele se aproxima do dropout ou precisa de dissipador. A tensão de entrada é maior que 5 V, então não pode ir direto a um pino analógico: ligue a entrada ao A0 por um divisor de tensão de 100 kΩ e 22 kΩ (mede até cerca de 27 V), e a saída ao A1 por dois resistores de 10 kΩ. Você pode conferir as razões para os seus resistores com a calculadora de divisor de tensão. Todos os GNDs precisam ser comuns.
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}Em vez de supor a tensão de alimentação usada como referência pelas leituras analógicas, o código a mede com a função readVcc(): ela lê a referência interna fixa de cerca de 1,1 V do ATmega328P e calcula de volta o Vcc real. Assim as leituras continuam corretas, seja o Arduino alimentado pelo USB ou pelo próprio 7805. Este método é para placas com ATmega328P, como o Uno e o Nano; como a referência interna pode variar cerca de ±10% de um chip para outro, compare o resultado uma vez com um multímetro e ajuste a constante 1125300. Ponha em LOAD_A a corrente de carga que você mediu com um multímetro; se você colocou um dissipador, troque o THETA_JA pela resistência térmica total do seu cálculo de dissipador.
ESP32: o AMS1117 e os picos de corrente do Wi-Fi
As placas de desenvolvimento ESP32 baixam a entrada de 5 V para 3,3 V com um LDO na placa. A placa normalmente consome 50–100 mA, mas durante a transmissão Wi-Fi a corrente salta por um instante para uns 300 mA, e é por isso que a Espressif recomenda uma fonte capaz de fornecer pelo menos 500 mA. Uma fonte fraca, um cabo USB fino e longo ou um regulador quente derrubam a linha de 3V3 nesse pico, e o ESP32 mostra "Brownout detector was triggered" no Monitor Serial e reinicia sozinho. O código abaixo diz se o último reinício foi causado por um brownout e registra a menor tensão que a linha de 3V3 atinge enquanto se conecta ao Wi-Fi. Ligue o pino 3V3 ao GPIO 34 por um divisor de dois resistores 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}Se o mínimo durante a conexão cair abaixo de 3,0 V, a alimentação não está boa o bastante. O ADC não pega toda queda muito curta, mas mostra bem a tendência. A solução geralmente é simples: um cabo USB curto e grosso, um capacitor eletrolítico de 470 µF entre 5V e GND perto da placa, ou uma fonte capaz de fornecer pelo menos 500 mA. Se você alimenta o ESP32 com 12 V, não ponha 12 V no AMS1117 da placa; baixe primeiro para 5 V com um módulo buck. Para um diagnóstico detalhado, veja o artigo sobre brownout e erros Guru Meditation no ESP32.
Raspberry Pi Pico: VSYS e o 7805
O Raspberry Pi Pico tem um conversor buck-boost eficiente no lugar de um regulador linear, e o pino VSYS aceita qualquer tensão de 1,8 a 5,5 V. Para usar um Pico em um sistema de 12 V, você pode ligar a saída do 7805 ao VSYS; se for usar o USB ao mesmo tempo, coloque um diodo Schottky como o 1N5819 no meio, senão os 5 V do USB e o 7805 vão brigar entre si. Nunca ligue a saída do 7805 no pino 3V3; esse pino não aguenta mais de 3,3 V. O código MicroPython abaixo mede a entrada do 7805 por um divisor no GP26, e o VSYS pelo canal GP29 da 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)O ADC do Pico lê no máximo 3,3 V, então com um divisor 100k/22k você mede até uns 18 V. O valor do VSYS sai um pouco abaixo da saída do 7805 por causa da queda de cerca de 0,3 V do diodo Schottky; isso é normal. No Pico W, o GP29 é compartilhado com o chip sem fio, então medir o VSYS exige configuração extra; nesse caso, use só a leitura do GP26. Se você é novo no Pico, o artigo O que é o Raspberry Pi Pico? é um bom ponto de partida.
Ideias de projetos com o 7805 e outros reguladores
- Fonte de bancada de 5 V: monte uma caixinha com um adaptador de 12 V, um 7805, um dissipador e um interruptor que dê 5 V estáveis aos seus projetos na protoboard.
- Fonte com leitura de tensão e calor: leve o código de teste acima para um LCD e mostre ao vivo a entrada, a saída e a perda; a ideia básica de medição está no artigo do voltímetro com Arduino.
- Arduino no carro: baixe a tensão de 12–14,4 V da bateria para 7–8 V com um buck e depois para 5 V com um 7805; acrescente um diodo TVS na entrada contra picos de tensão do veículo.
- Controle de fita de LED de 12 V e relé: rode a fita direto em 12 V e alimente o Arduino e o módulo relé pela saída do 7805.
- Linha separada para servos e NeoPixels: use um 7805 para cargas abaixo de 1 A e um buck acima disso para alimentar servo motores e LEDs WS2812B por uma linha de 5 V separada, com GND comum.
- Placa de sensores de 3,3 V: alimente módulos de 3,3 V como o BME280 e o nRF24L01 com um AMS1117-3.3, independente do Arduino; use um conversor de nível lógico para os níveis de sinal.
Erros comuns e como corrigir
| Sintoma | Causa provável | Solução |
|---|---|---|
| 3,5–4,5 V na saída em vez de 5 V | Entrada abaixo de 7 V (dropout) ou bateria fraca | Suba a entrada para 7,5–9 V e meça com carga |
| O 7805 funciona alguns segundos e corta | A proteção térmica está atuando, a perda está alta demais | Acrescente um dissipador, baixe a entrada ou use um buck |
| A saída é igual à entrada (ex.: 12 V) | Perna de GND quebrada, ou o regulador queimou em curto por dentro | Confira a ligação do GND; desligue a carga e meça, troque se preciso |
| A saída é 0 V e o regulador fica frio | Ordem de pinos errada (78L05 ou 7905 confundido), ou entrada e saída trocadas | Confira a ordem dos pinos do encapsulamento |
| O Arduino reinicia aleatoriamente | Capacitores faltando ou longe dos pinos | Coloque o 0,33 µF e o 0,1 µF perto dos pinos e acrescente um eletrolítico de 10–47 µF |
| O regulador do Arduino esquenta muito | 12 V no Vin e muita corrente puxada do pino 5V | Alimente as cargas com um 7805 ou buck separado; mantenha o Vin em 7–9 V |
| O ESP32 reinicia quando o Wi-Fi começa | A fonte ou o AMS1117 não dá conta do pico de corrente | Cabo curto, capacitor de 470 µF, fonte de pelo menos 500 mA |
| A saída do AMS1117-3.3 fica em torno de 3 V | Entrada abaixo de 4,4 V (ex.: uma única célula de íon-lítio) | Alimente com 5 V ou escolha um LDO de baixo dropout |
Com a tensão de entrada certa, dois capacitores pequenos e um dissipador quando necessário, o 7805 é uma das peças mais confiáveis da eletrônica e vai funcionar por anos. Lembre-se da regra: quanto maior a diferença entre entrada e saída, mais calor. Para diferenças grandes, escolha um buck; para 3,3 V, um AMS1117; e para longa duração de bateria, um LDO com baixa corrente quiescente. No app BlueGrays você encontra os projetos de voltímetro digital com LCD, carrinho com L298N controlado por Bluetooth, robô que desvia de obstáculos, estação de irrigação inteligente e deep sleep no ESP32, com esquemas de circuito e código passo a passo, e pode montar você mesmo o estágio de alimentação deles com os cálculos deste guia.
Perguntas frequentes
Qual pino do 7805 é a entrada e qual é a saída?
Com o lado impresso virado para você e as pernas para baixo, da esquerda para a direita o pino 1 é a entrada (IN), o pino 2 é o GND e o pino 3 é a saída (OUT). A aba metálica também está ligada ao GND. No 78L05 em TO-92 a ordem é invertida (1 saída, 2 GND, 3 entrada), então confira sempre o encapsulamento.
Quanta corrente um 7805 fornece?
Um 7805 TO-220 com um bom dissipador fornece 1 A, e até 1,5 A dependendo das condições; o limite interno de corrente atua em cerca de 2 A em um curto-circuito. Na prática, o limite é o calor, não a corrente: sem dissipador, (Vin − Vout) · I deve ficar abaixo de 1–1,5 W. O pequeno 78L05 fornece só 100 mA.
Por que o meu 7805 esquenta e preciso de dissipador?
O 7805 é um regulador linear, então transforma em calor a tensão excedente entre a entrada e a saída. Puxar 500 mA com uma entrada de 12 V significa 3,5 W de calor, o que é impossível sem dissipador. Se a perda estiver abaixo de 1 W, você não precisa de um; acima disso, use um dissipador e, a partir de alguns watts, um conversor buck.
Um 7805 funciona sem capacitores?
Muitas vezes funciona com fios curtos e perto de uma fonte bem filtrada, mas não é recomendado. O 0,33 µF na entrada evita oscilações causadas pela fiação, e o 0,1 µF na saída firma a tensão em mudanças bruscas de carga. Esses dois capacitores baratos evitam reinícios e ruídos inexplicáveis.
Qual é a tensão máxima de entrada de um 7805?
O máximo absoluto é 35 V (40 V para o 7824), mas trabalhar perto desse limite não é prático por causa do calor. Para uma saída de 5 V, 7,5–12 V na entrada é o ideal. Com tensões altas, como 24 V, é muito mais inteligente baixar a tensão primeiro com um conversor buck.
Um 7805 consegue dar 3,3 V?
Não, o 7805 só dá 5 V. Para 3,3 V você usa um LDO como o AMS1117-3.3, que faz 3,3 V a partir de 5 V com facilidade e fornece até 1 A. Para projetos com bateria, LDOs com corrente quiescente na casa dos microamperes, como o MCP1700, são mais adequados.
Projetos para montar depois desta leitura
Ver todos os projetos
Voltímetro digital com display LCD
Descubra a tensão de uma pilha ou de um adaptador de alimentação com um medidor feito por você. Um divisor formado por dois resistores reduz a tensão alta a um nível que a placa consegue ler, e o Ardu

Carrinho controlado por Bluetooth com L298N
Transforme seu celular em um controle remoto e dirija seu próprio carrinho robô. O Arduino recebe os comandos de um aplicativo de controle remoto no celular por meio de um módulo Bluetooth e aciona as

Robô que desvia de obstáculos
Que tal construir um veículo inteligente que encontra seu próprio caminho? O robô que desvia de obstáculos monitora o ambiente constantemente com o sensor ultrassônico na parte da frente. Ao encontrar

Estação de irrigação inteligente
Um jardineiro que rega suas plantas sozinho para que elas não sequem enquanto você está de férias. Um sensor de umidade do solo mede o quanto a terra está úmida; quando ela seca, o Arduino aciona a bo

ESP32 em sono profundo — Economia de bateria (OLED + contador na RAM RTC)
O modo de sono profundo do ESP32 reduz o consumo de corrente para ~10 µA ao desligar a CPU e a maioria dos periféricos, sendo essencial para dispositivos IoT alimentados por bateria. Neste projeto, usamos três fontes de despertar: um temporizador (15 segundos), um pino externo (EXT0 — botão no GPIO 33) e toque (T0/GPIO 4). As variáveis marcadas com RTC_DATA_ATTR são preservadas durante o sono profundo, mantendo os contadores de inicializações e de despertares por temporizador e botão.

Conexão Wi-Fi STA com ESP32 e display LCD
Neste projeto, conectamos o ESP32 à rede Wi-Fi de casa no modo estação (STA), de forma segura e tolerante a falhas. Guardamos o SSID e a senha em um arquivo secrets.h separado para evitar que sejam expostos no Git, configuramos um mecanismo de reconexão automática e exibimos o nível de sinal RSSI e o endereço IP em um display LCD I2C. O LED integrado funciona como indicador de status. É um gerenciador de conexão pronto para uso em produção.

Controle de fita WS2812B NeoPixel com ESP32
Os LEDs endereçáveis WS2812B (NeoPixel) são LEDs RGB inteligentes que podem ser controlados em cadeia por um único pino de dados. Neste projeto, vamos controlar uma fita WS2812B de 8 LEDs com a biblioteca Adafruit_NeoPixel para criar uma animação suave de arco-íris. Embora o nível lógico de 3,3V do ESP32 funcione sem problemas na maioria dos lotes de WS2812B, vamos mostrar uma solução com um resistor de 470Ω em série e um capacitor de 1.000µF para casos de instabilidade.
Mais artigos
App BlueGrays
Monte este circuito passo a passo pelo celular
Esquema do circuito, código e lista de componentes em uma só tela. Mais de 200 projetos com Arduino, ESP32 e Pico prontos para montar.
Escaneie com seu celular
Aponte a câmera para o código para abrir a loja de aplicativos do seu celular.
ou abrir a loja

