计算机控制技术课程设计-微机测控系统设计.doc_第1页
计算机控制技术课程设计-微机测控系统设计.doc_第2页
计算机控制技术课程设计-微机测控系统设计.doc_第3页
计算机控制技术课程设计-微机测控系统设计.doc_第4页
计算机控制技术课程设计-微机测控系统设计.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中北大学计算机控制技术课程设计说明书1引言 在现代测控系统中,由于PC机具有强大的数据处理能力和良好的用户交互界面,单片机具有较强的现场抗干扰能力及良好的性价比,因此以PC机为上位机实施用户控制和以单片机为下位机进行实时数据采集的分布式智能化控制系统无疑具有很好的应用前景。本文中单片机实现了温度检测,具有较好的实时性;PC机完成了数据显示、存储及统计分析,绘制了实时温度曲线,并对系统目前所处状况做出了评判。两者之间以串行口进行通信联络。2.温度控制系统的总体结构概况温度信息由温度传感器测量并转换成微安级的电流信号,经过运算放大电路将温度传感器输出的小信号进行跟随放大,输入到A/D转换器(ADC0809)转换成数字信号输入主机。数据经过标度转换后,一方面通过数码管将温度显示出来;另一方面,将该温度值与设定的温度值进行比较,调整电加热炉的开通情况,从而控制温度。在断开电加热器,温度仍然异常,报警器发出声音报警,提示采取相应的调整措施。其温度控制系统的原理框图如图2-1所示。电压跟随器运算放大电路温度传感器AD转换器微处理器加热控制电路报警译码显示图 2-1 系统原理框图3.系统器件选择3.1 系统扩展接口的选择本次设计采用的是STC89C51微处理器,选择STC89C51可编程并行接口作为系统的扩展接口,STC89C51的通用性强,适应灵活,通过它CPU可直接与外设相连接。3.2温度传感器与AD转换器的选择本系统选用温度传感器ADC0809构成测温系统。ADC0809是一种电压输入、电流输出型集成温度传感器,测温范围为0200,非线性误差在1,其输出电流与温度成正比,温度没升高1K(K为开尔文温度),输出电流就增加1uA。其输出电流I=(273+T)uA。本设计中串联电阻的阻值选用2K,所以输出电压V+=(2730 + 10T)MV.另外,为满足系统输入模拟量进行处理的功能,对其再扩展一片ADC0809,以进行模拟数字量转化。3.3 显示接口芯片为满足本次设计温度显示的需要,我们选择了8279芯片,INTEL8279芯片是一种通用的可编程的键盘、显示接口器件,单个芯片就能完成键盘键入和LED显示控制两种功能。备注:系统硬件接线应尽量以插接形式连接,这样便于多用途使用和故障的检查和排除。 3.4 STC89C51微处理器及其体系结构3.4.1 STC89C51CPU的编程结构编程结构:是指从程序员和使用者的角度看到的结构,亦可称为功能结构。从功能上来看,STC89C51CPU可分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。8086CPU的内部功能结构如图34.1所示:图3-4.1 STC89C51CPU内部功能结构图3.4.2执行部件(EU)功能:负责指令的执行。组成:包括ALU(算术逻辑单元)、通用寄存器组和标志寄存器等,主要进行8位及16位的各种运算。3.4.3总线接口部件(BIU)功能:负责与存储器及I/O接口之间的数据传送操作。具体来看,完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。组成:它由段寄存器(DS、CS、ES、SS)、16位指令指针寄存器IP(指向下一条要取出的指令代码)、20位地址加法器(用来产生20位地址)和6字节(8088为4字节)指令队列缓冲器组成。4.数据采集系统的硬件基础 该系统的下位机选择Atreel公司的AT89S51单片机作为控制核心,负责采集现场温度值。温度传感器将温度转换为电压信号,经模数转换器ADC0809转换成8位数字量,并经AT89S51的P1口进入单片机保存。上位PC机通过串行口与下位机联络,向下位机发送控制命令和接收下位机上传的数据以及进行人机交互。上位机采用VB 60进行人机交互界面设计,并利用其MSComm控件实现与下位机简单而高效的串行通信。充分发挥了单片机在实时数据采集和PC机对图形处理、显示以及数据库管理上的优点。使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而是形成了以网络为核心的分布式多点系统的发展趋势。由于上下位机串行口工作电平不一致,它们之间通过MAX232芯片将单片机TTL电平转换为RS 232电平。温度信息由温度传感器测量并转换成微安级的电流信号,经过运算放大电路将温度传感器输出的小信号进行跟随放大,输入到A/D转换器(ADC0809)转换成数字信号输入主机。数据经过标度转换后,一方面通过数码管将温度显示出来;另一方面,将该温度值与设定的温度值进行比较,调整电加热炉的开通情况,从而控制温度。在断开电加热器,温度仍然异常,报警器发出声音报警,提示采取相应的调整措施。其温度控制系统的原理框图如图4-1所示。电压跟随器运算放大电路温度传感器AD转换器微处理器加热控制电路报警译码显示图 4-1 系统原理框图5 系统各部分功能模块介绍5.1温度测量和控制部分5.1.1温度测量部分ADC0809是AD公司生产的一种精度和线度较好的双端集成传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1uA最大电流的变化或1摄氏度等效误差。图5-1.1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路。ADC0809输出的电流I=(273+T)uA(T为摄氏温度)。因此测量的电压V为(273+T)uA10K=(2.73+T/100)V,为了将电压测量出来,又务必使电流I不分流出来。使用电压跟随器使其输出电压V2等于V 。由于一般电源供应多器件之后,电源是带杂波的,因此使用稳压二极管作为稳压元件,再利用可变电阻分压,其输出电压V1需调至2.73V。差动放大器其输出V0 为(100K/10K)(V2-V1)=T/10,如果现在为摄氏28,输出电压为2.8V。输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线性比例的关系。图 5-1.1输出电流的基本温度敏感电路5.1.2 温度控制部分当PC6为高电平时,三极管导通,继电器吸合,向加热系统输出12V电压加热;反之,输入低电平,三极管截止,继电器断开,停止加热。在图5-1.2中,二极管的作用是吸收继电器端开时产生的浪涌电压。图 5-1.2温度控制图5.2 ADC0809与AT89S51的连接模拟输入通道地址A,B,C直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换。为了减少输入噪声其他通道直接接地。ADC0809的数据线D0-D7与AT89S51的PB0-PB7相连接。其片选CS与AT89S51的地址/数据总线AD14相连接。图 5-2 ADC0809与AT89S51的连接图5.3 AT89S51的可编程外设接口电路AT89S51的数据口D0-D7与CPU的6根控制线相连接,控制AT89S51内部的各种操作。控制线RESET用来使AT89S51复位。CS和地址线A1及A0用于芯片选择和通道寻址。图 5-3 AT89S51的可编程外设接口电路图5.4 数据显示部分图 5-4数据显示图5.5 系统硬件原理图图 5-5系统硬件原理图6.VB环境下串行通信的实现方法 VB可视化界面的设计风格具有简单、易学、高效的特点,已成为众多开发人员采用的工具,且被广泛应用到各个领域。VB的MSComm通信控件,只需用户编写少量的程序代码即可完成通信软件的开发过程。61 MSComm控件简介 MSComm控件是Microsoft公司提供的串行通信ActiveX控件,MSComm控件通过串行口发送和接收数据,为应用程序提供串行通信功能。MS-Comm通信控件的主要属性如下: (1)CommPort属性用于设置或返回通信连接端口。在设计时,CommPort属性值可以设置成从116的任何数(缺省值为1)。 (2)Settings属性用于设置初始化参数。以字符串的形式设置或返回联机速率、奇偶校验、数据位、停止位等4个参数。其格式为:“BBBB,P,D,S”。其中,BBBB表示联机速率;P表示奇偶校验位检查方式;D表示数据位数;S表示停止位数。该系统设其为“9600,N,8,l”。 (3)Portopen属性用于设置或返回通信串口的状态(开或关)。Portopen属性为Boolean类型,当值为True时,表示打开串口;当值为False时,表示关闭串口,并清空接收和发送缓冲区。 (4)Input属性用于从接收缓冲区读取数据。 (5)Output属性用于向发送缓冲区写入数据。 (6)InputMode属性用于读取或设置从接收缓冲区读取数据的格式,当InputMode=O时,数据以文字形式读取;当InputMode=1时,数据以二进制形式读取。62 上位机程序设计上位机主要负责发送控制命令,以及数据的接收、处理、计算、数据的显示等功能。上位机程序分为四个部分:界面设计、程序初始化、数据通信、数据处理。通过开始界面,显示提示信息,调用温度子程序,设置温度。通过模数转换器采集AD值并求其平均值。调用BCD码转换子程序将其转换为十进制温度值;调用显示子程序,如果温度高于实际温度,就加热,反之拨动开关关闭,停止加热。在此过程中,还可以重复设置温度值。其流程图如图6-2所示。N开始系统初始化显示提示信息调用温度值设置子程序实际温度低于给定值PA0=1加热8255 PC6口=1停止加热8255 PC6口=0显示提示信息调用温度值设置子程序重新设置温度并将PA0拨到0 以进行重新调节有键按下返回采集AD值并求其平均值调用BCD码转换子程序将其转换为十进制温度值调用显示子程序YYNNN图6-2 系统流程图主操作界面主要分为四个组成部分。其中,温度界限部分主要用来显示用户自己设定的温度上下限;数据接收部分采用外部控件MSFlexGrid来显示已经接收过来的数据;统计计算部分用来显示对数据分析后的结果,如最大值、最小值、平均值等,最后对当前系统状况作出综合评判;温度曲线部分显示当前所有温度的变化情况,每个温度值对应曲线突出的一点,其中两条虚线内的点代表温度值在界限范围内,两条虚线外的两个点则表示该温度值超出了界限范围。进入主界面后,用户首先单击“开始联络”,此时上位机会向下位机发出联络信号,下位机受到预先设定的联络信号后,会将数据发送过来;然后单击“接收数据”命令,此时会在MSFlexGrid控件中按先后顺序依次显示接收到的数据;在进行数据处理之前,用户可根据自身需求进行温度界限的设定,仅单击“界限设置”命令即可实现;最后进行数据处理,单击相应命令按钮后,会在界面绘出当前温度曲线,并计算出各种统计参数。63下位机通信软件设计下位机程序包括初始化部分、数据采集和接收联络信号部分、数据发送部分。AT89S51单片机串行通信由定时器Tl作为波特率发生器,其波特率与PC机一致。数据的传送格式为8位数据位和1位停止位。采用查询方式发送和接收数据,定时器T1设置为工作模式2,串行口设置为工作方式1。该设计将通信速率设置为9 600 bs,SMOD=0,单片机晶振频率为11059 2 MHz,此时定时器T1的初值应被设为:X=253=FDH.7 系统调试通过前一部分的介绍说明,我们对系统的工作情况有了大体的了解。为了进一步了解系统的工作过程,这里介绍一下系统调试过程及调试过程中出现的一些具体的问题。我们的实验调试软件运行于DOC环境下,其步骤如下:一、根据硬件图和原理图连接好线路。二、在PC机上敲入程序,并对其进行的查错,编译,连接,最后生成可执行文件。三、接上电源,敲入可执行文件的文件名,系统就开始了工作过程。1)这是DOC屏幕上会出现的一些提示信息,如ENTER ANY KEY TO BEGIN!* LET PA0=0 TO ADJUST THE TEMPERATURE VALUE!* LET PA0=1 TO INPUT A NEW TEMPERATURE VALUE!*这里后两条只作注释用。2)然后敲任意一个键,系统就开始进行温度测量和显示,屏幕上就会显示 INPUT THE TEMPERATURE:在这一条信息之后敲入一温度值。注意这里敲入的温度值不能大于76摄氏度,否则屏幕将会显示INPUT VALUE ERROR !并返回 DOC。(以后重新设定温度时也是如此)3)在正常情况下,敲入设定温度后系统就开始进行控制调节,当实际温度小鱼设定值时,系统就开始进行加热,如果不加改变,它就会加热一直稳定到设定的温度值;如果这是想重新设置一温度,只要把8255的PA0读取拨动开关拨到1,屏幕上就会显示:INPUT A NEW TEMPERATURE:这里又得注意一下,在敲入一个新的设定温度之前,得先把PA0读取拨动开关拨到0,否则,在敲完设定温度之后,屏幕上又会显示同样一条信息。因为它是根据PA0是0还是1来决定是去重新输入设定温度还是去调节温度。如果不先把PA0拨为0,它就是一直输入却不进行调节。另外,这里温度值的设定的次数没有限制。8 结论本设计采用的单片机是作为现代工业中最常用的集成芯片。具有体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、易于推广应用等显著优点,通过软件逻辑控制实现对温度的控制和调节。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例。本设计中应用了许多单片机芯片和单片机常用的外部设,单片机芯片如:ADC0809,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论