基于生化仪温度控制的电流检测系统设计
Design of Current Detection System Based on Temperature Control of Biochemical Instrument
摘要: 基于生化分析仪的温度控制,本文设计了一款高精度的电流检测系统。该设计主要包括电流检测系统的硬件电路、软件程序及温度控制算法。硬件内容包括温度及电流检测电路、制冷模块、CAN通信模块、显示模块。使用KEIL MDK软件开发电流检测系统的主控程序,温度控制算法采用增量式PID算法。通过多次测试验证相关参数,文中设计的基于温度控制的电流检测系统能够准确计算当前电流值与仪器温度值,及时准确与上位机(PC)通信。文中设计的温度范围控制在7℃~13℃,测量精度±0.1℃,相对应的电流初始值大约在3000 mA左右,测量精度±1 mA;可调节相应参数适用于其他场合。
Abstract: Based on the temperature control of the biochemical analyzer, a high-precision current detection system is designed in this paper. The design mainly includes the hardware circuit, software program and temperature control algorithm of the current detection system. The hardware content includes temperature and current detection circuit, refrigeration module, CAN communication module, display module. Use KEIL MDK software to develop the main control program of the current detection system. The temperature control algorithm adopts PID algorithm. Through multiple tests to verify the relevant parameters, the current detection system based on temperature control designed in the article can accurately calculate the current value and the instrument temperature value, and communicate with the upper computer (PC) in time and accurately. The temperature range designed in the article is controlled at 7˚C~13˚C, the measurement accuracy is ±0.1˚C, and the corresponding current value is about 3000 mA, the measurement accuracy is ±1 mA. The corresponding parameters can be adjusted for other occasions.
文章引用:王波, 毕敬迪, 朱立国, 李爱玲. 基于生化仪温度控制的电流检测系统设计[J]. 传感器技术与应用, 2021, 9(4): 247-255. https://doi.org/10.12677/JSTA.2021.94030

1. 引言

生化仪是一种通过光电比色原理来分析体液中化学成分的仪器,主要用于临床医学。在样品测试过程中,试剂及样品需要在特定的低温条件下进行保存且需要便于操作人员操作,因此温度控制显得尤为重要。而现有的生化仪器制冷模块在工作过程中易出现制冷片损坏、线路故障等安全性问题,基于以上因素,本文设计了一种基于生化仪温度控制的电流检测系统 [1] [2],从硬件层面设计了电流检测系统的主控电路板,具有较为精确的电流检测及温度控制功能。该文从温度控制及电流控制算法角度,设计增量式PID算法进行生化仪器温度及电流检测控制。充分利用了嵌入式芯片的计算能力,且具有时效性、计算精度高的特点。

2. 电流检测系统总体方案设计

文中基于生化仪温度控制的电流检测系统 [3] 根据嵌入式理论设计,如图1所示,上位机通过网口发送获取电流检测值及温度值的命令给中位机,中位机接受命令后通过CAN通信下发命令给电流检测模

Figure 1. Current detection system

图1. 电流检测系统

块,电流检测模块主控根据指令采集分析相应数据返还给上位机,通过ISP实现对应用程序的更新。相应的,电流检测模块通过控制继电器通断从而间歇控制多个制冷片进行制冷,循环泵通过管路输送制冷液进行大面积制冷,同时多点温度传感器经过运放电路输出模拟量给电流检测模块主控进行分析计算,相应的,显示模块可显示当前生化仪仪器及环境温度值。根据PID算法 [4] [5],可将制冷温度控制在一定范围内,且检测一定范围内电流值,从而达到相应故障或问题报警的检测。

3. 系统硬件单元设计

3.1. 电流检测MCU选取

该系统设计综合硬件、软件及实际应用环境,选用STM32f103r8t6作为主控芯片,STM32系列专为要求性能高、低成本、低功耗的嵌入式设计的ARM,以最小的硬件化来实现不同的设计要求。

STM32f103r8t6单片机 [6] 采用Cortex-M3内核,快速闪存记忆体高达128千字节和20字节SRAM,具备多种外设接口及先进高级的通讯接口。相比51系列、AVR系列单片机,该单片机功能强大且更加经济实惠、易于操作,拥有更高效的代码效率。本次设计,采用64 KB Flash,工作电压2.0~3.6 V,工作温度在−40℃~+85℃,能够快速分析采集的相关数据。

3.2. 电流检测原理与电路设计

电流检测通常分为运放加检测电阻式、电流互感器式、模块式霍尔电流传感器式、隔离放大器加检测电阻式,以上方式存在测量精度低、成本高、外围电路复杂等问题。基于以上问题考虑,文中采用的是Allegro的霍尔传感器ACS712-30A为主要电流检测芯片的电路设计,ACS712芯片是一种准确、实时检测线路电流的线性霍尔传感元件。

该芯片完全基于霍尔感应的原理设计,根据电磁感应原理,当外界电流流经铝箔时,霍尔元件感应出一个电压信号,电压信号经过内部放大、滤波、斩波与修正电路,输出一个较为精确的电压信号,按照输入输出电压值的计算公式 V out = 0.5 V cc + I P S ensitivity 可计算出该回路中电流的大小,其中 V out 为输出电压, V cc 为输入电压, S ensitivity 为器件精度, I P 为回路电流。该器件工作范围为−40℃~+85℃,图2(a)为输出电压与待测电流的特性关系,图2(b)为灵敏度与待测电流的关系。

(a) (b)

Figure 2. (a) The relationship between the output voltage and the current to be measured; (b) The relationship between sensitivity and current to be measured

图2. (a) 输出电压与待测电流的关系;(b) 灵敏度与待测电流的关系

基于上述原理,本次设计的电流检测电路 [7] [8] 部分如图3所示,电流检测芯片采用ACS712线性霍尔传感元件,TEC1-I为电流输入端,IP-I为电流输出端,cool1为电压输出端,接单片机PC0引脚,进行电压数据分析,从而计算出被检测电流的大小。

Figure 3. Current detection circuit

图3. 电流检测电路

3.3. 温度传感电路

本次设计的温度传感电路 [9] 部分如图4所示,温度传感器PT100根据温度变化改变自身阻值,经过分压经过LM358双运算放大器输出相应的电压值,AD1引脚接单片机PA4引脚,进行电压数据分析。

Figure 4. Temperature acquisition circuit

图4. 温度采集电路

3.4. 制冷模块电路

本次设计制冷模块 [10] 电路如图5所示,TEC4-I接ACS712元件电流输入端,TEC4-POW接半导体制冷片,TEC4-OUT接74hc14芯片,进行信号的反向及缓冲,图中P7为直流继电器 [11],由MCU控制其通断来实现制冷片间歇性工作,以及故障发生时制冷片线路的及时切断,防止意外发生。

3.5. CAN总线通信

STM32芯片支持CAN通信接口,如图6所示,文中采用电容式隔离CAN总线收发器为ISO1050,此收发器符合或者优于ISO11898-2标准的技术规范,最高工作频率为1 Mbps,为了避免信号的反射与干扰,在信号线之间加120 Ω终端电阻。

Figure 5. Refrigeration module circuit

图5. 制冷模块电路

Figure 6. CAN communication principle diagram

图6. CAN通信原理图

4. 系统软件单元设计

4.1. 软件设计流程

软件设计 [12] 流程包括从温度及电流模拟量采集到输出数字信号的整个控制流程,其流程图如下图7所示。程序功能主要有以下几部分组成:

1) 初始化系统:各使能定时器的初始化,及各初始参数值的设置。

2) 数据采集:该部分程序主要完成由于温度变化而引起的PT100阻值变化,从而输出相应的电压信号;以及在霍尔传感器下检测电流值变化感应输出的电压值变化,并将数据上返给单片机进行相应的数据处理。

3) 继电器控制:主要通过控制直流继电器 [13] 进行对制冷片的控制,将继电器的控制引脚进行高低电平置位,从而控制制冷片的工作状态及工作时间,实现间歇式制冷。

4) 数据显示:该部分由数码管进行相应仪器温度及环境温度的显示,以及上位机获取制冷界面的电流值与环境、仪器温度显示。

5) PID控制算法

4.2. PID增量式算法

比例–积分–微分控制算法 [14] (proportation-intergal-differentinal, PID)控制输出的模拟微分方程为

U ( t ) = K p [ e ( t ) = 1 / T 1 0 t e ( t ) d t + T D ( d e ( t ) / d t ) ] (1)

Figure 7. System flow chart design

图7. 系统流程图设计

式中 T D 为微分时间常数, T 1 为积分时间常数, K p 为比例放大系数, e ( t ) 为反馈偏差值, U ( t ) 为输出信号。PID控制的传递函数表达式为

G ( s ) = K p + K p T 1 S + K p T D S (2)

由于计算机是一种采样二进制控制,只能根据采样的偏差值计算控制量,因此,必须对(1)式进行离散化处理,将连续系统转换为离散系统,用数字形式的差分方程代替连续系统的微分方程,本文研究的电流检测系统中温度控制部分属于位置型PID控制算法,公式如下

0 t e ( t ) d t + T s i = 0 k e ( i ) , d e ( t ) d t = e ( k ) e ( k 1 ) T s (3)

则可得到离散化公式表达式为

U ( k ) = K p [ e ( k ) = T s / T 1 i = 0 k e ( i ) + T D ( e ( k ) e ( k 1 ) ) / T s ] = K p e ( k ) + k 1 i = 0 k e ( i ) + K D [ e ( k ) e ( k 1 ) ] (4)

式中k为采样点, k = 0 , 1 , 2 , e ( k ) 为第k次采样偏差值; U ( K 1 ) 为调节器第K次采样输出值, e ( k 1 ) 为第 k 1 次采样偏差值; T s 为采样周期, K p 为比例放大系数。

基于以上PID算法理论,该系统温度调节PID算法程序部分如下:

u16 Pid_realize(u16 actual_ad)

{

Pid_Auto.Actual_advalu=actual_ad;//读取的电压值

Pid_Auto.err=Pid_Auto.Set_advalue-Pid_Auto.Actual_advalue; //计算当前偏差,即设定值与实际值的偏差if(Pid_Auto.Actual_advalue>Pid_Auto.umax)//控制量值限制

Pid_Auto.Actual_advalue=Pid_Auto.umax; if((Pid_Auto.Actual_advalue>Pid_Auto.umin)&&(Pid_Auto.Actual_advalue

{Pid_Auto.ad_voltage=Pid_Auto.Kp*(Pid_Auto.err-Pid_Auto.err_next)+Pid_Auto.Ki*Pid_Auto.err\+Pid_Auto.Kd*(Pid_Auto.err-2*Pid_Auto.err_next + Pid_Auto.err_last);//PID温度算法

Pid_Auto.err_last=Pid_Auto.err_next;

Pid_Auto.err_next=Pid_Auto.err; //依次将偏差值赋给上一个

if(Pid_Auto.ad_voltage>20)//增量值限制

Pid_Auto.ad_voltage=20;

Pid_Auto.Actual_advalue+=(int)Pid_Auto.ad_voltage;//计算实际的电压值:读取的电压值 + 增量值}

returnPid_Auto.Actual_advalue;//返回实际电压值}

5. 制作与调试

5.1. 实物制作

基于系统的二整体设计方案与软件仿真的原理图设计,生成3D PCB进而完成实物制作,实物显示制冷温度与上位机软件显示电流检测数据如图8图9所示。

Figure 8. Current detection system display

图8. 电流检测系统显示

Figure 9. Upper computer software design

图9. 上位机软件设计

5.2. 实验数据分析

使用电容电流测试仪、万用表及该电流检测系统,每隔半个小时测一次电流,多次测量正常工作状态下制冷片的电流值后取均值;在PID算法温度控制下,每达到相同温度,多次测量正常工作状态下制冷片的电流值后取均值。数据如下表1图10所示。

Table 1. Data of measured current values at different times

表1. 不同时间测量电流值数据

由上表分析可知,电流检测装置每隔半小时所测得的电流值大小与其他测量仪器数值基本一致,误差在±1 mA左右。由此,可以得出文中电流检测系统较为稳定,数据较为准确,且误差范围较小。其中电流单位均为mA,时间间隔为0.5 h。

Figure 10. Current values measured at different times at the same temperature

图10. 相同温度不同时间测量电流数值

该装置将仪器温度控制在7℃~13℃左右,由上图数据分析可知,当温度相同时不同时间段电流检测装置所测量的数据基本一致,误差范围在±5 mA左右。由此,可以得出该电流检测装置系统具有较高的测量精度,稳定可靠。其中,横轴代表不同时间点,单位为h;纵轴代表相应电流值,单位为mA;三条折线分别代表7℃、10℃、13℃的温度。

6. 结论

本文设计了一种基于温度控制的电流检测系统,该系统能够对仪器及环境温度进行实时检测、反馈及温度可控,更重要的是在此基础上,加入了电流检测功能,能够实时高效的对仪器制冷部分进行电流检测,该系统响应速度快、数据误差范围较小,能够有效的防止生化仪器在制冷过程中出现制冷片损坏、线路故障而引发的事故,有利于安全隐患的预防及仪器问题排查,具有较高的使用价值及推广价值。

参考文献

[1] 张心怡, 官文亮, 梅政. 电流检测装置[J]. 电子制作, 2018(21): 62-64.
[2] 王仲夏, 章浩, 陈黎明. 基于单片机的电流检测装置的实现[J]. 黑龙江工业学院学报(综合版), 2019, 19(2): 25-28.
[3] 吕英俊, 于佩玲, 张广林, 刘卓伟. 基于STM32的密闭系统温度控制研究[J]. 舰船控制系统, 2018(5): 123.
[4] 刘吉明, 白小峰, 何世安. 基于位置式PID温控系统设计[J]. 环境技术, 2020, 38(6): 1-3.
[5] 戴世纪, 王仲根. 基于Smith预估型模糊PID温度控制系统的设计[J]. 重庆工商大学学报, 2020, 37(6): 2-3.
[6] 杨乔木, 李立伟, 杨玉新, 王凯. 基于STM32的电池管理系统主控单元设计[J]. 电子设计工程, 2021, 29(1): 1-2.
[7] 黄平, 张宇飞. 电流检测装置[J]. 南方农机, 2018, 49(20): 134.
[8] 张铭郎, 郭昭莉, 袁申, 何英昊, 蒋邵君. 基于单片机的电流检测装置[J]. 物联网技术, 2019, 9(5): 2-3.
[9] 郑文豪, 赵鹏, 李刚. 基于单片机的温度控制系统设计[J]. 电子制作, 2019(11): 1-3.
[10] 胡国喜. 半导体制冷技术及应用路径研究[J]. 电子制作, 2020(9): 2.
[11] 苏晨. 基于单片机的数字式通电延时时间继电器设计[J]. 电子技术与软件工程, 2018(18): 232-233.
[12] 李佳升, 熊洁, 阳磊. 基于FFT电流检测装置设计[J]. 湖南城市学院学报, 2020, 29(6): 1-6.
[13] 凌思睿, 曹纯, 郑鑫. 具有副负载电流检测的高速固态继电器接口电路设计[J]. 计算机测量与控制, 2020, 28(9): 1-5.
[14] 佘子敬, 肖程望, 吴建学. 基于PID算法改进的光模块设计与实现[J]. 计算机技术与自动化, 2018, 3(2): 6.