• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于TMS320F28335的絕對(duì)式光電編碼器驅(qū)動(dòng)設(shè)計(jì)

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

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

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

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

      中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2017.05.023

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

      1 簡介

      1.1 光電編碼器簡介

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

      編碼器采用28.5 V直流供電,編碼器通過一路差分信號(hào)接收輸入的CLOCK信號(hào),在CLOCK信號(hào)的驅(qū)動(dòng)下,通過一路差分信號(hào)輸出位置信息。提供了升序旋轉(zhuǎn)方向切換和置零接口,可以通過編程隨時(shí)切換。

      1.2 TMS320F28335簡介

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

      2 硬件接口設(shè)計(jì)

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

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

      首先進(jìn)行GPIO55、GPIO56的初始化,代碼如下:

      EALLOW; //Enable EALLOW

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

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

      GpioCtrlRegs.GPBDIR.bit.GPIO55 = 1; //GOIO55方向?yàn)?/p>

      輸出,編碼器輸出時(shí)鐘

      GpioCtrlRegs.GPBDIR.bit.GPIO56 = 0; // GOIO56方向?yàn)檩斎?,編碼器數(shù)據(jù)輸入

      EDIS; //Disable EALLOW

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

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

      long int m_Rec_Data_Bin = 0; // 轉(zhuǎn)換之后的二進(jìn)制碼

      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ā)出一個(gè)下降沿,通知光電編碼器準(zhǔn)備輸出數(shù)據(jù)

      for(i=24;i>=0;i--) // 進(jìn)入正式讀數(shù)循環(huán)。該型號(hào)光電編碼器為25位,因此進(jìn)行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)); //轉(zhuǎn)換

      }

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

      static Uint32 GrayToDecimal(Uint32 x)

      {

      Uint32 y;

      y = x;

      while (x>>=1)

      {

      y^=x;

      }

      return y;

      }

      4 試驗(yàn)驗(yàn)證

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

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

      5 結(jié)論

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

      參考文獻(xiàn)

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

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

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

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

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

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

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

      [8]姜洪訓(xùn).基于TMS320F28335的異步電機(jī)直接轉(zhuǎn)矩控制系統(tǒng)研究[J].黃石理工學(xué)院學(xué)報(bào),2010(06):12-15.

      [9]劉明.基于TMS320F28335的小型導(dǎo)航計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2009(12):37-39.

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

      〔編輯:劉曉芳〕

      猜你喜歡
      讀數(shù)編碼器格雷
      基于FPGA的同步機(jī)軸角編碼器
      讀數(shù)
      中國公路(2017年19期)2018-01-23 03:06:36
      我們生活在格雷河畔
      讀數(shù)
      中國公路(2017年15期)2017-10-16 01:32:04
      讀數(shù)
      中國公路(2017年9期)2017-07-25 13:26:38
      讀數(shù)
      中國公路(2017年7期)2017-07-24 13:56:40
      基于PRBS檢測(cè)的8B/IOB編碼器設(shè)計(jì)
      氯吡格雷治療不穩(wěn)定型心絞痛臨床觀察
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:42:24
      《道林·格雷的畫像》中的心理解讀
      城市地理(2015年24期)2015-08-15 00:52:57
      吴江市| 莫力| 抚宁县| 桂平市| 鹿邑县| 成安县| 丰顺县| 田东县| 堆龙德庆县| 河源市| 博爱县| 凭祥市| 纳雍县| 通辽市| 紫云| 昂仁县| 新田县| 武邑县| 宝兴县| 太白县| 巴彦淖尔市| 天祝| 襄汾县| 聂荣县| 英超| 隆昌县| 和顺县| 佛坪县| 田阳县| 甘肃省| 博乐市| 常德市| 嫩江县| 怀化市| 丹阳市| 普陀区| 北辰区| 会昌县| 仁寿县| 大理市| 沭阳县|