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