机场消防车训练模拟器仪表系统的实现

2013-09-10 08:33王立文贾立山
自动化仪表 2013年4期
关键词:油门模拟器串口

王立文 陈 曦 贾立山

(中国民航大学航空特种设备研究基地,天津 300300)

0 引言

根据国际民航组织(ICAO)统计,在机场事故中,有71%的失事飞机因失火而烧毁。因此,只有以最快的速度控制火情并将之消灭,才可将损失降到最小。消防训练模拟器作为一种模拟装置[1-2],通过真实地模拟火灾现场,使消防人员增加实战经验,熟练掌握消防技术,从而更好地完成救援任务。

在消防系统中,仪表被称为消防员的眼睛,对消防员灭火起着关键作用;而现有的步进电机组合仪表存在抗干扰能力差、仪表指针运动不连续、相应信号变化速度较慢的缺点,所以本文采用PLC和步进电机相结合的控制方式。为了增加可靠性和实用性,系统采用了分布式控制系统。这种控制方式将控制功能尽可能分散,而管理功能相对集中。这种分散化的控制方式能改善控制的可靠性,使整个系统不会由于计算机的故障而失去控制。

1 硬件设计

1.1 步进电机及其驱动电路

步进电机是一种将脉冲信号转化为机械角位移的执行机构,电机绕组固定在端子上,而转子则由硬磁或软磁材料组成。当控制系统将一个电脉冲经功率装置加到定子绕组上时,步进电机会沿一定的方向旋转一步。脉冲的频率决定电机的转速。电机的转动角度与输入脉冲数成正比,因此,只要改变脉冲数就能控制转子运行角度,从而达到位置控制的目的[3-4]。此外,步进电机还具有很多其他优点,如便于开环控制、定位精度高、无累积误差、无电刷、高可靠性,具有锁定转矩和良好的启动、停止、反转响应等功能。由于步进电机是依靠脉冲来实现机械运动的执行单位,所以普通的高低电平无法实现对步进电机的驱动,这就需要特殊的驱动装置,即步进电机驱动器[5]。本文所采用的驱动芯片是 M-S Quad Driver X12.017,它是一种 CMOS型器件,用作接口电路,简化了对X15.xxx型步进电机的使用。

步进电机采用的是麦克络微电机有限公司的车用仪表步进电机。它直接由数字信号驱动来实现参数的显示,不需要模数转换,并配有1∶180的减速齿轮。该步进电机还具有如下特点:①(1/12)°的步进分辨率;② 功耗<20 mA;③ 体积:π ×15×15×9.6(mm3);④直接MCU驱动;⑤工作温度范围为-40~105℃;⑥高速:600°/s。

1.2 PLC

作为工业现场控制器,PLC以其高性价比在工业控制系统中获得了广泛的应用,由PLC构成的集散控制是现代工业控制的一个重要组成部分。本文采用松下AFPX-C30T型号PLC[6]。它除性能稳定、处理速度快、通信方便外,还具有强大的脉冲输出功能。以往应用PLC输出脉冲序列大部分是依靠定时器的互锁来完成,这种方法虽然可以输出一定频率的脉冲序列,但是只适用于低速情况,当频率要求较高时,将难以达到要求。C30T具有5种高速脉冲输出模式,可以输出1.5~100 kHz之间的任意频率,且精度高、误差小。

1.3 系统电路及接线方式

仪表系统硬件电路结构如图1所示。

图1 系统硬件电路结构图Fig.1 Structure diagram of system hardware circuitry

PLC端子采用网络标号的形式表示,如Y0Y1(通道1)等,由 Y0Y1控制的电机的网络标号为 Y0.1~Y0.4,其中1~4为电机对应的4个引脚(顺序不可接错),其他控制端以此类推。电路中,2个100 nF的电容对电路起保护作用。

通过PLC通信插卡AFPX-COM3的RS-422接口,实现了上位机与PLC的物理连接。RS-422采用高输入阻抗和发送驱动器,所以较RS-232有更强的驱动能力和抗干扰能力;允许在相同传输线上连接多个接收点,最多可接10个。即1个主设备,其余为从设备,从设备之间不能通信,所以RS-422支持点对多点的双向通信。接收器输入阻抗为4 kΩ,则发端最大负载能力为10×4 kΩ+100 Ω(终接电阻)。由于RS-422四线接口采用单独的发送和接收通道,因此不必控制数据方向,且传输距离最远可达到1.2 km。RS-422接线方式如表 1 所示[7-8]。

表1 RS-422接线方式Tab.1 RS-422 wiring

2 软件设计及上位机与PLC的通信

2.1 PLC 软件设计

由于应用了步进电机驱动器,因此电路结构大大简化,整体可操作性大大提高。但是由于步进电机自身的一些特点,我们需要在对步进电机进行控制时注意启动频率(步进电机在起步时,在不失步的情况下可以达到的最高频率)和停止频率(步进电机在信号关断后,由于惯性不冲过目标位置的最高频率),所以本文采用梯形控制指令(F171)。使用这种方法可以避免电机出现失步的现象。脉冲输出指令(F171)中各代码意义说明如下。

① 控制代码1003:以占空比1/4,脉冲频率范围1.5 ~9.8 kHz,相对 PLS+SIGN 输出脉冲。

②K200为初始速度(200 Hz)、K360为最高速度(360 Hz)、K30为加减速时间(30 ms)、K500为移动量(500 Hz)。

③K2表示由通道2输出脉冲。

除脉冲输出外,还有3个定时器:定时器1为电机转动时间,上位机也是通过它来控制电机旋转角度;定时器2为启动时间;定时器3为读写串口时间,可以根据需要设定。此外PLC还具有4个高速脉冲输出端子,可以节省空间,便于操作。

2.2 上位机与PLC的通信

PLC有4种通信方法,本文采用的是通用串行通信。其指令发送格式如图2所示。

图2 发送命令格式Fig.2 Formats of send commands

①“%或<”为始端代码标志,以“%”开头的帧单帧最大长度为118 B;以“<”为扩展头,单帧最大长度可达2 048 B。

②站号为所要发送的PLC的站号,由高低两位组成,高位在前,低位在后。

③#为指令代码。

④命令代码通常包括RCS(单点读取)、WCS(单点写入)、WD(数据区写入)等26个常用的指令种类。

⑤ 文本数据为要写入的内容,如闭合为1,断开为0。

⑥BCC为块验证码,两个字节,具体算法为从帧的第一位到BCC的前一位所有字节的16进制表示的异或运算。

⑦CR为回车,是帧结束符。

响应代码格式和错误代码格式与发送代码格式不同的地方在于“#”的部分:响应格式中“$”代替“#”,而在错误格式中由“!”代替。

在 VC++6.0 环境下编写串口通信程序[7-9],采用Microsoft Visual Studio提供的串口类SerialPort。与MSComm控件相比,SerialPort更加灵活,稳定性更高。在串口操作方面,同步操作方式下API函数会阻塞,直到操作完成后才能返回(在多线程中,虽然不会阻塞主线程,但是会阻塞监听线程)。因此,本文采用异步串口操作,操作在后台进行,避免线程阻塞。串口通信程序如下。

待上述工作完成后,便可以进行上位机与PLC之间的通信。在VC中按照与松下PLC的通信协议,将要控制的数据通过串口发送给PLC,PLC在接到命令后会做出反应并返回应答,从而实现两者之间的通信。

2.3 车辆动力学模型

汽车在不同的驱动力下产生加速度,从而引起速度的不断变化。通过分析汽车发动机的扭矩特性和变速箱的变速特性可知,在不同的速度下,发动机的转矩也随之变化。影响驱动力的因素比较多,如变速箱及主减速器的减速比、离合器的工作状态以及油门的工作状态[9-10]。

2.3.1 变速箱和主减速器

首先假设油门开度最大且离合器始终啮合,在此前提下分析变速箱及主减速器对车速的影响。变速箱变速特性反映了车速与发动机转速之间的关系,发动机转速和车速都与发动机转矩有关,那么发动机转矩和车速之间也存在某种关系,所以对发动机特性和变速箱变速特性进行函数曲线拟合。同时,车辆的主减速比是一定的,对应不同档位变速箱的减速比也是一定的,所以发动机的转速和车速之间应该是线性的关系,即不同档位下的车速和发动机的转速关系曲线是通过原点的直线。根据拟合结果得出速度仿真模型为:

式中:Ai为发动机特性函数拟合中的直线斜率;Ci为直线在纵轴的截距;Bj为变速箱特性曲线拟合中的直线斜率;ig为变速箱减速比;io为主减速比;ηT为传动效率;r为车轮半径;CD为空气阻力系数;A为迎风面积;i为道路坡度;f为滚动阻力系数;δ为汽车旋转质量换算系数;m 为车辆质量[11-12]。

2.3.2 油门和离合器

上述模型建立完毕后还要考虑油门和离合器对驱动力的影响。油门开度越大,发动机扭矩也越大,车辆驱动力也越大。引入修正系数λ1(与油门开度有关),利用一个位移传感器来测量油门踏板的量程,以行程来标志油门开度,修正系数的大小根据油门踏板的实际行程ΔL和最大行程L的比值来确定,用l表示最小开度值,则修正系数λ1=(ΔL+L)/(L+l)。

当离合器踏板未踩时,离合器能将发动机的转矩全部传递给驱动轮,而完全踩到底时,发动机的转矩没有传递给驱动轮。因此,可以引入修正系数λ2(与离合器踏板行程有关),同样利用位移传感器测量离合器踏板行程,以行程来表示离合器传递转矩的能力。根据离合器踏板实际行程ΔLc与最大行程Lc的比值来确定修正系数,即λ2=1-ΔLc/Lc。

2.3.3 汽车制动力

汽车在行驶过程中一旦进行脚刹或手刹动作,汽车将受到与行驶方向相反的地面制动力影响,且汽车车轮相对于地面的运动形式是滚动和滑动的混合过程,很难确定摩擦系数。本文以制动力与垂直载荷之比作为制动力系数,以滑动率s来说明汽车在制动过程中车轮滑动成分的多少;采用位移传感器测量刹车踏板的行程,以踏板实际行程与总行程的比粗略表示滑动率s;对制动力与滑动系数的关系曲线进行拟合。经过拟合分析,得出修正后的驾驶模拟器动力学仿真模型为:

式中:Ft为驱动力;Fw为空气阻力;Fi为坡度阻力(上坡时为阻力、下坡时为动力);Ff为滚动阻力;Fb、Fh为在不同情况下的制动力[13]。

3 系统工作过程与精度测试

以车速表速度=40 km/h为例介绍系统工作过程。

当驾驶人员对油门开度和制动踏板行程进行操作时,行程传感器采集数据,并把数据传递给车辆动力学模型。计算机根据模型以及其他一些传感器传递的数据进行综合分析,计算出车速,并将车速转化成脉冲数;再根据PLC中设定的脉冲数,将其转化成时间写到数据寄存器DT108(与车速相对应)中。这里根据协议将脉冲数转换成十六进制数,即为6009,写入数据寄存器指令为WD,再加上BCC模块添加的验证码,就得到了完整的指令,本文验证码采用**,所以完整的发送指令为%01#WDD00108001086009**CR。当上位机将指令发出后,PLC会立即响应并作出反应,同时控制仪表转动达到目标值。

系统软件工作流程图如图3所示。

图3 软件工作流程图Fig.3 Working flowchart of the software

精度测试是在脉冲频率=180 Hz的情况下对转速表进行测试的。根据公式β=N/12°和T=β×12/N可知,转速表每秒转动15°。其中:β为仪表旋转角度;N为脉冲数;T为仪表转动时间。为了增加可靠性和有效性,本文采用的方法是测试电机旋转一周(315°)的时间,按时间求出角度,从而计算误差率,重复30次。精度测试结果如图4所示。由图4可以看出,电机旋转一周的时间在21.3~21.6 s之间,经计算得到平均值为21.46 s。从而进一步得到试验误差率为2.2%,排除人为因素的反应时间0.3 s(启停),得到真实误差率为0.53%,满足汽车行业普遍遵循的规定,即低速误差10%、高速误差5%。此外,CW/CCW(脉冲输出方向)和Fscx(脉冲输出频率)启动时间分别为20 μs和320 μs(由PLC提供),可以忽略,所以系统在精确度和实时性方面满足要求。

图4 精度测试结果Fig.4 Accuracy test result

4 结束语

本系统在硬件搭建上采用PLC和步进电机,在软件上使用VC++6.0,并通过上位机和PLC,设计了可靠、稳定、友好的人机界面。上述软硬件设计已应用到机场消防车模拟器中,并取得了良好的效果。

[1]刘东波,缪小冬,王长君.汽车驾驶模拟器及其关键技术研究现状[J].公路与汽运,2010(5):53 -59.

[2]张萍,王毅博.汽车驾驶模拟器仪表驱动系统的设计与实现[J].自动化技术与应用,2008(3):97-99.

[3]刘宝廷,程树康.步进电机及其驱动控制系统[M].2版.哈尔滨:哈尔滨工业大学出版社,1997:140-153.

[4]史敬灼.步进电机伺服控制技术[M].北京:科学出版社,2006:23-40.

[5] Bellini A,Concari C,Franeesehini G,et al.Mixed mode PWM for high performance stepping motors[J].IEEE Transactions on Industrial Electronics,2007,54(6):3167 -3177.

[6]张学铭,邸书玉.松下PLC编程与应用[M].北京:机械工业出版社,2009.

[7]张瑞卿,胡爱军,张超.基于VC++的PC机与PLC串口通信的实现[J].制造技术与机床,2010(9):58-61.

[8]许晓君,许建坪.PLC与计算机间通讯的研究[J].电子测试,2011(8):92-95.

[9]黄涛.PC与松下FP系列PLC的通信[J].科技资讯,2010(17):23 -24,26.

[10]王伟,吴超仲,严新平,等.汽车驾驶模拟器动力学仿真建模[J].武汉理工大学学报,2005,27(1):24 -27.

[11]徐学进.基于驾驶模拟器的车辆动力学建模研究[D].武汉:武汉理工大学,2007.

[12]张永杰.基于汽车驾驶模拟系统的车辆动力性参数化仿真[D].昆明:昆明理工大学,2008.

[13]Bemard J E,Clover C L.Validation of computer simulation of vehicle dynamics[C]//InternationalCongress & Exposition Technical Paper,1994.

猜你喜欢
油门模拟器串口
了不起的安检模拟器
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
盲盒模拟器
划船模拟器
浅谈AB PLC串口跟RFID传感器的通讯应用
驾哥
基于EM9000工控板高性能双串口通信模型设计与实现
汽车改装车上装油门的几种控制方法
船舶电子设备串口数据的软件共享方法
坐诊专家