<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 氣體壓力閉環(huán)控制系統設計

氣體壓力閉環(huán)控制系統設計

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

b.JPG
1.2.1 主程序模塊
主要是聲明成員變量,調用硬件驅動(dòng)模塊和數據處理模塊的已經(jīng)定義好的類(lèi)函數。主程序根據氣壓表模塊輸出的壓力值,然后用數據處理模塊進(jìn)行數據分析,根據壓力值的變化來(lái)閉環(huán)控制步進(jìn)電機轉動(dòng)的方向,壓力變化過(guò)快,則需要減小精密閥門(mén)開(kāi)度,電機反轉,壓力變化過(guò)慢則電機正轉,使壓力上升速度在一個(gè)安全高效的范圍內。
1.2.2 硬件驅動(dòng)模塊
硬件驅動(dòng)模塊用于對硬件設計部分主要儀表的控制和驅動(dòng),主要包括氣壓表模塊、步進(jìn)電機模塊和串口模塊,各分模塊也是均以類(lèi)的形式進(jìn)行封裝。
氣壓表模塊,表1和表2在氣壓表內部可以進(jìn)行初始設定編號01,02,表1負責放氣時(shí)的氣壓讀數,表2負責充氣。氣壓表實(shí)時(shí)監測高壓管路的壓力值,實(shí)際上一秒最多可數據20次,PC機通過(guò)串口模塊實(shí)時(shí)向氣壓表發(fā)送命令“@01!”、“@02!”,通過(guò)MFC對話(huà)框的形式實(shí)時(shí)接收氣壓表返回的壓力值,經(jīng)過(guò)數據處理,得出壓力值變化的速度來(lái)閉環(huán)控制步進(jìn)電機,使充放氣速度在一個(gè)安全高效的范圍。
步進(jìn)電機模塊,直接發(fā)送程序指令來(lái)控制電機實(shí)現各個(gè)動(dòng)作。電機步距角為1.8°/步,細分50時(shí),轉動(dòng)一圈需要10 000個(gè)脈沖,在導軌上從原點(diǎn)至終點(diǎn)共需6.5圈65 000個(gè)脈沖。這里將平面直角坐標系引入模塊中,將步進(jìn)電機的行程65 000個(gè)脈沖均分為100份,坐標原點(diǎn)設為閥門(mén)完全關(guān)閉點(diǎn),坐標100處閥門(mén)完全打開(kāi)。在步進(jìn)電機控制中引入坐標系,可以通過(guò)對坐標點(diǎn)的標定來(lái)定位電機,有以下幾大好處:
(1)利于閉環(huán)控制程序的編寫(xiě)。閉環(huán)控制可用一個(gè)循環(huán)程序來(lái)實(shí)現,有了坐標系,就可以方便定義一個(gè)位置變量,以壓力變化快慢作為循環(huán)條件,位置變量作相應的增減,即可控制電機的正反轉,改變精密閥門(mén)的行程,調節閥門(mén)開(kāi)度實(shí)現氣壓控制;
(2)限制步進(jìn)電機的行程。步進(jìn)電機的活動(dòng)范圍限制為坐標0~100之間,在不可見(jiàn)系統中解決步進(jìn)電機失步碰撞問(wèn)題,可以替代接近開(kāi)關(guān)的作用;
(3)實(shí)時(shí)查詢(xún)步進(jìn)電機的位置。查詢(xún)錐形活塞所處點(diǎn)的坐標,根據坐標和閥門(mén)旋轉螺旋間距,就可以得出電機的位移,相當于一個(gè)位移傳感器。
串口模塊,在VC++2005對話(huà)框編輯框中添加ActiveX控件Microsoft Communication Control,給該控件命名并在對話(huà)框屬性框里設置相應的參數,即可以直接調用串口。
1.2.3 數據處理模塊
數據處理部分采用的是VC++和Matlab混合編程的方法,VC作為客戶(hù)端,利用其能夠簡(jiǎn)單地同底層硬件資源進(jìn)行的優(yōu)點(diǎn),將數據讀入到內存中,再將數據送到Matlab中進(jìn)行數據處理,通過(guò)調用Matlab下數字信號處理工具箱中的函數以及自己所寫(xiě)的函數進(jìn)行分析。選用Matl-ab的C/C++編譯器mcc,這種混合編程方式將.m源文件轉化為C/C++等各種不同類(lèi)型的源代碼,并在此基礎上根據應用需要生成MEX文件、獨立可執行應用程序等文件類(lèi)型,大大提高程序的運行速度,以及代碼的執行效率。由于氣壓表每秒數據20次,為了精確地實(shí)現閉環(huán)控制,把20組數據進(jìn)行多項式最小二乘法曲線(xiàn)擬合,建立第1s內氣壓隨時(shí)間變化的函數模型:
c.JPG
在Matlab中調用回歸命令:A=polyfit(T,P,n),其中:T=O:O.05:1;P=[p0,p1,…,pn。]可以通過(guò)氣壓表的讀數得到;A=[an,…,a1,a0],是多項式(1)的系數;n為多項式的次數。
預測氣壓的變化速度:
d.JPG
多項式擬合數據的模型隨著(zhù)階次n的選擇不同而不同。雖然n+1個(gè)數據點(diǎn)可以確定惟一的n階多項式,但實(shí)踐證明并不是階次越高擬合越好,有時(shí)會(huì )發(fā)生階次越高越不精確的情況。曲線(xiàn)擬合時(shí)應該根據實(shí)際情況憑借經(jīng)驗及觀(guān)察選擇擬合次數,注意檢驗結果,比如觀(guān)察曲線(xiàn)是否平滑、擬合誤差是否足夠小等,力求準確全面地描述輸入數據之間的關(guān)系。由每秒的模型得出連續的氣壓模型函數和氣壓變化速度函數,根據氣壓變化速度函數在各個(gè)時(shí)間點(diǎn)上的值來(lái)判斷步進(jìn)電機正轉還是反轉。數據處理模塊也是以類(lèi)的形式封裝起來(lái),供主函數調用。

2 實(shí)驗與分析
氣體壓力閉環(huán)控制裝置已經(jīng)應用于某型裝備故障檢測中,對高壓充氣速度進(jìn)行控制,在試驗時(shí),裝置連接在管路中,通過(guò)對電機的控制實(shí)現對充氣速度的調節,從而完成所需試驗數據的。通過(guò)多次試驗,驗證了系統的穩定可靠性和高精度的控制充氣速度。

3 結論
氣體壓力閉環(huán)控制系統的設計在某型裝備故障檢測中已得到較好的實(shí)現。設計中無(wú)論是硬件還是軟件系統中都采用模塊化的設計方法,這使得系統擴展起來(lái)比較方便,系統可移植性高,增加了系統的靈活性和可靠性,具有廣泛的適應性。坐標系引進(jìn)步進(jìn)電機行程的方法,可以成功解決步進(jìn)電機失步碰撞問(wèn)題,能夠確保系統正常運行。

電接點(diǎn)壓力表相關(guān)文章:電接點(diǎn)壓力表原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 采集 通信

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>