《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于C8051F021的雙通道軸角測(cè)量實(shí)驗(yàn)裝置的設(shè)計(jì)
基于C8051F021的雙通道軸角測(cè)量實(shí)驗(yàn)裝置的設(shè)計(jì)
國(guó)外電子測(cè)量技術(shù) 海軍航空工程學(xué)院 顏驥 王昌金 周立軍
摘要: 現(xiàn)代電子技術(shù)的進(jìn)步不斷推動(dòng)數(shù)字伺服系統(tǒng)的發(fā)展,,人們對(duì)位置角度測(cè)量提出了越來(lái)越高的要求。軸角轉(zhuǎn)換裝置旋轉(zhuǎn)變壓器以其高精度,、抗震動(dòng),、高可靠性著稱,,在工業(yè)控制和武器控制系統(tǒng)等設(shè)備中應(yīng)用廣泛,。為了促進(jìn)學(xué)員對(duì)旋轉(zhuǎn)變壓器角度轉(zhuǎn)換,、測(cè)量和通過(guò)雙通道粗精組合提高測(cè)量角度精度的原理和技術(shù)的掌握,,在不需要復(fù)雜的外圍設(shè)備情況下,,利用C8051F021混合型芯片內(nèi)置的集成12位ADC與DAC,,方便的實(shí)現(xiàn)激勵(lì)信號(hào)產(chǎn)生、正余弦信號(hào)測(cè)量,、軸角計(jì)算,,同時(shí),C8051F021對(duì)C語(yǔ)言編程有較好的支持能力,,利用C語(yǔ)言編程,,可以方便的實(shí)現(xiàn)程控?;诖?,設(shè)計(jì)本實(shí)驗(yàn)裝置。
Abstract:
Key words :

      現(xiàn)代電子技術(shù)的進(jìn)步不斷推動(dòng)數(shù)字伺服系統(tǒng)的發(fā)展,,人們對(duì)位置角度測(cè)量提出了越來(lái)越高的要求,。軸角轉(zhuǎn)換裝置旋轉(zhuǎn)變壓器以其高精度、抗震動(dòng),、高可靠性著稱,,在工業(yè)控制和武器控制系統(tǒng)等設(shè)備中應(yīng)用廣泛。為了促進(jìn)學(xué)員對(duì)旋轉(zhuǎn)變壓器角度轉(zhuǎn)換,、測(cè)量和通過(guò)雙通道粗精組合提高測(cè)量角度精度的原理和技術(shù)的掌握,,在不需要復(fù)雜的外圍設(shè)備情況下,利用C8051F021混合型芯片內(nèi)置的集成12位ADC與DAC,,方便的實(shí)現(xiàn)激勵(lì)信號(hào)產(chǎn)生,、正余弦信號(hào)測(cè)量、軸角計(jì)算,,同時(shí),,C8051F021對(duì)C語(yǔ)言編程有較好的支持能力,利用C語(yǔ)言編程,,可以方便的實(shí)現(xiàn)程控?;诖?,設(shè)計(jì)本實(shí)驗(yàn)裝置。

     1 系統(tǒng)設(shè)計(jì)
  1.1 系統(tǒng)原理與結(jié)構(gòu)
  為了讓裝置能自動(dòng)完成測(cè)量軸角任務(wù),利用C8051F021混合型單片機(jī)產(chǎn)生驅(qū)動(dòng)旋轉(zhuǎn)變壓器的激磁信號(hào)并測(cè)量旋轉(zhuǎn)變壓器輸出的正余弦信號(hào),,根據(jù)信號(hào)幅值和相位計(jì)算旋轉(zhuǎn)角度,,通過(guò)應(yīng)用粗精雙通道卦限判別和組合糾錯(cuò)技術(shù)提高測(cè)量角度精度,最后將組合后的結(jié)果作為真實(shí)值由LCD顯示,??傮w設(shè)計(jì)框架圖如圖1所示:
  雙通道旋轉(zhuǎn)變壓器作為軸角測(cè)量元件,一般與轉(zhuǎn)軸同軸安裝,,它相當(dāng)于一臺(tái)的1:1旋轉(zhuǎn)變壓器和一臺(tái)1:n的旋轉(zhuǎn)變壓器的結(jié)合體,。當(dāng)粗級(jí)旋變轉(zhuǎn)過(guò)1圈時(shí),精級(jí)旋變則轉(zhuǎn)過(guò)n圈,,精級(jí)的1圈(360°)表示真實(shí)軸角角度的1個(gè)360°/n,。數(shù)據(jù)組合時(shí),由粗級(jí)數(shù)據(jù)計(jì)算真實(shí)軸角所在區(qū)間,,由精級(jí)數(shù)據(jù)計(jì)算出該區(qū)間的精確值,,粗精組合后得到軸角的真實(shí)值.理想情況下數(shù)據(jù)組合公式為:
 
D=INT[Dc/(360°/n)]×(360°/n)+(Dj/n)
 
  式中:D為軸角的真實(shí)值;Dc為粗級(jí)數(shù)據(jù),;Dj為精級(jí)數(shù)據(jù),。設(shè)D=INT[θc/(360°/n)],則有0≤i≤n,,i表示真實(shí)軸角落入第i個(gè)區(qū)間,。在本設(shè)計(jì)中采用1:32的轉(zhuǎn)速比。
 
  將O°~360°劃分為32個(gè)區(qū)間,,每個(gè)區(qū)間為11.25°,。真實(shí)軸角D落入哪個(gè)區(qū)間,可用esc(粗級(jí)正弦輸出),、ecc(粗級(jí)余弦輸出)計(jì)算出Dc來(lái)得到,。而后再用esj(精級(jí)正弦輸出)、ecj(精級(jí)余弦輸出)計(jì)算出Dc得到落入該區(qū)間的精確值(具體計(jì)算方法將在軟件設(shè)計(jì)部分給出),。由此,,本設(shè)計(jì)中的數(shù)據(jù)組合公式可寫成如下形式:
 
D=INT[Dc/(11.25)]×(11.25)+(Dj/32)
 
  上述的粗精級(jí)軸角組合原理是建立在粗讀數(shù)整數(shù)部分不能有差錯(cuò)的基礎(chǔ)上的,而實(shí)際中由于傳感器誤差,、工藝因素等往往導(dǎo)致得不到粗,、精級(jí)的理想配合:當(dāng)Dj在兩個(gè)區(qū)間的上(下)邊界附近時(shí),會(huì)出現(xiàn)粗級(jí)讀整數(shù)與真實(shí)軸角D所在區(qū)間多“1”或者少“1”(“1”即360°/n,,本設(shè)計(jì)中“1”為11.25°)的大角度的誤差,,且這種誤差是原理性誤差,是粗精級(jí)組合系統(tǒng)中粗讀整數(shù)不可避免的誤差,,依靠提高器件及電路精度來(lái)達(dá)到絕對(duì)避免這種誤差是不可能的(只會(huì)減少產(chǎn)生這種差錯(cuò)的機(jī)率),。但可利用軟件的方法來(lái)排除該誤差:采用一個(gè)循環(huán)和一個(gè)糾錯(cuò)判決條件來(lái)實(shí)現(xiàn)糾錯(cuò),判決條件的基準(zhǔn)值η由裝置的測(cè)量精度決定,它是裝置糾錯(cuò)能力的具體表示,。本設(shè)計(jì)中取粗級(jí)單個(gè)區(qū)間長(zhǎng)度的一半作為基準(zhǔn)值,,即此時(shí)η=6.125°。實(shí)現(xiàn)過(guò)程將在軟件設(shè)計(jì)中給出,。
 
  1.2 關(guān)鍵電路設(shè)計(jì)

  1.2.1 激磁信號(hào)產(chǎn)生及調(diào)理電路設(shè)計(jì)
 
  通過(guò)查正弦函數(shù)表的方法,,經(jīng)過(guò)D/A轉(zhuǎn)換成模擬量而輸出正弦波。其波形的頻率可以通過(guò)改變定時(shí)器的初值,,即改變查表輸出的時(shí)間來(lái)控制,。采用n位D/A轉(zhuǎn)換器產(chǎn)生幅度為0~2n的m點(diǎn)正弦信號(hào),其函數(shù)表可通過(guò)如下公式計(jì)算:
 
D/A輸入=sin(2πj/m)×2n-1+2n-1 j="0",,1,,2…2m
 
  本設(shè)計(jì)采用C8051F021的12位D/A轉(zhuǎn)換器產(chǎn)生16點(diǎn)正弦信號(hào),利用如下公式計(jì)算:
 
D/A輸入=sin(2πj/16)×2048+2048 j="0",,1,,2…32
 
  可計(jì)算得到的16項(xiàng)16位二進(jìn)制數(shù)結(jié)果,以32個(gè)8位二進(jìn)制數(shù)的形式存放在code段(ROM中)具有32項(xiàng)的一維數(shù)組SINE_TABLE[32]中,,每2項(xiàng)合成一個(gè)16位數(shù),,取低12位送D/A轉(zhuǎn)換器進(jìn)行D/A轉(zhuǎn)換。
 
  設(shè)系統(tǒng)振蕩頻率為f0,,要產(chǎn)生頻率為-廠的正弦信號(hào),,n位定時(shí)器的初值可按如下公式計(jì)算:
 
初值=2n-f0/12×1/100Hz×1/n
 
  本設(shè)計(jì)中,C8051F021的系統(tǒng)振蕩頻率f0=22.11840O MHz,,n=16,,產(chǎn)生10kHz正弦信號(hào)時(shí)定時(shí)器初值應(yīng)設(shè)置為:
 
216-22.118400MHz/12×1/100Hz×1/16=64384
 
  DAC0輸出的是0~2.4V的正極性正弦信號(hào),為驅(qū)動(dòng)旋轉(zhuǎn)變壓器,,需要雙極性的激磁電壓,,且2.4V的電壓幅度不足以使旋轉(zhuǎn)變壓器產(chǎn)生較大的感應(yīng)電壓,因此,,需對(duì)DAC0輸出信號(hào)進(jìn)行調(diào)理,,調(diào)理電路如圖2所示,采用集成運(yùn)放LM324N作為放大器,,為便于調(diào)節(jié),,達(dá)到合適的電壓增益,使用量程為100kΩ的可變電阻R3,,改變R3阻值可適應(yīng)不同增益要求,。電容C3為隔直電容,C1用于濾去高頻噪聲,。后級(jí)放大電路采用乙類雙電源互補(bǔ)對(duì)稱功率放大電路,。C4,、C5為去耦電容,二極管D1,、D2用于克服交越失真。 
 

1.2.2 輸入調(diào)理電路設(shè)計(jì)及A/D轉(zhuǎn)換模塊

  C8051F021芯片內(nèi)有一個(gè)完全由CIP-51通過(guò)特殊功能寄存器控制的片內(nèi)12位SAR ADC (ADC0),,一個(gè)9通道輸入多路選擇開(kāi)關(guān)和可編程增益放大器,。9個(gè)有一個(gè)輸入通道被連到內(nèi)部溫度傳感器度,其他8個(gè)通道接外部輸入且每一對(duì)都可被配置為兩個(gè)單端輸入或一個(gè)差分輸入,。

  旋轉(zhuǎn)變壓器輸出正弦和余弦兩路信號(hào),,因此,雙通道旋轉(zhuǎn)變壓器將輸出四路信號(hào),。本設(shè)計(jì)中采用單端輸入方式,,將AIN0.0-AIN0.3四個(gè)端口作為單端輸入口。ADC0的工作電壓選擇為0~2.4V,,而旋轉(zhuǎn)變壓器輸出的是雙極性電壓,,因此,需對(duì)其調(diào)理,,使其成為范圍為0~2.4V的正極性電壓信號(hào),,以滿足ADC采樣要求。調(diào)理電路如圖3所示,。運(yùn)放U2輸出一個(gè)負(fù)極性穩(wěn)定電壓,,輸入信號(hào)與之疊加后變?yōu)樨?fù)極性信號(hào),經(jīng)運(yùn)放U1反相放大調(diào)理至0~2.4V,。二極管D1和D2為穩(wěn)壓二極管,。

  2 軟件設(shè)計(jì)

  軟件由主模塊、激磁信號(hào)產(chǎn)生,、雙通道角度信號(hào)采集轉(zhuǎn)儲(chǔ),、雙通道角度計(jì)算與糾錯(cuò)及鍵盤顯示5個(gè)模塊組成。

  2.1 激磁信號(hào)產(chǎn)生模塊

  通過(guò)查正弦函數(shù)表的方法,,經(jīng)過(guò)D/A轉(zhuǎn)換成模擬量而輸出正弦波,。其波形的頻率可以通過(guò)改變定時(shí)器的初值,即改變查表輸出的時(shí)間來(lái)控制,。

  T3中斷服務(wù)響應(yīng)后,,軟件先清除中斷標(biāo)志,按次序輸出正弦表數(shù)據(jù)給DAC0,。由DAC0輸出模擬的激磁信號(hào),。當(dāng)數(shù)據(jù)表指針指向正弦波波峰時(shí),啟動(dòng)一次ADC0采樣,。

  2.2 雙通道角度計(jì)算與糾錯(cuò)模塊

  在實(shí)際應(yīng)用中,,快速準(zhǔn)確確定粗,、精機(jī)的讀數(shù)是十分關(guān)鍵的,本設(shè)計(jì)中,,通過(guò)采集由旋轉(zhuǎn)變壓器輸出的正余弦值來(lái)算出當(dāng)前的角度,,計(jì)算的整體思想是先確定角度的卦限,然后根據(jù)正余弦值之商(即正切)來(lái)匹配角度值,。將圓均分為八個(gè)卦限,,沿逆時(shí)針?lè)较蛞来尉幪?hào)為I、Ⅱ……Ⅷ,。

  為得到真實(shí)軸角D,,需解決兩個(gè)問(wèn)題:(1)確定D所處卦限(解決大范圍問(wèn)題);(2)確定D在各卦限中的角度θ是多少(解決小角度問(wèn)題),,本設(shè)計(jì)中,,θ為真實(shí)軸角D偏離0°、90°,、180°,、270°、360°線的角度,。真實(shí)軸角D在各卦限與θ關(guān)系如下表所示:

  具體計(jì)算流程如圖4所示,。

  依此法可分別求得DC與Dj,經(jīng)組合即可求得真實(shí)軸角值,。

  當(dāng)待測(cè)角度小于0°或大于360°時(shí),,可將其加上或減去360°轉(zhuǎn)化為0°~360°間的角度。

  糾錯(cuò)程序流程如圖5所示,。

  3 系統(tǒng)測(cè)試

  3.1 實(shí)驗(yàn)測(cè)量

  利用該裝置,,測(cè)得數(shù)據(jù)如表1所示:

  從表中可看出,測(cè)量值與真實(shí)值的誤差控制在0.05°以內(nèi),,表明裝置具有較高精度,。

  3.2 糾錯(cuò)檢測(cè)

  選取易出錯(cuò)的特殊角度(0°、90°,、180°,、270°),通過(guò)轉(zhuǎn)動(dòng)旋轉(zhuǎn)變壓器,,對(duì)其進(jìn)行糾錯(cuò)檢測(cè),,情況如表2所示。

  從表中可看出,,對(duì)各個(gè)角度而言,,無(wú)論出錯(cuò)情況是“超前”還是“滯后”,結(jié)果誤差始終控制在0.05°以內(nèi),,說(shuō)明該裝置具有較好的糾錯(cuò)能力,。

  4 結(jié)束語(yǔ)

  本文設(shè)計(jì)了1:32雙通道軸角測(cè)量實(shí)驗(yàn)裝置,,給出了軟硬件實(shí)現(xiàn),若應(yīng)用于其他轉(zhuǎn)速比的系統(tǒng)中,,只需更改算法中相應(yīng)部分的具體數(shù)值即可,,因此方法具有普遍意義。由于充分利用了C8051F021內(nèi)部集成的DAC,、ADC等功能部件,,硬件電路結(jié)構(gòu)簡(jiǎn)單;程序采用模塊化設(shè)計(jì),,條理清晰,可移植性強(qiáng),;系統(tǒng)運(yùn)行穩(wěn)定,,測(cè)試結(jié)果可靠性高。文中采用的實(shí)現(xiàn)方法貼近實(shí)際,,利于學(xué)習(xí)掌握測(cè)角原理,,解決了實(shí)驗(yàn)教學(xué)需要,對(duì)實(shí)驗(yàn)教學(xué)和產(chǎn)品的進(jìn)一步研發(fā)有很好的參考價(jià)值,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。