磁阻傳感器在機器人玩具中的應用
HMC的輸出電壓為磁場強度為0時傳感器的輸出。所以當U0為0時, Uout正比于磁場強度B。如圖4,假設機器人處于水平面上,X為機器人行進方向,Y為水平面上垂直X的方向向右(即X順時針轉90),地里北極方向和地磁北極方向如圖所示。H為地磁場,Hx、Hy分別是H在X、Y方向的水平分量, β為機器人行進方向和地磁北極方向的夾角, γ為地磁北極和地理北極方向的夾角,K就是機器人行進方向與地理北極方向之間的夾角,也就是我們最終要求的角度。(此處的β、γ、 K都是由前者出發(fā)順時針到達后者的角度)由圖可明顯看出,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度以內,從性價比來看,這種電路設計是比較成功的設計。
評論