但要小心树莓派Pico微控制器中的一个小缺陷。
全球半导体短缺让所有微控制器使用者的生活都变得难熬了起来,如今的订货周期有时会长达好几年。不过,售价4美元的树莓派Pico是一个亮点,它是一个以新型RP2040芯片为基础的微控制器。RP2040不仅有强大的计算能力,还没有受到其他芯片短缺的影响。因此,在决定打造廉价的DIY伽马闪烁光谱仪时,它就成为了理所当然的选择,不过我没有意识到自己会为经常影响第一代集成电路的初级问题而感到困扰。
我对伽马射线光谱仪的兴趣源自物理学习。通过一台设备就能获得如此多的信息,这让我觉得很有意思。伽马射线光谱仪具有更高的灵敏度,可以像盖革计数器一样使用。但与盖革计数器不同的是,伽马射线光谱仪可以用于识别发射伽马射线放射性同位素的准确成分,精确到微微克(或更低)。发现如今最便宜的商业设备的价格也很高,于是我开始考虑打造自己的伽马射线光谱仪。我想看看能否制造一台价格实惠、容易制造的光谱仪。
第一步是选择光谱仪的核心:闪烁计数器。简而言之,闪烁计数器是一种透明的晶体,能够测量伽马射线通量的能量和强度。伽马射线会在晶体中产生一个自由电子,这个电子的能量与伽马射线的能量成正比。电子在晶体中移动时,会激发原子。原子反过来又会发出可见光子,发出光子的总数量与激发电子的能量成正比。因此,通过计算光子的数量,就可以测量原始伽马射线的能量。计算一段时间内检测到的伽马射线数量就可以得出辐射的强度,了解伽马射线的能量就能够确定放射性同位素的特征谱。
光子信号必须经过放大才能被检测到。过去,光子信号的放大是通过光电倍增真空管来实现的,但现在硅光电倍增管(SiPM)已经越来越普遍。在我的项目中,SiPM有很多优点,特别是不需要高压电源。
eBay上有各种价格低廉的二手闪烁计数器晶体,我花了大约40美元购买了一小块直径18毫米、长30毫米的碘化钠晶体。该晶体带有一个光电倍增管,我拆除了这个光电倍增管,把它换成了SiPM,并用黑色胶带将装置包好,防止泄露外部光线,触发传感器。
闪烁计数器和SiPM插在一块载板,载板上有一个直流/直流升压转换器,可将5伏电压转换为SiPM所需的29.3伏电压。此外,载板还有Pico微控制器和其他一些支持电路,包括一个放大器,该放大器可将SiPM的输出电压提高到Pico的内置模数转换器(ADC)可检测的电平。
Pico的RP2040芯片中的模数转换器是一个关键组件,理论上来看这个组件非常好。
它具有12位分辨率,每秒500K的采样率,测量范围为0到3.3伏。但RP2040的模数转换器中潜藏着一个缺陷。
我开始并不知道这个缺陷的存在,直到我开始测试光谱为止。我编写树莓派软件,将模数转换器读数分到4096个通道,并计算每个通道在一段时间的事件数时,发现有一个通道报告的计数值一直非常高,在光谱中产生了一个小尖峰。我对此感到很疑惑,于是进行了一次4小时的背景辐射测量,发现了4个有问题的通道,信号峰值不真实。
我开始寻找原因,发现自己并不是第一个遇到这个问题的人。电子工程师马克•奥莫(Mark Omo)对这个问题进行了调查,并在他的网站上对此进行了详细的分析。问题总的来说是这样的:理想情况下,模数转换器会将其可测量的电压范围切割为同样大小的序列台阶,在输入电压和其输出的数字测量结果之间建立线性关系。当然,没有任何模数转换器在其测量范围内有完美的线性响应,但RP2040有4个点,输入电压会产生严重紊乱的非线性响应。这就是光谱中神秘尖峰的来源。
要消除这个缺陷,除了修正RP2040外,没有什么直接的办法。幸运的是,我可以借助4096个通道,采用最简单的软件修复方法,即丢弃受影响通道中的测量结果,这对整体光谱的质量不会产生重大影响。
通过USB接口,可以控制光谱仪并从中获取数据,USB接口还提供了运行所需的电源。我编写了软件,该软件可接收一串命令,让光谱仪进入盖革计数器或能量测量模式,或者上传上次开机以来获得的所有测量结果的柱状图。你也可以自己写代码与光谱仪通信,或者使用我创建的可绘制光谱图的网页应用。(可通过GitHub获取该网页应用链接,以及完整的制作细节和印刷电路板文件。)
未来,我希望制作光谱仪硬件时可以使用测量范围更广的SiPM和闪烁计数器,并使用它来检测任何人们看到的东西。希望你能与我一起探索这个有趣的爱好。