1、 xx 大学 xx 届毕业设计说明书第 1 页 共 45 页 1 绪论1. 1 研究的目的和意义三相感应电动机是量大面广的电气驱动设备,在工业、农业、国防及各类机械装备中有广泛应用,在机械,钢铁,矿山,冶金,化工,石油,造纸,水泥,铁道等行业中,绝大部分生产机械都采用电动机作为原动力。三相感应电动机作为一种重要的机电产品,广泛地应用于从工农业生产到人们日常生活的各个领域。但传统手动操作的电机测试方法存在着测量时间不同步、人为因素影响大、工作效率低等缺点。设计三相感应电动机综合测试系统,自动完成三相感应电动机参数测量、数据显示、数据报表、绘制特性曲线并显示等功能 1。设计电机参数测量、采集模块,
2、包括感应电动机电压、电流、功率、转速等,存储、分析模块,进行数据显示,绘制特性曲线。国内的中小型三相感应电动机以每年 2%的幅度增长,人工进行点击试验已不能适应现代生产要求,实现电机测试,试验的自动化不仅是提高工作效率保证产品需要,也是产品走向国际市场的必要条件。至 2009 年以来,电机试验自动化的研究成为人们关注的课题之一,计算机的发展为电机测试自动提供了有力的手段。因此,在研发一套高准确度,高自动化程度的中小型电机自动测试系统对提高厂家的生产效率,减轻工作强度和提高产品质量都有很大的现实意义。随着计算机技术的发展,数据采集技术也发生了巨大的变化,对数据采集系统的精度,实时性提出了更高的要
3、求,充分开发和利用计算机的资源,将是数据采集系统的发展方向之一。虽然高性能的测试装置在国内外已有成形产品,但是它们的价格不是一般的单位可以接受的。因此,在计算机技术日益发展的今天,如何利用现有的设备,是它与计算机技术相结合,从而实现实用,价廉,并且快速,准确的数据采集于处理系统,将具有极强的现实意义。1. 2 国内外的研究情况在制造商控制和改进三相感应电动机质量的过程中,参数测试与性能试验的重要性是不言而喻的。因而自三相感应电动机发明以来,专家学者们一直没有中断过对其试验方法和试验技术的研究和改进。电机的微机自动化测试系统的产生与发展是与现xx 大学 xx 届毕业设计说明书第 2 页 共 45
4、 页 代科学技术的发展是密切相关的,特别是与计算机科学和大规模集成电路的发展是密不可的。上个世纪七十年代,随着大规模集成电路的发展,计算机开始进入微型化阶段,出现了以微处理器为核心的微型计算机和单片计算机,同时数字化自动化仪器仪表已经普遍应用于测量领域,现代科学技术中的数字技术、自动控制和调节技术、编码技术、接口技术、AD和DA变换技术得到了新的发展。也为电机的微机化自动测试系统的产生提供了条件。国外最先采用微型计算机进行电机试验,实现自动测试和数据处理的如德国西公司为慕尼黑大学电机试验室制造的300型过程控制计算机,在电机试验中大大简化了各种参数的测量。日本国际检测器公公司MDPIOI、MD
5、Pl02型电机性能综合测试仪。可以自动测试电压、电流、转速、转矩、功率、效率、功率因数等十多个项目,并有微机进行快速数据处理。法国CEM公司也研制了自动测试平台,主要用于05KW-80KW三相异步电机的测试,在国内也有一些单位研制电机的自动化测试系统,例如早期上海电器科学研究所研制,湖南仪表总厂生产DZW-I型电机微机自动测试仪,可用于05KW-130KW三相异步电机的空载特性、短路特性、杂散损耗(用反转法)、温升特性、工作特性等的测试,但由于系统微处理器一般采用Z80芯片,使用系统软件开发周期长,硬件设计和调试工作量大,并且价格昂贵,不利于推广应用。上个世纪八十、九十年代以来,由于计算机技术
6、的飞速发展和普及,电机的自动化测试系统也得到了极大的发展,国内许多的科研单位开始研制以PC机为核心的电机自动测试设备,如上海电机技术研究所研制的AM卜1型电机性能综合测试仪,它采用双机系统结构,上位机采用PCXT机,下位机为STD工控机。天津正大电机技术研究所开发的(C-I电机自动测试系统结构上与之相似,但是下位机改造成为带有标准接口的智能仪表。这些系统由于采用了标准接口,方便了系统的组建和功能的扩充,并用利用Pc机丰富的软硬件资源,友好的人机对话回界面和强大的数据处理能力以及容错性,使系统在功能上、操作方便程度上都超过了国内以往的同类测试设备,但是它们也存在一些局限性和缺陷,诸如系统结构复杂
7、,上位机用户接口软件不够友好,容错性还有待提高,尤其是测试试验的数据管理功能不够友善例。试验技术的计算机化是目前的一个研究热点。在发达国家,智能仪器和计算机辅助试验系统已得到普及。国内的一些大学和科研院所,如:西安交通大学、浙江大学、xx 大学 xx 届毕业设计说明书第 3 页 共 45 页 上海电器科学研究所等也开展了这方面的研究,研制了与国外相似的智能化测试仪器与测试系统。相信随着计算机技术、电子技术、传感器技术的发展和制造商技术水平的提高,开发周期短、人机交流互能力强、具有自动测试和自动分析能力的电机综合测试系统将成为电机试验技术的主流。1. 3 课题的来源和内容电机参数的测试对电机的设
8、计、研究及运行有着重要的指导作用。长期以来各种电机的测试设备一般都为单件的专用仪器,其工作方式也都是采用手工操作、人工读数和处理测量数据。这种情况下测试人员很辛苦,要做的工作量很大,试验一台电机往往需要较多的时间,测试效率低下因为试验时读数的时间不能完全统一。还有读数、记录、计算中不可避免的人为误差的存在,试验数据的分散性增大、试验结果的精度降低。电机的运行参数不能做到实时监控,电气运行人员对电机参数变化以及特性得不到更快速、直观的了解 2。为了解决这一问题,决定在原有电机参数测量的基础上增加实验台与PC机通讯功能,以及上位机对实验台的控制功能,构成一整套电机综合测试系统。方便工作人员对电机参
9、数及特性的了解和分析。本系统包括下位机电机物理量采集模块的设计、上位机三相感应电动机综合测试软件的设计。xx 大学 xx 届毕业设计说明书第 4 页 共 45 页 2 测试系统的下位机设计2. 1 系统下位机系统设计电机物理量在系统的采集过程中被分为两类:交流量的采集和电机转速的采集。本测试系统下位机硬件设计的总体思路为:利用高精度三相电能专用计量芯片ATT7022进行交流量的采集;在电机转轴上设置一个光电耦合器,输出一列其频率随电机转速变化的脉冲,把脉冲送入单片机的计数器,通过编程测出脉冲频率,从而实现对电机转速的采样。单片机采集的数据经过光电隔离后接至下位机串行通讯端口下位机与上位机之间用
10、RS232串行总线连接进行通讯。 被测三相感应电动机转速 交流量频率随转速变化的脉冲A T T 7 0 2 2 计量芯片A T 8 9 C 5 1 单片机下位机串行通讯端口计算机光电隔离R S 2 3 2 串行总线图2.1 系统硬件组成结构框图xx 大学 xx 届毕业设计说明书第 5 页 共 45 页 22 系统下位机电机物理量采集模块的硬件设计221 交流物理量的采集在本系统中三相感应电动机交流量方面包括三相电压、三相电流、三相功率以及功率因数的采集。在本系统中,将设计一种以ATT7022三相电能专用计量芯片为核心的电路模块来完成。2211 ATT7022高精度三相电能专用计量芯片的简介AT
11、T7022是一颗高精度三相电能专用计量芯片,适用于三相三线和三相四线应用。ATT7022集成了六路二阶sigma-delta ADC、参考电压电路以及所有功率、能量、有效值、功率因数以及频率测量的数字信号处理等电路。ATT7022能够测量各相以及合相的有功率、无功功率、视在功率、有功能量以及无功能量、同时还能测量各相电流、电压有效值、功率因数、相角、频率等参数、充分满足了三相感应电动机参数及其特性的测量 3。芯片内部构造如图2.2所示:xx 大学 xx 届毕业设计说明书第 6 页 共 45 页 图2.2 ATT7022内部结构框图引脚排列如图2.3所示: 图2.3 ATT7022引脚排列图应用
12、示意图如图2.4所示:xx 大学 xx 届毕业设计说明书第 7 页 共 45 页 图2.4 ATT7022应用示意图2212 交流量采集的硬件原理图设计本测试系统采用的方法为:先由AT89C51单片机通过电能专用计量芯片ATT7022的SPI通讯接口发送各参数对应的命令,再将参数实际数值通过SPI通讯接口取回单片机。(1)芯片电源电路的设计电源电路的设计对电表的性能尤为重要,为了保证良好的电磁兼容性,在电路的设计过程中主要注意了以下几点:首先,电源电压VCC、ANCC应在5V上下幅动5以内。其次,在7805的输出端并接了2200Il滤波电容。再次,GND与AGND为数字和模拟电源参考点。在PC
13、B布线时将他们就近接大 面积地,以保证地的低阻特性。最后,大面积铺地尽量不铺到整流元件之前,电压采样的固定电阻下面也没有铺地,做到强弱分开。(2)采样三相电流、电压输入端的设计在交流采样过程中,我们需要使用互感器来隔离高电压、大电流进入系统。在本测试系统中我们采用了星格互感器。这种互感器的优点是体积小、价格低廉、采用高隔离度耐冲击全树脂密封,过载能力强并且在市场上很容易买到 4。电压互感器:选用的是互感器SPT204A,2mA2mA。为了达到输入电流的要求,在互感器的前面串联了电阻,如图2-3所示。经过计算380V2mA=190K,功率为380380190K=0.76W,因此我们选择4只阻值为
14、47K,功率为O.25W的电阻和一支精密可调的滑动变阻器,这样既可以起到调节作用又限制了电流,功耗也达到了要求。电压互感器后面是取样信号,取样信号经过ATT7022外围电路的处理进入芯片。电流互感器:采用的是SCT254AZ,这种型号互感器为5A2.5mA,5A的电流在一般的电机已能满足电流要求。电流互感器后面同样是取样信号,取样信号经过ATT7022外围电路的处理进入芯片。电压互感器SPT204A和电流互感器SCT254AZ的外观图如图2.5所示:xx 大学 xx 届毕业设计说明书第 8 页 共 45 页 图2.5 电压互感器SPT204A和电流互感器SCT254AZ的外观图(3)ATT70
15、22芯片模拟输入电路的设计ATT7022内部集成了6路16位AD转换器在有效值0.001V至0.8V的范围内线性误差小于0.1考虑电网电压的波动范围在一40到+30以及良好的信噪比特性推荐在参比电压下芯片电压输入脚上的采样值为0.2到0.5V电流测量考虑8倍量程的过流能力推荐在额定电流输入时芯片电流输入脚上采样电压为O1V 5。输入引脚的VxP和VxN的直流偏置电压为2.4v左右,偏置电压由芯片的第1l脚REFOUT提供。图2.6 三相电压互感器输入设计图2.7 三项电流互感器输入设计VxP和VxN输入电路中电阻1.2K和电容0.OlF构成了抗混叠滤波器,其结构和参数xx 大学 xx 届毕业设
16、计说明书第 9 页 共 45 页 要讲究对称,并采用温度性能较好的元器件,从而保证芯片获得好的温度特性三相电压的输入部分采用电压互感器的差分输入方式,三相电流的输入部分采用电流互感器的差分输入方式。(4)AT89C51与ATT7022芯片SPI通讯接口的设计ATT7022与单片机有6条连线,其中4条是SPI口线CS、SCLK、DIN、DOUT,一条ATT7022的复位控制线RESET和一条握手信号线SIG。2213 交流量采集在单片机的程序实现(1)ATT7022的SPI通讯时序 ATTT022和SPI的通讯格式是相同的,8位地址,24位数据,MSB在前,LSB在后对每个寄存器的读写CS信号需
17、动作一次,换句话说,通讯开始时SCLK为低电平,CS由高到低,经过32个时钟脉冲SCLK,CS由低到高,完成一个寄存器的读或写操作。ATT7022在时钟下降沿从DIN线上取单片机送出的数据,在上升沿从DOUT线上向单片机送出数据,因此在写单片机程序时,可在SCLK为高时更新DIN或DOUT的数据 6。图2.8 TT7022的SPI通过读操作时序图xx 大学 xx 届毕业设计说明书第 10 页 共 45 页 图2.9 ATT7022 的SPI通讯写操作时序图222 三相感应电动机转速的测取2221 转速测量的硬件原理图设计本系统采用在电机转轴上设置一个光电耦合器,输出一列其频率大小随电机转速变化
18、的脉冲。电机每旋转一圈,产生12个脉冲。把脉冲送入单片机的计数器,通过单片机编程测出脉冲频率,进而测出电机实际的转速值。采样板的硬件原理图设计如图2-10所示,其中15PF的电容用来作光电耦合器的输出滤波:图2.10 转速测量的原理图2222 转速测量的处理将光电耦合器产生的脉冲直接接至单片机的INTO。本系统外部INTO中断选择边沿触发方式。这样外部中断申请触发器能锁存外部中断输入线上的负跳变。即便是CPU暂时不响应,中断申请标志也不会丢失 7。在这种方式里,如果相继连续两次采样,一个周期采样到外部中断输入为高,下个周期采样为低,则置“1”中断申请触发器,直到CPU相应此中断时才清0,这样不
19、会丢失中断。2. 3 本章小结本章介绍了系统下位机硬件设计的总体框图,并且把系统将采集的物理量分为了两类:交流量和电机转速。针对参数的不同类型,设计了不同采样电路并确定了电路的核心芯片。交流部分的采样包括三相电压、三相电流、三相功率以及功率因数,使用高精度三相电能专用计量芯片ATT7022完成;电机转速通过单片机计算转轴输出脉冲频率的方法间接测定。以上采样方法在实际操作过程中,收到了良好的效果,切实可xx 大学 xx 届毕业设计说明书第 11 页 共 45 页 行。xx 大学 xx 届毕业设计说明书第 12 页 共 45 页 3 系统上位机软件的设计31 系统上位机软件设计概述311 系统软件
20、编程语言的选择本测试系统的上位机软件主要包括实时采集界面的设计,特性曲线及其报表界面的设计两大主要部分组成。系统软件的编写我们最终选择用Microsoft Visual Basic 6.0来实现。由Microsoft公司推出的Microsoft Windows是一个功能强大的操作系统,具有完善的软件开发环境,它采用面向对象的程序设计技术,可以对开发任务进行自动处理,并提供公用用户界面 8。在Windows环境下开发电机自动测试系统软件,一方面可以解决目前人机界面不理想的缺陷,另一方面可以充分利用Windows本身提供的资源提高软件的质量,缩短开发周期。Visual Basic是Microsof
21、t公司于1991年推出的Windows应用程序开发工具。它具有简单易学、开发周期短等特点,大大简化了Windows应用程序设计,深受Windows程序员的喜爱。经历了数次版本的更新,其功能越来越强大,目前已成为一个重要的软件开发工具。它现在可以开发所有的应用软件,特别是串行通信的编程、数据库编程等领域有着重要的价值。Microsoft Visual Basic6.0中文版是Microsoft公司推出的最新版本。它不但继承了Visual Basic以前的版本的优点,如:用户界面可视化、面向对象编程等特点,而且也增加了许多新的功能强大的开发工具。312 系统软件的功能以及界面设计原则本系统软件主要
22、实现电机参数数据的存取以及数据计算处理的功能。对于本测试系统来说,它应能完成接收数据、数据的处理,实验曲线的拟合和绘制,试验报告的生成和打印等功能。在主控软件的设计过程中,特意将软件做成模块结构,在主控软件的指挥和协调下,将每一个试验项目设计成一个单独的模块。这样一旦要增加新的试验项目,只要增加新的模块即可。在本系统实验模块的设计上,设立了三相感应电动机的空载与短路实验模块、三相感应电动机的负载特性实验模块以及三相感应电动机的MS曲线模块 9。313 系统软件的设计框图系统软件的整体设计框图如图3.1所示:xx 大学 xx 届毕业设计说明书第 13 页 共 45 页 电机测试窗口实时物理量窗口
23、 特性曲线与报表窗口实时显示功能实时曲线的绘制功能数据库及数据报表功能参数计算特性曲线的拟合绘制曲线的打开与保存试验结果的打印功能图3.1 系统软件的整体设计32 系统功能的实现321 物理量的实时显示功能各种物理量的采集的实时显示功能,要通过Visual Basic 6.0中的Text Box控件即文体框来实现。将实时采集的数据直接赋值给Text Box控件的Text属性,如Textl.text=P0,假设P 0代表采集的三相感应电动机的有功功率的话,那么P 0变量的数值将直接通过文本框显示给用户 10。如果要实现有功功率的实时显示功能,就要把Textl.text=P0语句放入循环语句中,如
24、DO-While语句这样通过主程序的不断查询,便会将每一次数据的变化都显示出来,达到实时的效果。322 数据库及数据报表功能3221 数据库系统的发展概述数据库系统是实现有组织地、动态地存储大量关联数据,方便用户访问的计算机软、硬件资源组成的系统,它与文件系统的重要区别是数据的充分共享、交叉访问、与应用程序的高度独立性。数据库的管理是指对数据的组织编目、定位、存储、检索和维护等数据管理。自从进入计算机管理以来,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在计算机管理数据的初期,计算机硬件条件有限,不可能管理大xx 大学 xx 届毕业设计说明书第 14 页 共 45 页 量数据,因此,数据
25、还是处于个人管理的分散状态。随着计算机软硬件发展以及操作系统的诞生,使数据管理进入了文件系统阶段。在进入信息社会以后,数据量的增长和对数据共享要求的不断提高,文件系统已经不能适应新形势的需要,数据库系统技术就应运而生,发展到今天,已经成为计算机应用领域的一个重要分支。数据库技术发展历经30余年,大体上也经历了三次跃升。在60年代计算机操作系统问世后,人们致力于数据文件组织、管理、检索和更新等方面的研究,为建立统一的数据组织的操作环境,产生了数据模型的概念。以层次模型和网状模型为代表,奠定了第一代数据库技术基础;随后出现的关系型数据模型,具有较高的数据独立性和较严密的数学基础 11。关系理论系统
26、化和规范化的设计模式,是数据库技术走向成熟的标志,第二代数据库及适宜关系数据库为代表;随着计算机科学的进一步发展,计算机应用领域不断扩大,数据库技术与通信网络、人工智能、图像图形技术、多媒体技术、工程应用技术等相结合,形成新的技术目标,出现第三次跃升,如知识库、面向对象数据库,图像图形书库、多媒体数据库等。3222 本系统中数据库与数据报表的设计微软的数据库引擎Jet给VB提供了一种数据库进行交互的方式。程序员可以在VB中使用它来访问数据库及其功能。引擎JET是由VB、Microsoft Access和其他和微软产品共享的,它允许程序员种数据类型,包括多种文本型和数值型的字段,这就为程序员设计
27、数据库应用程序提供了极大的灵活性在系统中我们将采用VB6.0最新提供的DataGarid控件,完成数据库相关的编程DataGarid控件利用ActiveX的数据库对象(ADO)与Microsoft Access数据库进行通信。ADO是微软的长期数据访问策略。已有的DAO、RDO、ODBC等都将被ADO所取代 11。ADO是使用0LE DB和OLE DB提供者与数据源建立连接的。就像DAO可以被连接到Access的Jet引擎上一样,ADO可以被连接到OLE DB引擎上。微软已经为AccessJes、ODBC等发布了OLE DB提供者。Visual Basic 6.0的窗口如图3.2所示:xx 大
28、学 xx 届毕业设计说明书第 15 页 共 45 页 图3.2 Visual Basic 6.0窗口示意图 在窗体上先后添加DataGrid控件和ADODE控件。首先,将DataGrid控件的Datasource属性即数据来源设置为Adodc。其次,要对Adode控件进行配置,让它能和数据库进行对话单击属性connectionString后的省略号,单击“生成”按钮选择OLE DB提供者 12。这里我们选择Microsoft Jet 4.0 OLE DB Provider来和它建立连接。点击下一步选择本连接要使用的数据库文件。然后单击测试连接,系统如果提示“测试连接成功” ,如图所示说明所有的
29、信息全部填充正确。图33 据链接提示信息最后,设置属性页的记录源选项。将命令类型择为“2-abCmdTable”表格类型,在“表或存储过程名称”一栏中选择需要链接的数据库中对应的表的名称。这样控件的所有属性设置全部完成,下一步就可以通过VB语言的编程,完成报表的显示功能了13。323 系统软件对曲线的拟合功能3231 最小二乘法拟合原理xx 大学 xx 届毕业设计说明书第 16 页 共 45 页 为了使电机特性曲线绘制得更合理,我们在上位机软件采取了一种数据处理方式:曲线拟合。本测试系统采用最小二乘法作为曲线拟合的方法。拟合的大体思路为;先根据观测数据描出各点(x i,y i),i=1,2n(
30、称为散点图),再根据专业知识或经验来选择 (x)的类型,本系统中令中 (X)=c1+c2x+c3x2+.cnxn-1为了使近似函数中 (x)最好地反映f(x)的整体形态,求一个 (x)函数使其在各点偏差的平方和 14。2122 )()()( iini nmiii yxcxcyxR(3.1)直线拟合的最小二乘法在三相感应电动机特性曲线中,铁耗与机械耗的分离在理论上为一条直线,这就需要用最小二乘乘法的直线拟合33 本章小结本章向大家简要介绍了上位机软件编程语言Microsofu Visual Basic 6.0在电机测试系统编程方面的特点和优势,并给出了上位机系统软件总体的设计框图,框图中包含了系
31、统将要实现的功能,其中包括电机参数的实时显示、数据库及其数据报表、曲线的拟合、曲线的存取以及打印实验结果等。xx 大学 xx 届毕业设计说明书第 17 页 共 45 页 4 上位机与下位机之间串行通信41 串行能信接口的硬件设计411 串行通信端口的简介串行通讯端口(Serial Communication Port)在系统控制的范畴中一直占据着极其重要的地位,它不仅没有因为时代的进步而淘汰,反而在规格上越来越完善,应用也越来越广泛。RS-232串行通信端口是每台计算机上的必要配置,通常有COMI与COM2两个端口。当今,新一代的计算机均以9引脚的接头接出所有的RS-232通信端口。计算机上的
32、RS=232通信端口均是公头 15。通常与计算机连接的设备,最简单的通信接口就是RS-232串行通信端口,不仅实际制作的简单,而且价格上也十分便宜。另外,在工业应用领域,RS-232串性通信端口的使用比一般计算机更普遍。412 信号电位的定义与处理计算机并无法分辨所谓的数字或文字,在其内部的记录中所有的数据都是O和1,任何数据都是这两个数字的组合。所有电子仪器的基础均来自“开” 、 “关”两个状态的改变,我们可以将它们表示为0与l或表示为“高电位” 、 “低电位” ,不管表示方法如何,目的在于造成“状态的改变” 。将很多的0与1组合成一大串的数字序列后,就可以定义它们所代表的意义了。ITU(国
33、际电信联盟)咨询机构CCITT(国际电话与电报顾问委员会)公布了RS-232标准,之后由EIA(电子工业联合会)制定,很多国家都以此为模板,而日本也以此制定了JISX5101“数据回路终端装置和数据终端装置的接口” 在RS-232的标准中,电压在十3v-+15V(一般取+6V)之问称为“0” ,在一3V-15v(一般取-6V)之间称为“1” 。计算机上的RS-232的“高电平”约9v,因此正负9V的改变,被记录成O与l的状态 16。在本测试系统中,下位单片机数据采集完成后,需将采集到的数据传送到上位机,因而需要单片机与PC机之间进行通信。由于单片机输入输出为TTL电平,而Pc机配置的是RS-2
34、32标准串行接口,二者电气规范不一致,因此要完成PC机与单片机的数据通信,必须进行电平转换 17。RS-232通信标准的收发信号转换专用芯片有很多种,本文选用MAX232(Maxim Product Selector Guide,2000)。该器件工作性能可靠,外围器件少,己广泛用于RS-232通信标准的收发信号转换。xx 大学 xx 届毕业设计说明书第 18 页 共 45 页 4.1.2.1 MAX232芯 片 简 介 :图4.1 MAX232引脚图第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分
35、是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN) 、12脚(R1OUT) 、11脚(T1IN) 、14脚(T1OUT)为第一数据通道。8脚(R2IN) 、9脚(R2OUT) 、10脚(T2IN) 、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v) 18。MAx232将单片机TXD引脚输出
36、的孔电平信号转换为Rs-232电平,输入到Pc机,并将Pc机输出的RS232电平信号转换为TTL电平,输出到单片机的RXD引脚。4. 1. 3 接口信号的意义xx 大学 xx 届毕业设计说明书第 19 页 共 45 页 在Pc机上有COMl和COM2两个串口,它们为9根引脚的连接器,在各引脚中常用TXD、RXD、GND。串口插座结构图如图所示图4.2 串口插座表4.1 各引脚功能下面对在本系统通信过程中要用到的三个引脚做以下说明:TXD:此引脚会将远程所发送过来的数据发送出去。RXD:此引脚会将远程所发送过来的数据接收进来。GND:此引脚为接地端,作为通信的标准电位参考。两端设备的接地端标准电
37、位必须一样,否则会产生地回路(Ground Loop),使得信号因标准电位的不同而产生偏移,也会导致结果失常。RS-232数据采用单接点(SingleEnded)式的信号发送方式,其特点是信号电压的标准电位就是参考接地端标准电位,因此传输双方的接地端才必须连接在一起,以避免标准电位不同而造成数据的错误 19。RS-232 串行通信电路:MAX232 为串行通信芯片,可用于实现 PC 机与单片机数据传输。引脚号 符号 方向 功能1 DCD 输入 载波检测2 RXD 输入 接收数据3 TXD 输出 发送数据4 DTR 输出 数据终端就绪5 GND 信号地6 DSR 输入 数据装置就绪7 RTS 输
38、出 请求发送8 CTS 输入 清除发送9 RI 输入 振铃指示xx 大学 xx 届毕业设计说明书第 20 页 共 45 页 RS-232 电路连接如图 4.3 所示:R1 IN13R2 IN8T1 IN11T2 IN10GND15V+2V-6VCC16R1 OUT 12R2 OUT 9T1 OUT 14T2 OUT 7C1+1C1 -3C2+ 4C2 - 5U7MAX232VCC7VCC7C120.1UFC140.1UFC150.1UFC130.1UFTXD1RXD1TXOUTRXIN162738495J16DB9图4.3 RS-232电路连接图42 系统软件中完成串行通信的内部控件Mocro
39、soft公司在Visual Basic中设计了一个相当好用的控件,即MSComm通信控件,让我们完成串行通信的设计。使用MSComm控件的目的是为了让用户设计一个系统,此系统可以和串行端口进行通信及发送数据,因此信息会在其硬件线路上流动 20。下面对系统中此控件将要用到的属性说明如下:(1)CommPort属性CommPort属性用于设置或返回通信连接端口号码。程序必须指定所要使用的串行端口的号码,Windows系统绘使用所设置的通信端口与外界进行通信。程序也可借助此属性返回所使用的连接端口号码,MSComm控件的最大值是16。(2)Settings属性Settings属性用于设置初始化参数。
40、以字符串的形式设置或返回联机速率、奇偶校验、停止位等4个参数 21。其格式为“BBBB,P,D,S” ,其中BBBB表示联机速率,P表示奇偶校验位检查方式,D表示数据位数,S表示停止位数。默认值是“9600,n,8,1”它表示所使用的通信端口是以每秒600位的速率进行传输,不进性奇偶校验位的检查,每个数据单元8个位,而停止位是1个位,而这4项必须是按照顺序,xx 大学 xx 届毕业设计说明书第 21 页 共 45 页 不同前后对调:其中的字母N可以是大写或小写。Settings属性设置完成之后,所传输及接受的字符串便以此设置为准,使用RS-232通信的双方,Setting必须完全一样,彼此才能
41、顺利地通信,否则双方将无法正确接收到彼此所传输的信号(3)Portopen属性Portopen属性用于设备或返回通信连接端口的状态。使用串行端口之前必须先将要使用的串行端口打开,在使用完毕之后,也必须执行关闭操作。串行通信端口各项功能都是在Portopen的True与False之问完成的。若尚未打开通信端口就进行数据的传输,系统将显示错误信息; 而完成传输工作若不关闭通信端口,在Visual Basic的设计中,会在应用程序结束时关闭通信端口 22。(4)Input属性Input属性用于从输入缓存区返回并删除字符。程序靠这个命令将对方传到输入缓期冲区中的数据读进程序中,并清除缓冲区中已被读取的
42、数据。(5)Output属性Output属性用于将要发送的数据输入传输缓冲区。当程序需要传输字符串到对方时,可将字符串使用此命令输入输出缓冲区,般的数据均是在送达输出缓冲区后,随即被送出,当MSComm控件设置有发送阀值属性的,则会生成事件。(6)InputLen属性InputLen属性用于指定由串行端口读入的字符串长度或字节数。Visual Basic程序可使用InputLen命令将存放在输入缓冲区的字符读入,但要指定所读入的字符长度则需要设置本属性。若指定读取的单位是字节,则是读入字节的个数。(7)Rthreshold属性Rthreshold属性用于设置或返回引发接受事件的字节数。当接受缓
43、冲区达到所设置的字节数时,将会引发接受事件。此属性的默认值为0,其意义是无论缓冲区中有多少字符均不引发接受事件 23。在本系统中我们设置此属性值为1。(8)InBufferCount属性InBufferCount属性用于返回在接收缓冲区的字符数。该项属性在设计阶段无法使用。InBufferCount是指已接收,并在接收缓冲区中等待读取的字符数。用户可以把xx 大学 xx 届毕业设计说明书第 22 页 共 45 页 InBufferCount属性设置为0,以清除接收缓冲区(9)InputMode属性InputMode属性用于设置或返回Input属性取回的数据的类型。InputMode属性值为“l
44、”时表示数据通过Input属性以文字形式取回;当属性值为“0”时表示数据以二进制形式取回。在本系统中,InputMode属性被设置为“0”二进制形式取回的方式。否则ASCII码超过128的部分被当成双字节文字处理,结果出现错误 24。43 上位机与下位机之间的通信协议431 本系统中通信协议的制定就串行通信来看。交挨数据的双方利用传输在线的电压改变来达到数据交换的目的,但是如何从不断改变的电压状态中解析出其中的信息,就需要双方共同决定才行。既然是通信,双方当然需要说明到底是如何发送数据或命令的,否则如果双方没有一套共同的译码方式,恐怕都无法了解对方所发送过来的数据的意义。因测双方为了可以进行通
45、信,必须要遵守一定的通信规则。这个共同的规就是通信端口的初始化。我们根据MSComm控件的Settings属性,说明通信端口的初始化的几项必须设置:(1)数据的传输速度 传输双方通过传输在线的电压改变来交换数据,但传输在线的电压改变的速度必须和接收端的接收速度保持一致,RS一232通常用于异步传输,双方并没有一个可参考的同步时钟作为基准;但没有一个参考时钟时,双方所发送的高低电平到底代表几个位就不得而知了,要使得双方的数据读取正常,就要考虑到传输的速率波特率(Baud Rate),其所代表的意义是每秒钟所能产生的最大电压状态改变率。原始信号经过不同的波特率取样后,所得的结果完全不一样。信双方获
46、得相同的通信速度是首先要做的事情 25。就仪器或工业场合来说,9600bps是最常见的传输速度。因此在本测试系统中,我们就以9600bp作为系统的通信速率。即Settings属性格式“BBBB,P,D,S”k“BBBB”这一项确定为9600。(2)数据的发送单位 一般串行通信端口所发送的数据是字符类型的,若用来传输文件,则会使用二迸制的数据类型。不同国家一个字符的位数不同。我们可以发现日本的设备多使用7个位作为一个数据组,而欧美的仪器就较常使用8个位表示一个字节。在本系统中,我们规定8个位作为一个字节,即Settings属性格式“BBBB,P,D,S”xx 大学 xx 届毕业设计说明书第 23 页 共 45 页 中“D”这一项确定为8 26。(3)起始位及停止位 由于异步串行传输中并没有使用同步时钟作为基准,故接收端完全不知道发送端何时将进行数据的发送,而当发送端准备开始发送数据时,发送端会在所送出的字符前后分别加上高电位的起始位(逻辑0)及低电位的停止位(逻辑1),它们分别是所谓的起始位和停止位,也就是说,当发送端开始发送数据时,