方向盘转向角传感器的数据采集系统设计
扫描二维码
随时随地手机看文章
摘要:通过对方向盘转向角传感器的分析,设计了转向角传感器的数据采集系统,并且设计了相应的外围辅助电路,通过ARM读取传感器中的数据,对方向盘转向角,方向盘转向角速度以及转动方向这三个参数进行数据采集。这些参数为汽车自适应前照灯控制,以及助力转向系统提供了方向盘转向角相关信息,为了便于对采集到的数据进行分析,方向盘转向角传感器采集到的数据通过串口送到上位机上,并且利用Matlab对采集的数据进行分析处理。
关键词:方向盘转向角传感器;数据采集;ARM;Matlab
自适应前照明系统(AFS),是一种能适应各种不同环境条件的智能前照灯系统,获得汽车在转弯处的参数,如:转向角,角速度以及转向,是汽车前向灯自适应控制的前提条件。为了获得这些参数,采用了方向盘转向角传感器,它能测试出方向盘的转向角,转向角速度以及转向三个参数,这几个参数在一定程度上能反映汽车在转弯处的行驶状态,准确地获取这些参数具有重要意义。因而设计了基于ARM的数据采集系统。在这个采集系统中方向盘转向角传感器采集到的数据通过CAN总线传送到ARM中,并对其进行相应数据处理。
1 方向盘转向角传感器数据采集系统的结构框图
方向盘转向角传感器数据采集系统包括转向角传感器,CAN总线和ARM微控制器三个部分。方向盘转向角传感器是通过CAN总线的方式传送采集到的信号,控制器采用的是ARM微处理器,系统具体的结构框图如图1所示。
2 系统的硬件设计
2.1 ARM简介
ARM是指精简指令集的微处理器,具有高性能、廉价、耗能低的特点,在各个领域得到了广泛的应用。该系统采用的是ARM7系列的LPC21 19微控制器,LPC2119是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S CPU的微控制器,并带有128 KB嵌入的高速FLASH存储器。指令支持32位的ARM模式与16位的Thumb模式。128位宽度的存储器接口和独特的加速结构使32位代码的ARM方式能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小,LPC2119非常小的64脚封装、极低的功耗、多个32位定时器、4路10位ADC、2路CAN、PWM通道、46个GPIO以及多达9个外部中断使它们特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器以及其他各种类型的应用。
2.2 方向盘转向角传感器介绍
方向盘转向角传感器前期安装在转向盘轴上,转向轴带动编码盘的转动,在发光二极管照射下,形成或明或暗的图案,通过感光元件转换成相应的电信号,经过整形滤波后得到一系列的脉冲信号,通过单片机转换为相对应的数字信号,并通过CAN控制器发送出去,能提供方向盘转向角的绝对位置。工作电压是12 V,数据是通过CAN发送出去的,输出信号为方向盘转角,方向盘的转动方向以及方向盘转的转动角速度。
2.3 控制器的电源电路与CAN收发器电路的设计
数据采集系统的硬件设计包括电源的设计,转向角传感器需要12 V电源供电,这部分由电源直接提供,LPC2119的控制器需要的5 V电源通过7805稳压芯片把12 V转化为5 V,7805稳压芯片能够把12 V的电压变为5 V,电容C1,C2,C3起到滤波的作用。具体电路如图2所示。
由于LPC2219集成了CAN控制器,在此基础上还必须接上一个CAN的收发器,才能正常的收发数据,它实现的是一个电平转换与信号差分传送的转换的功能。收发器采用的是PCA82C250控制器,具有差分的形式传送数据,宽范围的共模干扰,抗电磁干扰强等特点。具体电路如图3所示。
3 系统的软件设计及调试
系统的软件设计包括对转向角传感器接收程序的设计,即CAN总线的接收程序的设计(转向角传感器是通过CAN接口把数据传送出来的),以及在上位机上利用Matlab对接收来的数据进行处理的相关程序设计。
3.1 CAN总线的接收程序设计
CAN总线是目前在汽车上应用得最广泛的现场总线之一,是目前发展比较成熟的总线。在各个领域已经得到了广泛的应用,特别是在汽车领域,它能够实现点到点以及一点到多点的通信,能够实现系统数据的共享。转向角传感器数据输出接口为CAN接口。LPC2219控制器中具有CAN的控制器,在这个系统中CAN的程序设计包括:CAN的初始化程序设计,CAN接收程序的设计。CAN接收方式有查询式接收和中断式接收,查询式接收方式总是不停地查询接收标志位,对控制器来说这是种浪费,中断式接收方式是当接收到数据时,控制器进行中断,没有接收数据的时候ARM可以执行其他的任务,该系统采用的是中断式接收方式。具体流程图如图4所示。
ARM微控制器接收到的数据通过串口来显示,并将其保存在txt的文档里,便于在Matlab中处理。具体部分数据如下所示:
接收到的信息包括:其中CAN:00表示接收的CAN通道为CAN控制器1;FIF:08表示接收的是具有8个字节的数据扩展帧;FID表示帧的ID号;Dat表示接收到的数据,如果是远程帧的话,则为0。
3.2 在上位机上对方向盘转向角传感器接收的数据进行处理
ARM通过CAN总线把从转向角传感器接收的数据通过串口送到上位机上,并且以txt的格式存储在上位机上,由于Matlab具有强大的数据处理及可视化功能,所以在上位机上利用Matlab对接收来的数据进行处理。由于方向盘转向角传感器的数据是通过CAN总线以帧的形式进行发送的,是一串十六进制数字,分别代表的是转向角传感器采集到的方向盘转角,转角方向以及角速度,在实际应用中需要对这些数据进行分割,从中提取出方向盘的转角,转角方向以及角速度。其相应的转向角方向以及转向角显示结果如图5所示。
图5中横坐标N是采集的数据量,取了4 000个数据点。以采集第一个数据的时间为0时刻,以后每个数据点之间的时间间隔是10.3 ms,由于数据点比较多,横坐标只取了具有代表性的数据点。图中纵坐标分别代表的是方向盘转向角传感器转角的方向和大小,用蓝色的点表示转角的大小(采用弧度制),红色的曲线表示转角的方向。方向盘转向角的方向,顺时针方向用1来表示,逆时针方向用0来表示,在Matlab中通过绘图的方式把这些数据形象的显示出来。
4 结论
本文通过对转向角传感器数据采集系统的设计,采集到了方向盘转向角传感器的转向角,转向角速度和方向三个参数,并对采集到的数据进行了相应处理。经分析表明,方向盘转向角传感器的数据采集系统设计是有效的、可行的,能为汽车前向灯自适应控制提供准确的方向盘转向角相关参数信息。