APP下载

水温控制实验系统设计

2013-09-04吕淑平

实验室研究与探索 2013年1期
关键词:加热棒阶跃流程图

吕淑平, 王 潇

(哈尔滨工程大学自动化学院,黑龙江哈尔滨150001)

0 引言

采用单片机MC9SXS128设计了1种水温控制系统,该系统用于学生实验课里,集成了3种温度传感控制方案,实验时学生可任选1种或几种。这样不仅增加了系统的灵活性,也更好地扩大了学生的知识面[1]。

1 系统总体设计

系统采用MC9SXS128为主控芯片,包含PT100电桥、PT1000阻值-频率变换及DS12B20数字芯片等水温测定方案。经PID算法得到控制量,通过脉宽宽度调制(PWM)、过零触发方法控制加热棒功率从而控制水温。水温控制实验系统结构图如图1所示。

图1 水温控制系统结构图

2 硬件设计及分析

2.1 执行部分

执行部分采用过零触发固态继电器和加热棒。

继电器输入控制端为3~32 VDC,输出端为5 A 380 V,50~60 Hz,加热棒功率为500~1 000 W。固态继电器通过过零控制,在设定时间间隔内,改变固态继电器内部晶闸管导通的周波数实现对加热棒功率控制,配合PWM模块可方便实现。图2是实验测得继电器全导通下加热棒对一定量水加热温度曲线。

2.2 传感部分

2.2.1 PT100 电桥方案

PT100铂电阻测温元件和R4、R5、可调电阻R6组成单臂电桥,TL431为电桥提供2.5 V稳定电压。由于执行部分过零触发工作频率太小(10 Hz),出现低频干扰,系统加入2阶低通滤波电路消除低频干扰,截频率为21 Hz(水温变化正常不会超过这个频率)。2级放大输出直接连接单片机ADC0口,如图3所示。

2.2.2 PT1000铂电阻阻值频率变换方案

图2 继电器全导通下一定量水加热温度曲线

图3 PT100电桥方案电路

方案如图4所示,利用NE555时基电路实现多谐振荡器产生矩形波,频率和矩形波占空比只与相关电阻值有关。输出方波脉冲振荡频率为:

由于PT1 000阻值随温度变化,通过NE555得到1个近似线性的频率变化,利用MC9SXS128内部增强型捕获定时器ECT捕获该频率大小和矩形波高电平脉宽,得到频率与温度之间的关系。

图4 PT1000铂电阻阻值频率变换方案电路

2.2.3 DS18B20 数字芯片方案

电路如图 5所示,采用美国 DALLAS公司DS18B20,单总线接口方式。该方案为数字信号传送,抗干扰能力强,温度不必标定。

图5 PT100铂电阻阻值频率变换方案

3 软件设计

软件部分包括基于MC9SXS128的嵌入式和基于C++Builder 6平台设计的上位机软件编程。

3.1 嵌入式软件设计

软件采用C语言编程、模块化结构,各硬件模块对应相应软件模块。主函数首先对功能寄存器等进行配置初始化,包括CPU倍频、ADT初始化、SCI初始化、ECT初始化、PWM初始化等。流程图如图6所示。

3.1.1 增强型定时器捕获脉冲频率

通过ECT捕获N个矩形波上升沿或下降沿数量,并读出n=0和n=N时ECT定时器寄存器值存于Count[0]和 Count[1]中。因为定时器在自加过程中可能会溢出,这样在相减得到N个脉冲的时间内需要

图6 嵌入式软件流程图

判断是否溢出,同时保证在采集0~N过程中,不会发生定时器2次溢出情况,程序设计如下:

if(Count[1]> Count[0])

{period=Count[1]-Count[0];//N 个周期}

else if(Count[0] > Count[1])//显然是溢出了 16 的定时器计数范围

{period=0xffff-Count[0] +1+Count[1];//处理溢出}

3.1.2 改进增量式PID算法

算法程序如下:

int Pid_cal(int SetTemp){

e=(int)(SetTemp-Temp);

//求出偏差量,其SetTemp为期望温度值

de=e-ePast;//求出微分量

ePast=e;//记录偏差信号

Out=(e+de*Kd)*Kp+ie/Ki;//PID运算

OutPast[1] =OutPast[0];

OutPast[0] =Out;

ie=OutPast[1]+OutPast[0];//求出积分值

if(ie>30000)ie=30000;//限制积分值上限

else if(ie<=0)ie=0;//不做低温积分

if(Out>=16500)Out=16500;//输出值进行限幅

else if(Out<0)Out=0;//小于0的输出不计算

return Out;}

算法参数的确定首先采用阶跃曲线法建立系统数学模型,再通过MATLAB仿真确定控制参数。阶跃曲线如图7,8所示,由曲线得到:y(t1)=0.39y(∞),y(t2)=0.632y(∞)时的 t1和 t2值。

一阶惯性延时数学模型设为

求出:K=y(∞)/x0,T=2(t2-t1),τ=2t1-t2。

经多次计算验证得到系统数学模型为:

图7 阶跃响应曲线

利用Matlab得到PID阶跃曲线,经调试获得控制参数 KP=120,KI=0.2,KD=20。

图8 PID阶跃跟踪结果

3.2 上位机软件编程

上位机采用Borland公司C++Builder 6.0,主要使用YbCommDevice串口控件、TChart图表绘制控件和TTimer控件等。上位机软件主流程图如图9所示。

3.2.1 串口控件YbCommDevice

YbCommDevice控件具有串口自动识别和选择、奇偶校验、数据位控制、停止位设置,并且可以设置调制解调器功能,如数据流控和自动应答等功能。设置界面如图10所示。

读取串口数据代码如下:

unsigned char Buf[8192];//收到的字节数不会超过串口缓存的容量

AnsiString s;//AnsiString数据类型代表一序列的数据字,容量可从4 bytes到2GB

int n=YbCommDevice1->Read(Buf,8192);//收到 n 个字节

写串口数据代码如下:

YbCommDevice1-> Write(Buffer,nBytes);

Buffer表示待发送数据所在数组,nBytes表示所需发送的数据长度。

3.2.2 TTimer 实现多线程操作

使用TTimer控件实现多线程操作或称分时操作。方法是,使用多个TTimer,设置每个TTimer在没有其他任务时的触发时间。图11为2个TTimer同时工作的流程图。

图9 上位机软件主要流程图

图10 YbCommDevice控件设置界面

图11 两个TTimer同时工作流程图

4 结语

研制了基于MC9SXS128水温控制实验系统,与目前实验室现有的基于PLC过程控制实验系统相比,该系统制作简单、成本低。学生在掌握检测传感、过程控制等理论基础上,可进行建模及不同算法研究。

[1] 王再英,刘怀霞,陈毅静.过程控制系统与仪表[M].北京:机械工业出版社,2007.

[2] 王天曦,李鸿儒,杨兴华.坚持改革创新,开创电子实习新局面[J].实验技术与管理,2003,20(4):90-94.

[3] 管凤旭,谭吉来,吕淑萍.基于ARM的液位自动控制实验系统[J].实验室研究与探索,2010,29(3):10-13.

[4] 胡晓波,李 瑛,王艳芳.计算机仿真技术在实验教学中的应用[J].实验室科学,2007(2):121-123.

[5] 冯毅萍,乐嘉华.计算机液位控制系统实验装置的研制[J].实验室研究与探索,2000(2):78-80.

[6] 王正林,郭阳宽.过程控制与Simulink应用[M].北京:电子工业出版社,2006.

[7] 吕淑平,马忠丽,王科俊.高等工程教育的实践与思考[J].实验技术与管理,2010,27(8):123-135.

[8] 吕淑平,韩 健.按键及声控步进电机控制系统开发[J].实验科学与技术,2011,9(3):6-9.

[9] 贾 丽,袁小平,陈 烨,等.常用液位检测方法的研究[J].能源技术与管理,2009(1):120-122.

[10] 洪志刚,杜维玲,周 玲.超声波外测液位检测方法研究[J].电子测量与仪器学报,2007,21(4):46-49.

[11] 管凤旭,杨庆国,吕淑萍.基于ARM的环境检测与控制综合实验系统设计[J].实验技术与管理,2010,27(10):106-109.

[12] 王 毅,白泽生.现代温室环境多参数测控系统设计[J].微计算机信息,2008,24(20):140-141.

[13] 匡迎春,沈 岳,姚帮松,等.简易型温室温湿度控制器设计[J].湖南农业大学学报,2009,35(4):452-456.

[14] 李宏俊,黄 鑫,卢开砚.以单片机为核心的温室智能控制系统[J].电子元器件应用,2007,9(5):20-23.

[15] 王雪文,张志勇.传感器原理及应用[M].北京:北京航空航天大学出版社,2004.

猜你喜欢

加热棒阶跃流程图
压缩机组油箱故障原因分析及改进方案
高温润滑系统的改进设计
探讨单位阶跃信号的教学
专利申请审批流程图
专利申请审批流程图
储油罐维温技术的改进
宁海县村级权力清单36条
三塘湖油田边远井站节能改造技术研究与应用
一种阶跃函数在矩形时间窗口频域特性的分析方法
《天津医药》稿件处理流程图