Le module capteur de tension B25 est un pont diviseur prêt à l’emploi : il prend une tension continue jusqu’à 25 V sur son bornier à vis et la restitue cinq fois plus petite sur une broche de sortie, à un niveau qu’une entrée analogique d’Arduino peut lire sans dommage. Un petit circuit imprimé bleu, deux résistances de précision, un bornier à vis et un peigne de trois broches au pas de 2,54 mm : il n’y a rien à souder et rien à régler.
Une entrée analogique de carte Arduino mesure au maximum 5 V. Ce module transforme donc une plage de 0 à 25 V en une plage de 0 à 5 V, ce qui permet de surveiller une batterie, une alimentation ou un montage embarqué sans jamais dépasser ce que la carte accepte. C’est le composant qu’on ajoute quand on veut lire une tension au lieu de la subir : suivi de charge d’un accumulateur, contrôle du 12 V d’une alimentation, mesure de la réserve d’un pack d’accus.
Caractéristiques techniques
| Référence | Module capteur de tension B25, plage 0 à 25 V — vendu aussi sous le nom de « Voltage Sensor Module » |
|---|---|
| Principe | Pont diviseur résistif de rapport 5:1 (30 kΩ et 7,5 kΩ à 1 % sur le modèle standard) |
| Tension d’entrée | 0 à 25 V en continu, pôle positif seulement |
| Tension de sortie | L’image de l’entrée divisée par 5, soit 0 à 5 V. Une entrée de 12 V donne environ 2,4 V sur la broche de sortie |
| Résolution | 4,89 mV par niveau du convertisseur sur une carte à convertisseur 10 bits, soit 24,45 mV sur la tension mesurée |
| Précision | Quelques pour cent d’origine : elle dépend de la tolérance des résistances et de la référence réelle de la carte. À ramener sous 1 % par une calibration au multimètre |
| Entrée | Bornier à vis deux pôles, repérés VCC (pôle positif à mesurer) et GND (pôle négatif) |
| Sortie | Peigne de trois broches au pas de 2,54 mm, repérées S, + et − |
| Alimentation | Aucune : le module ne demande pas d’alimentation propre, il prélève seulement de quoi faire fonctionner son diviseur, soit moins de 0,7 mA sous 25 V |
| Isolation | Aucune. L’entrée et la sortie partagent la même masse électrique |
Le rapport de division, et l’erreur de programme qu’il provoque
C’est le point qui compte le plus dans cette fiche, parce qu’il est très souvent raté. Le module ne renvoie pas la tension mesurée : il en renvoie le cinquième. Un programme qui se contente de convertir la lecture analogique en volts affiche donc la tension présente sur la broche de la carte, pas celle du bornier — et il annonce 2,4 V là où la source en fournit 12.
La conversion se fait en deux temps, et le rapport du diviseur intervient dans le second :
| Première étape | La lecture du convertisseur, entre 0 et 1 023, devient une tension sur la broche : lecture × 5 V ÷ 1 023 |
|---|---|
| Seconde étape | Cette tension est multipliée par le rapport du diviseur, soit 5, pour retrouver la tension d’entrée |
| Exemple | Une source de 12 V place environ 2,4 V sur la broche ; la lecture vaut alors près de 491, que le programme doit rendre à 12 V |
Ce facteur de 5 est celui du modèle standard. Les résistances du diviseur ont une tolérance, et la référence « 5 V » d’une carte alimentée par USB est souvent plus proche de 4,8 V : le facteur réel d’un exemplaire donné n’est donc pas exactement 5. La bonne méthode est de le calibrer une fois, au multimètre, et d’écrire la valeur trouvée dans le programme — c’est ce que fait le mini-projet ci-dessous.
Ce que le module ne fait pas
Ces limites ne relèvent pas du réglage : elles tiennent à la nature du composant, et les ignorer peut coûter la carte Arduino ou pire.
| Tension alternative | Le module redresse et lisse un courant alternatif, l’entrée doit être continue. Une tension alternative ou le secteur ne se mesurent pas ici |
|---|---|
| Tension négative | Le pôle négatif de la source va sur la borne GND : une tension inverse n’a pas de sens pour ce montage |
| Aucune isolation | Entrée et sortie partagent la masse. Mesurer la tension d’un appareil relié au secteur, ou d’une source flottante, n’est pas possible sans danger |
| Aucune protection | Pas de fusible, pas d’écrêtage, pas de protection contre l’inversion de polarité. Dépasser 25 V ou inverser l’entrée abîme le module, puis la carte |
| Discontinuité de masse | La masse de la source mesurée et celle de la carte Arduino doivent être un seul et même point électrique. Sans cette liaison, la mesure est fausse et rien ne le signale |
Applications
- Surveillance d’un accumulateur — suivre la décharge d’un pack d’accus et déclencher une alerte avant la coupure automatique, en comparant la tension lue à un seuil dans le programme.
- Contrôle d’une alimentation — vérifier qu’un bloc 12 V délivre bien sa tension, et couper un module 1 relais 5 V par programme si elle disparaît.
- Mesure sur un montage embarqué — lire la tension d’un moteur ou d’un éclairage dans un projet autonome, pour journaliser sa consommation ou détecter une défaillance.
- Afficheur de tension autonome — transformée en petit voltmètre sur afficheur LCD 16×02 en I2C, sans ordinateur ni multimètre à côté du montage.
- Banc de test et étalonnage — mesurer une source étalon à l’entrée et comparer avec un multimètre de référence pour établir le facteur exact de son exemplaire.
- Suivi de charge solaire — surveiller la tension d’un panneau ou d’un régulateur dans un projet de recharge autonome, l’entrée restant sous la limite de 25 V.
Mini-projet : un mesureur de tension 0 à 25 V sur le moniteur série
Un quart d’heure suffit pour obtenir un voltmètre qui affiche la tension du bornier, en clair, sur le moniteur série de l’IDE Arduino. Le programme moyenne seize lectures pour stabiliser l’affichage, applique le facteur du diviseur et prévient quand la plage du module est dépassée. C’est aussi le montage qui permet de calibrer le facteur réel de son exemplaire.
Ce qu’il faut
| Le module | Le module capteur de tension B25 de cette page |
|---|---|
| La carte de mesure | Arduino Uno R3 avec câble USB, une Nano convient tout autant une fois la broche A0 repérée |
| Le montage | Plaque d’essai 400 points et quelques fils de prototypage mâle-mâle |
| La source à mesurer | Une pile 9 V, un pack d’accus ou une alimentation de laboratoire réglée sous 25 V |
| Pour la calibration | Un multimètre DT-9205A, qui servira de référence : c’est lui qui donne la vraie tension |
Le câblage
Le montage est volontairement minimal : la source se branche sur le bornier, la sortie se branche sur la carte, et rien d’autre.
| Source mesurée | Pôle positif sur la borne VCC du bornier, pôle négatif sur la borne GND |
|---|---|
| Signal mis à l’échelle | Broche S du peigne vers l’entrée analogique A0 de la carte |
| Masse commune | Broche − du peigne vers une broche GND de la carte. C’est cette liaison qui rend la mesure juste |
| Broche du milieu | Repérée +, elle n’est pas nécessaire au montage : la tension à mesurer s’injecte par le bornier à vis |
| À ne pas faire | Ne pas relier la source à mesurer directement à la carte ; elle passe obligatoirement par le module |
Le programme
À téléverser sur la carte, puis à observer dans le moniteur série réglé à 9 600 bauds. Aucune bibliothèque n’est nécessaire.
/*
* Mesureur de tension 0 a 25 V avec le module B25 et une carte Arduino
* Le module divise par 5 la tension appliquee au bornier : le programme
* multiplie la lecture de A0 par ce facteur pour retrouver la tension
* d entree. La masse de la source et celle de la carte sont communes.
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_MESURE = 0; // entree analogique A0, reliee a la broche S
const float ECHELLE = 5.0; // rapport du diviseur du module
const float REFERENCE = 5.0; // tension de reference de la carte, en volts
const int LECTURES = 16; // nombre de lectures moyennees par cycle
void setup() {
Serial.begin(9600);
Serial.println("Mesureur de tension 0 a 25 V");
Serial.println("Masse de la source et masse de la carte reunies");
}
void loop() {
long somme = 0;
for (int i = 0; i != LECTURES; i++) {
somme += analogRead(PIN_MESURE);
}
float niveau = somme / (float) LECTURES; // 0 a 1023
float surBroche = niveau * REFERENCE / 1023.0; // tension sur A0
float entree = surBroche * ECHELLE; // tension mesuree
Serial.print(entree, 2);
Serial.print(" V ");
// min() ramene la valeur a 25 : si elle y colle, la plage est depassee
if (min(entree, 25.0) == 25.0) {
Serial.print("plage depassee : au dessus de 25 V");
} else {
Serial.print("dans la plage du module");
}
Serial.println();
delay(500);
}Comment ça marche
- Les seize lectures d’affilée sont additionnées puis divisées : la moyenne efface le bruit du convertisseur et l’afficheur cesse de sauter d’un dixième de volt à chaque rafraîchissement.
surBrocheest la tension réellement présente sur A0, comprise entre 0 et 5 V. C’est le résultat brut de la mesure, sans le diviseur.entreeapplique le facteur 5 : c’est la tension du bornier, celle que vous lisez aussi au multimètre.- La comparaison finale utilise
min()plutôt qu’un opérateur de comparaison, ce qui évite d’écrire un signe d’inégalité dans un programme destiné à être publié sur une page web. - Le seuil de 25 V n’est pas décoratif : au-delà, la broche S dépasse 5 V et l’entrée analogique de la carte est en danger. Si le message apparaît, coupez l’entrée avant de continuer.
- Une lecture qui reste collée à 0 : vérifiez d’abord la masse commune, ensuite la polarité du bornier, puis que la broche S est bien celle qui part vers A0.
Calibrer le facteur réel de son exemplaire
Mesurez la source au multimètre et notez la valeur exacte, puis lisez l’affichage du programme. Divisez la tension du multimètre par celle qu’affiche la carte : vous obtenez le facteur réel de votre exemplaire, souvent entre 4,9 et 5,1. Remplacez alors la valeur de ECHELLE par ce nombre et téléversez à nouveau. L’erreur tombe d’elle-même sous le pour cent, sans rien changer au câblage.
Pour aller plus loin
- Mesurer deux sources — un second module sur l’entrée A1 permet de surveiller à la fois un panneau et son accumulateur, les deux masses restant réunies.
- Enregistrer plutôt qu’afficher — écrire la tension datée sur une carte mémoire rend le montage utile pour suivre une décharge sur plusieurs heures, sans ordinateur branché.
- Afficher sur écran — un afficheur sur bus I2C se câble en deux fils sur la carte et dispense du moniteur série.
- Déclencher une action — comparer la tension à un seuil puis actionner un relais ou allumer une diode d’alerte transforme le mesureur en surveillance automatique.
- Lisser davantage — porter
LECTURESà 64 rend l’affichage plus stable encore, au prix d’un rafraîchissement un peu plus lent.
Questions fréquentes
Le programme affiche 2,4 V alors que ma source en donne 12 : pourquoi ?
Parce que le facteur du diviseur a été oublié. Le module renvoie le cinquième de la tension d’entrée, et un programme qui convertit la lecture analogique sans multiplier par 5 décrit la tension de la broche, pas celle du bornier. Multipliez le résultat par le rapport du module, puis calibrez ce rapport au multimètre.
Jusqu’à quelle tension puis-je mesurer ?
25 V en continu, pas au-delà. Le module est prévu pour que 25 V à l’entrée donnent 5 V en sortie, la limite d’une entrée analogique de carte Arduino. Sur une carte alimentée en 3,3 V, la limite descend à 16,5 V : la broche accepte alors 3,3 V au maximum, et le diviseur reste le même.
Faut-il alimenter le module ?
Non. Il n’a pas de broche d’alimentation : c’est un diviseur de résistances, il prélève seulement le courant nécessaire à la mesure, moins d’un milliampère. La source mesurée n’est donc pas mise en charge par le module.
Puis-je mesurer la tension d’un appareil branché au secteur ?
Non, et ce n’est pas une question de plage de mesure mais de sécurité. Le module n’offre aucune isolation : son entrée et sa sortie partagent la même masse, et une carte Arduino reliée à un ordinateur n’est pas prévue pour être mise au potentiel du secteur. Ce module sert à des tensions continues basses et à des sources flottantes de faible puissance, jamais au réseau électrique.
La mesure est fausse dès que je branche autre chose sur la même alimentation
Cherchez du côté des masses. Une source mesurée par ce module doit partager sa masse avec la carte, et si deux appareils reliés à des masses différentes se retrouvent dans le même montage, le courant de masse fausse la lecture. Réunissez les masses en un seul point et recommencez la mesure.
Peut-il mesurer le courant d’un montage ?
Non, il mesure une tension. Pour obtenir un courant, il faut mesurer la chute de tension aux bornes d’une résistance de valeur connue placée dans le circuit, puis appliquer la loi d’Ohm dans le programme. C’est faisable, mais la précision reste celle d’une mesure de tension sur une faible chute.
Le module chauffe-t-il pendant la mesure ?
Pas de manière perceptible : le courant qui le traverse reste inférieur au milliampère. Une chaleur anormale signale une erreur de câblage ou une tension d’entrée largement supérieure à la plage prévue, et il faut couper l’alimentation avant d’endommager la carte.
À combiner avec
Ce module ne fonctionne pas seul : il lui faut une carte qui lise sa sortie et une source à mesurer. Une alimentation 12 V 2 A fait une source d’essai commode, et un support pour deux batteries 18650 permet de s’entraîner sur un pack d’accus, en suivant la décharge sur plusieurs heures.
Pour transformer la mesure en décision, un module relais commandé par le programme coupe ou rétablit l’alimentation dès que la tension passe sous un seuil. Et si le montage doit rester autonome, sans ordinateur, le résultat s’affiche directement sur un écran câblé à la carte plutôt que dans le moniteur série.











Avis
Il n’y a pas encore d’avis.