《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于C8051F020的PID參數(shù)自整定控制器的研究與實現(xiàn)
基于C8051F020的PID參數(shù)自整定控制器的研究與實現(xiàn)
來源:微型機(jī)與應(yīng)用2013年第9期
朱 丹
(南京理工大學(xué) 紫金學(xué)院,,江蘇 南京 210046)
摘要: 提出了一種基于C8051F020單片機(jī)的PID參數(shù)自整定控制器設(shè)計,,制作了實物并在液位控制設(shè)備中驗證。該系統(tǒng)采用自校正控制原理和常規(guī)PID控制相結(jié)合的算法,,能快速整定出PID控制器的參數(shù)。用單片機(jī)C8051F020為主芯片完成控制器系統(tǒng)設(shè)計,能根據(jù)當(dāng)前輸出值和目標(biāo)值的偏差求出控制增量輸出,,使被控對象能快速達(dá)到目標(biāo)值并保持。所有數(shù)據(jù)通過串口發(fā)送至PC保存,,以便進(jìn)行進(jìn)一步數(shù)據(jù)分析,。
Abstract:
Key words :

摘  要: 提出了一種基于C8051F020單片機(jī)PID參數(shù)自整定控制器設(shè)計,制作了實物并在液位控制設(shè)備中驗證,。該系統(tǒng)采用自校正控制原理和常規(guī)PID控制相結(jié)合的算法,,能快速整定出PID控制器的參數(shù)。用單片機(jī)C8051F020為主芯片完成控制器系統(tǒng)設(shè)計,,能根據(jù)當(dāng)前輸出值和目標(biāo)值的偏差求出控制增量輸出,,使被控對象能快速達(dá)到目標(biāo)值并保持。所有數(shù)據(jù)通過串口發(fā)送至PC保存,,以便進(jìn)行進(jìn)一步數(shù)據(jù)分析,。
關(guān)鍵詞: C8051F020,;PID;參數(shù)自整定

    隨著航空航天,、工業(yè)控制和各種過程控制的發(fā)展,,對被控對象的控制要求越來越高。PID控制器因結(jié)構(gòu)簡單,、容易實現(xiàn),,被廣泛應(yīng)用于各種工業(yè)控制中[1]。但PID控制的參數(shù)整定是一個問題,,不合適的PID參數(shù)會使得控制效果變差,,甚至不能達(dá)到控制目標(biāo)。本文設(shè)計的PID參數(shù)自整定控制器基于高速單片機(jī)C8051F020,,通過自校正控制原理和常規(guī)PID控制相結(jié)合,,可以根據(jù)被控對象數(shù)學(xué)模型及控制要求快速整定出PID控制器參數(shù),從而完成控制器設(shè)計,,最終實現(xiàn)控制要求,。
可通過在Matlab中以被控對象的數(shù)學(xué)模型和控制要求作為已知條件求出PID控制器參數(shù),將參數(shù)編入單片機(jī)程序中,,或通過上位機(jī)由串口設(shè)置,,完成設(shè)計任務(wù)。
1 自校正PID算法
    常規(guī)PID控制系統(tǒng)圖[2]如圖1所示,。

    自校正PID控制應(yīng)用在已知被控對象數(shù)學(xué)模型和控制目標(biāo)的情況下,,通過自校正PID算法可快速求出自校正PID控制器參數(shù)。自校正PID控制器的設(shè)計思路是:通過系統(tǒng)對象離散傳遞函數(shù)的參數(shù)按自校正的極點配置法進(jìn)行控制器參數(shù)的設(shè)計,。下面介紹PID控制器的設(shè)計過程[3],。
設(shè)所調(diào)整的被控對象為:


    (1)輸入輸出調(diào)理電路:工業(yè)控制系統(tǒng)中信號的傳送是通過電流信號實現(xiàn)的,其范圍為4 mA~20 mA,。則輸入信號調(diào)理電路的功能為將4 mA~20 mA的電流信號轉(zhuǎn)化為電壓信號,,輸出信號調(diào)理電路的功能則相反。
    (2)控制器電路:主要為以單片機(jī)C8051F020為主控芯片的控制器,,內(nèi)置PID控制算法,。包括構(gòu)成單片機(jī)系統(tǒng)最基本的晶振電路和復(fù)位電路。
    (3)實時顯示,、報警電路:包括實時時鐘電路,、蜂鳴器驅(qū)動電路。實時時鐘采用低功耗的CMOS實時時鐘/日歷芯片,。顯示電路采用數(shù)碼管顯示,。
    (4)串口通信電路:單片機(jī)和PC通過串口電路進(jìn)行通信,可在PC上實現(xiàn)對當(dāng)前情況的實時監(jiān)控,并可通過串口設(shè)置,。
    (5)按鍵電路:通過中斷按鍵電路對最終控制的目標(biāo)值進(jìn)行設(shè)定,。

 


3 C8051F020內(nèi)部子系統(tǒng)
    PID控制器中,A/D,、D/A模塊以及定時采集數(shù)據(jù)的定時器均使用C8051F020的內(nèi)部資源[5],。
    (1)A/D模塊:本系統(tǒng)使用12 bit的ADC0。使用內(nèi)部基準(zhǔn)電壓標(biāo)準(zhǔn)的2.4 V作為ADC0的VREF,,設(shè)置其向ADC0BUSY寫1為啟動ADC的方式,,并通過串口通信將結(jié)果輸出給PC。
    (2)D/A模塊:DAC0采用內(nèi)部基準(zhǔn)電壓作為參考電壓,,并采用直接賦值的方法更新輸出值,。更新DAC0的輸出方式為直接寫數(shù)據(jù)更新,當(dāng)DAC0L裝入新的數(shù)據(jù)后,,DAC0開始工作,,輸出當(dāng)前D/A轉(zhuǎn)換結(jié)果,進(jìn)而控制執(zhí)行機(jī)構(gòu)動作,。
4 系統(tǒng)軟件設(shè)計
    根據(jù)Matlab中相關(guān)函數(shù)求得自校正PID控制器的參數(shù)F1,、G和R,編寫PID控制器的程序完成PID控制任務(wù),。PID控制的流程圖如圖4所示,。

    控制時間根據(jù)被控對象表達(dá)式中的采樣時間間隔而定。主要過程為根據(jù)當(dāng)前系統(tǒng)的采集值和目標(biāo)值的偏差通過自校正PID控制器的計算求得控制量輸出,,驅(qū)動執(zhí)行機(jī)構(gòu)動作,。當(dāng)系統(tǒng)計算出的控制量始終為D/A輸出的最大值或最小值時,,可以認(rèn)為系統(tǒng)異常,,此時驅(qū)動蜂鳴器報警,請求進(jìn)行人工處理,。
系統(tǒng)可通過按鍵對最終控制的目標(biāo)設(shè)定值進(jìn)行修改,。兩個按鍵對程序中預(yù)設(shè)的目標(biāo)值進(jìn)行步進(jìn)加和步進(jìn)減,采用中斷方式完成功能,。
5 實驗結(jié)果及測試
    液位控制是一個比較傳統(tǒng)的被控對象,,因此將液位控制作為設(shè)計PID參數(shù)自整定控制器的驗證被控對象。系統(tǒng)驗證的實驗設(shè)備使用東南大學(xué)過程控制實驗室的液位控制設(shè)備,,該裝置原理圖如圖5所示,。



    從圖6、圖7可以看出,,被控對象能較快速地達(dá)到目標(biāo)值,,并能根據(jù)設(shè)定的控制目標(biāo)進(jìn)行控制。
參考文獻(xiàn)
[1] 王偉,張晶濤,,柴天佑.PID參數(shù)先進(jìn)整定方法綜述[J].自動化學(xué)報,,2000,26(3):20-24.
[2] 陶永華.新型PID控制及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,,1998.
[3] 龐中華,,崔紅.系統(tǒng)辨識與自適應(yīng)控制Matlab仿真[M].北京:北京航空航天大學(xué)出版社,2008.
[4] 董寧.自適應(yīng)控制[M].北京:北京理工大學(xué)出版社,,2009.
[5] 潘琢金,,施國君.C8051Fxxx高速SoC單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。