CN107256655A - 一种驾驶模拟器方向盘力反馈*** - Google Patents
一种驾驶模拟器方向盘力反馈*** Download PDFInfo
- Publication number
- CN107256655A CN107256655A CN201710664023.6A CN201710664023A CN107256655A CN 107256655 A CN107256655 A CN 107256655A CN 201710664023 A CN201710664023 A CN 201710664023A CN 107256655 A CN107256655 A CN 107256655A
- Authority
- CN
- China
- Prior art keywords
- steering wheel
- usb
- initialization
- host computer
- driving simulator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/02—Simulators for teaching or training purposes for teaching control of vehicles or other craft
- G09B9/04—Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种驾驶模拟器方向盘力反馈***,包括C8051F340中央控制模块、USB通信模块、上位机和电机控制模块;所述C8051F340中央控制模块用于将***的其他功能模块进行初始化配置,并进行数据处理;所述上位机用于虚拟场景并模拟汽车运动时的机车运动碰撞信号、表示静止或运动状态的速度信号、表示公路或草地或泥地的阻尼系数信号;所述USB通信驱动模块用于发送并接收数据;所述电机控制模块用于驱动方向盘力反馈;所述力反馈包括:在碰撞状态下,方向盘产生一个相应角度的瞬时偏;在静止状态下,方向盘不自动回零;在运动状态下,方向盘根据机车的速度产生一个相应的回零速度。
Description
技术领域
本发明涉及一种驾驶模拟器方向盘力反馈***。
背景技术
随着汽车工业的快速发展及人们生活水平的提高,汽车驾驶技能已成为现在人们必须掌握的技能之一。随着学习汽车驾驶的人日益增多与现在资源条件的限制的矛盾突出,以及新学员在学习汽车驾驶的过程中,对汽车缺少基本认识和对驾驶的陌生感使得新学员在学习过程中对车辆造成的破坏性很大,而且也对其自身及旁人的人身安全构成一定威胁,汽车驾驶模拟器的诞生符合时代要求。学员可以利用汽车驾驶模拟器熟悉对汽车的基本操作,此行为既符合当代绿色节约环境的主题,同时也可以减少学员对车辆的破坏,降低了培训成本。使学员对汽车驾驶有一个适应过程,更好地保护学员及旁人的人身安全。
但模拟驾驶器并不具备真实汽车的结构组件,比如汽车轮胎、EPS助力***和方向盘力传动***等。市场上存在的大部分模拟驾驶器方向盘力反馈控制***失真性太大,学员在使用时,方向盘的手感(力反馈***)跟真实汽车有很大的差别,体会不到真实驾驶的乐趣。
发明内容
为克服现有技术的不足,本发明提供一种驾驶模拟器方向盘力反馈***。
本发明提供的技术方案为:
一种驾驶模拟器方向盘力反馈***,包括C8051F340中央控制模块、USB通信模块、上位机和电机控制模块;
所述C8051F340中央控制模块用于将***的其他功能模块进行初始化配置,并进行数据处理;
所述上位机用于虚拟场景并模拟汽车运动时的机车运动碰撞信号、表示静止或运动状态的速度信号、表示公路或草地或泥地的阻尼系数信号;
所述USB通信驱动模块用于发送并接收数据;
所述电机控制模块用于驱动方向盘力反馈;所述力反馈包括:在碰撞状态下,方向盘产生一个相应角度的瞬时偏;在静止状态下,方向盘不自动回零;在运动状态下,方向盘根据机车的速度产生一个相应的回零速度。
优选的是,所述所述C8051F340中央控制模块的初始化操作包括:时钟初始化、ADC初始化、GPIO端口初始化、USB通信初始化、A/D数模转换器初始化、Timer定时器初始化、PCA可编程逻辑阵列初始化与EPS方向盘初始归零处理。
优选的是,所述USB通信驱动模块根据USB HID通信协议,由控制管道(端点0)与所述上位机主机通信配置USB丛机通信模式;由中断管道(端点1-3)发送OUT数据包并接收上位机的IN数据包,OUT数据包为传感器与开关量信息等,IN数据包为上机位力反馈信息。
优选的是,在初始化完成***进入死循环,然后采集传感器信号并发送给所述上位机,同时通过中断接收上位机的力反馈信号作用于EPS***。
优选的是,端口初始时在端口输出方式寄存器PnMDOUT中设置端口为漏极开路或推挽方式。优先权交叉开关译码器为每个I/O功能分配优先权,从优先权最高的UART0开始;
当一个数字资源被选择时,尚未分配的端口引脚中的最低位被分配给该资源;如果一个端口引脚已经被分配,则交叉开关在为下一个被选择的资源分配引脚时将路过该引脚;
交叉开关还将跳过在PnSKIP寄存器中被置‘1’的那些位所对应的引脚。PnSKIP寄存器允许软件跳过那些被用作模拟输入、特定功能或GPIO的引脚;寄存器XBR0、XBR1和XBR2用于选择内部数字功能。
优选的是,在ADC初始化时通过C8051F340内部的10位SARADC和一个差分输入多路选择器操作;正输入通道选择寄存器AMX0P与负输入通道选择寄存器AMX0N可配置输入、输出引脚;C8051F340中央控制模块的内温度传感器的输出和电源电压作为ADC的输入。
优选的是,在USB初始化时C8051F340中央控制模块通过全速/低速USB功能控制器实现USB外部设备通信;全速/低速USB功能控制器通过一个双向控制端点和三对输入/输出端点实现通信;
优选的是,PCA可编程逻辑阵列初始化通过C8051F340内部的PCA0可编程计数器阵列实现。
优选的是,所述电机控制模块用于处理上位机虚拟场景中机车在不同运动状下,方向盘输出设备表现不同的力反馈作用。
本发明的有益效果:
本设计基于真实汽车在停止、运动和碰撞等不同状态下方向盘对驾驶者产生的作用力,采用直流电机与中央控制模块的硬件结构、USB通信接收上位机虚拟场景实时汽车状态信号并通过软件控制算法的结合,实时实现方向盘的力反馈作用,给驾驶者或学员一种驾驶真实汽车的感觉。
附图说明
图1为本发明的驾驶模拟器方向盘力反馈***的***结构示意图;
图2为本发明的驾驶模拟器方向盘力反馈***的初始化流程图;
图3为本发明的驾驶模拟器仪表驱动***的C8051F340中央控制模块的软件框图;
图4为本发明的驾驶模拟器仪表驱动***的USB通信模块的软件框图;
图5为本发明的驾驶模拟器仪表驱动***的电机控制模块4的软件框图。
具体实施方式
下面结合附图对本发明作进一步说明;
一种驾驶模拟器方向盘力反馈***,如图1所示,包括C8051F340中央控制模块1、USB通信模块2、上位机3和电机控制模块4;C8051F340中央控制模块1与上位机3通过USB通信模块2接收模拟虚拟驾驶场景的碰撞、速度与场地环境阻尼系数等信息,C8051F340中央控制模块1的主控制电路板控制芯片综合算法由电机控制模块4的驱动电路板驱动直流电机模拟表现出各种力反馈现象。
上位机3主要负责虚拟环境的驾驶控制与显示,能让学员通过虚拟环境体验驾驶的乐趣,下位机主要负责采集各实体部件(方向盘、三踏板、档位等)传感器的信号并将数据通过USB通信发送给上位机,并接收上位机信息实现方向盘力反馈操作。本说明书主要介绍方向盘力反馈的实现。上位机3虚拟场景在模拟汽车运动时提供的有效信号有:机车运动碰撞信号、表示静止或运动状态的速度信号和表示公路、草地或泥地的阻尼系数信号等。C8051F340中央控制模块1接收上位机3虚拟场景信号后采用力反馈综合算法计算出当前方向盘应该输出的合适力反馈操作,由电机控制模块4的驱动电路板驱动直流电机产生相应地力反馈操作,使学员在使用模拟驾驶器时,在不同场景不同情况下,身临其境地感受不同方向盘的力反馈反作用力。同时主控制电路板收集模拟驾驶器方向盘、离合、刹车、油门、档位和手刹等信号,通过USB通信模块2发送给上位机3虚拟场景。在整个***配合运行下就可以通过操作模拟驾驶器各输入部件使上位机在虚拟场景下的汽车产生加速、刹车、左转弯和右转弯等动作
如图2所示,所述C8051F340中央控制模块1用于将***的其他功能模块进行初始化配置,并进行数据处理;正确进行***初始化配置,保证振荡器以精确频率振荡,快速处理各个模块数据,保证***正常稳定运行。输入项目为模拟驾驶器的模拟量与数字量传感器数据和USB的OUT、SETUP数据包。输出项目为方向盘力反馈控制信号数据与USB的IN数据包。在所有下位机主程序开始运行之前,第一步是对各个模块进行初始化配置。所谓初始化就是对各个功能模块在开始运行之前对其相关寄存器进行配置,使其满足当前功能需要。初始化配置完成后,相应的模块才开始运行功能程序部分。如果缺少初始化配置,大多数的功能模块不能启动或不能正常工作。初始化完成后,首先接收上位机3虚拟场景机车运动状态信号并传输下位机采集的所有输入设备信号给上位机3虚拟场景,使虚拟场景中的汽车可由模拟驾驶器的输入设备控制,完成信息的发送与接收是由USB通信模块2完成的。实时接收上位机3虚拟场景信息包后,由C8051F340中央控制模块1对信息包进行解析,提取机车的碰撞信号、表示机车静止或运动的速度信号和机车行驶环境阻尼系数等信号,将机车分为三种状态:碰撞状态、静止状态和运动状态。在机车三种不同的运动状态下,方向盘力反馈的表现形式不相同。在碰撞状态下,真实汽车方向盘会因为轮胎与障碍物碰撞,方向盘产生一个相应角度的瞬时偏转,而且力度很大,甚至可能会使驾驶员的手臂受伤。在模拟驾驶器中需要从上位机接收碰撞前后速度差与轮胎碰撞角度等信息并计算出方向盘产生瞬间偏向力反馈输出;在静止状态下,真实汽车由于地面摩擦力与EPS助力***的作用,此时操作方向盘,EPS助力***不足于克服地面对轮胎的静摩擦力,方向盘上的反作用力相对较大,且方向盘在一定的角度时也不会由于EPS助力***产生自动回零现象。在模拟驾驶器中,主控制电路板需要接收上位机的速度信号与静摩擦力与机车运动环境阻尼***等信息并计算出此时方向盘产生的力反馈输出;在运动状态下,真实汽车由于EPS助力***的作用,由于EPS助力***提供的助力大于地面对轮胎的动摩擦力,方向盘会根据速度的大小产生一个相应的回零速度,在模拟驾驶器中也必须通过直流电机让学员在方向盘上体验真实汽车的力反馈感觉。在后面各章节的模块中将详细介绍各种状态下,方向盘力反馈的具体实现操作。
C8051F340中央控制模块1微控制器(单片机)主要由中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、中断***等主要核心部分与GPIO、A/D转换模块、Timer定时器模块、UART异步通用接收发送模块等多个***模块组成,此款芯片最大的特点是除了集成以上一般***模块还集成了USB通信模块。CPU是整个微控制器的核心部件,是8位宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元***协调的工作,完成运算和控制输入输出功能等操作。C8051F340中央控制模块1位整个控制***核心,完成整个微控制器初始化配置,包括时钟初始化、GPIO端口初始化、USB通信初始化、A/D数模转换器初始化、Timer定时器初始化、PCA可编程逻辑阵列初始化与EPS方向盘初始归零处理等。采集六大件及其他输入信号、与上位机虚拟场景通过USB通信模块交接数据包和控制方向盘力反馈正常输出,保证整个***稳定运行。
C8051F340中央控制模块1的软件框图如图3所示:C8051F340中央控制模块1软件代码为整个程序中的main()函数,为了保证各个***功能模块正常工作首先运行的是初始化程序,初始化程序结束之后将对各个模块的数据进行运算操作。中央控制模块只负责处理信号采集模块、USB通信模块和电机控制模块4的数据,并不直接与硬件传感器或输出控制有直接关联。具体将传感器信号转换为中央处理器可以处理的数据信号采集模块通过A/D转换或GPIO去完成、USB通信模块如何与上位机进行通信由USB模块根据其复杂的USB协议去完成、方向盘力反馈有GPIO和PWM输出控制完成。
在中央控制模块中其主要功能是将微控制芯片各个模块初始化。初始化主要包括:时钟初始化System_Init()、I/O口初始化Port_Init()、A/D初始化ADC_Init()、PCA初始化PCA0_Init()、USB初始化USB_Init()和Timer定时器初始化Timer0_Init()等。然后进入死循环开始采集传感器信号并发送给上位机,同时通过中断接收上位机的力反馈信号,作用于EPS***。
在***时钟初始化程序System_Init()中,C8051F340的***时钟主要由内部高频振荡器控制寄存器OSCICN与时钟选择寄存器CLKSEL决定。芯片的内部振荡器为12MHz,OSCICN寄存器可选择SYSCLK为内部高频振荡器8分频、4分频、2分频与不分频等;CLKSEL寄存器可选择SYSCLK为内部振荡器、2倍时钟乘法器、4倍时钟乘法器或低频振荡器等,可以根据实际需求配置***时钟SYSCLK。***时钟相当于整个芯片的心脏,***时钟的主频多少是评定芯片的主要技术参数之一。
在端口初始化程序Port_Init()中,C8051F340不同于其他芯片的最大特点是设计者完全控制数字功能的引脚分配,只受I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。芯片的每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入,在端口输入方式寄存器PnMDIN设置,所有端口I/O都耐5V电压。端口可以被配置为漏极开路或推挽方式,在端口输出方式寄存器PnMDOUT中设置。优先权交叉开关译码器为每个I/O功能分配优先权,从优先权最高的UART0开始。当一个数字资源被选择时,尚未分配的端口引脚中的最低位被分配给该资源。如果一个端口引脚已经被分配,则交叉开关在为下一个被选择的资源分配引脚时将路过该引脚。此外,交叉开关还将跳过在PnSKIP寄存器中被置‘1’的那些位所对应的引脚。PnSKIP寄存器允许软件跳过那些被用作模拟输入、特定功能或GPIO的引脚。寄存器XBR0、XBR1和XBR2用于选择内部数字功能。根据这些I/O寄存器可将端口配置为模拟输入或通用I/O,PWM控制引脚等。
在ADC初始化程序ADC_Init()中,C8051F340内部有一个10位的SAR ADC和一个差分输入多路选择器。该ADC工作在200ksps的最大采样速率时可提供真正10位的线性度,ADC***包含一个可编程的模拟多路选择器,用于选择ADC的正输入和负输入。正输入通道选择寄存器AMX0P与负输入通道选择寄存器AMX0N可配置输入、输出引脚。端口I/O引脚中有20个引脚可作为ADC的输入;另外,片内温度传感器的输出和电源电压也可以作为ADC的输入。A/D转换可以有6种启动方式:软件命令、定时器0溢出、定时器1溢出、定时器2溢出、定时器3溢出或外部转换启动信号,由ADC0控制寄存器ADC0CN中的ADC0转换启动方式位的状态决定采用哪一种方式,可以根据设计需要配置。这种灵活性允许用软件事件、周期性信号或外部硬件信号触发转换。一个状态位用于指示转换完成或产生中断(如果被允许)。转换结束后10位结果数据字被锁存到ADC数据寄存器中。
在USB初始化程序USB_Init()中,C8051F340器件集成了一个完整的全速/低速USB功能控制器,用于实现USB外部设备。通用串行总线控制器(USB0)符合USB2.0规范,可以全速或低速工作,集成了收发器和端点FIFO RAM。共有8个端点:一个双向控制端点(端点0)和三对输入/输出端点(端点1-3输入/输出)。有1KB的RAM块被用作USB FIFO空间。该FIFO空间被分配给端点0-3;端点1-3的FIFO可以被配置为输入(IN)、输出(OUT)或输入/输出(分割模式)。最大的FIFO大小为512字节(端点3)。USB可以工作在全速或低速方式。片内4倍时钟乘法器和时钟恢复电路允许使用内部高精度振荡器作为USB时钟源,实现全速和低速通信。外部振荡器也可以与4倍时钟乘法器配合使用来产生USB时钟。CPU时钟源与USB时钟相互独立。在初始化程序中,可通过时钟恢复控制寄存器CLKREC来配置USB时钟恢复,通过USB0收发器控制寄存器USB0XCN和其他寄存器共同配置USB0的功能,详细将在USB通信模块介绍。
在定时器初始化程序Timer0_Init()中,C8051F340内部有4个16位计数器/定时器:其中两个标准8051中的计数器/定时器兼容,另外两个是16位自动重装载定时器,可用于ADC、SMBus、USB(帧测量)、低频振荡器(周期测量)或作为通用定时器使用。这些定时器可以用于测量时间间隔,对外部事件计数或产生周期性的中断请求。定时器0和定时器1几乎完全相同,有四种工作方式。定时器2和定时器3均作为一个16位或两个8位自动重装载定时器。定时器0和定时器1有5个可选择的时钟源,由定时器时钟选择位(T1M-T0M)和时钟分频位(SCA1-SCA0)决定。时钟分频位定义一个分频时钟,作为定时器0或定时器1的时钟源。定时器0和定时器1可以被配置为使用这个分频时钟或***时钟。定时器2和定时器3可以使用***时钟、***时钟/12或外部振荡器时钟/8作为时钟源。定时器0和定时器1可以工作在计数器方式。当作为计数器使用时,在为定时器所选择的输入引脚上出现负边沿跳变时计数器寄存器的值加1。对事件计数的最大频率可达到***时钟频率的四分之一。输入信号不需要是周期性的,但在一个给定电平上的保持时间至少应为两个完整的***时钟周期,以保证该电平能够被正确采样。
在可编程计数器阵列初始化程序PCA0_Init()中,C8051F340内部有一个可编程计数器阵列(PCA0),其提供增强的定时器功能,与标准8051的计数器/定时器相比,它需要较少的CPU干预。PCA由一个专用的16位计数器/定时器和5个16位捕捉/比较模块组成。每个捕捉/比较模块有其自己的I/O线(CEXn),这些I/O线在被允许时通过交叉开关连接到端口I/O。计数器/定时器由一个可编程的时基信号驱动,时基信号可以在六个时钟源中选择:***时钟、***时钟/4、***时钟/12、外部振荡器时钟/8、定时器0溢出或ECI输入引脚上的外部时钟信号,此配置由PCA方式寄存器PCA0MD完成。在使用实时时钟(RTC)功能时,外部振荡器时钟方式是理想的选择,此时用内部振荡器驱动***时钟,而PCA的时钟由一个精确的外部振荡器提供。捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、调整输出、频率输出、8位PWM和16位PWM。每个捕捉/比较模块的工作方式都可以被独立配置。对PCA的配置和控制都是通过***控制器的特殊功能寄存器来实现的
所述上位机用于虚拟场景并模拟汽车运动时的机车运动碰撞信号、表示静止或运动状态的速度信号、表示公路或草地或泥地的阻尼系数信号;
所述USB通信驱动模块用于发送并接收数据;其采用USB2.0协议,保证上位机与下位机USB通信稳定。输入项目为USB的OUT和SETUP数据包。输出项目为USB的IN数据包。本发明选用的是USB HID类进行USB通信,USB HID类是比较大的一个类,HID类设备属于人机交互操作的设备。用于控制计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆、USB触摸板、USB轨迹球、电话拨号设备、VCR遥控等设备。另外,使用HID设备的一个好处就是操作***自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。
所有的HID设备通过USB的控制管道(默认管道,即端点0)和中断管道与主机通信。控制管道主要用于接收/响应USB主机的控制请示及相关的类数据、在USB主机查询时传输数据(如响应Get_Report请求等)与接收USB主机的数据。中断管道主要用于USB主机接收USB设备的异步传输数据与USB主机发送有实时性要求的数据给USB设备。USB主机到USB设备的中断输出数据传输是可选的,当不支持中断输出数据传输时,USB主机通过控制管道将数据传输给USB设备。
HID设备的描述符除了5个USB标准描述符(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符)外,还包括3个HID设备类特定描述符:HID描述符、报告描述符、实体描述符。根据USB HID通信协议,由控制管道(端点0)与上位机主机通信配置下位机USB丛机通信模式。由中断管道(端点1-3)发送给下位机OUT数据包与接收上位机的IN数据包。
USB通信模块2软件框图如图4所示:USB控制器与上位机通信接收OUT与SETUP数据包,并且发送IN数据包。USB通信主要通过USB中断进行,包括控制通道配置USB通信与传输通道接收与发送数据包,在USB通信中采用USB中断服务程序处理,这样可以保证USB通信的快速响应。在USB中断服务程序中Usb_Reset()、Usb_Suspend()、Usb_Resume()分别为USB的复位、挂起和唤醒服务程序。Handle_Control()是控制管道(端点0)服务程序,主要依据USB HID协议,读取上位机发送的SETUP数据包命令数据,并将相应响应数据通过控制管道发送给上位机进行USB通信前的配置等,由于代码数据较长,此文中暂不附录,详细代码见附录。Handle_Out2()为中断传输管道(端点1-3)接收OUT数据包服务程序,程序读取到中断管道标志位后立即读取中断管道FIFO中值并储存,主程序将根据上位机与下位机通信协议对接收数据进行解码。
SendPacket(unsigned char*pSendPacket)与Handle_In2()为中断传输管道发送IN数据包服务程序,下位机采集完成数据后将数据打包并装入中断管道FIFO中,并等待发送结束标志符返回。
所述电机控制模块4用于驱动方向盘力反馈;所述力反馈包括:在碰撞状态下,方向盘产生一个相应角度的瞬时偏;在静止状态下,方向盘不自动回零;在运动状态下,方向盘根据机车的速度产生一个相应的回零速度。
电机控制模块4主要功能是用直流电机模拟驾驶员在操作汽车方向盘时,方向盘对驾驶员的反作用力。根据上位机虚拟场景中机车不同状态下,通过直流电机分别模拟机车静止、运动和碰撞状态下的方向盘力反馈输出,使学员身临其境感受模拟驾驶的乐趣。输入项目为CPU二进制指数数据。输出项目为脉宽调制输出PWM与I/O数字电平控制电压。
驾驶员在驾驶汽车时,方向盘反作用力来自克服地面对轮胎的摩擦力和EPS助力***的助力两者的合力。汽车在不同状态下,方向盘对驾驶员表现出来的反作用力不同,本设计将通过直流电机模拟机车在静止状态、运动状态和碰撞状态这三种不同状态下的方向盘力反馈输出。电机控制模块4主要由主控制电路板、驱动电路板与直流电机三部分组成,其中只有主控制电路板可以进行程序代码设计。在力反馈模块中,方向盘力反馈的表现形式由上位机虚拟场景的碰撞信号、速度信号与表示场地环境的阻尼***等决定。
电机控制模块4软件框图如图5所示:由中央处理器发送控制指令,由输出控制器执行。主要控制分为两部分,一部分为脉宽调制输出PWM,输出为模拟电压值,控制方向盘力反馈的大小;另一部分为I/O引脚数字电平控制电平,控制方向盘力反馈的方向。
电机控制模块4中主要处理上位机虚拟场景中机车在不同运动状下,方向盘输出设备表现不同的力反馈作用。中央处理模块接收上位机的碰撞、速度和场地阻尼系数后,将机车分为三种不同的状态:机车碰撞状态、机车静止状态和机车运动状态。接收信号包首先检测碰撞位信号有否有效,如果碰撞信号有效则判断上位机虚拟场景中机车发生了碰撞事故,在碰撞事故处理中,主控制电路板根据上位机传送的碰撞速度前后差、轮胎偏转角度等信息,计算出方向盘力反馈输出的力度大小和偏转方向。如果接收信号包中碰撞信号无效则判断机车没有发生碰撞,继续检测速度位。如果速度为0,则判断机车处于静止状态。在静止状态中,由于真实汽车中地面对轮胎的静摩擦力的作用,无论驾驶员往左或往右操作方向盘,将受到一个相反方向的方向盘反作用力,且驾驶员停止操作时,方向盘将不会自动回归零点位置。在驾驶模拟器中利用力反馈算法,使电机根据学员操作方向盘的动作,模拟出相应的方向盘力反馈输出。如果检测速度位不为0,则判断机车处于运动状态。在机车运动状态时,在真实汽车里,由于EPS助力***与地面对轮胎动摩擦力的作用,驾驶员在往左或往右操作方向盘时,将受到一个方向盘反方向的反作用力,但此时反作用力比静止状态要小得多,且与行驶速度有关。达到一定角度后,驾驶员松开方向盘,方向盘将自动回正(归零),回正速度与机车速度等因素相关,在驾驶模拟器中利用力反馈算法,在运动状态下使电机根据学员操作方向盘的动作,模拟出相应的方向盘力反馈输出。
本发明采用的主要函数的配置点为:
void Handle_Out2(void):USB通道OUT数据读取中断服务程序,在此程序中,读取上位机发送的USB数据包信息,存储于OUT_PACKET[64]数组中。
void Read_Packet_FromPC(void):上位机虚拟场景信息读取程序,主要读取上位机虚拟场景中的碰撞信息bCollisionPC,机车速度信息uiSpeedPC和不同场地的阻尼系数uiDampPC等。
void EPS_Init(void):方向盘力反馈初始化程序,在上电后对方向盘力反馈***进行初始化操作,在初始化中首先要检测方向盘是否在零点位置,不在零点位置需要驱动电机运转进行归零操作,当方向盘位置到达零点后关闭电机,完成归零操作。
void Disable_DCMotor():直流电机关闭程序,在此程序中,关闭单片机管脚上PWM脉冲,使直流电机工作电压为零,电机不运转。
void Control_DCMotor_Clockwise(float duty_cycle):直流电机顺时针运转服务程序,通过调整PWM占空比duty_cycle参数的大小调整驱动直流电机的工作电压(电压范围为0V-24V),从而调整电机运转速度。
void Control_DCMotor_Anticlockwise(float duty_cycle):直流电机逆时针运转服务程序,通过调整PWM占空比duty_cycle参数的大小调整驱动直流电机的工作电压(电压范围为-24V-0V),从而调整电机的运转速度,与直流电机顺时针运转服务程序不同的是输出电压范围方向不同。
void EPS_Control(void):方向盘力反馈控制服务程序,也是方向盘力反馈主要控制服务程序。在此程序中,首先要判断上位机虚拟场景传输的速度信息是否为零,如果速度为零则判断机车处于静止状态,在静止状态中直流电机产生与方向盘转动方向相反的粘滞力。程序一直进行方向盘角度判断,方向盘向左转时,直流电机向右转动,让操作者感受到方向盘反向的力反馈效果,方向盘向右转时,效果相同,方向盘停止时,电机也停止,比较真实地模拟了机车在静止时打方向盘感受的地面摩擦力效果。如果速度不为零则判断机车处于运动状态,运动状态与静止状态除了电机产生与方向盘转动方向相反的阻力之外,机车运动时会产生方向盘归零操作,电机驱动产生的方向盘力反馈效果与速度和方向盘转向角度呈一定的线性关系,根据速度、角度与场地阻尼系数等计算要产生的力反馈效果。
Claims (9)
1.一种驾驶模拟器方向盘力反馈***,其特征在于:
包括C8051F340中央控制模块、USB通信模块、上位机和电机控制模块;
所述C8051F340中央控制模块用于将***的其他功能模块进行初始化配置,并进行数据处理;
所述上位机用于虚拟场景并模拟汽车运动时的机车运动碰撞信号、表示静止或运动状态的速度信号、表示公路或草地或泥地的阻尼系数信号;
所述USB通信驱动模块用于发送并接收数据;
所述电机控制模块用于驱动方向盘力反馈;所述力反馈包括:在碰撞状态下,方向盘产生一个相应角度的瞬时偏;在静止状态下,方向盘不自动回零;在运动状态下,方向盘根据机车的速度产生一个相应的回零速度。
2.根据权利要求1所述的驾驶模拟器方向盘力反馈***,其特征在于:
所述所述C8051F340中央控制模块的初始化操作包括:时钟初始化、ADC初始化、GPIO端口初始化、USB通信初始化、A/D数模转换器初始化、Timer定时器初始化、PCA可编程逻辑阵列初始化与EPS方向盘初始归零处理。
3.根据权利要求1所述的驾驶模拟器方向盘力反馈***,其特征在于:
所述USB通信驱动模块根据USB HID通信协议,由控制管道(端点0)与所述上位机主机通信配置USB丛机通信模式;由中断管道(端点1-3)发送OUT数据包并接收上位机的IN数据包,OUT数据包为传感器与开关量信息等,IN数据包为上机位力反馈信息。
4.根据权利要求2所述的驾驶模拟器方向盘力反馈***,其特征在于:
在初始化完成***进入死循环,然后采集传感器信号并发送给所述上位机,同时通过中断接收上位机的力反馈信号作用于EPS***。
5.根据权利要求2所述的驾驶模拟器方向盘力反馈***,其特征在于:
端口初始时在端口输出方式寄存器PnMDOUT中设置端口为漏极开路或推挽方式。优先权交叉开关译码器为每个I/O功能分配优先权,从优先权最高的UART0开始;
当一个数字资源被选择时,尚未分配的端口引脚中的最低位被分配给该资源;如果一个端口引脚已经被分配,则交叉开关在为下一个被选择的资源分配引脚时将路过该引脚;
交叉开关还将跳过在PnSKIP寄存器中被置‘1’的那些位所对应的引脚。PnSKIP寄存器允许软件跳过那些被用作模拟输入、特定功能或GPIO的引脚;寄存器XBR0、XBR1和XBR2用于选择内部数字功能。
6.根据权利要求2所述的驾驶模拟器方向盘力反馈***,其特征在于:
在ADC初始化时通过C8051F340内部的10位SAR ADC和一个差分输入多路选择器操作;正输入通道选择寄存器AMX0P与负输入通道选择寄存器AMX0N可配置输入、输出引脚;C8051F340中央控制模块的内温度传感器的输出和电源电压作为ADC的输入。
7.根据权利要求2所述的驾驶模拟器方向盘力反馈***,其特征在于:
在USB初始化时C8051F340中央控制模块通过全速/低速USB功能控制器实现USB外部设备通信;全速/低速USB功能控制器通过一个双向控制端点和三对输入/输出端点实现通信。
8.根据权利要求2所述的驾驶模拟器方向盘力反馈***,其特征在于:
PCA可编程逻辑阵列初始化通过C8051F340内部的PCA0可编程计数器阵列实现。
9.根据权利要求8所述的驾驶模拟器方向盘力反馈***,其特征在于:
所述电机控制模块用于处理上位机虚拟场景中机车在不同运动状下,方向盘输出设备表现不同的力反馈作用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710664023.6A CN107256655A (zh) | 2017-08-06 | 2017-08-06 | 一种驾驶模拟器方向盘力反馈*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710664023.6A CN107256655A (zh) | 2017-08-06 | 2017-08-06 | 一种驾驶模拟器方向盘力反馈*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107256655A true CN107256655A (zh) | 2017-10-17 |
Family
ID=60025565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710664023.6A Pending CN107256655A (zh) | 2017-08-06 | 2017-08-06 | 一种驾驶模拟器方向盘力反馈*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107256655A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584670A (zh) * | 2019-01-28 | 2019-04-05 | 陈喜春 | 一种用于模拟训练装置的通信*** |
CN109887372A (zh) * | 2019-04-16 | 2019-06-14 | 北京中公高远汽车试验有限公司 | 驾驶培训模拟方法、电子设备及存储介质 |
CN110992764A (zh) * | 2019-12-27 | 2020-04-10 | 北京和利时电机技术有限公司 | 模拟驾驶控制***、方法、装置和可读存储介质 |
CN111540252A (zh) * | 2020-07-13 | 2020-08-14 | 成都洋葱头科技有限公司 | 特种车辆模拟器方向盘模拟方法、***、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101537256A (zh) * | 2009-04-08 | 2009-09-23 | 上海久娱网络科技有限公司 | 大型赛车游戏机方向盘力反馈*** |
CN101901556A (zh) * | 2009-05-31 | 2010-12-01 | 北京宣爱智能模拟技术有限公司 | 模拟转向盘操纵感觉力反馈转向***及汽车模拟驾驶*** |
CN102087801A (zh) * | 2010-12-31 | 2011-06-08 | 北京宣爱智能模拟技术有限公司 | 汽车驾驶模拟器中方向盘自回中与力反馈的***及方法 |
CN202134125U (zh) * | 2011-07-05 | 2012-02-01 | 广州钜东网络科技有限公司 | 力反馈方向盘模拟器 |
CN203706481U (zh) * | 2014-01-21 | 2014-07-09 | 广州钜东网络科技有限公司 | 一种模拟汽车的方向盘控制*** |
CN206258731U (zh) * | 2016-11-22 | 2017-06-16 | 深圳市中智仿真科技有限公司 | 一种汽车模拟驾驶器的功能电路 |
-
2017
- 2017-08-06 CN CN201710664023.6A patent/CN107256655A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101537256A (zh) * | 2009-04-08 | 2009-09-23 | 上海久娱网络科技有限公司 | 大型赛车游戏机方向盘力反馈*** |
CN101901556A (zh) * | 2009-05-31 | 2010-12-01 | 北京宣爱智能模拟技术有限公司 | 模拟转向盘操纵感觉力反馈转向***及汽车模拟驾驶*** |
CN102087801A (zh) * | 2010-12-31 | 2011-06-08 | 北京宣爱智能模拟技术有限公司 | 汽车驾驶模拟器中方向盘自回中与力反馈的***及方法 |
CN202134125U (zh) * | 2011-07-05 | 2012-02-01 | 广州钜东网络科技有限公司 | 力反馈方向盘模拟器 |
CN203706481U (zh) * | 2014-01-21 | 2014-07-09 | 广州钜东网络科技有限公司 | 一种模拟汽车的方向盘控制*** |
CN206258731U (zh) * | 2016-11-22 | 2017-06-16 | 深圳市中智仿真科技有限公司 | 一种汽车模拟驾驶器的功能电路 |
Non-Patent Citations (1)
Title |
---|
刘成: "虚拟驾驶场景以及车辆物理***的研究", 《中国新通信》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584670A (zh) * | 2019-01-28 | 2019-04-05 | 陈喜春 | 一种用于模拟训练装置的通信*** |
CN109887372A (zh) * | 2019-04-16 | 2019-06-14 | 北京中公高远汽车试验有限公司 | 驾驶培训模拟方法、电子设备及存储介质 |
CN110992764A (zh) * | 2019-12-27 | 2020-04-10 | 北京和利时电机技术有限公司 | 模拟驾驶控制***、方法、装置和可读存储介质 |
CN111540252A (zh) * | 2020-07-13 | 2020-08-14 | 成都洋葱头科技有限公司 | 特种车辆模拟器方向盘模拟方法、***、设备及存储介质 |
CN111540252B (zh) * | 2020-07-13 | 2020-10-23 | 成都洋葱头科技有限公司 | 特种车辆模拟器方向盘模拟方法、***、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107256655A (zh) | 一种驾驶模拟器方向盘力反馈*** | |
Gerin et al. | Scalable and flexible cosimulation of SoC designs with heterogeneous multi-processor target architectures | |
WO2004042561A3 (en) | Pipeline accelerator having multiple pipeline units and related computing machine and method | |
CN201710881U (zh) | 仿真跑步机*** | |
CN105929709B (zh) | 多型号火箭遥测数据仿真*** | |
CN104050333A (zh) | 航空电子***分布式实时综合仿真*** | |
CN101788947A (zh) | ***总线的监测方法、***总线监测器及片上*** | |
CN204750461U (zh) | 一种自行车脚踏压力测量装置和自行车脚踏板 | |
CN102937942B (zh) | 基于usb总线的飞行模拟机通用接口*** | |
CN202838317U (zh) | 总线装置及背板*** | |
CN206499456U (zh) | 一种智能踏步仪 | |
CN108804380A (zh) | 矢量运算硬件加速器多核级联的周期精确模型 | |
CN203133754U (zh) | 一种基于cpci架构服务器的kvm板卡 | |
CN202694333U (zh) | 具有usb扩展功能的装置 | |
CN202904427U (zh) | 多功能模式的时钟树生成电路 | |
CN212781959U (zh) | 一种可以防止手汗的鼠标套 | |
CN212586852U (zh) | 一种模拟鼠标移动的装置 | |
CN107329863A (zh) | 一种基于COMe的测量仪器通用硬件平台 | |
CN206697081U (zh) | 一种基于薄膜矩阵键盘的汽车驾驶模拟*** | |
CN201751923U (zh) | 基于嵌入式开发平台的实验装置 | |
CN1490700A (zh) | 计算机代码控制连接器 | |
CN206672412U (zh) | 一种高集成度的汽车驾驶模拟*** | |
CN202120469U (zh) | 一种航模遥控模拟器*** | |
CN206697080U (zh) | 一种基于集成加密的汽车驾驶模拟*** | |
CN201072511Y (zh) | 一种基于picmg1.0支持pci-e的工业主板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171017 |