基于MLX90316的方向盘转角检测系统设计

时间:2022-02-14 06:17:46

【前言】基于MLX90316的方向盘转角检测系统设计由文秘帮小编整理而成,但愿对你的学习工作带来帮助。本系统分为MLX90316角度检测模块、STM32处理模块、电源模块、存储及LCD显示模块,系统总体设计框图如图1所示。首先利用三轴霍尔芯片MLX90316设计的转角传感器测得方向盘旋转角度,根据MLX90316的SPI通讯协议将角度数据发送给STM32微控制器,经过STM32进行处理后在LCD...

基于MLX90316的方向盘转角检测系统设计

【摘 要】本文介绍了一种基于mlx90316霍尔传感器的方向盘转角检测系统。系统采用MLX90316霍尔元件作为角度采集芯片,STM32作为微控制器,详细分析了系统的硬件设计和软件实现。试验表明,系统能实现对方向盘旋转角度检测并实时显示,理论误差小于0.5°,具有良好的精度,可以满足方向盘角度的测量要求。

【关键词】STM32;方向盘转角;MLX90316;检测系统

0 引言

在当今,随着汽车工业和检测技术的发展,越来越多的方向盘转角检测设备应用在汽车检测领域。然而传统的检测设备采用的角度传感器如磁感式、光电式和磁阻式等,存在机械磨损导致精度降低,使用寿命不高、抗冲击震动能力差需要经常更换,同时存在采集数据量小、计算程序复杂等缺点[1]。文中提出的方向盘转角检测系统,采用基于三轴霍尔技术的MLX90316作为角度采集芯片,克服了传统传感器存在的机械磨损导致精度降低、需要经常维修更换的缺点,同时充分利用STM32丰富的资源,减少了硬件投资,体积小、成本低,避免了复杂的程序设计。

1 总体设计方案

本系统分为MLX90316角度检测模块、STM32处理模块、电源模块、存储及LCD显示模块,系统总体设计框图如图1所示。首先利用三轴霍尔芯片MLX90316设计的转角传感器测得方向盘旋转角度,根据MLX90316的SPI通讯协议将角度数据发送给STM32微控制器,经过STM32进行处理后在LCD上实时显示角度数据,利用STM32的(可编程电压检测器)PVD可以进行掉电存储,有效保证系统的可靠性。

2 系统硬件设计

2.1 STM32片上资源简介

STM32是ST公司的一款基于Cortex-M3内核的微控制器,Cortex-M3内核是ARM公司设计的32位RISC核心,具有高性能、低功耗、实用性强等优点。本系统采用增强型芯片STM32F103VC作为控制核心,该款芯片具有256K字节的FLASH闪存以及48K字节的RAM,最高运行频率可高达72MHz,工作电压为2.0 ~3.6 V[2]。STM32F103VC拥有3路速度高达2MB/24MHz的SPI设备接口,3路USART,2路UART串行通信接口,内置可编程波特率发生器,最高可达4.5Mbit/s,此外,灵活的静态存储器控制器FSMC能够快速访问NOR FLASH或者NAND FLASH,便于存储器扩展和LCD液晶显示屏。STM32F103VC丰富的片上资源,简化了系统硬件设计,降低了系统功耗,能够满足系统要求。

2.2 角度信号采集模块设计

角度信号采集模块主要由MLX90316以及电路组成。MLX90316是一款运用Melexis公司独创Triaxis(三轴霍尔)技术的传感芯片。检测原理如图2所示,MLX90316采用的差分技术将垂直于芯片表面的磁感强度B抵消,将平行于芯片表面的磁场强度B||分解为两个正交的分量Bx||和By||,再通过集磁片IMC将两个正交分量转化为垂直方向上的分量Bx和By,然后由内部平面霍尔元件测量从而产生同步的相位差为90°的正交差分信号,最后经过内部可编程为14bit或15bit的ADC将模拟信号转化为数字信号传输给基于16bit RSIC微处理器的DSP计算得出角度位置信号[3]。计算得到的角度信号可以选择12bit的ADC或PWM输出、14bit的数字串行SPI输出,本文选择SPI方式输出,省去了A/D转换电路,这极大的减小了系统设计的复杂度,理论分辨率可达0.022°。

2.3 电源模块电路设计

为了便于汽车工业的应用,电源采用车载12V DC供电,同时为满足MLX90316传感器的5v 工作电压及STM32微控制器的3.3V供电要求,采用L7805和AMS1117电源稳压稳压芯片。L7805是一款常用电源稳压芯片,所需的元件少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜,AMS1117是正向低压降稳压器,内部集成过热保护和限流电路,是本系统电源设计方案中较理想的选择。电源电路设计图如图4所示。

2.4 掉电存储和LCD显示模块设计

为了实现角度数据存储和防止角度数据掉电丢失,系统采用ATMEL公司的AT45DB161D FLASH存储器,具有功耗低,容量大,读写速度快,抗干扰能力强等优点。AT45DB161D工作电压为2.5V至3.6V,可采用SPI接口进行读写,最高频率可达66MHz容量高达16MB,支持用户智能页面编程,每页512/528字节,共4096页,另外还有两个512/528字节的SRAM数据缓冲区[5]。由于系统采用可编程电压监测器PVD来监视供电电压,当供电电压下降到预设定的阀值以下时,将产生中断,在中断服务函数中调用FLASH读写函数,将数据缓冲区的角度信息通过SPI串行总线保存在AT45DB161D中。当供电电压又恢复到给定的阀值以上时,也会产生一个中断,通知软件供电恢复。供电下降的阀值与供电上升的PVD阀值有一个固定的差值(PVD迟滞),引入PVD迟滞目的是为了防止电压在阀值上下小幅抖动,而频繁地产生中断,从而保证系统的稳定性和可靠性。

为了便于实时监测系统测量的角度信息,设计了LCD显示模块。文中采用驱动芯片为SSD1289的3.2英寸TFT液晶LCD,分辨率可达320×240,支持65K色显示,自带触摸屏。采用STM32F103VC的灵活的静态存储控制器FSMC模块来控制LCD显示器,将测得的角度信息实时显示在LCD上,同时加入触摸控制,设计了良好的人机交互界面。利用FSMC模块可以对LCD快速读写,简化硬件接口设计,同时避免了模拟I/O口的复杂程序设计。

3 系统软件设计

系统的软件设计使用C语言编程,以高效的ARM开发环境Realview MDK为编译调试平台。软件程序主要包括系统初始化程序、角度数据采集及处理程序、数据存储及显示程序3个主要部分,程序流程图如图5所示。

上一篇:PBL 教学法在心内科临床实习教学中的应用 下一篇:基于DSP的液晶显示器设计与实现