李靖(1982-)
男,漢族,碩士,從事智能控制與嵌入式系統(tǒng)領(lǐng)域的應(yīng)用研究。
摘 要:針對動態(tài)稱重過程的非線性、大滯后、強耦合以及模型的時變性、不確定性等特點,提出專家系統(tǒng)與PID相結(jié)合的智能控制策略,應(yīng)用嵌入式軟硬件來具體實現(xiàn)。研究表明,智能控制算法與嵌入式軟硬件相結(jié)合的方能夠解決動態(tài)稱重精度和快速性之間的矛盾,采用迭代預(yù)測方法不斷進行過沖量的修正,進一步減小了誤差。
關(guān)鍵詞:嵌入式linux;動態(tài)稱重;專家PID;迭代預(yù)測
Abstract: According to the characteristics of nonlinearity,large delay,coupling and the model’s time varying and uncertainty, we propose an intelligent control strategy by combining expert system and PID together, and implement it by using embedded software and hardware. The research indicates that our proposed method can solve the contradiction between the precision and speed of dynamic weighting. Furthermore, we reduce weighting error by using the iterative forecast technique to revise the overswing quantity.
Key words: embedded linux; dynamic weighing; expert PID; iteration forecast
1 引言
動態(tài)稱重配料系統(tǒng)具有非線性、強耦合、時變、時滯等特性,系統(tǒng)主要包含兩個方面的問題:一是動態(tài)測量;另一個是定量控制[1]。在綜合、研究PID 控制和專家系統(tǒng)優(yōu)點的基礎(chǔ)上,提出專家智能控制與PID 相結(jié)合的復合控制方法,并運用于稱重控制系統(tǒng)中,使系統(tǒng)低超調(diào)、高速率地接近設(shè)定值,解決執(zhí)行機構(gòu)的滯后、慣性、物料沖擊力和空中物料造成的誤差問題,較好地滿足控制中的高精度與快速性要求。
2 控制策略與算法
2.1 專家PID配料智能控制器規(guī)則庫
根據(jù)動態(tài)稱重系統(tǒng)的特點和要求,控制規(guī)則如下:
規(guī)則1:若時,說明誤差的絕對值比較大。控制器的輸出應(yīng)按最大值或最小值方向輸出,盡快誤差減小。專家控制器輸出:
規(guī)則2:若,說明稱重誤差在朝誤差絕對值增大方向變化,如果此時
,(自定義誤差)控制量偏小,應(yīng)加大控制量,盡快減小偏差,專家控制器輸出:
,
若,說明盡管稱重誤差朝絕對值增大方向變化,但誤差絕對值本身并不很大,為防止超調(diào),使其朝誤差絕對值減小方向變化。此時,取。
規(guī)則3:,說明稱重誤差的絕對值朝減小的方向變化,這時,比例作用應(yīng)該同步減小;由于系統(tǒng)輸出的變化率增大,所以微分作用應(yīng)該加強,利用微分作用的超前特性而使控制器提前作用,以抑制系統(tǒng)的超調(diào);而為了盡快消除偏差,應(yīng)選用相對較大的積分作用[2]。
規(guī)則4:當時,系統(tǒng)達到平衡狀態(tài),可考慮采取保持控制器輸出
不變。
規(guī)則5:時,說明稱重誤差處于極值狀態(tài),這時不允許有積分作用, 對于沒有純滯后或時滯很小的快速控制過程來說,重要性較小,但對于動態(tài)稱重控制系統(tǒng)這類大時滯過程來說卻是有很大的影響。
如果此時是在誤差絕對值極大值或以上,即,采用較強的比例微分(PD)控制作用。控制器輸出為:
如果此時稱重誤差的絕對值較小,即采用較弱的比例微分(PD)控制作用。控制器預(yù)測輸出為:
規(guī)則6:當時,說明誤差的絕對值很小,此時為減少穩(wěn)態(tài)誤差,控制器采用比例積分(PI)作用。控制器輸出為:
2.2 動態(tài)稱重專家PID控制器
采用控制規(guī)則進行設(shè)計專家控制器,專家PID稱重控制結(jié)構(gòu)如圖1所示。
圖1 專家PID混料稱重控制結(jié)構(gòu)框圖
2.3 基于迭代學習預(yù)測控制的過沖量修正
加料器停止加料后,在慣性作用下仍然有部分物料繼續(xù)下落,該部分物料稱為過沖量。受現(xiàn)場實際情況因素影響,物料的下落中過沖量大小是隨機的,具體數(shù)值是在物料稱重完畢才能得到。為了減小配料誤差,對落差進行動態(tài)跟蹤并自動修正,修正采用迭代自學習的方法[3,4]。動態(tài)稱重變化曲線如圖2所示,其中,為目標稱重值,
為第k次的稱重的實際值,
為關(guān)門時刻的動態(tài)稱重值。
圖2 動態(tài)稱重變化曲線
關(guān)門提前量的初值為:
,。
第一次實際配料值與設(shè)定值存在的誤差值為:,則可產(chǎn)生新的關(guān)門提前量值:
q為加權(quán)預(yù)測因子;在新的一組稱重配料過程中,可按照進行提前關(guān)門。依此類推,可以迭代自學習預(yù)測到第k+1次配料時的控制量大小為:
根據(jù)誤差規(guī)定,q取不同的參數(shù)值。q的取值范圍為:。
在迭代訓練過程中,當時,負向迭代預(yù)測,迭代預(yù)測的結(jié)果使
變小;而
時,則正向迭代,迭代的預(yù)測結(jié)果使
變大。
當負向迭代預(yù)測時:
由上式可知,當負向迭代預(yù)測時,控制量變小,但總大于零,當正向迭代時,迭代的結(jié)果不斷變大,此時要進行邊界檢查,需滿足條件:
。
每次重復訓練時都滿足初始條件,即重復訓練次數(shù)足夠多時,可實現(xiàn)實際輸出能逼近期望輸出值大小。
如此,每次配料時可用上次預(yù)測修正后的提前關(guān)門量來提前控制加料器的通斷電。 如此反復訓練預(yù)測,可以使關(guān)門提前量不斷優(yōu)化,減小誤差,從而實現(xiàn)關(guān)門后料斗內(nèi)物料重量值逼近給定值。
3 嵌入式硬件系統(tǒng)設(shè)計
系統(tǒng)采用的嵌入式工控機,它是在PXA270微處理器的基礎(chǔ)上附加SDRAM(64MByte),F(xiàn)LASH(32MByte)、以太網(wǎng)(10/100MEthemetcontroll)CPLD等外圍芯片和外設(shè)接口組成。嵌入式系統(tǒng)的硬件設(shè)計與軟件設(shè)計緊密聯(lián)系,在設(shè)計過程中需要考慮二者之間相互的影響。
系統(tǒng)硬件設(shè)計框圖如圖3所示。系統(tǒng)中,重量信號經(jīng)放大變送后送到模擬量數(shù)據(jù)輸入模塊中進行轉(zhuǎn)換處理,后送至微處理器,CPU根據(jù)該信號的大小來確定物料的重量,并通過數(shù)字量I/O模塊控制電機和閥門動作。控制系統(tǒng)可通過串行通訊模塊或以太網(wǎng)與上位機進行通信;嵌入式工控主板與數(shù)據(jù)采集模塊采用PC/104總線進行通信。
圖3 系統(tǒng)硬件框圖
4 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件分成五個模塊:基本控制模塊、數(shù)據(jù)通訊模塊、稱重控制模塊、人機交互模塊和事務(wù)處理模塊。由Linux實時操作系統(tǒng)對這五大任務(wù)進行管理和調(diào)度,結(jié)合硬件電路實現(xiàn)動態(tài)稱重。系統(tǒng)軟件結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)軟件結(jié)構(gòu)
稱重控制模塊主要分為稱重信號的采集,以及開關(guān)量信號的處理。稱重控制模塊軟件流程如圖5所示。在稱重信號數(shù)據(jù)的采集中,稱重信號程序使用open調(diào)用打開對應(yīng)模擬輸入通道對應(yīng)的設(shè)備文件節(jié)點后,即可使用read調(diào)用讀取該通道的輸入數(shù)據(jù):
…
int len = 1000;
usinged short int buf[1024];
read(fd, buf, len);
…
需要注意的是:輸入緩沖區(qū)是16位整數(shù)類型的數(shù)組;相應(yīng)參數(shù)len是要讀取16位數(shù)據(jù)的長度,參數(shù)len的最大值為1024。
系統(tǒng)中螺旋加料電機、攪拌電機啟動停止,電磁閥通斷電等部分控制程序如下所示:
…
int fd, i;
unsigned short int data;
fd = open("/dev/PCM-8032A", O_RDWR | O_NOCTTY);
if (fd < 0) {
perror("open /dev/PCM-8032A \n");
}
for (i = 0; i < 7; i++) {
if (i%2 == 0) {
ioctl(fd, PCM8032A_SET_PIN_HIGH, i);
} else {
ioctl(fd, PCM8032A_SET_PIN_LOW, i);
}
} }
…
圖5 動態(tài)稱重控制模塊軟件流程圖
5 試驗與結(jié)論
為驗證軟、硬件設(shè)計的正確性,在嵌入式動態(tài)稱重配料實驗裝置上進行試驗。稱重傳感器采用BK-3型稱重傳感器,傳感器輸出靈敏度為1.5-2mv,直線度和滯后性為0.02-0.05kg,變送器采用HT-901智能測控儀輸出電壓0-5V。
以比重略大于水的聚氯乙稀顆粒和水作為實驗物料,并按重量比1:1進行配料,定量下料設(shè)定值為20kg,實驗數(shù)據(jù)見表1所示。
表1 稱重精度實驗數(shù)據(jù)(設(shè)定重量為20kg)
由表1可知,試驗中最大相對誤差為0.375%。說明了軟硬件設(shè)計的正確性;同時也證明采用智能、迭代算法與嵌入式相結(jié)合的方式解決非線性、大滯后特性等一類問題是可行的。此外,若提高提高傳感器的靈敏度,則可進一步提高系統(tǒng)的稱量精度。
其它作者:梁嵐珍(1957-),女,漢族,北京聯(lián)合大學教授,碩士生導師,主要從事計算機控制與自動化網(wǎng)絡(luò)研究。
參考文獻:
[1] 李鵬. 動態(tài)定量稱重系統(tǒng)的設(shè)計和研究[D]. 濟南,山東大學,2005.
[2] 魏紅昀,鄧忠華,魏晴昀. PID專家控制器在溫控系統(tǒng)中的應(yīng)用[J]. 兵工自動化,2004.33:51~52.
[3] 楊新志. 粉狀物料稱重系統(tǒng)的預(yù)測控制[J]. 上海大學學報. 1999.(5): 414-418.
[4] 任雪梅,高為炳. 任意初始狀態(tài)下的迭代學習控制[J]. 自動化學報,1994,20(l): 74-79.
轉(zhuǎn)自《自動化博覽》