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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于89C51單片機的噴油校泵臺調速系統(tǒng)設計

          基于89C51單片機的噴油校泵臺調速系統(tǒng)設計

          作者: 時間:2009-04-28 來源:網絡 收藏
          1 引言
          燃油噴射的性能直接影響柴油機的工作過程和性能指標,是柴油機改善排放、降低油耗和提高性能的關鍵部分。傳統(tǒng)的內燃機車柴油校泵臺主要用于泵的磨合及性能試驗,其驅動部分采用晶閘管電磁轉差離合器無級,控制和顯示泵的主軸轉速。由于采用分離元件,測試靈敏度低,設定調整不方便且故障率高。目前,國外噴油校泵臺采用微機控制及數(shù)顯。為此,按國際標準采用了一種新型的校泵臺系統(tǒng),能夠實時控制主軸轉速測試和調節(jié),并將相關測量數(shù)據(jù)傳輸給上位PC機進行顯示,從而提高測試靈敏度。

          2 系統(tǒng)結構
          該系統(tǒng)采用轉速單閉環(huán)凋速系統(tǒng),如圖1所示。驅動電路由晶閘管和電機構成,而控制電路則由轉速給定、轉速反饋、比例一積分一微分(PID)調節(jié)器以及晶閘管脈沖觸發(fā)電路構成。
          圖1中實線框為硬件設計部分,主要完成功能。虛線框為軟件設計部分,主要完成轉速給定、轉速反饋、偏差信號的形成和PID運算。

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

          3 系統(tǒng)硬件電路設計
          系統(tǒng)硬件設計是以為核心,并配以必要的外圍設備,如數(shù)據(jù)采集、電氣接口、執(zhí)行機構、通信接口等電路,如圖2所示。選用3CT20/500型晶閘管,由于晶閘管工作于交流電路,不宜與微機直接相接,采用光電耦合器4N25隔離與輸出部分(晶閘管一電動機電路)。輸出部分的地線接地,而單片機系統(tǒng)的電源地線懸空,不能與交流電源的地線相接,以避免輸出部分電源變化對單片機電源的影響。
          使用反相7406作為4N25輸入端的驅動。電磁轉差離合器中的勵磁線圈采用帶續(xù)流二極管的晶閘管半波整流電路供電。勵磁線圈是電感性負載,線圈兩端并聯(lián)一只續(xù)流二極管VD6使電流平滑。調節(jié)觸發(fā)裝置采用單結管VBG7。為了實現(xiàn)操作機構的速度閉環(huán)控制,需要檢測主軸轉速。測速傳感器采用磁電式轉速傳感器。測速輪有120個齒,每轉過1個齒就在測速傳感器上感應一個脈沖信號。這樣,主軸每轉一周,產生120個脈沖,其表達式為:

          式中:P為測速傳感器每轉輸出的脈沖數(shù);T為規(guī)定時間;m1為轉速脈沖數(shù)。
          取8155的定時器/計數(shù)器工作于定時方式,定時時間為lO ms,其輸入端接1 MHz時鐘信號為計數(shù)頻率,輸出端接的中斷INT0申請端。89C51的定時器/計數(shù)器T1工作于計數(shù)方式,測速傳感器經整形后的脈沖輸入T1,當輸入信號發(fā)生負跳變,計數(shù)器加1。每當10 ms到,通過INT0申請中斷,在中斷處理程序中得到Tl計數(shù)值。計數(shù)值再乘以50,測出電機當前轉速。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();