prec home dir suiv

CHOUR - Compteur Geiger-Muller PC-GM10 très basse consommation à base de STM32L476

img

Introduction

J’ai développé au cours du temps plusieurs compteurs Geiger-Muller en cherchant à obtenir une autonomie de plusieurs années de fonctionnement avec affichage permanent.

PC-GM10 est la première réalisation « semi-industrielle » d’un tel compteur. Il reprend certaines des recettes les plus intéressantes des précédentes versions en termes d'ergonomie et de consommation.

À cette date (2026/10), le projet est en cours de développement et de test. Le schéma et le mode d'emploi peuvent encore subir des modifications.

Spécifications fonctionnelles

Généralités

Le compteur Geiger-Muller PC-GM10 est un appareil permettant de mesurer la radioactivité détectée par un tube Geiger-Muller (par défaut, SBM20 ou J305).

L’accent a été mis sur une très grande autonomie (plusieurs années) qui dépend de la capacité de la source d’énergie (pile lithium, pile alcaline, batterie Li-Ion).

Le compteur affiche la radioactivité et d’autres informations sur un afficheur LCD à segments (voir afficheur).

Il peut signaler certaines informations via des LED et/ou un buzzer (voir LEDs et buzzer).

Il peut mémoriser et restituer XXXX mesures d'une heure chacune (soit YYYY jours de mémorisation).

Clavier

L’interface de commande se fait via un clavier 12 touches ou via un logiciel sur PC lorsque le compteur est relié à un ordinateur en USB.

pcgm10, clavier 1

Le clavier utilisé dans le prototype est un modèle standard à membrane de faible coût numéroté de 0 à 9 + deux symboles (*, #).

Il est possible de recouvrir la membrane d'origine par une autre plus "parlante" ou de faire un clavier sur mesure (mais à ce stade, pas prévu du fait du coût). Exemple de ce que pourrait donner un clavier dédié ou un film autocollant collé sur le clavier d'origine. :

pcgm10, clavier 1

pcgm10, clavier 2

Les touches du clavier permettent :

Lorsque le seuil d’alarme est atteint :

Afficheur

pcgm10, LCD segment

Le bargraphe (6) donne une idée de l’évolution instantanée de l’évolution de la radioactivité.

L’affichage dépend du seuil d’alarme sélectionné (50 par défaut).

100% (7) correspond au seuil d’alarme.

L’affichage n’est pas linéaire mais étale le nombre de particules détectées par minute selon une l’échelle en pourcentage suivante :

1%, 3%, 7%, 12%, 20%, 30%, 45%, 65%, 82%, 100%, 110%, 120%, 130%, 140%, 150%

Chaque pourcentage est associé à un segment du bargraphe et représente approximativement le nombre de particules détectées par rapport au seuil d’alarme défini. Si le seul d’alarme est de 50, 100% (qui correspond aux 100% de l’afficheur) indique que l’on détecte environ 50CPM. 30% (segment 6) correspondra à environ 15 CPM, etc.

Ca parait compliqué expliqué comme cela mais cet affichage permet d’avoir un comportement visuel plus intéressant qu’une échelle linéaire ou logarithmique, avec comme objectif, de montrer si l’on se rapproche du seuil que l’on considère comme étant une alarme.

LEDs et buzzer

L'appareil comporte deux LEDs et un buzzer :

Par défaut, ces signalisations sont désactivées (elles consomment de l'énergie). Voire le mode d'emploi pour plus de précisions.

Mode d'emploi

Mise en service

Sauf indication contraire, l’appareil est supposé non connecté en USB (ou en JTAG)

Après quelques initialisations (affichage de tous les segments, allumage du rétroéclairage), l’appareil entre en fonction.

Par défaut, le paramétrage est le suivant :

Après la première mise sous tension l’appareil commence à afficher le comptage par minute sur (9). Il faut une minute pour qu’il commence à afficher la moyenne du comptage sur 24 heures (2).

Le niveau de remplissage de la pile est affiché sur (1). Avec une pile neuve, les 3 barres du bargraph de la pile doivent être affichés si la pile est une pile lithium 3,6V est utilisée. Si l’on utilise une tension de 4,5V générée par des piles alcalines, l’affichage est faux et il faut paramétrer le compteur pour désigner la source d’énergie utilisée.

Utilisation du clavier

Par défaut, le clavier est actif (l’afficheur (8) affiche « PARAM »). Cela signifie qu’un appui sur une touche lancera la fonction prévue.

Il est possible de verrouiller le clavier en appuyant deux fois de suite en moins de 2 secondes sur la touche « Valid ». L’afficheur (8) affiche alors « CLAV- ».

On sort du verrouillage en appuyant deux fois de suite en moins de 2 secondes sur la touche « Valid ». L’afficheur affiche alors fugitivement « CLAV+ » puis « PARAM ».

La plupart des touches donnent accès à une fonction qui va provoquer un affichage sur l’afficheur (8), typiquement, un texte d’information, et selon les cas, un affichage complémentaire sur l’afficheur (9).

Par exemple, l’appui sur « Seuil » affiche le texte « SEUIL » sur (8) et la valeur du seuil (par exemple, 50) sur (9).

Lors de cette affichage, le comptage en CPM est inhibé.

L’appareil sort automatiquement de ce mode après quelques secondes qui dépendent du contexte :

Chaque appui sur une nouvelle touche remet à la valeur maximum le temps d’attente.

Lorsque le temps d’attente est de 5s, il est possible de sortir plus vite de la fonction en appuyant sur la touche « Valid » (temps réduit à 2 secondes).

Certaines fonctions sont accessibles directement depuis un appui sur une touche du clavier. D’autres passent par un menu de paramétrage.

Touche « AL Led »

Fonctionne comme un inverseur. Permet d’activer ou désactiver la signalisation d’alarme sur la LED rouge.

Texte affiché sur l’afficheur (8) selon l’état : « ALED+ » (alarme LED activée) ou « ALED- » (alarme LED désactivée).

Touche « AL Buz »

Fonctionne comme un inverseur. Permet d’activer ou désactiver la signalisation d’alarme sur le buzzer.

Texte affiché sur l’afficheur (8) selon l’état : « ALBUZ+ » (alarme LED activée) ou « ABUZ- » (alarme LED désactivée).

Touche « Tic Led »

Fonctionne comme un inverseur. Permet d’activer ou désactiver la signalisation d’un tic par LED lors de la détection d’une particule.

Texte affiché sur l’afficheur (8) selon l’état : « SLED+ » (Tic LED activée) ou « SLED- » (Tic LED désactivé).

Touche « Tic Buz »

Fonctionne comme un inverseur. Permet d’activer ou désactiver la signalisation d’un tic par Buzzer lors de la détection d’une particule.

Texte affiché sur l’afficheur (8) selon l’état : « SBUZ+ » (Tic buzzer activée) ou « SBUZ- » (Tic buzzer désactivé).

Touche « Rétro »

Fonctionne comme un interrupteur. Permet d’allumer ou d’éteindre le rétroéclairage de l’afficheur.

Si l’appareil est branché en USB, le rétroéclairage doit être éteint par un nouvel appui sur la touche. Si l’appareil fonctionne sur son alimentation interne, l’éclairage est arrêté au bout de 5 secondes.

Touche « Max »

Permet d’afficher sur (9) le dernier maximum enregistré en CPM.

Texte affiché sur l’afficheur (8) : « MAX ».

Touche « CPM/µSv »

Permet de faire passer l'affichage en µSv si on est en CPM ou inversement. Affiche brièvement l'unité sélectionnée sur (8).

Touche « Seuil »

Permet d’afficher sur (9) le seuil pour l’alarme.

Texte affiché sur l’afficheur (8) : « SEUIL ».

L’appui sur la touche « Plus » ou « Moins » alors que le seuil est affiché permet d’augmenter ou diminuer ce seuil.

Un seuil minimum est imposé et vaut 15.

Touche « Param »

Permet d’accéder séquentiellement aux autres paramètres. Chaque appui sur la touche « Param » permet de passer au paramètre suivant. Pour les paramètres modifiables, l’appui sur les touches « Plus » ou « Moins » permet de modifier le paramètre courant.

Les paramètres dans l’ordre :

« BAT V »

Affiche la dernière valeur mesurée de la tension de la source interne en volts. Par exemple, pour une pile de 3,600V, affichera 3.6.

Note : la tension de la pile est mesurée automatiquement une fois toute les 24 heures. Pour ce paramètre, il est possible de forcer une nouvelle mesure de la tension en appuyant sur une des touches « Plus » ou « Moins ».

« MOY »

Affiche la moyenne de la radioactivité sur 24H00 avec plus de chiffres (5 chiffres) que l'affichage par défaut (3 chiffres).

« HEURE »

Affiche l’heure courante (sur 24h) mémorisée par l’horloge du compteur. On modifie cette heure en appuyant sur une des touches « Plus » ou « Moins ».

« MINUT »

Idem que pour « HEURE ».

« ANNEE »

Idem que pour « HEURE ». Le programme ne gère que les deux derniers chiffres de l’année (26 pour 2026).

« MOIS »

Idem que pour « HEURE »

« JOUR »

Idem que pour « HEURE ». Il s’agit du quantième. La saisie ne vérifie pas si le quantième est correct pour la mois et l’année en question. Par contre, la bibliothèque ou l’horloge temps réel du processeur la refuse et la valeur ne sera pas prise en compte si elle est incorrecte.

« BatLI » ou « BatAL »

Affiche le type de batterie utilisée (LI = lithium, AL = Alcaline).

On change le type de batterie en appuyant sur une des touches « Plus » ou « Moins ».

« LG-FR », « LG-EN », etc.

Langue d’affichage. Deux langues sont implémentées mais d’autres peuvent être ajoutées.

On change la langue en appuyant sur une des touches « Plus » ou « Moins ».

« V.xxx »

Affiche la version xxx du logiciel sur l’afficheur (9).

Connexion à un ordinateur

Il est possible de connecter le compteur à un ordinateur en USB, par exemple, pour gérer le compteur avec le logiciel GeigerPC (plus pratique à utiliser que le paramétrage au clavier), pour télédécharger les données de mesure du compteur (le compteur enregistre en permanence les mesures de radioactivité) ou pour afficher en temps réel et graphiquement les données de mesure (lorsqu’il est connecté en USB, le compteur transmet ses mesures en CPM toutes les minutes).

La transmission se fait à 115200bps.

Lorsque le compteur est branché en USB, l’afficheur affiche le symbole (3) correspondant à l’antenne pour signaler qu’il peut communiquer et la source d’alimentation interne est déconnectée au profit de l'USB.

Pour plus de précisions, voir le mode d’emploi du logiciel GeigerPC.

Maintenance

Précautions

Certains modes de maintenance nécessitent d’accéder à la face « composants » de la carte mère du compteur. On fera attention de ne pas toucher la borne haute-tension du tube Geiger-Muller (indiqué sur le circuit imprimé). Il y a quand même 400V à cet endroit mais limité à quelques centaines de µA. Ça n’est pas mortel mais ça peut piquer un peu !

Interrupteur marche-arrêt

L’interrupteur marche-arrêt est normalement toujours sur marche. Il ne sert normalement que dans deux cas :

Connexion en JTAG

Un connecteur permet de connecter une sonde ST-LINK sur la carte mère de l’appareil. Grâce à cette sonde, il est possible de charger une nouvelle version du logiciel avec le logiciel fourni par STmicroelectronics.

Le schéma précise les signaux attendus :

Réinitialisation matérielle

Un bouton Reset est disponible sur la face composant de la carte mère.

Signalisation d’alarme

À toutes fins utiles, un signal d’environ 3V est présent sur la pin 1 du connecteur JTAG pour signaler une alarme (0V sinon, à prendre entre 1 et 6 (masse)).

Données techniques

Consommation moyenne (hors signalisation d’alarme et de tics) :

Capacité de mémorisation des mesures :

Durée d’un slot de mémorisation : fixe, une heure.

Spécifications de conception

Prototype

pcgm10, prototype face avant

On remarque à gauche la sonde ST-Link-V2 qui sert au chargement et au débogage du processeur, la prise USB qui sert au dialogue avec le logiciel GeigerPC sous Windows et le buzzer pour les Tics et les alarmes sonores.

L'afficheur avec les différentes données déjà citées dans le mode d'emploi et le rétroéclairage actif (couleur jaune mais qui apparait plutôt vert sur la photo).

Le corps du symbole de la pile est vide car il n'y a pas de pile : l'appareil est alimenté par l'USB ou la sonde ST-LINK-V2.

Les deux LED au dessus de l'afficheur servent à la signalisation de l'alarme visuelle et des Tics.

La photo ci-après montre l'autre côté du circuit-imprimé, là où il y a les composants. On y voit les corrections dues à quelques erreurs (une sur le régulateur de tension, une autre sur la sérigraphie de la sonde ST-LINK-V2, une troisième sur une fonctionnalité de dernière minute (ne jamais faire !) qui introduisait un problème à la mise sous-tension lorsque le processeur n'était pas encore initialisé (Q8, Q7).

Sur cette photo, le module haute-tension n'est pas encore présent ni le tube Geiger.

pcgm10, prototype face arrière

Schéma électronique

Schéma en cours de conception pour donner une idée.

pcgm10, schema
Cliquez pour agrandir

Processeur et carte STM32L476

Le processeur utilisé est un STM32L476VET6 (famille STM32L4 basse consommation, ici, 100 broches (LQFP100)). Avec son petit frère (64 broches), sur un programme de complexité similaire à celui d'un compteur Geiger-Muller, j'obtiens une consommation de 16µA avec affichage permanent.

Survol du schéma

On a donc : [+5V ] ou [+BATT] -> Vcc -> Vdd. Le [+5V ] est prioritaire sur le [+BATT]. En d'autres termes, lorsqu'une prise USB est branchée (et fournit du 5V), la pile est déconnectée. Lorsque l'USB est débranchée, la pile est (re)connectée. La commutation automatique entre [+5V] et [+BATT] est faite via Q1 et Q2

Sources d'alimentation

On part du principe que la source d’énergie interne typique utilise 3 piles (Alcaline) de 1,5V en série soit 4,5V ou une pile lithium de 3,6V~3,7V (l’appareil fonctionne avec une source d’énergie de 3,6V à 5V). On peut remplacer ces éléments par une batterie LIPO au prix d'une baisse de l'autonomie (à cause du courant d'autodécharge de la batterie) :

L'alimentation du contrôleur du LCD utilise directement le Vdd filtré par un condensateur de 1µF et 100nF (donc pas d'utilisation de la pompe de charge interne du microcontrôleur pour gagner 1 à 1,5µA en consommation).

Le montage comporte plusieurs points permettant de souder l'alimentation interne. j5 et j6 permettent de souder les fils de l'alimentation externe. Le circuit imprimé permet de souder directement une pile type Saft 14500 qui délivre 3,6V~3,7V et dont le courant d'autodécharge quasi nul et la technologie utilisée autorise une durée de vie qui va bien au delà de 10ans (à souder sur J11 (+) et J12 (-)).

Lorsqu'on soude les fils de la pile ou batterie, il est conseillé de couper l'alimentation du montage avec l'interrupteur SW1.

pcgm10, pile Saft 14500

Il n'y a pas de protection contre les court-circuits.

Indicateurs visuels et auditifs

En plus de l’afficheur LCD, l’appareil dispose d’un indicateur sonore (Buzzer piezo passif) et de deux indicateurs visuels (LED). L’utilisation de ces indicateurs est paramétrable (au clavier ou via un logiciel sous Windows).

Paramétrages :

Communication en USB

Le compteur peut être raccordé en USB à un ordinateur et peut communiquer avec le logiciel GeigerPC sous Windows. A noter que le logiciel peut lui-même déclencher une alarme sonore avec des sons variés.

.

Tube Geiger-Muller

Le tube Geiger-Muller utilisé est par défaut un SBM20 russe ou son équivalent chinois J305. On peut utiliser n’importe quel tube fonctionnant sous une tension similaire (400V) comme par exemple, le tube américain LND712 utilisé sur le Gamma Scout. Le circuit imprimé est prévu pour accepter un SBM20/J305.

Génération haute-tension

La génération haute-tension est confiée aux remarquables générateurs Imex (consommation entre 7µA et 10µA selon modèle. Mes mesures donnent plutôt 5µA) que j'utilise depuis des années sans jamais avoir eu d'ennuis.

Il existe deux modèles :

pcgm10, modules IMEX-38-56-1 et IMEX PK-HVg-22A9
Modules IMEX-38-56-1 et IMEX PK-HVg-22A9"

Le circuit imprimé prévu accepte les deux modules.

Prise JTAG

La prise JTAG est disponible via un connecteur 6 broches de type SB7-PH-K-S de chez JST. Il est évidemment utilisé pour la mise au point mais aussi, pour le téléchargement du programme et de ses mises à jour via une sonde ST-LINK.

La prise comporte les signaux suivants :

Note sur JTAG_5V : Les sondes JTAG ST_LINK V2 peuvent délivrer du 5V. Pour alimenter le compteur avec la prise JTAG, il faut connecter JTAG_5V au 5V de la sonde.

Cette alimentation est compatible avec la présence ou non d'une pile et/ou d'une connexion USB sur le port d'entrées-sorties. Il n'y a donc pas de risque à l'utiliser même si le compteur est alimenté par ailleurs. On doit la supprimer si l'on veut tester à part la commutation entre pile et alimentation par USB (ou JTAG).

Le fait d'alimenter le compteur par la prise JTAG ne déclenche pas la détection d'alimentation par USB (USBACTIF). Pour déclencher ce signal, il faut effectivement brancher une prise USB reliée à un port USB délivrant du 5V.

Pour une mise a jour du logiciel, il est conseillé d'alimenter le compteur par JTAG_5V : ça évite de consommer sur la pile pendant la mise à jour.

Consommation et autonomie

Consommation

La consommation moyenne visée en régime normal (radioactivité de l’ordre de 20 impulsions par minute (bruit de fond en Bretagne avec un SBM20) et sans signalisation (buzzer et LED) est de l’ordre de 50µA. Le bilan énergétique théorique de la consommation montre que l’on pourrait descendre aux alentours de 25µA. La consommation maximum peut monter jusqu’à quelques mA en pointe lorsque le buzzer et les LED sont actifs simultanément.

Une mesure faite sans la génération haute-tension donne une consommation moyenne inférieure à 17µA. Le module Imex étant donné pour une consommation moyenne de 7 à 10µA, l'objectif des 50µA semble largement tenable, soit, du même ordre que PC-GM3.

Mon record en matière de consommation est obtenu par la première version de la série de compteurs basse-consommation que j’ai réalisé à savoir PC-GM3 (autonomie théorique de près de 10 ans avec une pile de 2,4A.h) mais il a moins de fonctionnalités que les autres (pas de mémorisation du comptage), ne se réveille que toutes les 10 secondes, et utilise une astuce (voir schéma PC-GM3).

Concernant PC-GM10, avec une consommation de 27µA, l'autonome avec une pile SAFT14500 est de l'ordre de 10 ans.

Piles, accus...

Pour l'alimentation, faut-il choisir des piles alcaline, une pile lithium ou une batterie LI-ION ?

Les piles alcalines AA sont peu coûteuses et facile à trouver. Leur principal inconvénient est l'encombrement, une autodécharge et une capacité plus limitée (entre 1800 et 2700mA.h) que les autres sources à encombrement égal . Pour limiter l'encombrement, on peut utiliser des piles AAA mais leur capacité (1200mA.h pour les meilleures en 2026) est évidemment encore plus faible que les piles AA. D'un autre côté, comme ces piles ont un courant d'autodécharge, sacrifier l'autonomie théorique face au vieillissement réel et naturel de la pile n'est pas forcément un vrai problème.

Les piles lithium de 3,6V au format AA (par exemple, SAFT 14500, SL-360/S) ont une capacité de 2400mA.h, une quasi absence de courant d'autodécharge donc une très importante longévité (largement supérieure à 10 ans) et ont un encombrement réduit (format AA). C'est un très bon choix pour un prix à peine plus élevé que 3 piles alcalines. Par contre, elles sont plus rares.

Les batteries LI-ION de 3,7V comme la 18650 ont une taille de 18mmx65mm soit un peu plus qu'une pile AA, peuvent avoir des capacités élevées (2400 à 3500mA.h voire plus) mais ont un courant d'autodécharge. C'est le choix (sous un autre format plus plat) que j'avais adopté pour mes précédent compteurs qui disposaient donc d'un chargeur de batterie. Je n'ai pas retenu cette solution pour PC-GM10 à cause du courant d'autodécharge. Le schéma ne comporte donc plus le chargeur de batterie. Ceci-dit, si la solution avec ce type de batterie est retenue, un accumulateur avec son module chargeur prend beaucoup moins de place que 3 piles alcalines.

Réalisation

Circuit-imprimé

Le circuit imprimé du prototype. Ses dimensions sont d'environ 152mm sur 80mm

pcgm10, PCB forward

Boitier

A venir

Il est prévu la réalisation d'un boitier en impression 3D.

Logiciel

A venir

Le source du logiciel et son exécutables sont disponibles en téléchargement.

L'environnement de développement est celui proposé par ST (STM32cubeIDE et STM32CubeMX).

Chargement

A venir

juin 2026- octobre 2026

sommaire