基于Arduino的高分辨率微尺度分离系统数据采集设备
摘要
本研究中,我们设计、构建并评估了基于多种模数转换模块(ADS 1115、MCP 3424、LTC 2400,分辨率从16位至24位)和微型Arduino Nano™微控制器的简单、低成本开源数据采集系统。所构建的数据采集系统表现出优异的性能,可与商用24位设备相媲美。我们提供了完整的电路图和相应的源代码,使分析化学家能够轻松构建任何一种所开发的系统,而无需具备广泛的电子或编程知识。基于24位LTC 2400的设备性能最佳,与商用高端24位西格玛‐德尔塔转换器(ORCA 2800)相当,但成本仅为后者的一小部分(低于50美元,相比之下商用设备为870美元)。通过毛细管电泳系统结合非接触电导检测对临床皮肤擦拭样本和自来水样品中的无机离子进行分离,验证了该系统的优异性能。
1. 引言
基于计算机的数字数据采集(DAQ)是必不可少的分析仪器的组成部分。来自检测器或仪器传感器的模拟信号(通常为电压或电流)首先在模数转换器(ADC)中进行处理,并转换为数字值。随后,应用软件可对这些数字输出进行处理、显示数据并评估信号特性。
在商用分析仪器中,数据采集(DAQ)系统和应用软件均为各供应商独有的专有部件。不同仪器制造商之间的数据格式通常不兼容,也无法轻松导出到常见的电子表格编辑器中,例如微软Excel。除了分析仪器采用其专有的数据采集外,市面上也有商用数据采集系统可供选择[1]。同样,这些数据采集系统也无法根据最终用户的需求进行修改,并且通常价格较高。
开源电子器件和微控制器(如Arduino或树莓派)的广泛应用为分析化学家基于开源模式构建自己的仪器带来了新的机遇[2]。这些微控制器,特别是Arduino平台,已在各种分析仪器设计中找到了其应用空间[3,4]。最近的例子包括室内环境质量监测[5], 、光学图像处理[6],、自动气液萃取[7]以及在分离技术中的应用[8,9], ;更多详细信息,请参阅近期优秀的综述文章[3,10e12]。Arduino(Uno和Nano)内置了10位模数转换器,可在许多应用中用作简单的数据采集设备。在毛细管电泳、高效液相色谱或气相色谱等分离技术中,自制仪器通常需要某种形式与计算机的接口。由于这些仪器通常要求较高的信噪比,因此需要高分辨率模数转换器。典型的高端商用数据采集系统的分辨率等于或优于24位,而一些低端数据采集设备的分辨率为12至16位。在我们的实验室中,我们曾使用过24位商用数据采集设备[13,14],其价格范围在500至1000美元之间。随着实验室中自制仪器数量的增加,这一成本变得过高。在本报告中,我们描述了一种简单、经济且易于使用的数据采集系统的解决方案。尽管早期已有研究报告提出了开源数据采集设备[15e18],,但它们通常需要深入的编程和电路设计知识,超出了普通分析化学家的专业能力范围。最近,格里尼亚斯等人[8]展示了一种基于Arduino的16位模数转换模块构建的数据采集设备,价格低于50美元,这是迈向通用、易用且经济的数据采集设备的重要一步。16位分辨率对于许多仪器而言性能尚可,但在许多情况下仍显不足。例如,我们实验室最近开源的一种非接触式电导检测器(C4D)[19]使用了22位模数转换器。对于实验室中使用的其他类型的C4D检测器,16位分辨率也过低。目前有多种分辨率为16、18、22和24位的模数转换模块,可以轻松连接到Arduino板上,而无需深入掌握电路搭建知识。我们工作的目标是设计、测试并评估一种简单、廉价且开源的数据采集系统,该系统基于现有模数转换模块(分辨率从16到24位)和微型Arduino Nano™板,并将其与高端商用数据采集设备进行直接比较。另一个目标是编写一个简单的Arduino脚本,用于采集信号数据并在微软Excel电子表格中显示,尽可能减少对编程和电路设计知识的需求。我们提供了完整的设备原理图和相应的源代码,以便任何分析化学家都能构建此类设备并在分析实验室中使用。我们证明了所构建的数据采集设备性能可与更昂贵的商用设备相媲美。
2. 实验
2.1. 基于Arduino的数据采集设备的构建与组件
Arduino Nano板被选为我们的数据采集设备的中央单元,因为它体积小、成本低、可以轻松焊接到原型印刷电路板(PCB)上,并且互联网上有大量免费资源可供使用。尽管Arduino微控制器内置了10位模数转换器,但由于其分辨率较低,并未使用该模数转换器。相反,我们评估了功能更强大但价格低廉的模数转换模块。表1 列出了这些模块对应的基本特性、价格和来源。
16位ADS 1115和18位MCP 3424模数转换器(均购自Arduino商店 [27], )以即用型模块形式出售,便于连接至Arduino微控制器或其他电子设备。这两个模块均采用I2C通信协议。24位LTC 2400模数转换器可使用Arduino的参考电压,但为了获得更好的性能,应使用外部电压参考芯片,例如ADR 4540或类似产品。目前市场上没有带外部电压参考的LTC 2400商用模块,因此需要将芯片焊接到SO‐16适配板上( GM Electronics,捷克布尔诺,部件号661e194)。LTC 2400和 ADR 4540从Mouser公司购买(Mouser Electronics,捷克布尔诺,部件号分别为584‐LTC2400CS8#PBF和584‐ADR4540ARZ)。
Arduino Nano微控制器及其对应的ADC板安装在一块原型印制电路板上(GM Electronics,捷克布尔诺,部件号661e084),该板被切割后放入Hammond 1455‐C801盒子中(GM Electronics,捷克布尔诺,部件号622e984),以保护电子元件免受意外化学液体溅洒及实验室环境的影响。图1 展示了本研究中使用的三种模数转换器的照片。补充材料中列出了所有模数转换器的物料清单,总价格在33至48美元之间。三种模数转换器、Arduino Nano板以及辅助电子元件的连接电子图见图 2。这些模块连接到Arduino Nano相应的模拟或数字引脚。在电压输入端增加了去耦电容(10 mF),以提高信号质量。
2.2. 源代码/固件
每种模数转换器的源代码均使用Arduino脚本编写,并作为相应的 “*.txt”文件提供在补充材料中,可使用任意文本编辑软件(例如MS Notepad)打开,并直接复制到Arduino集成开发环境(IDE)中。 ADS 1115和MCP 3424模数转换器采用I2C通信协议,该协议仅需两根导线即可在设备之间传输数据。这些导线连接至Arduino Nano微控制器的A4和A5引脚。LTC 2400模数转换器则采用SPI通信协议,其源代码略有不同。对于SPI通信协议,通常需要四根导线。但在我们的应用中,未使用从Arduino到LTC 2400的数据输出线,因此实际上仅使用了三根导线。这些导线连接至Arduino Nano板上的D10、D12和D13引脚,如图2所示。这些源代码使用了标准的Arduino集成开发环境库 (Wire.h、SPI.h)以及为ADS 1115芯片提供的Adafruit库( Adafruit_ADS1015.h),该库遵循BSD许可证[28]。
2.3. 毛细管电泳系统
采用了一台专用的CE仪器进行所有分析。高压电源单元(斯佩尔曼 UM40‐8,斯佩尔曼,美国加利福尼亚州)为熔融石英毛细管(内径50 mm,外径375 mm,总长50厘米,Microquartz有限公司,德国慕尼黑)提供 þ15 kV电压,毛细管中填充有背景电解质(BGE)。为了获取分析信号,在距分离毛细管阳极侧25 cm处安装了一个自制的C4D检测器(版本5.06,ADMET有限责任公司,捷克共和国布拉格)。检测器的信号由开发的基于Arduino的DAQ设备采集,该设备使用了不同的 ADC板(16位ADS 1115、18位MCP 3424、24位LTC 2400),以及一种商用24‐位数据采集卡(ORCA 2800,Ecom s.r.o,捷克共和国布拉格)。
将进样端浸入样品瓶中并抬高至10 cm高度,持续30 s,使样品进入毛细管。对于阳离子的进样,样品从阳极侧引入;对于阴离子的进样,进样侧为阴极侧。所有分析均使用同一套毛细管电泳系统,无需更换毛细管或背景电解质。
两次分析之间,用背景电解质溶液冲洗毛细管1分钟。每天工作结束时,用去离子水清洗毛细管15分钟,抽真空干燥5分钟,并在干燥条件下过夜保存。
2.4. 化学品和标准
所有化学品均为试剂级。储备液配制和稀释使用去离子水(Purite, Neptune,Watrex,捷克共和国布拉格)。用于阳离子分析的背景电解质(BGE)由20 mmol L1 2‐2‐吗啉乙磺酸(MES)/L‐L‐组氨酸( HIS)、2 mmol L1 18‐冠醚‐6组成,每天通过将200 mmol L1的 MES、HIS和100 mmol L1 18‐冠醚‐6(均来自西格玛奥德里奇)储备液稀释配制而成。十六烷基三甲基溴化铵(CTAB,西格玛奥德里奇)用5%乙腈配制成10 mmol L1储备液,并加入BGE中,使其最终浓度为30 mmol L1。
标准溶液由氯化铵、氯化钠、亚硝酸钾、氯化钙、硝酸镁、氯化锂(均来自Sigma‐Aldrich)配制为10 mmol L1的储备液,并用去离子水稀释至所需浓度。皮肤擦拭样本直接进行样品注入,自来水样品在注入前用去离子水稀释1:10。
3. 结果与讨论
3.1. 软件和Arduino集成开发环境
为了实现数据采集设备与计算机,存在许多协议,如SPI、I2C和UART。I2C协议的优点[29]在于其实验操作更简单,因为它仅使用两根导线在设备之间传输数据。然而,数据帧的大小限制为8位(后跟应答/非应答位),因此其数据传输速率比SPI慢。另一方面,使用SPI协议[30],可以不间断地传输数据,并且可以在连续流中发送或接收任意数量的位。SPI协议的优点是数据传输速率高于I2C。来自DAQ的输入数据可以通过Arduino集成开发环境中的串口监视器/串口绘图器进行实时监控。Walkoviak等人[31]展示了一种通过Parallax公司提供的Excel宏插件,利用MS Excel通过串行通信记录数据的简便方法[32]。这个免费的PLX‐DAQ宏可有效将微软Excel用作可视化终端,实时绘制屏幕上的数据,并同时将数据直接记录到Excel工作表列中。这通过在Arduino集成开发环境中添加几行源代码并在测量期间运行Excel宏来实现。用于与PLX‐DAQ宏通信的特定代码部分(改编自参考文献)<v19}已在源代码中标注。测量数据随后可根据需要进行处理。图S1在补充材料中展示了PLX‐DAQ记录电泳图谱时的打印屏幕。PLX‐DAQ的下载、安装和使用说明也一并提供。
3.2. 对位分辨率、测量尺度和噪声的要求
分辨率、测量电压范围、数据采样频率和噪声是在构建开源数据采集系统时需要考虑的最重要参数。模数转换器的分辨率决定了其在允许的模拟输入值范围内可产生的离散电平(即电压电平)数量。分辨率与测量范围相结合,决定了“本征噪声”的大小以及理想模数转换器的最大可能信噪比。对于10位模数转换器,离散电平数量为1024,而对于16位、18位和24位模数转换器,分别有65536、262144和16777216个电平。默认情况下,大多数模数转换器的测量范围为 ±4 V。因此,在相同的 ±4 V范围内,10位模数转换器的最佳分辨率为约8 毫伏,而16位和24位模数转换器的分辨率则分别在122 毫伏到0.5 毫伏之间。本实验室中使用的毛细管电泳检测器(两种类型的C4D、一种紫外‐可见光检测器)的噪声水平在5e300 毫伏范围内,工作范围为 ±5 V或 ±1 V。因此,Arduino Nano内置的10位模数转换器的分辨率在本研究中的任何预期应用中均不足够。此外,当模数转换器的本征噪声高于检测器的噪声时,信号将受到一定程度的影响。补充材料中的图S2显示了通过连接带分压器的电池至模数转换器输入端,在5分钟时间间隔内测得的三种不同模数转换器(ADS 1115、MCP 3424、LTC 2400)以及商用ORCA 2800 数据采集系统的未滤波本征噪声,所施加电压约为200毫伏。数字噪声是从这些图中可以明显看出,尤其是对于ADS 1115和MCP 3424芯片(1 6到18位分辨率)。16位模数转换器ADS 1115的噪声为122 mV,18位模数转换器MCP 3424的噪声约为30 mV。该噪声等于根据16位和18位模数转换器的理论分辨率以及电压范围 ±4V和 ±2 V计算出的值。24位 LTC 2400和商用24位数据采集设备ORCA 2800的噪声显著更低(噪声分别为约10和3 mV),这是由于所用模数转换器具有24位分辨率。在这种情况下,并未达到LTC 2400(电压范围±4 V)理论噪声0.5 mV或 ORCA 2800(电压范围 ±10 V)理论噪声1 mV的理论值。造成噪声高于理论值的最可能原因是整个电路的噪声高于模数转换器的理论本征噪声。
要将测得的噪声降低至理论值,可能需要改进PCB屏蔽。然而,这超出了本文的范围,因为我们在实验室中使用的大多数检测器具有明显更高的背景噪声。
3.3. 通过在源代码中使用移动平均来改善噪声
为了改善噪声性能,我们采用了一种移动平均(MA)方法,该方法对在线数据计算简单的移动平均,并通过任一种通信协议将平滑后的信号发送到USB端口。通过这种方式,可以在保持数据分辨率的同时降低本征噪声。图S3在支持信息中展示了不同MA周期(1至20)下各 ADC模块的本征噪声改善情况。最显著的改善出现在1点到10点移动平均之间。使用更高的MA周期会导致电泳图中的峰分辨率损失,因此选用10点移动平均作为合适的折衷方案。然而,如有需要,可在源代码中轻松更改MA的点数。图3显示了使用10点移动平均时所开发的数据采集设备之间本征噪声的比较结果。对于所有数据采集设备,均使用最高可用电压范围以进行直接比较。从图3可以看出,在构建的数据采集系统中,具有最高位分辨率的模数转换器(LTC 2400,24位分辨率)在使用 ±4 V全量程时表现最佳。其噪声水平与商用24位数据采集设备( ORCA 2800)相当,而MCP 3424的噪声约高出4倍,ADS 1115的噪声则大约高出20倍。各个所开发的
通过使用最低测量范围可以降低数据采集设备的噪声。对于采用I2C通信协议的模数转换器,可以在源代码中通过选择相应的增益来实现,可选的最小电压范围为±0.256 V。LTC 2400的电压范围选择只能通过物理更换外部参考电压实现,被认为没有必要。 表2 列出了每种数据采集设备所达到的相应噪声幅度,单位为mV。
| 模块 | 移动平均计算中的周期数 |
|---|---|
| 1 | |
| ADS 1115a | 125 m V |
| MCP 3424a | 16 m V |
| LTC 2400b | 11 m V |
| ORCA 2800b ,c | 4 m V |
表2 本研究中使用的模数转换模块可实现的最小噪声。
a 这些转换器的电压范围在源代码中被设置为可用的最高范围,即ADS 1115为 ±4.096 V,MCP 3424为 ± 2.048 V。 b LTC 2400的电压范围为 ±4.096 V,ORCA 2800为 ±10.0 V。 c 根据事后测量数据计算了给定周期(5e20)的移动平均。
数据采集设备的噪声性能在使用移动平均后得到了显著提升,尤其是在10点移动平均时达到了最佳平衡。对于基于I2C协议的模数转换器(ADS 1115和MCP 3424),可通过调整增益来降低测量范围,从而进一步减小噪声。而LTC 2400由于依赖外部参考电压设定量程,灵活性较低,但其本身在±4.096 V下的噪声表现已接近商用设备。
3.4. 使用自制C4D进行常见阳离子的毛细管电泳分离
为了测试开发的数据采集设备,使用了带有自制C4D的毛细管电泳装置。该检测器的噪声非常低,为5–10 mV。如此低的噪声无法被低分辨率位数(低于18位)的DAQ设备记录,因为它们的“本征噪声”明显高于仪器检测器噪声。在图4的左侧面板中,比较了使用不同DAQ设备对六种无机阳离子的相同分离结果。图4的右侧面板表明,16位ADS 1115产生的“数字噪声”高于检测器噪声,可能影响数据评估。另一方面,MCP 3424和LTC 2400的信号表现良好,其性能可与商用24位 DAQ设备ORCA 2800相媲美。数据采样频率对峰分辨率的影响也在左侧面板中可见(补充材料,图S4提供了放大图)。MCP 3424的采样频率仅为3.75 Hz,结合移动平均平滑后,显著影响了相邻峰(Ca²⁺、Na⁺、Mg²⁺)之间的分辨率。计算得到的峰[34]的分辨率(R_Ca-Na 和 R_Na-Mg)分别为1.5和1.6。使用ADS 1115和LTC 2400测得的相应R_Ca-Na和R_Na-Mg分别为1.9/1.9和1.8/2.1。使用商用DAQ设备ORCA 2800测得的R_Ca-Na和R_Na-Mg相似,为2.2/2.2。
3.5. 毛细管电泳实验中信噪比(S/N)的比较
最后,我们计算了所有使用的数据采集设备的信噪比。表3中列出的数据表明,与24位数据采集设备相比,使用16位模数转换器(ADS 1115)时的信噪比约低7倍。24位LTC 2400的信噪比与ORCA 2800商用数据采集设备相当(LTC 2400的信噪比仅低25%)。18位模数转换器的性能介于两者之间;然而,其缺点是采样频率较低,仅为3.75 Hz,这会导致分辨率下降,如前所述。
| 模块 | 信噪比(S/N)平均值 |
|---|---|
| NH₄⁺ | |
| ADS 1115a | 53 |
| MCP 3424a | 162 |
| LTC 2400b | 298 |
| ORCA 2800b | 375 |
表3 不同数据采集设备的信噪比(S/N)计算。
a 这些转换器的电压范围在源代码中被设置为最高可用范围,即ADS 1115为 ±4.096 V,MCP 3424为 ± 2.048 V。
b LTC 2400的电压范围为 ±4.096 V,ORCA 2800为 ±10.0 V。
3.6. 临床和环境样品的分析
为了展示所开发的数据采集设备的适用性,我们分析了两类样品中的阳离子和阴离子被分离。图5 显示了皮肤擦拭样本的分析结果,该样本可作为囊性纤维化[35]患者诊断中使用的传统汗液样本的替代物,并在水龙头中水样。相同的背景电解质可用于阴离子和阳离子的分离,且无需对系统进行修改,系统无需改动。对于阳离子和阴离子分析,样品分别从阳极侧和阴极侧进样。图5 表明,所开发的24位LTC 2400数据采集设备性能与商用高端24位数据采集设备相当,因此可以互换使用。
4. 结论
本研究中,我们基于低成本Arduino Nano微控制器及相应的 ADC模块构建了多种数据采集设备。我们提供了所有源代码和电路图,使广大分析化学家能够自由地构建、使用和修改所开发的设备。所构建的基于Arduino的数据采集系统,特别是24位LTC 2400的DAQ在性能上可与商用高端DAQ设备相媲美,但成本仅为后者的几分之一。其优异性能已在毛细管电泳系统中得到验证,该系统采用自制的C4D,以六种阳离子的分离作为模型示例,并对临床皮肤擦拭样本和自来水样品中的无机离子进行了分离分析。基于 Arduino的数据采集系统的应用不仅限于毛细管电泳,还可扩展至其他任何分离技术,如高效液相色谱或气相色谱,或其他类型的分析仪器。
基于Arduino的数据采集系统的一个缺点是只能采用固定的采样频率(取决于Arduino与USB端口之间的数据传输速度)。性能最佳的模数转换器LTC2400与Arduino Nano的总价低于50美元,而商用DAQ设备的价格通常为500至1000美元,因此其在任何分析实验室中的应用都极为经济实惠。我们进一步鼓励具备更深入编程知识的研究人员,将本文介绍的开源硬件扩展为开源的简易数据评估软件,使其能够从微软 Excel中的采集数据计算出所有必要的分离参数。

8323


被折叠的 条评论
为什么被折叠?



