一、作品简介
该作品主要为微型气相色谱系统开发一套多通道数据采集单元。使用大赛推荐的EVAL-AD7606CFMCZ板卡作为信号采集的核心,整个系统使用PD供电并使用ESP32作为主控及其Wi-Fi实现了可兼容TCD、PID、DID 3种不同类型的同步或异步色谱采集并通过Wi-Fi将图谱数据上传到电脑等设备实现物联,方便用户实时查看气相色谱中检测器测量得到的图谱并可以辅助进行峰识别、数据导出等功能。此外还具有电压和电流辅助测量功能,通过OLED菜单切换显示ADC数据、通道校准、调节TCD电源等功能。
![]()
![]()
![]()
名词解释:
微型气相色谱:它是一种小型化、便携式的气相色谱(GC, 分离和分析混合物中成分的化学分析技术)系统,通过微型化的色谱柱和微型检测器,能够高效分离和检测气体混合物中的成分,广泛应用于快速、实时的气体分析领域。
热导检测器TCD:气相色谱仪中常用的检测器之一,通过测量气体在检测器中传导热量的变化来检测和定量分离柱中的化合物,广泛用于分析气体混合物中的组分。
光离子化检测器PID:气相色谱仪中的一种检测器,利用紫外光照射样品产生的离子电流来检测和定量分离柱中的挥发性有机化合物,特别适用于检测低浓度的挥发性有机物。
放电离子化检测器DID:气相色谱仪中的一种检测器,主要利用放电产生等离子体间接将化合物电离产生的离子电流的方法来检测和定量分离柱中的化合物,可以检测几乎所有化合物。
二、系统框图
![]()
整个系统开发部分包含了采集单元的硬件(Detector DAS Board & Eval-AD7606C板)及其基于ESP32的嵌入式软件和电脑端软件(Data Acquisition System)。采集单元启动后通过Wi-Fi连接到路由器后启动TCP的Client端,电脑端通过上位机软件的server端输入IP后连接采集单元,采集单元将采集后的数据发送到上位机软件,上位机软件通过UI显示数据、图谱以及导出数据。
2.1硬件架构
整个系统在ADI的EVAL-AD7606CFMCZ 评估套件 | 亚德诺半导体 (analog.com)评估板的基础上开发控制、交互、物联以及检测器接口部分来实现整个系统的硬件部分。
整个系统使用ESP32作为控制核心,采用TYPE-C接口供电和烧录(及串口通讯),使用Type-C控制器与适配器进行cc通讯实现PD充电,切换为20V电压输入,通过使用螺旋编码按键、OLED、蜂鸣器进行简单的硬件端UI交互。使用数字电位器控制可调输出的高性能电压源Vs1为TCD供电,通过DC/DC降压到5.6V的Vs2为EVAL-AD7606C、PID及DID供电,AD7606C的6个通道分别采集TCD、PID、DID、Vs1、Vs2、VBUS(20V)信号或电压,剩余的2个通道预留为辅助电压测量(可配置最大为±20V的差分输入范围)和电流测量(0.1-9.8A)功能。
2.2嵌入式软件架构
由于其可以选择Arduino模式编程,并且有丰富的库可以方便调用,可大幅提高开发效率。实现了Wi-Fi的Client端收发数据、通过螺旋编码按键来控制OLED菜单切换,采集数据的校准、数值及曲线显示等功能。
嵌入式软件采用Platform IO+VSCODE对ESP32进行开发。ESP32具有2个核心,为了最大化利用,于是利用FreeRTOS来调度这两核心分别用于ADC实时数据采集和其他任务(包含Wi-Fi客户端、OLED菜单处理及显示、调试线程等)。
![]()
![]()
整体嵌入式软件基于ESP32平台下,运行Free RTOS系统来方便开发。主要包含了3层,应用层主要包含用于实现Wi-Fi client端数据的收发模块和OLED的交互模块;中间层包含了U8g2图形库、Wi-Fi Client库等来方便应用层与底层(LL、HAL、驱动层)交互;底层包含了AD7606C、AD5272、FUSB302等驱动库,I2C、SPI、GPIO等HAL库。
2.3上位机软件架构
上位机软件同样采用VSCODE,使用python进行开发,界面部分采用PyQt5实现,借助其成熟的轮子,300+行代码便实现了整个具有初步功能的应用开发。
![]()
使用PyQt5的图形用户界面的数据采集系统(DAS),用于实时数据可视化、控制和分析。软件架构包括以下组件:
DataReceiver 类:
监听指定 IP 地址和端口的传入数据。
发出带有接收数据的信号。
管理数据缓冲区的存储,并可选择将数据写入CSV文件。
PlotUpdater 类:
使用PyQtGraph实时绘图更新接收到的数据,并发送更新绘图和文本显示的信号。
SpectrumAnalysisThread 类:
在单独的线程中使用 'spectrum_analysis.py' 脚本执行频谱分析。
MainWindow 类:
使用PyQt5实现主GUI窗口。
集成了一个用于实时绘图的PlotWidget和一个用于显示数据的QTextEdit。
处理用户交互,如启动/停止数据服务器、清除图表和启动频谱分析。
使用单独的线程进行数据接收、绘图、频谱分析和打开Web浏览器以显示Dash应用。
Dash 集成:
代码包括一个用于频谱分析的Dash应用。
当用户点击“停止”按钮时,在单独的线程中启动Dash应用,并打开Web浏览器以可视化分析结果。
总体而言,该架构采用了模块化和多线程设计,将与数据接收、可视化和分析相关的关注点分离,以提高性能和响应能力。GUI集成了实时绘图和基于Dash的频谱分析,实现了全面的数据探索。
三、各部分功能说明
3.1主要硬件组件
3.1.1 控制器及通讯单元
ESP32是一款由乐鑫信息科技开发的低成本、高性能的微控制器芯片,主要用于物联网(IoT)应用。ESP32继承了其前身ESP8266的特点,并在性能、功耗以及功能上进行了改进。以下是ESP32的一些重要特性和介绍:
- 双核处理器:ESP32搭载了两个处理器核心,可分别用于应用处理和Wi-Fi网络协议栈的管理,提高了系统的整体性能和响应速度。
- Wi-Fi和蓝牙连接:ESP32支持2.4GHz的Wi-Fi连接,适用于无线网络通信。此外,它还集成了蓝牙4.2/5.0技术,可用于连接其他蓝牙设备或实现蓝牙Mesh网络。
- 丰富的接口:ESP32提供了多种通用输入输出接口(GPIO)、SPI、I2C、UART等,使其易于与其他硬件设备和传感器进行连接,满足各种应用场景的需求。
- 低功耗设计:ESP32在设计上注重功耗优化,支持多种低功耗模式,可在电池供电的应用中实现长时间运行。
![]()
- ADC模数转换器
该系统采用ADI的EVAL-AD7606CFMCZ 评估板来实现ADC功能,其中的AD7606C-18是18位、1 MSPS SAR-ADC(所有通道),具有 1MΩ 最小模拟输入阻抗 (RIN) 的输入缓冲器,可以免除去以往的前端电路设计,极大方便并行数据的采集。同时可以通过寄存器配置来切换ADC的模式(差分,单端)及量程,极大的简化Front-End设计成本并且简化了系统设计复杂度。
本设计中采用单线SPI与其通讯来节省pin脚占用,另外评估板上集成了ADR4525的B级基准源,2 ppm/°C的温漂性能,1.25μV p-p的低频输出噪声极大的降低整个系统误差以及噪声。
由于该芯片有8路采集功能,故为了将其通道全部利用,实际除了检测器信号外还预留了辅助的电压电流测量功能,系统不同检测器供电电压监控的功能,以下是实际通道的配置信息:
![]()
评估板跳线帽配置:
![]()
![]()
3.1.3 USB转串口(无需外围晶体管实现一键烧录ESPxx)
CH343是一个USB总线的转接芯片,实现USB转高速异步串口,同时支持115200bps及以下通讯波特率的自动识别和动态自适应,提供了常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备或者MCU直接升级到USB总线。通过RTS pin和DTRTNOW pin连接ESPxx的EN脚和IO00脚,利用流控制来实现程序的自动烧录。
![]()
3.1.4 其他外设
1. OLED
该系统采用OLED(SSD1306)为辅助显示屏幕来方便用户功能的切换
![]()
2. 螺旋编码按键,该按键用于与OLED实现UI交互,极大的方便调试和使用
![]()
3.2 电源设计
3.2.1 电源需求
- 系统中DID & PID均需要5.6V以上电源供电,AD7606C EVAL板也需要5V以上电源供电
- TCD检测器需要18-20V电源进行供电
- MCU、OLED等外设均需要3.3V电源供电
3.2.2 电源管理
系统通过Type-C接口,采用PD协议通过cc线与适配器通讯,输出20V电压为整个系统供电。通过buck电路降压到5.6V给DID与PID检测器以及AD7606C EVAL板供电;通过超低噪声和超高PSRR LDO及可编程电阻产生18-20V的可编程电压输出;使用LDO将5.6V转换成3.3V给MCU及周边外设供电。
- TYPE-C及PD
- 该系统采用FUSB302B 通过较少的编程实现了 USB Type-C 检测,包括连接和定向。该设计中实现可高达 60 W 的电源电力输送。
![]()
- TCD用可调电源
- 该电源采用ADI的LT3045超低噪声和PSRR的LDO来给检测器提供电源,由于实际需求(此处设计超过其典型值但未超过其绝对最大值),需要其具有小范围的电压调节功能,故采用AD5272来(最大20kOhm)的可调
![]()
20V转5.6V的降压Buck电路及5.6V转3.3V的LDO
![]()
3.2.3 电流采集(测量范围:0.1A – 9.8A)
电流采集部分采用了支持高共模电压的电流监视放大器INA290A3,通过Vishay Y14730R00500B0R的±5ppm/°C的5 mOhms ±0.1% 3W的精密电阻两端电压并实现100倍电压放大,送到ADC-CH8来进行采集(此处采用ADI的运放评估板的通用接口来与ADC板进行连接),理论上可以做到76.3uA的最小分辨能力(实际设计连接器pin1与ADI板的pin1不对应,ADC-CH8理应配置为0-5V单极性采样来做到~38uA的电流分辨能力)。
![]()
3.3 物理设计
3.3.1 内部连接
为了方便的使用板,并且重复开发,采用板卡堆叠的方式实现。实际使用SMB接头、插拔式连接器及cable、排针及排母实现连接。
![]()
3.3.2 外部接口
PID、DID均采用Type-C接口(这里没有做防呆,但PD适配器插入也不会损坏),TCD擦用XH-2.54的连接器与其连接。辅助为了方便的使用板,并且重复开发,采用板卡堆叠的方式实现。实际使用SMB接头、插拔式连接器及cable、排针及排母实现连接。
![]()
3.3.3 其他
![]()
四、作品源码……
得捷大赛获奖作品分享,查看更多大赛作品,在【EEWorld-论坛】搜关键词“DigiKey创意大赛",与原作者一起交流。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.