基于C8051F021的雙通道軸角測量實驗裝置的設(shè)計
0 引 言
現(xiàn)代電子技術(shù)的進步不斷推動數(shù)字伺服系統(tǒng)的發(fā)展,人們對位置角度測量提出了越來越高的要求。軸角轉(zhuǎn)換裝置旋轉(zhuǎn)變壓器以其高精度、抗震動、高可靠性著稱,在工業(yè)控制和武器控制系統(tǒng)等設(shè)備中應(yīng)用廣泛。為了促進學(xué)員對旋轉(zhuǎn)變壓器角度轉(zhuǎn)換、測量和通過雙通道粗精組合提高測量角度精度的原理和技術(shù)的掌握,在不需要復(fù)雜的外圍設(shè)備情況下,利用C8051F021混合型芯片內(nèi)置的集成12位ADC與DAC,方便的實現(xiàn)激勵信號產(chǎn)生、正余弦信號測量、軸角計算,同時,C8051F021對C語言編程有較好的支持能力,利用C語言編程,可以方便的實現(xiàn)程控。基于此,設(shè)計本實驗裝置。
1 系統(tǒng)設(shè)計
1.1 系統(tǒng)原理與結(jié)構(gòu)
為了讓裝置能自動完成測量軸角任務(wù),利用C8051F021混合型單片機產(chǎn)生驅(qū)動旋轉(zhuǎn)變壓器的激磁信號并測量旋轉(zhuǎn)變壓器輸出的正余弦信號,根據(jù)信號幅值和相位計算旋轉(zhuǎn)角度,通過應(yīng)用粗精雙通道卦限判別和組合糾錯技術(shù)提高測量角度精度,最后將組合后的結(jié)果作為真實值由LCD顯示??傮w設(shè)計框架圖如圖1所示:
雙通道旋轉(zhuǎn)變壓器作為軸角測量元件,一般與轉(zhuǎn)軸同軸安裝,它相當(dāng)于一臺的1:1旋轉(zhuǎn)變壓器和一臺1:n的旋轉(zhuǎn)變壓器的結(jié)合體。當(dāng)粗級旋變轉(zhuǎn)過1圈時,精級旋變則轉(zhuǎn)過n圈,精級的1圈(360°)表示真實軸角角度的1個360°/n。數(shù)據(jù)組合時,由粗級數(shù)據(jù)計算真實軸角所在區(qū)間,由精級數(shù)據(jù)計算出該區(qū)間的精確值,粗精組合后得到軸角的真實值.理想情況下數(shù)據(jù)組合公式為:
D=INT[Dc/(360°/n)]×(360°/n)+(Dj/n)
式中:D為軸角的真實值;Dc為粗級數(shù)據(jù);Dj為精級數(shù)據(jù)。設(shè)D=INT[θc/(360°/n)],則有0≤i≤n,i表示真實軸角落入第i個區(qū)間。在本設(shè)計中采用1:32的轉(zhuǎn)速比。
將O°~360°劃分為32個區(qū)間,每個區(qū)間為11.25°。真實軸角D落入哪個區(qū)間,可用esc(粗級正弦輸出)、ecc(粗級余弦輸出)計算出Dc來得到。而后再用esj(精級正弦輸出)、ecj(精級余弦輸出)計算出Dc得到落入該區(qū)間的精確值(具體計算方法將在軟件設(shè)計部分給出)。由此,本設(shè)計中的數(shù)據(jù)組合公式可寫成如下形式:
D=INT[Dc/(11.25)]×(11.25)+(Dj/32)
上述的粗精級軸角組合原理是建立在粗讀數(shù)整數(shù)部分不能有差錯的基礎(chǔ)上的,而實際中由于傳感器誤差、工藝因素等往往導(dǎo)致得不到粗、精級的理想配合:當(dāng)Dj在兩個區(qū)間的上(下)邊界附近時,會出現(xiàn)粗級讀整數(shù)與真實軸角D所在區(qū)間多“1”或者少“1”(“1”即360°/n,本設(shè)計中“1”為11.25°)的大角度的誤差,且這種誤差是原理性誤差,是粗精級組合系統(tǒng)中粗讀整數(shù)不可避免的誤差,依靠提高器件及電路精度來達到絕對避免這種誤差是不可能的(只會減少產(chǎn)生這種差錯的機率)。但可利用軟件的方法來排除該誤差:采用一個循環(huán)和一個糾錯判決條件來實現(xiàn)糾錯,判決條件的基準值η由裝置的測量精度決定,它是裝置糾錯能力的具體表示。本設(shè)計中取粗級單個區(qū)間長度的一半作為基準值,即此時η=6.125°。實現(xiàn)過程將在軟件設(shè)計中給出。
1.2 關(guān)鍵電路設(shè)計
1.2.1 激磁信號產(chǎn)生及調(diào)理電路設(shè)計
通過查正弦函數(shù)表的方法,經(jīng)過D/A轉(zhuǎn)換成模擬量而輸出正弦波。其波形的頻率可以通過改變定時器的初值,即改變查表輸出的時間來控制。采用n位D/A轉(zhuǎn)換器產(chǎn)生幅度為0~2n的m點正弦信號,其函數(shù)表可通過如下公式計算:
D/A輸入=sin(2πj/m)×2n-1+2n-1 j="0",1,2…2m
本設(shè)計采用C8051F021的12位D/A轉(zhuǎn)換器產(chǎn)生16點正弦信號,利用如下公式計算:
D/A輸入=sin(2πj/16)×2048+2048 j="0",1,2…32
可計算得到的16項16位二進制數(shù)結(jié)果,以32個8位二進制數(shù)的形式存放在code段(ROM中)具有32項的一維數(shù)組SINE_TABLE[32]中,每2項合成一個16位數(shù),取低12位送D/A轉(zhuǎn)換器進行D/A轉(zhuǎn)換。
設(shè)系統(tǒng)振蕩頻率為f0,要產(chǎn)生頻率為-廠的正弦信號,n位定時器的初值可按如下公式計算:
初值=2n-f0/12×1/100Hz×1/n
本設(shè)計中,C8051F021的系統(tǒng)振蕩頻率f0=22.11840O MHz,n=16,產(chǎn)生10kHz正弦信號時定時器初值應(yīng)設(shè)置為:
216-22.118400MHz/12×1/100Hz×1/16=64384
DAC0輸出的是0~2.4V的正極性正弦信號,為驅(qū)動旋轉(zhuǎn)變壓器,需要雙極性的激磁電壓,且2.4V的電壓幅度不足以使旋轉(zhuǎn)變壓器產(chǎn)生較大的感應(yīng)電壓,因此,需對DAC0輸出信號進行調(diào)理,調(diào)理電路如圖2所示,采用集成運放LM324N作為放大器,為便于調(diào)節(jié),達到合適的電壓增益,使用量程為100kΩ的可變電阻R3,改變R3阻值可適應(yīng)不同增益要求。電容C3為隔直電容,C1用于濾去高頻噪聲。后級放大電路采用乙類雙電源互補對稱功率放大電路。C4、C5為去耦電容,二極管D1、D2用于克服交越失真。
1.2.2 輸入調(diào)理電路設(shè)計及A/D轉(zhuǎn)換模塊
C8051F021芯片內(nèi)有一個完全由CIP-51通過特殊功能寄存器控制的片內(nèi)12位SAR ADC(ADC0),一個9通道輸入多路選擇開關(guān)和可編程增益放大器。9個有一個輸入通道被連到內(nèi)部溫度傳感器,其他8個通道接外部輸入且每一對都可被配置為兩個單端輸入或一個差分輸入。
旋轉(zhuǎn)變壓器輸出正弦和余弦兩路信號,因此,雙通道旋轉(zhuǎn)變壓器將輸出四路信號。本設(shè)計中采用單端輸入方式,將AIN0.0-AIN0.3四個端口作為單端輸入口。ADC0的工作電壓選擇為0~2.4V,而旋轉(zhuǎn)變壓器輸出的是雙極性電壓,因此,需對其調(diào)理,使其成為范圍為0~2.4V的正極性電壓信號,以滿足ADC采樣要求。調(diào)理電路如圖3所示。運放U2輸出一個負極性穩(wěn)定電壓,輸入信號與之疊加后變?yōu)樨摌O性信號,經(jīng)運放U1反相放大調(diào)理至0~2.4V。二極管D1和D2為穩(wěn)壓二極管。
2 軟件設(shè)計
軟件由主模塊、激磁信號產(chǎn)生、雙通道角度信號采集轉(zhuǎn)儲、雙通道角度計算與糾錯及鍵盤顯示5個模塊組成。
2.1 激磁信號產(chǎn)生模塊
通過查正弦函數(shù)表的方法,經(jīng)過D/A轉(zhuǎn)換成模擬量而輸出正弦波。其波形的頻率可以通過改變定時器的初值,即改變查表輸出的時間來控制。
T3中斷服務(wù)響應(yīng)后,軟件先清除中斷標志,按次序輸出正弦表數(shù)據(jù)給DAC0。由DAC0輸出模擬的激磁信號。當(dāng)數(shù)據(jù)表指針指向正弦波波峰時,啟動一次ADC0采樣。
2.2 雙通道角度計算與糾錯模塊
在實際應(yīng)用中,快速準確確定粗、精機的讀數(shù)是十分關(guān)鍵的,本設(shè)計中,通過采集由旋轉(zhuǎn)變壓器輸出的正余弦值來算出當(dāng)前的角度,計算的整體思想是先確定角度的卦限,然后根據(jù)正余弦值之商(即正切)來匹配角度值。將圓均分為八個卦限,沿逆時針方向依次編號為I、Ⅱ……Ⅷ。
為得到真實軸角D,需解決兩個問題:(1)確定D所處卦限(解決大范圍問題);(2)確定D在各卦限中的角度θ是多少(解決小角度問題),本設(shè)計中,θ為真實軸角D偏離0°、90°、180°、270°、360°線的角度。真實軸角D在各卦限與θ關(guān)系如下表所示:
具體計算流程如圖4所示。
依此法可分別求得DC與Dj,經(jīng)組合即可求得真實軸角值。
當(dāng)待測角度小于0°或大于360°時,可將其加上或減去360°轉(zhuǎn)化為0°~360°間的角度。
糾錯程序流程如圖5所示。
3 系統(tǒng)測試
3.1 實驗測量
利用該裝置,測得數(shù)據(jù)如表1所示:
從表中可看出,測量值與真實值的誤差控制在0.05°以內(nèi),表明裝置具有較高精度。
3.2 糾錯檢測
選取易出錯的特殊角度(0°、90°、180°、270°),通過轉(zhuǎn)動旋轉(zhuǎn)變壓器,對其進行糾錯檢測,情況如表2所示。
從表中可看出,對各個角度而言,無論出錯情況是“超前”還是“滯后”,結(jié)果誤差始終控制在0.05°以內(nèi),說明該裝置具有較好的糾錯能力。
4 結(jié)束語
本文設(shè)計了1:32雙通道軸角測量實驗裝置,給出了軟硬件實現(xiàn),若應(yīng)用于其他轉(zhuǎn)速比的系統(tǒng)中,只需更改算法中相應(yīng)部分的具體數(shù)值即可,因此方法具有普遍意義。由于充分利用了C8051F021內(nèi)部集成的DAC、ADC等功能部件,硬件電路結(jié)構(gòu)簡單;程序采用模塊化設(shè)計,條理清晰,可移植性強;系統(tǒng)運行穩(wěn)定,測試結(jié)果可靠性高。文中采用的實現(xiàn)方法貼近實際,利于學(xué)習(xí)掌握測角原理,解決了實驗教學(xué)需要,對實驗教學(xué)和產(chǎn)品的進一步研發(fā)有很好的參考價值。
評論