为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

《汽车产业发展政策》

2017-09-30 27页 doc 69KB 34阅读

用户头像

is_769014

暂无简介

举报
《汽车产业发展政策》毕业设计(论文)专用纸 摘要 汽车(尤其是乘用车、轿车)车门是车身的主要部件之一,它对车辆乘坐空向的舒适性如防漏雨、隔音等;安全性如防侧面打击等有着重大作用。近年来汽车车门的发展愈来愈受到消费者的关注,汽车车门市场的扩张主要源于汽车产量的增加。汽车车门系统在轿车零部件系统中,是集工艺性、装饰性、安全性为一体的特殊部件。然而车门也有其耐用时限,超过此使用时限就会使汽车不安全,不同质量的车门有不同的耐久性,为了检验车门开关门耐久性,做出符合要求的车门系统,就需要开发出一套科学实用的试验台。 本文介绍了一种轿车车门的试验台架,它...
《汽车产业发展政策》
毕业(论文)专用纸 摘要 汽车(尤其是乘用车、轿车)车门是车身的主要部件之一,它对车辆乘坐空向的舒适性如防漏雨、隔音等;安全性如防侧面打击等有着重大作用。近年来汽车车门的发展愈来愈受到消费者的关注,汽车车门市场的扩张主要源于汽车产量的增加。汽车车门系统在轿车零部件系统中,是集工艺性、装饰性、安全性为一体的特殊部件。然而车门也有其耐用时限,超过此使用时限就会使汽车不安全,不同质量的车门有不同的耐久性,为了检验车门开关门耐久性,做出符合要求的车门系统,就需要开发出一套科学实用的试验台。 本文介绍了一种轿车车门的试验台架,它以一台工业计算机作为上位控制单元,以一台单片机作为下位控制单元。该设备能够实现对试验条件或工况的人-机交互设定;该设备采用小型机械手来开/关门锁,它能完整的模拟乘员上下车开关车门动作的全过程。 此次设计主要用到VB语言编写界面的程序,单片机的相关知识编写下位机程序以及完成计算机与单片机的连接以实现控制执行对象的动作。 关键词: 汽车车门,试验台,单片机,VB,小型机械手 Abstract Vehicles (especially passenger cars, car) door is one of the main parts of the body, its vehicles to the comfort of air travel, such as leak-proof rain, noise, etc.; security such as anti-side has a major role in combat. In recent years, the development of more and more vehicle door by consumer concerns, car door market expansion mainly from the increase in vehicle production. Vehicle door system in the car system, is a craft, decorative, security, as one of the special parts. But the doors have their durable time, more than this time will be used to make car safe, the doors of different quality have different durability, in order to test the durability of the door, it’s important to develop a set of a scientific and practical test bed. This thesis introduces an endurance testing rig for the vehicle door. In the facility an industry control computer are used as an up-position controlling unit and a SCM as down-position controlling unit, the facility be able to accomplish the person-computer interactive setting of testing conditions; the facility uses light mechanical hands to open/close the door lock, it be completely able to simulate the total process that those passenger go up/down the vehicle. The system is mainly used in VB language interface procedures, knowledge of SCM and the preparation of the next-bit machine to complete the connection to the computer and the SCM to achieve control of the implementation of object movements. Key words: Vehicle door; testing rig; SCM; VB; light mechanical hands; 目录 3目录 51.绪论 51.1车门耐久性研究的意义与前景 61.2设计要求与的确定 82.上位机控制界面的设计 82.1登录界面的设计 92.2参数设置界面的设计 102.3动作选择界面的设计 112.4状态追踪界面的设置 122.5故障报警界面 132.6数据保存和打印 143.下位机(单片机)的设计内容 143.18051单片机的引脚及相关功能 153.2单片机最小系统 153.2.1系统功能要求 163.2.2系统整体方案提示 163.2.3硬件电路设计 173.2.4系统软件设计 223.3单片机数据采集与处理 233.3.1模拟输入通道的组成 233.3.2系统的主要功能 243.3.3硬件电路 263.3.4程序设计 283.4单片机的C51接收程序 344.上位机(计算机)与下位机(单片机)的连接 344.1连接方法的确定 364.1.1使用VisualBasic控件实现串口通信 394.1.2 ONCOME事件响应程序 415.试验台的机械执行机构 446.结论 45致谢 46参考文献 1.绪论 1.1车门耐久性研究的意义与前景 随着人们对汽车安全性、舒适性、可靠性要求的提高,汽车生产厂家必须不断提高自己的产品质量,以满足用户日益增长的需求,才能在市场竞争中立于不败之地。汽车(尤其是乘用车、轿车)车门是车身的主要部件之一,车门的好坏关系到整车的质量。它对车辆乘坐空向的舒适性如防漏雨、隔音等;安全性如防侧面撞击、关闭可靠性等;使用方便性如开/关锁、车门的车内锁止/解除、内/外手柄的操作等;可靠性如车门总成、车锁、铰链、锁止、手柄等附件的疲劳寿命等,都具有至关重要的影响。近年来汽车车门的发展愈来愈受到消费者的关注,汽车车门市场的扩张主要源于汽车产量的增加。汽车产销量的逐步增长为汽车车门市场提供了一个较大的发展空间。由于汽车结构的变化,目前汽车市场轿车比例的不断增大,普通车门已经供大于求,而中高档车门还具有很大的市场潜力。汽车车门系统在轿车零部件系统中,是集工艺性、装饰性、安全性为一体的特殊部件。当代轿车车门市场的走向要求车门具有更高的安全性和可靠性,具有更多的功能,与整体造型的配合更为协调美观。然而车门也有其耐用时限,超过此使用时限就会使汽车不安全,不同质量的车门有不同的耐久性,所以对车门性能测试是汽车开发过程的一个重要的环节,通过测试实验可以检测车门以及相关部件的安全性、可靠性、耐久性和机械结构设计是否合理等方面的性能,为进一步优化设计提供依据。为了检验车门开关门耐久性,做出符合要求的车门系统,就需要开发出一套科学实用的试验台。根据用户的需要,厂家在新车生产中对车门的检查将会越来越普及,车门的开关耐久性试验有着非常重要的作用和好的发展前景。 目前使用中的汽车车门开闭耐久性试验台是由数个气缸同时或依次动作,驱动活塞杆将动力传至拉杆和顶杆机构,由拉杆机构开启车门,或由拉杆机构带动一套绳索机构开启车门,通过顶杆机构闭合车门。通过机器手对车门进行高密度的负重开合,以在短期内模拟车门在正常使用情况下长时间才可能造成的损耗。对车门的链接结构的耐久性、合理性以及长时间使用后的密闭性做出评测。此类装置由于拉杆和顶杆作用于车门的力度、接触点难以确定,在实验过程中经常会破坏车门。而且通过顶杆闭合车门,在实验过程中,如果不在车门上安装保护装置,顶杆在长时间的实验过程中将会在车门上留下擦痕,如果安装了保护装置,会失去车门开关的真实条件。 现也有研究人员采用总线技术和PLC自动控制技术实际汽车车门开关,在开关门过程中系统实时采集开关门速度等信号,调节气动阀,使它的开关门速度满足设定技术要求。整个系统结构紧凑、控制简单、安装调节方便快捷,可靠性高,符合当前科技发展水平。 当前对车门耐久性的测试工作还不是特别成熟,有很多人都在对其进行研究,相信在不久的将来会有更加完善的测试系统可以完成这个工作。 1.2设计要求与方案的确定 根据对汽车车门及发动机性能实际测试需要,本试验台: (1)能实现模拟乘员上下车时开关门全过程操作循环试验。即可实现具体动作顺序为:开锁止按钮→开锁(内锁或者外锁)→开车门→关车门→关锁止按钮。除了能进行重复上述动作的耐久性试验外,还能控制车门速度和检测开锁力和关门速度,并能对检测的数据做统计处理,观察试验过程中车门车锁性能的变化。 (2)能完成车门各附件的独立和组合疲劳试验,即完成上文所述各动作的有关组合试验。 (3)能完成试验载荷条件控制——工作参数的自动设定。为了比较准确地控制开关车门力量的大小,正式试验前要进行10人次100循环开关车门载荷自动统计分析,在人工辅助汽缸节流阀的条件下,试验台能自动调节电气比例阀出口压力,以达到控制开关车门力量大小的目的。 本试验台在使用时所要试验的内容多种多样,既能对整车上的各种总成进行试验,又能对单个总成进行试验;既可以在实验室内试验,又可以在实验箱内试验。所以除了要求试验台本身能够达到试验的功能要求和可靠性之外,还要重点考虑的就是灵活性和通用性。要能够尽可能少的改动就可以进行其他的试验。鉴于此,本试验台采用模块化和柔性化的设计思想,将整个试验台划分为几个模块,分别模拟人对车门开关逻辑动作和实现对开锁力和开关门速度的测控。 本设计采用一台计算机作为上位控制单元,用一个51单片机作为下位控制单元控制执行对象。通过编写上位和下位机的程序进行两者之间的连接。上位机采用界面控制的方法对下位机实施命令。 计算机要完成以下任务: (1)实验功能的选择 车门门锁解锁动作,门把开启动作,开门动作,关门动作,门锁锁止动作。以上五个动作操作人员可以在电脑上直接选取并且能够自由组合。设置此界面为动作选择界面,进入界面后可以选择执行的动作并命令执行机构动作。 (2)参数的设置 门的最大开度,开关门的速度,门的循环次数等参数的设置可由用户自己设定,另外在用户不设定时应有默认值。设置此界面为参数设置界面。 (3)当前实验状态跟踪 电脑应能够通过显示器反映当前实验的状态,如动作次数,累计时间。设置此界面为状态跟踪界面,执行机构在动作期间,界面中显示相关数据。 (4)报警处理 当动作的次数超过车门承受力或中途有什么故障时要进行相应处理。所以应设置一个故障报警界面显示出现的问题以便于解决。 (5)试验数据的保存 对完成的实验,要将其试验任务,试验对象,实验日期,实验人员,实验结果等保存起来。在最开始设置一个登陆界面,要求写下登录名,便于保存。 所以用VB软件设置的界面分别是:登陆界面,动作选择界面,参数设置界面,状态跟踪界面,故障报警界面。 然后就是要编程实现单片机执行计算机发出的命令,来控制执行对象的动作。 2.上位机控制界面的设计 上位机通过操作界面的方式来对下位机发出控制和接受下位机发送的信息 2.1登录界面的设计 登录界面显示: 实现设计的VB源代码为: PrivateSubData4_Validate(ActionAsInteger,SaveAsInteger) EndSub PrivateSubCommand1_Click() IfText1.Text="123"Then IfText2.Text="123"Then MsgBox("欢迎登录") MsgBox("请设置参数") 登录界面.Hide 参数设置.Show Else MsgBox("密码错误") Text2.Text="" EndIf Else MsgBox("此用户名不存在") Text1.Text="" EndIf EndSub 输入用户名“123”,密码“123”,出现“欢迎登录”界面,“确定”之后出现“请设置参数”界面,点击“确定”即可进行相关参数的设置。 2.2参数设置界面的设计 参数设置界面显示: 实现设计的源代码为: PrivateSubCommand1_Click() IfText1.Text=""Then Text1.Text=75 EndIf IfText2.Text=""Then Text2.Text=40 EndIf IfText3.Text=""Then Text3.Text=10000 EndIf MsgBox("请选择执行动作") 参数设置.Hide 动作选择.Show EndSub 如果不设置参数,直接点“确定”,系统自己会给出默认值,门的最大开度为75°,开关门速度为40m/s,循环次数为10000次。点击“确定”之后,会出现“请选择执行动作”界面,再点“确定”进入动作选择界面。 2.3动作选择界面的设计 动作选择界面显示: 实现设计的源代码为: PrivateSubLabel4_Click() EndSub PrivateSubLabel5_Click() EndSub PrivateSubCommand1_Click() 动作选择.Hide 状态追踪.Show EndSub 勾选想要执行机构执行的动作,可以是任意组合,然后点击“执行动作”,命令执行机构执行对应的动作。 2.4状态追踪界面的设置 动作追踪界面显示: 实现的代码为: PrivateSubTimer1_Timer() Dima,b,cAsInteger c=c+1 Ifc=60Thenc=0:b=b+1 Ifb=60Thenb=0:a=a+1 TextBox2.Text=a&":"&b&":"&c Ifb>0Then 故障报警.Show 状态追踪.Hide EndIf 此界面显示动作的次数(由单片机发回参数)和累计时间内。设计时是当超过一分钟就会显示报警界面,实际用时是要等到动作次数超过车门能承受的最大范围或其他问题时出现报警界面,状态追踪是为了更清楚的看到车门是否符合设定的。 2.5故障报警界面 故障报警界面显示: 实现的代码为: PrivateSubText1_Change() Text1.Text="超过车门承受能力!" EndSub 当测试时车门的动作次数超过车门承受能力,或是其他故障时,会出现此界面,以便检测者更方便和清楚地了解出现的问题和车门的耐久性,做出相应的分析和处理。 以上便是五个上位机控制界面,然后通过上位机与下位机的连接就可以对下位机发出命令,而下位机也可以返回相关信息。 2.6数据保存和打印 数据的保存及调用采用对话框common dialog控件提供的一组基于windows的标准对话框界面。使用单个通用对话框可以显示文件打开、另存为、颜色、字体、打印和帮助对话框。在“工程、部件”中选择“Microsoft common dialog control6.0”控件添加到窗体中。通过设置控件的action属性来确定打开对话框的类型。文中用action=1打开对话框实现调出历史数据和action=2另存为对话框来实现当前数据和图片的保存。数据保存时首先设置过滤文件类型common dialog.Filter=“*txt*txt”显示记事本格式的文件,然后确定对话框的形式common dialog.Action=2位文件另存为对话框。通过common dialog.filename返回保存文件名。使用打开文件命令将文件打开并将数组内的数据以二进制的形式写到文件中去,最后关闭文件,实现将数据保存到指定路径的文件中。 利用printer将数据或图片通过打印机打印是VB中最常用的方法。应用程序中的打印文字、打印图像、打印表格、打印工作窗体都可以通过printer实现。本系统设计在打印文本时通过PrinterScale(0,29.7)-(21,0)语句预先规划打印控件,然后通过PrinterCurrentX和PrinterCurrentY设置打印位置,通过公用属性Fontname和FontSize设置打印文本和字号。还可以通过修改Orientation来设置横向或纵向打印。PrinteEndDoc可以结束向打印机传送数据,执行完此指令打印机开始打印。窗体打印应用语句MePrintForm可将当前工作窗口打印。 3.下位机(单片机)的设计内容 3.18051单片机的引脚及相关功能 40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。   ⒈电源:   ⑴VCC-芯片电源,接+5V;   ⑵VSS-接地端;   注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。   ⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。   ⒊控制线:控制线共有4根,   ⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲   ①ALE功能:用来锁存P0口送出的低8位地址   ②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。   ⑵PSEN:外ROM读选通信号。   ⑶RST/VPD:复位/备用电源。   ①RST(Reset)功能:复位信号输入端。   ②VPD功能:在Vcc掉电情况下,接备用电源。   ⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。   ①EA功能:内外ROM选择端。   ②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。   ⒋I/O线   80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。   P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)   5.P3口第二功能   P30RXD串行输入口   P31TXD串行输出口   P32INT0外部中断0(低电平有效)   P33INT1外部中断1(低电平有效)   P34T0定时计数器0   P35T1定时计数器1   P36WR外部数据存储器写选通(低电平有效) P37RD外部数据存储器读选通(低电平有效) 3.2单片机最小系统 单片机结合简单的接口电路即可构成单片机最小系统,它是智能化仪表的基础,也是测控、监控的重要组成部分。 3.2.1系统功能要求 显示位数:6位; 键盘按键数:16个; 初始化状态显示P; 能输入、显示十六进制0—f。 3.2.2系统整体方案提示 (1)单片机可采用AT89C51、AT89C52、AT89S52、fosc=12MHZ; (2)时钟电路、复位电路的设计; (3)系统功能框图如下: (4)编写系统初始化主程序、键扫子程序、显示子程序及其他所需要的子程序。 3.2.3硬件电路设计 (1)时钟电路 系统的时钟电路设计是采用内部方式,即利用芯片内部的振荡电路。AT单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起成一个自激振荡器。外界晶体振荡器以及电容C1和C2构成并联谐振电路,接在放大器的反馈电路中。对外界电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHZ,电容应尽可能的选择陶瓷电容。在焊接电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作。 (2)复位电路 复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如下图所示。当时钟频率选用6MHZ,Rs约为200欧,Rk约为1k。 (3)显示电路设计 显示器普遍地用于直观的显示数字系统的运行状态和工作数据,按照材料及生产工艺,单片机应用系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一。 LED显示器的显示控制方式按驱动方式可分为静态显示方式和动态显示方式两种。对于多位LED显示器,通常都是采用动态扫描的方法进行显示。在动态方式中,逐个地循环点亮各位显示器。这样虽然在任意时间只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。 3.2.4系统软件设计 (1)显示程序设计 动态扫描从左到右进行,显示缓冲区首地址为79H。因此各位显示器都扫过一遍之后,就返回监控程序。经过一段时间间隔后,再调用显示扫描程序。通过这种反复调用来实现LED显示器的动态扫描。 初始化子程序: DISPP: MOV P1,73H LCALL DELAYTIME RET 显示键值子程序: SHOW: MOV A,R2 MOV b,#10 DIV AB SHOWX: MOV DPTR,#LEDTABLE XCH A,B MOVC A,@A+DPTR MOV SBUF,A CLR TI JNB TI,S RET DELAYTIME: //50mS延时子程序 Mov TMOD,#01H HH: Mov THo,#4cH MOV TL0,#00HH SETB TR0 CLR TF0 NB TFO CLR TR0 RET LEDTABLE:DB0FCH,060H,0DAH,0F2H,066H,0B6H;LED字型码表 DB 0BEH,0E0H,0FEH,0E6H,02H END (2)键盘扫描程序的设计 在单片机应用系统中,通常都要有人机对话,本设计也不例外,此时要将数据输入仪器,对系统运行进行控制等,这时就需要键盘。 键处理的流程如图所示: 图3.1 键处理流程图 键盘扫描程序如下: 说明:(1)设子程序为KS1。供键盘扫描程序调用。 (2)在单片机应用系统中常常是键盘和显示器同时存在,因此可以把键盘扫描程序和现实程序配合起来使用,即把显示程序作为键盘扫描的延时子程序,又能保证显示器常亮的客观效果。假定本系统中显示程序为DIR,执行时间约为10ms,分析以下程序时,可以把显示程序DIR当成延时子程序。 AJMP KEY1 KS1: MOV A,#0FFH MOV P1,A MOV A,P1 //读P1口键值 CPL A //A取反,无键按下则全“0” ANL A,0FH //屏蔽A高半字节 RET KET1: ACALL KS1 //检查是否有键闭合 JNZ LK1 //A非“0”则转移 ACALL DISP //显示一次(延时10ms) AJMP KEY1 LK1: ACALL DISP //有键闭合二次消抖延时20ms ACALL DISP ACALL KS1 //再检查有键闭合否 JNZ KS2 //有键闭合,转LK2 ACALL DISP AJMP KEY1 //经去抖动确认无键闭合,延时10ms后转KEY1 LK2: MOV R2,#0EH //扫描初值进R2 MOV R4,#00H //扫描列号送R4 LK4: MOV P1,A //扫描初值送P1口 MOV A,P1 //读P1口 JB ACC.0,LONE //ACC.0=1,第0行无键闭合,转LONE MOV A,#00H //装第0行行值 AJMP LKP LONE: JB ACC.1,LTWO //ACC.1=1,第1行无键闭合,转LTWO MOV A,#04H //装第一行行值 AJMP LKP LTWO: JB ACC.2,NEXT //ACC.2=1,第2行无键闭则转NEXT MOV A,#08H //装第2行行值 AJMP LKP LTHR: JB ACC.3,NEXT //ACC.3=1,第3行无键闭合则转NEXT MOV A,#0CH //装第3行行值 LKP: ADD A,R4 //计算键值 PUSH ACC //保护键值,将键值入栈 LK3: ACALL DISP //延时10ms消抖 ACALL KS1 //查键是否继续闭合,若闭合再延时 JNZ LK3 POP ACC //若键起,则键码送A RET NEXT : INC R4 //扫描列号加1 MOV A,R2 JNB ACC.3,KND //第三位为“0”,已扫描完最高列则转KEND RLA A //循环左移一位 MOV R2,A AJMP LK4 //进行下一列扫描 KEND: AJMP KEY1 //扫描完毕,开始新的一轮 键盘扫描程序的运行结果是把闭合键的键码放在累加器A中,接下来的程序时 根据键码进行程序转移,去执行该键对应的操作。流程如图: 图3.2 键扫描流程 3.3单片机数据采集与处理 数据采集是单片机应用系统中最为普遍的应用需求,此次设计采用了一种基于8052单片机通用的数据采集与处理系统,其模拟输入通道由传感器、多路开关、放大器、采样保持器和A/D转换器五部分组成。 单片机通用数据采集和处理系统主要是实时采集外界诸如温度、压力、流量和转速等连续变化ude模拟量,通过模/数转换器把这些模拟信号转换成数字信号送入单片机;也可以直接采集代表某些状态特征的开关量,单片机系统对这些采集信号进行数据处理,并根据用户的要求,将处理后的数据送显示、打印,也可以通过串口送给其他计算机,或者通过模/数转换器变换成模拟信号控制外部设备,输出的开关量也可以直接用于控制目的。 3.3.1模拟输入通道的组成 模拟输入通道由传感器、多路开关、放大器、采样保持器和A/D转换器构成。 (1)传感器 传感器把被测物理量(如温度、压力等)作为输入参数,转换为电量(电 流、电压、电阻等)输出。物理性质和测量范围不同,传感器的工作机理和结构就不同。通常传感器输出的电信号是模拟信号。当信号的数值符合A/D转换器的输入等级时,可以不用放大器放大,反之则反。 (2)多路开关 多路开关的作用是可以利用一个A/D转换器进行多路模拟量的转换。利用多路开关轮流切换各被测回路与A/D转换器的通路,以达到分时想用A/D转换器的目的。 (3)放大器 放大器通常采用集成运算放大器。在环境条件较差时,可以采用数据放大器(也称为精密测量放大器)或传感器接口专用模块。 (4)采样保持器 采样保持器具有采样和保持两个状态。在采样状态时,电路的输出跟随输入模拟信号变化;在保持状态时,电路的输出保持前一次采样结束前瞬间的模拟量值。使用采样保持器的目的是使A/D转换器转换期间输入的模拟量数值不变,从而提高A/D转换的精度。 (5)A/D转换器 A/D转换器的主要指标是分辨率,它与A/D 转换器位数有直接关系;另一重要指标是转换时间。选择A/D转换器必须满足分辨率和速度要求。 3.3.2系统的主要功能 (1)可实现1—16通道单端模拟信号输入或1—8通道差分信号输入; (2)输入电压为-10—+10v,分辨率为12位; (3)双通道8位模拟量输出; (4)8路开关量输入,8路开关量输出; (5)全双工的串行接口,可以与其他计算机通信或具有串口的外部设备连 接; (6)配置有8k的外部程序存储器和8k的外部数据存储器。 3.3.3硬件电路 电路中主要有外部存储器扩展电路、模/数转换电路、开关量输入输出电路、并行口扩展电路。 (1)外部存储器扩展电路 80C51内部只有128B的RAM和4kB的ROM,为保证系统在实际应用中能够存储和处理大量数据,进行RAM和ROM外部扩充。 图3.3 数据采集和处理系统电路图 图3.4 外部存储器扩展电路图 (2)模数转换电路 模数转换由AD574A完成。AD574A是美国模拟器件公司生产的12位逐次逼近式A/D转换芯片,配有三态输出缓冲电路,可不附加逻辑接口电路而直接与各种8位、16位CPU接口,含高精度参考电压源和时钟电路,可在不需要任何外部电路和时钟信号情况下完成转换。 各通道的模拟信号经过差分电路和采样保持电路输入到AD574A的模拟信号输入端,差分电路和采样保持器是为了保证系统的抗干扰能力及模/数转换的精度。采样保持器选用LF398。多路开关采用两片AD7501 图 3.5 A/D转换电路图 (3)开关量输入输出电路 8路开关量可以通过光电隔离器件直接与80C51的P1口相连。8路输出开关量通过扩展的并行接口8255A的B通道输出。 (4)并行口扩展电路 图3.6 80C51与8255A接口电路 3.3.4程序设计 系统软件包括主程序和数据采集、数据处理、对象控制等一系列子程序。这里主要介绍主程序和模数转换子程序。主程序和定时器0中断服务程序如图: (a)主程序 (b)定时器0中断服务子程序 图 3.7 程序流程图 图3.8 单片机系统软件设计程序流程图 3.4单片机的C51接收程序 主程序 中断服务程序 图3.9 程序流程图 //采用异步方式传送数据,偶校验,一位结束位,传输的数据传输率为9600bit/s.每个数据帧包含10Byte信息,1Byte作为帧起始标志,8Byte数据,1Byte校验和。 //-------------函数声明,变量定义--------------------------------- #include #defineCOUNT10//定义接收缓冲区大小 unsignedcharbuffer[COUNT];//定义接收缓冲区 unsignedcharpoint;//定义接收数据个数指示变量 voidUART_init();//串口初始化函数 voidCOM_send(void);//串口接收函数 unsignedcharCLU_checkdata(void);//计算校验位函数 //---------------------------------------------------------------- //函数名称:UART_init()串口初始化函数 //函数功能:在系统时钟为11.059MHZ时,设定串口数据传输率为9600bit/s //串口接受中断允许,发送中断禁止 //初始化串行口和数据传输率发生器 //---------------------------------------------------------------- VoidUART_init() { SCON=0x58;//选择串口工作方式,打开接受允许 TMOD=0x21;//定时器1工作在方式2,定时器0工作在方式2 TH1=0xfd;//实现数据传输率9600bit/s(系统时钟11.0592MHZ) TR1=1;//启动定时器T1 ET1=0; ES=1;//允许串行口中断 PS=1;//设计串行口中断优先 EA=1;//单片机中断允许 } //--------------------------------------------------------------- //函数名称:com_interrupt()串口接收中断处理函数 //函数功能:接收包括起始位‘S’在内的10位数据到数据缓冲区 //--------------------------------------------------------------- com_interrupt(void)interrupt4using3 { UnsignedcharRECEIVE_buffer; if(RI)//处理接收中断 { RI=0;//清除中断标志位 RECEIVE_buffer=SBUF;//接收串口数据 if(point==0)//如果还没有接收到起始位 { if(RECEIVE_buffer==‘S’)//判断是否起始标志位 point++;//是,准备接收下一位 else point=0;//不是,继续等待起始位 } elseif(point>0&&point<10)//判断是否接收够10位数据 buffer[point++]=RECEIVE_buffer;//不够,把接收到的数据放入接收缓冲区 elsepoint=0;//缓冲区已满,清除缓存区内数据重新接收 } if(TI)//处理发送中断 { TI=0; } } //--------------------------------------------------------------- //函数名称:COM_send()串口发送函数 //函数功能:把数据缓冲区的十位数发送出去 //--------------------------------------------------------------- VoidCOM_send(void) { for(point=0;point<=10,TI=1;point++)//连续发送十位数 { SBUF=buffer[point];//把缓存区的数据都发送到串口 TI=0; } } //函数名称:CLU_checkdata()计算校验位函数 //输入变量:无 //输出变量:checkdata,包括起始位在内的前九位数据的校验和 //函数功能:计算校验和 //--------------------------------------------------------------- UnsignedcharCLU_checkdata(void) {//计算校验位 unsignedcharcheckdata=0; for(point=0;point<9,TI=1;point++) { checkdata=checkdata|buffer[point]; } return(checkdata); } //--------------------------------------------------------------- //函数名称:主函数 //函数功能:调度各子函数,完成通信过程 //--------------------------------------------------------------- voidmain(void) { unsignedcharcheckdata; do { UART_init();//初始化串口 if(point==10)//判断数据是否接收完成 checkdata=CLU_checkdata;//调用求校验和函数 if(checkdata==buffer[9])//判断校验和是否正确 COM_send();//正确则调用发送程序 Point=0; } while(1); } 4.上位机(计算机)与下位机(单片机)的连接 4.1连接方法的确定 计算机与单片机上、下位机分工明确,作为下位机的单片机负责数据的采集和通信,而上位机以基于图形界面的Windows系统作为操作平台。计算机与单片机通过VisualBasic实现串口设备的串行通信,通过计算机串口发送控制指令给51单片机串口,控制单片机内部的程序,从而控制执行机构实现各种动作的执行和返回相关参数。 串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上的,以每次一个二进制的0、1为最小单位逐位进行传输,如图4.1所示: 图4.1串行通信 图4.2PC机与单片机串口通信线路 线路说明: 如图4.2所示,数据通信的硬件上采用三线制,将单片机和PC机串口的三个引脚(RXD、TXD、GND)分别连在一起,即将PC机和单片机的发送数据线TXD与接收数据线RXD交叉连接,两者的地线GND直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式,这样既可以实现预定的任务又可以简化电路设计。 但由于单片机的TTL逻辑电平和RS-232C的电气特性完全不同,RS-232C的逻辑0电平为+3到+15v之间,逻辑1电平为-3到-15v之间,因此在PC机和单片机的RXD和TXD交叉连接时必须进行电平转换,这里使用的是MAX232电平转换芯片MAX232的第10脚和单片机的11脚连接,第9脚和单片机的第10脚连接,第1脚和单片机的第20脚连接。 图4.3串口通信子程序流程图 4.1.1使用VisualBasic控件实现串口通信 利用VisualBasic开发串口通信程序主要有两种方法:一是使用MSComm串口控件,二是调用WindowsAPI函数,如图4.3。在此选用前种方法。 MSComm控件全称为MicosoftCommunicationsControl,是Microsoft公司提供的ActiveX控件,目的是为了简化Windows下串行通信编程,它既可以用来提供简单的串行端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具。使用它可以建立与串行端口的连接,通过串行端口连接到其他设备,发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。 图4.4 VisualBasic程序访问硬件端口的方式 4.1.1.1MSComm控件的添加 由于VisualBasic的串行通信组件不再工具箱中,当需要MSComm控件时,首先要把它加到工具箱中: 选择“工程”菜单下的“部件…”子菜单,在弹出的“部件”对话框中,在“控件”选项卡属性中选中“MicrosoftCommControl6.0”复选框,单击“确定”按钮后,在工具箱中就出现了一个形似“电话”的图标,就是MSComm控件。如果在控件属性中没有“MicrosoftCommControl6.0”选项,可在“部件”对话框“控件”属性中单击“浏览”按钮,在系统目录Windows\System32目录下选择MSComm32.ocx项,单击“打开”按钮即可在弹出的“部件”对话框中看到“MicrosoftCommControl6.0”的可选项目了。 工具箱中有了MSComm控件,就可以将其加到程序窗体上了,利用该控件PC机就能通过VB实现与串口设备单片机通信了。 4.1.1.2MSComm控件的主要属性 4.1.1.3MSComm控件通信步骤 采用下面的步骤来使用VisualBasic的MSComm控件作通信控制: (1)加入通信部件,也就是MSComm对象。 (2)设置通信端口号码,即Commport属性,此设计为1。 (3)设置通信,即Handshaking属性,此设计设为2。 (4)设置传输速度等参数,即Setting属性,设为“9600,N,8,1。” (5)设置其他参数,若必要时再加上其他属性设置,此时不用。 (6)打开通信端口,即PortOpen属性设成True。 (7)送出字符串或读入字符串,使用Input和Output属性。 (8)使用完MSComm通信对象后,将通信端口关闭,即PortOpen属性设为False。 4.1.1.4初始化MSComm控件 添加MSComm控件,并在窗体装入时进行初始化: PrivateSubForm_Load() Timer1.Enable=False MSComm1.InBufferSize=40 MSComm1.InBufferCount=0 MSComm1.InputMode=comInputModeBinay MSComm1.CommPort=1 MSComm1.Settings=“9600,N,8,1” MSComm1.RThreshold=1 MSComm1.InputLen=0 IfMSComm1.PortOpen=FalseThen MSComm1.PortOpen=True EndIf EndSub 在窗体添加Text,用以显示单片机返回的数据,如车门动作了几次,代码如下: PrivateSubMSComm1_OnComm() IfMSComm1.CommEvent=comEvReceiveThen Text1.Text=AscB(MSComm1.Input) EndIf MSComm1.InBufferCount=0 EndSub 4.1.2 ONCOME事件响应程序 Private Sub MSComm1_onComm() Dim buffer As Vaiant //由缓冲区接收到的数据用Variant格式接收 Dim arr() As Integer //定义二进制数据组 Dim i As Integer Dim receivestr As String //定义输出到接收文本框中的字符变量 //下段程序是comEvReceive事件触发后,将数据存入相应的数组,并在接收 本框中显示 Select Case MSComm1.CommEvent Case comEvReceive Buffer=MSComm1.Input //arr=buffer接收缓冲区数据到variant变量内 arr=buffer //转换二进制数并送入相应数组 for i=1 To 8 receivest=arr(i) Text1.Text=Text1.Text&receive&“.” //在接收文本框中显示 Next i End Select End Sub 然后等写好单片机程序后,连接串口运行即可。 5.试验台的机械执行机构 开关车门的机械手臂主动执行器为汽缸,在车内安装位置有误差,汽缸长度不可能与门开关距离完全匹配,为避免主动缸的力直接作用车门而致使车门遭到破坏,并且试验台还要适用于不同车型,所以采用一个主动汽缸加一个缓冲缸的结构形式,如图5.1所示。其中缓冲缸主要起缓冲作用,通过缓冲缸,当车型改变或安装位置变化时,能起到调整作用。 图5.1开车门机械手臂 开关门锁操作机械手使用FESTO摆动汽缸,该产品尺寸小,扭矩大;且带有后端限位曲柄,便于设计中间位置限位机构。由于钥匙在门锁孔中一般具有插拔钥匙、开锁、锁闭三种状态(位置),而一般汽缸只有两个端点位可停留位置,所以,在开/关门锁操作机构中专门设计了限定中间位置的气动擒纵机构,装于摆动汽缸尾部,在单片机的协调控制下,保证钥匙插拔时能被控制在准确的中间位置。由于车门外表面一般不完全垂直于地面,所以门锁开关操作机械手必须具备倾角、高低方向和旋转方向调整功能,否则,将难以保证开/关锁和插/拔钥匙动作的准确可靠。如图5.2所示: 注: 钥匙;2.摆动
/
本文档为【《汽车产业发展政策》】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索