OPEN—WEIGHT
OPEN_WEIGHT est une petite carte électronique open source. Elle lit un capteur de force et transforme la poussée d’un moteur de drone en un nombre précis. Cette page explique son fonctionnement, étape par étape. Aucune connaissance en électronique n’est nécessaire.

La carte. Les deux capteurs se branchent en haut, l’ordinateur en bas.
D’UNE POUSSÉE À UN NOMBRE, EN QUATRE ÉTAPES
Le moteur fait tourner son hélice et pousse.
Une barre de métal, la cellule de charge, plie. Si peu qu’on ne le voit pas.
Cette flexion modifie un minuscule signal électrique.
OPEN_WEIGHT mesure ce signal et envoie un nombre à l’ordinateur.
11 CHAPITRES, DU PLUS SIMPLE AU PLUS POINTU
Lisez dans l’ordre, ou allez directement à ce qui vous intéresse. Chaque chapitre commence simplement et se termine par une idée à retenir. Les détails techniques sont repliés dans des encadrés Pour aller plus loin : ouvrez-les seulement si vous êtes curieux.
Qu’est-ce qu’une cellule de charge ?
Une cellule de charge est un capteur de force. Les pèse-personnes, les balances de cuisine et les ponts-bascules pour camions en contiennent tous une.
À l’intérieur d’une cellule de charge, il y a un bloc de métal. Quand on appuie dessus, il plie. Si peu qu’on ne le voit pas, mais cela suffit.
Sur le métal est collée une jauge de contrainte : une piste métallique très fine, repliée en zigzag. Quand le bloc plie, la piste s’étire avec lui.
Et voici la clé : un fil étiré laisse passer moins d’électricité. Il devient plus long et plus fin, donc sa résistance augmente. Mesurez cette résistance, et vous savez avec quelle force on appuie.
UNE JAUGE DE CONTRAINTE, ÉTIRÉE PUIS RELÂCHÉE
Le zigzag est la piste métallique. Étirée, elle est plus longue et plus fine, et sa résistance augmente. L’étirement est exagéré ici : en réalité, on ne le verrait pas.
Une paille. Il est plus difficile de boire avec une paille longue et fine qu’avec une paille courte et large. L’électricité dans un fil se comporte de la même façon : étirez le fil, et le courant a plus de mal à passer.
À pleine force, la résistance change d’environ 0,2 %. Sur une jauge classique de 350 Ω, cela fait 0,7 Ω. C’est comme remarquer qu’une route de 1 km s’est allongée de 2 m.
Une force fait plier le métal. La flexion étire un fil. L’étirement change sa résistance. Une cellule de charge transforme une force en un minuscule changement de résistance.
POUR ALLER PLUS LOINLe facteur de jauge, et les formes de cellules de charge
La variation de résistance pour un étirement donné s’appelle le facteur de jauge. Pour les jauges à trame métallique, il vaut environ 2 : un étirement de 0,1 % donne une variation de résistance de 0,2 %.
- Poutre en flexion : une barre qui plie. La plus courante, dans les balances d’établi et les petits bancs de poussée.
- Type S : fonctionne en traction comme en compression. Pesons suspendus, essais de matériaux.
- Compression : en forme de bouton ou de galette. Pesage industriel.
- Poutre en cisaillement : tolère les efforts latéraux. Cuves et plateformes.
- La forme importe peu pour OPEN_WEIGHT : elle lit n’importe quelle cellule de charge à 4 fils, de 120 Ω à 1 kΩ.
Pourquoi quatre jauges au lieu d’une ?
Un changement de 0,2 % est bien trop petit pour être mesuré directement. Les cellules de charge utilisent donc une astuce vieille de près de deux siècles : comparer quatre jauges entre elles.
Les quatre jauges sont câblées en losange : c’est un pont de Wheatstone. L’alimentation entre par le haut et ressort par le bas. On regarde la différence de tension entre le coin gauche et le coin droit.
Sans force sur le capteur, les quatre jauges sont identiques. La gauche et la droite sont parfaitement égales, donc la différence vaut zéro.
Avec une force, deux jauges sont étirées et deux sont comprimées. La gauche et la droite ne sont plus égales, et une petite tension apparaît. Plus on appuie fort, plus la tension est grande.
LE PONT : QUATRE JAUGES EN LOSANGE
Les quatre cases sont les quatre jauges de contrainte. Le signal est la différence entre le coin gauche et le coin droit.
Une vieille balance à deux plateaux. Mettez le même poids de chaque côté et l’aiguille indique zéro, quel que soit ce poids. Ajoutez un grain de riz d’un côté, et l’aiguille bouge. Le pont fonctionne de la même façon : il ignore la grande valeur et ne montre que la différence.
Deux fils amènent l’alimentation. Deux fils ramènent le signal.
Un capteur courant alimenté en 5 V donne environ 10 mV à pleine force : dix millièmes de volt. C’est 150 fois moins qu’une pile AA.
Un pont transforme quatre minuscules changements de résistance en une seule petite tension. Elle vaut zéro quand rien n’appuie, et grandit avec la force.
POUR ALLER PLUS LOINLa formule du pont, et ce que signifie mV/V
V_EXC est l’excitation, c’est-à-dire l’alimentation envoyée au pont. Les numéros 1 à 4 correspondent aux jauges du dessin.
Les cellules de charge sont caractérisées en mV/V : des millivolts de signal à pleine force, pour chaque volt d’excitation. Un capteur de 2 mV/V alimenté en 5 V donne 2 × 5 = 10 mV à pleine force. Ces 2 mV/V sont exactement les 0,2 % du chapitre 1.
- 01Le pont mesure un changement, pas une valeur absolue : les 350 Ω disparaissent, seuls les 0,7 Ω restent.
- 02Ce qui touche les quatre jauges de la même façon, comme la température, s’annule.
- 03Quatre jauges actives donnent quatre fois le signal d’une seule.
- 04La sortie est une fraction de l’excitation. Le chapitre 5 repose là-dessus.
Pourquoi est-ce difficile à mesurer ?
Le signal est minuscule, et un banc d’essai moteur est l’un des endroits les plus bruyants où l’on puisse le mettre.
Pour peser un gramme sur un capteur de 5 kg, la carte doit distinguer deux millionièmes de volt. Pendant ce temps, à quelques centimètres de là, un moteur commute des dizaines d’ampères.
Agrandir un petit signal est facile : n’importe quel amplificateur le fait. Mais un amplificateur agrandit aussi le bruit. Le vrai travail consiste à écarter le bruit avant d’amplifier.
PETIT, MAIS PETIT COMMENT ?
Chaque ligne est bien plus petite que celle du dessus.
Entendre un chuchotement à côté d’un aspirateur. Le chuchotement, c’est le signal du capteur. L’aspirateur, c’est tout le reste : le moteur, son contrôleur, les prises de courant, et jusqu’à l’alimentation de la carte elle-même.
QUATRE SOURCES DE BRUIT, ET CE QUE LA CARTE FAIT CONTRE CHACUNE
Les chapitres suivants expliquent ces réponses une par une.
L’ALIMENTATION TREMBLE
Le signal d’un capteur suit son alimentation. Si l’alimentation tremble, la mesure tremble avec elle.
Une alimentation en deux étages, extrêmement calme (chapitre 6), et une astuce qui annule ce qui reste (chapitre 5).
LA CHALEUR FAIT DÉRIVER
En chauffant, les composants changent un peu de valeur. La mesure glisse lentement, alors que rien n’a changé.
Quatre jauges qui dérivent ensemble et se compensent, une puce qui corrige son propre décalage, et un nouveau zéro une fois la carte chaude.
LES MOTEURS ÉMETTENT DU BRUIT
Un moteur et son contrôleur commutent de forts courants, très vite. Chaque fil voisin en capte une partie, comme une antenne.
Un filtre sur chaque entrée, des connecteurs blindés et un capot métallique sur la partie sensible de la carte.
LE SECTEUR EST PARTOUT
Le 50 ou 60 Hz des prises de courant s’infiltre dans tous les câbles d’une pièce, sous la forme d’un ronflement lent.
La puce fait la moyenne de ses mesures d’une manière qui fait disparaître le 50 Hz et le 60 Hz.
Agrandir le signal est facile. Le protéger du bruit, voilà le vrai travail : c’est à cela que sert l’essentiel de la carte.
POUR ALLER PLUS LOINLes chiffres exacts
| GRANDEUR | VALEUR | REMARQUE |
|---|---|---|
| Excitation du pont | 5 V | Ce qui alimente la cellule de charge |
| Pleine échelle de l’ADC au gain 128 | ±39 mV | ±VREF / 128 |
| Signal à pleine charge, cellule de 2 mV/V | 10 mV | Posé sur un mode commun de 2,5 V |
| Un gramme sur une cellule de 5 kg | 2 µV | 10 mV ÷ 5000 |
| Bruit propre de l’AD7190 | 8,5 nV eff. | Gain 128, cadence de sortie de 4,7 Hz |
Entre les 5 V qui alimentent le pont et le bruit du convertisseur, il y a un facteur de plus de 500 millions.
Qu’y a-t-il sur la carte ?
Une seule puce fait la mesure. Tout le reste de la carte est là pour lui offrir une alimentation calme et un signal propre.
Voyez la carte comme une petite équipe de sept. Chaque membre a un seul rôle, et un surnom pour s’en souvenir.
Suivez les flèches du dessin ci-dessous. En vert, le signal qui va du capteur à la puce. En orange, l’alimentation. En bleu, les données qui repartent vers l’ordinateur.
Un studio d’enregistrement. Le chanteur, c’est le capteur, et l’amplificateur du micro, c’est la puce de mesure. Autour d’eux, tout est fait pour le silence : une électricité propre, des murs capitonnés, une porte fermée. Rien dans la pièce ne fait de musique. Tout sert à laisser le bruit dehors.
LA CARTE, ÉLÉMENT PAR ÉLÉMENT
CLIQUEZ SUR UNE CASE POUR VOIR À QUOI ELLE SERT
Le cœur de la carte. Il rend le minuscule signal jusqu’à 128 fois plus grand, puis le transforme en un nombre à 16 millions de pas possibles. Il fait aussi la moyenne de ses mesures, ce qui efface le ronflement du secteur.
- Puce : AD7190, un convertisseur 24 bits avec amplificateur intégré
- Amplification de ×1 à ×128
- Son bruit propre : 8,5 milliardièmes de volt
TROIS CHOIX QUI FAÇONNENT LA CARTE
UNE SEULE PRISE
La carte n’a besoin que du 3,3 V de l’hôte. Elle fabrique elle-même son 5 V.
PAS DE RÈGLE SÉPARÉE
La plupart des cartes de mesure ont besoin d’une tension de référence très précise. Celle-ci prend l’alimentation du capteur comme règle : c’est plus simple et plus stable.
LE CALME AVANT LE RENDEMENT
L’alimentation gaspille volontairement un peu d’énergie. C’est le prix d’une alimentation très calme, et ici le calme compte davantage.
Capteur, portier, traducteur, nombre. Autour d’eux : une pompe et un nettoyeur pour l’alimentation, et un capot métallique pour bloquer les parasites.
L’idée astucieuse : comparer plutôt que mesurer
C’est l’idée la plus astucieuse de la carte, et elle est étonnamment simple.
Souvenez-vous du chapitre 3 : le signal d’un capteur suit son alimentation. Si l’alimentation baisse de 1 %, le signal baisse de 1 % lui aussi, alors que la force n’a pas changé.
Une puce de mesure classique compare le signal à une référence fixe, comme une règle. Elle verrait un signal 1 % plus petit, et annoncerait à tort 1 % de force en moins.
OPEN_WEIGHT utilise une autre règle : l’alimentation du capteur elle-même. Si l’alimentation baisse de 1 %, le signal et la règle rétrécissent tous deux de 1 %. Le rapport entre les deux ne change pas, donc la mesure ne change pas.
On appelle cela une mesure ratiométrique : on mesure un rapport plutôt qu’une valeur.
L’alimentation a baissé, et le signal aussi. Leur rapport n’a pas bougé.
Un dessin sur une feuille de caoutchouc, avec une règle imprimée sur la même feuille. Étirez la feuille : le dessin grandit, mais la règle aussi. Mesuré avec cette règle, le dessin fait toujours exactement la même taille.
LA TENSION D’ALIMENTATION CHANGE-T-ELLE LA MESURE ?
- 1Appuyez sur le capteur avec le premier curseur.
- 2Changez maintenant la tension d’alimentation avec le second curseur.
- 3Comparez les deux mesures affichées à droite.
PLUS DE RÉGLAGES : TYPE DE CAPTEUR ET AMPLIFICATION
Ce que vous devriez voir : quand l’alimentation bouge, le signal du capteur bouge avec elle, et une carte à règle fixe se fait piéger. OPEN_WEIGHT, non : sa règle bouge exactement d’autant.
La carte ne mesure pas des volts. Elle mesure quelle fraction de son alimentation le capteur lui renvoie. Cette fraction ne dépend que de la force.
POUR ALLER PLUS LOINLa formule derrière le nombre
V_EXC, la tension d’excitation, apparaît dans le signal et dans la référence. Elle se simplifie et disparaît du résultat.
Sur la carte, l’entrée de référence de l’AD7190 (REFIN1±) est reliée aux deux mêmes fils qui alimentent le pont (SENSE±). Il n’y a aucune puce de référence de tension séparée.
La simulation prévoit 4,955 V aux bornes du pont au lieu de 5 V, à cause de petites pertes dans les deux interrupteurs. Avec une mesure ratiométrique, cela n’a pas d’importance. Même à ×128, un capteur de 2 mV/V n’utilise qu’environ un quart de la plage d’entrée de la puce.
D’où vient une alimentation propre ?
La puce de mesure veut un 5 V très calme. L’hôte ne propose que du 3,3 V, et il n’est pas calme. La carte règle les deux problèmes en deux étapes.
La seule chose que la carte reçoit. Pas très calme.
Monte la tension en commutant 1,2 million de fois par seconde.
Assez haut, mais il porte de petites ondulations rapides.
Abaisse la tension à 5 V et retire les ondulations.
Alimente la puce de mesure et les capteurs.
Un composant appelé convertisseur élévateur (ou boost) monte le 3,3 V à 6 V. Pour cela, il s’allume et s’éteint 1,2 million de fois par seconde. Il gaspille très peu d’énergie, mais laisse de petites ondulations sur sa sortie.
Un régulateur très silencieux abaisse le 6 V à 5 V exactement et retire les ondulations. Il a besoin d’un peu de tension en réserve pour travailler : voilà pourquoi l’étape 1 monte jusqu’à 6 V, et pas seulement 5 V.
LA CARTE MET UNE DEMI-SECONDE À SE RÉVEILLER
1 ms, c’est un millième de seconde.
L’hôte allume le 3,3 V.
Au bout d’un millième de seconde, le 6 V est là.
L’alimentation calme a atteint 4,6 V. C’est proche, mais pas encore prêt.
L’alimentation monte lentement vers 5 V.
L’alimentation est parfaitement calme. Les mesures peuvent commencer.
Pourquoi si lent ? C’est voulu. L’élément qui rend l’alimentation si calme se remplit lentement, comme un grand réservoir. Le calme prend du temps.
L’eau d’une pompe. Une pompe donne de la pression, mais l’eau sort par à-coups. Ajoutez un réservoir après la pompe, et l’eau qui en sort coule de façon parfaitement régulière.
En simulation, l’ondulation est environ 36 000 fois plus faible après le nettoyeur qu’avant.
On pompe d’abord, on nettoie ensuite. Le résultat : un 5 V assez calme pour une puce qui écoute des millionièmes de volt.
POUR ALLER PLUS LOINCombien la carte consomme
| ÉTAGE | RAIL | COURANT | PUISSANCE |
|---|---|---|---|
| AD7190, partie analogique (gain 128, 10 Hz) | +5VA | ~4 mA | ~20 mW |
| Résonateur, filtres RC, analogique divers | +5VA | ~1 mA | ~5 mW |
| Excitation de la cellule (pont de 350 Ω) | +5VA | ~14 mA | ~70 mW |
| LT3042, courant de repos | +6V | ~2 mA | ~12 mW |
| LT3042, entrée totale | +6V | ~21 mA | ~126 mW |
| AD7190, partie numérique | +3.3V | ~1 mA | ~3,3 mW |
| TPS61086, entrée (η ≈ 85–90 %) | +3.3V | ~45–50 mA | ~148–165 mW |
| Total de la carte, estimé | +3.3V | ~46–51 mA | ~151–168 mW |
Estimations pour un pont de 350 Ω. Un pont de 1 kΩ consomme environ 5 mA au lieu de 14 mA. La simulation donne 66,5 mA tirés de l’hôte, LED témoins comprises.
POUR ALLER PLUS LOINLa séquence de démarrage en détail
| ÉTAPE | DÉLAI | REMARQUE |
|---|---|---|
| Démarrage du boost TPS61086 (démarrage progressif) | +6V à 90 % après ~1,1 ms, stabilisé après ~2 ms | Bref dépassement à 6,35 V, pic de 1,13 A dans la bobine |
| Démarrage rapide du LT3042 | +5VA atteint 4,59 V après ~5 ms | Power-Good passe à l’état haut ici, avant que le rail soit stabilisé |
| Stabilisation finale du LT3042 | 99 % après ~250 ms, 99,9 % après ~500 ms | τ = 50 kΩ × 2,2 µF = 110 ms |
| Délai minimal sûr | ≥ 600 ms après la mise sous tension | Avant d’étalonner, se fier au délai, pas à Power-Good |
La stabilisation lente vient du condensateur de 2,2 µF placé sur la broche SET du LT3042, qui filtre sa référence. Un condensateur plus petit (0,47 µF, τ = 23,5 ms) démarre plus vite, au prix d’un peu plus de bruit à basse fréquence. En simulation, l’ondulation à 1,2 MHz passe de 194 µV efficaces sur le rail 6 V à 5,3 nV efficaces sur le rail 5 V : 91 dB de moins.
Comment tester un circuit avant de le fabriquer ?
Fabriquer une carte électronique coûte de l’argent et prend des semaines. Avant de la commander, la conception a donc été testée dans un ordinateur.
Un simulateur de vol, pour l’électronique. On dessine le circuit, on lance le calcul, et le logiciel calcule chaque tension et chaque courant, instant après instant. Si quelque chose cloche, on le découvre gratuitement, avant d’avoir fabriqué quoi que ce soit.
Cinq simulations ont été menées sur OPEN_WEIGHT, avec un logiciel appelé LTspice. Chacune répond à une question simple. Choisissez un onglet ci-dessous : chaque figure est accompagnée de sa question, d’une réponse courte et d’un guide de lecture.
Un simulateur a besoin d’une description de chaque puce. Le fabricant de la pompe n’en fournit pas pour LTspice : il en a donc été écrit une pour ce projet, à partir de la fiche technique de la puce.
Elle vérifie que l’idée est bonne. Elle ne peut pas connaître tous les détails d’une vraie carte. Une fois la carte fabriquée, les mêmes grandeurs seront mesurées sur l’établi.
L’alimentation démarre-t-elle correctement ?
Oui. Le 6 V est là au bout d’environ un millième de seconde. Le 5 V se stabilise ensuite en douceur, en une demi-seconde environ, et rien ne dépasse dangereusement.
Quatre graphiques. En haut à gauche : les trois alimentations pendant les 600 premières millisecondes. En haut à droite : la même chose, zoomée sur le tout début. En bas à gauche : un zoom vertical sur le 5 V pendant qu’il monte doucement vers sa valeur finale ; la ligne en pointillés est ce que prédit une formule simple. En bas à droite : le courant dans la bobine de la pompe.
- Le 6 V se stabilise à 6,037 V ; 90 % atteints en 1,1 ms
- Bref dépassement à 6,35 V ; la puce suivante accepte jusqu’à 20 V
- Le courant de la bobine culmine à 1,13 A ; la bobine supporte 2,5 A
- Le 5 V est à 99 % après 241 ms, et à 4,998 V à 600 ms
LES VALEURS EN TABLEAU
| Temps (ms : millièmes de seconde) | 3,3 V, venu de l’hôte | 6 V, après la pompe | 5 V, après le nettoyeur |
|---|---|---|---|
| 0 ms | 0,00 V | 0,00 V | -0,78 V |
| 75 ms | 3,30 V | 6,04 V | 4,77 V |
| 150 ms | 3,30 V | 6,04 V | 4,88 V |
| 225 ms | 3,30 V | 6,04 V | 4,94 V |
| 300 ms | 3,30 V | 6,04 V | 4,97 V |
| 375 ms | 3,30 V | 6,04 V | 4,98 V |
| 450 ms | 3,30 V | 6,04 V | 4,99 V |
| 525 ms | 3,30 V | 6,04 V | 4,99 V |
| 600 ms | — | — | — |
LES VALEURS EN TABLEAU
| Temps (ms : millièmes de seconde) | 3,3 V, venu de l’hôte | 6 V, après la pompe | 5 V, après le nettoyeur |
|---|---|---|---|
| 0 ms | 0,00 V | 0,00 V | -0,78 V |
| 3,13 ms | 3,30 V | 6,04 V | 2,89 V |
| 6,25 ms | 3,30 V | 6,04 V | 4,58 V |
| 9,38 ms | 3,30 V | 6,04 V | 4,59 V |
| 12,5 ms | 3,30 V | 6,04 V | 4,60 V |
| 15,6 ms | 3,30 V | 6,04 V | 4,61 V |
| 18,8 ms | 3,30 V | 6,04 V | 4,62 V |
| 21,9 ms | 3,30 V | 6,04 V | 4,63 V |
| 25 ms | — | — | — |
LES VALEURS EN TABLEAU
| Temps (ms : millièmes de seconde) | Alimentation 5 V, simulée | Formule simple (constante de temps de 110 ms) |
|---|---|---|
| 0 ms | -0,780 V | — |
| 75 ms | 4,773 V | 4,775 V |
| 150 ms | 4,885 V | 4,886 V |
| 225 ms | 4,942 V | 4,942 V |
| 300 ms | 4,971 V | 4,971 V |
| 375 ms | 4,985 V | 4,985 V |
| 450 ms | 4,992 V | 4,993 V |
| 525 ms | 4,996 V | 4,996 V |
| 600 ms | — | 4,998 V |
LES VALEURS EN TABLEAU
| Temps (ms : millièmes de seconde) | Courant de la bobine |
|---|---|
| 0 ms | — |
| 3,13 ms | -0,01 A à 0,22 A |
| 6,25 ms | -0,01 A à 0,17 A |
| 9,38 ms | -0,01 A à 0,17 A |
| 12,5 ms | -0,01 A à 0,17 A |
| 15,6 ms | -0,01 A à 0,17 A |
| 18,8 ms | -0,01 A à 0,17 A |
| 21,9 ms | -0,01 A à 0,17 A |
| 25 ms | — |
Tracé à partir des résultats de simulation du projet (commit edc21a0), allégés à quelques centaines de points par courbe. Passez le pointeur sur un graphique, ou sélectionnez-le et utilisez les flèches du clavier, pour lire les valeurs exactes.
Tester d’abord dans l’ordinateur. Une erreur trouvée en simulation ne coûte rien. La même erreur sur une vraie carte coûte des semaines.
POUR ALLER PLUS LOINComment les simulations sont construites
- Chaque valeur de composant vient de la netlist KiCad, avec les mêmes repères que sur le schéma.
- Le LT3042 utilise le modèle officiel d’Analog Devices.
- Le modèle du TPS61086 est comportemental : commande en courant crête à 1,2 MHz, amplificateur d’erreur de 107 µA/V, référence de 1,238 V, interrupteur de 0,13 Ω, limite de courant de 2,6 A, démarrage progressif et mode d’économie d’énergie.
- Charge sur le rail 5 V : l’AD7190, un pont de 350 Ω et une LED témoin.
- Non pris en compte : les éléments parasites du routage, et la perte de capacité des condensateurs céramiques sous tension continue. Les deux modifieront les chiffres d’ondulation.
Les pistes de cuivre peuvent-elles se gêner ?
Même un circuit parfait peut être perturbé par la façon dont ses pistes de cuivre sont dessinées. Sur cette carte, la pompe et la puce de mesure sont à deux centimètres l’une de l’autre.
Toute piste parcourue par un courant qui varie crée un champ invisible autour d’elle. Toute piste voisine en capte un peu.
Pour savoir combien, la forme réelle du cuivre a été chargée dans un simulateur de champs appelé openEMS. Il découpe la carte en près de deux millions de petits cubes et calcule le champ dans chacun d’eux.
CE QUE LA SIMULATION A TROUVÉ
Avec le capot métallique, environ 15 milliardièmes de volt atteignent chaque entrée. C’est 1,5 millionième du signal complet du capteur : comme 1,5 mm sur une route de 1 km.
L’effet électrique de la pompe est négligeable. Ce qui compte, c’est le champ magnétique créé par les courants qui tournent en boucle autour d’elle.
Surtout à cause de la bobine de la pompe, dont le champ de fuite n’est pas connu précisément. Le capot divise son pire cas par 12 à 50.
Un téléphone qui se recharge sans câble. Le chargeur et le téléphone ne se touchent pas, et pourtant l’énergie passe de l’un à l’autre, par un champ magnétique. Sur une carte électronique, le même effet se produit par accident, entre des pistes qui n’étaient pas censées se parler.
Avec le capot, l’une des deux entrées capte plus de perturbations, et non moins. La simulation le montre, mais ne dit pas encore pourquoi. Des résultats honnêtes incluent les questions ouvertes.
À quel point la pompe perturbe-t-elle la mesure ?
Très peu. Avec le capot métallique, environ 15 milliardièmes de volt atteignent chaque entrée. C’est proche du bruit de fond de la puce de mesure elle-même.
Chaque ligne est une façon dont la pompe peut perturber une entrée. Plus un marqueur est à gauche, plus la perturbation est faible. Marqueurs creux : carte sans capot. Marqueurs pleins : avec le capot. Les triangles sont des pires cas, pas des résultats. La ligne en pointillés est le bruit de la puce elle-même. Chaque graduation vers la droite signifie dix fois plus.
- Carte nue : 3,7 nV sur l’entrée 1, 38 nV sur l’entrée 2
- Avec le capot : 15 nV sur les deux
- Triangles : pire cas pour la bobine de la pompe, dont le champ de fuite n’est pas connu précisément
LES VALEURS EN TABLEAU
| Carte nue | Avec le capot métallique | |
|---|---|---|
| ENTRÉE 1 (J4) : Effet électrique de la pompe | 37 pV | 4,1 pV |
| ENTRÉE 1 (J4) : Effet magnétique de ses boucles de courant | 3,7 nV | 15 nV |
| ENTRÉE 1 (J4) : Les deux ensemble | 3,8 nV | 15 nV |
| ENTRÉE 1 (J4) : Bobine de la pompe, pire cas | au plus 880 nV | au plus 18 nV |
| ENTRÉE 2 (J2) : Effet électrique de la pompe | 210 pV | 63 pV |
| ENTRÉE 2 (J2) : Effet magnétique de ses boucles de courant | 38 nV | 15 nV |
| ENTRÉE 2 (J2) : Les deux ensemble | 38 nV | 15 nV |
| ENTRÉE 2 (J2) : Bobine de la pompe, pire cas | au plus 2,7 µV | au plus 220 nV |
LES VALEURS EN TABLEAU
| Carte nue | Avec le capot métallique | |
|---|---|---|
| ENTRÉE 1 (J4) : Effet électrique de la pompe | 130 pV | 15 pV |
| ENTRÉE 1 (J4) : Effet magnétique de ses boucles de courant | 140 nV | 26 nV |
| ENTRÉE 1 (J4) : Les deux ensemble | 140 nV | 26 nV |
| ENTRÉE 1 (J4) : Bobine de la pompe, pire cas | au plus 1,5 µV | au plus 28 nV |
| ENTRÉE 2 (J2) : Effet électrique de la pompe | 830 pV | 270 pV |
| ENTRÉE 2 (J2) : Effet magnétique de ses boucles de courant | 730 nV | 72 nV |
| ENTRÉE 2 (J2) : Les deux ensemble | 730 nV | 72 nV |
| ENTRÉE 2 (J2) : Bobine de la pompe, pire cas | au plus 4,7 µV | au plus 360 nV |
Tracé à partir des résultats de simulation du projet (commit edc21a0), allégés à quelques centaines de points par courbe. Passez le pointeur sur un graphique, ou sélectionnez-le et utilisez les flèches du clavier, pour lire les valeurs exactes.
Le dessin de la carte a été vérifié comme le circuit : d’abord en simulation. Sa propre alimentation devrait perturber la mesure moins de deux fois le bruit de fond de la puce.
POUR ALLER PLUS LOINLes résultats complets, et comment la simulation a été menée
| À 1,2 MHz, EN nV EFF. | CARTE NUE | BLINDAGE + CAPOT |
|---|---|---|
| Voie 1 (J4), tension du nœud de commutation | 0,04 nV | 0,004 nV |
| Voie 1 (J4), boucles de courant du boost | 3,7 nV | 15 nV |
| Voie 2 (J2), tension du nœud de commutation | 0,2 nV | 0,06 nV |
| Voie 2 (J2), boucles de courant du boost | 38 nV | 15 nV |
| Entrée de référence (REFIN1), tout cumulé | 95 nV | 29 nV |
| Pour comparer : bruit propre de l’AD7190 | 8,5 nV | 8,5 nV |
- Couplage capacitif depuis le nœud de commutation : 0,006 à 0,06 fF vers chaque piste analogique.
- Sur la carte nue, la voie 1 (J4) est dix fois moins exposée que la voie 2 (J2), située du côté du boost.
- L’entrée de référence en voit davantage, mais la mesure est un rapport : 95 nV sur 5 V, c’est 19 milliardièmes.
- Champ de fuite de la bobine, borne supérieure : 0,9 µV et 2,7 µV sur la carte nue, 18 nV et 220 nV avec le capot.
Les quatre couches de cuivre sont exportées de la carte KiCad et maillées dans openEMS, un solveur FDTD open source : 1,85 million de cellules, environ 13 minutes par calcul. Une seule source de l’étage boost est excitée à la fois, sur la carte nue puis de nouveau avec le blindage.
| EXCITATION | SOURCE | CE QUE L’ON OBTIENT |
|---|---|---|
| Nœud de commutation | Tension du nœud de commutation (IC2, broche 6) | Capacité mutuelle vers chaque piste analogique |
| Boucle de commutation | Courant dans la boucle IC2 – D3 – C19 / C20 | Inductance mutuelle vers les pistes du connecteur, le filtre d’entrée et les broches de l’ADC |
| Boucle d’entrée | Courant dans la boucle C21 / C22 – L1 – IC2 | Idem |
| Bobine | Une boucle de courant de la taille de L1, à sa place | Idem, pour le champ de fuite de la bobine |
Le pire cas, volontairement. L’AD7190 échantillonne ses entrées à 307,2 kHz, et quatre fois cette cadence tombe dans la tolérance de l’oscillateur du boost : rien n’est donc mis au crédit du filtre numérique. Non modélisés : la cellule de charge et son câble, les connecteurs au-dessus de la carte, le boîtier de l’ADC. Attendez-vous à un facteur 2 à 3 sur ces chiffres.
À quoi ressemble la vraie carte ?
Voici à quoi tout cela ressemble une fois dessiné : une carte plus petite qu’une carte bancaire.
LA CARTE EN 3D
La vraie conception, telle qu’elle sera fabriquée. Retournez-la pour voir le dos.
Faites glisser pour tourner la carte. Les boutons zooment et passent d’une vue à l’autre.
LE CUIVRE, COUCHE PAR COUCHE
Les quatre couches du sandwich. Affichez-les ou masquez-les, et zoomez.
Faites glisser pour déplacer. Zoomez avec les boutons, ou avec Ctrl + molette.
REPÉREZ LES COMPOSANTS
- 01Les deux gros connecteurs orange, en haut : les entrées des capteurs.
- 02Le cadre argenté, au milieu : le blindage autour de la puce de mesure.
- 03Le connecteur blanc, en bas : le câble vers l’hôte.
- 04Le composant rond et sombre, à gauche : la bobine de la pompe.
- 05Au dos (retournez le modèle 3D) : chaque point de test et chaque broche sont étiquetés, jusqu’aux couleurs de fils habituelles d’une cellule de charge.
Chaque couleur est une couche de cuivre. Les lignes fines sont des pistes qui transportent un signal. Les grandes zones pleines sont des plans de cuivre, utilisés pour la masse et l’alimentation. Les petits trous ronds traversent toute la carte et relient les couches entre elles.
Plus petite qu’une carte bancaire.
Tous sur le dessus. La plupart sont plus petits qu’un grain de riz.
Empilées comme un sandwich : les signaux à l’extérieur, la masse et l’alimentation à l’intérieur.
Des connecteurs à visser, à coque métallique.
Des pastilles étiquetées au dos, pour vérifier les tensions au multimètre.
Au-dessus de la puce de mesure, pour bloquer les parasites.
POUR ALLER PLUS LOINCaractéristiques techniques et empilement des couches
| PARAMÈTRE | VALEUR |
|---|---|
| Dimensions | 54,0 × 48,0 mm |
| Empilement | 4 couches, JLC04161H-7628, 1,6 mm |
| Finition | Or par immersion, vernis épargne noir |
| Piste / isolement minimum | 0,2 mm / 0,2 mm |
| Composants | 61 (57 CMS, 4 traversants), tous sur le dessus |
| Fixation | 4 trous M3, reliés à la masse |
| Points de test | 11, sur le dessous |
| CAO | KiCad 10 |
POUR ALLER PLUS LOINLes principaux composants
| REPÈRE | COMPOSANT | RÔLE |
|---|---|---|
| U1 | AD7190 | ADC sigma-delta 24 bits avec amplificateur à gain programmable |
| U2 | LT3042 | Régulateur linéaire 200 mA à très faible bruit et très forte réjection d’alimentation (PSRR) |
| IC2 | TPS61086 | Convertisseur élévateur 1,2 MHz, interrupteur 2 A intégré |
| L1 | WE-PD 7447785004 | Inductance de puissance blindée 4,7 µH, saturation à 2,5 A |
| D3 | PMEG2010AEH | Diode Schottky de redressement 20 V / 1 A, à faible chute |
| Q1 | SI2303CDS | MOSFET canal P qui commute l’excitation du pont |
| Y2 | CSTCR4M91G53 | Résonateur céramique 4,9152 MHz, horloge de l’ADC |
| C14 | TAJA225K016 | Tantale solide 2,2 µF sur la broche SET du LT3042 |
| J2, J4 | HARTING 21033213501 | Connecteurs M12 blindés, codage A, 5 broches, pour les cellules de charge |
| J1 | JST XH B7B-XH-AM | Connecteur hôte à 7 broches |
| H5 | WE-SHC 36503205 | Capot de blindage sur l’étage d’entrée analogique |
Composants principaux seulement. La nomenclature complète compte 31 lignes, surtout de petites résistances et de petits condensateurs.
Comment s’en sert-on ?
Utiliser la carte demande trois câbles et quelques lignes de code.
BRANCHER LE CAPTEUR
Une cellule de charge a quatre fils : deux pour l’alimentation, deux pour le signal. Les couleurs varient selon les marques : vérifiez-les d’abord au multimètre.
RELIER L’HÔTE
Un seul câble à 7 broches transporte l’alimentation (3,3 V) et les données.
ATTENDRE UNE DEMI-SECONDE
L’alimentation calme met environ 600 ms à se stabiliser. Mesurer plus tôt donne des valeurs qui dérivent.
RÉGLER LA PUCE
On lui indique de combien amplifier (×128 pour la plupart des capteurs) et comment moyenner ses mesures.
ÉTALONNER
Une lecture sans rien sur le capteur : c’est le zéro. Une lecture avec un poids connu : cela donne l’échelle.
MESURER
La puce envoie désormais un nombre tout frais plusieurs fois par seconde. Une seule ligne de calcul le transforme en poids.
Le bouton tare d’une balance de cuisine. Vous posez un bol vide sur la balance et appuyez sur tare : la balance appelle désormais cela zéro. L’étalonnage, c’est la même idée, plus un poids connu pour apprendre à la carte ce que vaut un kilogramme.
Refaites-le à chaque mise sous tension, et laissez la carte chauffer 5 à 10 minutes avant une mesure sérieuse.
Brancher, attendre une demi-seconde, trouver le zéro, trouver l’échelle. Ensuite, chaque nombre envoyé par la carte est un poids.
POUR ALLER PLUS LOINQuel fil va où : les deux connecteurs
CONNECTEURS CAPTEUR J4 / J2 — M12, 5 BROCHES
| BROCHE | NOM | FONCTION |
|---|---|---|
| 1 | IN-OUT+ | Signal du pont, à travers 100 Ω et le filtre RC |
| 2 | IN-OUT− | Signal du pont, à travers 100 Ω et le filtre RC |
| 3 | SENSE+ | Excitation + (+5VA commuté par Q1) et REFIN1(+) |
| 4 | SENSE− | Excitation − (interrupteur BPDSW de l’AD7190) et REFIN1(−) |
| 5 / coque | GND | Blindage du câble |
- Toute cellule de charge à pont de Wheatstone à 4 fils, de 120 Ω à 1 kΩ, jusqu’à 20 mV/V.
- J4 est la voie 1 (AIN1 / AIN2), J2 est la voie 2 (AIN3 / AIN4).
- Les deux voies mesurent la broche 2 moins la broche 1. Si la charge se lit en négatif, inversez les fils de signal ou changez le signe dans le firmware.
CONNECTEUR HÔTE J1 — JST-XH, 7 BROCHES
| BROCHE | SIGNAL | SENS | REMARQUES |
|---|---|---|---|
| 1 | +3.3V | Alimentation | Alimentation de la carte : entrée du boost et alimentation numérique de l’ADC |
| 2 | CS | Entrée | Actif à l’état bas, résistance de tirage de 100 kΩ vers le haut |
| 3 | DIN | Entrée | Données série vers l’AD7190, 100 Ω en série |
| 4 | DOUT/RDY | Sortie | Données série venant de l’AD7190 ; passe aussi à l’état bas quand une conversion est prête |
| 5 | SYNC | Entrée | Actif à l’état bas, réinitialise le filtre numérique. À relier à l’état haut si inutilisé |
| 6 | SCLK | Entrée | Horloge SPI, 5 MHz max |
| 7 | GND | — | Masse commune |
- SPI mode 3 uniquement (CPOL = 1, CPHA = 1).
- Il n’y a pas de broche « donnée prête » séparée : surveillez DOUT/RDY avec CS à l’état bas.
POUR ALLER PLUS LOINRégler la puce : séquence et registres
SÉQUENCE D’INITIALISATION
- 01Attendre au moins 600 ms après la mise sous tension.
- 02Réinitialiser l’AD7190 : CS à l’état bas, 40 octets ou plus de 0xFF sur DIN.
- 03Écrire le registre CONF : gain, référence, chop.
- 04Écrire le registre MODE : filtre et cadence de sortie.
- 05Lancer l’étalonnage interne du zéro, attendre DOUT/RDY.
- 06Lancer l’étalonnage interne de la pleine échelle, attendre DOUT/RDY.
- 07Activer l’excitation : GPOCON GP32EN = 1, P3DAT = 0 (Q1 passant).
- 08Lancer l’étalonnage système avec un poids de référence connu.
- 09Passer en mode de conversion continue.
CONFIGURATION DE REGISTRES RECOMMANDÉE
| REGISTRE | CHAMP | VALEUR | RAISON |
|---|---|---|---|
| CONF | GAIN[2:0] | 0b111 (×128) | Résolution maximale pour les cellules à faible signal |
| CONF | REFSEL | 0 | REFIN1± = excitation du pont (ratiométrique) |
| CONF | CHOP | 1 | Réduit le décalage et la dérive |
| MODE | SINC | SINC4 | Meilleure réjection du 50 / 60 Hz |
| MODE | FS[9:0] | 0x1E0 (480) | 4,9152 MHz ÷ (1024 × 480) = 10 Hz, moins une fois le chop activé |
Deux étalonnages sont nécessaires. L’étalonnage interne corrige le décalage et le gain de la puce elle-même, ne demande aucun poids, et doit être relancé après tout changement de gain ou de cadence de sortie. L’étalonnage système, avec un poids connu, fait correspondre les codes à des unités physiques. Moyennez au moins 16 lectures à chaque fois.
POUR ALLER PLUS LOINExemple de code
// Attendre >= 600 ms après la mise sous tension du 3,3 V (démarrage progressif du LT3042)
// 1. Réinitialisation
ad7190_reset(); // 40x 0xFF sur DIN
// 2. Configuration
ad7190_write_reg(REG_CONF, CONF_GAIN_128 | CONF_CHOP | CONF_REFSEL_REFIN1);
ad7190_write_reg(REG_MODE, MODE_SINC4 | MODE_FS_10HZ);
// 3. Étalonnage interne
ad7190_write_reg(REG_MODE, MODE_INT_ZERO_CAL);
while (drdy_is_high());
ad7190_write_reg(REG_MODE, MODE_INT_FULL_CAL);
while (drdy_is_high());
// 4. Activer l'excitation de la cellule de charge
ad7190_write_reg(REG_GPOCON, GPOCON_GP32EN); // P3 = 0 -> Q1 passant
// 5. Étalonnage système
uint32_t raw_zero = ad7190_average(16); // à vide
apply_reference_weight();
uint32_t raw_full = ad7190_average(16);
float scale = W_ref / (float)(raw_full - raw_zero);
// 6. Mesure en continu
ad7190_write_reg(REG_MODE, MODE_CONTINUOUS);
while (1) {
while (drdy_is_high());
uint32_t raw = ad7190_read_data();
float weight = (raw - raw_zero) * scale;
}Pseudo-C donné à titre d’illustration : les fonctions utilitaires sont à écrire pour votre microcontrôleur. Le README du projet contient aussi un tableau de dépannage.
Pourquoi tout est-il public ?
Tous les fichiers de ce projet sont publics. Chacun peut étudier la carte, la fabriquer ou l’améliorer.
Une recette, pas seulement un plat. Un produit fermé, c’est un plat tout prêt : on peut le manger, mais pas savoir ce qu’il contient. Le matériel libre donne la recette complète : les plans, la liste des composants, les fichiers dont une usine a besoin.
C’est aussi pour cela que cette page peut vous montrer des simulations et des résultats : ils sont dans le dépôt, et vous pouvez les relancer vous-même.
À chaque modification de la conception, un processus automatique redessine tout : le schéma du circuit, les fichiers de fabrication, la liste des composants, les images 3D. Rien n’est exporté à la main, donc rien n’est jamais périmé. Même des images de cette page en proviennent.
DESSINER
Le circuit et la carte sont dessinés dans KiCad, un logiciel de conception libre et gratuit.
ENREGISTRER
Chaque modification est enregistrée dans un dépôt public, avec tout son historique.
VÉRIFIER ET GÉNÉRER
Un robot cherche les erreurs dans la conception, puis redessine tous les documents.
PUBLIER
Les documents tout frais sont mis en ligne, ouverts à tous.
VOYEZ PAR VOUS-MÊME
Ce sont les vrais documents du projet, en anglais. Ils s’ouvrent dans un nouvel onglet.
Tout ce que le robot génère, au même endroit
PDF, 10 pages
Cliquez sur un composant pour voir où il se trouve sur la carte
PDF, comment la carte est fabriquée
ZIP de Gerbers, prêt à commander
Fichier STEP de la carte assemblée
Avec le matériel libre, vous n’avez pas à croire cette page sur parole. Vous pouvez ouvrir les fichiers et vérifier.
POUR ALLER PLUS LOINComment fonctionne l’automatisation
La conception est réalisée dans KiCad 10. À chaque push, GitHub Actions lance KiBot, qui régénère les sorties et les enregistre dans le dépôt. Le travail se fait sur la branche dev ; main ne reçoit que des fusions depuis dev, et c’est là que les versions sont taguées.
- Schéma en PDF, plans de fabrication et d’assemblage
- Gerbers, fichiers de perçage, ODB++, tables de perçage
- Nomenclature (CSV, HTML, interactive) et positions de placement
- Rapports ERC et DRC, tables des points de test, netlist
- Rendus 3D et export STEP
- Comparaison visuelle du schéma et du PCB entre commits (KiRI)
- Le README lui-même, généré à partir d’un modèle
VARIANTES DE GÉNÉRATION
| VARIANTE | SORTIES | ERC / DRC | USAGE TYPIQUE |
|---|---|---|---|
| DRAFT | Schéma seul | — | Début de conception |
| PRELIMINARY | Schéma + PCB | — | Itérations de routage |
| CHECKED | Complètes | Imposés | Revue de conception, validation des pull requests |
| RELEASED | Complètes | Imposés | Versions taguées |
POUR ALLER PLUS LOINCe que contient le dépôt
Schémas LTspice, modèle comportemental du TPS61086 et modèle openEMS du cuivre routé, avec les scripts qui les lancent et tracent les courbes.
Gerbers, tables de perçage, nomenclature, positions de placement, plans de fabrication et d’assemblage.
Schéma exporté en PDF : synoptique, architecture, séquencement de l’alimentation et les cinq feuilles fonctionnelles.
Bibliothèques autonomes : chaque symbole, empreinte et modèle STEP utilisé sur la carte.
Configuration KiBot : un fichier YAML par sortie générée, plus le workflow GitHub Actions.
Tables des points de test, pour la mise en route et la validation.
Rendus 3D, animation de rotation, courbes de simulation et export STEP de la carte.
CAO du boîtier et du support de la carte.
Comparaison visuelle du schéma et du PCB entre commits, et le site de documentation généré.
POUR ALLER PLUS LOINHistorique des révisions
- — Étage d’entrée AD7190 à deux entrées pour cellules de charge
- — Chaîne d’alimentation +3,3 V → TPS61086 6 V → LT3042 +5VA
- — Bibliothèques autonomes et modèles 3D
- — Règles et empilement 4 couches JLCPCB
- — Simulations LTspice
- — Étude openEMS des couplages du routage
- — Renommé en OPEN_WEIGHT, migré vers KiCad 10
- — Connecteurs non reliés à l’ADC sur le schéma
- — Ponts de vernis épargne de l’AD7190
Pas encore de version taguée : la carte est en cours de développement.
Ce qu’il faut retenir
Une cellule de charge transforme une force en un minuscule changement de résistance.
Quatre jauges câblées en pont transforment ce changement en une petite tension : environ 10 mV à pleine force.
Amplifier cette tension est facile. La protéger du bruit, voilà le vrai travail.
La carte mesure un rapport : sa propre tension d’alimentation cesse donc de compter.
Son alimentation est d’abord pompée, puis nettoyée.
Le circuit et la carte ont tous deux été testés en simulation avant toute fabrication.
Tous les fichiers sont publics : chacun peut vérifier ce qu’affirme cette page.
Les mots, en langage simple
Tous les mots techniques de cette page, expliqués en une phrase.
- ADC (CAN)
- Convertisseur analogique-numérique : une puce qui transforme une tension en nombre. ADC en anglais, CAN en français.
- Amplification (gain)
- Rendre un signal plus grand. Un gain de 128 le rend 128 fois plus grand.
- Bit
- La taille d’un nombre dans un ordinateur. 24 bits permettent de compter jusqu’à environ 16 millions : plus il y a de bits, plus les pas sont fins.
- Bruit
- Tout signal indésirable mêlé à celui que l’on veut mesurer.
- Cellule de charge
- Un capteur qui transforme une force en signal électrique.
- Convertisseur élévateur (boost)
- Un circuit qui élève une tension en commutant très vite. Efficace, mais il laisse de l’ondulation.
- Étalonnage
- Apprendre à la carte quel nombre correspond à zéro, et quel nombre correspond à un poids connu.
- Excitation
- L’alimentation envoyée à un capteur pour qu’il puisse répondre.
- Filtre
- Un circuit qui laisse passer certains signaux et en bloque d’autres, en général les lents contre les rapides.
- Jauge de contrainte
- Une fine piste métallique dont la résistance change quand on l’étire.
- Matériel libre (open hardware)
- Du matériel dont les fichiers de conception sont publics : chacun peut l’étudier, le fabriquer et le modifier.
- mV, µV, nV
- Un millième, un millionième et un milliardième de volt.
- mV/V
- Le signal que donne un capteur à pleine force, pour chaque volt d’alimentation qu’il reçoit.
- Ondulation
- Les petites oscillations rapides qui restent sur une alimentation.
- Pont de Wheatstone
- Quatre résistances en losange. Il montre la différence entre elles et indique zéro quand elles sont égales.
- Ratiométrique
- Mesurer un signal comme une fraction de sa propre alimentation, plutôt qu’en volts.
- Régulateur (LDO)
- Un circuit qui abaisse une tension et la maintient stable. Silencieux, mais il ne peut que descendre.
- Résistance (Ω)
- La difficulté qu’a l’électricité à traverser quelque chose. Elle se mesure en ohms.
- Simulation
- Calculer dans un ordinateur le comportement d’un circuit, avant de le fabriquer.
- SPI
- Une liaison simple à 4 fils que les puces utilisent pour échanger des données.
MAINTENANT, ALLEZ VOIR À L’INTÉRIEUR
Vous savez maintenant comment fonctionne OPEN_WEIGHT. Le projet est publié sous la licence CERN Open Hardware Licence v2 Permissive : utilisez-le, étudiez-le, modifiez-le, fabriquez-le. Corrections, exemples de code et mesures réelles sont tous les bienvenus.