磁阻傳感器在機(jī)器人玩具中的應(yīng)用
HMC的輸出電壓為磁場(chǎng)強(qiáng)度為0時(shí)傳感器的輸出。所以當(dāng)U0為0時(shí), Uout正比于磁場(chǎng)強(qiáng)度B。如圖4,假設(shè)機(jī)器人處于水平面上,X為機(jī)器人行進(jìn)方向,Y為水平面上垂直X的方向向右(即X順時(shí)針轉(zhuǎn)90),地里北極方向和地磁北極方向如圖所示。H為地磁場(chǎng),Hx、Hy分別是H在X、Y方向的水平分量, β為機(jī)器人行進(jìn)方向和地磁北極方向的夾角, γ為地磁北極和地理北極方向的夾角,K就是機(jī)器人行進(jìn)方向與地理北極方向之間的夾角,也就是我們最終要求的角度。(此處的β、γ、 K都是由前者出發(fā)順時(shí)針到達(dá)后者的角度)由圖可明顯看出,K= β-γ。而在地球上不同方位的γ可查表得出,所以關(guān)鍵就是求得 。由磁阻傳感器可以得出Hx、Hy,(此處忽略了機(jī)器人在Z軸方向的傾斜,所以二維傳感器就夠用了),。
圖4
1.3 磁阻傳感器信號(hào)采集模塊電路設(shè)計(jì)
從HMC1022輸出的電壓信號(hào)非常微弱,我的測(cè)試是0到3mv(具體每個(gè)芯片的輸出不是完全一致),需要經(jīng)過(guò)放大器的放大,放大器選用的是AN622,放大倍數(shù)選定為600倍,這種放大器可以加上一個(gè)2.5v的偏置電壓,所以輸出到A/D的電壓為2.5v+(0~3mv)*600,兩路采集到的電壓信號(hào)經(jīng)過(guò)放大后連接到ADC0832。ADC0832是個(gè)兩通道8位精度的逐次逼近式模數(shù)轉(zhuǎn)換芯片,通過(guò)一個(gè)串行的I/O口DI輸入一個(gè)MUX ADDRESS序列,來(lái)配置A/D成差分方式并選擇哪一路通道的信號(hào)。2051通過(guò)一路I/O來(lái)串行讀入轉(zhuǎn)換后的數(shù)值。
用max662a作為RST/SET部分的恒壓源,電路的工作原理及流程如下:
1. 由2051的14端(P1.7)輸出高電平,SR電路set功能選通
2. 通過(guò)2051 P1各相應(yīng)端子控制ADC0832,完成一次A/D轉(zhuǎn)換,記下此次讀入的電壓值Vset 。
3. 2051的P1.7輸出低電平,SR電路reset功能選通
4. 通過(guò)2051 P1各相應(yīng)端子控制AD0832,完成一次A/D轉(zhuǎn)換,記下此次讀入的電壓值Vrst
5. 求出1022的輸出偏置電壓V0=(Vset+Vrst)/2。
6. 通過(guò)2051控制AD0832完成A/D轉(zhuǎn)換,將每一次讀入的值Vrst減去V0就得到計(jì)算需要用的電壓Vread=Vrst-V0;(包括兩個(gè)軸方向的電壓Vready、Vreadx)
7. 求得
8. K=β-γ, goto 6
經(jīng)過(guò)2051處理后得出的數(shù)值,在時(shí)鐘的配合下用一個(gè)I/O口模擬PWM輸出,傳給C52單片機(jī)。
2 結(jié)束語(yǔ)
整個(gè)電路設(shè)計(jì)作為機(jī)器人玩具的可加載模塊,在實(shí)際使用中的效果很好,對(duì)方向的分辯率完全滿(mǎn)足在5度以?xún)?nèi),從性?xún)r(jià)比來(lái)看,這種電路設(shè)計(jì)是比較成功的設(shè)計(jì)。
評(píng)論