历史上的今天
返回首页

历史上的今天

今天是:2025年04月26日(星期六)

2020年04月26日 | 基于于HMR3000和MCU实现车辆模拟驾驶动感数据采集系统的设计

2020-04-26 来源:电子设计工程

1、引言


车辆模拟驾驶训练系统是一种利用现代技术手段模拟真车驾驶的仿真系统,它可以使汽车驾驶训练更加安全、经济、高效和逼真。与现有车辆模拟驾驶训练系统相比,新型车辆模拟驾驶训练系统的独特之处是增加了动感系统。该动感系统可以使驾驶员在模拟驾驶室内真实感受到模型车所行驶的沙盘路面的状况,与实车在正常路面上行驶的感觉一样,从而弥补现有车辆模拟驾驶训练系统的不足,提高驾驶训练的效果。


2、 系统的组成及工作原理


新型车辆模拟驾驶训练系统中的动感系统主要由动感数据采集系统、动感数据无线发收系统、动感平台及其控制系统组成。


工作原理是:安装于模型车上的动感数据采集系统实时采集模型车行驶过程中姿态的动感数据,通过无线收发系统将动感数据实时传送到动感平台控制系统,进而使动感平台产生相应的动感。


3、 硬件设计


3.1 动感数据采集系统


动感系统的动感数据采集使用HMR3000型数字罗盘模块。HMR3000是Honeywell公司的产品,它不仅可以测量磁场,还可以测量物体的姿态,实时准确地输出被测物体的俯仰角、横滚角和航向角。用单片机和HMR3000组合构建适用于机载或车载的测控系统,可广泛应用于航海、通信雷达、微波定向、海上平台控制、天线安装、无人机、机器人、运动定向、自动控制等方面。


HMR3000体积小、功耗低、精度高、价格便宜,是姿态测量用户的理想选择。


3.1.1 HMR3000的数据输出格式


HMR3000数字罗盘按照NMEA0183的格式,通过所带的RS-232接口输出数据。输出6种格式:HDG格式、HDT格式、XDR格式、HPR格式、RCD格式和CCD格式。动感系统采用的是如下所示的HPR格式:$PTNTHPR,x..x(航向),a,x..x(俯仰角),a,x..x(横滚角),a*hh该数据输出格式将HMR3000的3个重要测量结果和相应的测量状态结合在一起。数据中的x..x为所测的相应航向角、俯仰角和横滚角的值,形式为n位ASCⅡ码,单位可以是“度”也可以是“mils”。数据中的“a”表示测量状态。测量状态有以下6种:


L=LOW ALARM(低级报警);


M=LOW WARNING(低级警告);


N=NORMAL(正常);


O=HIGH WARNING(高级警告);


P=HIGH ALARM(高级报警);


C=TUNING ANALOG CIRCUIT(调节模拟电路)。


如果1个输出语句的3个状态指示中有任何1个报警,航向位置将为空白。报警和警告的阈值可以在EEPROM中更改。


3.1.2 HMR3000的控制指令


工作:罗盘启动,指令为#FAO.3=1*26《1f》;


停止:罗盘停止,指令为#FAO.3=0*27《1f》;


询问:询问罗盘启动、停止状态,指令为#FA0.3?*15;


响应:有二种响应,工作状态响应为#1*31;停止状态响应为#0*30《1f》。


3.1.3 HMR3000的数据单位和进制的设定指令


数据单位可以分为“度”和“mils”二种。度=mils×9/160,其中,度的数值是0.0~359.9,而mils的数值是0~6 399。进制分为十进制和十六进制二种。设定数据单位和进制的指令如下:


#FA0.4=1*21 ∥殳定罗盘数据单位为“度”


#FA0.4=0*20 ∥设定罗盘数据单位为“mils”


#FA0.5=1*20 ∥设定罗盘数据为十进制


#FA0.5=0*21 ∥设定罗盘数据为十六进制


3.1.4 HMR3000数据采集速率的设定指令


HMR3000的数据输出有6种格式,对应的数据采集速率格式也有6种,其中HPR格式更新速率指令为


#BAD=I*hh ∥设定HPR的更新速率为“I”句/s


其中I的值可以设为0、l、2、3、6、12、20、30、60、120、180、300、413、600、825、1200。


3.1.5 HMR3000姿态数据的查询指令


HMR3000启动后会按照指定的工作模式发送数据,一般会选择连续工作方式。需要查询当前的数据状态和具体数值时需要使用查询指令。HPR格式的查询指令为

$PTNT,HPR*78 ∥查询HPR格式的数据状态


3.1.6 HMR3000与MCU的接口连接


由于HMR3000与外界的串行通信采用的是自身所带的RS-232接口,与MCU串行数据传输的TTL电平不匹配,所以需要MAX232型电平转换器,如图1所示。

基于于HMR3000和MCU实现车辆模拟驾驶动感数据采集系统的设计

3.2 动感数据无线收发系统


动感数据无线收发系统采用nRF905型无线收发模块,该模块具有以下突出特点:


●三频段收发合一,工作频率为国际通用的ISM频段433/868/915 MHz;


●GMSK调制,抗干扰能力强,特别适合工业控制领域;


●采用DSS+PLL频率合成技术,频率稳定性极好;


●灵敏度高,达到-100 dBm;


●工作电压低(2.7 V),功耗小,待机状态仅为1 μA,可满足低功耗设备的要求;


●最大发射功率达+10 dBm;


●具有多个频道(最多170个以上),能满足需要多信道工作的特殊应用;


●工作速率最高可达76.8 kb/s;


●外围元件数目少(仅10个),基本上无需调试;


●由于采用低发射功率、高接收灵敏度的设计,使用无需申请许可证,使用距离最远可达l 000 m。


此外,由于nRF905是一款收发一体化的无线传输电路,带有调制器和解调器,发送时可以自动打包,接收时可以自动进行地址匹配、自动CRC检验,发送或接收完毕后,其DR引脚会自动设置高电平,以示发送或接收完毕,并且采用SPI接口与MCU通信,因此编程非常方便。它可广泛应用于车辆监控、遥控、遥测、工业数据采集、水文气象监控、非接触RF智能卡、机器人控制、数字音频和数字图像无线传输等领域。


nRF905除了负责动感系统中动感数据的无线传输外,还可传输新型车辆模拟驾驶训练系统中模拟驾驶室向模型车发送的油门、灯光、制动、转向、分动箱、离合等控制指令。nRF905与MCU的连接如图2所示,引脚功能说明见表1。

3.3 动感平台及其控制系统


动感平台是动感系统的执行部分,它由6个液压泵和模拟驾驶室的底板构成。其工作原理是MCU根据传来的动感数据通过继电器驱动电路控制相应继电器,使相应液压泵的相应电磁阀开启或闭合,进而模拟驾驶室上下颠簸、前后俯仰或左右摇摆,如图3所示。

4、 软件设计


由于HMR3000和nRF905分别通过RS-232接口和SPI接口与MCU进行通信,故整个系统的硬件电路相对比较简单,但是,由于HMR3000采用NMEA0183协议格式输出数据,nRF905收发数据又有严格的时序要求,因而软件设计相对比较复杂。


4.1 HMR3000与MCU的通信协议


HMR3000的串行通信是根据NMEA0183标准制定的简单的ASCⅡ协议,可以在单片机系统中使用RS-232或RS-485接口电路。ASCⅡ码的传输和接收使用1位起始位、8位数据位、无奇偶校验位和I位停止位,每个码有10位。数据传输率可选择l200 bit/s、2 400 bit/s、4 800 bit/s、9 600 bit/s、19 200bit/s、38 400 bit/s。


4.2 MCU接收HMR3000的数据


启动HMR3000后,设定好HMR3000的数据单位、进制及其数据采集速率,每次数据采集后HMR3000自动向MCU发送数据。由于它采用NMEA0183协议标准的HPR格式即“$PTNTHPR,x..x,a,x..x,a,x..x,a*hh”格式输出,此格式中不仅含有效数据“x..x”和其状态“a”,还包含有‘$’、‘P’、‘T’、‘*’、‘h’等相关格式字符,因此在程序中要加以区分。动感系统中将字符‘$’作为一组有效数据传输的开始,将字符‘*’作为一组有效数据传输的结束,并通过计算接收逗号‘,’的个数判断有效数据的开始。MCU接收HMR3000的数据流程如图4所示。

4.3 nRF905与MCU的通信协议


nRF905与MCU之间的通信采用SPI通信协议,使用2条控制信号线CSN、SCK和2条数据信号线MOSI、MISO进行通信。CSN用来控制外围设备的选通(低电平有效),SCK提供同步时钟,MOSI、MISO分别为主从设备的输入/输出线。在SPI通信过程中,主从设备均在时钟的下降沿从各自的输出线输出1位数据,在时钟的上升沿从各自的输入线读入l位数据。


4.4 nRF905发送和接收数据


nRF905发送或接收数据时必须严格遵守发送或接收时序,否则将导致发送或接收失败。


4.4.1 发送数据


nRF905的发送时序如图5所示,其中.TA-TB是nRF905的命令字寄存器、匹配地址寄存器和发送数据寄存器编程时间;TD-Tl是发送启动脉冲,至少为10μs;T1-T2是nRF905的自动编码,至少为650 μs;T2-T3是自动发送数据;T3是发送结束时DR置高电平,表示发送结束。具体步骤如下:

(1)给nRF905上电后,MCU将TX_EN置为高电平,将TRX_CE置为低电平,使nRF905进入发送模式;


(2)MCU通过SPI接口按照SPI通信协议向nRF905写命令字、匹配地址和将要发送的数据;


(3)使TRX_CE产生1个至少10 μs的发送脉冲;


(4)nRF905接到发送脉冲后自动编码、自动发送。如果nRF905命令字寄存器中的AUTO_RE-TRAN位被设置为高电平,则nRF905不断重发,直到TRX_CE被置高电平;


(5)nRF905发送数据后,DR自动置高电平。MCU可以通过DR判断发送完毕与否。以便发送下一组数据。


4.4.2 接收数据


nRF905接收时序如图6所示,具体步骤如下:


(1)给nRF905上电后,MCU通过将TX_EN置低电平和TRX_CE置高电平,使nRF905进入接收模式(图6中的TA时刻);

(2)650μs后,nRF905开始检测有无发送的数据(图6中的T0时刻);


(3)当nRF905探测到有接收频率的载波时,将CD置高电平(图6中的Tl时刻);


(4)当nRF905接收完有效匹配地址后,将AM置高电平(图6中的T2时刻);


(5)当nRF905接收完有效数据且CRC检验正确后,将DR置高电平(图6中的T3时刻);


(6)MCU在DR变高电平后可以通过SPI读取nRF905接收的数据。


4.5 动感控制部分的编程


根据硬件电路的连接,可以利用外部中断0服务程序实现动感的实时控制,这样,MCU在DR变成高电平后即可控制动感平台动作,提高了实效性。程序流程如图7所示。

5 、结束语


据考证,国内现有的车辆模拟驾驶训练系统均未安装动感系统。车辆模拟驾驶动感系统具有广阔的发展前景。本文为该系统的设计提供了切实可行、安全可靠的参考设计方案。


推荐阅读

史海拾趣

CalAmp公司的发展小趣事

在业务拓展方面,CalAmp公司始终保持着敏锐的市场洞察力。某年,公司成功推出了RFID动物溯源和共享单车智能等新业务。这些新业务不仅为公司带来了新的增长点,也进一步拓宽了其业务范围。虽然新产品线的毛利率较低,对公司的整体毛利率和净利率产生了一定影响,但公司通过优化成本结构和提升运营效率,逐步改善了这一状况。同时,公司与澳大利亚利德品有限公司签订的品牌授权及合作协议,也为公司未来的盈利能力提升奠定了基础。

EUCHNER公司的发展小趣事

EUCHNER公司的历史可追溯到1940年,由艾米·安士能先生创立的工程事务所。艾米·安士能先生是一位热衷于机械运动和系统工程领域的创新者。在1952年,他成功发明了世界上第一个组合行程开关,这一创新技术为公司的未来发展奠定了坚实的基础。1953年,EUCHNER公司正式成立,开始专注于机电控制产品的研究与开发。

Chip Supply Micro Devices公司的发展小趣事

随着市场竞争的加剧,Chip Supply Micro Devices意识到成本控制的重要性。公司开始着手优化供应链管理,通过引入先进的生产管理系统和自动化设备,提高了生产效率,降低了生产成本。同时,公司还与供应商建立了长期稳定的合作关系,确保了原材料的稳定供应和优质品质。这些措施使得Chip Supply Micro Devices在价格上具备了竞争优势,进一步提升了市场份额。

Cree(科瑞)公司的发展小趣事

Cree公司成立于1987年,初期专注于硅碳(SiC)材料的研发。在LED灯珠的制造工艺中,Cree的工程师们发现采用SiC材料制成的MOS功率管具备更好的市场价值。随着技术的不断进步,Cree开始将其应用于LED生产,这一创新使得Cree在LED行业中脱颖而出。公司的LED产品以其高效、耐用的特性受到市场的广泛认可,为Cree的后续发展奠定了坚实的基础。

Custom Components Inc公司的发展小趣事

随着全球环保意识的不断提高,电子行业对绿色环保和可持续发展的要求也日益严格。CCI积极响应这一趋势,将绿色环保理念融入公司的战略规划和日常运营中。

公司不仅采用了环保材料和绿色生产工艺来降低产品对环境的影响,还通过优化生产流程和资源利用等方式降低能耗和排放。此外,CCI还积极参与行业环保组织和公益活动,推动整个行业向更加绿色、环保的方向发展。

Delphi Connection Systems公司的发展小趣事

Delphi Connection Systems公司深知产品质量是企业生存和发展的基石。因此,公司始终坚持严格的质量控制标准,从原材料采购到产品制造、检测等各个环节都进行严格把关。这种对质量的执着追求赢得了客户的信任和口碑,使公司在电子行业中树立了良好的品牌形象。

问答坊 | AI 解惑

6410 LCD I80 接口 是不是 接 MCU 接口的LCD 屏的?

6410 LCD I80 接口 是不是 接 MCU 接口的LCD 屏的? 有谁用过 6410 LCD I80 接口?…

查看全部问答>

想请教下wince系统如何获得系统资源

得到系统的CUP和内存的使用情况等,具体用什么API,谢谢。…

查看全部问答>

rt_main函数进行vxworks实时仿真时需要注意的地方

各位: rtw编译后,仿真得出的模型.lo,在vxworks下总是找不到rt_main里面的一个函数:rt_ODEUpdateCouinousState,这是为什么啊?麻烦各位帮个忙指点一下…

查看全部问答>

PB下载镜像的问题

在PB里下载镜像的时候如果选择通过ethernet的话,那么PC机和目标机之间的通信是靠TCP/IP协议还是通过KITL?…

查看全部问答>

美企招聘Platform engineer(SW 5#)

公司名称: Carrier Access 公司网址: http://www.carrieraccess.com 电子邮箱: lshi@carrieraccess.com,简历请注明信息出处 工作地点: 上海 外语要求: 英文良好 简历接收方式: 英文及中文 学历: 本科以上 职位描述: RESPONSIBILITIES: ...…

查看全部问答>

EE_FPGA 2.0之【焊接宝典】

Table of Contents 1. EE_FPGA 学习板板载资源简介 ........................................................................................... 42. EE_FPGA 学习板焊接必备的工具 ........................................................ ...…

查看全部问答>

弱弱的问一句。大家在做控制类题的时候有没有用DSP的,是否具有优势呢?

本帖最后由 paulhyde 于 2014-9-15 09:03 编辑 感觉DSP很难啊 可是指导老师让我们学习这块芯片啊,真是有点茫然了,求意见啊。  …

查看全部问答>

汽车佩带“电子身份证”已成新趋势

“如果还有人幻想用粘不干胶、贴塑料纸、抹机油的方式躲避电子眼,那么有了电子标签,一切都将沦为浮云。”互联网从业者黄小龙告诉记者,高峰期出行添堵,想要借用“大运专用道”的车友,也会因为电子车牌难以鱼目混珠。事实上,今年以来RFID(射频 ...…

查看全部问答>

数字交错式功率因数校正(PFC)控制

数字交错式功率因数校正(PFC)控制…

查看全部问答>

关于单品机串行通信的问题

采用的C8051F021单品机   选用串口1    波特率38400  由定时器4提供波特率   但是我发现串行通信发送数据的时候每隔一段时间就会出现丢数的情况发送采用的是中断的方式  采用查询的方式就不会出现这样的问题   ...…

查看全部问答>