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