基于VB串口通信的电动天窗耐久性测试系统的软硬
扫描二维码
随时随地手机看文章
摘要:提出了一种基于VB串口通信的电动天窗耐久性测试系统的软硬件实现方案。该系统包括PC机构成的上位机和单片机构成的下位机。上位机提供了良好的人机交互界面;下位机采用集成电路,以及信号采样、V/F、F/V转换和D/A转换,通过串口通信将单片机与PC机连接。借助这一系统,可方便灵活精确地实现对各种电动天窗的耐久性测试。
1 概述
汽车天窗是为满足消费者乘车健康和舒适度的要求而设计的,因此人们对天窗性能的要求不仅仅停留在美观、豪华上,还必须满足安全、可靠、运行自如等全方位的要求。所以,在汽车天窗装车前要首先对其进行耐久性和安全性测试,以确保其装车后符合技术和用户的要求。而现有汽车天窗存在行程不到位,天窗打不开;行程不到位,天窗关不严,对汽车防盗防雨构成威胁;控制开关失灵,出现夹人现象等隐患和问题。
目前,国内天窗测试大都采用单机式的下位机系统。该类系统虽能进行常规测试,但不能记录或反馈测试信息。我们设计的汽车天窗测试系统分上、下位机,下位机具有控制天窗的执行机构,不但可以控制天窗的往返等动作,完成测试项目,而且还具备自动辨别故障功能,能自动记录天窗电机故障时间。通过上位机显示耐久测试次数、显示故障。依靠上位机和下位机的可靠通讯,实现了测试运行、信息传递和信息反馈。
2 电动天窗耐久性测试系统的关键技术
2.1 硬件技术特性
本硬件系统要实现天窗的开到位,关到位,中途停和电机必要休息的判断。主要由检测电路和控制电路两部分组成,其系统原理图如图1所示:
图1 电路原理图
到位检测电路:在系统中,为了保证天窗测试台的自身耐久性,设计中采用非接触式传感器(红外线光电式传感器)代替易损的接触式传感器,而且可以灵活的调节天窗的开到位或关到位的位置,方便用户的需求,天窗到位的电路工作原理为:电路由3D红外线发射管和3E接收管以及运放LM324构成,当天窗未开到位或未关到位,无信号发出,只有天窗到位,才发信号给单片机。
中途停检测电路:系统中,由于控制对象(天窗电机)的负载特性,不允许天窗电机持续不停的工作,防止电机过热而影响正常工作。在获取中途停信号的子系统中,用取样电阻采样、保持。为了保证信号的不失真,可采用两级放大电路,经过V/F和F/V转换(因为取信号的地与电源地不能共地),然后再经一级放大,经过比较后接入到单片机中。
报警控制电路:通过8255出来的信号经过7405控制光耦,若检测到系统堵转,则声音报警。
过流保护控制电路:当系统堵转时,继电器打开,电机立即停止工作。
电机控制电路:开到位信号(关到位信号)经8255出来后,经过7405控制光耦的导通,然后通过晶体管控制继电器,使电机停30秒。
2.2 软件技术特性
单片机部分:下位机部分由单片机及扩展接口电路构成,主要有8031,地址锁存器74LS373,用作片外程序存储器的EPROM2764以及用于扩展I/O口的8255,然后通过RS-232接口与上位机通信。由于单片机输入、输出电平是TTL电平,而PC机配置的是RS-232标准串行接口,二者的电气规范不一致,因此要完成单片机与PC机的数据通讯,必须对单片机输出的TTL电平进行电平转换。本电路中使用的是一种标准的RS-232芯片MAX232。下位机软件由汇编语言编写,主要由主程序、延时子程序、中断子程序、跳过电机启动子程序、握手联络子程序和赋堵转电流子程序组成。其功能如下:
图2 单片机程序流程图
主程序:完成系统的初始化,分配调用各子程序以实现系统功能;
延时子程序:为了满足天窗电机的特性要求,控制电机不连续工作;
中断子程序:当堵转电流大于设定电流时,电机停止工作;
跳过电机启动子程序:当电机启动时电流很大,有可能超过堵转电流,此程序可使电机正常工作;
握手联络子程序:上、下位机在通讯时, 握手联络子程序起到保证通讯可靠,减少误动作的作用;
堵转电流子程序:设定堵转电流值,以控制电机工作; 其部分代码如下,程序流程图如图2所示:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TOT0
ORG 0030H
MAIN: MOV R6,#0FFH ; 延时子程序,等待8255完全复位
MAIN1: DJNZ R6,MAIN1
MOV P1,#0FFH
MOV SP,#40H
MOV DPTR,#7FF3H ; 对8255写控制字,PA,PB.PC输出,0010 0100 0000 0011
MOV A,#80H
MOVX @DPTR,A
MOV DPTR,#7FF0H ; PA输出全01111111
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#0BFFFH
MOV A,#0FFH
MOVX @DPTR,A
MOV TMOD,#22H ; T1为波特发生器,方式2,定时.T0方式2,定时
MOV TL1,#0F3H ; 波特为1200B/S
上位机部分:由PC机构成,具有人机接口界面,如图3所示。由于VISUAL BASIC语言有非常友好的界面,很好发挥了其可视化特点,深受广大编程人员的青睐。所以,软件编写利用VB6.0语言环境,界面操作方便直接。在本系统中要使用上下位机通讯,则要用到串口技术。串口通讯一般采用RS232或者RS485等规范,并有专用芯片实现相关硬件通讯电路。在Windows环境下我们可以调用API函数或直接使用Ac-tiveX串口通讯控件,利用API函数编写串口通讯程序比较复杂,而VB6.0的MSComm通讯控件为标准的通讯命令集,提供了一个接口,它允许程序员建立一个基于串行口的连接,可进行命令的确认、数据交换以及对串行接口处可能出现的各种事件或错误进行监视,并可做出反应。另外VB6.0通过属性方法,提供了串行通讯口参数的设置,可以较容易地解决串口通讯问题。而且MSComm控件屏蔽了通信过程中的底层操作,使串口编程非常方便。因此在进行系统开发时,利用MSComm控件能起到缩短设计周期、增加系统可靠性的作用。同时,只要了解自己需要的参数即可顺序编写上位机软件,所以此处采用MSComm控件编程来实现与单片机的通讯。该控件的各项参数简介如下:
CommPort:设置并返回通讯端口号;
PortOpen:设置并返回通讯端口状态(true表示打开,false表示关闭);
InPut:从接收缓冲区返回并删除数据;
Output:往发送缓冲区中写数据;
InBufferSize:设置并返回接收缓冲区的大小;
OutBufferSize:设置并返回发送缓冲区的大小;
InputLen:设置并返回Input属性一次从接受缓冲区中读取的字节数;
Settings:设置并返回波特率、奇偶校验、数据位、停止位参数;
InputMode:设置并返回被Input属性读取的数据类型;
InBufferCount:返回接收缓冲区中等待的字节数,设置为0时也可以用它来清除接收缓冲区;
OutBufferCount:返回在发送缓冲区中等待的字节数。设置为0时也可以用来清除输出缓冲区;
图3 测试系统界面图
串口通讯程序设计首先初始化工作,设定通讯波特率和传送字符的格式,包括字符的位数、停止位的位数、奇偶效验方法等。本系统中通讯的波特率是1200b/s,传送字符的格式是1位开始位,8位数据位和1位停止位等。通常的情况是字符的格式一旦被确定下来,那么在以后的通讯中就不会改变。
3 结束语
我们研制开发的基于串口通讯的汽车天窗测试系统,通过上、下位机的联合使用来实现测试运行、信息传递和信息反馈,改善了单机式的下位机系统能进行常规测试,但不能记录或反馈测试信息的性能,同时具备了故障辨别等更多功能。考虑到汽车天窗可能还存在其他潜在的问题,该测试系统留有对外接口,以拓展、完善更多的测试功能。
在我国积极倡导自主汽车产业的今天,设计该汽车天窗的耐久性测试系统,为保证天窗在使用过程中具有较高的可靠性提供了有效的平台,它可以极大的提高汽车产业的社会效益和经济效益,具有广阔的应用前景。
4 本文作者创新点
该系统通过上、下位机的联合使用来实现测试运行、信息传递和信息反馈。其中下位机控制天窗的执行机构,可以控制天窗的往返、开启、停止等,同时记录天窗的往返次数;还可以自动辨别各种故障,记录天窗电机故障时间,并随时可以终止测试过程。另外,还提供电机堵转电流,以适应各种天窗电机的要求。上位机提供用户友好界面,显示耐久测试次数、显示故障,具有记录天窗的即行位置、测试进程、打印测试结果并记录故障发生时间及地点的功能,其核心是上位机和下位机的通讯可靠性。在设计中对天窗电机的特性要求是工作一个循环,须停顿30秒,而且此天窗电机具有中途停功能。由于要对天窗进行耐久性测试,因此我们摈弃常用的机械开关,采用耐久的光电开关传感器,增加了系统工作可靠性和反映速度,保证了测试数据的即时和准确。
鉴于对不同的车型、不同的天窗设计功能,该系统的应用略有差异,功能需不断完善,由此创造的具体的经济效益还有待进一步统计和研究。