0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino盖革计数器DIY图解

454398 来源:网络整理 作者:佚名 2019-11-06 17:35 次阅读

Step 1:工具和零件

原型盒我使用的是Ferrero Rocher糖果盒。

小型面包板

16x2 LCD

Arduino以太网一个UNO或Nano

220Ω电阻器

电位器10kΩ可调电阻器。

DIY盖革计数器套件

跳线

电池连接器或线束

示波器

精细钳子

小型标准螺丝刀

第2步:组装Geiger计数器

Geiger Tube有任何损坏;并且你的盖革计数器不起作用,所以使用保护性丙烯酸盖子以防止损坏你的盖革管。

这个Instructable是关于如何用Geiger管破坏修复同一个盖革计数器并安装保护装置丙烯酸覆盖,以防止将来破损。

https://www.instructables.com/id/Repairing-a-DIY-G 。..

步骤3:电气测试盖革计数器

首先使用正确的电源电压; USB线直接从您的计算机提供5伏直流电,但3节AA电池座用于1.5伏碱性电池,总电压为4.5伏。如果您使用1.2伏可充电NI-Cd或NI-MH电池,则需要一个4 AA电池座,总电压为4.8伏。如果使用的电压低于4.5伏,盖革计数器可能无法正常工作。

盖革计数器输出电路很少;所以只要扬声器发出滴答声,并且LED闪烁,就应该在VIN引脚上发出信号

确保输出信号;通过将示波器探头的正极连接到VIN,将示波器探头的负极连接到地,将示波器连接到输出。

而不是仅仅等待背景辐射来触发盖革计数器I使用来自烟雾探测器离子室的americ -241来增加盖革计数器的反应。 Geiger计数器的输出开始于+3伏特,每次盖革管对α粒子反应时降至0伏特,片刻后返回+3伏特。这是你将用Arduino录制的信号。

第4步:布线

有两种方法可以将Geiger计数器连接到Arduino和您的计算机。

将Arduino上的GND连接到Geiger计数器上的GND。

将Arduino上的5V连接到Geiger计数器上的5V。

将Geiger计数器上的VIN连接到Arduino上的D2。

连接独立电源Geiger计数器。

将Arduino上的GND连接到Geiger计数器的GND。

将Geiger计数器上的VIN连接到Arduino上的D2。

将Arduino连接到您的计算机。

步骤5:代码

打开Arduino IDE并加载代码。

//此草图计算每分钟的脉冲数。

//将Arduino上的GND连接到Geiger计数器的GND。

//将Arduino上的5V连接到Geiger计数器上的5V。

//将盖革计数器上的VIN连接到Arduino上的D2。

无符号长计数;//GM管事件的变量

unsigned long previousMillis;//用于测量时间的变量

void impulse(){//dipanggil setiap ada sinyal FALLING di pin 2

计数++;

}

#define LOG_PERIOD 60000//计数率

void setup(){//setup

counts = 0;

Serial.begin(9600);

pinMode(2,INPUT);

attachInterrupt(digitalPinToInterrupt(2),impulse,FALLING);//定义外部中断

Serial.println(“启动计数器”);

}

void loop(){//主循环

unsigned long currentMillis = millis();

if(currentMillis - previousMillis》 LOG_PERIOD){

previousMillis = currentMillis;

Serial.println(count );

计数= 0;

}

}

在工具中选择您正在使用的Arduino或其他电路板。

在工具中选择端口通信

上传代码。

在工具中上传代码后,选择串行监视器并观察盖革计数器的工作情况。

寻找故障。关于这段代码的唯一事情就是有点乏味,每次计数必须等待1分钟。

步骤6:Serial.println与Serial.print

这是我在代码中发现的第一个故障之一;所以在你的代码中注意它,“Serial.println(cpm);”和“Serial.print(cpm);”。

Serial.println(cpm);将在每条线上打印每个计数。

Serial.print(cpm);看起来像一个大数字打印在同一行上的每个计数使得无法分辨计数是什么。

步骤7:J305背景辐射测量

首先是背景辐射的测量,即自然存在的自然辐射。列出的数字是CPM(每分钟计数),它是每分钟测量的放射性粒子总数。

J305背景平均计数为15.6 CPM。

步骤8:J305烟雾传感器辐射的测量

Geiger计数器反复给你相同的计数并不罕见,所以检查一下辐射源。我使用来自Americium的辐射测量,来自烟雾探测器的离子室。烟雾传感器利用Americ作为α粒子的来源,使空气中的烟雾粒子电离。我取下传感器上的金属盖,这样α和β粒子就可以与伽玛粒一起进入盖革管。

如果一切正常,计数应该会改变。

来自烟雾探测器离子室的Americ -241平均计数为519 CPM。

步骤9:SBM-20

此Arduino草图是由Alex Boguslavsky编写的修改版本。

此草图在15秒内计算脉冲数,并将其转换为每分钟计数,使其不那么繁琐。

代码我添加了“Serial.println(”Start counter“);”。

代码我改变了; “Serial.print(cpm);”to“Serial.println(cpm);”。

“#define LOG_PERIOD 15000”;将计数时间设置为15秒,我将其更改为“#define LOG_PERIOD 5000”或5秒。我发现计数1分钟,或15秒和5秒之间的平均值没有明显差异。

#include

#define LOG_PERIOD 15000//记录周期(以毫秒为单位),推荐值15000-60000。

#define MAX_PERIOD 60000//不修改此草图的最长记录周期

无符号长计数;//GM管事件的变量

unsigned long cpm;//CPM的变量

unsigned int multiplier;//用于计算此草图中的CPM的变量

unsigned long previousMillis;//用于时间测量的变量

void tube_impulse(){//用于从Geiger Kit捕获事件的子程序

计数++;

}

void setup(){//setup subprocedure

counts = 0;

cpm = 0;

multiplier = MAX_PERIOD/LOG_PERIOD;//计算乘数,取决于你的日志周期

Serial.begin(9600);

attachInterrupt(0,tube_impulse,FALLING);//定义外部中断

Serial.println(“Start counter”);//我添加的代码

}

void loop(){//主循环

unsigned long currentMillis = millis();

if(currentMillis - previousMillis》 LOG_PERIOD){

previousMillis = currentMillis;

cpm = counts * multiplier;

Serial.println(cpm);//代码我改变了

计数= 0;

}

}

SBM-20背景平均计数为23.4 CPM。

步骤10:使用LCD连接盖革计数器

LCD连接:

LCD K引脚至GND

LCD A引脚至220Ω电阻至Vcc

LCD D7引脚至数字引脚3

LCD D6引脚至数字引脚5

LCD D5引脚至数字引脚6

LCD D4引脚至数字引脚7

LCD使能引脚至数字引脚8

LCD R/W引脚接地

LCD RS引脚至数字引脚9

LCD VO引脚调整10kΩ电位

LCD Vcc引脚至Vcc

LCD Vdd引脚连接到GND

电位器10kΩ可调电阻器。

Vcc,Vo,Vdd

盖革计数器

VIN转数字引脚2

5 V至+ 5V

GND接地

步骤11:带LCD的Geiger计数器

//包含库代码:

#include

#include

#define LOG_PERIOD 15000//记录周期(以毫秒为单位),建议值15000-60000。

#define MAX_PERIOD 60000//不修改此草图的最长记录周期

#define PERIOD 60000.0//(60秒)一分钟测量周期

易失性无符号长CNT ;//用于计算剂量计中断的变量

无符号长计数;//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(“盖革计数器”);

延迟(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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94349
  • Arduino
    +关注

    关注

    187

    文章

    6464

    浏览量

    186636
收藏 人收藏

    评论

    相关推荐

    雷击计数器的概述与应用分析

    雷击计数器 是一种用于监测和记录电力系统、通信系统、建筑物等关键设施遭受雷击次数的设备。它能够有效地帮助管理人员掌握雷电活动的情况,以便进行预防性维护和风险评估。雷击计数器根据工作原理可以分为无源
    的头像 发表于 10-21 10:31 194次阅读
    雷击<b class='flag-5'>计数器</b>的概述与应用分析

    正交解码计数器

    正交解码计数器
    发表于 09-06 11:41 0次下载

    计数器同步和异步怎么判断

    计数器同步和异步是数字电路设计中的一个重要概念,它们在很多应用场景中都扮演着关键角色。 一、计数器概述 计数器是一种常见的数字电路,它可以对输入信号进行计数,并将
    的头像 发表于 07-23 11:14 793次阅读

    二进制串行计数器工作原理是什么?

    在数字电路设计中,计数器是一种非常关键的组件,用于测量时间、计数事件或跟踪状态变化等。其中,二进制串行计数器作为一种常用的计数器类型,在多种应用场景中都发挥着重要作用。本文将对二进制串
    的头像 发表于 05-28 15:52 742次阅读

    同步计数器和异步计数器的区别

    在数字电子领域中,计数器是一种用于统计脉冲信号数量的重要设备。其中,同步计数器和异步计数器是两种不同类型的计数器,它们在工作原理、特性以及应用场景等方面存在着显著的区别。本文将详细探讨
    的头像 发表于 05-24 14:36 3599次阅读

    计数器的结构和工作原理

    计数器,作为一种基础的电子设备,广泛应用于数字电路、计算机系统以及工业自动化等多个领域。它通过对输入信号进行计数和状态转换,实现对事件发生次数的统计和显示。本文将深入探讨计数器的定义、结构、工作原理以及其在各领域的应用,旨在为读
    的头像 发表于 05-23 15:34 4377次阅读

    脉冲计数器的分类和作用

    在电子技术和数字系统中,脉冲计数器作为一种基本而重要的逻辑器件,其应用广泛且功能多样。脉冲计数器不仅能够实现基本的计数操作,还具备多种输出功能和控制功能,满足了电力、石化、冶金、轻工、制药、航空等诸多领域的需求。本文将深入探讨脉
    的头像 发表于 05-15 17:11 981次阅读

    简单认识脉冲计数器

    在数字电路和电子测量领域中,脉冲计数器作为一种基本而重要的工具,其应用十分广泛。脉冲计数器,也被称为脉冲频率计或脉冲数计,主要用于统计和测量输入脉冲信号的频率或数量。本文将详细阐述脉冲计数器的基本概念、工作原理、分类、应用领域以
    的头像 发表于 05-15 17:08 1626次阅读

    计数器怎么判断同步和异步 计数器异步和同步的区别

    计数器是计算机领域中常用的一种数据结构,用于记录和控制程序执行中的指令或事件发生的次数。计数器可以根据同步机制或异步机制进行操作。本文将详细讨论计数器的同步性和异步性,深入探讨两者的区别及其在实际
    的头像 发表于 02-22 15:14 3182次阅读

    计数器怎么用 计数器的作用有哪些

    计数器是一种被广泛应用于各个领域的实用工具,在我们的日常生活中随处可见。无论是进行时间统计,协助工作任务的完成,还是用于科学研究和编程技术,在各个领域都起到了重要的作用。本文将详细介绍计数器
    的头像 发表于 02-03 10:04 5079次阅读

    雷击计数器综合选型应用方案

    雷击计数器的基本原理是利用雷电流通过导线时产生的感应电压或电流来驱动计数器计数。根据计数器的类型,可以分为机械式雷击计数器和电子式雷击
    的头像 发表于 01-31 09:50 528次阅读
    雷击<b class='flag-5'>计数器</b>综合选型应用方案

    避雷计数器怎么归零

    避雷计数器怎么归零  避雷计数器是用来监测避雷的使用情况的一个设备,通常用于记录避雷的工
    的头像 发表于 12-20 15:16 1455次阅读

    同步计数器和异步计数器各有什么特点

    同步计数器和异步计数器是两种常见的数据结构,它们都用于控制对共享资源的访问。它们的主要作用是实现多个线程之间的同步和并发控制。尽管它们都被用于同步的目的,但它们有很多不同的特点和用例。 同步计数器
    的头像 发表于 12-15 10:49 1857次阅读

    4017计数器的工作原理

    4017计数器是一种广泛应用于数字电路中的集成电路,它可以用来计数和控制电子设备。4017计数器有10个输出引脚,可以依次输出从0到9的十个数字,因此也被称为“十进制计数器”或“分频
    的头像 发表于 12-15 09:24 4172次阅读

    同步计数器和异步计数器的区别主要在哪里

    同步计数器和异步计数器的区别详解 同步计数器和异步计数器是数字电路中两种常见的计数器类型,它们在实现方式和功能上存在明显的区别。本文将详细介
    的头像 发表于 12-13 14:54 9886次阅读