Table des matières:
- Étape 1: Outils et pièces
- Étape 2: Assemblez votre compteur Geiger
- Étape 3: Test électrique du compteur Geiger
- Étape 4: Câblage
- Étape 5: Coder
- Étape 6: Serial.println Vs Serial.print
- Étape 7: Mesure du rayonnement de fond J305
- Étape 8: J305 Mesure du rayonnement du capteur de fumée
- Étape 9: SBM-20
- Étape 10: Câblage du compteur Geiger avec un écran LCD
- Étape 11: Compteur Geiger avec écran LCD
- Étape 12: Fichiers
Vidéo: Compteur Geiger Arduino DIY : 12 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Vous avez donc commandé un compteur Geiger DIY et vous souhaitez le connecter à votre Arduino. Vous allez en ligne et essayez de dupliquer comment d'autres ont connecté leur compteur Geiger à Arduino pour découvrir que quelque chose ne va pas. Bien que votre compteur Geiger semble fonctionner, rien ne fonctionne comme décrit dans le bricolage que vous suivez lorsque vous connectez votre compteur Geiger à votre Arduino.
Dans ce Instructable, je couvrirai comment résoudre certains de ces problèmes.
Rappelles toi; assemblez et codez Arduino une étape à la fois, si vous allez directement à un projet terminé et qu'il y a un fil ou une ligne de code manqué, cela pourrait vous prendre une éternité pour trouver le problème.
Étape 1: Outils et pièces
Boîte prototype J'ai utilisé une bonbonnière Ferrero Rocher.
Petite planche à pain
ACL 16x2
Carte Arduino ether a UNO ou Nano
Résistance 220
Pot de résistance réglable de 10 kΩ.
Kit de compteur Geiger bricolage
Fils de cavalier
Connecteur ou faisceau de batterie
Oscilloscope
Pince à bec fin
Petit tournevis standard
Étape 2: Assemblez votre compteur Geiger
Tout dommage à votre tube Geiger; et votre compteur Geiger ne fonctionnera pas, alors utilisez le couvercle de protection en acrylique pour éviter d'endommager votre tube Geiger.
Ce Instructable explique comment j'ai réparé le même compteur Geiger avec un tube Geiger cassé et installé le couvercle de protection en acrylique pour éviter les bris à l'avenir.
www.instructables.com/id/Repairing-a-DIY-G…
Étape 3: Test électrique du compteur Geiger
Utilisez d'abord la bonne tension pour l'alimentation électrique; le cordon USB fournit 5 volts CC directement à partir de votre ordinateur, mais le support de 3 piles AA est destiné aux piles alcalines de 1,5 volt, soit une tension totale de 4,5 volts. Si vous utilisez des piles rechargeables NI-Cd ou NI-MH de 1,2 volt, vous aurez besoin d'un support de 4 piles AA pour une tension totale de 4,8 volts. Si vous utilisez moins de 4,5 volts, le compteur Geiger peut ne pas fonctionner comme il le devrait.
Il y a très peu de circuits sur la sortie des compteurs Geiger; tant que le haut-parleur émet un son de tic-tac et que la LED clignote, vous devriez obtenir un signal sur la broche VIN.
Pour être sûr du signal de sortie; connectez un oscilloscope à la sortie en connectant le côté positif de la sonde de l'oscilloscope au VIN et le côté négatif de la sonde de l'oscilloscope à la terre.
Plutôt que d'attendre simplement le rayonnement de fond pour déclencher le compteur Geiger, j'ai utilisé de l'américium-241 provenant d'une chambre à ions de détecteurs de fumée pour augmenter les réactions des compteurs Geiger. La sortie du compteur Geiger a commencé à +3 volts et est tombée à 0 volt à chaque fois que le tube Geiger a réagi aux particules alpha et est revenu à +3 volts un instant plus tard. C'est le signal que vous allez enregistrer avec Arduino.
Étape 4: Câblage
Il existe deux manières de connecter le compteur Geiger à votre Arduino et à votre ordinateur.
Connectez le GND sur Arduino au GND sur le compteur Geiger.
Connectez le 5V sur Arduino au 5V sur le compteur Geiger.
Connectez le VIN sur le compteur Geiger au D2 sur Arduino.
Avec alimentation indépendante connectée au compteur Geiger.
Connectez le GND sur Arduino au GND sur le compteur Geiger.
Connectez le VIN sur le compteur Geiger au D2 sur Arduino.
Connectez Arduino à votre ordinateur.
Étape 5: Coder
Ouvrez l'IDE Arduino et chargez le code.
// Ce croquis compte le nombre d'impulsions par minute.
// Connectez le GND sur Arduino au GND sur le compteur Geiger.
// Connectez le 5V sur Arduino au 5V sur le compteur Geiger.
// Connectez le VIN sur le compteur Geiger au D2 sur Arduino.
comptes longs non signés; //variable pour les événements GM Tube
non signé depuis longtemps Millis; //variable pour mesurer le temps
void impulse () { // dipanggil setiap ada sinyal FALLING di pin 2
compte++;
}
#define LOG_PERIOD 60000 // taux de comptage
void setup() { //setup
compte = 0;
Serial.begin(9600);
pinMode(2, INPUT);
attachInterrupt(digitalPinToInterrupt(2), impulsion, FALLING); //définir les interruptions externes
Serial.println("Démarrer le compteur");
}
boucle vide() { //cycle principal
non signé long currentMillis = millis();
if (currentMillis - previousMillis > LOG_PERIOD) {
précédentMillis = currentMillis;
Serial.println(comptes);
compte = 0;
}
}
Dans Outils, sélectionnez l'Arduino ou une autre carte que vous utilisez.
Dans Outils, sélectionnez le Port et Com
Téléchargez le code.
Une fois le code téléchargé dans Outils, sélectionnez Serial Monitor et regardez votre compteur Geiger fonctionner.
Recherchez les défauts. La seule chose à propos de ce code est qu'il est un peu fastidieux, vous devez attendre 1 minute pour chaque comptage.
Étape 6: Serial.println Vs Serial.print
C'est l'un des premiers défauts que j'ai trouvés dans le code; alors surveillez-le dans votre code, "Serial.println (cpm);" et "Impression.série(cpm);".
Serial.println(cpm); imprimera chaque compte sur sa propre ligne.
Serial.print(cpm); ressemblera à un grand nombre imprimant chaque compte sur la même ligne, ce qui rend impossible de dire quel est le compte.
Étape 7: Mesure du rayonnement de fond J305
Le premier est la mesure du rayonnement de fond, le rayonnement naturel qui existe déjà naturellement. Le nombre indiqué est le CPM (compte par minute), qui est un total de particules radioactives mesurées chaque minute.
Le compte moyen de fond J305 était de 15,6 CPM.
Étape 8: J305 Mesure du rayonnement du capteur de fumée
Il n'est pas rare qu'un compteur Geiger vous donne le même nombre à plusieurs reprises, alors vérifiez-le avec une source de rayonnement. J'ai utilisé la mesure du rayonnement d'Americium et une chambre ionique d'un détecteur de fumée. Le capteur de fumée utilise l'américium comme source de particules alpha qui ionisent les particules de fumée dans l'air. J'ai retiré le capuchon métallique du capteur afin que les particules alpha et bêta puissent atteindre le tube Geiger avec les particules gamma.
Si tout va bien, les comptes devraient changer.
L'américium-241 provenant d'une chambre ionique de détecteurs de fumée, le nombre moyen était de 519 CPM.
Étape 9: SBM-20
Ce croquis Arduino est une version modifiée écrite par Alex Boguslavsky.
Ce croquis compte le nombre d'impulsions en 15 secondes et le convertit en coups par minute, ce qui le rend moins fastidieux.
Code que j'ai ajouté "Serial.println("Démarrer le compteur");".
Code que j'ai changé; "Impression.série(cpm);" à "Série.println(cpm);".
"#define LOG_PERIOD 15000"; définit le temps de comptage à 15 secondes, je l'ai changé en "#define LOG_PERIOD 5000" ou 5 secondes. Je n'ai trouvé aucune différence appréciable dans la moyenne entre compter pendant 1 minute, ou 15 secondes et 5 secondes.
#comprendre
#define LOG_PERIOD 15000 //Période d'enregistrement en millisecondes, valeur recommandée 15000-60000.
#define MAX_PERIOD 60000 //Période d'enregistrement maximum sans modifier ce sketch
comptes longs non signés; //variable pour les événements GM Tube
cpm long non signé; //variable pour le CPM
multiplicateur entier non signé; //variable pour le calcul CPM dans cette esquisse
non signé depuis longtemps Millis; //variable pour la mesure du temps
void tube_impulse(){ //sous-procédure de capture d'événements à partir du kit Geiger
compte++;
}
void setup(){ //configuration de la sous-procédure
compte = 0;
cpm = 0;
multiplicateur = MAX_PERIOD / LOG_PERIOD; //calcul du multiplicateur, dépend de la période de votre journal
Serial.begin(9600);
attachInterrupt(0, tube_impulse, FALLING); //définir les interruptions externes
Serial.println("Démarrer le compteur"); // code que j'ai ajouté
}
boucle vide(){ //cycle principal
non signé long currentMillis = millis();
if(currentMillis - previousMillis > LOG_PERIOD){
précédentMillis = currentMillis;
cpm = nombres * multiplicateur;
Serial.println(cpm); // code que j'ai modifié
compte = 0;
}
}
Le compte moyen de fond SBM-20 était de 23,4 CPM.
Étape 10: Câblage du compteur Geiger avec un écran LCD
Connexion LCD:
Broche LCD K vers GND
LCD A broche à 220 Ω résistance à Vcc
Broche LCD D7 à broche numérique 3
Broche LCD D6 à broche numérique 5
Broche LCD D5 à broche numérique 6
Broche LCD D4 à broche numérique 7
LCD Activer la broche à la broche numérique 8
Broche LCD R/W à la terre
Broche LCD RS à broche numérique 9
Pin LCD VO pour régler un potentiomètre de 10 kΩ
Broche LCD Vcc vers Vcc
Broche LCD Vdd vers GND
Pot de résistance réglable de 10 kΩ.
Vcc, Vo, Vdd
Compteur Geiger
VIN à la broche numérique 2
5V à +5V
GND à la terre
Étape 11: Compteur Geiger avec écran LCD
// inclure le code de la bibliothèque:
#comprendre
#comprendre
#define LOG_PERIOD 15000 //Période d'enregistrement en millisecondes, valeur recommandée 15000-60000.
#define MAX_PERIOD 60000 //Période d'enregistrement maximum sans modifier ce sketch
#define PERIOD 60000.0 // (60 sec) période de mesure d'une minute
CNT long non signé volatile; // variable pour compter les interruptions du dosimètre
comptes longs non signés; //variable pour les événements GM Tube
cpm long non signé; //variable pour le CPM
multiplicateur entier non signé; //variable pour le calcul CPM dans cette esquisse
non signé depuis longtemps Millis; //variable pour la mesure du temps
longue période de diffusion non signée; // variable pour mesurer le temps
CPM long non signé; // variable de mesure du CPM
// initialise la bibliothèque avec les numéros des broches de l'interface
LiquidCrystal LCD (9, 8, 7, 6, 5, 3);
void setup() { // setup
lcd.begin (16, 2);
CNT = 0;
CPM = 0;
dispPériode = 0;
lcd.setCursor(0, 0);
lcd.print("RH Electronics");
lcd.setCursor(0, 1);
lcd.print(" Compteur Geiger ");
retard (2000);
cleanDisplay();
attachInterrupt(0, GetEvent, FALLING); // Evénement sur la broche 2
}
boucle vide() {
lcd.setCursor(0, 0); // imprime le texte et le CNT sur l'écran LCD
lcd.print("CPM:");
lcd.setCursor(0, 1);
lcd.print("CNT:");
lcd.setCursor(5, 1);
lcd.print(CNT);
if (millis() >=dispPeriod + PERIOD) { // Si une minute est écoulée
cleanDisplay(); // Effacer l'écran LCD
// Faire quelque chose à propos des événements CNT accumulés….
lcd.setCursor(5, 0);
CPM = CNT;
lcd.print(CPM); //Afficher le CPM
CNT = 0;
dispPeriod = millis();
}
}
void GetEvent(){ // Obtenir l'événement du périphérique
CNT++;
}
void cleanDisplay (){ // Effacer la routine LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.setCursor(0, 0);
}
Étape 12: Fichiers
Téléchargez et installez ces fichiers sur votre Arduino.
Placez chaque fichier.ino dans un dossier du même nom.
Conseillé:
Compteur Geiger fonctionnel avec pièces minimales : 4 étapes (avec photos)
Compteur Geiger fonctionnel avec pièces minimales : Voici, à ma connaissance, le compteur Geiger fonctionnel le plus simple que vous puissiez construire. Celui-ci utilise un tube SMB-20 Geiger de fabrication russe, entraîné par un circuit élévateur haute tension volé à une tapette à mouches électronique. Il détecte les particules bêta et gam
Compteur Geiger DIY avec un ESP8266 et un écran tactile : 4 étapes (avec photos)
Compteur Geiger DIY avec un ESP8266 et un écran tactile : MISE À JOUR : NOUVELLE VERSION AMÉLIORÉE AVEC WIFI ET AUTRES FONCTIONNALITÉS AJOUTÉES ICI a conçu et construit un compteur Geiger - un appareil capable de détecter les rayonnements ionisants et d'avertir son utilisateur des niveaux de rayonnement ambiant dangereux avec tous les trop familier en cliquant sur non
Compteur Geiger nouveau et amélioré - Maintenant avec WiFi ! : 4 étapes (avec photos)
Compteur Geiger nouveau et amélioré - maintenant avec WiFi ! : il s'agit d'une version mise à jour de mon compteur Geiger à partir de ce Instructable. Il était assez populaire et j'ai reçu de nombreux retours de personnes intéressées par sa construction, voici donc la suite : Le GC-20. Un compteur Geiger, un dosimètre et un m
Réparer un compteur Geiger DIY : 9 étapes (avec photos)
Réparer un compteur Geiger DIY : j'ai commandé ce compteur Geiger DIY en ligne. Il est arrivé à temps mais il a été endommagé, les porte-fusibles du bus ont été écrasés et le tube J305 Geiger Muller a été détruit. C'était un problème car j'ai utilisé mes points d'achats antérieurs de cet o
Compteur DIY Arduino Geiger : 6 étapes (avec photos)
Compteur Arduino Geiger DIY : Bonjour à tous ! Comment allez-vous? C'est le projet How-ToDo, je m'appelle Konstantin, et aujourd'hui je veux vous montrer comment j'ai fait ce compteur Geiger. J'ai commencé à construire cet appareil presque depuis le début de l'année dernière. Depuis lors, il a traversé 3 comp