<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的三坐標(biāo)測(cè)量機(jī)電機(jī)控制系統(tǒng)

          基于FPGA的三坐標(biāo)測(cè)量機(jī)電機(jī)控制系統(tǒng)

          作者: 時(shí)間:2017-02-27 來(lái)源:網(wǎng)絡(luò) 收藏

          1、控制系統(tǒng)概述

          本文引用地址:http://www.ex-cimer.com/article/201702/338798.htm

          隨著工業(yè)的發(fā)展,三坐標(biāo)測(cè)量機(jī)越來(lái)越顯示出其重要作用。而電機(jī)控制系統(tǒng)對(duì)三坐標(biāo)測(cè)量機(jī)的運(yùn)行有著非常重要的作用。由于FPGA可以現(xiàn)場(chǎng)可編程,可以實(shí)現(xiàn)專(zhuān)用集成電路,能滿(mǎn)足片上系統(tǒng)設(shè)計(jì)(SOC)的要求,使其日益成為系統(tǒng)的關(guān)鍵部件。[1]本文介紹一種基于FPGA的電機(jī)控制系統(tǒng),用于控制三坐標(biāo)測(cè)量機(jī)電機(jī)運(yùn)行。

          系統(tǒng)主要由PC機(jī)、控制電路、驅(qū)動(dòng)器[2]和電機(jī)組成。系統(tǒng)結(jié)構(gòu)圖見(jiàn)圖1。

          其中PC機(jī),由VC++實(shí)現(xiàn)用戶(hù)界面,發(fā)出的命令由FPGA進(jìn)行接收和緩存,單片機(jī)進(jìn)行分析處理產(chǎn)生控制命令,控制命令再經(jīng)過(guò)FPGA傳入驅(qū)動(dòng)器,控制電機(jī)運(yùn)行。同時(shí)電機(jī)狀態(tài)信息反饋回PC機(jī),用于人機(jī)交互。系統(tǒng)中FPGA選用的是Altera公司的Cyclone系列。

          2、系統(tǒng)功能實(shí)現(xiàn)

          下面分別介紹FPGA實(shí)現(xiàn)電機(jī)控制功能的幾個(gè)重要部分。

          2.1編碼器進(jìn)行速度、位移量測(cè)量的實(shí)現(xiàn)方法

          編碼器為傳感器類(lèi)的一種,主要用來(lái)偵測(cè)機(jī)械運(yùn)動(dòng)的速度、位置、角度、距離或計(jì)數(shù),在電機(jī)控制中用于換相、速度及位置的檢出,作用十分重要?!」怆娋幋a器具有分辨率高,響應(yīng)速度快,體積小,重量輕,耐惡劣環(huán)境等特點(diǎn),故常被用作高精度位置檢測(cè)傳感器。它的精度或分辨率主要決定于每轉(zhuǎn)輸出的脈沖數(shù)(對(duì)增量式編碼器而言)。根據(jù)控制需要,還可以利用倍頻技術(shù)來(lái)提高位置檢測(cè)精度。[5]本系統(tǒng)使用增量式編碼器即增量編碼盤(pán)。

          增量編碼盤(pán)輸出信號(hào)A和B具有90°的相位差。A和B的相位關(guān)系反映了被測(cè)對(duì)象的旋轉(zhuǎn)方向,若A超前于B,表明編碼器是順時(shí)針旋轉(zhuǎn)的,反之,編碼器為逆時(shí)針旋轉(zhuǎn)。當(dāng)增量編碼盤(pán)的細(xì)分?jǐn)?shù)為N時(shí),增量編碼盤(pán)的每一個(gè)脈沖代表的角位移為360°/N,A、B信號(hào)的頻率相同,頻率大小反映當(dāng)前電機(jī)速度,由這兩個(gè)信號(hào)就可得到電機(jī)轉(zhuǎn)向、轉(zhuǎn)角和轉(zhuǎn)速。[6]如圖2所示,在A和B的上升沿和下降沿計(jì)數(shù)器均做相應(yīng)變化,得到count脈沖,在FPGA中計(jì)數(shù),即可得到編碼器輸出的脈沖數(shù),經(jīng)過(guò)計(jì)算就可以得到電機(jī)一定時(shí)間內(nèi)實(shí)際走過(guò)的路程或者單位時(shí)間內(nèi)的速度。


          本系統(tǒng)主要在FPGA中編程實(shí)現(xiàn)對(duì)編碼器的硬件解碼。主要程序如下:

          if(shift_a==2’b01)
          begin
          if(b)
          cnt<=#2cnt-1’b1;
          else
          cnt<=#2cnt+1’b1;
          end
          elseif(shift_a==2’b10)
          begin
          if(b)
          cnt<=#2cnt+1’b1;
          else
          cnt<=#2cnt-1’b1;
          end
          elseif(shift_b==2’b01)
          begin
          if(a)
          cnt<=#2cnt+1’b1;
          else
          cnt<=#2cnt-1’b1;
          end
          elseif(shift_b==2’b10)
          begin
          if(a)
          cnt<=#2cnt-1’b1;
          else
          cnt<=#2cnt+1’b1;

          其中,cnt為十六位寄存器,shift_a=2’b01和shiftb=2’b01分別表示A和B出現(xiàn)上升沿,同理如果是等于2’b10則表示下降沿。電機(jī)編碼器硬件解碼程序仿真模擬后效果如圖3所示。圖中number為FPGA計(jì)算所得的編碼器輸出脈沖數(shù)。


          2.2脈沖控制實(shí)現(xiàn)運(yùn)動(dòng)過(guò)程

          利用脈沖控制電機(jī)速度即利用脈沖頻率決定電機(jī)速度。這種方法能夠得到較高的運(yùn)行精度,適用于三坐標(biāo)機(jī)電機(jī)控制系統(tǒng)。首先,上位機(jī)給定運(yùn)行速度,命令傳到單片機(jī),單片機(jī)進(jìn)行計(jì)算,獲得單位脈沖周期內(nèi)需要時(shí)鐘數(shù),再將數(shù)據(jù)傳入FPGA,由其相應(yīng)模塊處理。FPGA中相應(yīng)的處理模塊實(shí)現(xiàn)的基本原理是:根據(jù)單片機(jī)給出的時(shí)鐘數(shù)進(jìn)行判定。程序開(kāi)始運(yùn)行,開(kāi)始計(jì)數(shù)周期,時(shí)鐘數(shù)目不斷累加,當(dāng)累加數(shù)目到達(dá)單片機(jī)給定值的時(shí)候完成一個(gè)計(jì)數(shù)周期。然后計(jì)數(shù)器清零,重新開(kāi)始計(jì)數(shù),輸出信號(hào)狀態(tài)翻轉(zhuǎn)。程序如下所示:

          if(cnt>=currentSpd)
          begin
          puls<=~puls;
          cnt<=25’h1;
          end
          else
          cnt<=cnt+1’b1;
          其中cnt為計(jì)數(shù)器,currentSpd為單片機(jī)計(jì)算所得的時(shí)鐘數(shù),puls為輸出脈沖。電機(jī)運(yùn)動(dòng)加速的過(guò)程就是一個(gè)脈沖頻率逐漸加大的過(guò)程,也就是說(shuō)單位周期內(nèi)時(shí)鐘數(shù)量逐漸增加的過(guò)程。相應(yīng)的減速過(guò)程與之相反。勻速過(guò)程則是一個(gè)以給定頻率保持不變的運(yùn)動(dòng)過(guò)程。下圖便是一個(gè)勻速、減速的仿真結(jié)果。


          2.3限位和解除限位的方法

          最后講述限位及其解除方法。在電機(jī)控制過(guò)程中應(yīng)用限位是一種減少事故發(fā)生的有效方法。限位功能的實(shí)現(xiàn)需要由限位開(kāi)關(guān)實(shí)現(xiàn)。限位開(kāi)關(guān)按其檢測(cè)方式可分為接觸式(行程開(kāi)關(guān))和非接觸式(接近開(kāi)關(guān))。[7]本系統(tǒng)采用非接觸式。接近開(kāi)關(guān)式一種非接觸式檢測(cè),當(dāng)運(yùn)動(dòng)的金屬物體接近開(kāi)關(guān)的感應(yīng)面而達(dá)到動(dòng)作距離時(shí),便無(wú)接觸無(wú)壓力的自動(dòng)發(fā)出檢測(cè)信號(hào),用于驅(qū)動(dòng)器,也可以將其輸出信號(hào)送入控制單元,以控制系統(tǒng)動(dòng)作。[8]電機(jī)運(yùn)行過(guò)程中,如果運(yùn)動(dòng)軸到達(dá)限位開(kāi)關(guān),即產(chǎn)生限位信號(hào),信號(hào)傳到控制電路,F(xiàn)PGA接收限位信號(hào),做出處理后發(fā)出停止前進(jìn)信號(hào)傳給驅(qū)動(dòng)器,驅(qū)動(dòng)器控制電機(jī)停止,避免發(fā)生碰撞危險(xiǎn)。一旦出現(xiàn)限位,前進(jìn)命令即被禁止,電機(jī)只能帶動(dòng)運(yùn)行軸反方向運(yùn)行,在運(yùn)行軸反向運(yùn)動(dòng)同時(shí)單片機(jī)監(jiān)測(cè)FPGA測(cè)得編碼器反饋的位移值,如果判斷運(yùn)行軸反方向運(yùn)動(dòng)的位移值達(dá)到安全值,便認(rèn)定限位解除,電機(jī)運(yùn)行恢復(fù)正常狀態(tài)。
          3、總結(jié)
          本文較為詳細(xì)的介紹了一種基于FPGA的三坐標(biāo)測(cè)量機(jī)電機(jī)控制系統(tǒng)。實(shí)現(xiàn)了較為精確的電機(jī)運(yùn)行控制,實(shí)現(xiàn)了運(yùn)行狀態(tài)監(jiān)測(cè)和限位,運(yùn)行過(guò)程中遇到危險(xiǎn)時(shí)能夠及時(shí)停止,運(yùn)動(dòng)整體的安全性有了很大保障。



          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();