一种优化的基于STM32的汽车车身测量控制策略

2015-07-25 09:40夏春蕾戴曙光
通信电源技术 2015年5期
关键词:测量机总线指令

杜 博,夏春蕾,戴曙光

(上海理工大学 光电信息与计算机工程学院,上海 200093)

0 引 言

在汽车测控领域,由于传统车身控制器主要通过微控制器处理数据采集开关信号,并以CAN或者LIN总线将指令传送给相应的节点和子节点,这种传统控制方法繁杂且无节点反馈信息,如果节点失效则需要通过故障诊断来恢复系统。当前在汽车车身控制还存在一些不足:第一,控制方法诸多,但控制复杂,设计难度高,成本相对较高;第二,很多在理论上优秀的控制算法,在工程应用领域难以实现。

为了弥补传统控制方法的鲁棒性缺陷,可以从以下三个方面考虑;第一,采用高性能的单体锂电池提高其单个硬件特性;第二,寻求最优且在工程领域易实现的控制策略以提高软件性能;第三,可对所在汽车车身控制管理系统参数进行定量误差分析,结合最优控制算法的实施,可应用在车身测量控制系统中。文献[1]采用传统汽车电器系统点对点通信方式,对于电子程度越来越高的汽车而言,将使其线束十分复杂,不仅增加电器系统成本,而且会因为节点繁多使系统运行可靠性降低。文献[2]和[3]分别提出快速原型验证系统和参数标定V模型车身网络控制技术,这些方法虽然能够提高系统开发效率和可靠性,但由于其系统为封闭式架构,在可交换性和可复用性上存在一定缺陷。文献[4]提出一种基于蚁群算法的车身主动控制方法,采用参数自适应PID控制算法,虽在一定程度上可以抑制车身控制低频区域振动幅度,但不适应于车身振动幅度较大的高频区域。因此,本文提出一种优化的基于STM32的车身控制方法,以STM32为核心的嵌入式开发平台,实时处理车身各关键件角度传感器值,建立MDH测量机运动学模型,再通过温度传感器检测因温度导致的热变形误差,实时在线修正测量误差,并引入嵌入式操作系统以应用编程方式进行更新[5]。通过一系列测量实验和数据分析,该系统的测量精度符合设计要求。

1 系统整体设计方案

本文提出一种优化的基于STM32的车身测量控制应用系统,首先建立测量机MDH数学模型,获取角度传感器角度值和测量机机械结构参数,利用MDH模型得到空间坐标。系统硬件以ARM Cortex-M3为嵌入式开发平台,软件以嵌入式操作系统为基础,编写车身测控外设驱动和任务处理程序,确保系统运行可靠,且数据存储方式灵活,同时建立便捷直观操作模式以及友好人机交互界面。系统整体方案框图如图1。

图1 系统整体方案框图

图1中ARM Cortex-M3平台连接LCD触摸屏,可进行诊断控制。处理器接到总线信息后,通过标识符位区分诊断和操作指令。如果是诊断指令则将数据信息以LIN总线协议的格式,将数据通过标准的LIN接口发送给相应的子节点;如果是操作指令,则根据具体的指令信息,将数据打包成CAN总线协议格式,将报文通过CAN收发器传送给相应的子节点。子节点在收到操作指令后作出相应的功能操作,进而完成整个操作流程。另外,当子节点有消息或状态需要反馈给主控节点的时候,子节点将指令或状态信息以相应的报文协议的格式发到处理器中。ARM根据提取的具体指令或信息,将子节点需要反映的状态和操作显示在触摸屏上。

2 MDH数学模型和系统设计

2.1 MDH数学模型

如图2所示,根据机身结构模拟建立以基座为原点的机身初始姿态坐标,包括一个基座、四个连杆、五个关节和一个测头,在每个关节装有角度传感器。运用MDH建模方法建立机身测量方程,数学模型建立的第一步是要确定测量机的初始姿态,因为不同的初始姿态所得到的数学模型是不同的。在初始姿态下,所有关节的角度变量都为零度。如图2建立坐标系,O1为基座与杆件L1连接处,L1以角度θ1绕着O1点Z1坐标轴旋转;O3与O2类似,关节角度θ3表示杆件L2与L3的相对位置;杆件3和4的偏置长度为d,相对转角为θ4;O6为测头。设定O1点为坐标系原点,根据坐标变换计算得到O6在O1点坐标系下相对于O1点的空间坐标值,即可完成对测量机结构的数学建模。

图2 机身初始姿态坐标

首先进行坐标矩阵变换,利用MDH建模方法进行旋转β角度变换,当相邻关节轴线平行时,将标准DH模型矩阵乘以一个旋转项,得到MDH模型矩阵为

其中,

然后,从O3转换到O5,各坐标系Z轴相互正交,MDH转换矩阵为

最后推导O5到O6的转换圆柱坐标的变换公式。圆柱坐标公式为

将以上坐标转换进行整合得到测量车身运动学方程,设测头相对于测量车身坐标系原点坐标为(Xk,Yk,Zk),得到测头坐标值为

2.2 硬件驱动开发和软件实现

本文设计的基于STM32的车身控制系统,其中ARM Cortex-M3与总线通信是系统的核心,其在通信速率、稳定性、准确性上都有很高的要求。本文采用的是CAN和LIN总线通信,采用该总线原因如下:第一,在节点通信速率上能够满足ARM模块的通信要求;第二,在功能和资源配置上,ARM模块本身有很多外设接口资源被占用,其IO口配置不易满足当前传输速率和功能配置。

总线通信采用的是主从工作模式,ARM主机控制数据传输。在硬件资源上,采用四线制双向通信。在通信过程中,ARM通过片选信号CS发出启动传输信号,将已装入8位移位寄存器中的数据在8个时钟信号的驱动下,一次通过移位寄存器中,整个通信过程中没有指定数据流。考虑到总线通信存在的缺陷,当主机向从机发送数据时,从机接收到数据后会拉低中断信号线提示主机数据已经收到。

总线硬件驱动程序主要由以下函数组成:第一,字符设备驱动加载和卸载函数,第二,字符设备驱动的file_operation结构体和成员函数。下面简单介绍加载和卸载函数驱动程序,定义代码如下:

在加载和卸载函数中分配和释放字符,主要是由register_chrdev_region()和unregister_chrdev_region()函数来实现,具体的加载和卸载函数如下:

2.3 测试验证

分别随机获取车身关键件角度传感器测量值,每个部位选择不同的三种姿态,得到表1数据,传感器实验数据,实测值与理论偏差在1度范围内,系统精度较高,符合系统要求。系统实验测试平台如图3所示。

3 结 论

本文对汽车车身测量控制系统实现了一种基于STM32的控制,弥补了传统控制方法可靠性较弱的不足。采用一种优化的车身测量控制策略,将车身控制的各项开关控制和系统诊断两项功能集中到一个触摸屏的控制界面中,实现了集中式的控制,提高了系统操作的快捷性、透明性和安全性。经过多次实验表明,该系统可以满足实际应用需要,具有较好的应用前景。

表1 传感器实验数据

图3 实验平台

[1] Sun B,Hu Y L.Automatic Body Control Model Experimental Platform Design Based on CAN-Bus[J].Advanced Materials Research,2012,383-390.

[2] Junshan Gao,Yixiang Zhang,Bo Wun.The Design of a Vehicle Network CAN/LIN Gateway Based on ARM[J].ICEEE,2010:2328-2331.

[3] Fredriksson L B.CAN for Critical Embedded Automotive Networks[J].Micro IEEE,2002,22(4):28 -35.

[4] 王金江,秦贵和,郭立书,李秋菊,等.支持多总线互连的车身控制系统设计[J].微计算机信息,2008,24(28):26-28.

[5] 韩江洪,魏振春,张本宏,等.总线式车身控制系统的规则化建模方法[J].汽车工程,2006,28(12):1121-1124.

猜你喜欢
测量机总线指令
三坐标测量机及配合使用的光学转台测量结果不确定度的评估
《单一形状固定循环指令G90车外圆仿真》教案设计
基于PMAC的动车轮对测量机控制系统设计
一种基于CAN总线的误码测试方法
三坐标测量机应用与研究
三坐标测量机维护保养方法及应用
CAN总线并发通信时下位机应用软件设计
中断与跳转操作对指令串的影响
基于CAN总线的水下通信系统设计
一种基于滑窗的余度指令判别算法