Step 1:工具和零件
原型盒我使用的是Ferrero Rocher糖果盒。
小型面包板
16x2 LCD
Arduino板以太網(wǎng)一個(gè)UNO或Nano
220Ω電阻器
DIY蓋革計(jì)數(shù)器套件
跳線
電池連接器或線束
精細(xì)鉗子
小型標(biāo)準(zhǔn)螺絲刀
第2步:組裝Geiger計(jì)數(shù)器
Geiger Tube有任何損壞;并且你的蓋革計(jì)數(shù)器不起作用,所以使用保護(hù)性丙烯酸蓋子以防止損壞你的蓋革管。
這個(gè)Instructable是關(guān)于如何用Geiger管破壞修復(fù)同一個(gè)蓋革計(jì)數(shù)器并安裝保護(hù)裝置丙烯酸覆蓋,以防止將來破損。
https://www.instructables.com/id/Repairing-a-DIY-G 。..
步驟3:電氣測(cè)試蓋革計(jì)數(shù)器
首先使用正確的電源電壓; USB線直接從您的計(jì)算機(jī)提供5伏直流電,但3節(jié)AA電池座用于1.5伏堿性電池,總電壓為4.5伏。如果您使用1.2伏可充電NI-Cd或NI-MH電池,則需要一個(gè)4 AA電池座,總電壓為4.8伏。如果使用的電壓低于4.5伏,蓋革計(jì)數(shù)器可能無法正常工作。
蓋革計(jì)數(shù)器輸出電路很少;所以只要揚(yáng)聲器發(fā)出滴答聲,并且LED閃爍,就應(yīng)該在VIN引腳上發(fā)出信號(hào)。
確保輸出信號(hào);通過將示波器探頭的正極連接到VIN,將示波器探頭的負(fù)極連接到地,將示波器連接到輸出。
而不是僅僅等待背景輻射來觸發(fā)蓋革計(jì)數(shù)器I使用來自煙霧探測(cè)器離子室的americ -241來增加蓋革計(jì)數(shù)器的反應(yīng)。 Geiger計(jì)數(shù)器的輸出開始于+3伏特,每次蓋革管對(duì)α粒子反應(yīng)時(shí)降至0伏特,片刻后返回+3伏特。這是你將用Arduino錄制的信號(hào)。
第4步:布線
有兩種方法可以將Geiger計(jì)數(shù)器連接到Arduino和您的計(jì)算機(jī)。
將Arduino上的GND連接到Geiger計(jì)數(shù)器上的GND。
將Arduino上的5V連接到Geiger計(jì)數(shù)器上的5V。
將Geiger計(jì)數(shù)器上的VIN連接到Arduino上的D2。
連接獨(dú)立電源Geiger計(jì)數(shù)器。
將Arduino上的GND連接到Geiger計(jì)數(shù)器的GND。
將Geiger計(jì)數(shù)器上的VIN連接到Arduino上的D2。
將Arduino連接到您的計(jì)算機(jī)。
步驟5:代碼
打開Arduino IDE并加載代碼。
//此草圖計(jì)算每分鐘的脈沖數(shù)。
//將Arduino上的GND連接到Geiger計(jì)數(shù)器的GND。
//將Arduino上的5V連接到Geiger計(jì)數(shù)器上的5V。
//將蓋革計(jì)數(shù)器上的VIN連接到Arduino上的D2。
無符號(hào)長(zhǎng)計(jì)數(shù);//GM管事件的變量
unsigned long previousMillis;//用于測(cè)量時(shí)間的變量
void impulse(){//dipanggil setiap ada sinyal FALLING di pin 2
計(jì)數(shù)++;
}
#define LOG_PERIOD 60000//計(jì)數(shù)率
void setup(){//setup
counts = 0;
Serial.begin(9600);
pinMode(2,INPUT);
attachInterrupt(digitalPinToInterrupt(2),impulse,F(xiàn)ALLING);//定義外部中斷
Serial.println(“啟動(dòng)計(jì)數(shù)器”);
}
void loop(){//主循環(huán)
unsigned long currentMillis = millis();
if(currentMillis - previousMillis》 LOG_PERIOD){
previousMillis = currentMillis;
Serial.println(count );
計(jì)數(shù)= 0;
}
}
在工具中選擇您正在使用的Arduino或其他電路板。
上傳代碼。
在工具中上傳代碼后,選擇串行監(jiān)視器并觀察蓋革計(jì)數(shù)器的工作情況。
尋找故障。關(guān)于這段代碼的唯一事情就是有點(diǎn)乏味,每次計(jì)數(shù)必須等待1分鐘。
步驟6:Serial.println與Serial.print
這是我在代碼中發(fā)現(xiàn)的第一個(gè)故障之一;所以在你的代碼中注意它,“Serial.println(cpm);”和“Serial.print(cpm);”。
Serial.println(cpm);將在每條線上打印每個(gè)計(jì)數(shù)。
Serial.print(cpm);看起來像一個(gè)大數(shù)字打印在同一行上的每個(gè)計(jì)數(shù)使得無法分辨計(jì)數(shù)是什么。
步驟7:J305背景輻射測(cè)量
首先是背景輻射的測(cè)量,即自然存在的自然輻射。列出的數(shù)字是CPM(每分鐘計(jì)數(shù)),它是每分鐘測(cè)量的放射性粒子總數(shù)。
J305背景平均計(jì)數(shù)為15.6 CPM。
步驟8:J305煙霧傳感器輻射的測(cè)量
Geiger計(jì)數(shù)器反復(fù)給你相同的計(jì)數(shù)并不罕見,所以檢查一下輻射源。我使用來自Americium的輻射測(cè)量,來自煙霧探測(cè)器的離子室。煙霧傳感器利用Americ作為α粒子的來源,使空氣中的煙霧粒子電離。我取下傳感器上的金屬蓋,這樣α和β粒子就可以與伽瑪粒一起進(jìn)入蓋革管。
如果一切正常,計(jì)數(shù)應(yīng)該會(huì)改變。
來自煙霧探測(cè)器離子室的Americ -241平均計(jì)數(shù)為519 CPM。
步驟9:SBM-20
此Arduino草圖是由Alex Boguslavsky編寫的修改版本。
此草圖在15秒內(nèi)計(jì)算脈沖數(shù),并將其轉(zhuǎn)換為每分鐘計(jì)數(shù),使其不那么繁瑣。
代碼我添加了“Serial.println(”Start counter“);”。
代碼我改變了; “Serial.print(cpm);”to“Serial.println(cpm);”。
“#define LOG_PERIOD 15000”;將計(jì)數(shù)時(shí)間設(shè)置為15秒,我將其更改為“#define LOG_PERIOD 5000”或5秒。我發(fā)現(xiàn)計(jì)數(shù)1分鐘,或15秒和5秒之間的平均值沒有明顯差異。
#include
#define LOG_PERIOD 15000//記錄周期(以毫秒為單位),推薦值15000-60000。
#define MAX_PERIOD 60000//不修改此草圖的最長(zhǎng)記錄周期
無符號(hào)長(zhǎng)計(jì)數(shù);//GM管事件的變量
unsigned long cpm;//CPM的變量
unsigned int multiplier;//用于計(jì)算此草圖中的CPM的變量
unsigned long previousMillis;//用于時(shí)間測(cè)量的變量
void tube_impulse(){//用于從Geiger Kit捕獲事件的子程序
計(jì)數(shù)++;
}
void setup(){//setup subprocedure
counts = 0;
cpm = 0;
multiplier = MAX_PERIOD/LOG_PERIOD;//計(jì)算乘數(shù),取決于你的日志周期
Serial.begin(9600);
attachInterrupt(0,tube_impulse,F(xiàn)ALLING);//定義外部中斷
Serial.println(“Start counter”);//我添加的代碼
}
void loop(){//主循環(huán)
unsigned long currentMillis = millis();
if(currentMillis - previousMillis》 LOG_PERIOD){
previousMillis = currentMillis;
cpm = counts * multiplier;
Serial.println(cpm);//代碼我改變了
計(jì)數(shù)= 0;
}
}
SBM-20背景平均計(jì)數(shù)為23.4 CPM。
步驟10:使用LCD連接蓋革計(jì)數(shù)器
LCD連接:
LCD K引腳至GND
LCD A引腳至220Ω電阻至Vcc
LCD D7引腳至數(shù)字引腳3
LCD D6引腳至數(shù)字引腳5
LCD D5引腳至數(shù)字引腳6
LCD D4引腳至數(shù)字引腳7
LCD使能引腳至數(shù)字引腳8
LCD R/W引腳接地
LCD RS引腳至數(shù)字引腳9
LCD VO引腳調(diào)整10kΩ電位
LCD Vcc引腳至Vcc
LCD Vdd引腳連接到GND
電位器10kΩ可調(diào)電阻器。
Vcc,Vo,Vdd
蓋革計(jì)數(shù)器
VIN轉(zhuǎn)數(shù)字引腳2
5 V至+ 5V
GND接地
步驟11:帶LCD的Geiger計(jì)數(shù)器
//包含庫代碼:
#include
#include
#define LOG_PERIOD 15000//記錄周期(以毫秒為單位),建議值15000-60000。
#define MAX_PERIOD 60000//不修改此草圖的最長(zhǎng)記錄周期
#define PERIOD 60000.0//(60秒)一分鐘測(cè)量周期
易失性無符號(hào)長(zhǎng)CNT ;//用于計(jì)算劑量計(jì)中斷的變量
無符號(hào)長(zhǎng)計(jì)數(shù);//GM管事件的變量
unsigned long cpm;//CPM的變量
unsigned int multiplier;//用于計(jì)算此草圖中的CPM的變量
unsigned long previousMillis;//用于時(shí)間測(cè)量的變量
unsigned long dispPeriod;//用于測(cè)量時(shí)間的變量
無符號(hào)長(zhǎng)CPM;//用于測(cè)量CPM的變量
//使用接口引腳的編號(hào)初始化庫
LiquidCrystal lcd(9,8,7,6,5,3);
void setup(){//setup
lcd.begin(16,2);
CNT = 0;
CPM = 0 ;
dispPeriod = 0;
lcd.setCursor(0,0);
lcd.print(“RH Electronics”);
lcd.setCursor(0,1);
lcd.print(“蓋革計(jì)數(shù)器”);
延遲(2000);
cleanDisplay()
attachInterrupt(0,GetEvent,下降);//引腳2上的事件
}
void loop(){
lcd.setCursor(0,0);//在LCD上打印文本和CNT
lcd.print(“CPM:”);
lcd.setCursor(0,1);
lcd .print(“CNT:”);
lcd.setCursor(5,1);
lcd.print(CNT);
if(millis( )》 = dispPeriod + PERIOD){//如果一分鐘結(jié)束
cleanDisplay();//清除LCD
//對(duì)累積的CNT事件做一些事情。..。..
lcd.setCursor(5,0);
CPM = CNT;
lcd.print(CPM);//顯示CPM
CNT = 0;
dispPeriod = millis();
}
}
void GetEvent(){//從設(shè)備獲取事件
CNT ++;
}
void cleanDisplay(){//清除LCD例程
lcd.clear();
lcd.setCursor(0,0);
lcd.setCursor(0,0);
}
步驟12:文件
將這些文件下載并安裝到Arduino。
將每個(gè).ino文件放在一個(gè)文件夾中同名。
責(zé)任編輯:wv
-
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2284瀏覽量
96027 -
Arduino
+關(guān)注
關(guān)注
188文章
6491瀏覽量
190084
發(fā)布評(píng)論請(qǐng)先 登錄
?塵埃粒子計(jì)數(shù)器有什么特點(diǎn)
UC-018:時(shí)間間隔計(jì)數(shù)器的用途

智能雷擊計(jì)數(shù)器的綜合行業(yè)解決方案

雷擊計(jì)數(shù)器的概述與應(yīng)用分析

74ls163是幾進(jìn)制同步計(jì)數(shù)器
臺(tái)式塵埃粒子計(jì)數(shù)器的優(yōu)勢(shì)有哪些
臺(tái)式塵埃粒子計(jì)數(shù)器的功能優(yōu)勢(shì)與應(yīng)用
智能防雷計(jì)數(shù)器行業(yè)應(yīng)用解決方案

評(píng)論