国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于TMS320F28335的絕對式光電編碼器驅動設計

2017-03-28 20:11李逸楠孫麗君孫鳳鳴王玉敬崔建飛
科技與創(chuàng)新 2017年5期
關鍵詞:差分編碼器讀數(shù)

李逸楠 孫麗君 孫鳳鳴 王玉敬 崔建飛

摘 要:設計了光電編碼器與TMS320F28335之間的接口電路,編程實現(xiàn)了SSI同步串行接口協(xié)議,以及實現(xiàn)了光電編碼器格雷碼位置信息的讀取并轉換為二進制碼參與后續(xù)位置控制運算。經(jīng)實驗驗證,通過TMS320F28335的GPIO讀取的編碼器位置信息準確,40 μs內(nèi)可完成一次25 bit的位置信息讀取,分辨力為5'16"。該系統(tǒng)適用于絕大部分需要監(jiān)測位移、角度、速度、角速度的場合,具有讀取速度快、精度高、價格低、適用范圍廣的優(yōu)點。

關鍵詞:TMS320F28335;光電編碼器;格雷碼;SSI同步串行接口

中圖分類號:TP273 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2017.05.023

在電機控制領域,如果需要精確控制負載的位置,就必須測得負載的當前位置,然后與目標位置進行比較,根據(jù)差值確定電機的控制策略。因此,準確地檢測出負載位置是一切控制手段的前提。光電編碼器是測量旋轉運動、角速度的傳感器,可與機械測量設備一起使用,例如絲杠,測量直線運動。應用領域包括電機、機床、印刷機、木工機器、紡織機器、機器人和運送設備以及各種測量、測試和檢驗設備。光電編碼器測得的位置信息通常通過SSI同步串行總線與控制器進行數(shù)據(jù)交換。TMS320F28335本身具有SPI同步串行總線接口,協(xié)議與SSI總線類似,但其數(shù)據(jù)寬度僅為16 bit,對于多圈數(shù)高精度的光電編碼器(通常為25 bit)無法直接連接使用。本文介紹了一種基于TMS320F28335的光電編碼器驅動方案,可以讀取任意數(shù)據(jù)長度的光電編碼器位置數(shù)據(jù),同時具有讀取速度快、精度高、價格低、適用范圍廣的優(yōu)點。

1 簡介

1.1 光電編碼器簡介

本系統(tǒng)采用了海德漢公司的EQN425絕對式光電編碼器,采用SSI接口。該編碼器為多圈式,讀出的位置信息為25 bit,其中高12位為圈數(shù),低13位為絕對位置,數(shù)據(jù)格式見表1.

編碼器采用28.5 V直流供電,編碼器通過一路差分信號接收輸入的CLOCK信號,在CLOCK信號的驅動下,通過一路差分信號輸出位置信息。提供了升序旋轉方向切換和置零接口,可以通過編程隨時切換。

1.2 TMS320F28335簡介

TMS320F28335是32位高性能浮點數(shù)字信號處理器,是近年美國TI公司推出的一種新產(chǎn)品。該芯片具有很強的信號處理及控制功能,具有單精度浮點運算單元和高精度PWM,與定點DSP相比增加了DMA功能,可將ADC轉換結果直接存入DSP的任一存儲空間,有外部存儲器擴展接口、看門狗和3個定時器,采集精度高,抗干擾能力強。運行頻率為150 MHz。

2 硬件接口設計

光電編碼器符合RS-485傳輸協(xié)議,采用差分信號進行傳輸。采用28335的GPIO55作為時鐘輸出,經(jīng)過ISO7221CD隔離,經(jīng)MAX490EESA轉換為光電編碼器可用的差分信號。在時鐘信號驅動下,光電編碼器的位置信息通過DATA+與DATA-輸入MAX490EESA轉換,經(jīng)隔離后輸入28335的GPIO56。28335的GPIO57作為升序旋轉方向切換控制輸出,GPIO58作為置零輸出。如有需要,可以與光電編碼器相應接口連接,如圖1所示。

3 軟件設計

首先進行GPIO55、GPIO56的初始化,代碼如下:

EALLOW; //Enable EALLOW

GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 0; //配置為基本輸入輸出功能,光電編碼器輸出時鐘

GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 0; //配置為基本輸入輸出功能,光電編碼器數(shù)據(jù)輸入

GpioCtrlRegs.GPBDIR.bit.GPIO55 = 1; //GOIO55方向為

輸出,編碼器輸出時鐘

GpioCtrlRegs.GPBDIR.bit.GPIO56 = 0; // GOIO56方向為輸入,編碼器數(shù)據(jù)輸入

EDIS; //Disable EALLOW

接著對GPIO55的輸出電平進行編程,模擬輸出時鐘時序,在下降沿之后讀取GPIO56的數(shù)據(jù),并進行數(shù)據(jù)的移位、拼接,得到光電編碼器輸出的格雷碼。代碼如下:

Uint32 m_Rec_Data_Gray = 0; // 光電編碼器輸出格雷碼

long int m_Rec_Data_Bin = 0; // 轉換之后的二進制碼

void Rec_SSIData(void)

{

Uint32 in_data = 0;

int i;

GpioDataRegs.GPBSET.bit.GPIO55 = 1; //拉高

DELAY_US(0.5); //延遲0.5 μs

GpioDataRegs.GPBCLEAR.bit.GPIO55 = 1; //置低

DELAY_US(0.5); //先發(fā)出一個下降沿,通知光電編碼器準備輸出數(shù)據(jù)

for(i=24;i>=0;i--) // 進入正式讀數(shù)循環(huán)。該型號光電編碼器為25位,因此進行25次循環(huán)

//讀數(shù)。如果其他光電編碼器位數(shù)不同,則可以改變循環(huán)次數(shù)。

{

GpioDataRegs.GPBSET.bit.GPIO55 = 1; //56 is high can read

DELAY_US(0.5);

GpioDataRegs.GPBCLEAR.bit.GPIO55 = 1; //56 is low

in_data=GpioDataRegs.GPBDAT.bit.GPIO56; //讀數(shù)

m_Rec_Data_Gray|=(in_data<

DELAY_US(0.5);

}

GpioDataRegs.GPBSET.bit.GPIO55 = 1; //56 is high, last high

m_Rec_Data_Bin = (long int)(GrayToDecimal(m_Rec_Data_Gray)); //轉換

}

其中,GrayToDecimal()函數(shù)為格雷碼轉換為二進制數(shù)函數(shù),代碼如下:

static Uint32 GrayToDecimal(Uint32 x)

{

Uint32 y;

y = x;

while (x>>=1)

{

y^=x;

}

return y;

}

4 試驗驗證

將上述硬件連接完畢,代碼燒錄完畢,上電。采用示波器觀察GPIO55與GPIO56信號波形,可以看到時鐘信號與數(shù)據(jù)信號如圖2所示。

在圖2中,波形1為讀出數(shù)據(jù),波形2為輸出時鐘信號。可以看到,輸出時鐘脈沖周期為1.4 μs,讀出25位數(shù)據(jù)用時40 μs,讀出的位置數(shù)據(jù)格雷碼為“1 0010 0101 1011 1011 0001 0110”,轉換成二進制碼為“1 1100 0110 1101 0010 0001 1101”,轉換為十進制數(shù)為29 807 133.在此基礎上,將光電編碼器旋轉一圈,讀數(shù)變?yōu)?9 811 229,相差4 096.該實驗表明此型號光電編碼器最小量化單位為360/4 096=0.088°,即分辨力為5'16"。需要注意的是,雖然此光電編碼器用戶手冊上說明讀出格雷碼的低13 bit為絕對位置值,但在實際使用中它并不能達到標稱的精度,相當于經(jīng)過格雷碼轉換為二進制之后,只有低12 bit代表了實際位置值。其量化精度比標稱值降低了一半。

5 結論

采用TMS320F28335作為控制核心,設計了硬件接口電路與驅動軟件,可以適用于任意數(shù)據(jù)寬度的光電編碼器位置信息的讀取。經(jīng)實驗驗證,光電編碼器旋轉一圈讀數(shù)變化4 096.該系統(tǒng)工作穩(wěn)定可靠,具有讀取速度快、精度高、價格低、適用范圍廣的優(yōu)點。

參考文獻

[1]徐丹,方超,張建祥,等.電動執(zhí)行機構中光電編碼器脈沖波形問題的研究[J].自動化應用,2011(12):67-69.

[2]羅長洲,陳良益,孫巖,等.一種新型光學編碼器[J].光學精密工程,2003(01):104-108.

[3]周志煒.基于FPGA的多路光電編碼器數(shù)據(jù)采集系統(tǒng)[D].哈爾濱:哈爾濱工業(yè)大學,2006.

[4]趙長海,萬秋華,王樹潔,等.21位光電編碼器數(shù)據(jù)處理系統(tǒng)[J].電子測量與儀器學報,2010(06):569-573.

[5]李振.一種SSI接口低成本實現(xiàn)方案[J].工業(yè)控制計算機,2011(01):61-62.

[6]金彧,金克一,許海洪.一種C8051F單片機讀取SSI信號的設計[J].電腦開發(fā)與應用,2014(09):67-69.

[7]任先文,王坤,張俊豐,等.基于TMS320F28335的SVPWM實現(xiàn)方法[J].電力電子技術,2010(07):76-78.

[8]姜洪訓.基于TMS320F28335的異步電機直接轉矩控制系統(tǒng)研究[J].黃石理工學院學報,2010(06):12-15.

[9]劉明.基于TMS320F28335的小型導航計算機系統(tǒng)設計[J].測控技術,2009(12):37-39.

[10]雷曉瑜,曹廣忠.TMS320F28335及其最小應用系統(tǒng)設計[J].電子設計工程,2009(01):91-95.

〔編輯:劉曉芳〕

猜你喜歡
差分編碼器讀數(shù)
一類分數(shù)階q-差分方程正解的存在性與不存在性(英文)
“0”的讀法和要領
一個求非線性差分方程所有多項式解的算法(英)
一類caputo分數(shù)階差分方程依賴于參數(shù)的正解存在和不存在性
編碼器反饋信號對變頻調(diào)速系統(tǒng)地影響
基于差分隱私的數(shù)據(jù)匿名化隱私保護方法
例談高中物理常見讀數(shù)問題
儀器工作原理決定了儀器的讀數(shù)規(guī)則
JPEG?。玻埃埃皹藴手校停丫幋a器的VLSI結構設計
游標卡尺讀數(shù)四步驟