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