背景
機器人玩具控制系統(tǒng)的設計中對方向的控制尤其重要,直接體現(xiàn)了機器人玩具的控制精度和整體效果。在本文中要解決的問題就是控制好機器人的運動方向和球門之間的夾角,讓其能夠在運行中實時地自我調整,準確地把球送入球門。
本文的課題背景是一個機器人玩具的控制系統(tǒng)設計,主芯片采用的是以摩特羅拉公司的mc86ez328芯片,只完成與通信、運算等有關的主要操作,在沒有操作時,由運行于其上的操作系統(tǒng)uclinux來維護。對于所有與ez328的核心運算、控制、通信、操作無關的外圍設備的維護和控制都通過一塊at89c52來完成,它與ez328的底層通信協(xié)議為同步串口協(xié)議(spi),在at89c52中由軟件來實現(xiàn)。c52包含的部件主要是a/d轉換器,鍵盤接口,電機驅動模塊。硬件結構電路圖如下圖1:
圖1
1、磁阻傳感器及其詳細采集過程
1.1磁阻傳感器hmc1022簡介
機器人玩具的方向控制的核心部件就是hmc1022兩維磁阻微電路芯片,它的機構是四臂的惠斯通電橋,將磁場轉化為差動輸出的電壓,可以檢測低至85微高斯的磁場信號,這種低成本的傳感器相比傳統(tǒng)型號的同類產(chǎn)品具有更小的體積和更低的功耗。供電電源為3v-10v直流電壓。本設計中采用的hmc0122采用的是16腳soic封裝,集成了兩路的惠斯通電橋,測出平面的x軸和y軸的磁場信號,這樣就可以獲得水平面上方向的完整信號。
比較特殊的是honeywell公司的這種磁阻傳感器帶有一個獲得的置位/復位電路。
圖2和圖3分別是hmc1022內部電橋和置位/復位電路電路設計。
圖2
圖3
1.2磁阻傳感器工作原理
hmc的輸出電壓為磁場強度為0時傳感器的輸出。所以當u0為0時,uout正比于磁場強度b。如圖4,假設機器人處于水平面上,x為機器人行進方向,y為水平面上垂直x的方向向右(即x順時針轉90),地里北極方向和地磁北極方向如圖所示。h為地磁場,hx、hy分別是h在x、y方向的水平分量,β為機器人行進方向和地磁北極方向的夾角,γ為地磁北極和地理北極方向的夾角,k就是機器人行進方向與地理北極方向之間的夾角,也就是我們zui終要求的角度。(此處的β、γ、k都是由前者出發(fā)順時針到達后者的角度)由圖可明顯看出,k=β-γ。而在地球上不同方位的γ可查表得出,所以關鍵就是求得。由磁阻傳感器可以得出hx、hy,(此處忽略了機器人在z軸方向的傾斜,所以二維傳感器就夠用了),。
圖4
1.3磁阻傳感器信號采集模塊電路設計
從hmc1022輸出的電壓信號非常微弱,我的測試是0到3mv(具體每個芯片的輸出不是*一致),需要經(jīng)過放大器的放大,放大器選用的是an622,放大倍數(shù)選定為600倍,這種放大器可以加上一個2.5v的偏置電壓,所以輸出到a/d的電壓為2.5v+(0~3mv)*600,兩路采集到的電壓信號經(jīng)過放大后連接到adc0832。adc0832是個兩通道8位精度的逐次逼近式模數(shù)轉換芯片,通過一個串行的i/o口di輸入一個muxaddress序列,來配置a/d成差分方式并選擇哪一路通道的信號。2051通過一路i/o來串行讀入轉換后的數(shù)值。
用max662a作為rst/set部分的恒壓源,電路的工作原理及流程如下:
1.由2051的14端(p1.7)輸出高電平,sr電路set功能選通
2.通過2051p1各相應端子控制adc0832,完成一次a/d轉換,記下此次讀入的電壓值vset。
3.2051的p1.7輸出低電平,sr電路reset功能選通
4.通過2051p1各相應端子控制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=β-γ,goto6
經(jīng)過2051處理后得出的數(shù)值,在時鐘的配合下用一個i/o口模擬pwm輸出,傳給c52單片機。
2、結束語
整個電路設計作為機器人玩具的可加載模塊,在實際使用中的效果很好,對方向的分辯率*在5度以內,從性價比來看,這種電路設計是比較成功的設計。