• 
    

    
    

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

      ?

      STM32編碼器在光柵尺測(cè)速場(chǎng)合的實(shí)際應(yīng)用

      2013-04-29 08:30:41鄧軍
      科技創(chuàng)新與應(yīng)用 2013年8期
      關(guān)鍵詞:光柵尺

      鄧軍

      摘 要:STM32103F系列微控制器的定時(shí)器有一種特有工作模式——編碼器接口模式,此模式可以用來反饋馬達(dá)的實(shí)時(shí)轉(zhuǎn)子位置,測(cè)量馬達(dá)的轉(zhuǎn)速,也可以反饋光柵尺的實(shí)時(shí)位置,測(cè)量光柵頭的移動(dòng)速度,在工業(yè)控制場(chǎng)合,尤其是需要精確定位的壓機(jī)、機(jī)床等使用場(chǎng)合,有著非常實(shí)用的價(jià)值?,F(xiàn)以STM32103F微控制器與海德漢(HEIDENHAIN)光柵尺LS1378C為例,詳細(xì)介紹定時(shí)器的編碼器工作原理,以及雙定時(shí)器配合測(cè)速度的編程算法。

      關(guān)鍵詞:STM32編碼器;光柵尺;測(cè)速

      STM32103F系列是ST公司采用高性能的32位ARM Cortex-M3內(nèi)核,主要面向工業(yè)控制領(lǐng)域推出的微控制器芯片。通用定時(shí)器有以下幾種工作模式:計(jì)數(shù)器模式、輸入捕獲模式、輸出比較模式、PWM模式、單脈沖模式、編碼器接口模式。其中,編碼器接口模式是一種有別于其他通用ARM控制器以及DSP控制器的特有模式,此模式可以用來反饋馬達(dá)的實(shí)時(shí)轉(zhuǎn)子位置,測(cè)量馬達(dá)的轉(zhuǎn)速,也可以反饋光柵尺的實(shí)時(shí)位置,測(cè)量光柵頭的移動(dòng)速度,在工業(yè)控制場(chǎng)合,尤其是需要精確定位的壓機(jī)、機(jī)床等使用場(chǎng)合,有著非常實(shí)用的價(jià)值。

      光柵尺位移傳感器(簡(jiǎn)稱光柵尺),是利用光柵的光學(xué)原理工作的測(cè)量反饋裝置。光柵尺位移傳感器經(jīng)常應(yīng)用于機(jī)床與現(xiàn)在加工中心以及測(cè)量?jī)x器等方面,可用作直線位移或者角位移的檢測(cè)。其測(cè)量輸出的信號(hào)為數(shù)字脈沖,具有檢測(cè)范圍大,檢測(cè)精度高,響應(yīng)速度快的特點(diǎn)。例如,在數(shù)控機(jī)床中常用于對(duì)刀具和工件的坐標(biāo)進(jìn)行檢測(cè),來觀察和跟蹤走刀誤差,以起到一個(gè)補(bǔ)償?shù)毒叩倪\(yùn)動(dòng)誤差的作用。

      在這里需要說明的是,光柵尺只是一個(gè)反饋裝置,它可以將位移量和位移方向通過脈沖信號(hào)輸出的方式反饋出來,但它不能直接顯示出來,它還需要一個(gè)顯示裝置,比如通過CPLD來識(shí)別,或者本文中的微控制器STM32103F來識(shí)別。光柵尺的輸出信號(hào)為相位角相差90°的兩路方波信號(hào),如果A路超前B路90°,表示光柵尺在正向移動(dòng),反之,A路落后B路90°,表示反向移動(dòng)。這兩路方波信號(hào)都為差分信號(hào),需要經(jīng)過差分輸入芯片,比如TI的MC3486,轉(zhuǎn)化為TTL電平的方波之后,才能進(jìn)定時(shí)器的輸入引腳。此例中接入的是TIM3-CH1和TIM3-CH2兩個(gè)引腳。

      海德漢LS1378C為增量式直線光柵尺,量程220mm,信號(hào)周期1um,即一個(gè)方波對(duì)應(yīng)1um,經(jīng)后續(xù)電子設(shè)備進(jìn)行4分頻之后測(cè)量步距為0.25um。直觀來說,STM32103F識(shí)別到一個(gè)周期的方波脈沖,計(jì)數(shù)器增長(zhǎng)4次,表示光柵尺移動(dòng)了1um。

      此例中,定時(shí)器Timer3配置成編碼器接口模式,提供傳感器當(dāng)前實(shí)時(shí)位置的信息。另外再開一個(gè)定時(shí)器Timer2,配置成10ms的定時(shí)工作模式,讀取10ms之內(nèi)的位置之差,即可獲得動(dòng)態(tài)的信息,比如速度、加速度。

      這個(gè)算法思想的前提,也就是本文討論的核心,是10ms內(nèi)定時(shí)器3計(jì)數(shù)器不溢出,因?yàn)槎〞r(shí)器為16位,最大可計(jì)數(shù)的范圍為65535,如何保證10ms內(nèi)實(shí)際增長(zhǎng)的計(jì)數(shù)不超過這一最大值呢?我們通過計(jì)算來說明,比如已知光柵尺連接的機(jī)械運(yùn)動(dòng)部件的最大速度不可能超過1m/s,那么10ms內(nèi)走的位移量為10mm,10mm/0.25um=40000次計(jì)數(shù),40000小于65536,所以這一算法的前提成立。 如果運(yùn)動(dòng)部件的實(shí)際運(yùn)動(dòng)速度可能更快,那么把10ms定位改為5ms即可,以此類推,但定時(shí)間隔不可無限制縮小,以免加重CPU負(fù)荷。

      首先,初始化定時(shí)器Timer3為編碼器模式,同時(shí)在TI1和TI2邊沿計(jì)數(shù),PA口的6腳和7腳設(shè)置為浮空輸入,用來連接編碼器輸入信號(hào),定時(shí)器3計(jì)數(shù)周期Period設(shè)置為65535,預(yù)分頻數(shù)設(shè)置為零(不分頻)。

      接著,Timer2配置為10ms的定時(shí),計(jì)數(shù)周期Period設(shè)置為2000,預(yù)分頻數(shù)設(shè)置為360,向下計(jì)數(shù)模式。

      下面是編碼器讀取方法,在每次10ms定時(shí)調(diào)用此段:

      #define MAX_COUNT 30000//10ms內(nèi)不可能超過的計(jì)數(shù)器最大值

      #define ENCODER_TIM_PERIOD 65535//定時(shí)器的period值,最好比MAX_COUNT要大

      int16_t speed_max = 0; // 全局變量,統(tǒng)計(jì)瞬時(shí)速度最大值,需要在每次重新測(cè)量之前清零

      int32_t currentCount = 0; // 全局變量,計(jì)數(shù)器實(shí)時(shí)值,有正負(fù),總量程220mm對(duì)應(yīng)88萬個(gè)計(jì)數(shù),1um對(duì)應(yīng)4個(gè)計(jì)數(shù)

      currentCount除以4000,即為光柵尺當(dāng)前位置,單位為mm;

      speed_max為最大瞬時(shí)速度,單位為mm/s。

      結(jié)束語(yǔ)

      在實(shí)際的項(xiàng)目使用中,如果光柵尺移動(dòng)速度過快,超過了硬件反應(yīng)速度,可能導(dǎo)致脈沖丟失,顯示出一個(gè)錯(cuò)誤的位移量,這種錯(cuò)誤是不可接受的。為了避免超過光柵尺及硬件電路的極限處理能力,我們通過試驗(yàn)測(cè)出這一極限速度,并告知用戶,用戶可采用其他機(jī)械輔助的方法限制運(yùn)動(dòng)速度,在極限速度與生產(chǎn)效率之間找到一個(gè)合適的平衡點(diǎn),使光柵尺工作在正常狀態(tài)。如果實(shí)際生產(chǎn)中的最大瞬時(shí)移動(dòng)速度超過這一限制,將發(fā)出報(bào)警以示提醒。

      參考文獻(xiàn)

      [1]嵌入式系統(tǒng)及其應(yīng)用-基于Cortex-M3內(nèi)核和STM32F103微控制器的系統(tǒng)設(shè)計(jì)與開發(fā)[M].上海:同濟(jì)大學(xué)出版社,2011,5.

      猜你喜歡
      光柵尺
      光柵尺被動(dòng)隔振系統(tǒng)建模與仿真分析
      國(guó)產(chǎn)光柵尺在校直機(jī)設(shè)備上的應(yīng)用
      光柵尺在高精度數(shù)控機(jī)床中的重要性
      光柵尺在數(shù)控機(jī)床中的應(yīng)用
      HTC-250M車銑加工中心X軸下墜故障分析
      海德漢全新LIC 2100敞開式直線光柵尺
      森精機(jī)光柵尺的修理
      絕對(duì)式光柵尺的機(jī)械結(jié)構(gòu)設(shè)計(jì)
      增量式光柵尺指示光柵自動(dòng)粘接系統(tǒng)的設(shè)計(jì)
      光柵尺常見故障及處理實(shí)例
      札达县| 天门市| 鄂伦春自治旗| 津南区| 会泽县| 广宁县| 景泰县| 卓尼县| 和顺县| 苍南县| 保山市| 张家川| 澎湖县| 红河县| 梨树县| 三穗县| 滁州市| 兰州市| 永济市| 唐河县| 建湖县| 乌兰察布市| 郸城县| 宿州市| 青河县| 佛山市| 八宿县| 崇仁县| 汕尾市| 万荣县| 宁蒗| 遵化市| 惠安县| 平原县| 澄江县| 龙山县| 绥阳县| 海丰县| 忻州市| 灌阳县| 博乐市|