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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于單片機與旋轉(zhuǎn)編碼器的閉環(huán)線速度控制系統(tǒng)

          基于單片機與旋轉(zhuǎn)編碼器的閉環(huán)線速度控制系統(tǒng)

          作者: 時間:2010-10-12 來源:網(wǎng)絡(luò) 收藏

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

            工作時,當(dāng)收線電機帶動電纜運動時,帶動的主動輪,從而旋轉(zhuǎn),輸出脈沖。該脈沖送入光電耦合器,進行隔離、整形、電平轉(zhuǎn)換,送給AT89C51的12腳,外部中斷INTO進行脈沖計數(shù)。每接收到一個脈沖,執(zhí)行外部中斷INT0子程序一次,脈沖計數(shù)存儲器加1。例如,每間隔1 s讀取一次,從而可以根據(jù)計數(shù)脈沖的個數(shù),與標準脈沖數(shù)比較,因此,可以判斷當(dāng)前線的大小。

            線的計算方法如下:

            例如,要求線V為0.1 m/s。

            旋轉(zhuǎn)每秒輸出脈沖數(shù)=V·Np/C

            其中:C為旋轉(zhuǎn)編碼器主動輪周長(單位:m)。所以,線速度為O.1 m/s時,旋轉(zhuǎn)編碼器每秒輸出標準脈沖數(shù)=0.1×1000/0.5=200個/s。

            3 軟件設(shè)計

            在定時器中斷中運行,在計時子程序中,每秒執(zhí)行一次。即查詢每秒收到的脈沖數(shù)是否與標準脈沖相同。該線速度控制子程序如圖3所示。

            

          線速度控制子程序 www.elecfans.com

            首先,讀脈沖計數(shù)存儲器的數(shù)值,與標準脈沖數(shù)比較,等于標準脈沖,脈沖計數(shù)存儲器數(shù)值清零,說明此時走線速度等于標準速度;若大于標準脈沖數(shù),說明線速度大于標準線速度,因此,必須使調(diào)速器給定值減1,使得收線電機轉(zhuǎn)速減低;若小于標準脈沖數(shù),說明線速度小于標準線速度,必須使調(diào)速器給定值加1,使得收線電機轉(zhuǎn)速增加,從而形成閉速度控制反饋系統(tǒng),控制收線電機旋轉(zhuǎn)速度,使得線速度保持恒定。

            4 結(jié)語

            根據(jù)電纜成纜機的工藝要求,設(shè)計了與旋轉(zhuǎn)編碼器組成的閉速度,并給出了主要控制程序的設(shè)計方法。還可以通過軟件實現(xiàn)線纜走線長度的檢測以及運行時間的計算等功能,并通過顯示屏顯示出來。上述線速度已成功應(yīng)用在實際的技術(shù)改造中,為企業(yè)節(jié)約了近百萬元的技術(shù)改造資金。結(jié)果表明,該系統(tǒng)具有運行穩(wěn)定可靠、電路簡單、測量精度較高、成本低等特點,完全滿足電纜生產(chǎn)工藝要求,其簡潔的電路設(shè)計和典型的控制方法具有較高的參考價值。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(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); })();