51系列单片闭环温度控制试验报告.doc

上传人:scccc 文档编号:11934031 上传时间:2021-11-04 格式:DOC 页数:16 大小:548KB
返回 下载 相关 举报
51系列单片闭环温度控制试验报告.doc_第1页
第1页 / 共16页
51系列单片闭环温度控制试验报告.doc_第2页
第2页 / 共16页
51系列单片闭环温度控制试验报告.doc_第3页
第3页 / 共16页
51系列单片闭环温度控制试验报告.doc_第4页
第4页 / 共16页
51系列单片闭环温度控制试验报告.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《51系列单片闭环温度控制试验报告.doc》由会员分享,可在线阅读,更多相关《51系列单片闭环温度控制试验报告.doc(16页珍藏版)》请在三一文库上搜索。

1、成 绩:综合实验报告题 目51系列单片机闭环温度控制班 级:小组成员:指导教师:完成时间:2015年11月、实验名称:51系列单片机闭环温度控制实验基于Protuse仿真实验平台实现基本情况:1实验项目组长:2. 小组成员:序号姓名班级学号分工系数1233具体分工:负责程序编写,主要负责查询资料与实验报告撰写。4实验要求: 设计硬件电路:温度检测:采用热电偶或热电阻温度给定:采用电位器进行模拟电压给定,05VAD转采用12位转换显示采用8位LED,或者LCD1602显示 键盘4X4,PID等参数通过键盘设置。 软件控制算法:数字PID,参数在线修改。显示窗口:显示温度的设置值 SV、温度的实际

2、值PV实际温度值,温度峰值、峰值时间等通过串口上传到上位机 (选做)、实验内容1、系统基本原理(实验原理介绍)根据实验要求,温度闭环控制,即对加温速度、超调量、调节时间级误差参数,选 择PID控制参数级算法,实现对温度的自动控制。闭环温度控制系统原理图如下:2、PID算法的数字实现本次试验通过8031通过OVEN是模拟加热的装置,加一定的电压便开始不停的升 温,直到电压要消失则开始降温。仿真时, U形加热器为红色时表示正在加热,发红时 将直流电压放过来接,就会制冷,变绿。 T端输出的是电压,温度越高,电压就越高。8031对温度的控制是通过可控硅调控实现的。可控硅通过时间可以通过可控硅控制 板上

3、控制脉冲控制。该触发脉冲想 8031用软件在P1.3引脚上产生,受过零同步脉冲后 经光偶管和驱动器输送到可控硅的控制级上。偏差控制原理是要求对所需温度求出偏差 值,然后对偏差值处理而获得控制信号去调节加热装置的温度。PID控制方程式:I deU =K (E)*Tdt式中e是指测量值与给定值之间的偏差TD微分时间T 积分时间KP调节器的放大系数将上式离散化得到数字PID位置式算法,式中在位置算法的基础之上得到数字PID增量式算法:ji-23、温度控制软件设计 程序结构图如下:4、硬件电路设计在温度控制中,经常采用是硬件电路主要有两大部分组成:模拟部分和数字部分, 对这两部分调节仪表进行调节,但都

4、存在着许多缺点,用单片机进行温度控制使构成的 系统灵活,可靠性高,并可用软件对传感器信号进行抗干拢滤波和非线性补偿处理,可 大大提高控制质量和自动化水平;总的来说本系统由四大模块组成,它们是输入模块、 单片机系统模块、计算机显示与控制模块和输出控制模块。输入模块主要完成对温度信号的采集和转换工作,由温度传感器及其与单片机的接口部分组成。利用模拟加热的装置来控制温度。该闭环温度控制系统采用AT89S51八位机作为微处理单元进行控制。采用 4X4键盘把设定温度的最高值和最低值存入单片机的数据存储器,还可以通过键盘完成温度检测功能的转换。温度传感器把采集的信号与单片机里的数据相比较来控制温度控制器。

5、5、电路原理图1、仿真完整电路图 HliH2、12位AD转换模块C7,10uFCEt WTEVTI-0.1uF+5vAuTEXTA04 7622uFAINO VADOAIN1D1AIN202AIN3D304REFD5CAP03D7PAR 灼 ERBVTE日US/csR/CCONICPWROA0ND1AOA0Ni2A13.45U3ADS7S24 17ia1513121110252619IB0123456 70 0-000000O BYTE 日U計 R/C3、OVEN模型及信号调理电路4、单片机主电路U3ADS7S24C130pF3QpF 町EXI1幻U1C2IBCRYSTAL 00 102030

6、4050607ooooooooXT7L1PO.O/ADOP0.VAD1P0.2/AD2KTAL2P0.3/AD3PQ.4/AD4PO 5/AD5PO 6/AD6RSTPO.7/AD7P2,Q/A6P2.1/A9P2.2/A10PSENP2./A11ALEP2.4/A12EAP2.5/A13P2.6/A1 4P2.7/A15P1.0/T2PJJJ/RXDP1.1fT2EXP3.1JTXDP1.2P3.2/IMT0PI .3P3.3/IISTT1P1.4P3.4/T0P1.5P3.5JT1P1.GP3.E/WRPI 7P3.7/RD22_2L_9AT39C52CLOCKfI 1.0592MHz2:

7、!卫 5 -H-7丄 f3fi3736353433322122:9-oWWAARS RWEN BYTE BUSY R/C PWM17KI2I3MW1W2W3W4cocococoRrcroro01234567DDDDDDDD三、实验结果分析(含程序、数据记录及分析和实验总结等,可附页)1、51 系列单片机闭环温度控制实验程序Main.c#include includes.h char RX_Data5 = 0;charmeasure_temperature6+,0,0,0,C,0;charsetting_temperature60,1,0,0,C,0;char code_table16 = 7,

8、8,9,T,4,5,6,P, 1,2,3,I, +,0,-,D;char Pv6=P,0,9,0, ,0; char Iv6=I,0,0,0, ,0; char Dv6=D,0,0,5, ,0; int PWM_Period = 100;int PWM_Hight = 1;int PWM_Hights = 50; short m_temperature = 0; short s_temperature = 100; float pc = 090.0; float ic = 0.0; float dc = 5.0;float e1 = 0; float e2 = 0;PWM.c#include

9、includes.h uchar T_update = 0; uchar P_update = 0; uchar I_update = 0; uchar D_update = 0;void T0_time() interrupt 1/PWMPWM_Hights-;if(PWM_Hights = 0)PWM_EN = 0;PWM_Hights = 1;int main()timer_init();lcd_init();while(1)ADCRead();keyscan();Data_update();LCD_Display(0x80+0x08,setting_temp erature);LCD_

10、Display(0x80+0x40,Pv);LCD_Display(0x80+0x45,Iv);LCD_Display(0x80+0x4A,Dv);return 0;PWM_Period-;if(PWM_Period = 0)PWM_EN = 1; PWM_Period = 100;PWM_Hights = PWM_Hight;void pid()static long sum = 0;e2 = e1;e1 = s_temperature-m_temperature;sum += e1;if(e1 20)PWM_Hight = 100;else if(e1 100)PWM_Hight = 10

11、0;else if(PWM_Hight 1)PWM_Hight = 1;void Interrupt_T1() interrupt 3static int count = 0;TH1 = 0x3C;/ 定时 50msTL1 = 0xB0;count+;if(count = 20)pid(); count = 0;void update_Temp()short j = 0;short tmp = 0;for(j = 1;j=3;j+)tmptmp*10+(setting_temperaturej-0);if(setting_temperature0 = -) tmp = -tmp;s_tempe

12、rature = tmp;void update_Pv()short j = 0;short tmp = 0;for(j = 1;j=3;j+)tmp = tmp*10+(Pvj-0);pc = tmp;void update_Iv()short j = 0;short tmp = 0;for(j = 1;j=3;j+)tmp = tmp*10+(Ivj-0);ic = tmp;void update_Dv()short j = 0;short tmp = 0;for(j = 1;j0; i-)stri = (num % 10) + 0; num = num / 10;str5 = 0;voi

13、d ADCRead()short num = 0;/无符号 16 位RC = 0;/启动转换RC = 1;/启动读取 while(BUSY = 0); num = 0;BYTE = 0; /读取高 4 位 num = (num|P1)8; num = num & 0x0F00;BYTE = 1;/读取低 8 位num = num|P1;/12 位数据完整取好 if(num&0x0800) = 0x0800) measure_temperature0 = -; num = num&0xF7FF;num = (nu mPxO7FF)+1;m_temperature-(num/2O47.O)*999

14、.O);elsemeasure_temperature0 = +;m_temperature (num/2047.0)*999.0;Delay.c#include includes.hvoid delay_ms(int n)/1ms 延时uint i=0,j=0;for(i=0;in;i+)for(j=0;j 4) A OxOF; switch(i)case 1: keyno += O;break;case 2: keyno += 4;break;case 4: keyno += 8;break; case 8: keyno += 12;break;while(P3 != OxFO);if(k

15、eyno=O & keyno =15) if(update_flag = 1) key_code code_tablekeyno;setting_temperatureupdate_indexkey_code;update_index+;if(update_index = 4) update_flag = O;update_index = O;T_update = 1;else if(update_flag = 2)key_codecode_tablekeyno;Pv1+update_indexkey_code;update_index+;if(update_index = 3) update

16、_flag = O;update_index = O;P_update = 1;else if(update_flag = 3)key_codecode_tablekeyno;D_update = 1;lv1+update_i ndex1;break;2;break;3;break;4;break;0;default:update_flag =key_code;updatendex+; if(update_i ndex = 3) _ update_flag = 0;updatendex = 0; I_update = 1;else if(update_flag = 4) _key_code c

17、ode_tableke yno;Dv1+update_i ndex key_code;update_i ndex+; if(update_i ndex = 3) _ update_flag = 0;update_i ndex = 0;2、实验结果elseswitch(ke yno)case 3:update_flag =case 7:update_flag =case 11:update_flag =case 15:update_flag =u100度设定温度仿真结果LCD1LM01EL+101C+100CPIOG 1000 D朋3Odd 666 66006666(fl O Li 炉衣丘 0

18、k Z乜P电$ ztp o sw oc 金 Lu Baa 口 4 色口3、实验总结温度控制广泛应用于人们的生产和生活中,人们使用温度计来采集温度,通过人工操51系列单片机直流电机闭环调速实验劳动强度大。即使有些用户采用半导体二极管 作温度传感器,但由于其互换性差,效果也不理想。在某些行业中对温度的要求较高, 由于工作环境温度不合理而引发的事故时有发生。对工业生产可靠进行造成影响,甚至 操作人员的安全。为了避免这些缺点,需要在某些特定的环境里安装数字温度测量及控 制设备。在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温 度范围内变化,稳定性好,不振荡,对系统的快速要求不高。在

19、报告中中简单分析了温 度控制系统基于Protuse仿真实验,采用热电偶作为温度检测器,应用 LED显示,通过 键盘4X4来对PID进行参数控制。本实验设计使用8031作为主芯片进行控制,单片机具有集成度高,通用性好,功 能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优 点,在数字、智能化方面有广泛用途。其温度控制所用的热电偶,范围广泛,在系统中 如果加强算法,会大大提高控制精度,同时降低成本,提高效率。经过这次的实验,我们通过小组合作分工完成了本次实验,又一次加深了对LED的认识和加强了对keil以及Protues等软件的使用技能。在实验过程中,我们都要足够 细心有耐心,在调试程序的时候要细心的检查错误。在以后的学习中我们都要会学好理 论知识,将理论与实践相结合,不断提高自己动手能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1