磁阻传感器在机器人玩具中的应用
扫描二维码
随时随地手机看文章
0 背景
机器人玩具控制系统的设计中对方向的控制尤其重要,直接体现了机器人玩具的控制精度和整体效果。在本文中要解决的问题就是控制好机器人的运动方向和球门之间的夹角,让其能够在运行中实时地自我调整,准确地把球送入球门。
本文的课题背景是一个机器人玩具的控制系统设计,主芯片采用的是以摩特罗拉公司的MC86EZ328芯片,只完成与通信、运算等有关的主要操作,在没有操作时,由运行于其上的操作系统uClinux来维护。对于所有与EZ328的核心运算、控制、通信、操作无关的外围设备的维护和控制都通过一块AT89C52来完成,它与EZ328的底层通信协议为同步串口协议(SPI),在AT89C52中由软件来实现。C52包含的部件主要是A/D转换器,键盘接口,电机驱动模块。硬件结构电路图如下图1:
图1
1 磁阻传感器及其详细采集过程
1.1 磁阻传感器HMC1022简介
机器人玩具的方向控制的核心部件就是HMC1022两维磁阻微电路芯片,它的机构是四臂的惠斯通电桥,将磁场转化为差动输出的电压,可以检测低至85微高斯的磁场信号,这种低成本的传感器相比传统型号的同类产品具有更小的体积和更低的功耗。供电电源为3V-10V直流电压。本设计中采用的HMC0122采用的是16脚SOIC封装,集成了两路的惠斯通电桥,测出平面的X轴和Y轴的磁场信号,这样就可以获得水平面上方向的完整信号。
比较特殊的是Honeywell公司的这种磁阻传感器带有一个获得专利的置位/复位电路。
图2和图3分别是HMC1022内部电桥和置位/复位电路电路设计。
图2
图3
[!--empirenews.page--]
1.2 磁阻传感器工作原理
HMC的输出电压为磁场强度为0时传感器的输出。所以当U0为0时, Uout正比于磁场强度B。如图4,假设机器人处于水平面上,X为机器人行进方向,Y为水平面上垂直X的方向向右(即X顺时针转90),地里北极方向和地磁北极方向如图所示。H为地磁场,Hx、Hy分别是H在X、Y方向的水平分量, β为机器人行进方向和地磁北极方向的夹角, γ为地磁北极和地理北极方向的夹角,K就是机器人行进方向与地理北极方向之间的夹角,也就是我们最终要求的角度。(此处的β、γ、 K都是由前者出发顺时针到达后者的角度)由图可明显看出,K= β-γ。而在地球上不同方位的γ可查表得出,所以关键就是求得 。由磁阻传感器可以得出Hx、Hy,(此处忽略了机器人在Z轴方向的倾斜,所以二维传感器就够用了),。
图4
1.3 磁阻传感器信号采集模块电路设计
从HMC1022输出的电压信号非常微弱,我的测试是0到3mv(具体每个芯片的输出不是完全一致),需要经过放大器的放大,放大器选用的是AN622,放大倍数选定为600倍,这种放大器可以加上一个2.5v的偏置电压,所以输出到A/D的电压为2.5v+(0~3mv)*600,两路采集到的电压信号经过放大后连接到ADC0832。ADC0832是个两通道8位精度的逐次逼近式模数转换芯片,通过一个串行的I/O口DI输入一个MUX ADDRESS序列,来配置A/D成差分方式并选择哪一路通道的信号。2051通过一路I/O来串行读入转换后的数值。
用max662a作为RST/SET部分的恒压源,电路的工作原理及流程如下:
1. 由2051的14端(P1.7)输出高电平,SR电路set功能选通
2. 通过2051 P1各相应端子控制ADC0832,完成一次A/D转换,记下此次读入的电压值Vset 。
3. 2051的P1.7输出低电平,SR电路reset功能选通
4. 通过2051 P1各相应端子控制AD0832,完成一次A/D转换,记下此次读入的电压值Vrst
5. 求出1022的输出偏置电压V0=(Vset+Vrst)/2。
6. 通过2051控制AD0832完成A/D转换,将每一次读入的值Vrst减去V0就得到计算需要用的电压Vread=Vrst-V0;(包括两个轴方向的电压Vready、Vreadx)
7. 求得
8. K=β-γ, goto 6
经过2051处理后得出的数值,在时钟的配合下用一个I/O口模拟PWM输出,传给C52单片机。
2 结束语
整个电路设计作为机器人玩具的可加载模块,在实际使用中的效果很好,对方向的分辩率完全满足在5度以内,从性价比来看,这种电路设计是比较成功的设计。