当前位置:文档之家› 计算机控制系统课程设计分解

计算机控制系统课程设计分解

计算机控制系统课程设计报告选题加热炉温度控制系统学院工学院专业名称自动化班级11-1学号111044108姓名陈曦指导教师阚江明职称副教授计算机控制系统课程设计报告选题:电阻加热炉温度控制系统实验小组成员:王军、陈曦一、题目内容介绍:1. 工业用电阻加热炉用电炉丝提供功率,实验中采用PLC-18温度的控制和传送实验挂箱,使其在预定的时间内将玻璃管内空气温度稳定到给定的温度值。

本控制对象脉宽变送部分输入电压为0~10V控制加热装置,内部温度传感器输出信号后由挂箱内电路转变为电压输出0~10V,对应0~100摄氏度,采用双向可控硅进行控制。

2. 以MSP430F149处理器作为控制中心,独立完成控制系统硬件部分设计。

3. 基本功能要求:(1)选择适当的传感器和控制执行部件,计算机输出的控制信号控制可控硅的工作状态,从而控制炉内温度;(2)要求控制温度范围0~100摄氏度,控制精度±1摄氏度;(3)具有键盘和LED/LCD显示功能,便于进行设定温度等参数的设定和系统工作状态显示;(4)控制算法采用标准/改进数字PID算法,进行控制性能比较。

4.主要任务:(1)在MATLAB/Simulink环境下完成控制系统建模和数字控制器设计工作,控制算法采用标准/改进数字PID算法,进行控制性能比较;(2)在Protel环境下完成控制系统硬件部分设计;(3)完成控制软件程序的设计,要求编译通过即可,注意软件设计中的模块化设计方法。

二、硬件模块设计方案1、单片机开发板硬件资源介绍如下:01.主芯片MSP430F149 最小板,可拨插,方便更换;02.板载USB 下载器,一根USB 线就可以下载程序;对于笔记本电脑客户不需要一定要购买仿真器才能下载.此模块也可能通过杜邦线连接单片机实现USB 转串口通讯; 03.电源模块,输入电源为直流8~12V 或者USB 的5V电源,可输出5V 和3.3V 电压,电源引脚都已出来,方便实验时外扩;04.8 位LED 发光管,可做流水灯实验及灯指示实验; 05.8 位数码管显示模块,可实验数码管显示和指示实验;06.用MAX232 实现两路串口通讯,可做串口通讯,实现上位机和下位机的通讯及控制;07.MAX485 芯片,实现485 通讯实验;08.4*4 点阵按键,实现点阵扫描实验;09.4 位独立按键,实现普通按键IO 输入及中断实验;10.ULN2003 芯片,实现步进电机和直流电机驱动控制实验;11.SN74LVC4245 芯片,实验 3.3V 电平向5V 电平的转换实验;12.DS1302 芯片,实现实时钟实验,板载有给DS1302 供电的电池,保正DS1302 的时间连续性,不随主板的断电而停止了工作; 13.A T24C02 芯片,实现E2PROM 的存储和读取,通过I2C 总线去实验;14.DSC5571 芯片,实验DA 转换实验;15.两路AD 输入,实验AD 转换实验;16.一体化红外接收头,实验红外接收解码实验;17.一个复位按键,可给单片机复位;18.一路可接入高压控制的继电器,实现继电器控制实验;19.一路蜂鸣器实验,可实现发声.报警实验20.板载四路常用的无线模块接口,包括NRF905,CC1100,NRF24L01.NRF2401A 无线模块.可实验无线数传,无线控制等实验;21.PS2 键盘输入接口,可实现键盘输入实验;22.板载有1602 和12864 液晶接口,可实验1602 和12864 液晶显示实验;23.万能扩展接口,可接本店开发的点阵汉字显示模块,语音模块,彩屏模块,传感器扩展模块等;24.标准的JTAG 接口,可实现仿真器通过此接口对主芯片实现在线调试和下载;25.主芯片的所有引脚IO 都已外引,焊好了排针,方便扩展实验及自己DIY 实验;本开发板的所有模块都是独立设计的,和主芯片相互之间都是通过跳线帽来连接;它的电路图如图还有阚老师借给我们的温度检测与控制模块,实物图如下:由于单片机电压为0~3.23V,挂箱电压为0~10V,故中间还需要电压变换电路。

其电路图如下:具体实物连接如下图:三、实验所需软件介绍我们编程时使用的IAR软件全称IAR Electronic Workbench for MSP430 3.42A这个软件是一款非常优秀的IED 开发环境,具有强大的编译能力和调试功能,用熟用好这个软件,这对我们有效开发MSP430 单片机是十分必须的。

更多的关于IAR 软件的使用资料可以参考软件自身Help中的帮助文档,这些资料是学习这个软件的最好素材。

比较实用的一点是主界面左下角有个Function虚拟按键,可以通过列表方便的查找到对应标签处的功能程序,在一些比较长的程序修改和阅读中很有作用。

BSL下载器主要用于烧录文件。

使用方法如下:打开IAR,找到编译好的工程文件,在属性中生成他的对应txt文件,再打开BSL下载器下载对应txt文件,选择正确串口和芯片类型,点击执行就可以了。

四、编程中遇到的难点与解决办法编程主要由王军同学负责,我在旁协助。

刚开始连接好电路,设置串口,遇到最大的一个问题是键盘、显示、蜂鸣器在一起编程,如何避免时钟混乱,如何确保键盘按键和显示的实时反应。

我们逐个分析各个串口的作用,避免混用。

另外,我们将按键的扫描提前到显示刷新程序之前,确保了按键有动作,显示会立马跟上反应。

在单片机板的显示上,我们编程实现了8位数码管的左三位显示的是设定值,右三位显示的是实际测量温度值,中间加入两个分隔符,如图。

最终,我们的程序流程图如下:五、控制算法仿真及分析1、开环系统仿真测量并绘制出开环系统的阶跃响应曲线,求出开环传递函数,使用Matlab 里的Simulink 工具进行建模仿真。

.113219.1)(,132,6.353.56632.0)(632.0,19.16.334.163.56)0()(K )(632.00+====⨯=∞=-=-∞=∞s s G s T T h x h h h以上求出的是开环传递函数,利用Simulink 仿真,将一个33.6的阶跃信号加到该对象上,然后根据仿真与实际所测得曲线整定实际开环传递函数得 128019.1)(G +=s s 。

根据实际传递函数建立仿真图,进行仿真对比。

2、闭环负反馈仿真:阶跃为20时如下图:阶跃为40时如下图:阶跃为60时如下图:3、标准PID仿真kp=3时如图:kp=3,ti=600时如图:六、实验具体过程以及实验结果在这个过程主要介绍PID+开关控制调节对系统控制产生的影响及其实验步骤。

main程序PID控制程序段中,将比例环节参数kp调整为3,其他不变即ti=9999,td=0。

编译程序通过后打开BSL软件,设置为正确串口,装在烧录文件即main.c文件,与单片机连接后点击执行,等待单片机烧录文件。

在文件烧录过程中,单片机板左上角LED等会闪烁,表示正在烧录,若灯不闪烁则表示烧录出现错误,则需要重启单片机再次连接电脑。

烧录完成后,用手机对准实验挂箱显示数码管开始录像,此时数码管显示的此时室温。

这时需要快速用键盘录入温度设定值(70摄氏度,设定方式:连续按最左上角键盘7次)。

设定完后数码管显示值就开始从室温开始上升,大约三分三十秒后上升到70摄氏度左右,然后显示值会在70摄氏度左右波动,大约六分钟时停止实验,关闭试验箱和单片机,结束录像。

制作表格如图为了出图效果更好,我们在温度上升过程中设定每30秒采样一次,在达到设定值70摄氏度后,每6秒采样一次,如果波动特别频繁且变化幅度小则适当缩短采样时间。

因为实验挂箱显示的电压值0~10V对应的是0~100摄氏度,所以在Excl表格中测量温度一列中可以直接编写程序,使这一列的数据直接由读得电压显示值乘以10得到。

将手机视频通过USB导入电脑后,定格在刚开始录入设定值的画面,调节快进幅度为每次快进30秒,每快进一次,填入对应读数一次。

在温度达到设定值70摄氏度后,调节快进幅度为每次快进6秒,同样对应填入数据。

最终得到一个采样的温度随时间变化表格,再由Excl自带功能选择横坐标为时间,纵坐标为温度,设定值和测量值随时间变化的曲线。

注重观察表格中测量值的偏离幅度,观察曲线在达到设定值后的变化曲线。

此时可以看出,无论是系统控制速度还是精度都已经达到了要求,但是在这之前我们小组是付出了很多努力的。

按照上面介绍的这种实验方法我们进行了许多试验。

1、开环控制可以看出开环控制是完全达不到控制要求的,最终稳态偏离了6.3摄氏度,没有达到控制精度。

2、闭环负反馈控制此时阶跃为20,精度方面基本能达到要求,但是控制时间过长,导致温度很慢才能达到设定值。

下面分别为阶跃40和60的情况:均远远不能达到实验要求。

3、标准PID控制在这里我们根据经验法求出的比例、积分、微分系数范围,逐个尝试不同数值,以下是系统控制状况较好的系数取值和所得控制曲线图。

首先是kp=3,ti=9999,td=0的情况:同样,精度要求可以满足,但是控制调节时间过长,以至于温度很难达到设定值。

而下面两种情况,第一个是增加了I调节和IP调节,取值分别为ti=600,td=150,。

可见在添加I调节后,温度控制曲线得到明显改善,精度也控制在0.3摄氏度,调节速度也很快,只是曲线有明显的震荡,周期较长,不能很好地吻合曲线。

而再增加D调节后,温度上升很慢,不满足实际需求。

4、PID+开关控制在程序中表现为当测量温度与设定温度偏差在一摄氏度之内,采用PID调节;当测量温度小于设定温度超过一摄氏度,则电炉丝全开尽快加热;当测量温度大于设定温度超过一摄氏度则电炉丝全关,以尽快降温。

首先取kp=3,ti=9999,td=0,实验数据及表格如图:此时,实验效果基本达到要求,加热速度足够快,基本消除超调量,实验精度也控制在±0.4摄氏度。

其次,我们还增加了I调节,使kp=3,ti=600,td=150,实验曲线如图:这是我们小组所有实验中数据和曲线最好的一组,已经完全达到要求。

最后我们还尝试了一下增加了D调节,下面是使系数kp=3,ti=600,td=150时所得的数据和图像:图像又产生了变化,又完全不符合实验要求。

综上,通过一系列手段修改控制方法和PID调节参数,再通过比较各组数据和温度曲线图的情况,最终我们得出:用PID调节+开关控制时,kp=3,ti=600,td=0时,控制效果最好。

七、总结在本次课设中,我的感悟颇深。

由于自己在前阶段单片机知识学习的不够深入,编程熟练度比较差,因此在编程时难度比较大。

此次课设锻炼了我的单片机知识和编程能力。

在实验过程中,我也学会了录像记录数据和处理数据的这种方法,在其中还锻炼了我的制作表格能力和数据统计能力,让我知道了处理实验数据需要细心和耐心的品质。

相关主题