APP下载

基于STM32的汽车档位角度传感子系统的设计与实现

2017-03-01广东工业大学张昌尧

电子世界 2017年3期
关键词:陀螺仪档位角速度

广东工业大学 张昌尧

基于STM32的汽车档位角度传感子系统的设计与实现

广东工业大学 张昌尧

本系统是基于stm32的新型汽车档位的测量系统及方法,主要采用功能强大的stm32单片机和性能优良的mpu-6050芯片进行开发,还包括安装在汽车档位上角度传感器与硬件档位组成的子系统模块,STM32F051x微型处理器与角度传感器组成的数据采集模块以及STM32F051x微处理器的数据处理系统模块。相对于传统系统,本系统具有可移植性强,稳定性好,抗干扰能力强,检测精度高等优点。

汽车档位;stm32;mpu6050

0.引言

目前一般轿车上大约有几十只传感器,高级轿车有100多个传感器,预计到2020年,全球的车用传感器需求量将达到127.1亿只。

1.汽车档位角度传感器子系统的建模过程

(1)档位系统主要是采用传统的手动挡汽车6档位结构模型,6个档位分别是“1”,“2”,“3”,“4”,“5”和“R”档,此外,还有立于中间槽的“N”档。在档位与档位切换的过程中,必须先切换到“N”档,停留1秒钟左右再切换到另一个档位。“R”档为倒车档,本系统的“R”档是在“4”档的右边,“5”档的对面。

(2)角速度传感器主要选用性能良好的MPU-6050。它集成了三轴的陀螺仪,角速度全格感测范围为±250、±500、±1000与±2000°/sec (dps)。不仅可以准确追踪快速与慢速动作,而且用户可程式控制的加速器全格感测范围为±2g、±4g±8g与±16g。此外,可以把角度信号采集进行自处理,把角度信息输出到微型处理器上。

2.汽车档位角度传感器子系统的工作原理

(1)I2C通讯

Mpu-6050传感器通过I2C接口连接到主控制器STM32,不需要额外的ADC电路,直接通过数字接口就可以读取传感器的当前输出。stm32、mpu-6050和24C02之间采用I2C通讯进行数据传输,不仅简单、快捷,而且高效、准确。

(2)两个角度传感器根据公式计算出倾角大小

通过I2C接口读出来的转换结果ADC值,并不是以度每秒为单位。按以下公式进行转换:

Anglerate = ADCrate /灵敏度

当量程为±1000º/s时。读取x轴的ADC值为value_x,从数据表中得知在±1000º/s下的灵敏度为dec_s LSB/(º/s) 。根据上面的公式:

当选择量程为±250dps的时候,将会得到分辩率为131LSB/ (º/s)。也就是当载体在X+轴转动1dps时,ADC将输出131。

这就是说,MPU6050检测到模块正在以约value_x/dec_s度每秒的速度绕X轴旋转。也就是当载体在X+轴转动1dps时,ADC将输出value_x/dec_s。

(3)卡尔曼滤波

通过陀螺仪(mpu6050)来测量角度。因为陀螺仪读出的是角速度,角速度乘以时间,就是转过的角度。把每次计算出的角度做累加就会等到当前所在位置的角度。

使陀螺仪是与桌面平行,每t ms读一次陀螺仪的角速度,当读了三次角速度以后 z轴转到上图的位置,则在这段时间中转过的角度为x:

角x=角1+角2+角3

假设从陀螺仪读出的角速度为w,那总角度为:

假设经过n次,那么总的角度如下:

实际上这就是一个积分过程。

其实这种计算出来的角度也存在一定的误差,而且总的角度是经过多次相加得到的,这样误差就会越积累越大,最终导致计算出的角度与实际角度相差很大。于是使用卡尔曼滤波把加速度计读出的角度结合在一起,使计算出的角度更准确。

3.STM32软件模块的功能实现

(1)微处理器通过I2C协议获得倾角信号

如果SCL处于高电平时,SDA上产生下降沿,则认为是起始位,SDA上的上升沿认为是停止位。每次数据传输都是以一个起始位开始,而以停止位结束。传输的字节数没有限制。最高有效位将首先被传输,接收方收到第8位数据后会发出应答位。通信速率分为常规模式(时钟频率100kHz)和快速模式(时钟频率400kHz)。同一总线上可以连接多个带有I2C接口的器件,每个器件都有一个唯一的地址,既可以是单接收的器件,也可以是能够接收发送的器件。

(2)通过PWM(脉冲宽度调制模式)调试

系统的性能测试和功能调试主要是通过TIM和PWM来实现。脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,也叫做对脉冲宽度的控制。

PWM输出的是一个方波信号,信号的频率是由TIMx的时钟频率和TIMx_ARR预分频器所决定的,其公式为:

频率:Fpwm = 72M / ((arr+1)*(psc+1))(单位:Hz)

而输出信号的占空比则是由TIMx_CRRx寄存器确定的。其公式为:

占空比:duty circle = TIM3->CCR1 / arr(单位:%)

因此,可以通过向CRR中填入适当的数来输出自己所需的频率和占空比的方波信号。

4.系统测试及分析

(1)测试和现象

在电脑主机 USB 接口上插入stm32的电源线和J-LINK 的连接线,同时给示波器供电,示波器两个通道接线的负接线与开发板STM32 的GND 连接,正接线分别接通道n(n=1,2)和其互补通道。其中,通道1 和2的输出分别对应PA.08和PA.09引脚,而通道1 和2 的互补输出分别对应PB.13和PB.14引脚。前序工作准备好后,再在Keil uVision4 环境里打开main 的工程,编译连接运行。观察并记录示波器图像。

(2)结果分析

当通道1模拟的是x轴方向的档位变化时,设置通道 1 和其互补通道的频率都为17.57kHz,占空比的大小随着档位把手在x轴方向的变化而变化。当汽车档位处于“N”档时,也即是空挡位置,通道1和其互补通道的占空比都为50%;当汽车档位拨到“1、2、3、4、5、R”档位时,通道1和其互补通道的频率保持不变仍为17.57kHz,则通道1占空比为25%,其互补通道占空比变为75%。由此就可以判断出汽车档位x轴方向的变化情况。

同理,当通道2模拟的是y轴方向的档位变化时。也就可以判断出汽车档位y轴方向的变化情况。

综合x轴和y轴的信息就可以判断出汽车档位的实际位置,也即是汽车的实际档位情况。

5.结束语

传统的做法都是采用霍尔元器件来进行汽车档位的检测,其特点是通过磁传感器检测来判断挡位的变化。本系统采用角度传感器代替霍尔元器件来对汽车档位进行检测,不仅稳定性高,而且可移植性强,精度高。

张昌尧(1990—),男,广东茂名人,硕士,研究方向:机器视觉、机器人。

猜你喜欢

陀螺仪档位角速度
基于EMD的MEMS陀螺仪随机漂移分析方法
三绕组变压器运行分接头档位计算及电压分析
我国著名陀螺仪专家——林士谔
圆周运动角速度测量方法赏析
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法
半捷联雷达导引头视线角速度提取
基于构架点头角速度的轨道垂向长波不平顺在线检测
引入分接头档位的换流变差动保护方案研究
基于单片机的变压器档位监测双输入BCD编码器