计算机系统应用  2018, Vol. 27 Issue (2): 37-43   PDF    
基于STM32的太阳能光热实验系统
管立伟1,2, 李正念1, 廖全当1, 卢宇1,2, 黄志平1,2, 任建明1     
1. 福建师范大学 物理与能源学院, 福州 350117;
2. 福建省量子调控与新能源材料重点实验室, 福州 350117
摘要:采用STM32设计实现了一种太阳能光热实验系统, 介绍了系统的构成及功能, 给出系统终端软、硬件系统设计. 分析了温度传感器PT1000调理电路、AD转换及隔离电路、人工光源调光电路等单元电路的结构和工作原理. 架构了多任务的软件体系, 采用最小二乘法对温度实测数据进行分段线性化拟合, 并引入误差评估原理来确定适用于PT1000的最佳校正方程. 相关技术已应用于福建师范大学新能源工程中心的太阳能光热实验教学系统中, 实际应用表明, 该终端的性能指标满足设计要求.
关键词: STM32    太阳能光热实验系统    多任务    最小二乘法    
Solar Thermal Experimental System Based on STM32
GUAN Li-Wei1,2, LI Zheng-Nian1, LIAO Quan-Dang1, LU Yu1,2, HAUNG Zhi-Ping1,2, REN Jian-Ming1     
1. College of Physics and Energy, Fujian Normal University, Fuzhou 350117, China;
2. Fujian Provincial Key Laboratory of Quantum Manipulation and New Energy Materials, Fuzhou 350117, China
Abstract: This study designs and realizes the solar-thermal experiment system based on STM32. It introduces the structure and function of the system as well as the design of hardware and software of the system terminal. It analyzes the operation principles and circuit structures of the functional circuits in the solar-thermal experiment system, which consists of the temperature sensor PT1000 modulation circuit, AD conversion and isolation circuit and artificial light dimmer circuit unit. The paper proposes an architecture multitasking software system, using the least squares fitting method for piecewise linearization of the measured temperature data, and introduces the error evaluation principle to determine the best suitable for PT1000 correction equation. The related technology has been applied to solar-thermal experimental teaching system of New Energy Engineering Center of Fujian Normal University. The application shows that the terminal performance indicators meet the design requirements.
Key words: STM32     solar thermal experimental system     multitask     least squares    

太阳能专业人才的稀缺一直是制约太阳能行业快速健康发展的最大瓶颈, 同时各高校所开展的新能源相关课程和教学模式还不成熟, 配套的教学设备和实验仪器稂莠不齐, 亟待规划和开发. 本课题组研制的面向集群应用的太阳能热水工程测控与管理系统, 已经实现了异地可视化监控与管理太阳能热水系统[1], 该系统已应用于多个太阳能热水工程项目中, 取得良好的社会和经济效益. 为帮助学生学习和理解太阳能光热系统的原理和提高工程应用动手实践能力, 特研制太阳能光热实验教学系统. 发明专利(授权公告号CN103606325B)设计一种太阳能光伏发电综合实验平台[2], 无法应用于太阳能光热方面的教学和研究. 实用新型专利(授权公告号CN 205881277 U)提出一种可移动式光伏光热一体化实验实训系统[3], 在室内进行模拟实验时无法对人工光源进行调节. 本文设计一种基于STM32的太阳能光热实验系统, 通过人工光源结合调光模块来模拟太阳光, 能够实时获取并通过触摸屏显示系统监测点的温度、水位、光照度和水表累计值等信息, 测温精度在0 ℃~90 ℃范围内优于±0.1 ℃, 通过上位机软件实现系统数据的自动存储处理、图表显示和报表打印, 为系统热性能检测和能效指标评估提供便捷的测试环境, 具有重要的应用价值.

1 系统构成

系统结构框图如图1所示, 主要由系统微处理器STM32F103VCT6、传感器模块、人工光源调光模块、存储模块、触摸屏显示模块、通信模块和执行模块等组成. 传感器模块采集温度、水位、光照度等信息并送到微处理器, 经过相应的控制算法处理获得系统控制逻辑, 通过执行模块完成水泵、电磁阀等设备的控制. 在实验室内通过人工光源结合调光模块来模拟太阳光, 满足光热实验对光照度的不同需求. SD卡存储模块通过SDIO总线与微处理器连接, 存储太阳能光热实验系统历史数据. 触摸屏显示模块显示温度、水位、光照度和水表累计值等信息, 可进行系统运行参数配置. 远传水表通过M-BUS与微处理器通讯, 为能耗评估提供数据支持. 通过RS485与上位机软件通信, 进行参数显示和初始化配置, 并实现系统数据的自动存储处理、图表显示和报表打印等功能.

图 1 太阳能光热实验系统组成框图

2 硬件设计 2.1 温度传感器PT1000调理电路

恒流源驱动电路负责驱动温度传感器PT1000, 将温度变化产生的电阻信号转换成可测量的电压信号. 由于集成运放相比较晶体管或场效应管参数受温度影响较小, 由集成运放构成的恒流源具有较好恒流性能和稳定性[4]. 采用图2所示的双运放恒流源, 其中放大器U15U17构成加法器, U14U16构成跟随器, 放大器均选用开环增益高、低噪声和低温漂的双极性运算放大器OPA277[5]. A/D转换电路与恒流源驱动电路采用同一低温漂、低噪声的电压基准ADR421[6], 测量结果不受电压基准漂移的影响.

图2中参考电阻Rref上端、下端的电位分别为U1U2, U2为同相加法器U15的输出, 当取R223=R225, R224=R226时, 则U2=U1+Uref, 所以恒流源的输出电流为:

$I = \left( {{U_2} - {U_1}} \right)/{R_{{\rm{ref}}}} = {U_{{\rm{ref}}}}/{R_{{\rm{ref}}}}$ (1)
图 2 温度传感器PT1000调理电路

放大器U16对温度传感器Rpt(PT1000)和零度电阻的端电压进行单位放大后送到TM7705差分输入的正向输入端, 其值为

${V_{{\rm{out1}}}} = I\left( {{R_{\rm{pt}}} + {R_{\rm{z}}}} \right)$ (2)

放大器U17对零度电阻Rz的端电压放大2倍后送到TM7705差分输入的反向输入端, 其值为

${V_{\rm{out2}}} = 2I{R_{\rm{z}}}$ (3)

其中零度电阻Rz采用电位器粗调和细调相结合的方式.

该驱动电路具有以下特点:

(1)恒定电流I的大小可以通过调整参考电阻Rref大小或改变电压基准Uref来调整, 易得稳定的小电流.

(2)使用电位器调节电路且是粗调与细调相结合的方式, 采用R228、R229、RP5和RP6代替参考电阻Rref, 降低恒流源精度对温度数据采集精度的影响.

2.2 A/D转换及隔离电路

A/D转换及隔离电路主要由16位高精度A/D转换器TM7705和隔离芯片ADUM5401组成, 如图3所示, TM7705通过SPI接口与MCU连接. 采用A/D的差分输入可有效降低环境噪声和直流误差, 具有完整模拟前端, 可直接测量信号调理电路过来的微弱的模拟信号, 简化电路使本系统测量精度达到要求. 由于微处理器数字输出存在高频噪声, 跟AD直接相连易引入噪声降低AD转换精度, 为此本设计采用数字隔离器ADUM5401来进行隔离. 信号调理电路的输出接AD-通道的差分输入端得:

${V_{\rm{out1}}} - {V_{\rm{out2}}} = I\left( {{R_{\rm{pt}}} - {R_{\rm{z}}}} \right)$ (4)

即PT1000两端电压相对PT1000在0 ℃时的电压变化量.

图 3 A/D转换及隔离电路

2.3 人工光源调光电路

要控制的对象是50 Hz的正弦交流电, 通过光耦取其过零的信号(同步信号), 将这个信号送至STM32的外部中断, STM32每接收到这个同步信号后启动一个延时程序, 延时的具体时间由触摸屏或者上位机来改变. 当延时结束, 单片机产生触发信号, 通过触发信号让可控硅导通使灯发光. 延时越长, 亮的时间越短, 灯的亮度越暗. 同步信号采样电路如图4所示, 可控硅触发电路如图5所示.

主电源导通区间、同步信号和触发信号时序关系如图6所示, 图中阴影部分表示可控硅的导通区间, 它的大小定了灯的亮度. 改变延时时间可改变触发信号和同步信号的相位关系, 也改变了可控硅的导通区间的大小, 达到调光的目的.

图 4 同步信号采样电路

图 5 可控硅触发电路

图 6 主电源导通区间、同步信号和触发信号时序图

3 软件设计 3.1 多任务架构体系

借鉴计算机分时处理和Windows系统事件驱动等思想, 构建多任务软件框架[7,8]. 太阳能光热实验系统的多任务架构设计是根据实验系统实际需求, 将系统要实现的功能划分为多个任务模块, 如时间事件(秒事件, 分事件等)处理、串口通信数据处理、实时数据采集任务、控制任务、水表数据采集任务和LED指示灯任务等. 采用事件/消息驱动机制, 按不同优先级别来给不同的任务模块分配MCU的控制权, 各个任务模块在相应的执行时间范围内访问MCU. 软件的多任务驱动机制流程如图7所示, 主程序循环以标志位控制为主, 根据标志位的状态来确定任务能否访问MCU, 即标志位相当于事件消息.

图 7 STM32多任务流程框图

3.2 曲线拟合

根据铂电阻温度特性, 当工作温度在0 ℃~850 ℃时, PT1000阻值与温度的关系为

$R = {R_0}\left( {1 + at + b{t^2}} \right)$ (5)

式中R0为0 ℃时的阻值, R为温度t时的阻值, a=3.90802×10–3–1, b=–5.802×10–7–2[9]. 可看出温度与阻值不是线性关系, 应采用分段线性化处理来提高温度测量精度, 得到各温度段的AD-t测温多项式(AD为A/D采样值, t为温度), 将PT1000、信号调理及A/D转换作为一个整体进行补偿, 可得到比拟合电阻-温度R(t)特性曲线更高的测温精度[5].

3.2.1 温度与AD值关系式的拟合

用自主研制的硬件采集用于拟合AD-t测温多项式的原始数据, 将恒温油槽作为温度场, 记录A/D的采样数据. 实验中测取了0 ℃~90 ℃温度段共900多组数据, 每隔0.1 ℃为一个温度采样点, 在同一温度点连续采样10次, 对每个采样点进行数字滤波处理, 剔除10个数据中最大值和最小值, 该温度采样点的最终采样值取剩下8个数据的平均值. 表1为测取得的部分数据, 样本1: 44.0 ℃~44.9 ℃, 样本2: 55.0 ℃~55.9 ℃, 样本3: 60.0 ℃~60.9 ℃, 样本4: 64.0 ℃~64.9 ℃.

3.2.2 拟合结果评估

本文利用最小二乘法对曲线进行拟合并求出校正方程, 利用MATLAB中的内置函数Polyfit(T, R, n)对PT1000温度传感器的实测数据进行一次、二次、三次、四次拟合, 其中T为实测温度, R为实测温度所对应的AD值, n为多项式的拟合次数. 为了评价拟合曲线与实际测量数据之间的误差, 可以采用绝对误差EABS、算术平均误差EAVE和均方差ESTD进行评估[10,11], 其中

表 1 部分原始数据

$\begin{array}{l}{E_{\rm{AVE}}} = \displaystyle\frac{1}{N}\sum\limits_{i = 1}^N {\left| {{y_i} - f\left( {{x_i}} \right)} \right|} = \displaystyle\frac{{\sum {\left| {{E_{ABS}}} \right|} }}{N}\\[8pt]{E_{\rm{ABS}}} = {y_i} - f\left( {{x_i}} \right)\;\left( {1 \le i \le N} \right)\\[6pt]{E_{\rm{STD}}} = \sqrt {\displaystyle\frac{1}{{N - 1}}\sum\limits_{i = 1}^N {{{\left| {{y_i} - f\left( {{x_i}} \right)} \right|}^2}} } \end{array}$ (6)

式中yi是实际测量值, f(xi)是各个校正方程的拟合值, N为实际测量数据的个数. 绝对误差EABS越平稳, 证明该校正方程的精度越高. 算术平均误差EAVE和均方误差ESTD越小, 表示校正方程越理想.

图8可以直观的看出PT1000温度传感器对四个样本温度段采用一次校正方程进行校正时, 绝对误差EABS的震荡较大; 对于二次、三次、四次拟合时, 使用绝对误差不太容易评估优劣. 因此, 通过对PT1000温度传感器在此3种拟合方式下的算术平均误差EAVE和均方误差ESTD进行对比, 以便评估出适用于PT1000的最佳校正方程, 如表2所示.

图 8 4个样本温度段不同拟合方式下的绝对误差曲线

表2可以看出, 4个样本点都是四次校正方程的算术平均误差EAVE、均方误差ESTD最小, 所以可以确定出各个样本温度段经过四次拟合的校正方程是适用于PT1000的最佳校正方程. 其中在44.0 ℃~44.9 ℃的测温范围内, 适用于PT1000的最佳校正方程如下:

${{A_t}}=0.000004071x^4-0.0268456654x^3+66.387343741x^2-72966.564934675x+30071195.59296616$ (5)
表 2 不同校正方程下的拟合误差

4 系统测试

在实验室内安装本系统, 系统的测试平台如图9所示, 对系统进行整体测试, 采用触摸屏来近程配置和显示实验参数, 触摸屏主界面如图10所示, 通过上位机软件实现系统数据的自动存储处理、图表显示和报表打印, 上位机软件主界面如图11所示. 采用高精度校准仪表及本系统分别对温度、水位、人工光源光照度进行现场测试, 同时对人工光源调光效果和循环水泵、上水电磁阀的开启情况进行记录, 系统测试结果如表3所示.

图 9 实验系统测试平台

图 10 触摸屏主界面

图 11 上位机软件主界面

表 3 系统测试结果

表3可以看出, 温度、水位、光照度精度均达到设计要求, 在设定的阈值, 可以自动控制人工光源、水泵和电磁阀的开启, 达到预期的设计要求.

5 结束语

本文设计一种基于STM32的太阳能光热实验系统, 通过人工光源结合调光模块来模拟太阳光, 能够实时获取并通过触摸屏显示系统监测点的温度、水位、光照度和水表累计值等信息, 测温精度在0 ℃~90 ℃范围内优于±0.1 ℃, 通过上位机软件实现系统数据的自动存储处理、图表显示和报表打印, 为系统热性能检测和能效指标评估提供便捷的测试环境, 具有重要的应用价值.

参考文献
[1]
管立伟, 李汪彪, 秦永熙, 等. 太阳能、热泵热水工程多模式测试及技术实现. 现代电子技术, 2013, 36(12): 133-136, 142. DOI:10.3969/j.issn.1004-373X.2013.12.041
[2]
沈行良. 一种太阳能光伏发电综合实验平台: 中国, 103606325 B. 2016-04-27.
[3]
陈子坚, 张链. 可移动式光伏光热一体化实验实训系统: 中国, 205881277 U. 2017-01-11.
[4]
张瑜, 张升伟. 基于铂电阻传感器的高精度温度检测系统设计. 传感技术学报, 2010, 23(3): 311-314.
[5]
Pihlfiyckt J. Control and measurement system for multi-channel microwave radiometer[Master Thesis]. Finland: Helsinki University of Technology. http://lib.tkk.fi/Dipl/ 2007/urn007760.pdf. 2007-02-12.
[6]
Analog Devices. ADR421 datasheet. http://www.analog.com/cn/products/linear-products, 2002.
[7]
管立伟, 卢宇, 吴进营, 等. 基于STM32的嵌入式网络通信终端设计与实现. 陕西理工学院学报(自然科学版), 2016, 32(4): 23-28, 38.
[8]
吴允平, 蔡声镇, 乐仁昌, 等. 单片机程序的限时服务策略及设计. 系统工程与电子技术, 2004, 26(11): 1672-1674. DOI:10.3321/j.issn:1001-506X.2004.11.038
[9]
唐文彦. 传感器. 北京: 机械工业出版社, 2006.
[10]
费业泰. 误差理论与数据处理. 6版. 北京: 机械工业出版社, 2010: 3–5.
[11]
张鹏超, 张强. 一种NTC热敏电阻校正方程的试验研究. 传感技术学报, 2012, 25(2): 220-223.