《基于单片机与PC的K型热电偶串口通信与PID控制.doc》由会员分享,可在线阅读,更多相关《基于单片机与PC的K型热电偶串口通信与PID控制.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、武汉理工大学华夏学院信息工程课程设计报告书课 程 名 称 计算机测控技术 课程设计总评成绩 学生姓名、学 号 学 生 专 业 班级 指 导 教 师 姓名 课程设计起止日期 2011.12.262011.12.31 课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 基于单片机与PC的K型热电偶串口通信与PID控制 初始条件:1 运用所学的单片机原理及应用知识;2 单片机原理及应用实验设备。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计相应的K型热电偶的温度传感器采集电路,使用汇编语言或C语言编写程序,实现温度数据的采集,实现的功能如下
2、:1.采样AD值:编写AD采样程序,能够实时的接收来致MAX6675的数字信号;2.实现标度变换:由采集到的AD值得到实际的温度值;3.显示实际温度值:通过串口小助手,能在PC机上显示计算出来的实际温度值(保留一位小数);4.PID控制:通过串口小助手向单片机发送PID参数值,并在数码管上显示设置的PID值;时间安排:序号阶 段 内 容所需时间(天)1设计思路、原理电路设计12编程,调试33撰写课程设计报告1合 计5指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日课程设计基本要求课程设计是工科学生十分重要的实践教学环节,通过课程设计,培养学生综合运用先修课程的理论知识和专业技能
3、,解决工程领域某一方面实际问题的能力。课程设计报告是科学论文写作的基础,不仅可以培养和训练学生的逻辑归纳能力、综合分析能力和文字表达能力,也是规范课程设计教学要求、反映课程设计教学水平的重要依据。为了加强课程设计教学管理,提高课程设计教学质量,特拟定如下基本要求。1. 课程设计教学一般可分为设计项目的选题、项目设计方案论证、项目设计结果分析、答辩等4个环节,每个环节都应有一定的考核要求和考核成绩。2. 课程设计项目的选题要符合本课程设计教学大纲的要求,该项目应能突出学生实践能力、设计能力和创新能力的培养;该项目有一定的实用性,且学生通过努力在规定的时间内是可以完成的。课程设计项目名称、目的及技
4、术要求记录于课程设计报告书一、二项中,课程设计项目的选题考核成绩占10%左右。3. 项目设计方案论证主要包括可行性设计方案论证、从可行性方案中确定最佳方案,实施最佳方案的软件程序、硬件电路原理图和PCB图。项目设计方案论证内容记录于课程设计报告书第三项中,项目设计方案论证主要考核设计方案的正确性、可行性和创新性,考核成绩占30%左右。4. 项目设计结果分析主要包括项目设计与制作结果的工艺水平,项目测试性能指标的正确性和完整性,项目测试中出现故障或错误原因的分析和处理方法。项目设计结果分析记录于课程设计报告书第四项中,考核成绩占25%左右。5. 学生在课程设计过程中应认真阅读与本课程设计项目相关
5、的文献,培养自己的阅读兴趣和习惯,借以启发自己的思维,提高综合分和理解能力。文献阅读摘要记录于课程设计报告书第五项中,考核成绩占10%左右。6. 答辩是课程设计中十分重要的环节,由课程设计指导教师向答辩学生提出23个问题,通过答辩可进一步了解学生对课程设计中理论知识和实际技能掌握的程度,以及对问题的理解、分析和判断能力。答辩考核成绩占25%左右。7.学生应在课程设计周内认真参加项目设计的各个环节,按时完成课程设计报告书交给课程设计指导教师评阅。课程设计指导教师应认真指导学生课程设计全过程,认真评阅学生的每一份课程设计报告,给出课程设计综合评阅意见和每一个环节的评分成绩(百分制),最后将百分制评
6、分成绩转换为五级分制(优秀、良好、中等、及格、不及格)总评成绩。8. 课程设计报告书是实践教学水平评估的重要资料,应按课程、班级集成存档交实验室统一管理。一、课程设计项目名称基于单片机与PC的K型热电偶串口通信与PID控制 二、项目设计目的及技术要求项目设计主要目的: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计相应的K型热电偶的温度传感器采集电路,使用汇编语言或C语言编写程序,实现温度数据的采集,实现的功能如下:1.采样AD值:编写AD采样程序,能够实时的接收来致MAX6675的数字信号;2.实现标度变换:由采集到的AD值得到实际的温度值;3.显示实际温度值:通过串口小助
7、手,能在PC机上显示计算出来的实际温度值4.PID控制:通过串口小助手向单片机发送PID参数值,并在数码管上显示设置的PID值;相关技术要求:1.单片机与PC之间的串口通讯技术要求。利用PC机配置的异步通信适配器,可以方便的完成PC机遇89C52单片机的数据通信。但是由于89C52单片机输入、输出电平为TTL电平,而PC机配置的是RS-232标准串行接口,二者的电器规范不一致,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX6675进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。因此采用MXA6675单芯片 实现89C52单片机于PC机的RS-232标准接口
8、通信电路。利用已经编好的AD采样程序,能够实时的接收来致MAX6675的数字信号。利用串口小助手,能在PC机上显示计算出来的实际温度值。2. K型热电偶的温度传感器技术股要求热电偶的结构形式为了保证热电偶可靠、稳定地工作,对它的结构要求如下: 组成热电偶的两个热电极的焊接必须牢固; 两个热电极彼此之间应很好地绝缘,以防短路; 补偿导线与热电偶自由端的连接要方便可靠; 保护套管应能保证热电极与有害介质充分隔离。热电偶作为一种主要的测温元件,具有结构简单、制造容易、使用方便、测温范围宽、测温精度高等特点。但是将热电偶应用在基于单片机的嵌入式系统领域时,却面临着以下三大技术问题。非线性:热电偶输出热
9、电势与温度之间的关系为非线性关系,因此在应用时必须进行线性化处理。冷补偿:热电偶输出的热电势为冷端保持为0时与测量端的电势差值,而在实际应用中冷端的温度是随着环境温度而变化的,故需进行冷端补偿。数字化输出:与嵌入式系统接口必然要采用数字化输出及数字化接口,而作为模拟小信号测温元件的热电偶显然法直接满足这个要求。因此,若将热电偶应用于嵌入式系统时,须进行复杂的信号放大、A/D转换、查表线性线、温度补偿及数字化输出接口等软硬件设计。3.PID控制技术要求 PID控制部分的程序中应合理地设定温度,一百年经放大后与实际温度进行比较;合理地选择加热时间,尽量避免加热时间太短无法达到对温度的测定或加热时间
10、太长导致仪器过热烧坏;合理地设定比例系数、积分系数、微分系数,使模拟调节器依一定控制规律使操作变量变化,以使设定温度值与实际温度值偏差趋近于零。选择采样周期应综合考虑的因素:(1)给定值的变化频率加到被控对象上的给定值变化频率越高,采样频率应越高,以使给定值的改变通过采样迅速得到反映,而不致在随动控制中产生大的时延。(2)被控对象的特性1) 考虑对象变化的缓急,若对象是慢速的热工或化工对象时,T一般取得较大。在对象变化较快的场合,T应取得较小。2) 考虑干扰的情况,从系统抗干扰的性能要求来看,要求采样周期短,使扰动能迅速得到校正。(3)使用的算式和执行机构的类型1) 采样周期太小,会使积分作用
11、、微分作用不明显。同时,因受微机计算精度的影响,当采样周期小到一定程度时,前后两次采样的差别反映不出来,使调节作用因此而减弱。2) 执行机构的动作惯性大,采样周期的选择要与之适应,否则执行机构来不及反应数字控制器输出值的变化。4、控制的回路数要求控制的回路较多时,相应的采样周期越长,以使每个回路的调节算法都有足够的时间来完成。控制的回路数n与采样周期T有如下关系:式中,Tj是第j个回路控制程序的执行时间。三、项目设计方案论证(可行性方案、最佳方案、软件程序、硬件电路原理图和PCB图)1 可行性方案选择 方案一:采用以8051系列的AT89C2051单片机为核心开发K型热电偶的系统 热电偶传感器
12、采集到温度信号传送给信号处理模块,信号处理由Max6675单芯片构成,它是由一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器。它与单片机通信读出温度值,经过线性化处理后发给显示电路显示,显示电路是由数码管组成的。方案二:采用K型热电偶数字转换器本设计使用了MAX6675单片机K型热电偶数字转换器,已完成将热电偶输出的mV级热电势转换为可与单片机连接的数字信号任务。该器件将热电偶数字转换所需的热电偶放大器、冷端补偿、A/D转换及数字量输出的SPI串行接口全部集成在一个芯片内而无需使用任何外围的元件。方案三:采用K型热电偶的A/D转换器MAX6675是可编程的K
13、型热电偶A/D转换器,可以使用C汇编程序完成。MAX6675的输出数据为16位,其中D15始终无用且一直为零,D14D3对应于热电偶模拟输入电压的数字转换量,D2用于检测热电偶是否断线(D2为1表明热电偶断开),D1为MAX6675的标识符,D0为三态。其转换结果与对应温度值具有较好的线性关系:温度值1023.75 转换后的十进制数/4096。最佳方案:方案一热电偶传感器 信号 处理 单片机数码管显示图1系统框图1 . K型热电偶的结构及特点K型热电偶是一种感温元件,属于K 型(镍铬 - 镍硅)WRN 系列, 它把温度信号转换成热电动势信号 , 通过电气仪表转换成被测介质的温度。热电偶测温的基
14、本原理是两种不同成份的均质导体组成闭合回路 , 当两端存在温度梯度时 , 回路中就会有电流通过,此时两端之间就存在 Seebeck 电动势热电动势,这就是所谓的塞贝克效应。两种不同成份的均质导体为热电极,温度较高的一端为工作端, 温度较低的一端为自由端,自由端通常处于某个恒定的温度下。根据热电动势与温度的函数关系 , 制成热电偶分度表 ; 分度表是自由端温度在 0 时 的条件下得到的,不同的热电偶具有不同的分度表。在热电偶回路中接入第三种金属材料时 , 只要该材料两个接点的温度相同 , 热电偶所产生的热电势将保持不变,即不受第三种金属接入回路中的影响。因此 , 在热电偶测温时 , 可接入测量仪
15、表 , 测得热电动势后 , 即可知道被测介质的温度。热电偶的结构形式:热电偶的基本结构是热电极,绝缘材料和保护管;并 与显示仪表、记录仪表或计算机等配套使用。热电偶优点: 测量精度高:热电偶与被测对象直接接触,不受中间介质的影响。 热响应时间快:热电偶对温度变化反应灵敏。 测量范围大:热电偶从 -40+ 1600 均可连续测温。 性能可靠, 机械强度好。 使用寿命长,安装方便。2.热电偶冷端的温度补偿 由于热电偶的材料一般都比较贵重,而测温点到仪表的距离都很远,为了节省热电偶材料,降低成本,通常采用补偿导线把热电偶的冷端(自由端)延伸到温度比较稳定的控制室内,连接到仪表端子上。必须指出,热电偶
16、补偿导线的作用只起延伸热电极,使热电偶的冷端移动到控制室的仪表端子上,它本身并不能消除冷端温度变化对测温的影响,不起补偿作用。因此,还需采用其他修正方法来补偿冷端温度t00时对测温的影响。 在使用热电偶补偿导线时必须注意型号相配,极性不能接错,补偿导线与热电偶连接端的温度不能超过100。3.A/D转换及采样系统结构及工作原理:系统主要以AD模数转换器和AT89C51单片机为核心,进行实时温度数据采集,数据处理和显示,终端接收及存储。具体包括控制、显示、A/D转化器等。设计中用AD转换器进行温度的采样,利用51单片机的串行口进行发送和接收数据。利用8个LCD数码管进行显示数据处理。采用PROTE
17、US和Keil uvision3为开发工具,软件设计采用模块化编程。数据采集系统是用计算机控制的多路自动检测或巡回检测,并且能够对采集到的数据进行存储、计算、分析,以及从数据中提取可用的信息,供显示,记录、打印或描绘的系统。数据采集系统通常由数据输入通道、数据处理、数据存储、数据显示、数据输出五个部分组成。输入通道实现对数据的检测并读取;数据转化是将采集到的数据进行适当的转化;以便输出人们易懂的数据;数据存储是对采集过来的数据进行存储;以防下次用到可以方便提取;数据显示便是将处理后的数据进行显示,让操作者可以方便读取采集到的信息,以便进行控制;数据输出就是将数据输送到打印机打印。数据采集电路用
18、到了以下模块:(1)ADC数据采集模块:在此模块中,主要是ADC采集数据是的时序处理,CE=1,CS=0,A0=0,RC=0,进行12位模数转换,STS由高电平变为低电平说明转换结束,单片机进行采集。(2)发送机发送模块:在此模块中,主要是查询法得知转换结束(STS由高电平变为低电平说明转换结束),将采集到数据进行一定处理后进行发送。(3)接收机接收模块:与发射机对应,波特率要设置成与发射机波特率相同,而且也是在收到信号后进行数据处理。 并且调用显示功能。在此模块中,当RI=1,进入中断以后,要用软件清零。(4)LED数码管显示模块:在此模块中,主要是考虑将采集到的数据正确地显示处理,给操作者
19、一个非常直观的界面。在这个模块中要处理的一个难题是:如何不让数码管跳动显示。软件实现过程主要控制好段选与位选,以及延时时间上的处理。(5)传输速率处理模块:在此模块中,主要处理波特率问题,即如何通过用户的要求,改变传输波特率,并且显示出来。4.单片机与PC之间的串口通讯(1) 51单片机是一种集CPU,RAM,FLASH ROM,I/O接口和定时中断系统于一体的微型计算机。只要有外加电源和晶体振荡器就可以独立完成对数字信号的算术运算,逻辑控制,串行通信等功能。当需要处理较复杂数据或需要对多个采集数据进行综合处理以及需要进行集散控制时,单片机的算术运算和逻辑运算能力显的不足,这时往往需要借助计算
20、机系统。将单片机采集的数据通过串行口传给PC机,由PC机高级语言或数据库语言进行处理,或者实现PC机对远程单片机进行控制。因此,实现单片机与PC机之间的远程通信更具有实际意义。 单片机模块 单片机模块中主要包括单片机、复位电路、晶振电路、上拉电阻和端口扩展等。端口扩展部分可以通过跳线将单片机的I/O口在系统板上的功能释放,并将其连接到扩展上。通信模块 通信模块中采用MAX232作为通信电平转换电路、实现RS-232的数据传输,可以直接与PC进行通信。(2) MAX6675封装在SO-8脚的芯片中,推荐工作电压为一单+5V直流电压,连续工作时的功耗仅为47.1mW,电流为50mA,适用于体积不大
21、,不利散热的装置条件下使用,其引脚图如图1所示。其中SO为SPI串行输出端口引脚; 为片选信号;SCK为串行时钟输入;T+、T-分别接热电偶的测量端和冷端。 (3)MAX6675的工作原理与功能 根据热电偶测温原理,热电偶的输出热电势不仅与测量端的温度有关,而且与冷端的温度有关,使用硬件电路进行冷端补偿时,虽能部分改善测量精度,但由于热电偶使用环境的不同及硬件电路本身的局限性,效果并不明显;而使用软件补偿,通常是使用微处理机表格法或线性电路等方法来减小热电偶本身非线性带来的测量误差,但同时也增加了程序编制及调试电路的难度。MAX6675对其内部元器件参数进行了激光修正,从而对热电偶的非线性进行
22、了内部修正。同时,MAX6675内部集成的冷端补偿电路、非线性校正电路、断偶检测电路都给K型热电偶的使用带来了极大方便。 MAX6675内部集成有冷端补偿电路;带有简单的3位串行SPI接口;可将温度信号转换成12位数字量,温度分辨率达0.25;内含热电偶断线检测电路。冷端补偿的温度范围-2080,可以测量01023.75的温度,基本符合工业上温度测量的需要,其串行接口时序如图3所示。由接口时序可以看出,当MAX6675的 引脚从高电平变为低电平时,MAX6675将停止任何信号的转换并在时钟SCK的作用下通过SO引脚向外输出已转化的数据(此数据是经过放大了的A/D转换后的数字量与冷端补偿之和);
23、相反,当 从低电平变回高电平时,MAX6675将进行新的转换。在 引脚从高电平变为低电平时,第一个字节D15出现在引脚SO上,一个完整的数据读过程需要16个时钟周期,数据的读取通常在SCK的下降沿完成。值得指出的是此芯片的AD转换速度在0.170.22s之间,比之一般的AD转换芯片微秒级的转换速度要长得多。MAX6675是可编程的K型热电偶A/D转换器,可以使用C汇编程序完成。MAX6675的输出数据为16位,其中D15始终无用且一直为零,D14D3对应于热电偶模拟输入电压的数字转换量,D2用于检测热电偶是否断线(D2为1表明热电偶断开),D1为MAX6675的标识符,D0为三态。其转换结果与
24、对应温度值具有较好的线性关系:温度值1023.75 转换后的十进制数/4096。程序/头文件#include #include #include /外部定义变量extern bit RecFinishFlag; extern unsigned char RecData10;extern unsigned char Redata8;extern unsigned char KeyValue;/外部定义函数 extern void Menu1(void);/* 程序描述:系统初始化程序*/void System_Init()/串口参数初始化 SCON=0x50; /串口工作方式1,8位UART,波
25、特率可变 TH2=0xFF; TL2=0xFD; /波特率: 晶振=11.0592MHz RCAP2H=0xFF; RCAP2L=0xFD; /16位自动再装入值 TCLK=1; RCLK=1; C_T2=0; EXEN2=0; /波特率发生器工作方式 TR2=1 ; /定时器2开始 ES = 1; /开串口中断 /定时器0初始化TMOD|= 0x01; /定时器工作方式1TH0 = 0xF8; /2msTL0 = 0xCC; TR0 = 0; /关闭定时器0计数ET0 = 0; /关定时器0中断 /定时器1初始化TMOD|= 0x10; /定时器工作方式1TH1 = 0xA6; /25msT
26、L1 = 0x00; TR1 = 0; /关闭定时器1计数ET1 = 0; /关定时器1中断IP=0x10; /设置串口中断高优先级EA=1; /开总中断Pwm_Port=1; /停止加热/* 程序描述:系统主程序*/main() unsigned int Tdat=0; System_Init(); while(1) if (RecFinishFlag=1) RecFinishFlag=0; RedDataFrame(Redata) ; RecComand(RecData); switch(KeyValue) case 0x00: Menu1(); break;default: break;
27、 /头文件#include/自定义变量bit RecFinishFlag=0;/接收完成标识符unsigned char RecData4=0;unsigned char Redata8=0;unsigned char FValue=0;unsigned char KeyValue=0;/* 程序描述:串口接收中断函数*/void Usart_inter(void) interrupt 4 static unsigned char Data_Flag=0; if(RI = 1) /RI接受中断标志 RI = 0; /清除RI接受中断标志 RedataData_Flag = SBUF; /SUB
28、F接受/发送缓冲器 Data_Flag+; if(Data_Flag=8) Data_Flag=0; RecFinishFlag=1; /* 程序描述:串口发送数据函数*/void USART_SendData(unsigned char Data) SBUF=Data;while(!TI); / 发送标志位是否产生TI=0; / 清发送标志位 /* 程序描述:串口发送数组函数*/ void UsartArray(unsigned char String,unsigned char num) unsigned char i; for(i=0;inum;i+)USART_SendData(Str
29、ingi);/发送命令 /* 程序描述:串口接收数据帧识别函数*/void RedDataFrame(unsigned char redata) if(redata0=0xaa)&(redata4=0xcc)&(redata5=0x33)&(redata6=0xc3)&(redata7=0x3c) RecData0=redata1; RecData1=redata2; RecData2=redata3; /*函数名: void RecComand(u8 *redata)简要描述:提取一帧数据中的信息值传递函数:数组地址,数组长度,编写日期:2011/07/21*/ void RecComand
30、(unsigned char rdata)switch(rdata0)case 0x78:KeyValue = rdata2;break;default:break;四、项目设计结果分析(分析试验过程中获得的数据、波形、现象或问题的正确性和必然性,分析产生不正确结果的原因和处理方法)结果分析1 完成K性热电偶的测温 2 完成测温系统的硬件选型和电路设计 3 完成测温系统的软件流程图设计 4 完成K型热电偶与单片机的串口通信 实验结论 热电偶测温系统对有限一定范围温度具有较高的精度,最小分辨率为0.25摄氏度,其主要技术指标达到了系统设计的要求。五、参考文摘(相关文摘不少于5篇,记录每篇文献的作
31、者姓名.文献名称.文献发行城市:文献出版社,出版年;文献内容摘要, 每篇不少于100字)【1】司玉美,邹荣士,郭立.PCI串口通信卡WDM驱动程序设计与实现.摘要:介绍了Window2000操作系统的体系结构和在Windows2000下实现PCI接口设备驱动程序架构的方法。针对基于PCI接口芯片PCI9054和通用异步收发器(UART)SC16C754设计的串口通信卡,给出了利用开发WDM(Win32 Driver Model)驱动程序的主要细节。实验结果表明,运用DMA传输方式,本地速率可达到24.45MB/s,大大提高了实时响应速度。【2】刘君,邱宗明 计算机测控技术 西安:西安电子工业大
32、学出版社2009 摘要:在现代工业生产中, 对于每一个工业过程, 人们都需要通过各种方法获取能反映事物客观变化或对象运动属性的各种数据, 记录下来进行分析处理, 并根据所获得的信息采取措施, 支配客观事物或对象的运动过程, 以保证生产过程按人们的愿望进行。一个是对生产过程状况的了解, 就是检测过程; 一个是对生产过程的改变,就是控制过程。 完成检测任务的系统称为测量系统, 用于控制过程的系统称为控制系统。测量的目的在于控制,因此很多情况下在一个系统中, 测量与控制是同时存在的,这就是所谓的测控系统。 【3】李群芳,肖看. 单片机原理接口与应用. 北京:清华大学出版社,2005 【4】谢瑞和等. 串行技术大全. 北京:清华大学出版社,2003 【5】于永权. 单片机应用技术. 北京:北京出版社,2006课程设计评分表评 分 项 目评分成绩1选题合理、目的明确(10分)2设计方案正确,具有可行性、创新性(30分)3项目工艺水平及测试性能达到技术要求(25分)4参考文摘不少于5篇(10分)5答辩(25分)总 分(100分)答辩记录:指导教师综合评语:指导教师(签名) 日 期: 年 月 日