發(fā)表于:2004/3/22 14:02:00
#0樓
計(jì)算機(jī)時(shí)代的自控調(diào)節(jié)路條條,何必“穿PC新鞋,走PID老路”
——一種“傻瓜溫控”程序的實(shí)現(xiàn)帶來(lái)的思考
打開(kāi)溫度控制儀表產(chǎn)品目錄,控制效果好一點(diǎn)的表,都標(biāo)明用“PID調(diào)節(jié)”,至少要設(shè)置“控制周期”“比例系數(shù)”“積分時(shí)間”“微分時(shí)間”等參數(shù),非控制專業(yè)的操作者很難理解這些參數(shù)的意義,即便是控制專業(yè)的操作者,知到其意義,但對(duì)新設(shè)備,這些參數(shù)應(yīng)設(shè)成多少,也不得而知,只好試驗(yàn)得出。更好一點(diǎn)的表,可以“自整定”,自動(dòng)測(cè)出這些參數(shù)。溫度控制儀表按這些參數(shù)去控制設(shè)備的溫度。
最近,用全新的思路,研究出一種精簡(jiǎn)的溫控程序(只有近2K字節(jié)的單片機(jī)程序),由于不需輸入意義不太準(zhǔn)確的參數(shù),也不需“自整定”操作,就能控制不同設(shè)備的溫度,我把它叫做“傻瓜溫控”,幾乎做到“即插即用”。
"傻瓜溫控"與普通的PID調(diào)節(jié)比:
1、不需自整定,調(diào)節(jié)參數(shù)只有一個(gè),是設(shè)備說(shuō)明書上就有的——被控設(shè)備的使用溫度上限
2、調(diào)節(jié)過(guò)程中,超調(diào)小,波動(dòng)次數(shù)少
3、改變?cè)O(shè)定值,跟蹤設(shè)定值快
4、可用于相互干擾的多點(diǎn)溫控,如橡膠硫化壓力機(jī)的上下模板溫控。(此情況下PID調(diào)節(jié)無(wú)法自整定)
5、有自我完善能力,但不強(qiáng)。
6、本身是自適應(yīng)的,自然不怕設(shè)備的參數(shù)變化
程序空間大時(shí),還可做的精致些。
這是我第二個(gè)不用“PID調(diào)節(jié)”模式的控制程序。
開(kāi)始編程時(shí),翻看有關(guān)自控調(diào)節(jié)理論書籍。幾乎所有書籍都是講“PID調(diào)節(jié)”,只有這一種思路。
從中看到:傳統(tǒng)自控理論對(duì)各種被控對(duì)象特點(diǎn)作了充分的研究,并建立了數(shù)學(xué)模型,但模型幾乎都?xì)w結(jié)為RLC網(wǎng)絡(luò)(電阻、電感、電容組成的電路)。于是在研究如何控制時(shí),也集中于對(duì)RLC網(wǎng)絡(luò)(電阻、電感、電容組成的電路)的研究,抽象出“比例系數(shù)”“積分時(shí)間”“微分時(shí)間”等調(diào)節(jié)參數(shù),由于完全數(shù)學(xué)化,其計(jì)算公式復(fù)雜深?yuàn)W,很難與被控物理對(duì)象進(jìn)行感性聯(lián)想。
本來(lái),熱力學(xué)有自己的參數(shù):溫度、熱能、比熱、熱導(dǎo)、散熱等;動(dòng)力學(xué)也有自己的參數(shù):力、質(zhì)量、力矩、速度、加速度、動(dòng)能、位能等。根據(jù)這些參數(shù)及其自身變化規(guī)律(計(jì)算公式),就不能實(shí)施好控制?為甚麼一定要轉(zhuǎn)換為電路模型,用那一套轉(zhuǎn)遞函數(shù)?
從一些書中找到答案:計(jì)算機(jī)時(shí)代前,不管您是熱力學(xué),還是動(dòng)力學(xué)的控制系統(tǒng),只要用電控制,控制回路只能由RLC網(wǎng)絡(luò)加運(yùn)算放大器組成。控制輸出的改變,不能想大就大、想小就小,反饋信號(hào)(偏差)通過(guò)RLC網(wǎng)絡(luò),轉(zhuǎn)換為控制輸出,要受RLC網(wǎng)絡(luò)的“比例系數(shù)”“積分時(shí)間”“微分時(shí)間”等約束,于是只好研究出各種RLC網(wǎng)絡(luò),以對(duì)應(yīng)不同被控對(duì)象,當(dāng)時(shí),這是唯一可行的方法,自然PID獨(dú)占鰲頭。
現(xiàn)在已到計(jì)算機(jī)時(shí)代,控制回路中幾乎沒(méi)有RLC網(wǎng)絡(luò),它被D/A、A/D轉(zhuǎn)換加控制程序所代替。為了使傳統(tǒng)自控理論適應(yīng)此情況,自控調(diào)節(jié)理論就把RLC網(wǎng)絡(luò)的一套公式數(shù)字化(離散化處理),讓控制程序代替RLC網(wǎng)絡(luò)!
改進(jìn)是有的,先是“自整定”;后有“專家系統(tǒng)”和“神經(jīng)網(wǎng)絡(luò)” 等技術(shù),或分段采用不同的PID參數(shù),或不斷修正PID參數(shù)等,改進(jìn)后的程序(公式)更復(fù)雜深?yuàn)W。但從本質(zhì)說(shuō),還是離不開(kāi)PID模式,這就形成“穿計(jì)算機(jī)新鞋,走PID老路”,計(jì)算機(jī)并沒(méi)有給自控理論帶來(lái)“革命”性變化,或者說(shuō)沒(méi)有充分發(fā)揮計(jì)算機(jī)技術(shù)的智能。
計(jì)算機(jī)時(shí)代的控制,可以根據(jù)偏差情況做到,控制輸出想大就大、想小就?。豢梢宰箢櫽遗螐亩嘟嵌确治觯c時(shí)俱進(jìn)不斷改變策略;應(yīng)該可以脫離RLC網(wǎng)絡(luò)規(guī)律,直接用本學(xué)科規(guī)律去控制,或用別的規(guī)律——天高任鳥(niǎo)飛。
“傻瓜溫控”從設(shè)備的熱力學(xué)過(guò)程來(lái)找控制方法,過(guò)程分兩個(gè)不同階段,加溫時(shí),加熱能量分兩部分,一部分變?yōu)樵O(shè)備的儲(chǔ)存的熱能,使溫度升高,另一部分為散熱,消耗了。升溫到設(shè)定溫度下某一點(diǎn),停加熱一段時(shí)間,通過(guò)兩種情況下,溫度變化的差異,估算出加熱能量中兩部分的比率,估算出加熱到設(shè)定溫度還需輸入的能量,按此加熱,就能防大的過(guò)沖。到設(shè)定溫度后,加熱能量全部供散熱,在溫度圍繞設(shè)定溫度的波動(dòng)中,較精確算出散熱功率,也就是加熱功率,用以穩(wěn)定溫度。
“傻瓜溫控”的實(shí)現(xiàn),不完全取決于上述思路,還借助于計(jì)算機(jī)技術(shù)的另一用途——“仿真”,就是用程序做成被控的“模擬溫度設(shè)備”,它的溫度被“控溫程序”控制,“控溫程序”令它加熱或停加熱,“模擬溫度設(shè)備”加熱或停加熱時(shí)的溫度變化應(yīng)和真設(shè)備近似。可以說(shuō),沒(méi)有“模擬溫度設(shè)備”,“傻瓜溫控”搞不成,道理很明顯:
1、“控溫程序”編好后要進(jìn)行試驗(yàn),其一、真實(shí)的設(shè)備要花錢、占場(chǎng)地;其二、真實(shí)的設(shè)備一次升溫要很長(zhǎng)時(shí)間;其三、要在升溫中間停下,看程序如何進(jìn)行,或馬上修改程序是不可能的,停下,設(shè)備的溫度狀態(tài)就變了。用“模擬溫度設(shè)備”,這些問(wèn)題都不存在,能精雕細(xì)鑿地完善控溫程序;升溫過(guò)程可快可慢,幾秒鐘就可升到需要的溫度;中間想停就停(控溫程序和模擬溫度設(shè)備同時(shí)停,設(shè)備溫度狀態(tài)不變),想改就改,改完繼續(xù)進(jìn)行。
2、“傻瓜溫控”要適用于各種設(shè)備,就要對(duì)不同設(shè)備進(jìn)行試驗(yàn),不可能用那麼多的真實(shí)設(shè)備來(lái)完成這任務(wù)?!澳M溫度設(shè)備”創(chuàng)造了這個(gè)條件,改動(dòng)“模擬溫度設(shè)備”的參數(shù)就等于換了設(shè)備。編好相應(yīng)測(cè)試程序,一覺(jué)醒來(lái),計(jì)算機(jī)已將對(duì)一系列設(shè)備控制效果的檢驗(yàn)報(bào)告打印出來(lái)。當(dāng)然“模擬溫度設(shè)備”要能正確地代替設(shè)備?;疽螅阂阎徽鎸?shí)設(shè)備的升、降溫曲線,有方法求出它的“模擬溫度設(shè)備”的參數(shù)。
概括起來(lái),提醒在計(jì)算機(jī)時(shí)代搞自動(dòng)控制的同行,教或?qū)W都要:
1、不要只盯著PID,路寬著呢。非自動(dòng)控制專業(yè)的人氏不要被PID的公式嚇住,走自己的路,用本科知識(shí)加計(jì)算機(jī)編程能力,就能編出好的控制程序。
2、要學(xué)點(diǎn)被控對(duì)象學(xué)科的知識(shí),溫度控制的學(xué)點(diǎn)熱工學(xué)、傳動(dòng)控制的學(xué)點(diǎn)理論力學(xué)、調(diào)速控制的學(xué)點(diǎn)電機(jī)學(xué)等。
3、掌握建立被控對(duì)象的“模擬設(shè)備”方法和技巧。
4、學(xué)點(diǎn)VB語(yǔ)言?!翱刂瞥绦颉笨上扔盟?,“模擬設(shè)備”也可在上面編制,同臺(tái)調(diào)試運(yùn)行,調(diào)試程序時(shí)用到的中斷、修改、顯示和保存過(guò)程參數(shù)值、人機(jī)界面等功能,VB語(yǔ)言調(diào)試平臺(tái)都有,而且都很強(qiáng),得心應(yīng)手,可精雕細(xì)鑿你的程序。我調(diào)試單片機(jī)匯編程序就在此進(jìn)行,可把一個(gè)活生生的控制儀表放在屏幕上。VB語(yǔ)言入門容易,搞一般控制,入門知識(shí)就可以。
對(duì)此感興趣者,可索要進(jìn)一步說(shuō)明和“傻瓜溫控”、“模擬溫度設(shè)備”、“傻瓜溫控”控件的運(yùn)行程序。
上海 黃惠生 13916160444
HUHUSH1@163.com
——一種“傻瓜溫控”程序的實(shí)現(xiàn)帶來(lái)的思考
打開(kāi)溫度控制儀表產(chǎn)品目錄,控制效果好一點(diǎn)的表,都標(biāo)明用“PID調(diào)節(jié)”,至少要設(shè)置“控制周期”“比例系數(shù)”“積分時(shí)間”“微分時(shí)間”等參數(shù),非控制專業(yè)的操作者很難理解這些參數(shù)的意義,即便是控制專業(yè)的操作者,知到其意義,但對(duì)新設(shè)備,這些參數(shù)應(yīng)設(shè)成多少,也不得而知,只好試驗(yàn)得出。更好一點(diǎn)的表,可以“自整定”,自動(dòng)測(cè)出這些參數(shù)。溫度控制儀表按這些參數(shù)去控制設(shè)備的溫度。
最近,用全新的思路,研究出一種精簡(jiǎn)的溫控程序(只有近2K字節(jié)的單片機(jī)程序),由于不需輸入意義不太準(zhǔn)確的參數(shù),也不需“自整定”操作,就能控制不同設(shè)備的溫度,我把它叫做“傻瓜溫控”,幾乎做到“即插即用”。
"傻瓜溫控"與普通的PID調(diào)節(jié)比:
1、不需自整定,調(diào)節(jié)參數(shù)只有一個(gè),是設(shè)備說(shuō)明書上就有的——被控設(shè)備的使用溫度上限
2、調(diào)節(jié)過(guò)程中,超調(diào)小,波動(dòng)次數(shù)少
3、改變?cè)O(shè)定值,跟蹤設(shè)定值快
4、可用于相互干擾的多點(diǎn)溫控,如橡膠硫化壓力機(jī)的上下模板溫控。(此情況下PID調(diào)節(jié)無(wú)法自整定)
5、有自我完善能力,但不強(qiáng)。
6、本身是自適應(yīng)的,自然不怕設(shè)備的參數(shù)變化
程序空間大時(shí),還可做的精致些。
這是我第二個(gè)不用“PID調(diào)節(jié)”模式的控制程序。
開(kāi)始編程時(shí),翻看有關(guān)自控調(diào)節(jié)理論書籍。幾乎所有書籍都是講“PID調(diào)節(jié)”,只有這一種思路。
從中看到:傳統(tǒng)自控理論對(duì)各種被控對(duì)象特點(diǎn)作了充分的研究,并建立了數(shù)學(xué)模型,但模型幾乎都?xì)w結(jié)為RLC網(wǎng)絡(luò)(電阻、電感、電容組成的電路)。于是在研究如何控制時(shí),也集中于對(duì)RLC網(wǎng)絡(luò)(電阻、電感、電容組成的電路)的研究,抽象出“比例系數(shù)”“積分時(shí)間”“微分時(shí)間”等調(diào)節(jié)參數(shù),由于完全數(shù)學(xué)化,其計(jì)算公式復(fù)雜深?yuàn)W,很難與被控物理對(duì)象進(jìn)行感性聯(lián)想。
本來(lái),熱力學(xué)有自己的參數(shù):溫度、熱能、比熱、熱導(dǎo)、散熱等;動(dòng)力學(xué)也有自己的參數(shù):力、質(zhì)量、力矩、速度、加速度、動(dòng)能、位能等。根據(jù)這些參數(shù)及其自身變化規(guī)律(計(jì)算公式),就不能實(shí)施好控制?為甚麼一定要轉(zhuǎn)換為電路模型,用那一套轉(zhuǎn)遞函數(shù)?
從一些書中找到答案:計(jì)算機(jī)時(shí)代前,不管您是熱力學(xué),還是動(dòng)力學(xué)的控制系統(tǒng),只要用電控制,控制回路只能由RLC網(wǎng)絡(luò)加運(yùn)算放大器組成。控制輸出的改變,不能想大就大、想小就小,反饋信號(hào)(偏差)通過(guò)RLC網(wǎng)絡(luò),轉(zhuǎn)換為控制輸出,要受RLC網(wǎng)絡(luò)的“比例系數(shù)”“積分時(shí)間”“微分時(shí)間”等約束,于是只好研究出各種RLC網(wǎng)絡(luò),以對(duì)應(yīng)不同被控對(duì)象,當(dāng)時(shí),這是唯一可行的方法,自然PID獨(dú)占鰲頭。
現(xiàn)在已到計(jì)算機(jī)時(shí)代,控制回路中幾乎沒(méi)有RLC網(wǎng)絡(luò),它被D/A、A/D轉(zhuǎn)換加控制程序所代替。為了使傳統(tǒng)自控理論適應(yīng)此情況,自控調(diào)節(jié)理論就把RLC網(wǎng)絡(luò)的一套公式數(shù)字化(離散化處理),讓控制程序代替RLC網(wǎng)絡(luò)!
改進(jìn)是有的,先是“自整定”;后有“專家系統(tǒng)”和“神經(jīng)網(wǎng)絡(luò)” 等技術(shù),或分段采用不同的PID參數(shù),或不斷修正PID參數(shù)等,改進(jìn)后的程序(公式)更復(fù)雜深?yuàn)W。但從本質(zhì)說(shuō),還是離不開(kāi)PID模式,這就形成“穿計(jì)算機(jī)新鞋,走PID老路”,計(jì)算機(jī)并沒(méi)有給自控理論帶來(lái)“革命”性變化,或者說(shuō)沒(méi)有充分發(fā)揮計(jì)算機(jī)技術(shù)的智能。
計(jì)算機(jī)時(shí)代的控制,可以根據(jù)偏差情況做到,控制輸出想大就大、想小就?。豢梢宰箢櫽遗螐亩嘟嵌确治觯c時(shí)俱進(jìn)不斷改變策略;應(yīng)該可以脫離RLC網(wǎng)絡(luò)規(guī)律,直接用本學(xué)科規(guī)律去控制,或用別的規(guī)律——天高任鳥(niǎo)飛。
“傻瓜溫控”從設(shè)備的熱力學(xué)過(guò)程來(lái)找控制方法,過(guò)程分兩個(gè)不同階段,加溫時(shí),加熱能量分兩部分,一部分變?yōu)樵O(shè)備的儲(chǔ)存的熱能,使溫度升高,另一部分為散熱,消耗了。升溫到設(shè)定溫度下某一點(diǎn),停加熱一段時(shí)間,通過(guò)兩種情況下,溫度變化的差異,估算出加熱能量中兩部分的比率,估算出加熱到設(shè)定溫度還需輸入的能量,按此加熱,就能防大的過(guò)沖。到設(shè)定溫度后,加熱能量全部供散熱,在溫度圍繞設(shè)定溫度的波動(dòng)中,較精確算出散熱功率,也就是加熱功率,用以穩(wěn)定溫度。
“傻瓜溫控”的實(shí)現(xiàn),不完全取決于上述思路,還借助于計(jì)算機(jī)技術(shù)的另一用途——“仿真”,就是用程序做成被控的“模擬溫度設(shè)備”,它的溫度被“控溫程序”控制,“控溫程序”令它加熱或停加熱,“模擬溫度設(shè)備”加熱或停加熱時(shí)的溫度變化應(yīng)和真設(shè)備近似。可以說(shuō),沒(méi)有“模擬溫度設(shè)備”,“傻瓜溫控”搞不成,道理很明顯:
1、“控溫程序”編好后要進(jìn)行試驗(yàn),其一、真實(shí)的設(shè)備要花錢、占場(chǎng)地;其二、真實(shí)的設(shè)備一次升溫要很長(zhǎng)時(shí)間;其三、要在升溫中間停下,看程序如何進(jìn)行,或馬上修改程序是不可能的,停下,設(shè)備的溫度狀態(tài)就變了。用“模擬溫度設(shè)備”,這些問(wèn)題都不存在,能精雕細(xì)鑿地完善控溫程序;升溫過(guò)程可快可慢,幾秒鐘就可升到需要的溫度;中間想停就停(控溫程序和模擬溫度設(shè)備同時(shí)停,設(shè)備溫度狀態(tài)不變),想改就改,改完繼續(xù)進(jìn)行。
2、“傻瓜溫控”要適用于各種設(shè)備,就要對(duì)不同設(shè)備進(jìn)行試驗(yàn),不可能用那麼多的真實(shí)設(shè)備來(lái)完成這任務(wù)?!澳M溫度設(shè)備”創(chuàng)造了這個(gè)條件,改動(dòng)“模擬溫度設(shè)備”的參數(shù)就等于換了設(shè)備。編好相應(yīng)測(cè)試程序,一覺(jué)醒來(lái),計(jì)算機(jī)已將對(duì)一系列設(shè)備控制效果的檢驗(yàn)報(bào)告打印出來(lái)。當(dāng)然“模擬溫度設(shè)備”要能正確地代替設(shè)備?;疽螅阂阎徽鎸?shí)設(shè)備的升、降溫曲線,有方法求出它的“模擬溫度設(shè)備”的參數(shù)。
概括起來(lái),提醒在計(jì)算機(jī)時(shí)代搞自動(dòng)控制的同行,教或?qū)W都要:
1、不要只盯著PID,路寬著呢。非自動(dòng)控制專業(yè)的人氏不要被PID的公式嚇住,走自己的路,用本科知識(shí)加計(jì)算機(jī)編程能力,就能編出好的控制程序。
2、要學(xué)點(diǎn)被控對(duì)象學(xué)科的知識(shí),溫度控制的學(xué)點(diǎn)熱工學(xué)、傳動(dòng)控制的學(xué)點(diǎn)理論力學(xué)、調(diào)速控制的學(xué)點(diǎn)電機(jī)學(xué)等。
3、掌握建立被控對(duì)象的“模擬設(shè)備”方法和技巧。
4、學(xué)點(diǎn)VB語(yǔ)言?!翱刂瞥绦颉笨上扔盟?,“模擬設(shè)備”也可在上面編制,同臺(tái)調(diào)試運(yùn)行,調(diào)試程序時(shí)用到的中斷、修改、顯示和保存過(guò)程參數(shù)值、人機(jī)界面等功能,VB語(yǔ)言調(diào)試平臺(tái)都有,而且都很強(qiáng),得心應(yīng)手,可精雕細(xì)鑿你的程序。我調(diào)試單片機(jī)匯編程序就在此進(jìn)行,可把一個(gè)活生生的控制儀表放在屏幕上。VB語(yǔ)言入門容易,搞一般控制,入門知識(shí)就可以。
對(duì)此感興趣者,可索要進(jìn)一步說(shuō)明和“傻瓜溫控”、“模擬溫度設(shè)備”、“傻瓜溫控”控件的運(yùn)行程序。
上海 黃惠生 13916160444
HUHUSH1@163.com
HHS