基于单片机数据采集的汽车驾驶模拟器系统的设计

描述

汽车驾驶模拟器是一种能正确模拟汽车的驾驶操纵动作,获得实车驾驶感觉的仿真系统。目前的汽车驾驶模拟器集合了传感器、计算机三维实时动画、计算机接口、人工智能、数据通信、网络、多媒体等多种先进技术,主要用于驾驶员的培训,也可以对微观交通进行仿真,对汽车的控制特性进行研究。利用驾驶模拟器来进行研究和训练,可方便地模拟各种道路环境、天气状况,分析汽车的技术性能指标,从而可以节省大量的自然资源,具有很高的经济价值。

在汽车驾驶模拟器中,传感控制系统的性能直接影响到整个汽车驾驶模拟系统的交互性和实时性,是衡量汽车驾驶模拟器实用性能的重要指标。传感控制系统主要由各种传感器、数据采集和处理系统、以及接口电路等组成。其中,数据采集和处理系统是整个传感控制系统的核心。目前,很多汽车驾驶模拟器采用数据采集卡实现操纵数据的采集,这种基于数据采集卡的数据采集和处理系统成本相对较高,采集模拟量时不是很稳定,必须在仿真程序中采用专门的算法对模拟量进行处理,同时接口的数量也很有限,这为后续的开发带来了一些困难。下面介绍汽车驾驶模拟器单片机系统的设计思路。

1系统的工作原理

在模拟汽车运动时,传感器采集驾驶员的操纵数据,通过接口电路对这些信号进行放大和滤波,并对其中的模拟信号进行A/D转换,最后单片机系统将控制信号通过RS-232接口传送给主控计算机。当驾驶员进行模拟驾驶时,单片机系统采集的数据会根据驾驶员的驾驶操作实时地发生变化,从而实现对驾驶模拟器视景系统中汽车运动状态和位置的控制,控制系统的精度由仿真程序内部的算法保证。

数据采集

图1 系统的工作流程

汽车驾驶过程的基本操纵部件是方向盘、油门、离合器、刹车和档位,另外还有点火开关、转向指示灯等辅助性操纵部件。与实车驾驶相同,这些操纵部件的协同工作可以对虚拟视景中的汽车模型进行控制,驾驶训练者与视景的变化是实时的、交互的。驾驶训练者对操纵部件的操作通过传感器被系统感知后,系统经过处理和运算得到汽车模型的控制参数,最后根据这些参数控制视景系统的渲染输出,驾驶训练者就在虚拟视景中实时地观察到所驾驶车辆的运行情况。系统的工作流程如图1所示。

2 单片机系统的设计

2.1 传感器的选择

汽车驾驶模拟器主要的控制信号如表1所示。

数据采集

汽车驾驶模拟器主要有方向盘、离合器、制动器、油门、6个挡位、手刹等信号需要采集,使用的传感器包括开关传感器、位移传感器、角位移传感器三类[3]。方向盘采用角位移传感器;离合器、刹车、油门采用位移传感器;点火、手刹、换档等采用开关传感器。

汽车驾驶模拟器是一种驾驶训练的教学设备。它利用虚拟现实仿真技术营造一个虚拟的驾驶训练环境,人们通过模拟器的操作部件与虚拟的环境进行交互,从而进行驾驶训练。模拟驾驶环境几乎完全“克隆”真实学车环境,能够消除驾驶初学者的恐惧心理,适时规范驾驶者的操作,为驾校驾驶培训的有力帮助。

模拟器的工作原理为:驾驶员操纵操作部件,使得与操作部件直接相连的传感器发生变化,从而引起电信号的变化。信号采集及处理子系统按照一定的精度定期采集传感器上的电信号,并进行滤波等处理。处理后的信号作为车辆动力学模型子系统的输入,经过车辆动力学模型模拟运算,计算出车辆的当前状态,例如发动机转速、发动机输出扭矩、车速、车辆当前的位置等信息。车辆动力学模型计算出的结果送入显示系统进行图形显示、送入音响系统进行声音模拟以及送入仪表系统进行仪表显示。

2.2硬件电路的设计

汽车驾驶模拟器传感控制系统需要完成开关量和模拟量的采集与处理,指示灯与仪表的显示控制,以及与主控计算机之间进行数据传输等功能。根据以上要求,主控芯片选用Atmel公司生产的AT89C52, AT89C52是一种低电压,高性能的CMOS 8位单片机,与标准MCS-51产品的引脚和指令系统完全兼容。

AT89C52片内含8K的闪烁可编程可擦除只读存储器(FPEROM),256 B的内部随机数据存储器(RAM),已经可以满足本系统程序设计的需要,因此不需要进行外部程序存储器和数据存储器的扩展。

另外,AT89C52还提供了一个具有多级 通讯功能的全双工串行接口,可以用作与主控计算机之间进行通讯。由于RS-232串行通信端口是PC机的标准接口,而且RS-232用作双向数据通信时接线十分简洁,因此选用RS-232作为通讯接口。但是,RS-232的输出信号不但有正电压,还有负电压,所以选用半导体公司的RS-232接口芯片MAX232实现信号转换。图2为汽车驾驶模拟器单片机系统硬件电路简图。

数据采集

图2 系统硬件电路简图

2.3软件系统的设计

汽车驾驶模拟器单片机软件系统需要完成模拟量和开关量的采集和处理、串行数据的发送与接收、控制信号的输出与显示、故障的监控与保护等功能。软件采用模块化设计思想,通过汇编语言编制而成,主要由主程序、定时器中断服务程序、串行口中断服务程序、数据采集和处理程序、信号的输出与显示程序等几部分构成。

数据采集

图3 软件系统程序流程图

主程序主要完成系统的初始化工作;定时器中断服务程序主要完成看门狗功能,在单片机发生异常情况时,能使程序及时复位,保证单片机系统能够正常工作;串行口中断服务程序主要实现单片机与主控计算机之间的通讯;数据采集和处理程序主要完成模拟量和开关量的采集,获取驾驶员的操控数据;信号的输出与显示程序将主控计算机的控制信息传送给单片机,用于控制指示灯和仪表的显示输出。图3为汽车驾驶模拟器单片机软件系统的程序流程图。

3 结论

基于单片机的数据采集系统成本相对较低,接口的可扩展性好,同时,模拟量和开关量的预处理工作也可以由单片机来完成。系统完全可以满足汽车驾驶模拟器的交互性和实时性要求,已在所开发的汽车驾驶模拟器中得到了应用,取得了较好的效果。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分