基于无线测量的恒温控制系统设计
2019-04-26李晓芸彭源刘自强李豪杰江善和
文/李晓芸 彭源 刘自强 李豪杰 江善和
1 引言
温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。
目前,常见的恒温控制系统设计方法有基于单片机的温度控制系统、基于DSP 的PID温度控制系统、基于ARM 的模糊PID 控制系统等。本文采用无线测量方法实现水容器温度控制系统的恒温调节,该系统以水容器为控制对象,温度作为主控制变量,采用温度传感器完成温度信号的采样,利用继电器通断控制电加热器件。通过下位机的微处理器完成采样温度信号的AD 转换和控制运算算法处理及显示,从而实现水温的有效控制。借助无线通信模块,利用上位机获得远方测量点的温度信息并控制温度变化,能够控制加热单元的总通断,并在遥控点和测量点均可显示当前水温值;同时,利用上位机可以进行预定控制设置管理,设置温度和液位的上下限值,并对水温按着预定规律变化进行控制。上位机和下位机的通信则是通过无线通信模块实现数据和控制信号的发射与接收。
本文设计思路为:首先,利用传感器完成温度信号的实时采集,并进行A/D 转换;其次,下位机则通过单片机完成数据处理、运算、显示和灯光报警,再由控制信号控制继电器实现加热器的通断;再其次,无线通信模块实现上位机与下位机之间的数据通信;上位机则采用PC 机实现温度的实时曲线显示、设定和总通断控制。该设计思路的特点:下位机利用单片机的抗干扰能力强、价格低廉、功耗小、温度控制运算容易实现等优点;上位机充分利用PC 机的编程能力实现温度的实时曲线显示、设定,直观简单,良好的人机界面等;无线通信模块则可以实现温度的远程测量、控制、显示和报警等。
2 设计方案
图1:系统设计总体方案框图
图2:传感器放大电路
图3:显示电路原理图
本控制系统设计的总体方案框图如图1所示。该控制系统可分为两部分:前段测量点的核心部分为下位机的单片机,其余为相应的采集、显示、控制和通信模块;后端遥控点为PC 机和无限通信模块。该系统以SPCE061A为核心,前向通道包括传感器及其信号放大电路,按键输入电路;后向通道包括三部分:LED 显示电路,上位机通信电路以及控制加热器的继电器驱动电路。由于SPCE061A 内部有8 路10 位精度的AD 转换器,所以直接将传感器输出信号放大后输入SPCE061A 的AD转换通道即可,不需要外接ADC。SPCE061A实时采样温度,并根据采样结果控制加热器,调节加热功率大小;同时将当前温度信息通过数码管在下位机显示出来,并通过无线通信模块nRF2401A 完成与上位机PC 的数据通信。
针对测量点的核心部分——下位机的单片机设计采用SPCE061A 单片机作为主控制器。PT100 温度传感器采集温度信号,将信号送到单片机中,在单片机中通过对采集的温度与原来设定的温度相比较,并将温度曲线在PC 机中显示,同时将温度通过LED 显示,采用LED 键盘模组作为输入和显示单元,同时采用Nodic 公司的nRF2401A 芯片作为无线收发核心器件,将下位机采集到的数据信号传送到上位机和发送控制信号至下位机控制温度。
控制系统的温度控制采用PID 闭环控制方案,将预置初值与传感器反馈信号比较得到偏差,对偏差进行PID 运算处理得到控制量,通过此控制量来控制加热器的加热时间,从而控制加热功率。在系统实现过程中,通过VC所编的上位机中的软件进行在线监控可通过上位机设置上限、下限温度,当超出温度上下限时,实现在测量点用灯光报警等功能。
3 硬件设计
系统的整体硬件电路组成主要是:下位机以SPCE061A 为核心控制器,包括传感器电路,键盘和显示电路,控制电路和无线通信收发电路4 大模块。上位机以PC 机为核心,包括无线通信收发电路。
3.1 传感器电路
如图2所示,传感器电路包括传感器桥路和放大电路两部分,经过两级放大后输出模拟电压信号Uo。直接将运放的输出脚接SPCE061A 的AD 输入通道AN5(IOA4)。
R2、R3、R4和Pt100组成传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过TL431 稳至2.5V。从电桥获取的差分信号通过两级运放放大后输入单片机。电桥的一个桥臂采用可调电阻R3,通过调节R3可以调整输入到运放的差分电压信号大小,通常用于调整零点。
放大电路采用LM358 集成运算放大器,为了防止单级放大倍数过高带来的非线性误差,放大电路采用两级放大,前一级约为10 倍,后一级约为3 倍。温度在0~100 度变化,当温度上升时,Pt100 阻值变大,输入放大电路的差分信号变大,放大电路的输出电压Av 对应升高。
3.2 按键与显示电路
按键直接使用61 板自带的按键,不需要连接硬件即可使用。 显示采用LED 键盘模组6 位数码管的其中3 位进行动态显示,电路原理如图3所示。在使用时,将a~dp 接IOA8~IOA15,DIG4~DIG6 接IOB3~5。
3.3 继电器功率驱动电路
系统的主要功率器件为一个交流220V~1000W 的电加热器,采用继电器来驱动该加热器。继电器选择OMRON G6B-1174P 型继电器,该继电器具有触发电压低(DC5V),可 控 功 率 大(AC:8A250V,DC:8A30V),以及反应时间短等优点。继电器采用NPN8050 三极管驱动,并在三极管的基极加一个470 欧的电阻,当三极管的基极加载高电平信号时,三极管导通继电器工作,当三极管的基极为低电平信号时,三极管截止继电器停止工作。并在继电器的周围添加了续流保护电路和工作指示电路,功率驱动部分电路如图4所示。
表1:标准温度计测量的温度和温控系统显示的温度比较(℃)
表2:温度稳定性测试
表3:遥测距离测试
3.4 无线通信模块
无线传输模组以nRF2401A 芯片为核心,它把射频收发电路集成在一块芯片上。它的射频范围为2.4GHz ~2.5GHz,这个芯片内部包含频率综合器、微波功率放大器、信号调制和解调器等部分。微控制器与nRF2401A 芯片之间的数字传输通过串行接口实现。它提供了一路的无线发射和两路的无线接收功能,应用时,为方便与61 板的连接,模组提供了两个接口J1、J2,其中J1 为nRF2401A 的控制端口和通道1 的收发通道,J2 为预留端口,是通道2 的接收通道。J1 接口为10Pin 的插孔,其布局和61 板的I/O 端口布局一致,可以直接插接到61 板的I/O 端口使用。J2 预留,如果需要采用双通道接收时,可以将J2 对应的3 根信号线引出,接到单片机的I/O 上即可。nRF2401A 的电路原理图如图5所示。
3.5 报警电路
为引起工作人员对异常信息的注意,该监控系统提供了灯光报警和声音报警的功能。灯光报警是通过下位机的单片机输出信号,IOB0 低电平有效,通过发光二极管进行报警,它主要是超温报警。声音报警是由上位机与单片机之间相互通信,经单片机输出信号,通过三极管进行放大来驱动蜂鸣器进行报警。单片机IOB8 输出高电平时,三极管导通,蜂鸣器工作发出报警声。IOB8 为低电平时三极管关断,蜂鸣器不工作。
3.6 UART—Max232转换模块电路
系统上位PC 机与接受端单片机的数据传输通过UART 接口完成,该部分的电路如图6所示。UART 模组的COM1 接口与PC 机串口相连接,J1 口的VCC、GND、Tx1、Rx1 分别与61 板的“+”、“-”、IOB10,IOB7 相连接。
图4:功率驱动电路原理图
图5:nRF2401A 电路原理图
4 软件设计
软件程序的控制思想:设置目标温度后,系统采样水温,并通过预设温度,当前温度,历史偏差等进行PID 运算产生fOut 输出参数,通过该参数控制加热时间,从而调节加热器的平均功率,实现系统的PID 控制。整体功能通过主程序和中断服务程序配合实现,主程序流程图如图7所示。
系统运行首先初始化IO,Timer,Ua7部件,同时初始化显示,并初始化系统状态设定状态,等待输入设定温度。初始化完成之后进入主程序循环体,在循环体中判断是否进行AD 转换,如果已经完成AD 转换,则对AD 结果进行处理转化为温度值,将温度值传送给上位机,之后对温度值进行PID 运算。运算产生结果fOut,如果fOut>0,证明当前温度低于设定温度,开启加热器;如果fOut<= 0,证明当前温度等于或者略超过设定温度,关闭加热器。然后再重复执行上述过程,周而复始。
5 系统测试结果
图6:UART 模块电路图
图7:主程序流程图
将硬件电路各个模块组成整体搭建温度控制系统,软件程序使用凌阳开发系统,该软件的模拟调试器支持C 语言及汇编语言源代码调试,其汇编程序支持宏汇编及模块化编程,使用方便。上位机控制程序使用VC++开发。将汇编程序下载到各子模块,进行各子模块调试,正常后在PC 主控程序下进行各种功能的测试。 现将功能测试结果记录如下:
5.1 温度显示测试
将标准温度计和Pt100 放人同一容器中,选定若干不同的温度点,记录下标准温度计显示的温度和PC 机界面显示的温度进行比较,测量结果如表1所示。由表1可知,该控制系统能够成功的在温度控制在0 ~80℃范围内,实现温度的实时显示,同时利用标准温度计测量的温度和该控制系统的显示温度差值很小。
5.2 温度稳定性测试
在温度偏离设定值时,通过控制继电器的通断,控制加热电路的状态,能够使温度稳定在45℃。测量水温在10 分钟内的变化情况,每分钟的温度值显示如表2所示。从表2可以看出,开始阶段,在加热作用下水温之间上升,经过5 分钟加热后,水温逐渐达到45℃左右,且后期误差稳定在±2℃内,达到设计者的要求。
5.3 遥测距离测试
为了评价设计系统遥测距离与温度的变化情况,我们做了如下测试:当温度稳定在45℃时,使遥测遥控距离大于10 米,观察不同距离时温度的变化,遥测距离与温度测量值如表3所示。
6 结论
本系统设计了一种以SPCE061A 单片机为核心,基于nRF2401A 和PT100 构成的无线测量温度控制系统设计,并通过继电器驱动电路实现温度的恒温控制。系统测试表明,该系统完成了设计的各项基本要求,实现了双向无线通信,通过上位机可对被测控对象设置上下限温度,完成测量端温度的实时显示和报警监测。实现了在上位机中设置温度的上下限,超温报警功能。测试结果表明,该系统性能稳定、精度高,能够完成温度的远程测控,具有一定的实用推广性。