La photo du compteur Geiger une fois terminé, avec des aiguilles d'un vieux réveil Il y a un petit moment, un ami ayant été autrefois électronicien et qui pourrait se reconnaître en lisant ces lignes m'avait montré une de ses réalisations : un gros compteur Geiger avec un fragile tube externe, une logique de comptage composée de circuits logiques, et surtout la haute tension pour la polarisation du tube venant d'un enroulement du transformateur d'alimentation. Mais le principal était que l'engin avait une sortie ttl et j'avais imaginé un truc se branchant sur le port parallèle d'un des serveurs pour permettre de faire des statistiques automatisées.

Des années ont passé, et enfin l'idée d'en refaire un est venue assez bas dans ma pile de trucs à faire un jour pour que je m'y mette. À part que je voulais quelque chose de plus petit, moderne, souple, et surtout plus pratique à interfacer. Et aussi de me faire les griffes sur des tensions un peu plus élevées que d'habitude. J'ai donc fait des choix techniques qui n'étaient pas dictés par une nécessité d'avoir le plus faible coût possible ou la plus grande simplicité du schéma. La haute tension est donc stabilisée, et asservie par le firmware, qui vérifie constamment la bonne valeur de celle-ci.

L'appareil terminé est visible sur la photo de droite, mais si vous regardez la vidéo qui suit, vous pouvez voir que ça fonctionnait bien avant qu'il soit vraiment finalisé. À peine commencé, on peut même dire !


Quelques explications dans une petite vidéo, et le résultat fini dans une autre petite vidéo

Ah oui, et pour connaître précisément comment fonctionne physiquement un tube Geiger-Müller, le mieux que je puisse vous conseiller est d'aller jeter un coup d'oeil sur la page Wikipedia.

Pour une connexion facile du compteur à un ordinateur, j'ai choisi un chip DS2423 permettant de connecter l'appareil directement à un bus 1-wire. Grace a OWFS, tous les périphériques connectés sur le bus sont accessibles aussi simplement que des fichiers dans un disque dur. De là à grapher ça avec Munin, il n'y a qu'un pas.

My kitchen's floor
Munin graph 2
Les aiguilles du vieux réveil dans un tube scéllé à la résine epoxy posé
sur le sol de mon datacenter/cuisine sont détectées à plus d'un mètre de distance

Le schéma électrique
Techniquement et dans les grandes lignes, j'ai rebobiné un primaire suplémentaire sur un transformateur d'inverter pour tube à cathode froide d'écran permettant de le faire fonctionner en configuration autorésonnante (plus facile selon moi, parce qu'avec une fréquence de commande fixe, la tension de sortie de ce transfo variait énormément selon la fréquence choisie, donc le choix optimal dépend de la charge...), avec un transistor de plus pour stabiliser le point de fonctionnement (une fraction de la haute tension commande ce transistor a travers les deux diodes zener en série), mais le microcontrôleur est capable grace a sa sortie PWM filtrée d'agir sur la commande de ce transistor et faire varier la haute tension (entre moins de 300 et plus de 500V). Une autre fraction de la haute tension est utilisée pour que le microcontrôleur puisse en vérifier la valeur et agir sur le signal PWM en conséquence. On se retrouve donc avec une tension stable choisie par le firmware à 450V, et polarisant le tube a travers une résistance de 10Mohms (notons sur le schéma qu'il est possible d'utiliser deux tubes silmutanément). Les déchargées sont amplifiées en courant par un transistor, et provoquent l'execution d'une routine d'interruption afin d'être prises en compte le plus rapidement possible.

1wire Geiger-Müller counter schematic
Schéma électrique du compteur Geiger
(Cliquer sur l'image afin de l'afficher en plus grand)

Autres détails: l'alimentation externe passe intégralement par un régulateur, mais pas l'alimentation par piles (moins de perte d'énergie lors de l'utilisation des piles), même si il y a un régulateur low-drop pour l'alimentation des circuits intégrés. Des jumpers permettent de choisir entre avoir deux prises RJ12 (6C6P) pour le 1-wire, ou avoir une prise pour le 1-wire et une autre pour injecter ou débugger le firmware par l'ICSP. Les broches connectés aux boutons poussoirs servent également pour le buzzer et la led a coté de l'écran afin de gagner des I/O. En parlant de buzzer, les clics sont générés par la routine d'interruption. Les deux résistances R8 et R25 peuvent servir, au besoin, pour ajuster le contraste de l'écran (mais j'ai jamais eu besoin d'appliquer autre chose que la masse sur l'entrée Vo des écrans LCD que j'ai pu utiliser, car en général, plus cette tension est élevée, moins c'est lisible). Une référence de tension de 3,3V est utilisée comme référence pour l'ADC intégré au microcontrôleur (important car la précision de la haute tension en dépend, et que ça me permet de ne pas avoir un 5V à obligatoirement 5,000V). Un pont de résistance permet de connaitre l'état des piles.

Voila, je crois que c'est tout. Les photos maintenant !

La première version, de la taille du tube (10,5cm de long avec les broches), et encore sans l'écran. Une fois imprimé, j'ai pu passer une bonne heure chez electronique-diffusion pour voir quel boitier convenait le mieux !

Methode approuvée pour le travail des boitiers : on imprime le typon, on le découpe, et on perce a travers !


Le circuit imprimé final, face supérieure...

... et face inférieure.

Retour dans le temps : le circuit imprimé nu encore non perçé

La référence de tension.. waouhh, c'est précis !