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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PSoC單片機的燃氣變頻輸配與精確計量實現(xiàn)

          基于PSoC單片機的燃氣變頻輸配與精確計量實現(xiàn)

          作者: 時間:2012-06-06 來源:網(wǎng)絡(luò) 收藏

          摘要:介紹了。從硬軟件設(shè)計的簡潔易用性、系統(tǒng)的穩(wěn)定可靠性、開發(fā)生產(chǎn)成本的低廉性等方面,重點闡述了測控體系的巨大優(yōu)勢。

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

          方面,以普通單板機/組成的大流量范圍的儀表和工控機的一器多控自動調(diào)速系統(tǒng)廣為應(yīng)用,有力地提高了計量精度并節(jié)約了大量的能源。但是用“單板機/單片機+外圍器件”計量燃氣,系統(tǒng)復(fù)雜,穩(wěn)定性差;用工控機變頻輸配燃氣,造成資源浪費。從提高系統(tǒng)穩(wěn)定可靠性、簡化硬軟件設(shè)計、降低產(chǎn)品成本等角度出發(fā),結(jié)合現(xiàn)代科學(xué)技術(shù)的發(fā)展,非常需要一種構(gòu)成系統(tǒng)簡單、靈活易用的器件,去改造上述兩個體系,并盡可能把它們合二為一。選用Cypress公司新近推出的一系列單片機進行上述技術(shù)改進,不僅可以很好達到預(yù)期目的,并且還可以有效提高系統(tǒng)測控的實時性能。

          1 PSoC單片機及其特點

          PSoC即Programmable System On Chip。Cypress公司的PSoC系列單片機CY8C25xxx/26xxx,片內(nèi)有一個高速內(nèi)核、Flash快速閃存和SRAM數(shù)據(jù)內(nèi)存,以及設(shè)計者可配置的模擬模塊和數(shù)字模塊:

          (1)CPU內(nèi)核,8位哈佛結(jié)構(gòu),速度可達24MHz;且含一乘加器MAC,能執(zhí)行帶符號8x8乘法和32位加法運算;

          (2)4~16KB片內(nèi)Flash閃存及256B SRAM,可通過串口在系統(tǒng)編程(1SSP)Flash閃存,F(xiàn)lash具有可加密保護功能;

          (3)12個PSoC模擬模塊可靈活配置成6~13位A/D轉(zhuǎn)換器、可編程增益放大器(PGA)、采樣保持功能、可編程濾波器、差分比較器、溫度傳感器等; PSoC系列單片機將傳統(tǒng)的單片機系統(tǒng)集成在一顆芯片里,用戶模擬和數(shù)字陣列的可配置性是其最大特點。

          (4)8個數(shù)字模塊可靈活配置成定時/計數(shù)器、脈寬調(diào)制器(PWM)、循環(huán)冗余校驗塊(CRC)、串行通信塊(UARTS或SPI)及復(fù)雜的時鐘源等;

          (5)4~44個通用I/O口,可編程為上/下拉輸出、集電極開路輸出、強輸出,可用作邊沿/電平觸發(fā)的中斷輸入或Smith觸發(fā)器TTL輸入;

          (6)專用的中斷控制器,2級中斷優(yōu)先級,中斷源:通用I/O、電源監(jiān)控單元、Sleep定時器、8個PSoC數(shù)字模塊和4個模擬列;

          (7)24/48MHz的片內(nèi)主振蕩器和32.768kHz片內(nèi)低速振蕩器;WatchDog/Sleep定時器、可編程的電源電壓檢測器、采樣抽取器、片內(nèi)電壓參考源等專用外設(shè);可選用的模塊端口(E2PROM、LCD、I2C等);

          (8)全靜態(tài)CMOS工藝,3~5.5V DC工作電壓,專用的開關(guān)式電壓泵,可使工作電壓降到1V,真正的高速低壓性能;

          (9)配套的低廉開發(fā)工具:在線仿真器、評估板和集成開發(fā)環(huán)境PSoC Designer,其PSoC Designer內(nèi)嵌匯編器、C編譯器、器件資源配置器和調(diào)試器。

          2 變頻輸配與大流量范圍計量的機理

          2.1 一器多控變頻燃氣輸配的機理

          燃氣輸配主要是維持氣源端的壓力。壓力不足時,逐步加開輸配機組,升高壓力到設(shè)定值;反之,壓力過高時,逐步減停機組,降低壓力到設(shè)定值。由于大功率交流電機反復(fù)啟停的巨大耗能和器件沖擊,所以引入了變頻調(diào)速器。為進一步降低成本,通常采用一臺變頻器控制多臺交流電機,即所謂的“一器多控”,其機理如下:加壓時,變頻啟動并加速一臺電機,達到最大速度時,壓力仍沒有增上來,則把這臺電機轉(zhuǎn)為工頻運行,轉(zhuǎn)而對下一臺電機

          做變頻啟動并加速,如此逐步變頻啟動加速并做工頻切換,直到把壓力提上來;反之,減壓時,則逐步做變頻切換并變頻減速停機,直到把壓力降到要求值。

          2.2 大流量范圍燃氣計量的機理

          孔板式差壓流量計在不變節(jié)流件開孔直徑下擴展量程比,主要是采用增設(shè)差壓量程切換單元的方法:在流量小、差壓低時,使用小差壓量程檢測計算;反之,使用大差壓量程檢測計算。檢測計量流程如圖1所示。圖1中參數(shù)T、P、△P、d、D、K、Z、η、β、ρ、ε、α0、rRe、M分別表示溫度、壓力、差壓、孔板開口直徑、計量管段直徑、介質(zhì)等熵指數(shù)、氣體壓縮系數(shù)、介質(zhì)粘度、d/D、密度、流速系數(shù)、流出系數(shù)、管道雷諾數(shù)、流量。

          3 PSoC單片機測控系統(tǒng)的構(gòu)建

          3.1 整體方案的設(shè)計

          整體設(shè)計方案如圖2所示,說明如下:

          (1)數(shù)據(jù)采集,采用1~5V的三通道11位A/D轉(zhuǎn)換器,擬定采樣率7.8ksps;壓力作頻繁采樣,以增強變頻輸配控制的實時性;差壓與溫度只在計量計算需要時采樣;

          (2)輸出通道,采用一8位D/A轉(zhuǎn)換器控制變頻器,若干工/變頻切換控制信號,一手動/自動變頻切換控制信號,D/A輸出為0~5V DC信號,切換控制信號具有驅(qū)動能力;

          (3)人機接口,使用日立HD44780LCD點陣模塊顯示狀態(tài)參數(shù)、報警種類及鍵盤操作等,使用一個6位A/D轉(zhuǎn)換器作鍵盤輸入識別以減少對I/O口的占用;

          (4)存儲關(guān)鍵性數(shù)據(jù),采用串行E2PROM;外界通信采用異步串行接口UART,并以此在系統(tǒng)串行編程ISSP;

          (5)使用乘加器加速CPU速度;使用看門狗保證程序正常運行;使用實時時鐘記錄流量或故障統(tǒng)計的時刻;使用定時器產(chǎn)生所需工/變頻切換時間和流量累計時間;使用OSC振蕩器產(chǎn)生系統(tǒng)時鐘等。

          上述方案,選用Cypress PSoC系列單片機,圖2中虛線部分均可由一片單片機實現(xiàn),這里選用CY8C26443(28Pin Dual inline);否則,采用普通單板機/單片機,則各個模塊均要設(shè)法構(gòu)造,還要考慮把它們設(shè)計連成一體。

          3.2 鍵盤輸入電路的設(shè)計

          鍵盤輸入,通過一I/O口,由一6位A/D轉(zhuǎn)換器識別。這里選用8個按鍵,用以實現(xiàn)參數(shù)輸入、時間核對、記錄查詢、通信等功能,電路如圖3所示。圖3所示各個電阻值,據(jù)A/D轉(zhuǎn)換特點和常用電阻規(guī)格系列確定。


          上一頁 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); })();