基于磁阻传感器的低功耗方向指示系统
扫描二维码
随时随地手机看文章
摘 要:为克服传统指南针精度低,应用领域窄的缺点。利用HMC1052 磁阻传感器将地磁信号转换为电压输出, INA332仪表运放,AMS1117 直流稳压芯片及REF3212 参考电压源作为信号调理和供电单元,由MSP430F147 单片机及其自带A/ D转换器,进行信号处理和控制,制作得到准确可靠,图形化界面的低功耗方向指示系统。其内部结构固定,可以和其它电子系统形成接口,拥有低成本、低功耗、高精度的特点,具有磁偏角校正功能。
指南针是一种重要的导航工具,在许多场合都具有应用价值。为了使指南针的性能更加优良,应用领域更加广泛,我们设计制作了基于磁阻传感器的低功耗方向指示系统。在一些特殊地形条件下,GPS 将无法很好的工作,而此方向指示系统却不会受到影响,尤其适用于某些只要求检测方向而不需要检测所在经纬度的场合。
1 功能特色与指标要求
1.1 总体功能及特色
方向指示系统主要有方向指示功能、图形显示功能、磁偏角校正功能和信息锁定功能,并具有便携式和低功耗的特点。其界面设置图如图1 所示。
方向指示系统应用领域广泛,可以应用到如下领域:手持式方向指示系统,车载导航与行程控制,移动电话中的指南针,望远镜定位,医疗器械中的方向指示,陆地和海洋导航系统。
图1 界面设置图
1.2 对设计的要求和指标:
为实现以上功能,系统需达到以下要求:
(1) 系统中的所有元件具有体积小,低功耗的特点。
(2) 系统中的所有元件都是标准的低成本元件;特别是微控制器,而且要有尽量多的在片外部模块(如A/ D 和D/ A 转换器) 。
(3) 由于传感器的输出信号很小,要求各元件抗噪声能力强,电源输出纹波小。
(4) 可显示以下信息:
—以数字和图形显示机首方向;—以最临近方位文字显示机首方向。
(5) 指南针的读数参考地理上的北———正北根据HMC105X 数据手册,当接上低噪声放大器和12 到162bit (位) 模数转换器(A/ D) 时,使用HMC105X 系列传感器可进行极高精度的测量。测量误差小于1°,电路部分功耗小于115 mW。
2 系统设计:
2.1 系统整体设计
图2 是方向指示系统的结构框图,这是其最小设置。传感器单元是采集地球磁场的部分,将地球磁场信号转换为电信号;信号调整单元是对微弱的地磁电信号进行放大滤波,并将模拟信号转换为数字信号;数据处理单元是将调整单元输出的数字数据进行分析,确定所需要的方向与正北间的方向角,并对所在地的磁偏角进行校正。液晶显示单元是将方向角以图形和数字两种形式显示出来。
在本系统中,传感器单元由一块两轴磁阻传感器HMC1052 构成,信号调理单元为由仪表放大器组成的小信号放大电路。MSP430 单片机作为数据处理与信号控制核心,即数据处理与方向确定单元。
最终的显示单元采用一块128 ×64 图形点阵LCD。
图2 方向指示系统的结构框图
磁阻传感器HMC1052 将地磁场信号转化成电信号,仪表放大器将该微弱信号放大,送入MSP430单片机的AD 模块进行模/ 数转换,单片机将数据进行分析计算确定方向角度,最后送到LCD12864 将其文字及图形表达。图3 是此系统的电路模块图。
图3 电路模块图。
2.2 重难点分析
本设计的重要部分在于信号调理单元。由于磁阻传感器的输出信号极小,只有1 到2 个mV ,需放大电路对来自传感器的信号进行放大处理,为系统提供高精度的模拟输入信号,它所放大的信号对系统的精度起着关键作用。因此,我们在放大增益的设定,参考电压的选取,滤波设计,供电的稳定及电源纹波的处理等方面做了大量的工作,有效提高了方向指示系统的精度。我们将在后文中对这些工作加以详细的阐述。
本设计的难点是磁阻传感器的输出信号太小,外界干扰、电源纹波、桥臂失衡等许多因素都会造成方向指示系统的精度降低,为此我们从理论分析论证和实际电路调试两方面对系统的设计进行优化[。Ina332 仪表运放的选用可以有效地抑制传感器输出的共模信号,减小低温飘和零飘干扰。其体积小、成本低、功耗小的特点也十分符合我们的设计初衷。硬件系统设计的难点就在于运放电路的设计,因微弱信号的放大是其主要功能。稳定的电源系统是整体电路工作正常的基础,特别是模拟信号部分电源更是要求纹波频率低、幅度小,以保证传感器激励和运放工作的要求。
2.3 理论分析计算
2.3.1 磁阻传感器
HMC1052磁阻传感器由两个AMR 传感器(各向异性磁阻传感器) 整合在一起,可以把任何水平方向的磁场分解为X , Y 两个方向的矢量。其工作原理如图4 所示 。
图4 磁阻传感器HMC1052 结构图。
对每个AMR 传感器来说,其原理是当各个磁阻传感器感应到的磁场发生变化时,通用的电磁物质会在外部磁场中改变它的电阻系数,从而改变其阻值,因此阻抗式惠斯通电桥会输出一定的电压信号。每个电桥由四个阻值相同但磁性反相的磁阻元件组成。
双轴罗盘系统的基本原理是使两个传感器电桥元件平行于地平面(垂直于重力场) ,并测量由此产生的X 和Y 的模拟输出电压。当放大的传感器电桥电压几乎同时转换成(被测为) 等量数字信号时,就可计算出Y/ X 的反正切, 从而得到与X 轴测量方向相关的方位信息。
AMR 传感器的输出电压通过测量Out + 到Out - 之间的电压得出,它是传感器灵敏方程的函数,即:
其中: S 为灵敏度(mV/ V Gauss) ;V b 为电桥输入电压(V) ;Bs 为电桥感应强度( Gauss)。
在本系统中V b = 电源电压= 313 V ,Bs = 地磁场强度= 0155 Gauss (公认值) , HMC1052 的灵敏度S = 110 mV/ V Gauss , 可得到传感器输出电压为:
2.3.2 放大倍数分析与计算
INA332 是Rail - Rail 输出、低功率CMOS 仪表放大器,可单电源工作。INA332 系列产品提供微功率、低价格、低噪声仪表放大器,其特性是低功率电池和多路技术应用的最佳选择。INA332 具有宽带宽和高转换速率,可理想地应用于驱动取样模一数转换器,也可当作通用型仪表放大器使用。图5 是其内部结构图。
图5 仪表放大器INA332 结构图。
由于噪声的不可避免,必将造成理论分析与实际结果的一定误差。为达到项目规划的3°方向精度目标,这里将该指标要求提高后带入分析。分析如下:
将0°~90°范围内的电压输出N 等分,则当输出值有一个最小分度的变化时,其造成的角度变化应小于精度指标,这里设为1°。而该变化导致输出角度变化最大应在45°附近。经分析N = 200 时,角度最大变化量= arctan ( (100 + 1) / (100 - 1) ) - 45°= 015°,符合要求。
经测试,MSP430 内部的12ADC 可靠的位数约为10bit ,为获得较大电压检测范围,选择内部参考源215 V ,则可靠分辨力= 215 V/ 2^10 = 215 mV。
对于传感器任一轴放大后的输出,其变化范围应是2 N (0~180°) ,则得到放大后的电压范围是215 mV ·2 N = 1000 mV。
则由传感器输出11815 mv 得放大倍数为1000/ 11815 = 550。
因此合理的放大倍数范围可以是400~600 倍。
2.3.3 噪声分析与计算
噪声来源 线性稳压电源。
噪声形式 频率为10 kHz 级的纹波。
噪声参数 表1 为传感器HMC1052 和仪表运放INA332 的噪声参数(单位:nV/ √Hz)。
表1 噪声参数表
噪声幅度 280 ×√10 ×500 (放大倍数) =10 mV 级 。
分析 噪声具有一定幅度,对输出造成影响,将在程序中采用软件滤波来减小其影响。
2.4 硬件设计
2.4.1 电源模块
本电路提供了两种电源的输入方式———电池供电(由图中BA T 输入) 和DC/ DC 适配器供电(由图中J 1 输入) ,通过波动开关K1 选择供电方式,K2 为总电源开关。电源稳压器件为线性稳压芯片AMS1117 ,输出313 V ,作为硬件系统其他芯片与电路的电源。
2.4.2 传感器及信号放大电路
该部分由传感器HMC1052 、仪表运放INA332和电压参考源REF3212 组成,完成系统的模拟电路功能。其原理如图6 所示。
图6 放大电路模块原理图。
由21312 中运放的放大倍数G = 5 + 5 (R2 / R1 )可得,两轴信号的放大倍数分别是46214 与42*(详见21312 放大倍数分析与计算)由于INA332 是串联型仪表放大器,其内部结构决定信号正常放大要求共模信号与参考电压有对应的输入关系,如图7 所示。
图7 共模输入信号与参考电压关系表。
必须依据参考电压输入一定的共模信号才能使INA332 正常工作。
电压参考源REF3212 输出1125 V。整个系统供电为313 V ,传感器输出的共模电压为313/ 2 =1165 V ,符合上述要求,且AD 采用215 V 参考,如此可使输入信号获得最大动态范围。传感器电路带有置位/ 复位按键。按键产生高电流脉冲进入置位/复位带,可以校准传感器灵敏度。
2.4.3 MSP430 单片机及周边电路
在MSP430 周边电路中, Y1 用钟表晶振321768 kHz 作为低速时钟源,Y2 用8 MHz 作为高速时钟源XT2CL K。P610/ A0 和P610/ A0 用其第二功能,与INA332 的输出相连接,作为模数转换信号输入口。部分P2 和部分P3 口作为与LCD 的通信端口,另一部分P3 口和部分P4 口控制8 个L ED指示灯。P112 - P115 口作为按键中断的申请出入端口 。
2.5 软件设计:
2.5.1 软件设计特点与算法描述:
我们通过算法对数字量进行处理,消除干扰,得到了误差低于1°的方向角数值,以图形和数字两种形式显示。磁偏角设置功能使方向角指示更加准确。信息锁定功能方便了用户的使用。
(1) 数据的形式:
理论 以X , Y 为坐标的点集是以原点为圆心的圆。
实际 以X , Y 为坐标的点集基本形成一个原点偏离圆心的椭圆,原因是两轴灵敏度及放大倍数不一致使他们变化范围不同,而参考源与两轴不同的失调电压使椭圆圆心偏离原点。
(2) 算法工作。
①软件滤波,减小噪声造成的误差②将两轴数据线性变换为符合正切函数的点,并作局部调整,最后确定角。
2.5.2 主程序
主程序完成对各模块初始化程序的调用并进入低功耗模式。其程序流程图如图8 所示。
图8 主程序流程图。
本系统使用默认的时钟设置,即DCO 振荡器作为MCL K(供CPU 工作) 与L FXT1CL K 低频时钟源作为ACL K(供定时器,ADC 工作) ,为整个系统利用低功耗模式做准备。在之后的工作中,各中断源按需向CPU 申请退出低功耗模式,完成工作后,CPU 返回低功耗模式。
2.5.3 AD 转换及方向确定
该部分程序完成运放输出信号的AD 转换、所得数据的分析处理及调用LCD 显示函数完成方向指示的刷新。
AD 模块函数分ADC 初始化函数ADC12_ Init和AD 中断函数ADC12_ISR(包括方向的决定) 。
本系统使用定时器A 触发AD 模块进行转换。
ADC 初始化函数主要完成了定时器A 及AD 模块的初始化工作。定时器A 的初始化工作设置了其计数周期,即设定了AD 的工作周期。AD 模块的初始化工作中选定了内部215 V 参考源,并设置在完成一次序列转换(两个通道的转换) 后申请AD 中断。同时,定时器A 与ADC 同时选择ACL K 作为工作时钟,准备低功耗工作。
AD 中断函数首先对信号进行平均值滤波(对无规律的噪声尤其实用) 。完成滤波后对数据进行线性变换并局部修正,由angle = arctan ( Y_axis/ X_axis) 得到以传感器为正方向的角度值。最后加以磁偏角和液晶与传感器夹角补偿,实际方向角度输出到LCD 显示。
2.5.4 按键处理及磁偏角设置
该部分程序完成按键操作以实现磁偏角设置与锁定功能。该部分程序使用状态变量KeyStatus 来对按键的不同功能组合进行分类,分别有主界面状态、磁偏角设置状态及锁定状态。
按键初始化函数设置了初始按键功能为主界面状态。按键中断响应函数首先对按键进行消抖确认(使用定时器B 完成其中的延时) ,然后调用按键功能执行函数,并由其返回参数改变当前按键功能状态。按键功能执行函数分按键分状态给予具体功能响应,具体功能见程序流程图。其中磁偏角设置状态下,确定功能还将把新的磁偏角写入FLASH ;锁定功能将关闭定时器A 和ADC ,即系统暂停信号转换。
2.5.5 LCD 的驱动:
该部分为LCD 的定位、写入、清除,及中英字符显示等功能的驱动程序,这里不做详细展开。
2.5.6 LCD 的系统显示:
该部分程序完成指南针的图形显示、方向的文字与数值显示,以及磁偏角设置界面的显示。
直接涉及界面显示的函数有显示指南针表盘函数LCD_disp_Panel ,指南针更新显示函数LCD_up2date ,以及与磁偏角设置功能相关的显示函数Enter_Cipianjiao 、Exit_Cipianjiao 、Change_Cipianjiao 。
3 系统测试
3.1 测试方案
关于方向精度的测量,我们将方向指示系统每转10°做一次测量,将其理论值与实际测量值记录,并加以比较。
关于电路功耗测量,我们在电源输入端串联一小电阻,通过测量电阻两端电压,经公式计算得到电路输入总电流,即可求得电路总功耗。在液晶锁定模式(仅液晶工作,其余电路不工作) 下,用同样的方法求得其总功率,两者之差即为我们电路模块(液晶不工作情况下) 的功耗。
3.2 测试数据与仪器
3.2.1 方向精度
实际测得值与理论值见表2 所示。
表2 数据测试表
31212 功耗:
经过测量所得的电路模块功耗见表3 。
表3 功耗测试表
4 设计总结
本设计通过合理选用元件及优化的软硬件设计,使我们制作的方向指示系统具有显着的低功耗、低成本、便携式、高精度的特点。
在设计制作过程中,我们对电路的每一部分都进行了严密的分析论证和参数计算,并经过长时间的调试逐步优化我们的设计。积累总结了许多硬件电路方面的经验。一些算法的巧妙编写也使我们的设计达到了事半功倍的效果。我们将继续对此项目作进一步的探索,使方向指示系统的功能更加完善,应用领域更加广泛。