基于MLX90316的磁性角度傳感器的設(shè)計(jì)方案
4.硬件電路設(shè)計(jì)
硬件電路的核心是磁傳感器信號(hào)采集模塊,它主要是利用磁傳感器芯片MLX90316 來(lái)實(shí)現(xiàn)的,它可以把磁場(chǎng)的變化轉(zhuǎn)化為角度信息。信號(hào)采集電路如圖4所示。
MLX90316芯片是集成了Tria 度isTM型的CMOS霍爾傳感器,當(dāng)外加磁場(chǎng)的分量與芯片表面平行時(shí)則可輸出兩路正交磁場(chǎng)信息,根據(jù)這一特點(diǎn)可以獲得對(duì)應(yīng)的角度位置信息,它的內(nèi)部結(jié)構(gòu)如圖5所示。
當(dāng)小型磁鐵(徑向磁化)在芯片表面上方旋轉(zhuǎn)時(shí),MLX90316芯片內(nèi)的集磁片(IMC)可以將平行作用于芯片表面的磁場(chǎng)集中起來(lái),并在IMC結(jié)構(gòu)的邊緣產(chǎn)生正比于磁場(chǎng)的垂直分量,再通過(guò)兩對(duì)位于 IMC下方的傳統(tǒng)平面霍爾元件來(lái)檢測(cè)此信號(hào)。這兩對(duì)霍爾元件的放置方向相互垂直,并都平行于芯片表面(X軸和Y軸方向),通過(guò)這樣的結(jié)構(gòu)可以將實(shí)際角度編碼為兩個(gè)相位差為90°的正弦信號(hào)x V 和y V ,并正比于磁場(chǎng)強(qiáng)度。
這兩路霍爾信號(hào)將通過(guò)一個(gè)完全差分、帶有經(jīng)典偏移消除技術(shù)的模擬處理鏈進(jìn)行放大、采樣。調(diào)節(jié)后的模擬信號(hào)再通過(guò)ADC(可編程為14bits或15bits)轉(zhuǎn)換為數(shù)字信號(hào),之后這兩個(gè)數(shù)字信號(hào)再通過(guò)芯片內(nèi)部的由DSP實(shí)現(xiàn)的反正切函數(shù)計(jì)算模塊來(lái)計(jì)算角度,計(jì)算公式為:
實(shí)際中x V 和y V 還存在式(1)所示的誤差表達(dá)式:
MLX90316的偏移誤差、靈敏度誤差和垂直度誤差都會(huì)對(duì)輸出的角度信息產(chǎn)生較大的影響。雖然芯片內(nèi)部使用了動(dòng)態(tài)偏移電壓消除機(jī)制,并且可以在一定程度上通過(guò)芯片內(nèi)置的DSP 模塊來(lái)調(diào)整它們之間的正交性,但這些誤差仍會(huì)反應(yīng)在傳感器的輸出信號(hào)上。通常由芯片本身所產(chǎn)生的誤差在0.3度以?xún)?nèi)。
傳感器輸出的表征當(dāng)前角度值的信號(hào)可以以串行數(shù)字通信(SPI)方式輸出,也可再通過(guò)D/A轉(zhuǎn)換器變回模擬信號(hào),以PWM模式或模擬量形式輸出。為了滿(mǎn)足設(shè)計(jì)電路的結(jié)構(gòu)簡(jiǎn)單、成本低等要求,這里選擇的是SPI輸出模式,避免了模擬輸入帶來(lái)的額外誤差源。
5.系統(tǒng)軟件設(shè)計(jì)
由于MLX90316所獲得的角度信息是以SPI模式輸出的,因此程序設(shè)計(jì)的關(guān)鍵就是SPI通信的實(shí)現(xiàn)。SP總線(xiàn)接口是一種同步串行外設(shè)接口它是是一種由4根信號(hào)線(xiàn)構(gòu)成的串行接口協(xié)議。這4根信號(hào)線(xiàn)分別是:時(shí)鐘線(xiàn)(SCK)、數(shù)據(jù)輸入線(xiàn)(MISO)、數(shù)據(jù)輸出線(xiàn)(MOSI)和從設(shè)備使能線(xiàn)(SS)。SPI接口中,MC9S08DZ60作為主控端,MLX90316作為從屬端。SPI通信模塊主要讓 MC9S08DZ606讀MLX90316輸出的數(shù)字信號(hào)。
SPI的通信過(guò)程為:主控端先輸出一個(gè)0xAA以及一個(gè)0xFF作為通信起始信號(hào),接著輸出8個(gè)0xFF,而從端會(huì)同時(shí)輸出2個(gè)0xFF、4個(gè)字節(jié)的角度信號(hào)以及4個(gè)0xFF,從而完成一次數(shù)據(jù)通信。具體的通信時(shí)序如圖6所示,軟件流程如圖(7)所示。
評(píng)論