




免费预览已结束,剩余22页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学微机控制技术课程设计说明书课程设计任务书学生姓名: 陈超 专业班级: 自动化0803班 指导教师: 石云 工作单位: 自动化学院 题 目: 电阻炉微型计算机温度控制系统的设计初始条件:设计一个电阻炉微型计算机温度控制系统,系统为一阶惯性纯滞后特性,温度控制要求为100,温度控制精度为 1;通过led 显示温度;要求完成的主要任务: 1 输入通道及输出通道设计(温度传感器,a/d转换,pwm输出控制和温度调节驱动电路);2 键盘(温度设置)与led(温度显示)接口设计;3 采用smith预估控制算法;4 系统软件流程及各程序模块设计;5 完成符合要求的设计说明书时间安排:2011年6月20日2010年6月30日指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录1 控制对象及其控制性能要求32 系统控制方案的比较33 微机控制系统总体设计44.1 温度信号输入通道44.1.1 温度传感器54.1.2 运算放大器64.1.3 a/d转换器64.2 执行信号输出通道74.3 led显示模块84.4 系统控制器电路设计95 smith预估控制算法106 系统软件设计11小结13参考文献14附录15附录一15附录二22附录三23电阻炉微型计算机温度控制系统的设计摘要单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮在全社会大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文用89c51单片机自制了一个温度控制系统,重点介绍了该系统的硬件结构,即输入通道及输出通道、led接口显示与主控制器的设计及编程方法。关键词:单片机、温度传感器、模/数转换器、输入输出通道1 控制对象及其控制性能要求本系统电阻炉进行微型计算机控制,系统为一阶惯性纯滞后特性动态特性,温度控制在100,温度控制精度为1,电阻炉的温度通过led数码管显示。2 系统控制方案的比较控制器的选择:本设计的控制器在pc机和单片机之间选择单片机,其原因是单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可控性高,抗干扰能力强和使用方便等独特优点,在数字智能化方面有广泛的用途。本系统所使用的单片机是我们熟悉的mcs51单片机中的89c51,它具有使用简便、价格便宜等诸多特点。温度采集方案的选择与比较:考虑到题目温度要求为100,温度传感器采用美国dallas公司生产的 ds18b20,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域,其测温范围 55125,固有测温分辨率0.5,完全符合题目要求。运算放大器选用lm324,它的功能是将传感器的放大给a/d转换器,不必要求太高。在a/d转换器方面,选用8位a/d转换器adc0809。3 微机控制系统总体设计单片机温度控制系统是以89c51单片机为控制核心,辅以采样反馈电路,驱动电路,晶闸管主电路对电炉炉温进行控制的微机控制系统。其系统基本控制原理为:将温度设定值(即100)和温度反馈值同时送入控制电路部分,然后经过调节器运算得到输出控制量,输出控制量控制驱动电路得到控制电压施加到被控对象上,电炉因此达到规定的温度。结构图如图3-1所示:图3-1 电阻炉控制系统总体结构设计图4.1 温度信号输入通道温度信号输入通道的原理图如图4-1所示。电路主要由温度传感器、运算放大器和模/数(a/d)转换器三部分组成。本方案比采用温度变送器的方案结构简单,体积小,价格低。图4-1 温度输入信号通道4.1.1 温度传感器温度传感器采用美国dallas公司生产的集成化半导体传感器 ds18b20。集成化传感器是新型器件,它比直接用一个pn结作传感器灵敏度高,线性好,使用方便。ds18b20的工作温度为55125。其输出电流根据下式计算: iset=t227i/krset式中:iset为流进ds18b20 v+脚的电流,单位为a;t为热力学温度;rset为传感器外接电阻,单位为。若取227,则 iset=t1(a/k)考虑到引线电阻对外接电阻的影响,通常将rset与ds18b20一起安放在探头内,这样即使长线传输也不会降低精度,从而可以遥测温度。图4-1中,rl为传感器的负载电阻,它把传感器输出的电流信号转换为电压信号。在rset=227条件下,如果取10k,则温度信号电压vout=isetrl=227trl/rset=10t(mv/k)可见温度信号电压的增益,即vout-t曲线的斜率,取决于比值rl/rset。增益调节可在rset上进行,也可以在rl上进行,这有利于rset的选用与制造。调试时可选定rset,本通道选系列值230;然后用实测vout的方法,在标称值为10k的金属膜电阻中筛选出rl,使增益达到10mv/k。增益校正可在冷端温度为0(冰水),或在室温条件下进行。图4-1中w0是一种多圈式精密电位器,用作起点补偿电压调整,其输出电压等于起点温度时的信号电压,本系统起点温度为室温(大约27)。4.1.2 运算放大器运算放大器采用差动运算放大器lm324,不需外接元件,使用方便。lm324对输入信号的电压v+和v-作差动放大。本系统中v+即为补偿电压,v-即为传感器温度信号电压。可以得出运放的输出电压v0为v0=1+rfr1r3r2+r3v+-rfr1v-为了使后面的a/d转换器得到合适的输入模拟电压,本系统选取r1=r2=100k,r3=rf=200k。4.1.3 a/d转换器adc0809是cmos单片型逐次逼近式a/d转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型da转换器、逐次逼近 寄存器、三态输出锁存器等其它一些电路组成。因此,adc0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输 出与ttl兼容。adc0809a/d转换芯片引脚图如下图3所示。温度信号输入通道的总增益由温度传感器、运放和a/d转换器三个环节的增益所决定。在本系统中,由于温度要求100是固定的,这三个环节的增益也是固定的。这样有利于整个通道在设计和安装时,避免不必要的精度误差和偏差。4.2 执行信号输出通道为了简化输出通道的硬件结构,考虑到加热系统具有较大的热惯性,即一阶惯性纯滞后特性动态特性,本系统采用脉冲宽度调制(pwm)的控制方法。单片机输出控温信号:输出高电平时,使双向可控硅导通,电热丝通电;输出低电平时,双向可控硅截止,电热丝断电。脉冲宽度t1与周期t的比值为p,它反映了系统的输出控制量。执行信号输出通道的原理图如图4-2所示,单片机系统at89c51的p2.5口输出信号经过光电耦合器,直接控制双向可控硅的门极,从而控制电热丝的平均加热功率。这样使输出通道省去了数/模(d/a)转换器和可控硅一项触发电路,大大简化了硬件;而且可控硅工作在过零触发状态,提高了设备的功率因数,减轻了对电网的干扰。at89c51的i/o脚的负载能力不足以驱动光电耦合器的发光二极管,所以用1413的一路作为功放。光电耦合器的光敏二极管所能通过的电流足以触发5a的双向可控硅,其间不必加功放环节,其中对可控硅可用负极性触发。图4-2 执行输出信号控制通道触发电路6v不必采用稳压,只需一般的阻容滤波即可,但不能与单片机基本系统5v电源相通。可控硅门极回路与220v电源相通,光电耦合器的结缘耐压能有效地把单片机系统与220v强电隔离。4.3 led显示模块设计中用到四个led数码管显示器,型号为7segmpx4ca。led有共阴、共阳数码管两种,使用led显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为led显示器提供的编码正好是一个字节。显示模块电路图如图4-3所示。本部分用到led显示器,其工作方式有两种:静态显示方式和动态显示方式。led数码管,其原理和数字表扫描显示的原理一致即采用动态显示,动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选择导通数码管的方式是采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路的。 图4-3 显示模块电路图4.4 系统控制器电路设计图4-4 单片机控制器单片机控制系统原理图如图4-4所示。微处理器采用51系列单片机at89c51。单片机系统的硬件结构简单,调试方便。单片机系统主要i/o口的分配如下:89c51的p1口为温度信号的输入口,p0口为温度显示信号数据输出,p2口的p2.0端到p2.3端为显示信号的扫描,p2.4端口为执行信号输出口。5 smith预估控制算法 如图5-1,在所示的单回路控制系统中,d(s)表示控制器的传递函数,用于校正部分;表示被控对象的传递函数,为表示被控制对象中不包含纯滞后部分的传递函数,为被控制对象纯滞后部分的传递函数。u(t)e(t)y(t)d(s)图5-1 带纯滞后环节的控制系统 令=,为被控对象的放大系数,;为被控对象的时间常数;为纯滞后时间。由图5-2可见,纯滞后补偿的数字控制器由两部分组成:一部分是数字pid控制器(由(s)离散化得到);一部分是施密斯预估器。r(t)u (k)e2(t)e1(t)y (t)数字pid tyr(t)图5-2 具有纯滞后补偿的控制系统施密斯预估器的输出可按图5-3的顺序计算:yr(k)u (k)m (k)m(k-n)图5-3 史密斯预估器框图图中,u(k)是pid数字控制的输出,y(k)是施密斯预估的输出。从图中可知,必须先计算传递函数gc(s)的输出m(k)后,才能计算预估器的输出yk=mk-m(k-n)预估器的传递函数为gs=gps(1-e-s)=kf1+tfs(1-e-s) 反馈回路偏差: 纯滞后补偿器的输出 : 其中 ,上式称为施密斯预估控制算式。 偏差: 控制器的输出:式中,为pid控制的比例系数;为积分系数;为微分系数。在纯滞后补偿控制算法中,相对于标准的pid算法,只是加入了补偿环节,可以采用pid的方式来处理。为了提高控制质量,我们对其进行改进,采用所谓的积分分离的pid位置式算法。当偏差绝对值小于某一预定门限时,采用标准的pid算法:式中:为系统控制量,为第i-1次偏差,t为采样周期,为积分时间,k为比例系数,为系统基准控制量。当偏差绝对值大于这一预定门限时,舍去积分项的运算。6 系统软件设计系统主程序初始化时,允许int0中断,并设置为边沿触发方式,adc0809 eoc为中断请求信号口,中断服务程序把“转换结束”标志置位时,采用查询的方式,根据adc0809的d0d7的信息分别进行处理和存放。程序的每次循环,只读入一组数据。为了削弱干扰和纯滞后带来的影响,程序采用纯滞后补偿的方法,即smith预估控制,对读入信号进行平滑加工。显示更新程序把滤波后的温度从单片机的p0输送到显示接口电路。图6-1 控制系统的主流程图程序还对系统控制量作上、下限幅,使输出脉冲宽度与脉冲周期的比值p的范围为5%95%。本系统中的脉冲周期取10s,与采样周期相同,这样与电热元件并联的指示灯始终闪烁发光,这是系统正常工作的一种标志。操作人员还可以从亮、暗时间的比例,方便地了解系统的控制量。控制系统主流程图如图6-1所示。小结首先,通过这次电阻炉微型计算机温度控制系统的设计,我学到了不少的知识。把以前没有学好的程序专业知识进行了补充和加强,加深了我对于单片机和数字电路的认识,巩固了自己的专业知识,相信在以后的学习和工作中碰到这些基础的元器件我会更加得心应手。此系统所采用的单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等优点,在数字和智能化等方面有广泛的用途。本测控系统设计采用的是具有纯滞后补偿的smith控制算法,保证了控制系统的控制精度、抗干扰能力、稳定性等性能。通过查阅大量的资料,我获得了以前在课堂上学不到的东西,也体验到了学知识和应用知识之间的差距,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。虽然,在某些方面仍然做得不足或考虑不到,但是我觉得这是很正常的,只要认真对待,尽力去完成即可。我很认真地对待这个过程中的每一个细节,希望自己能做得更好。希望今后还有这样的机会,能够让我学到更多的知识。参考文献1谭浩强. c程序设计. 北京:清华大学出版社. 2005.2于海生.计算机控制技术.北京:机械工业出版社,2007.3陈立周、陈宇.单片机原理及其应用.北京:机械工业出版社,2006.4刘红丽、张菊秀. 传感与检测技术. 国防工业出版社. 2007.5陈明荧. 8051单片机课程设计实训教材. 北京:清华大学出版社. 2004附录附录一#include#include#include#includestruct pid unsigned int setpoint; / 设定目标 desired valueunsigned int proportion; / 比例常数 proportional constunsigned int integral; / 积分常数 integral constunsigned int derivative; / 微分常数 derivative constunsigned int lasterror; / error-1unsigned int preverror; / error-2unsigned int sumerror; / sums of errors;struct pid spid; / pid control structureunsigned int rout; / pid response (output)unsigned int rin; / pid feedback (input)sbit data1=p10;sbit clk=p11;sbit plus=p20;sbit subs=p21;sbit stop=p22;sbit output=p34;sbit dq=p33;unsigned char flag,flag_1=0;unsigned char high_time,low_time,count=0;/占空比调节参数unsigned char set_temper=35; unsigned char temper; unsigned char i;unsigned char j=0;unsigned int s;/*延时子程序,延时时间以12m晶振为准,延时时间为30ustime*/void delay(unsigned char time) unsigned char m,n; for(n=0;ntime;n+) for(m=0;m2;m+) /*获取温度子程序*/void get_temper() unsigned char i,j; do i=reset(); /*复位*/ while(i!=0); /*1为无反馈信号*/ i=0xcc; /*发送设备定位命令*/ write_byte(i); i=0x44; /*发送开始转换命令*/ write_byte(i); delay(180); /*延时*/ do i=reset(); /*复位*/ while(i!=0); i=0xcc; /*设备定位*/ write_byte(i); i=0xbe; /*读出缓冲区内容*/ write_byte(i); j=read_byte(); i=read_byte(); i=(i4; temper=i|j; /*获取的温度放在temper中*/ /*smith控制算法*/void smithinit (struct smith *pp) memset ( pp,0,sizeof(struct smith);/*smith计算部分*/unsigned int smithcalc( struct smith *pp, unsigned int nextpoint )unsigned int derror,error;error = pp-setpoint - nextpoint; / 偏差pp-sumerror += error; / 积分derror = pp-lasterror - pp-preverror; / 当前微分pp-preverror = pp-lasterror;pp-lasterror = error;return (pp-proportion * error / 比例项+ pp-integral * pp-sumerror / 积分项+ pp-derivative * derror); / 微分项/*温度比较处理子程序*/compare_temper() unsigned char i; if(set_tempertemper) if(set_temper-temper1) high_time=100; low_time=0; else for(i=0;i10;i+) get_temper(); rin = s; / read input rout = pidcalc ( &spid,rin ); / perform pid interation if (high_time=100) high_time=(unsigned char)(rout/800); else high_time=100; low_time= (100-high_time); else if(set_temper0) high_time=0; low_time=100; else for(i=0;i10;i+) get_temper(); rin = s; / read input rout = pidcalc ( &spid,rin ); / perform pid interation if (high_time100) high_time=(unsigned char)(rout/10000); else high_time=0; low_time= (100-high_time); / else / /*t0中断服务子程序,用于控制电平的翻转 ,40us*100=4ms周期*/void serve_t0() interrupt 1 using 1 if(+count=(high_time) output=1; else if(count=100) output=0; else count=0; th0=0x2f; tl0=0xe0; /*显示子程序*/void display() unsigned char code number=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6; unsigned char disp_num6; unsigned int k,k1; k=high_time; k=k%1000; k1=k/100; if(k1=0) disp_num0=0; else disp_num0=0x60; k=k%100; disp_num1=numberk/10; disp_num2=numberk%10; k=temper; k=k%100; disp_num3=numberk/10; disp_num4=numberk%10+1; disp_num5=numbers/10; disp_1(disp_num); /*主程序*/ main() unsigned char z; unsigned char a,b,flag_2=1,count1=0; unsigned char phil=2,0xce,0x6e,0x60,0x1c,2; tmod=0x21; th0=0x2f; tl0=0x40; scon=0x50; pcon=0x00; th1=0xfd; tl1=0xfd; ps=1; ea=1; ex1=0; et0=1; es=1; tr0=1; tr1=1; high_time=50; low_time=50; pidinit ( &spid ); / initialize structure spid.proportion = 10; / set pid coefficients spid.integral = 8; spid.derivative =6; spid.setpoint = 100; / set pid setpoint while(1) if(plus=0) ea=0; for(a=0;a5;a+) for(b=0;b102;b+) if(plus=0) set_temper+; flag=0; else if(subs=0) for(a=0;a5;a+) for(b=0;a102;b+) if(subs=0) set_temper-; flag=0; else if(stop=0) for(a=0;a5;a+) for(b=0;b5) temper=a; else temper=b; a=temper; flag_2=0; if(+count130) display(); count1=0; compare_temper(); tr0=0; z=1; while(1) ea=0; i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能家居安全系统安装协议
- 的股权转让合同书
- 节能环保设施采购与运营协议
- 农民合作种养殖技术支持合同
- 详细收入及年终奖金津补贴证明(7篇)
- 行政管理市政学知识更新试题及答案
- 在建筑工程中提升竞争力试题及答案
- 行政管理的组织变革试题及答案
- 现代管理中的实施策略与执行力考查试题及答案
- 科技助力市政管理试题及答案
- 水资源应急调度模型-洞察分析
- 2025年会计专业考试高级会计实务试题及解答参考
- 【MOOC】创新方法与实践-河南理工大学 中国大学慕课MOOC答案
- DB32T 4321-2022 公路工程施工安全管理信息系统技术规范
- DB51-T 3000-2023 退役军人服务站建设与运行管理规范
- 神经指南:中国成人失眠诊断与治疗指南(2017版)
- 代理商合作条件说明
- 团员发展纪实簿
- 口腔医学美学学习通超星期末考试答案章节答案2024年
- 【《网上购物系统的设计与实现》13000字(论文)】
- DB11-T 1952-2022 地理国情监测技术规程
评论
0/150
提交评论