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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STM32的工業(yè)循環(huán)水極化控制系統(tǒng)設計

          基于STM32的工業(yè)循環(huán)水極化控制系統(tǒng)設計

          作者: 時間:2016-11-18 來源:網(wǎng)絡 收藏
          0 引言

          工業(yè)生產(chǎn)中的循環(huán)水系統(tǒng)在運行中對淡水消耗非常大,同時,為防止工業(yè)設備結垢等現(xiàn)象,需要對循環(huán)水不斷添加各種化學藥劑,且需要不斷地排放污水、補充新鮮水,這樣既對水資源造成了很大的浪費又污染環(huán)境。鑒此,筆者設計了一種基于ARM的工業(yè)循環(huán)水極化控制系統(tǒng)。該系統(tǒng)通過極化場對水的極化作用[1],實現(xiàn)對工業(yè)循環(huán)水的處理功能,達到減少水資源消耗、避免使用化學藥劑、有效防止水資源污染的目的。

          1 系統(tǒng)總體設計方案

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

          基于ARM 的工業(yè)循環(huán)水極化控制系統(tǒng)采用ST公司的STM32F103微控制器作為主控制核心,由極化能量檢測電路實時檢測循環(huán)水水質(zhì)參數(shù),經(jīng)STM32F103運算處理后,由極化能量輸出電路調(diào)整極化能量的輸出,由LCD顯示電路實時顯示運行參數(shù)和設置參數(shù),由開關量輸入電路控制信號的輸入,運行數(shù)據(jù)保存在擴展RAM 中。該系統(tǒng)結構如圖1所示。

          圖1 基于ARM 的工業(yè)循環(huán)水極化控制系統(tǒng)結構

          2 系統(tǒng)硬件設計

          2.1 主控制器

          基于ARM 的工業(yè)循環(huán)水極化控制系統(tǒng)采用基于Cortex-M3內(nèi)核的32位增強型閃存微控制器STM32F103作為控制核心,具有高性能、低功耗、實時性好等特點[2]。STM32F103的工作頻率可達72 MHz,具有512 KB 的閃存以及64 KB 的SRAM,12位逐次逼近型ADC,可以單次、連續(xù)、掃描或間斷模式轉換;通道采樣時間可編程,總轉換時間可縮減到1 μs,并支持DMA 數(shù)據(jù)傳輸[3]。

          STM32F103可采用定時器觸發(fā)的同步注入模式,實現(xiàn)多路模擬信號的同步采樣;具有3個USART串行通信接口,內(nèi)置波特率發(fā)生器,發(fā)送與接收共用可編程波特率,達4.5Mbit/s;靈活的靜態(tài)存儲器控制器FSMC能夠通過同步或異步存儲器與16位PC卡接口相連,便于外擴存儲器和液晶顯示屏。

          2.2 極化能量輸出電路

          極化能量輸出電路將STM32F103 輸出的PWM 極化能量控制信號由硬件邏輯合成、隔離并放大后輸出驅動極化體,產(chǎn)生極化電場作用于循環(huán)水。如圖2所示,極化能量輸出電路由PWM 輸出邏輯控制、光電隔離、輸出驅動、能量提升及輸出組成。

            PWM 輸出邏輯控制由非門U1A~U1D和與非門U2、U4構成,PWM 有PWM0、PWM1、PWM2三路信號,另有CON輸出控制信號。3路PWM 輸出信號的周期完全相同,其中PWM0、PWM1兩路輸出占空比根據(jù)實際極化能量的運行需要進行調(diào)整,PWM 2為占空比為5?。埃?的PWM信號,與PWM0、PWM1_______一起控制N-MOS功率管Q1、Q2分別在1個周期的0~180°范圍內(nèi)和180°~360°范圍內(nèi)導通,確保Q1、Q2不同時輸出,有效避免輸出短路。

          圖2 極化能量輸出電路

           ?。校祝停?、PWM1、PWM2、L1位置點、L2位置點、極化輸出u的波形如圖3所示。

          圖3?。校祝停?、PWM1、PWM2、L1位置點、L2位置點、極化輸出u的波形

            為提高系統(tǒng)工作穩(wěn)定性和抗干擾能力,并實現(xiàn)輸出電平的轉換,設計U3、U5光電耦合器,實現(xiàn)輸出PWM 信號的隔離傳輸。R2與R3、R6與R7分別組成分壓電路,實現(xiàn)對Q1、Q2的驅動功能,R4、C1、R8、C2組成阻容吸收保護電路,用于吸收升壓變壓器原邊線圈通斷產(chǎn)生的瞬時高電壓脈沖[4],從而保護Q1、Q2。

          2.3 極化能量檢測電路

          極化能量檢測電路由采樣電路、有源濾波電路、信號放大和限幅保護電路組成,如圖4所示。R9、R10構成采樣電路。R9、R10選擇精密、低溫漂的線繞電阻,以保證系統(tǒng)在較寬溫度環(huán)境下工作時信號采集的穩(wěn)定、可靠。R11、C2、U6組成一階低通有源濾波電路,濾波器的截止頻率設計為45Hz,可有效濾除現(xiàn)場工頻50Hz干擾信號。限幅保護電路采用靜電釋放保護組件TVS,有效防止工業(yè)現(xiàn)場的大型電動機等設備啟停產(chǎn)生的高壓脈沖或信號超限而影響后級電路。

          圖4 極化能量檢測電路

          2.4?。蹋茫娘@示電路

          LCD顯示電路采用專用段式液晶顯示屏,顯示內(nèi)容包括設定極化值、極化能量運行值、授權運行時間等參數(shù)。LCD顯示由1片液晶驅動芯片HT1622完成,HT1622為一個32×8的LCD驅動器,內(nèi)置RC振蕩器,提供1/4偏壓、1/8COM 周期[5],通過一條串行數(shù)據(jù)線、讀、寫及片選控制信號與STM32F103連接,同時通過RS485通信接口由上位計算機或觸摸屏HMI實時顯示水質(zhì)參數(shù)及其它工作參數(shù)。

          3 系統(tǒng)軟件設計

          基于ARM 的極化控制系統(tǒng)軟件在KeiluVision4環(huán)境下開發(fā)[5]工業(yè)循環(huán)水,采用C語言編程、模塊化設計,主要程序模塊包括初始化模塊、極化能量數(shù)據(jù)采集模塊、定時數(shù)據(jù)采集及PID功能運算模塊、LCD顯示驅動模塊、保護功能模塊?! ?/p>

          主程序的主要功能是完成I/O引腳配置、定時器工作模式和常數(shù)配置、串行口工作模式和啟動控制、PWM 工作模式、中斷源初始化及系統(tǒng)參數(shù)設置;LCD顯示驅動模塊實現(xiàn)參數(shù)的數(shù)據(jù)變換和顯示功能,包括驅動芯片的初始化、顯示位分離、轉換顯示字型碼、寫入顯示映像區(qū)。

          由于該系統(tǒng)的極化能量輸出作用于工業(yè)循環(huán)水系統(tǒng),其輸出效果反映為一個大慣性的滯后系統(tǒng),因
          此,極化能量輸出控制采用數(shù)字PID 調(diào)節(jié)控制方式,具體程序流程如圖5所示。

          圖5 極化能量輸出控制子程序流程

          4 結語

          基于ARM 的工業(yè)循環(huán)水極化控制系統(tǒng)在某電廠循環(huán)水系統(tǒng)應用2臺(分別定義為設備A與設備
          B),并停止在循環(huán)水系統(tǒng)加化學藥劑。該系統(tǒng)運行1年多來,其防垢、除垢、殺菌、滅藻的效果理想,在2011―09―06的部分整點運行數(shù)據(jù)如表1所示。

          通過表1可看出,該系統(tǒng)可控制循環(huán)水在較高濃縮倍率(4.50~5.20)下運行,因此,可以減少污水的排放;由于循環(huán)水系統(tǒng)不再加藥處理,也避免了排放的水對河流等的污染。該系統(tǒng)實際運行效果說明其符合火電廠循環(huán)水現(xiàn)場運行要求。



          評論


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