Como ajustar o conversor buck LM2596 para 5 V ou 3,3 V
Como ajustar o conversor buck LM2596: defina 5 V ou 3,3 V com o trimpot e o multímetro, alimente Arduino e servos a partir de 12 V e entenda calor, corrente e a diferença para o 7805.
Ajustar um LM2596 significa alimentar a entrada do módulo e girar o parafuso de latão do trimpot azul enquanto você mede a saída com o multímetro, até chegar à tensão desejada, por exemplo 5 V ou 3,3 V. O módulo step-down (buck) LM2596 é um regulador de tensão barato e muito comum que transforma, com boa eficiência, a tensão de uma fonte de 12 V, de uma bateria de carro ou de um pack Li-ion 2S em uma tensão menor para Arduino, ESP32, servos e fitas de LED. Ele aceita de 4,5 a 40 V na entrada, reduz para qualquer valor entre cerca de 1,25 V e 35 V e fornece até 3 A. A regra de ouro cabe em uma frase: sempre ajuste e meça a saída antes de ligar a carga.
Neste guia você vai aprender como funciona um conversor buck, quais são os pinos e as peças do módulo, como ajustar 5 V e 3,3 V passo a passo com o trimpot e o multímetro e a fórmula Vout = 1,23 × (1 + R2 / R1), que define a saída. Depois veremos como alimentar Arduino e servos a partir de 12 V, o limite de corrente e o aquecimento, a eficiência e a diferença para o 7805 e os erros mais comuns (polaridade invertida, queda de tensão sob carga), antes de passar aos códigos que medem a saída com Arduino, ESP32 e Raspberry Pi Pico.

O que é o LM2596 e como ele funciona?
O LM2596 é um CI regulador abaixador chaveado, criado originalmente pela National Semiconductor e fabricado hoje pela Texas Instruments. Reguladores lineares como o 7805 eliminam o excesso de tensão transformando-o em calor; o LM2596, em vez disso, liga e desliga o transistor de potência interno cerca de 150.000 vezes por segundo (150 kHz). Enquanto o transistor está ligado, a corrente passa pelo indutor até a carga e o indutor armazena energia em seu campo magnético; quando o transistor desliga, o indutor continua entregando essa energia à carga através de um diodo Schottky. O capacitor de saída suaviza esses pulsos. A fração do tempo em que o transistor fica ligado se chama ciclo de trabalho (duty cycle), aproximadamente D ≈ Vout / Vin: para obter 5 V a partir de 12 V, a chave fica ligada cerca de 42% do tempo.
Como nenhuma energia é queimada, a eficiência fica em torno de 80–90% e a corrente puxada da entrada é menor que a corrente entregue na saída: um módulo que fornece 2 A em 5 V a partir de 12 V puxa só cerca de 1 A da entrada. Quem mantém a tensão de saída estável é o pino FB (feedback, realimentação). O chip compara a tensão no FB com sua referência interna de 1,23 V e ajusta o ciclo de trabalho de acordo. No módulo pronto, um dos braços do divisor de tensão ligado ao pino FB é um trimpot multivoltas; girar o parafuso muda a relação do divisor e, portanto, a tensão de saída. Também existem versões fixas do LM2596 de 3,3 V, 5 V e 12 V, mas no mundo Arduino a mais comum é o módulo azul feito com a versão ajustável (ADJ).
| Característica | Chip LM2596 (datasheet) | Módulo pronto (típico) |
|---|---|---|
| Tensão de entrada | 4,5–40 V (máximo absoluto 45 V) | 4,5–40 V; pelo menos 1,5–2 V acima da saída |
| Tensão de saída | ADJ: 1,23–37 V; fixas: 3,3 / 5 / 12 V | Cerca de 1,25–35 V com o trimpot |
| Corrente de saída | 3 A | Cerca de 2 A contínuos sem dissipador, 3 A com dissipador |
| Frequência de chaveamento | 150 kHz (127–173 kHz) | 150 kHz |
| Referência de realimentação | 1,23 V | 1,23 V |
| Eficiência | 73–90% (conforme tensão e corrente) | Tipicamente 80–88% de 12 V → 5 V |
| Corrente quiescente | Típ. 5 mA, máx. 10 mA; 80 µA quando desligado pelo ON/OFF | 5–10 mA + LED de alimentação (se houver) |
| Limite de corrente | Típ. 4,5 A de pico (3,6–6,9 A) | Não ajustável (só as versões CC/CV têm ajuste) |
| Proteção | Limitação de corrente e desligamento térmico | Sem proteção contra polaridade invertida |
Pinos do módulo e peças da placa
O módulo azul LM2596 tem quatro pontos de ligação: IN+ e IN− são a entrada, OUT+ e OUT− a saída. IN− e OUT− são ligados entre si na placa; um conversor buck não isola a entrada da saída, então a fonte, o módulo e a placa que você alimenta compartilham um GND comum. Na placa você encontra o chip LM2596S de cinco pinos (encapsulamento TO-263: VIN, saída, GND, FB e ON/OFF), um indutor grande de 33–47 µH normalmente marcado 330 ou 470, um diodo Schottky de 3 A como o SS34, um capacitor eletrolítico na entrada e outro na saída (normalmente de 100–220 µF) e um trimpot multivoltas marcado 103 (10 kΩ). Você pode decifrar a marcação do indutor com a ferramenta Código do indutor. Na maioria dos módulos, o pino ON/OFF do chip está ligado ao GND, então o módulo começa a funcionar assim que recebe alimentação.
| Pino do módulo | Função | Onde ligar |
|---|---|---|
| IN+ | Positivo da entrada (4,5–40 V) | Positivo da fonte, da bateria ou do pack de baterias |
| IN− | Negativo da entrada (GND) | Negativo da fonte |
| OUT+ | Positivo da saída regulada | 5V ou Vin do Arduino, 5V do ESP32, VSYS do Pico, fio vermelho do servo |
| OUT− | Negativo da saída (mesmo GND do IN−) | GND da placa, fio marrom ou preto do servo |
Como ajustar o LM2596 passo a passo: 5 V ou 3,3 V com o multímetro
- Não ligue nada na saída. O módulo é ajustado sem carga; você só liga o Arduino ou o ESP32 depois de ver a tensão correta.
- Ligue na entrada a fonte real que você vai usar no projeto (por exemplo uma fonte de 12 V 2 A): positivo no IN+, negativo no IN−. Se a placa tiver LED, ele acende.
- Coloque o multímetro em tensão contínua (escala de 20 V ou automática); encoste a ponta de prova vermelha no OUT+ e a preta no OUT−. A primeira leitura pode estar perto da tensão de entrada, porque o ajuste de fábrica é desconhecido.
- Com uma chave de fenda pequena, gire o parafuso de latão do trimpot 2–3 voltas em um sentido e observe o display. Se a tensão cair, você está girando no sentido certo; se subir, gire para o outro lado. O sentido pode mudar de um módulo para outro, conforme a ligação do trimpot.
- Em um trimpot multivoltas de cerca de 25 voltas, percorrer a faixa inteira pode levar 20 voltas ou mais. O parafuso não tem batente; no fim do curso ele patina com um leve clique e a tensão para de mudar. Se isso acontecer, volte girando para o outro lado.
- Ao se aproximar do valor desejado, continue em quartos de volta e depois em passos ainda menores. Para 5 V, deixe entre 5,00–5,10 V; para 3,3 V, entre 3,30–3,35 V. Em placas de 3,3 V como o ESP32 e o Pico, nunca passe de 3,6 V.
- Ligue a carga, ou teste com um resistor de 10 Ω / 5 W que puxa cerca de 500 mA em 5 V, e repita a medição sob carga. Se a tensão cair mais de 0,1–0,2 V, verifique a fonte e a fiação.
- Quando terminar, pingue uma gota de esmalte de unha ou de cola quente no parafuso do trimpot; em robôs que vibram, o ajuste pode se desregular com o tempo.
A fórmula da saída: Vout = 1,23 × (1 + R2 / R1)
O LM2596 ajusta a saída para que a tensão no pino FB seja de 1,23 V. Se chamarmos de R2 o resistor entre a saída e o FB, e de R1 o resistor entre o FB e o GND, a saída é Vout = 1,23 × (1 + R2 / R1). No módulo, o trimpot de 10 kΩ ocupa o lugar de R2, enquanto R1 é um pequeno resistor fixo da placa. A fórmula traz duas consequências importantes: mesmo com R2 perto de zero, a saída não fica abaixo de 1,23 V; e, por maior que seja R2, a saída não ultrapassa a entrada. Se você girar o trimpot demais para cima, o chip deixa a chave ligada o tempo todo e a saída fica presa cerca de 1–2 V abaixo da entrada. Essa é a causa mais comum da reclamação “meu módulo não abaixa a tensão”.
Se você quiser resistores fixos no lugar do trimpot em um projeto que vibra ou que vai durar muito, siga o datasheet e escolha R1 entre 240 Ω e 1,5 kΩ. Com R1 = 1 kΩ, para 5 V você obtém R2 = 1 kΩ × (5 / 1,23 − 1) ≈ 3,07 kΩ; com um resistor de 3,09 kΩ e 1%, a saída fica em 5,03 V. Para 3,3 V, R2 ≈ 1,68 kΩ, e um de 1,69 kΩ e 1% dá 3,31 V. No fundo, isso é só um divisor de tensão; você pode conferir as relações com a ferramenta Divisor de tensão.
| Saída desejada | Entrada mínima recomendada | Uso típico |
|---|---|---|
| 3,3 V | 5 V | Pino 3V3 do ESP32 ou do Pico, sensores de 3,3 V |
| 4,0–4,1 V | 6 V | Módulo GSM SIM800L |
| 5,0 V | 7 V | Pino 5V do Arduino, pino 5V do ESP32, servos SG90, LEDs WS2812B |
| 6,0 V | 8 V | Servos MG996R (limite superior para SG90 e MG90S) |
| 7,5–9 V | 10–11 V | Conector DC ou pino Vin do Arduino |
| 12 V | 14–15 V | Ventoinhas, relés e fitas de LED de 12 V em um sistema de 24 V |
Os valores mínimos de entrada da tabela valem para uma carga de 2–3 A: a chave do LM2596 tem queda típica de 1,16 V em 3 A, e o indutor e a fiação somam mais algumas centenas de milivolts. Com carga leve (cerca de 1 A), a diferença cai para cerca de 1,5 V. Um pack Li-ion 2S de 7,4 V cai para cerca de 6,4 V à medida que descarrega; isso ainda basta para uma linha de 5 V com 1 A, mas não para uma linha de 6 V para servos. Para ajustar um módulo GSM que precisa de 4 V, veja o artigo SIM800L.
Como alimentar um Arduino com uma fonte de 12 V ou uma bateria
Há duas formas corretas de alimentar um Arduino com um LM2596. A primeira é ajustar o módulo para 5,0 V e ligar a saída direto no pino 5V. Como isso passa por fora do regulador da própria placa, quase não gera calor e é a opção mais eficiente; mas não sobra nada para proteger a placa. Se o trimpot se desregular ou o módulo queimar e passar a entrada para a saída, os 12 V vão direto para o microcontrolador. Se você também conectar o cabo USB nessa ligação, a alimentação USB do computador e a saída do módulo ficam interligadas; desconectar o módulo durante o carregamento do código é o mais seguro.
A segunda forma é ajustar o módulo para 7,5–9 V e ligá-lo no conector DC ou no pino Vin. Assim o regulador da placa faz a regulação final, e o diodo da entrada do conector protege contra polaridade invertida. Ligar 12 V direto no conector também funciona, mas com uma carga de 200 mA o pequeno regulador da placa gera (12 − 5) × 0,2 = 1,4 W de calor; ajuste o LM2596 para 7,5 V e essa perda cai para (7,5 − 5) × 0,2 = 0,5 W. Você encontra todas as opções de alimentação no artigo alimentação do Arduino e a posição dos pinos em pinagem do Arduino Uno.
| Ligação | Ajuste do LM2596 | Vantagem | Atenção |
|---|---|---|---|
| Pino 5V do Arduino | 5,0–5,1 V | A opção mais fria e mais eficiente | Sem proteção; não conecte o USB ao mesmo tempo |
| Conector DC do Arduino | 7,5–9 V | Protegido pelo diodo contra polaridade invertida e pelo regulador da placa | O diodo tem queda de cerca de 0,7 V |
| Pino Vin do Arduino | 7,5–9 V | Dispensa o conector, o regulador da placa protege | Sem proteção contra polaridade invertida |
| Pino 5V (VIN) do ESP32 | 5,0 V | O LDO da placa gera 3,3 V | Nunca ligue 5 V no pino 3V3 |
| Pino 3V3 do ESP32 | 3,30 V | Passa por fora do regulador da placa | Acima de 3,6 V o ESP32 pode ser danificado |
| Pino VSYS do Pico | 5,0 V | O VSYS aceita 1,8–5,5 V | Use um diodo Schottky se o USB também estiver conectado |
Alimentação de servos e motores: como calcular a corrente
O uso mais comum do LM2596 é como fonte para servos. Um SG90 puxa 100–250 mA em movimento e salta para 600–700 mA na partida e sob carga. Um MG996R chega a cerca de 2,5 A quando travado em 6 V. Ao escolher o módulo, não conte pela média: some a corrente de todos os servos que podem ficar sob carga ao mesmo tempo. Esperar 2 A contínuos de um LM2596 sem dissipador é realista: 3 SG90 funcionam com folga, mas alimentar um braço robótico com 4–6 MG996R a partir de um único módulo é pedir reinicializações e tremedeira. Nesse caso, use um módulo separado para cada um ou dois servos, ou um módulo de 5 A como o XL4015.

Também é preciso calcular a corrente de entrada, porque, se a fonte não der conta, a saída cai por melhor que seja o módulo. A fórmula é Iin = (Vout × Iout) / (Vin × η). Para 2 A em 5 V a partir de 12 V com 85% de eficiência, Iin = 10 W / (12 V × 0,85) ≈ 0,98 A, então uma fonte de 12 V 2 A é suficiente. A mesma carga puxa cerca de 1,6 A de um pack de baterias 2S de 7,4 V. Colocar um capacitor eletrolítico de 470–1000 µF ao lado da linha dos servos faz com que as correntes de partida venham do capacitor, e não do módulo. Para todas as soluções contra reinicializações causadas por servos, veja Arduino reiniciando sozinho, e para ligar servos, veja o que é um servo motor e servo MG996R.
Limite de corrente, aquecimento e dissipadores
Um conversor buck é eficiente, mas não sem perdas. A potência perdida é aproximadamente Ploss = Pout × (1/η − 1) e se divide entre o chip, o diodo Schottky e o indutor. Com saída de 5 V 2 A (10 W) e 85% de eficiência, são gerados cerca de 1,8 W de calor. O LM2596S do módulo está em um encapsulamento TO-263 soldado em uma pequena área de cobre; segundo o datasheet, sua resistência térmica para o ar é de 30–50 °C/W, conforme a área de cobre. Por isso, em 2 A o chip fica quente demais para manter o dedo nele, e em 3 A um pequeno dissipador de alumínio adesivo e circulação de ar são obrigatórios. Dentro de uma caixa fechada, esses limites caem ainda mais.
| Carga (12 V → 5 V) | Potência de saída | Perda estimada | Situação |
|---|---|---|---|
| 0,5 A | 2,5 W | ~0,4 W | Morno, não precisa de dissipador |
| 1 A | 5 W | ~0,8 W | Quente, mas tranquilo |
| 2 A | 10 W | ~1,8 W | Muito quente, precisa de circulação de ar |
| 3 A | 15 W | ~3,5 W | Dissipador e ventoinha obrigatórios |
O limite de corrente do LM2596 não pode ser ajustado pelo usuário. Quando a corrente de pico na chave chega a cerca de 4,5 A (3,6–6,9 A, conforme a variação de fabricação), o chip encurta os pulsos, reduz a frequência em sobrecarga e se desliga se superaquecer. Essas proteções costumam salvar o módulo em um curto-circuito, mas não substituem um fusível. Para tarefas em que você precisa definir a corrente, como acionar um LED de potência ou montar uma fonte de teste com limite de corrente, existem módulos LM2596 CC/CV (corrente constante / tensão constante) com um segundo trimpot para a corrente. Se você quer uma linha resistente a curtos-circuitos, coloque também um fusível de valor adequado na entrada.
Eficiência e comparação com o 7805
Comparando com o regulador de tensão 7805, que faz o mesmo trabalho, o tamanho da diferença fica claro. Para entregar 1 A em 5 V a partir de 12 V, o 7805 também puxa 1 A da entrada e transforma (12 − 5) × 1 = 7 W em calor; sua eficiência é de apenas 42% e ele precisa de um dissipador grande. O LM2596 puxa cerca de 0,49 A da entrada para a mesma carga e perde menos de 1 W. Em projetos a bateria, essa diferença vira autonomia: quando a eficiência dobra, a bateria dura aproximadamente o dobro.
O preço de um conversor buck é o ruído. Segundo o datasheet, a ondulação em dente de serra na saída é tipicamente de 0,5–3% da tensão de saída, ou seja, 25–150 mV em 5 V, mais o ruído de chaveamento de 150 kHz por cima. Isso não é problema para Arduino, servos, relés e LEDs, mas aparece quando você alimenta medições analógicas precisas, um microfone ou um amplificador de áudio. Nesses casos, combine os dois: primeiro abaixe para 7–8 V com o LM2596 e depois obtenha 5 V limpos com um 7805 ou um LDO, ganhando eficiência e silêncio ao mesmo tempo. Para pequenos experimentos de baixa corrente na protoboard, um módulo de alimentação MB102 para protoboard pronto é uma opção prática.
| Característica | LM2596 (buck) | 7805 (linear) | AMS1117-3.3 (LDO) |
|---|---|---|---|
| Como funciona | Chaveamento de 150 kHz, energia armazenada em um indutor | Transforma o excesso de tensão em calor | Transforma o excesso de tensão em calor |
| Eficiência a partir de 12 V | 80–90% | ~42% com saída de 5 V | ~27% com saída de 3,3 V (entrada máx. 15 V) |
| Corrente máxima | 3 A (2 A contínuos na prática) | 1–1,5 A | 0,8–1 A |
| Diferença mínima entre entrada e saída | ~1,5–2 V | ~2 V | ~1,1–1,3 V |
| Ruído na saída | Dezenas de mV de ondulação | Muito baixo | Muito baixo |
| Ajuste da saída | 1,25–35 V com o trimpot | Fixa em 5 V | Fixa em 3,3 V |
| Corrente quiescente | 5–10 mA | 3–8 mA | ~5 mA |
| Melhor para | Grande diferença de tensão, corrente alta, baterias | Pequena diferença, corrente baixa, alimentação silenciosa | 3,3 V a partir de 5 V, algumas centenas de mA |




Como medir a saída do LM2596 sob carga com Arduino
A melhor forma de ver quanto a tensão cai sob carga é medir a queda enquanto a carga está funcionando. O código abaixo move um servo sem parar entre 0 e 180 graus e mostra no Monitor Serial a menor e a maior tensão vistas na saída do LM2596. A ligação é esta: o fio vermelho do servo vai no OUT+, o marrom no OUT− e o fio de sinal no D9; entre o OUT+ e o GND você monta um divisor de tensão com 47 kΩ e 10 kΩ e liga o ponto do meio no A0. O Arduino é alimentado pelo USB, e o OUT− precisa estar ligado ao GND do Arduino.
1// LM2596 yük testi: servo dönerken çıkış gerilimini izle / LM2596 load test: watch the output while a servo moves
2// Kart: Arduino Uno / Nano (ATmega328P) / Board: Arduino Uno / Nano (ATmega328P)
3#include <Servo.h>
4
5const int SENSE_PIN = A0; // OUT+ -> 47k -> A0 -> 10k -> GND
6const int SERVO_PIN = 9; // servo sinyal kablosu / servo signal wire
7const float R_TOP = 47000.0; // bölücü üst direnç / divider top resistor
8const float R_BOTTOM = 10000.0; // bölücü alt direnç / divider bottom resistor
9const float AREF_V = 1.1; // dahili referans, multimetreyle düzelt / internal reference, calibrate with a multimeter
10const float LOW_LIMIT = 4.6; // 5 V hat için uyarı sınırı / warning limit for a 5 V rail
11
12Servo servo;
13float vMin, vMax;
14
15float readOutput() {
16 long sum = 0;
17 for (int i = 0; i < 8; i++) {
18 sum += analogRead(SENSE_PIN); // 8 örneğin toplamı / sum of 8 samples
19 }
20 float vPin = (sum / 8.0) * AREF_V / 1023.0;
21 return vPin * (R_TOP + R_BOTTOM) / R_BOTTOM; // bölücüyü geri hesapla / undo the divider
22}
23
24void track() {
25 float v = readOutput();
26 if (v < vMin) vMin = v; // en düşük değer / lowest value
27 if (v > vMax) vMax = v; // en yüksek değer / highest value
28}
29
30void setup() {
31 Serial.begin(9600);
32 analogReference(INTERNAL); // 1,1 V referans, beslemeden bağımsız / 1.1 V reference, independent of the supply
33 for (int i = 0; i < 10; i++) { // referans otursun, ilk okumaları at / let the reference settle, drop first readings
34 analogRead(SENSE_PIN);
35 delay(5);
36 }
37 servo.attach(SERVO_PIN);
38}
39
40void loop() {
41 vMin = 99.0;
42 vMax = 0.0;
43 for (int a = 0; a <= 180; a += 2) { // 0 -> 180 derece / 0 -> 180 degrees
44 servo.write(a);
45 for (int k = 0; k < 5; k++) { track(); delay(2); }
46 }
47 for (int a = 180; a >= 0; a -= 2) { // 180 -> 0 derece / 180 -> 0 degrees
48 servo.write(a);
49 for (int k = 0; k < 5; k++) { track(); delay(2); }
50 }
51 Serial.print(F("Min: "));
52 Serial.print(vMin, 2);
53 Serial.print(F(" V Max: "));
54 Serial.print(vMax, 2);
55 Serial.print(F(" V Dusus / Drop: "));
56 Serial.print(vMax - vMin, 2);
57 Serial.println(F(" V"));
58 if (vMin < LOW_LIMIT) {
59 Serial.println(F("UYARI: gerilim cok dusuyor / WARNING: voltage sags too much"));
60 }
61 delay(1000);
62}Em vez da própria tensão de alimentação do Arduino, o código usa a referência interna de 1,1 V do ATmega328P (analogReference(INTERNAL)), então a leitura não é afetada se o USB estiver em 4,7 V ou 5,1 V. A maior tensão que dá para medir com o divisor 47k/10k é de cerca de 6,2 V; em uma linha de servos de 6 V, considere a tolerância da referência usando 56 kΩ no resistor de cima e mudando a constante R_TOP. Como a referência interna pode variar cerca de ±10% de um chip para outro, meça a saída uma vez com o multímetro e ajuste AREF_V (por exemplo 1.08) até os dois resultados coincidirem. Se a queda passar de 0,3 V enquanto o servo se move, encurte os fios, use fios mais grossos e acrescente 470 µF na linha dos servos; abaixo de 0,1 V, sua alimentação está saudável.
ESP32: funcionando com uma bateria de 12 V e monitorando a bateria
Alimentar um ESP32 com uma bateria de 12 V é um cenário comum para uma estação de sensores no jardim ou um rastreador no carro. Ajuste o LM2596 para 5,0 V e ligue no pino 5V (VIN) da placa ESP32; o LDO da própria placa gera os 3,3 V. O LM2596 dá conta com folga dos picos curtos de corrente que o ESP32 puxa ao transmitir por Wi-Fi; os sintomas de uma alimentação fraca estão em detalhes no artigo erro de brownout no ESP32. O código abaixo lê a tensão da bateria no GPIO34 através de um divisor de 100 kΩ / 22 kΩ e coloca o ESP32 em deep sleep por 10 minutos quando a tensão chega ao limite inferior seguro de uma bateria de chumbo-ácido.
1// ESP32: LM2596 ile 12 V aküden beslen, aküyü izle / ESP32: run from a 12 V battery via an LM2596, monitor the battery
2#include <Arduino.h>
3#include "esp_sleep.h"
4
5const int BAT_PIN = 34; // GPIO34: yalnız giriş, ADC1 / input-only, ADC1
6const float RATIO = (100.0 + 22.0) / 22.0; // 100k / 22k bölücü (~5,55) / divider (~5.55)
7const float LOW_V = 11.8; // kurşun asit akü alt sınırı / lead-acid low limit
8const uint64_t SLEEP_US = 10ULL * 60 * 1000000; // 10 dakika (mikrosaniye) / 10 minutes (microseconds)
9
10float batteryVolts() {
11 uint32_t mv = 0;
12 for (int i = 0; i < 16; i++) {
13 mv += analogReadMilliVolts(BAT_PIN); // kalibre edilmiş mV / calibrated mV
14 }
15 return mv / 16.0 / 1000.0 * RATIO; // bölücüyü geri hesapla / undo the divider
16}
17
18void setup() {
19 Serial.begin(115200);
20 delay(200);
21}
22
23void loop() {
24 float v = batteryVolts();
25 Serial.printf("Aku / Battery: %.2f V\n", v);
26 if (v < LOW_V) {
27 Serial.println("Aku zayif, 10 dk uyku / Battery low, sleeping 10 min");
28 Serial.flush();
29 esp_sleep_enable_timer_wakeup(SLEEP_US); // zamanlayıcıyla uyan / wake up by timer
30 esp_deep_sleep_start(); // derin uyku / deep sleep
31 }
32 delay(5000);
33}O divisor reduz até a tensão de carga de 14,4 V para cerca de 2,6 V, então você fica dentro da faixa de medição do ADC do ESP32. Uma bateria de chumbo-ácido em repouso está cheia em torno de 12,6–12,8 V; ir abaixo de 11,8 V a aproxima da descarga profunda e encurta sua vida útil. Há um detalhe: o próprio LM2596 consome 5–10 mA mesmo sem carga. Enquanto o ESP32 gasta só microampères em deep sleep, o módulo consome 120–240 mAh por dia, e uma bateria de 7 Ah se esgota em 1–2 meses só por isso. Você pode fazer as contas com os seus valores na ferramenta Autonomia da bateria. Para projetos que vão dormir por meses, você precisa de um módulo com o pino EN (ON/OFF) acessível, para cortar a alimentação por completo, ou de um conversor step-down com corrente quiescente muito baixa; as técnicas de sono estão em detalhes no artigo deep sleep no ESP32.
Auxiliar de ajuste com Raspberry Pi Pico (MicroPython)
Se você quiser acompanhar o ajuste na tela do computador, pode usar o Pico como um voltímetro simples. Como o ADC do Pico lê no máximo 3,3 V, ligue a saída do LM2596 no GP26 através de um divisor de 100 kΩ e 10 kΩ; com essa relação, dá para medir com segurança até 36 V, então, mesmo que o módulo ainda não ajustado entregue algo perto da tensão de entrada, o Pico não sofre danos. O Pico é alimentado pelo USB e os GNDs são interligados. Conforme o valor desejado, o código mostra “high” (alto) ou “low” (baixo) e acende o LED integrado quando a saída fica dentro de ±1%. Se você está começando com o Pico, comece por O que é o Raspberry Pi Pico?.
1# Pico: LM2596 ayar yardımcısı / Pico: LM2596 adjustment helper
2from machine import ADC, Pin
3import time
4
5adc = ADC(26) # GP26 (ADC0): OUT+ -> 100k -> GP26 -> 10k -> GND
6led = Pin("LED", Pin.OUT) # dahili LED (Pico ve Pico W) / onboard LED (Pico and Pico W)
7RATIO = (100 + 10) / 10 # bölücü oranı 11, en fazla ~36 V / divider ratio 11, up to ~36 V
8VREF = 3.3 # ADC referansı (V) / ADC reference (V)
9CAL = 1.000 # multimetreyle düzeltme katsayısı / multimeter correction factor
10TARGET = 5.00 # hedef: 5.00 ya da 3.30 / target: 5.00 or 3.30
11
12def read_volts(n=64):
13 total = 0
14 for _ in range(n):
15 total += adc.read_u16() # 0-65535 ham değer / raw value
16 return total / n / 65535 * VREF * RATIO * CAL
17
18while True:
19 v = read_volts()
20 err = (v - TARGET) / TARGET * 100 # hedeften sapma (%) / deviation from target (%)
21 led.value(abs(err) <= 1.0) # ±%1 içinde LED yanar / LED on within ±1%
22 if err > 1.0:
23 hint = "yuksek, dusur / high, lower it"
24 elif err < -1.0:
25 hint = "dusuk, artir / low, raise it"
26 else:
27 hint = "tamam / OK"
28 print("{:.2f} V {:+.1f} % {}".format(v, err, hint))
29 time.sleep(0.3)Como o ADC do Pico pode errar em cerca de 1–2%, corrija o fator CAL uma vez comparando com o multímetro; ainda assim, o melhor é confirmar o ajuste final com o multímetro. Se mais tarde você quiser alimentar o Pico também pelo LM2596, ligue a saída de 5,0 V no pino VSYS através de um diodo Schottky 1N5819; o diodo impede que as duas fontes briguem entre si quando o USB estiver conectado. Nunca ligue a saída do módulo no pino 3V3 do Pico.
Ideias de projetos com o LM2596
- Carrinho robô: um pack 2S de 18650 (7,4 V) alimenta os motores direto pelo L298N, e um LM2596 ajustado para 5 V alimenta o Arduino e os sensores. O passo a passo está no artigo como fazer um carrinho robô com Arduino.
- Braço robótico: com um LM2596 ajustado para 6 V, monte uma linha forte para os servos MG996R, independente do Arduino; detalhes no guia braço robótico com Arduino.
- Estufa inteligente de 12 V: uma única fonte de 12 V alimenta a ventoinha e a bomba, e o LM2596 gera 5 V da mesma linha para o Arduino, os relés e o LCD; veja o projeto de estufa inteligente.
- Fonte de bancada ajustável: monte uma pequena fonte de laboratório com um LM2596, um carregador antigo de notebook e um voltímetro digital feito com Arduino que mostra a saída em um display.
- Fita de LED WS2812B: 60 LEDs em branco total podem puxar até 3,6 A; limite o brilho e fique abaixo de 2 A com um LM2596 de 5 V. O cálculo da corrente está no artigo WS2812B NeoPixel.
- Dispositivo ESP32 para carro: abaixe a tensão de 12–14,4 V da bateria para 5 V; coloque um fusível na entrada e um diodo TVS contra os picos de tensão do veículo.
Erros comuns e como resolver
| Sintoma | Causa provável | Solução |
|---|---|---|
| Saída quase igual à entrada (por exemplo 11 V a partir de 12 V) | Trimpot no ajuste máximo, ou valor desejado maior que a entrada | Sem carga, meça enquanto gira 10–20 voltas no sentido de abaixar |
| O valor não muda ao girar o trimpot | O trimpot multivoltas está patinando no fim do curso | Gire 5–10 voltas para o outro lado; se nada mudar, o módulo pode estar com defeito |
| 5 V caem para 4,3 V quando a carga é ligada | A fonte não fornece a corrente, diferença entre entrada e saída pequena demais ou fios finos demais | Meça a entrada sob carga, mantenha pelo menos 2 V de margem, use fios curtos e grossos |
| O Arduino reinicia quando o servo se move | Servo e Arduino dividem a mesma alimentação fraca | Módulo separado para os servos, um capacitor de 470–1000 µF e GND comum |
| O módulo desliga e religa depois de alguns minutos | O desligamento térmico está atuando | Reduza a carga, coloque um dissipador e circulação de ar, ou passe para um módulo de 5 A |
| Depois de uma polaridade invertida, a saída fica em 0 V ou igual à entrada | O chip e o diodo queimaram | Troque o módulo e coloque um diodo Schottky em série na entrada |
| Ruído nas leituras analógicas ou no áudio | Ondulação do chaveamento de 150 kHz | Coloque um filtro LC na saída ou use buck + LDO, mantenha curto o caminho do GND |
| O ajuste muda com o tempo | A vibração girou o trimpot | Trave o trimpot com esmalte de unha ou silicone, ou use resistores fixos |
Bem ajustado, com margem suficiente entre entrada e saída e dentro do limite de 2 A, o LM2596 é uma das peças mais práticas para fazer um projeto funcionar com uma única fonte ou bateria. Lembre-se da ordem: primeiro ajuste sem carga, depois meça sob carga e ligue a placa por último. No app BlueGrays você encontra projetos que precisam de uma alimentação separada, como o Carrinho controlado por Bluetooth com L298N, o Robô que desvia de obstáculos, projetos com servos, a coreografia com 32 servos, o controle de fita WS2812B, o Voltímetro digital com display LCD e a Estação de irrigação inteligente, com esquemas do circuito e códigos passo a passo.
Perguntas frequentes
Como ajustar um LM2596?
Ligue a fonte na entrada e, sem nada ligado na saída, encoste as pontas de prova do multímetro no OUT+ e no OUT−. Gire o parafuso do trimpot azul com uma chave de fenda pequena e pare quando aparecer o valor desejado (por exemplo 5,00 V). Por fim, ligue a carga e repita a medição sob carga.
Quantos ampères um LM2596 fornece?
O chip LM2596 foi projetado para 3 A, e seu limite interno de corrente atua em um pico de cerca de 4,5 A. Os módulos prontos funcionam com folga com cerca de 2 A contínuos sem dissipador; 3 A exigem dissipador e circulação de ar. Como os chips falsificados dos módulos baratos podem entregar menos, o mais seguro é projetar para 2 A.
Para que lado girar o trimpot do LM2596 para aumentar a tensão?
O sentido pode variar de um módulo para outro, conforme a ligação do trimpot na placa, então não confie na memória. Gire o parafuso 2–3 voltas para um lado e olhe o multímetro; se a tensão cair, esse sentido abaixa a tensão. O trimpot tem cerca de 25 voltas e não tem batente, então no fim do curso ele simplesmente patina com um clique.
Por que a tensão de saída do meu LM2596 não abaixa?
O motivo mais comum é o trimpot estar no ajuste máximo; em um trimpot multivoltas, podem ser necessárias 10–20 voltas até a tensão começar a mudar. Se o valor ajustado for maior que a entrada, a saída fica presa 1–2 V abaixo da entrada. Se nenhuma quantidade de voltas fizer diferença e a saída for igual à entrada, o chip entrou em curto internamente; troque o módulo.
Como alimentar um Arduino com um LM2596?
Você pode ajustar o módulo para 5,0 V e ligar a saída no pino 5V do Arduino; é o método mais frio, mas não deixa nada para proteger a placa. A opção mais segura é ajustar o módulo para 7,5–9 V e ligá-lo no conector DC ou no pino Vin. Nos dois casos, o OUT− do módulo precisa estar ligado ao GND do Arduino.
LM2596 ou 7805: qual é melhor?
Quando a diferença entre entrada e saída é grande e a corrente é alta, o LM2596 é muito melhor: de 12 V para 5 V com 1 A, o 7805 gera 7 W de calor, enquanto o LM2596 perde menos de 1 W. Se a diferença for pequena, a corrente for baixa e você precisar de uma alimentação silenciosa, o 7805 é mais simples. Em circuitos analógicos sensíveis, os dois podem ser usados um depois do outro.
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

Uso de servo motor
O braço de um pequeno servo motor gira para três posições em sequência: o início, o meio e o fim do percurso, esperando dois segundos em cada parada. O Arduino informa ao motor em qual ângulo ficar, e

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

Coreografia em círculo: animações com 32 servos
Um projeto de animação visual com 32 servo motores dispostos em círculo e controlados por um Arduino Mega. Os servos são gerenciados em um único array e conectados aos pinos 22–53 do Mega. Eles executam quatro sequências de movimento: uma vibração caótica em que todos vão para ângulos aleatórios, uma varredura sincronizada em que todos se movem ao mesmo tempo, uma onda que gira suavemente pelo círculo e, por fim, uma agulha de bússola que oscila de um lado para o outro.

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.

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
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

