Régulateur de tension 7805 : brochage, condensateurs, dissipateur
Brancher un régulateur de tension 7805 : brochage, condensateurs 0,33 µF et 0,1 µF, dropout, calcul de chaleur et dissipateur, série 78xx, AMS1117-3.3 et buck.
Le régulateur de tension 7805 est un circuit intégré bon marché à trois pattes qui transforme une tension élevée ou instable, comprise entre 7 et 35 V, en un 5 V stable. C'est le moyen le plus simple d'obtenir un 5 V propre pour un Arduino, des capteurs ou des modules relais à partir d'un adaptateur 12 V, d'une batterie de voiture ou d'un bloc de piles : il suffit d'ajouter deux petits condensateurs. Mais le 7805 fonctionne en transformant la tension en trop en chaleur ; connaître le bon câblage, les limites de la tension d'entrée et l'échauffement prévisible est donc la clé d'un montage qui fonctionne en toute sécurité.
Dans ce guide, tu vas apprendre pas à pas ce qu'est un régulateur de tension, le brochage du 7805 et son câblage avec des condensateurs de 0,33 µF et 0,1 µF, ce qu'est la tension de dropout, comment calculer la chaleur avec P = (Vin − Vout) · I et comment choisir un dissipateur. Nous verrons ensuite la famille 78xx, le LDO AMS1117-3.3 pour les modules 3,3 V, la différence entre régulateur linéaire et régulateur à découpage (buck), le régulateur intégré de l'Arduino et la limite de Vin, puis nous finirons avec du code qui mesure ton régulateur avec un Arduino, un ESP32 et un Raspberry Pi Pico.

Qu'est-ce qu'un régulateur de tension et comment fonctionne-t-il ?
Un régulateur de tension est un circuit qui maintient une tension constante en sortie même si la tension d'entrée ou le courant consommé par la charge varie. Le 7805 est un régulateur linéaire : il contient un transistor de puissance placé en série entre l'entrée et la sortie, une tension de référence interne qui ne dérive pas avec la température et un amplificateur d'erreur qui compare en permanence la sortie à cette référence. Si la sortie descend sous 5 V, le transistor conduit un peu plus ; si elle monte, il se ferme un peu. En bref, le transistor se comporte comme une résistance qui s'ajuste toute seule et encaisse la tension en trop entre l'entrée et la sortie. Cette tension multipliée par le courant devient de la chaleur : c'est ce qui rend le 7805 à la fois si simple et si chaud.
Les deux derniers chiffres de la famille 78 donnent la tension de sortie : un 7805 fournit 5 V, un 7812 fournit 12 V. Les lettres placées devant indiquent seulement le fabricant ; LM7805, L7805CV, MC7805 et KA7805 font le même travail. La puce intègre une limitation de courant, une coupure en cas de surchauffe et une protection de la zone de fonctionnement sûre. C'est pourquoi elle grille rarement, même si la sortie est en court-circuit : elle limite simplement le courant ou se coupe jusqu'à ce qu'elle refroidisse.
| Caractéristique | Valeur |
|---|---|
| Tension de sortie | 5 V (±4 % : 4,8–5,2 V) |
| Tension d'entrée | 7–25 V recommandés, maximum absolu 35 V |
| Dropout (écart minimal) | 2 V typique (à 1 A) |
| Courant de sortie | 1 A, jusqu'à 1,5 A avec un bon refroidissement |
| Courant de court-circuit | Environ 2 A (limitation interne) |
| Courant de repos (Iq) | 3–5 mA typique, 8 mA maximum |
| Résistance thermique (TO-220) | Jonction-boîtier 4–5 °C/W, à l'air sans dissipateur 50–65 °C/W |
| Protection thermique | Se coupe vers 150 °C de température de jonction |
| Boîtiers | TO-220 (1 A), D2PAK, DPAK ; le petit 78L05 en TO-92 (100 mA) |
Brochage du 7805 et schéma de câblage
Si tu tiens le 7805 face imprimée vers toi et pattes vers le bas, les broches sont de gauche à droite 1 : Entrée (IN), 2 : GND et 3 : Sortie (OUT). La languette métallique percée est elle aussi reliée à GND : tu peux donc visser le 7805 sans isolant sur un dissipateur ou un boîtier métallique relié à la masse du montage. La GND côté entrée et la GND côté sortie sont le même point : l'alimentation, le régulateur et la carte alimentée doivent se rejoindre sur une masse commune. Le tableau ci-dessous indique où brancher la sortie du 7805 sur chaque carte.
| Broche du 7805 | Se relie à | Arduino Uno | ESP32 DevKit | Raspberry Pi Pico |
|---|---|---|---|---|
| 1 – Entrée (IN) | Plus de la source 7–25 V + 0,33 µF | Non reliée | Non reliée | Non reliée |
| 2 – GND | Moins de la source et point commun des condensateurs | GND | GND | GND (ex. broche 38) |
| 3 – Sortie (OUT) | Rail 5 V + 0,1 µF | Broche 5V | Broche 5V (VIN) | VSYS (broche 39), via une diode Schottky |
Condensateurs : pourquoi 0,33 µF et 0,1 µF ?
Le schéma standard des fiches techniques des fabricants comporte un condensateur de 0,33 µF en entrée et un de 0,1 µF en sortie (certains fabricants indiquent 0,22 µF en entrée). Le condensateur d'entrée évite les oscillations dues à l'inductance des fils lorsque le régulateur est éloigné du condensateur de filtrage de l'alimentation. Celui de sortie n'est pas indispensable à la stabilité, mais il rend la tension plus stable lors des variations brusques de charge. Les deux doivent être céramiques et placés au plus près des pattes. Un condensateur céramique de 0,33 µF porte le marquage 334 et un de 0,1 µF le marquage 104 ; pour décoder d'autres marquages, utilise le calculateur de code de condensateur.
En pratique, c'est une bonne habitude d'ajouter un électrochimique à côté de chacun de ces petits condensateurs : 10–100 µF en entrée lissent l'ondulation de la source, et 10–47 µF en sortie limitent les chutes de tension avec des charges qui tirent du courant d'un coup, comme des servos, des relais ou des modules Wi-Fi. Si tu mets plus de 10 µF en sortie, ajoute une diode 1N4001 de la sortie vers l'entrée (bloquée en fonctionnement normal) au cas où l'entrée serait court-circuitée : si l'entrée tombe brusquement à zéro, le gros condensateur se décharge par cette diode et non à travers le régulateur. Une seconde 1N4001 en série avec l'entrée protège contre l'inversion de polarité, mais ajoute environ 0,7 V de chute. Pour les types et le sens de montage, consulte qu'est-ce qu'un condensateur et qu'est-ce qu'une diode.
Pas à pas : une alimentation 5 V avec un 7805 sur breadboard
- Place le 7805 sur la breadboard, chaque patte dans une colonne différente et la face imprimée tournée vers toi.
- Relie le plus de la source (par exemple un adaptateur 9 V) à la patte 1, l'entrée, et le moins à la patte 2, GND. Si tu veux, ajoute une 1N4001 en série sur le plus pour protéger contre l'inversion de polarité.
- Place le condensateur céramique de 0,33 µF (334) entre l'entrée et GND, dans les trous les plus proches des pattes.
- Place le condensateur céramique de 0,1 µF (104) et, en option, un électrochimique de 10–47 µF entre la sortie (3) et GND ; la patte longue de l'électrochimique va au plus.
- Avant de brancher une charge, mesure la sortie au multimètre : tu dois lire entre 4,8 et 5,2 V.
- Relie la sortie à la broche 5V de l'Arduino et GND à la GND de l'Arduino. Évite d'utiliser l'USB et l'alimentation externe en même temps pendant le téléversement.
- Après quelques minutes de fonctionnement, vérifie la température du régulateur ; s'il chauffe beaucoup, ajoute un dissipateur d'après le calcul de chaleur plus bas ou baisse la tension d'entrée.
Tension de dropout : combien de volts faut-il au minimum en entrée ?
Pour qu'un régulateur linéaire garde sa sortie stable, l'entrée doit dépasser la sortie d'une certaine valeur ; cet écart minimal s'appelle la tension de dropout. Sur le 7805, le dropout typique est de 2 V à 1 A : pour 5 V en sortie, il faut donc au moins 7 V en entrée, et les conditions de test des fiches techniques commencent d'ailleurs à 7–7,5 V. Si l'écart passe en dessous, le régulateur ne régule plus et la sortie suit simplement l'entrée environ 2 V plus bas : avec 6 V en entrée, la sortie tombe vers 4 V, l'Arduino redémarre ou les mesures analogiques dérivent.
Ce qui compte, ce n'est pas la valeur moyenne mais le point le plus bas de l'entrée. Dans une alimentation classique avec transformateur, pont de diodes et condensateur de filtrage, la tension ondule à chaque demi-période ; l'ondulation s'estime avec ΔV = I / (100 · C) (secteur 50 Hz, redressement double alternance). Avec une charge de 500 mA et 2200 µF, ΔV ≈ 2,3 V. Un transformateur 9 V alternatif redressé monte à environ 11,3 V crête, le creux de l'ondulation reste donc vers 9 V ; c'est au-dessus de 7 V, donc suffisant. Selon la même logique, une pile 9 V passe vite sous 7 V en charge, et alimenter un 7805 avec une pile 9 V ne dure pas longtemps. Pour les options sur piles, consulte le guide pour alimenter un Arduino avec une pile.
Calcul de la chaleur : P = (Vin − Vout) · I
Le courant que le 7805 absorbe en entrée est presque égal à celui qu'il fournit en sortie ; la différence n'est qu'un courant de repos de quelques milliampères. La puissance transformée en chaleur dans le régulateur vaut donc P = (Vin − Vout) · I, et le rendement est à peu près Vout / Vin. Exemple : si tu alimentes un montage de 500 mA à partir d'un adaptateur 12 V, il se dégage P = (12 − 5) × 0,5 = 3,5 W de chaleur. Pour 2,5 W fournis à la charge, 3,5 W sont perdus et le rendement n'est que de 42 %. Alimente le même montage en 7,5 V et la perte tombe à 1,25 W. Autrement dit, une tension d'entrée plus élevée que nécessaire ne sert qu'à charger le régulateur de chaleur en plus. Pour réviser la relation entre courant, tension et puissance, jette un œil à l'article sur la loi d'Ohm.
| Entrée (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 |
Choisir le dissipateur thermique
La température de jonction se calcule avec Tj = Tambiante + P · θ ; θ (thêta) est la résistance thermique, en °C/W. Un boîtier TO-220 sans dissipateur a une résistance thermique jonction-air de 50–65 °C/W : 1 W de perte fait monter la puce de 50–65 °C au-dessus de l'ambiante. Dans une conception sûre, la jonction reste sous 125 °C, ce qui donne au maximum environ 1,5 W sans dissipateur dans une pièce à 25 °C. Si l'intérieur du boîtier monte à 50–60 °C, la limite tombe à 1 W. Chaque cas du tableau ci-dessus qui dépasse 1 W doit te faire penser à un dissipateur.
Pour plus de puissance, calcule la résistance thermique du dissipateur : θtotale = θJC + θCS + θSA. Sur le 7805, θJC (jonction-boîtier) vaut environ 5 °C/W, et θCS (boîtier-dissipateur) avec de la pâte thermique environ 0,5–1 °C/W. Dans l'exemple à 3,5 W, pour garder la jonction à 110 °C dans un boîtier à 40 °C, il faut θtotale ≤ (110 − 40) / 3,5 = 20 °C/W ; le dissipateur lui-même doit donc avoir θSA ≤ 20 − 5 − 1 = 14 °C/W. Les petits dissipateurs à clipser pour TO-220 font en général 20–30 °C/W et ne suffisent pas ; il faut un dissipateur à ailettes en aluminium de taille moyenne. Les fabricants donnent cette valeur en °C/W dans leurs catalogues.
- Utilise de la pâte thermique : la fine lame d'air entre le boîtier et le dissipateur réduit fortement le transfert de chaleur ; une fine couche de pâte suffit.
- La languette est à la masse : sur les 78xx, la languette métallique est reliée à GND, le dissipateur n'a donc pas besoin d'être isolé et plusieurs 78xx peuvent le partager. Sur les 79xx, la languette est reliée à l'entrée et doit être isolée avec une feuille de mica et une rondelle isolante épaulée.
- Ne compte pas sur la protection thermique : un 7805 en surchauffe se coupe puis se rallume en refroidissant. La sortie se coupe toutes les quelques secondes et l'Arduino redémarre sans arrêt ; c'est une protection de dernier recours, pas un fonctionnement normal.
- Répartis la chaleur : le plus efficace est de baisser l'entrée. Pour obtenir 5 V à partir de 24 V, descends d'abord à 7–8 V avec un convertisseur buck et garde le 7805 pour le dernier étage.
La série 78xx : 7805, 7809, 7812 et les autres
| Modèle | Sortie | Entrée minimale | Entrée maximale | Usage typique |
|---|---|---|---|---|
| 7805 | 5 V | 7 V | 35 V | Arduino, capteurs, modules relais |
| 7808 | 8 V | 10,5 V | 35 V | Alimentation intermédiaire pour le Vin de l'Arduino |
| 7809 | 9 V | 11,5 V | 35 V | Montages 9 V, Vin de l'Arduino |
| 7812 | 12 V | 14,5 V | 35 V | Ventilateurs et relais 12 V (faible courant) |
| 7815 | 15 V | 17,5 V | 35 V | Montages à amplificateurs opérationnels |
| 7824 | 24 V | 27 V | 40 V | Capteurs industriels 24 V |
| 78L05 | 5 V, 100 mA | 7 V | 30 V | Boîtier TO-92, montages à faible courant |
| 7905 | −5 V | −7 V | −35 V | Alimentation négative (brochage différent) |
Si tu as besoin d'une tension réglable, utilise le cousin de la famille, le LM317 : avec deux résistances, il fournit n'importe quelle tension de 1,25 à 37 V, donnée par Vout = 1,25 × (1 + R2 / R1) (R1 vaut souvent 240 Ω). Les règles de chaleur et de dropout sont les mêmes que pour le 7805. Le 78M05 de 500 mA est la version de puissance moyenne qu'on croise souvent sur les cartes à composants montés en surface. Quel que soit le modèle choisi, la règle ne change pas : l'entrée minimale doit dépasser la sortie d'environ 2–3 V.
LDO AMS1117-3.3 : pour les modules 3,3 V
L'ESP32, le Raspberry Pi Pico, le nRF24L01 et beaucoup de capteurs fonctionnent en 3,3 V. Un 7805 ne peut pas te donner du 3,3 V ; le choix le plus courant pour cela est l'AMS1117-3.3. L'AMS1117 est un régulateur LDO (low dropout, à faible chute) : à 800 mA, son dropout est typiquement de 1,1 V et au plus de 1,3 V, il tire donc facilement du 3,3 V d'un 5 V. Il peut fournir jusqu'à 1 A, accepte au maximum 15 V en entrée et consomme environ 5 mA au repos. C'est aussi le régulateur qui abaisse le 5 V en 3,3 V sur la plupart des cartes de développement ESP32.

Sur le boîtier SOT-223 de l'AMS1117, le brochage diffère de celui du 7805 : 1 : GND/ADJ, 2 : Sortie, 3 : Entrée, et la grande languette est reliée à la sortie. La fiche technique recommande un condensateur au tantale de 22 µF en sortie pour la stabilité ; les modules tout faits sont livrés avec des condensateurs de 10 µF et fonctionnent sans souci avec des charges normales, mais si tu montes ton propre circuit, mets 22 µF en sortie. Il est plus sensible à la chaleur : la résistance thermique du SOT-223 va de 46 à 90 °C/W selon la surface de cuivre de la carte, et le fabricant ne garantit pas la régulation au-delà d'environ 1,2 W. De 5 V à 3,3 V sous 300 mA, P = 1,7 × 0,3 = 0,51 W, aucun problème ; mais de 12 V à 3,3 V, le même courant représente 2,6 W et le module passe vite en protection thermique.
| Régulateur | Sortie | Dropout | Entrée max. | Courant max. | Courant de repos |
|---|---|---|---|---|---|
| 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 |
Dans un projet qui doit tenir des mois sur piles, le courant de repos compte autant que le dropout : l'AMS1117 consomme environ 5 mA même quand il n'alimente rien, soit des centaines de fois la consommation d'un ESP32 en deep sleep. Pour tirer du 3,3 V d'une seule cellule Li-ion (3,0–4,2 V), la chute de 1,1 V de l'AMS1117 est aussi trop importante : même avec une cellule pleine à 4,2 V, la sortie plafonne vers 3,1 V et baisse à mesure que la batterie se vide. Pour ces projets, on préfère des LDO comme le MCP1700, avec un courant de repos de l'ordre du microampère et moins de 0,2 V de dropout.
Linéaire ou à découpage (buck) ?
Un régulateur à découpage buck (abaisseur) ne brûle pas la tension en trop sous forme de chaleur : il commute l'entrée des dizaines de milliers de fois par seconde et transfère l'énergie vers la sortie en la stockant dans une bobine et un condensateur. Le rendement monte ainsi à 80–95 %, et le courant tiré sur l'entrée est inférieur au courant de sortie. Par exemple, les modules à base de LM2596 fournissent une sortie réglable jusqu'à 3 A à partir de 4,5–40 V et commutent à 150 kHz. En contrepartie, il y a quelques dizaines de millivolts d'ondulation de découpage en sortie, du bruit électromagnétique et davantage de composants. Le réglage et le branchement du module sont expliqués dans l'article sur le convertisseur abaisseur LM2596.
| 12 V → 5 V, charge de 1 A | 7805 (linéaire) | LM2596 (buck, rendement ~85 %) |
|---|---|---|
| Courant d'entrée | ≈ 1 A | ≈ 0,49 A |
| Puissance perdue en chaleur | 7 W | ≈ 0,9 W |
| Rendement | 42 % | ~85 % |
| Dissipateur | Gros dissipateur obligatoire | Généralement inutile |
| Bruit en sortie | Très faible | Quelques dizaines de mV d'ondulation |
| Nombre de composants | 1 circuit intégré + 2 condensateurs | Module tout fait, ou bobine, diode et condensateurs |

Voici la règle pratique : si l'écart entre entrée et sortie est faible (2–4 V) et que le courant ne dépasse pas quelques centaines de milliampères, un 7805 ou un LDO est simple, silencieux et bon marché. Si l'écart est grand, si le courant dépasse 500 mA ou si tu fonctionnes sur piles, choisis un convertisseur buck. Quand tu alimentes des mesures analogiques, de l'audio ou des capteurs sensibles, on combine aussi souvent les deux : d'abord un buck pour descendre à 7–8 V, puis un 7805 pour obtenir un 5 V peu bruité. Tu gagnes ainsi à la fois en rendement et en propreté.
Le régulateur intégré de l'Arduino et la limite de Vin
La tension que tu appliques sur le jack DC ou la broche Vin de l'Arduino Uno R3 passe par un LDO 5 V de la famille 1117 monté sur la carte (un NCP1117 sur la carte d'origine, le plus souvent un AMS1117 sur les clones), et derrière le jack se trouve une diode de type 4007 qui protège contre l'inversion de polarité. Arduino recommande 7–12 V, et la limite de la carte est de 6–20 V. La limite basse vient du dropout : la diode et le régulateur prennent ensemble environ 2 V, et sous 7 V le rail 5V s'effondre. La limite haute vient de la chaleur : avec 12 V sur Vin et 200 mA consommés, le petit régulateur SOT-223 dissipe (12 − 5) × 0,2 = 1,4 W et devient trop chaud pour être touché. À 20 V, la même charge représente 3 W.
| Carte | Régulateur de la carte | Entrée recommandée | Limite |
|---|---|---|---|
| Arduino Uno R3 / Mega | LDO 5 V (famille 1117) | 7–12 V (jack ou Vin) | 6–20 V |
| Arduino Nano | LDO 5 V (souvent AMS1117 sur les clones) | 7–12 V (Vin) | 6–20 V |
| Arduino Uno R4 | Convertisseur à découpage (buck) | 6–24 V (jack ou Vin) | 24 V |
| ESP32 DevKit | LDO 3,3 V (généralement AMS1117) | 5 V (USB ou broche 5V) | Ne pas dépasser 6 V à cause de la chaleur |
| Raspberry Pi Pico | Buck-boost (à découpage) | VSYS : 1,8–5,5 V | 5,5 V |
Tu peux aussi tirer du courant sur la broche 5V de la carte, mais ce courant passe par le même régulateur. Sur USB, le rail 5V vient directement de l'USB et est limité par un fusible de 500 mA ; sur le jack, c'est l'échauffement du régulateur qui fixe la limite. Alimente donc les charges comme les servos, les rubans LED ou les moteurs avec un 7805 ou un module buck séparé, pas avec la broche 5V de l'Arduino, et relie les masses. La broche 3.3V ne fournit que 50 mA ; pour les modules gourmands comme l'ESP-01 ou un nRF24L01 avec antenne, utilise un AMS1117-3.3 séparé. Pour l'emplacement des broches, consulte l'article sur le brochage de l'Arduino Uno.
Tester le régulateur avec un Arduino : entrée, sortie et chaleur
Le code ci-dessous mesure la tension d'entrée et de sortie du 7805, affiche dans le moniteur série l'écart, la puissance dissipée et la température de jonction estimée, et te prévient quand on approche du dropout ou qu'un dissipateur devient nécessaire. La tension d'entrée dépasse 5 V et ne peut pas aller directement sur une broche analogique : relie l'entrée à A0 via un pont diviseur de tension de 100 kΩ et 22 kΩ (il mesure jusqu'à environ 27 V), et la sortie à A1 via deux résistances de 10 kΩ. Tu peux vérifier les rapports pour tes propres résistances avec le calculateur de pont diviseur. Toutes les masses doivent être communes.
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}Au lieu de supposer la tension d'alimentation qui sert de référence aux mesures analogiques, le code la mesure avec la fonction readVcc() : il lit la référence interne fixe d'environ 1,1 V de l'ATmega328P et en déduit la vraie Vcc. Les mesures restent ainsi justes, que l'Arduino soit alimenté par l'USB ou par le 7805 lui-même. Cette méthode vaut pour les cartes à ATmega328P comme l'Uno et la Nano ; comme la référence interne peut varier d'environ ±10 % d'une puce à l'autre, compare une fois le résultat au multimètre et ajuste la constante 1125300. Indique dans LOAD_A le courant de charge mesuré au multimètre ; si tu as monté un dissipateur, remplace THETA_JA par la résistance thermique totale de ton calcul.
ESP32 : l'AMS1117 et les pics de courant du Wi-Fi
Les cartes de développement ESP32 abaissent le 5 V d'entrée en 3,3 V avec un LDO intégré à la carte. La carte consomme normalement 50–100 mA, mais pendant une émission Wi-Fi le courant bondit brièvement vers 300 mA ; c'est pourquoi Espressif recommande une source capable de fournir au moins 500 mA. Une source faible, un câble USB fin et long ou un régulateur chaud font s'effondrer le rail 3V3 pendant ce pic, et l'ESP32 écrit "Brownout detector was triggered" dans le moniteur série puis redémarre. Le code ci-dessous t'indique si le dernier redémarrage vient d'un brownout et enregistre la tension la plus basse vue par le rail 3V3 pendant la connexion au Wi-Fi. Relie la broche 3V3 à GPIO 34 via un pont de deux résistances 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 le minimum pendant la connexion descend sous 3,0 V, l'alimentation est insuffisante. L'ADC ne capte pas toutes les chutes très brèves, mais il montre clairement la tendance. La solution est en général simple : un câble USB court et épais, un condensateur électrochimique de 470 µF entre 5V et GND près de la carte, ou une source capable de fournir au moins 500 mA. Si tu alimentes l'ESP32 en 12 V, n'envoie pas le 12 V sur l'AMS1117 de la carte ; abaisse-le d'abord à 5 V avec un module buck. Pour un dépannage détaillé, consulte l'article sur les erreurs brownout et Guru Meditation de l'ESP32.
Raspberry Pi Pico : VSYS et le 7805
Le Raspberry Pi Pico possède un convertisseur buck-boost efficace au lieu d'un régulateur linéaire, et sa broche VSYS accepte de 1,8 à 5,5 V. Pour faire tourner un Pico dans un système 12 V, tu peux relier la sortie du 7805 à VSYS ; si tu utilises l'USB en même temps, intercale une diode Schottky comme la 1N5819, sinon le 5 V de l'USB et le 7805 se battront l'un contre l'autre. Ne relie jamais la sortie du 7805 à la broche 3V3 ; cette broche ne supporte pas plus de 3,3 V. Le code MicroPython ci-dessous mesure l'entrée du 7805 via un pont diviseur sur GP26, et VSYS via le canal GP29 de la carte.
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)L'ADC du Pico lit au maximum 3,3 V : avec le pont 100k/22k, tu peux donc mesurer jusqu'à environ 18 V. La valeur de VSYS sort un peu plus basse que la sortie du 7805 à cause de la chute d'environ 0,3 V de la diode Schottky ; c'est normal. Sur le Pico W, GP29 est partagée avec la puce sans fil et la mesure de VSYS demande des réglages supplémentaires ; dans ce cas, utilise seulement la mesure sur GP26. Si tu débutes avec le Pico, l'article Qu'est-ce que le Raspberry Pi Pico ? est un bon point de départ.
Idées de projets avec le 7805 et d'autres régulateurs
- Alimentation 5 V d'établi : fabrique un petit boîtier avec un adaptateur 12 V, un 7805, un dissipateur et un interrupteur pour fournir un 5 V stable à tes projets sur breadboard.
- Alimentation avec affichage de tension et de chaleur : porte le code de test ci-dessus sur un écran LCD et affiche en direct l'entrée, la sortie et les pertes ; le principe de mesure est expliqué dans l'article pour fabriquer un voltmètre avec Arduino.
- Arduino en voiture : abaisse les 12–14,4 V de la batterie d'abord à 7–8 V avec un buck, puis à 5 V avec un 7805 ; ajoute une diode TVS en entrée contre les pics de tension du véhicule.
- Ruban LED 12 V et commande par relais : alimente le ruban directement en 12 V, et l'Arduino ainsi que le module relais depuis la sortie du 7805.
- Rail séparé pour servos et NeoPixel : alimente les servomoteurs et les LED WS2812B par un rail 5 V séparé avec masse commune, avec un 7805 sous 1 A et un buck au-delà.
- Carte de capteurs 3,3 V : alimente des modules 3,3 V comme le BME280 et le nRF24L01 avec un AMS1117-3.3, indépendamment de l'Arduino ; pour les niveaux des signaux, utilise un convertisseur de niveaux logiques.
Erreurs fréquentes et solutions
| Symptôme | Cause probable | Solution |
|---|---|---|
| 3,5–4,5 V en sortie au lieu de 5 V | Entrée sous 7 V (dropout) ou pile faible | Monte l'entrée à 7,5–9 V et mesure en charge |
| Le 7805 marche quelques secondes puis se coupe | La protection thermique se déclenche, la perte est trop forte | Ajoute un dissipateur, baisse l'entrée ou utilise un buck |
| La sortie égale l'entrée (ex. 12 V) | Patte GND coupée ou régulateur en court-circuit interne | Vérifie la liaison GND ; débranche la charge, mesure, remplace si besoin |
| Sortie à 0 V et régulateur froid | Mauvais brochage (78L05 ou 7905 confondu) ou entrée et sortie inversées | Vérifie le brochage selon le boîtier |
| L'Arduino redémarre au hasard | Condensateurs absents ou loin des pattes | Place 0,33 µF et 0,1 µF près des pattes et ajoute un électrochimique de 10–47 µF |
| Le régulateur de l'Arduino chauffe beaucoup | 12 V sur Vin et beaucoup de courant tiré sur la broche 5V | Alimente les charges par un autre 7805 ou un buck ; garde Vin à 7–9 V |
| L'ESP32 redémarre quand le Wi-Fi démarre | La source ou l'AMS1117 ne tient pas le pic de courant | Câble court, condensateur de 470 µF, source d'au moins 500 mA |
| La sortie de l'AMS1117-3.3 est vers 3 V | Entrée sous 4,4 V (ex. une seule cellule Li-ion) | Alimente-le en 5 V ou choisis un LDO à plus faible dropout |
Avec la bonne tension d'entrée, deux petits condensateurs et un dissipateur si besoin, le 7805 est l'un des composants les plus fiables de l'électronique et fonctionne pendant des années. Retiens la règle : plus l'écart entre entrée et sortie est grand, plus il y a de chaleur. Pour de grands écarts choisis un buck, pour le 3,3 V un AMS1117, et pour une longue autonomie sur piles un LDO à faible courant de repos. Dans l'application BlueGrays, tu trouveras le voltmètre numérique avec écran LCD, la voiture L298N pilotée en Bluetooth, le robot qui évite les obstacles, la station d'arrosage intelligente et les projets ESP32 en deep sleep, avec schémas et code pas à pas, et tu pourras construire toi-même leur alimentation avec les calculs de ce guide.
Questions fréquentes
Quelle patte du 7805 est l'entrée et laquelle est la sortie ?
Face imprimée vers toi et pattes vers le bas, de gauche à droite la patte 1 est l'entrée (IN), la patte 2 la GND et la patte 3 la sortie (OUT). La languette métallique est aussi reliée à GND. Sur le 78L05 en boîtier TO-92, l'ordre est inversé (1 sortie, 2 GND, 3 entrée), vérifie donc toujours le boîtier.
Combien d'ampères peut fournir un 7805 ?
Un 7805 en TO-220 avec un bon dissipateur fournit 1 A, et jusqu'à 1,5 A selon les conditions ; sa limitation interne intervient vers 2 A en court-circuit. En pratique, c'est la chaleur qui limite, pas le courant : sans dissipateur, (Vin − Vout) · I doit rester sous 1–1,5 W. Le petit 78L05 ne fournit que 100 mA.
Pourquoi mon 7805 chauffe-t-il, et faut-il un dissipateur ?
Le 7805 est un régulateur linéaire : il transforme en chaleur la tension en trop entre l'entrée et la sortie. Tirer 500 mA avec 12 V en entrée représente 3,5 W de chaleur, impossible sans dissipateur. Sous 1 W de perte, pas besoin de dissipateur ; au-delà, ajoutes-en un, et à partir de quelques watts passe à un convertisseur buck.
Un 7805 fonctionne-t-il sans condensateurs ?
Avec des fils courts et près d'une alimentation bien filtrée, il fonctionne souvent, mais ce n'est pas recommandé. Le 0,33 µF en entrée évite les oscillations dues au câblage, et le 0,1 µF en sortie stabilise la tension lors des variations de charge. Ces deux condensateurs bon marché évitent des redémarrages inexpliqués et du bruit.
Quelle est la tension d'entrée maximale d'un 7805 ?
Le maximum absolu est de 35 V (40 V pour le 7824), mais travailler près de cette limite n'est pas réaliste à cause de la chaleur. Pour 5 V en sortie, 7,5–12 V en entrée sont idéaux. Avec des tensions élevées comme 24 V, il est bien plus malin d'abaisser d'abord la tension avec un convertisseur buck.
Peut-on obtenir du 3,3 V avec un 7805 ?
Non, le 7805 ne fournit que du 5 V. Pour le 3,3 V, on utilise un LDO comme l'AMS1117-3.3, qui tire facilement du 3,3 V d'un 5 V et fournit jusqu'à 1 A. Pour les projets sur piles, les LDO à courant de repos de l'ordre du microampère comme le MCP1700 sont plus adaptés.
Projets à réaliser après cet article
Voir tous les projets
Voltmètre numérique avec écran LCD
Découvre quelle tension fournit une pile ou un adaptateur avec un appareil de mesure fait maison. Un diviseur de deux résistances abaisse la tension élevée à un niveau que la carte peut lire, et l'Ard

Voiture contrôlée par Bluetooth avec L298N
Transforme ton téléphone en télécommande et pilote ta propre voiture robot. L'Arduino reçoit, via un module Bluetooth, les ordres d'une appli de télécommande sur ton téléphone et fait tourner les roue

Robot évitant les obstacles
Que diriez-vous de construire un véhicule intelligent qui trouve son propre chemin ? Le Robot Évitant les Obstacles scrute en permanence son environnement grâce au capteur ultrasonique situé devant lu

Station d'irrigation intelligente
Un jardinier qui arrose tes plantes tout seul pour qu'elles ne sèchent pas pendant tes vacances. Un capteur d'humidité mesure à quel point la terre est mouillée ; quand elle devient sèche, l'Arduino f

Mode veille profonde de l'ESP32 — Économie de batterie (OLED + compteur RAM RTC)
Le mode « Deep Sleep » de l'ESP32 réduit la consommation de courant à environ 10 µA en désactivant le processeur et la plupart des périphériques, ce qui revêt une importance cruciale pour les appareils IoT fonctionnant sur batterie. Dans ce projet, nous utilisons trois sources de réveil différentes : une minuterie (timer, 15 s), une broche externe (EXT0 — bouton GPIO 33) et un capteur tactile (T0/GPIO 4). Les variables marquées avec RTC_DATA_ATTR sont conservées pendant le mode Deep Sleep — le

Connexion Wi-Fi STA ESP32 (avec écran LCD)
Dans ce projet, nous connectons l'ESP32 au réseau Wi-Fi domestique en mode Station (STA) de manière sécurisée et tolérante aux pannes. Nous isolons SSID/mot de passe dans un fichier secrets.h pour empêcher leur fuite sur Git, mettons en place une reconnexion automatique, et affichons le niveau RSSI et l'adresse IP sur un écran LCD I2C. La LED intégrée sert d'indicateur d'état.

Contrôle d'une bande NeoPixel WS2812B avec l'ESP32
Les LED adressables WS2812B (NeoPixel) sont des LED RGB intelligentes pouvant être contrôlées en série via une seule broche de données. Dans ce projet, nous allons contrôler une bande WS2812B de 8 LED à l'aide de la bibliothèque Adafruit_NeoPixel afin de créer une animation fluide représentant un arc-en-ciel. Bien que le niveau logique 3,3 V de l'ESP32 fonctionne sans problème avec la plupart des composants WS2812B, nous présenterons une solution comprenant une résistance en série de 470 Ω et un
Autres articles
Application BlueGrays
Réalise ce montage pas à pas sur ton téléphone
Schéma, code et liste des composants sur un seul écran. Plus de 200 projets Arduino, ESP32 et Pico à réaliser.
Scanne avec ton téléphone
Pointe l’appareil photo vers le code : la boutique d’applications de ton téléphone s’ouvre.
ou ouvre la boutique

