站内搜索
发作品签到
基于 ESP32 UI超炫酷的盖革计数器
专业版

基于 ESP32 UI超炫酷的盖革计数器

简介

使用ESP32-C6的盖革计数器, 里面全是游戏! 还有动画! 还附赠有盖革计数器!

简介:使用ESP32-C6的盖革计数器, 里面全是游戏! 还有动画! 还附赠有盖革计数器!
星火计划2025
复刻成本:260

开源协议

GPL 3.0

创建时间:2025-09-15 13:24:39更新时间:2025-10-20 09:35:06

描述

盖革计数器
N1, 启动了计数器APP

B站介绍视频: https://www.bilibili.com/video/BV1Tc4tz6Ecn


前言

N1最早是为了改进PixelUI库而开发的。整体的UI设计其实是为了测试自己与UI库的能力.

从2025 年 8 月中旬开始,我开始写 PixelUI 这个项目。
这是一个以U8g2库为基础,为MCU量身打造的应用模板库。说白了,就是想在 128x64 小屏上玩花一点。 渐渐的,我给他添加了更多工具,希望它成为大家日后DIY可以利用的一套模板。文档部分我暂时还未完工, 但是之后一定一定会慢慢补的!

PixelUI 的核心整合了一套工具,包括:

  • 我认为)很方便的 App 系统
  • 非浮点的 UI 动画绘制
  • 输入事件响应路由
  • 辅助动画加载顺序的协程系统
  • 辅助 UI 的状态机

利用他们我实现了图标/List的多级列表、控件的聚焦系统、以及气泡提示等高级功能, 这些功能都完全可以复用在其它项目中。

我也利用这些工具,为这个盖革计数器定制了许多 UI 控件。

选择开发这个盖革计数器,是为了对Pixel UI框架进行更深入地优化。这个过程有效地暴露了此前设计中存在的不足,促使项目朝着更完善的方向发展。

PixelUI 最重要的灵魂,就是这些控件的动画交互。我希望最终的成品不应只是枯燥的黑白点阵(虽然还是点阵),而是让这些点阵组合出一套直观、有灵魂而不失乐趣的交互逻辑。
Animation.gif


项目简介

这是一款基于ESP32-C6主控的便携式DIY盖革计数器,用于检测环境中的β、γ和X射线一类的电离辐射并粗略计量。它能够实时显示当前的辐射剂量率(µSv/h)、每分钟计数(CPM),并可以通过声光提示超阈值警告。项目采用模块化设计,开源软硬件,开发使用了基于U8G2的PixelUI


项目功能

  • 基于可变滑动窗口的CPM检测:能够比较及时地估计当前的脉冲密度。脉冲较稀疏的时候窗口较大保证长周期下的测量精度,脉冲较密集的时候窗口较小以尽可能防止缓冲区溢出。窗口大小的切换采用最近15次测周法平均得来的CPM估计值作为依据,可以比较及时反映出剂量的变化

  • 软件进行BOOST闭环升压:灵活度相对较高,可以软件调整盖革管的工作电压。BOOST工作在DCM PCM模式下. 原本打算利用Energy per shot方法驱动, 后来发现PID就足以调节的非常好.

34.gif

  • 数据可视化显示:计数器的界面清晰直观,可显示实时剂量、平均值、峰值、CPM以及剂量率动态曲线(Histogram直方图)。

5ee2a098f67f397629218859dddc655d.gif

  • 超多的配置项:用户可以自定义设置报警阈值 / 各种提示音, 管子工作电压等

34.gif

  • 内置电源管理:内置可充电锂电池,通过Type-C接口充电 / 固件更新 / 连接上位机记录,方便随身携带到不同环境中进行测量。使用CW2015CHBD自带算法拟合电池剩余电量。(试试充电的小动画哦)

  • 网络功能扩展(在做):基于ESP32-C6主控,可以利用WiFi / Thread系功能进行物联网,可以将数据传输上云, 而不用近距离接触放射源进行探测, 保证人身安全。

34.gif

  • 除此之外还有一个BME280传感器,只为一玩()

34.gif

34.gif

  • 除此之外还有 和大运躲猫猫的游戏以及乒乓游戏, 之后如果有时间会再加的

项目参数

  • 主控芯片:ESP32-C6-MINI-1-N4
  • 盖革管型号:M4011 (兼容J305, SBM-20等常见型号, 可以在软件中调节工作电压)
  • 盖革管工作电压:默认380V (板载DCM升压)
  • 显示屏:1.3寸 SH1106 OLED, 分辨率128x64 (如果使用SSD1306或者其他屏自己修改就好)

测量范围:

剂量率:1CPM ~ 30000CPM
供电方式:3.7V 锂聚合物电池 Type-C 5V充电
报警方式:有源蜂鸣器 + 高亮LED指示灯
接口:Type-C (充电和程序调试)

硬件说明

本项目硬件主要由四大模块组成:高压升压模块、脉冲检测模块、主控与显示模块 和 电源管理模块。

image.png
图1:计数器系统框图

boost.png
图2:逆变升压部分

M4011盖革管需要在约380V的高压下才能在坪区Plateau Region稳定工作。在这处设计中, 我使用了一个低成本的灵活的脉冲升压式BOOST转换器, 其工作于DCM模式,将锂电池的3.7V电压单级升至380V左右. 虽然效率低, 为盖革管提供稳定的阳极高压它仍然是绰绰有余。 高压输出通过阻尼电阻(4.7MΩ)连接到盖革管的阳极, 这样380V能确保M4011盖革管在其 坪区(Plateau Region) 稳定工作: 在这个电压下,计数率对电压的变化不敏感,提供了最稳定的辐射计数测量。380V 对很多常见型号(如 M4011)来说就是一个常见的推荐值。

个人测试,BOOST电感回路阻抗最好为7.5ohm - 15ohm,可以在脉冲密度较大的情况下保持升压性能。回路中的电位器选型价格较为昂贵,只是作为我个人调试时防止损坏器件的手段,可以选择直接短接

脉冲检测电路
当电离辐射粒子穿过盖革管并使其内部气体电离时,会在阴极和阳极之间产生一个微弱的电流脉冲。这个脉冲信号被从阴极提取出来,经过一个BJT进行整形,转换成ESP32-C6能够识别的清晰的方波信号。该信号最终送入C6的外部中断进行基于滑动窗的计数。

ESP32-C6以中断方式捕捉计算来自检测电路的每一个脉冲。内部任务以滑动窗口计算出CPM值,根据盖革管的转换因子(M4011管约为 0.0057 µSv/h/CPM)换算成当前的辐射剂量率µSv/h。

电源管理:

“早知道还得是TP4056”

这部分使用TP4056进行充电管理,引出了充电状态指示灯。后面使用BUCK稳压器将电池电压转换为3.3V为全局供电, 使用CW2015CHBD进行电池余量估计。相信很多爱好者作项目最痛苦的地方莫过于电池管理。CW2015不是库仑计,它使用ADC进行电量余量估算,在有工厂校准数据的情况下精度会高很多。自己DIY的情况下仅作为参考。

应用场景

老生常谈的问题:因为没有能力进行标定 这个工具只适合大家自己DIY玩。其中最准确的要数估计的CPM数值。

  • 教育科普:作为教具,帮助学生直观地享辐(bushi)。
  • 个人监测:周边环境辐射进行定性监测。

ed7356f6cfde38724a2cc070b98aef21.png

程序烧录详解:

下载ESPtool: https://github.com/espressif/esptool/releases/tag/v5.1.0
进行下列步骤进行JTAG引脚禁用以解放对应的GPIO:

  1. 连接计数器的USB并启动 (请连接电池)。
  2. 在命令行里切换到ESPTool目录,调用espefuse.exe, 根据指示输入BURN 以永久禁用JTAG PAD。
./espefuse.exe --port [你的COM口] --chip esp32c6 burn_efuse DIS_PAD_JTAG 1
  1. 可以按照0x0 bootloader.bin, 0x8000 partition_table.bin, 0x10000 GeigerCounter.bin的配置利用ESP Flash Tool烧录, 或者直接使用第二步里下载的工具包里的esptool.exe,这样写入
esptool.exe -p /dev/ttyACM0 -b 460800 --before default_reset --after hard_reset --chip esp32c6 write_flash \
  --flash_mode dio --flash_freq 80m --flash_size 4MB \
  0x0 bootloader/bootloader.bin \
  0x8000 partition_table/partition-table.bin \
  0x10000 GeigerCounter.bin

更多固件细节请查看 Github README

欢迎进行项目复刻以及更多功能的开发!

固件在 https://github.com/Lawrence-Link/Geiger-Counter-V3/
Stay up to date! 之后会继续加功能的~

开源平台的GeigerCounter.bin是我发布文章前的最后一个版本,建议克隆Github工程自己编译,Github的README.md有更详细的编译解释。

谢谢星火计划 ♥

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
测试一下.mp4
8
2
GeigerCounter.bin
6
3
partition-table.bin
6
4
bootloader.bin
6
5
GeigerCounter.zip
40
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航