【DigiKey创意大赛】便携生命探测仪07+作品提交
<div><strong>便携生命探测仪</strong></div><div>作者:sipower</div>
<div>一、<strong>作品简介</strong><br />
现在越来越多业余驴友喜欢户外冒险,但是随之而来的就是遇到危险的情况时有发生,因此我想到做一个便携生命探测仪,在发生危险时,能帮助救援人员方便找到遇险者。此方案主要采用热敏式图像传感器MLX90640ESF-BAB-000-TU检测人体红外信号,采用BME680气体,湿度,压力,温度传感器评估板记录环境信息,配合一个带屏幕的评估板,显示热成像图片。再额外添加一个心电采集模块,当发现遇险者后,能立即给遇险者采集心电图和心率并在屏幕上显示,方便救援人员判断生命体征状态,好制定下一步救援计划。下图是最终的作品照片,我用纸壳做成一个手枪形态的样子。</div>
<div></div>
<div>本次作品从得捷电子采购的器件:</div>
<table border="1">
<tbody>
<tr>
<td>序号</td>
<td>型号</td>
<td>名称</td>
<td>用途</td>
</tr>
<tr>
<td>1</td>
<td>MLX90640ESF</td>
<td>热敏式图像传感器</td>
<td>检测人体红外信号</td>
</tr>
<tr>
<td>2</td>
<td>3660</td>
<td>BME680评估板</td>
<td>采集气体,湿度,压力,温度参数</td>
</tr>
<tr>
<td>3</td>
<td>DFR1075</td>
<td>ESP32-C6评估板</td>
<td>转换心电数据格式</td>
</tr>
<tr>
<td>4</td>
<td>JB2835AWT-W</td>
<td>白色发光管</td>
<td>用于探测仪照明</td>
</tr>
</tbody>
</table>
<div>本次作品自备的器件:</div>
<table border="1">
<tbody>
<tr>
<td>序号</td>
<td>型号</td>
<td>名称</td>
<td>用途</td>
</tr>
<tr>
<td>1</td>
<td>DFR0975</td>
<td>ESP32-S3评估板</td>
<td>主控板实现数据处理和现实功能</td>
</tr>
<tr>
<td>2</td>
<td>MSP3520</td>
<td>3.5英寸480*320分辨率触摸屏</td>
<td>显示热成像图像和心电波形</td>
</tr>
<tr>
<td>3</td>
<td>LH001-91</td>
<td>心电评估板</td>
<td>采集心电数据</td>
</tr>
</tbody>
</table>
<div><strong>二、系统框图</strong><br />
整个系统框图如下图。</div>
<div></div>
<div>如上图所示,ESP32-S3评估板作为主控板,通过SPI接口连接一片480*320分辨率的触摸屏,用来显示各个检测数据、图像、心电波形。通过串口连接一片ESP32-C6评估板。ESP32-C6负责通过串口从LH001-91心电评估板接收字符串数据,然后选择心电波形、心率、导联脱落数据转换成浮点数,再从另外一个串口发给主控板。通过I2C接口连接热敏式图像传感器MLX90640ESF-BAB-000-TU检测人体红外信号,转换成热成像实时图片刷新到显示屏。通过I2C接口连接BME680气体,湿度,压力,温度传感器评估板记录环境信息,并显示在屏幕上。</div>
<div><strong>三、各部分功能说明</strong></div>
<div>所有板子,传感器,屏幕等器件焊接好,并打胶加固后的效果如下图。</div>
<div></div>
<ol>
<li>热成像传感器MLX90640<br />
该传感器分辨率为32H x 24V阵列,封装是TO-39,本次大赛两个必选料之一。焊接好的图片如下。和主控板之间采用I2C接口。该传感器软件驱动我这里参考Adafruit_MLX90640的库,再结合显示屏特点进行了调色板处理,通过差值将32*24点阵放大到320*240点阵,可以在屏幕上均匀显示,祛除颗粒感。<br />
</li>
<li>主控板<br />
选的是以前做评测攒下的一块ESP32-S3开发板,由DFRobot设计的FireBeetle-ESP32-S3,如下图。该评估板提供非常丰富的IO接口,可以满足大部分DIY的需求。这个板卡的程序我在VScode+PlatformIO平台开发,使用体验非常好,强烈推荐没用过的同行们尝试一下。<br />
</li>
<li>显示屏<br />
选了一块480*320的TFT,如下图,也是以前做评测攒下的。该屏幕采用SPI接口,带电阻式触摸屏,使用该屏幕可以省掉按键,配合开源显示驱动库TFT_eSPI,可以非常方便的实现各种显示功能。这里需要特别说明一下,由于该屏幕使用的驱动IC ILI9488是18bit数据,TFT_eSPI是不支持DMA的,我这使用了一些技巧,最终实现DMA写屏,使得热成像刷新率显著提高,具体的细节可以参考我分享的第三贴。<br />
</li>
<li>BME680传感器</li>
</ol>
<div>该传感器具有SPI和I2C两种接口,由于我用的这个ESP32-S3开发板引出的SPI口接屏了并且SPI占IO口比较多,我择使用I2C接口连接BME680小板,最开始为了省事我把它和MLX90640挂在同一个I2C总线上了。但是我发现一个问题,就是每次读取BME680时候,热成像刷新都会卡顿一下,体验不好,原因就是共用总线造成的。好在ESP32-S3有多个I2C,并且还有一个巨牛掰的GPIO交换矩阵,可以让外设使用任意IO口。于是我从引脚分配表上找了2个闲置的IO口A4和A5配置成了I2C总线,完美解决卡顿问题。采集数据显示如下图。</div>
<div></div>
<ol>
<li>心电采集部分<br />
本次作品为了实现心电采集,我选用了领慧立芯推出的医疗级模拟前端心电采集方案。具体实现采用的是领慧立芯的心电采集评估板,该评估板基于LH001-91设计。<br />
LH001-91是专门针对心电信号采集而开发的医疗级模拟前端,集成了24位Σ-Δ ADC,可编程增益放大器,右腿驱动,导电脱落监测等功能。更详细资料见如下链接:<br />
<a href="http://www.legendsemi.com/hyyy_2/4.html">http://www.legendsemi.com/hyyy_2/4.html</a><br />
下图是我申请到的LH001-91的评估板,主要由AFE(LH001-91),通用MCU和两侧的三个电极组成。<br />
<br />
为了降低主控端的软件复杂度,我还选用了一块ESP32-C6开发板做心电数据解析,该开发板由DFRobot设计研发,型号是FireBeetle 2 ESP32-C6。如下图所示。<br />
<br />
FireBeetle 2 ESP32-C6采用较新的RISC-V内核,在官方VScode+PlatformIO平台还不支持Arduino架构,最后采用ArduinoIDE做的程序开发。详细程序见作品源代码。<br />
在本次作品中主要是用到了ESP32-C6的两个串口做协议转换。原理框图如下图。<br />
<br />
我在PC端用了一个能显示串口数据波形的软件,ESP32-C6负责从LH001-91评估板接收字符串数据,然后转换成上位机软件能识别的协议,再从另外一个串口发出去。最后由主控板接收数据并显示在屏幕上。心电显示效果如下图。<br />
</li>
<li>照明部分</li>
</ol>
<div>考虑到这个探测仪会在黑暗环境下工作,我在作品最前端加了2个高亮白光LED发光管。在最终的手枪状扳机处粘了一个按键,可以控制发光管的亮灭。局部照片如下图。</div>
<div></div>
<div><strong>四、作品源码</strong></div>
<div>ESP32-S3程序采用VScode+PlatformIO平台开发。</div>
<div>ESP32-C6程序采用ArduinoIDE开发。</div>
<div>便携生命探测仪源代码</div>
<div><a href="https://download.eeworld.com.cn/detail/sipower/634850">https://download.eeworld.com.cn/detail/sipower/634850</a></div>
<div><strong>五、</strong><strong>作品功能演示视频</strong></div>
<div>ec5c9ffb1ee98e05de790da3423d6055<br />
</div>
<div><strong>六、项目总结</strong></div>
<div>感谢EEWorld和得捷电子提供的这次机会,让我体验了热敏式图像传感器MLX90640和环境检测传感器BME680。然后做出这个有意义的作品。在开发过程中,感觉到ESP32单片机生态系统很完善,不但有非常好用的Arduino平台,还有更强大的VScode+PlatformIO开发平台,让程序开发更加高效稳健。</div>
<div>下面链接是本次作品开发过程中的经验分享贴,本文中没有详细介绍的内容,在下面帖子中都能找到。</div>
<div><a href="https://bbs.eeworld.com.cn/thread-1290207-1-1.html">https://bbs.eeworld.com.cn/thread-1290207-1-1.html</a></div>
<div><a href="https://bbs.eeworld.com.cn/thread-1291434-1-1.html">https://bbs.eeworld.com.cn/thread-1291434-1-1.html</a></div>
<div><a href="https://bbs.eeworld.com.cn/thread-1292207-1-1.html">https://bbs.eeworld.com.cn/thread-1292207-1-1.html</a></div>
<div><a href="https://bbs.eeworld.com.cn/thread-1294411-1-1.html">https://bbs.eeworld.com.cn/thread-1294411-1-1.html</a></div>
<div><a href="https://bbs.eeworld.com.cn/thread-1294434-1-1.html">https://bbs.eeworld.com.cn/thread-1294434-1-1.html</a></div>
<div><a href="https://bbs.eeworld.com.cn/thread-1296592-1-1.html">https://bbs.eeworld.com.cn/thread-1296592-1-1.html</a></div>
<p><strong>七、其他</strong></p>
<div>无。</div>
<div><!--importdoc--><br />
<br />
</div>
<p>这个手枪式外壳,用3D打印就酷帅了。</p>
页:
[1]