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