彭燦瓊++劉剛++董胡
摘 要:該設(shè)計(jì)運(yùn)用增量式PID算法在FPGA內(nèi)實(shí)現(xiàn)智能濕度控制系統(tǒng)中的控制核心模塊。增量式PID算法相比傳統(tǒng)的PID算法具有計(jì)算誤差對(duì)控制量影響小,手動(dòng)自動(dòng)無(wú)沖擊切換,可靠性高等優(yōu)點(diǎn)。且基于FPGA進(jìn)行硬件電路設(shè)計(jì)方法相比對(duì)單片機(jī)采用軟件編程的方法來(lái)實(shí)現(xiàn)PID控制在控制精度、速度、穩(wěn)定性等多個(gè)方面具有不可比擬的優(yōu)勢(shì)。
關(guān)鍵詞:FPGA 增量式PID控制 濕度控制
中圖分類(lèi)號(hào):TP273 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-098X(2014)05(a)-0041-02
隨著社會(huì)的發(fā)展,濕度作為一個(gè)重要的環(huán)境參數(shù),人們逐漸意識(shí)到濕度標(biāo)準(zhǔn)對(duì)人體健康和生產(chǎn)車(chē)間工藝水平的影響和重要性。特別是一些高標(biāo)準(zhǔn)的實(shí)驗(yàn)室和生產(chǎn)車(chē)間(如半導(dǎo)體芯片車(chē)間)都需要恒濕環(huán)境下工作。本設(shè)計(jì)采用先進(jìn)的PID控制算法理論,基于FPGA平臺(tái),采用Verilog HDL語(yǔ)言和原理圖混合設(shè)計(jì)性能優(yōu)越的濕度控制器。模擬PID因其結(jié)構(gòu)靈活,魯棒性好,可靠性高而成為應(yīng)用最廣泛的一種控制方法[1]。但自從計(jì)算機(jī)進(jìn)入控制領(lǐng)域以來(lái),特別是單片機(jī)等微處理器的發(fā)展,采用軟件編程的方法實(shí)現(xiàn)數(shù)字PID控制器來(lái)取代模擬PID控制器已廣泛應(yīng)用于多個(gè)不同的控制領(lǐng)域。這種方法雖然有控制靈活,修改方便等優(yōu)點(diǎn),但是同時(shí)帶來(lái)了穩(wěn)定性和可靠性不高,精度和速度不高等缺點(diǎn)。而FPGA因其體積小,集成度高,運(yùn)用EDA技術(shù)在FPGA內(nèi)部設(shè)計(jì)硬件電路的特點(diǎn),不僅繼承了前種方法的優(yōu)點(diǎn),同時(shí)還具有單片機(jī)不可比擬的控制精度和速度以及較高的穩(wěn)定性[2]。在整個(gè)控制系統(tǒng)中核心和關(guān)鍵點(diǎn)就是PID控制算法的實(shí)現(xiàn),其直接關(guān)系著該濕度控制系統(tǒng)的性能?;诖?,本設(shè)計(jì)在分析傳統(tǒng)PID工作原理的前提下,結(jié)合FPGA的特點(diǎn),運(yùn)用改進(jìn)的增量式PID算法進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。
1 增量式PID控制器原理
1.1 模擬PID控制
PID控制在模擬控制系統(tǒng)中依然占據(jù)著重要的位置。常規(guī)的模擬PID控制系統(tǒng)原理結(jié)構(gòu)圖如圖1所示。
所調(diào)PID控制,就是一種對(duì)偏差進(jìn)行比例(P)、積分(I)、微分(D)變換的控制規(guī)律。PID控制器根據(jù)給定值r(t)與實(shí)際輸出值y(t)構(gòu)成控制偏差:
(1)
u(t)作為控制系統(tǒng)中的中間變量,即是偏差e(t)通過(guò)PID控制算法處理后的輸出量,又是被控對(duì)象的輸入量,因此模擬PID控制器的控制規(guī)律為: [3]
(2)
其中,KP為模擬控制器的比例增益,TI為模擬控制器的積分時(shí)間常數(shù),TD為模擬控制器的微分時(shí)間常數(shù)。
1.2 傳統(tǒng)離散PID算法
FPGA為數(shù)字芯片,只能對(duì)數(shù)字信號(hào)進(jìn)行處理,無(wú)法實(shí)現(xiàn)對(duì)模擬PID的控制,需要將模擬PID離散化,根據(jù)采樣時(shí)刻的偏差來(lái)實(shí)現(xiàn)PID算法,因此式(2)中的微分和積分項(xiàng)兩項(xiàng)內(nèi)容需要作離散化處理。將模擬PID算法轉(zhuǎn)化成離散PID控制算法,假設(shè)T為采樣周期,則可作如下變換:
(3)
(4)
(5)
將式(3)、式(4)、式(5)帶入式(2)后,那么轉(zhuǎn)換后離散PID算法為:
(6)
式中k為采樣序號(hào);為比例系數(shù);令為積分常數(shù);為微分常數(shù)。則式(6)變?yōu)椋?/p>
(7)
式(7)為位置式離散PID算法表達(dá)式。
1.3 增量式PID控制算法
增量型算法就是對(duì)位置型算法取增量,可由式(7)得到數(shù)字PID增量型控制算式,按照遞推原理得:
(8)
用式(7)減去(8),可得:[4]
(9)
令;;則式(9)變?yōu)椋?/p>
(10)
式(10)為增量式PID控制算法表達(dá)式。
通過(guò)比較分析得知在控制參數(shù)相同的情況下增量式的PID控制算法相比于傳統(tǒng)的PID控制具有響應(yīng)速度更快,超調(diào)量更小的優(yōu)點(diǎn)。本設(shè)計(jì)就是采用增量式的PID控制算法來(lái)完成控制的。
2 增量式PID控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)
綜合設(shè)計(jì)要求和設(shè)計(jì)難度,本設(shè)計(jì)采用并行結(jié)構(gòu)來(lái)實(shí)現(xiàn)增量式PID控制器,根據(jù)式(10)得出該P(yáng)ID控制器的系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
該結(jié)構(gòu)與其他結(jié)構(gòu)相比不僅減少了乘法器和加法器,使其節(jié)省了FPGA的內(nèi)部資源,電路簡(jiǎn)單,而且速度快,穩(wěn)定可靠性高。
根據(jù)圖2結(jié)構(gòu),在FPGA內(nèi)部采用自頂向下的設(shè)計(jì)方法,整個(gè)系統(tǒng)分為偏差產(chǎn)生模塊,參數(shù)乘法模塊,并行加法模塊三個(gè)子模塊。最后把其三個(gè)子模塊綜合成頂層模塊,頂層模塊采用原理圖設(shè)計(jì)方法,頂層模塊電路結(jié)構(gòu)圖如圖3所示。
各個(gè)子模塊如下所述。
2.1 偏差產(chǎn)生模塊
該模塊主要是完成產(chǎn)生設(shè)定值r(k)與經(jīng)過(guò)A/D采樣后的反饋值y(k)之間的偏差值e(k)以及前一次偏差值e(k-1)和前兩次的偏差值e(k-2)。本設(shè)計(jì)采用Verilog HDL語(yǔ)言描述,由于偏差值可能為負(fù)數(shù),所以在程序中對(duì)r(k)、y(k)進(jìn)行位擴(kuò)展,然后再進(jìn)行按位取反加1的補(bǔ)碼加法運(yùn)算,部分代碼為always@(posedge clk)begin temp1<={rk[7],rk}; emp2<=~{yk[7],yk}+1;ek0<= temp1+temp2;ek1<=ek0;ek2<= ek1;end。e(k-1)和e(k-2)則通過(guò)控制時(shí)鐘上升沿設(shè)計(jì)寄存器完成產(chǎn)生輸出。經(jīng)仿真測(cè)試,仿真數(shù)據(jù)完全符合設(shè)計(jì)需求。
2.2 參數(shù)乘法模塊
該模塊首先根據(jù)階躍響應(yīng)特性以及實(shí)際經(jīng)驗(yàn),采用擴(kuò)充響應(yīng)曲線法得到PID控制算法所必須的KP、KI、KD三個(gè)參數(shù)。然后再根據(jù)A=KP+KI+KD,B=-(KP+2KD),C=KD分別計(jì)算出系數(shù)A,B,C。最后利用FPGA內(nèi)部乘法器的IP核來(lái)完成本設(shè)計(jì)所要求的有符號(hào)乘法運(yùn)算。
設(shè)計(jì)完后,經(jīng)仿真測(cè)試驗(yàn)證正確。
2.3 并行加法模塊
最后就是完成把三個(gè)乘積量相加,同理運(yùn)用并行加法器宏模塊來(lái)完成該模塊。這樣就不必編寫(xiě)程序設(shè)計(jì)并行加法器來(lái)完成該子模塊的設(shè)計(jì)。這種方法不僅設(shè)計(jì)快而且性能穩(wěn)定可靠。
各個(gè)子模塊設(shè)計(jì)完后,再形成完整的增量式PID控制系統(tǒng),最終系統(tǒng)仿真圖如圖4所示,經(jīng)過(guò)反復(fù)驗(yàn)證,該設(shè)計(jì)正確有效。
3 結(jié)語(yǔ)
本設(shè)計(jì)是在詳細(xì)分析增量式PID算法的基礎(chǔ)上,運(yùn)用現(xiàn)代的EDA技術(shù),基于altera公司的Cyclone II EP2C5Q208C8芯片,進(jìn)行分模塊設(shè)計(jì)與實(shí)現(xiàn)。經(jīng)過(guò)仿真測(cè)試和板級(jí)調(diào)試及反復(fù)修改設(shè)計(jì)出符合該濕度控制系統(tǒng)的性能需求。該模塊可經(jīng)過(guò)稍微的修改形成PID控制器的IP核,方便運(yùn)用NIOS II軟核進(jìn)行系統(tǒng)級(jí)調(diào)用和移植到其他PID控制系統(tǒng)中。
參考文獻(xiàn)
[1] 張科,靖固.利用FPGA的增量式PID控制的研究[J].現(xiàn)代制造工程,2009(3):112-114.
[2] 陳昭明,白向林,龔曉宏.基于FPGA的數(shù)字PID控制器設(shè)計(jì)[J].重慶科技學(xué)院學(xué)報(bào)(自然科學(xué)報(bào)),2010,12(2):149-151.
[3] 段彬,孫同景,李振華.快速浮、定點(diǎn)PID控制器FPGA的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(36):202-206.endprint
摘 要:該設(shè)計(jì)運(yùn)用增量式PID算法在FPGA內(nèi)實(shí)現(xiàn)智能濕度控制系統(tǒng)中的控制核心模塊。增量式PID算法相比傳統(tǒng)的PID算法具有計(jì)算誤差對(duì)控制量影響小,手動(dòng)自動(dòng)無(wú)沖擊切換,可靠性高等優(yōu)點(diǎn)。且基于FPGA進(jìn)行硬件電路設(shè)計(jì)方法相比對(duì)單片機(jī)采用軟件編程的方法來(lái)實(shí)現(xiàn)PID控制在控制精度、速度、穩(wěn)定性等多個(gè)方面具有不可比擬的優(yōu)勢(shì)。
關(guān)鍵詞:FPGA 增量式PID控制 濕度控制
中圖分類(lèi)號(hào):TP273 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-098X(2014)05(a)-0041-02
隨著社會(huì)的發(fā)展,濕度作為一個(gè)重要的環(huán)境參數(shù),人們逐漸意識(shí)到濕度標(biāo)準(zhǔn)對(duì)人體健康和生產(chǎn)車(chē)間工藝水平的影響和重要性。特別是一些高標(biāo)準(zhǔn)的實(shí)驗(yàn)室和生產(chǎn)車(chē)間(如半導(dǎo)體芯片車(chē)間)都需要恒濕環(huán)境下工作。本設(shè)計(jì)采用先進(jìn)的PID控制算法理論,基于FPGA平臺(tái),采用Verilog HDL語(yǔ)言和原理圖混合設(shè)計(jì)性能優(yōu)越的濕度控制器。模擬PID因其結(jié)構(gòu)靈活,魯棒性好,可靠性高而成為應(yīng)用最廣泛的一種控制方法[1]。但自從計(jì)算機(jī)進(jìn)入控制領(lǐng)域以來(lái),特別是單片機(jī)等微處理器的發(fā)展,采用軟件編程的方法實(shí)現(xiàn)數(shù)字PID控制器來(lái)取代模擬PID控制器已廣泛應(yīng)用于多個(gè)不同的控制領(lǐng)域。這種方法雖然有控制靈活,修改方便等優(yōu)點(diǎn),但是同時(shí)帶來(lái)了穩(wěn)定性和可靠性不高,精度和速度不高等缺點(diǎn)。而FPGA因其體積小,集成度高,運(yùn)用EDA技術(shù)在FPGA內(nèi)部設(shè)計(jì)硬件電路的特點(diǎn),不僅繼承了前種方法的優(yōu)點(diǎn),同時(shí)還具有單片機(jī)不可比擬的控制精度和速度以及較高的穩(wěn)定性[2]。在整個(gè)控制系統(tǒng)中核心和關(guān)鍵點(diǎn)就是PID控制算法的實(shí)現(xiàn),其直接關(guān)系著該濕度控制系統(tǒng)的性能?;诖?,本設(shè)計(jì)在分析傳統(tǒng)PID工作原理的前提下,結(jié)合FPGA的特點(diǎn),運(yùn)用改進(jìn)的增量式PID算法進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。
1 增量式PID控制器原理
1.1 模擬PID控制
PID控制在模擬控制系統(tǒng)中依然占據(jù)著重要的位置。常規(guī)的模擬PID控制系統(tǒng)原理結(jié)構(gòu)圖如圖1所示。
所調(diào)PID控制,就是一種對(duì)偏差進(jìn)行比例(P)、積分(I)、微分(D)變換的控制規(guī)律。PID控制器根據(jù)給定值r(t)與實(shí)際輸出值y(t)構(gòu)成控制偏差:
(1)
u(t)作為控制系統(tǒng)中的中間變量,即是偏差e(t)通過(guò)PID控制算法處理后的輸出量,又是被控對(duì)象的輸入量,因此模擬PID控制器的控制規(guī)律為: [3]
(2)
其中,KP為模擬控制器的比例增益,TI為模擬控制器的積分時(shí)間常數(shù),TD為模擬控制器的微分時(shí)間常數(shù)。
1.2 傳統(tǒng)離散PID算法
FPGA為數(shù)字芯片,只能對(duì)數(shù)字信號(hào)進(jìn)行處理,無(wú)法實(shí)現(xiàn)對(duì)模擬PID的控制,需要將模擬PID離散化,根據(jù)采樣時(shí)刻的偏差來(lái)實(shí)現(xiàn)PID算法,因此式(2)中的微分和積分項(xiàng)兩項(xiàng)內(nèi)容需要作離散化處理。將模擬PID算法轉(zhuǎn)化成離散PID控制算法,假設(shè)T為采樣周期,則可作如下變換:
(3)
(4)
(5)
將式(3)、式(4)、式(5)帶入式(2)后,那么轉(zhuǎn)換后離散PID算法為:
(6)
式中k為采樣序號(hào);為比例系數(shù);令為積分常數(shù);為微分常數(shù)。則式(6)變?yōu)椋?/p>
(7)
式(7)為位置式離散PID算法表達(dá)式。
1.3 增量式PID控制算法
增量型算法就是對(duì)位置型算法取增量,可由式(7)得到數(shù)字PID增量型控制算式,按照遞推原理得:
(8)
用式(7)減去(8),可得:[4]
(9)
令;;則式(9)變?yōu)椋?/p>
(10)
式(10)為增量式PID控制算法表達(dá)式。
通過(guò)比較分析得知在控制參數(shù)相同的情況下增量式的PID控制算法相比于傳統(tǒng)的PID控制具有響應(yīng)速度更快,超調(diào)量更小的優(yōu)點(diǎn)。本設(shè)計(jì)就是采用增量式的PID控制算法來(lái)完成控制的。
2 增量式PID控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)
綜合設(shè)計(jì)要求和設(shè)計(jì)難度,本設(shè)計(jì)采用并行結(jié)構(gòu)來(lái)實(shí)現(xiàn)增量式PID控制器,根據(jù)式(10)得出該P(yáng)ID控制器的系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
該結(jié)構(gòu)與其他結(jié)構(gòu)相比不僅減少了乘法器和加法器,使其節(jié)省了FPGA的內(nèi)部資源,電路簡(jiǎn)單,而且速度快,穩(wěn)定可靠性高。
根據(jù)圖2結(jié)構(gòu),在FPGA內(nèi)部采用自頂向下的設(shè)計(jì)方法,整個(gè)系統(tǒng)分為偏差產(chǎn)生模塊,參數(shù)乘法模塊,并行加法模塊三個(gè)子模塊。最后把其三個(gè)子模塊綜合成頂層模塊,頂層模塊采用原理圖設(shè)計(jì)方法,頂層模塊電路結(jié)構(gòu)圖如圖3所示。
各個(gè)子模塊如下所述。
2.1 偏差產(chǎn)生模塊
該模塊主要是完成產(chǎn)生設(shè)定值r(k)與經(jīng)過(guò)A/D采樣后的反饋值y(k)之間的偏差值e(k)以及前一次偏差值e(k-1)和前兩次的偏差值e(k-2)。本設(shè)計(jì)采用Verilog HDL語(yǔ)言描述,由于偏差值可能為負(fù)數(shù),所以在程序中對(duì)r(k)、y(k)進(jìn)行位擴(kuò)展,然后再進(jìn)行按位取反加1的補(bǔ)碼加法運(yùn)算,部分代碼為always@(posedge clk)begin temp1<={rk[7],rk}; emp2<=~{yk[7],yk}+1;ek0<= temp1+temp2;ek1<=ek0;ek2<= ek1;end。e(k-1)和e(k-2)則通過(guò)控制時(shí)鐘上升沿設(shè)計(jì)寄存器完成產(chǎn)生輸出。經(jīng)仿真測(cè)試,仿真數(shù)據(jù)完全符合設(shè)計(jì)需求。
2.2 參數(shù)乘法模塊
該模塊首先根據(jù)階躍響應(yīng)特性以及實(shí)際經(jīng)驗(yàn),采用擴(kuò)充響應(yīng)曲線法得到PID控制算法所必須的KP、KI、KD三個(gè)參數(shù)。然后再根據(jù)A=KP+KI+KD,B=-(KP+2KD),C=KD分別計(jì)算出系數(shù)A,B,C。最后利用FPGA內(nèi)部乘法器的IP核來(lái)完成本設(shè)計(jì)所要求的有符號(hào)乘法運(yùn)算。
設(shè)計(jì)完后,經(jīng)仿真測(cè)試驗(yàn)證正確。
2.3 并行加法模塊
最后就是完成把三個(gè)乘積量相加,同理運(yùn)用并行加法器宏模塊來(lái)完成該模塊。這樣就不必編寫(xiě)程序設(shè)計(jì)并行加法器來(lái)完成該子模塊的設(shè)計(jì)。這種方法不僅設(shè)計(jì)快而且性能穩(wěn)定可靠。
各個(gè)子模塊設(shè)計(jì)完后,再形成完整的增量式PID控制系統(tǒng),最終系統(tǒng)仿真圖如圖4所示,經(jīng)過(guò)反復(fù)驗(yàn)證,該設(shè)計(jì)正確有效。
3 結(jié)語(yǔ)
本設(shè)計(jì)是在詳細(xì)分析增量式PID算法的基礎(chǔ)上,運(yùn)用現(xiàn)代的EDA技術(shù),基于altera公司的Cyclone II EP2C5Q208C8芯片,進(jìn)行分模塊設(shè)計(jì)與實(shí)現(xiàn)。經(jīng)過(guò)仿真測(cè)試和板級(jí)調(diào)試及反復(fù)修改設(shè)計(jì)出符合該濕度控制系統(tǒng)的性能需求。該模塊可經(jīng)過(guò)稍微的修改形成PID控制器的IP核,方便運(yùn)用NIOS II軟核進(jìn)行系統(tǒng)級(jí)調(diào)用和移植到其他PID控制系統(tǒng)中。
參考文獻(xiàn)
[1] 張科,靖固.利用FPGA的增量式PID控制的研究[J].現(xiàn)代制造工程,2009(3):112-114.
[2] 陳昭明,白向林,龔曉宏.基于FPGA的數(shù)字PID控制器設(shè)計(jì)[J].重慶科技學(xué)院學(xué)報(bào)(自然科學(xué)報(bào)),2010,12(2):149-151.
[3] 段彬,孫同景,李振華.快速浮、定點(diǎn)PID控制器FPGA的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(36):202-206.endprint
摘 要:該設(shè)計(jì)運(yùn)用增量式PID算法在FPGA內(nèi)實(shí)現(xiàn)智能濕度控制系統(tǒng)中的控制核心模塊。增量式PID算法相比傳統(tǒng)的PID算法具有計(jì)算誤差對(duì)控制量影響小,手動(dòng)自動(dòng)無(wú)沖擊切換,可靠性高等優(yōu)點(diǎn)。且基于FPGA進(jìn)行硬件電路設(shè)計(jì)方法相比對(duì)單片機(jī)采用軟件編程的方法來(lái)實(shí)現(xiàn)PID控制在控制精度、速度、穩(wěn)定性等多個(gè)方面具有不可比擬的優(yōu)勢(shì)。
關(guān)鍵詞:FPGA 增量式PID控制 濕度控制
中圖分類(lèi)號(hào):TP273 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-098X(2014)05(a)-0041-02
隨著社會(huì)的發(fā)展,濕度作為一個(gè)重要的環(huán)境參數(shù),人們逐漸意識(shí)到濕度標(biāo)準(zhǔn)對(duì)人體健康和生產(chǎn)車(chē)間工藝水平的影響和重要性。特別是一些高標(biāo)準(zhǔn)的實(shí)驗(yàn)室和生產(chǎn)車(chē)間(如半導(dǎo)體芯片車(chē)間)都需要恒濕環(huán)境下工作。本設(shè)計(jì)采用先進(jìn)的PID控制算法理論,基于FPGA平臺(tái),采用Verilog HDL語(yǔ)言和原理圖混合設(shè)計(jì)性能優(yōu)越的濕度控制器。模擬PID因其結(jié)構(gòu)靈活,魯棒性好,可靠性高而成為應(yīng)用最廣泛的一種控制方法[1]。但自從計(jì)算機(jī)進(jìn)入控制領(lǐng)域以來(lái),特別是單片機(jī)等微處理器的發(fā)展,采用軟件編程的方法實(shí)現(xiàn)數(shù)字PID控制器來(lái)取代模擬PID控制器已廣泛應(yīng)用于多個(gè)不同的控制領(lǐng)域。這種方法雖然有控制靈活,修改方便等優(yōu)點(diǎn),但是同時(shí)帶來(lái)了穩(wěn)定性和可靠性不高,精度和速度不高等缺點(diǎn)。而FPGA因其體積小,集成度高,運(yùn)用EDA技術(shù)在FPGA內(nèi)部設(shè)計(jì)硬件電路的特點(diǎn),不僅繼承了前種方法的優(yōu)點(diǎn),同時(shí)還具有單片機(jī)不可比擬的控制精度和速度以及較高的穩(wěn)定性[2]。在整個(gè)控制系統(tǒng)中核心和關(guān)鍵點(diǎn)就是PID控制算法的實(shí)現(xiàn),其直接關(guān)系著該濕度控制系統(tǒng)的性能?;诖耍驹O(shè)計(jì)在分析傳統(tǒng)PID工作原理的前提下,結(jié)合FPGA的特點(diǎn),運(yùn)用改進(jìn)的增量式PID算法進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。
1 增量式PID控制器原理
1.1 模擬PID控制
PID控制在模擬控制系統(tǒng)中依然占據(jù)著重要的位置。常規(guī)的模擬PID控制系統(tǒng)原理結(jié)構(gòu)圖如圖1所示。
所調(diào)PID控制,就是一種對(duì)偏差進(jìn)行比例(P)、積分(I)、微分(D)變換的控制規(guī)律。PID控制器根據(jù)給定值r(t)與實(shí)際輸出值y(t)構(gòu)成控制偏差:
(1)
u(t)作為控制系統(tǒng)中的中間變量,即是偏差e(t)通過(guò)PID控制算法處理后的輸出量,又是被控對(duì)象的輸入量,因此模擬PID控制器的控制規(guī)律為: [3]
(2)
其中,KP為模擬控制器的比例增益,TI為模擬控制器的積分時(shí)間常數(shù),TD為模擬控制器的微分時(shí)間常數(shù)。
1.2 傳統(tǒng)離散PID算法
FPGA為數(shù)字芯片,只能對(duì)數(shù)字信號(hào)進(jìn)行處理,無(wú)法實(shí)現(xiàn)對(duì)模擬PID的控制,需要將模擬PID離散化,根據(jù)采樣時(shí)刻的偏差來(lái)實(shí)現(xiàn)PID算法,因此式(2)中的微分和積分項(xiàng)兩項(xiàng)內(nèi)容需要作離散化處理。將模擬PID算法轉(zhuǎn)化成離散PID控制算法,假設(shè)T為采樣周期,則可作如下變換:
(3)
(4)
(5)
將式(3)、式(4)、式(5)帶入式(2)后,那么轉(zhuǎn)換后離散PID算法為:
(6)
式中k為采樣序號(hào);為比例系數(shù);令為積分常數(shù);為微分常數(shù)。則式(6)變?yōu)椋?/p>
(7)
式(7)為位置式離散PID算法表達(dá)式。
1.3 增量式PID控制算法
增量型算法就是對(duì)位置型算法取增量,可由式(7)得到數(shù)字PID增量型控制算式,按照遞推原理得:
(8)
用式(7)減去(8),可得:[4]
(9)
令;;則式(9)變?yōu)椋?/p>
(10)
式(10)為增量式PID控制算法表達(dá)式。
通過(guò)比較分析得知在控制參數(shù)相同的情況下增量式的PID控制算法相比于傳統(tǒng)的PID控制具有響應(yīng)速度更快,超調(diào)量更小的優(yōu)點(diǎn)。本設(shè)計(jì)就是采用增量式的PID控制算法來(lái)完成控制的。
2 增量式PID控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)
綜合設(shè)計(jì)要求和設(shè)計(jì)難度,本設(shè)計(jì)采用并行結(jié)構(gòu)來(lái)實(shí)現(xiàn)增量式PID控制器,根據(jù)式(10)得出該P(yáng)ID控制器的系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
該結(jié)構(gòu)與其他結(jié)構(gòu)相比不僅減少了乘法器和加法器,使其節(jié)省了FPGA的內(nèi)部資源,電路簡(jiǎn)單,而且速度快,穩(wěn)定可靠性高。
根據(jù)圖2結(jié)構(gòu),在FPGA內(nèi)部采用自頂向下的設(shè)計(jì)方法,整個(gè)系統(tǒng)分為偏差產(chǎn)生模塊,參數(shù)乘法模塊,并行加法模塊三個(gè)子模塊。最后把其三個(gè)子模塊綜合成頂層模塊,頂層模塊采用原理圖設(shè)計(jì)方法,頂層模塊電路結(jié)構(gòu)圖如圖3所示。
各個(gè)子模塊如下所述。
2.1 偏差產(chǎn)生模塊
該模塊主要是完成產(chǎn)生設(shè)定值r(k)與經(jīng)過(guò)A/D采樣后的反饋值y(k)之間的偏差值e(k)以及前一次偏差值e(k-1)和前兩次的偏差值e(k-2)。本設(shè)計(jì)采用Verilog HDL語(yǔ)言描述,由于偏差值可能為負(fù)數(shù),所以在程序中對(duì)r(k)、y(k)進(jìn)行位擴(kuò)展,然后再進(jìn)行按位取反加1的補(bǔ)碼加法運(yùn)算,部分代碼為always@(posedge clk)begin temp1<={rk[7],rk}; emp2<=~{yk[7],yk}+1;ek0<= temp1+temp2;ek1<=ek0;ek2<= ek1;end。e(k-1)和e(k-2)則通過(guò)控制時(shí)鐘上升沿設(shè)計(jì)寄存器完成產(chǎn)生輸出。經(jīng)仿真測(cè)試,仿真數(shù)據(jù)完全符合設(shè)計(jì)需求。
2.2 參數(shù)乘法模塊
該模塊首先根據(jù)階躍響應(yīng)特性以及實(shí)際經(jīng)驗(yàn),采用擴(kuò)充響應(yīng)曲線法得到PID控制算法所必須的KP、KI、KD三個(gè)參數(shù)。然后再根據(jù)A=KP+KI+KD,B=-(KP+2KD),C=KD分別計(jì)算出系數(shù)A,B,C。最后利用FPGA內(nèi)部乘法器的IP核來(lái)完成本設(shè)計(jì)所要求的有符號(hào)乘法運(yùn)算。
設(shè)計(jì)完后,經(jīng)仿真測(cè)試驗(yàn)證正確。
2.3 并行加法模塊
最后就是完成把三個(gè)乘積量相加,同理運(yùn)用并行加法器宏模塊來(lái)完成該模塊。這樣就不必編寫(xiě)程序設(shè)計(jì)并行加法器來(lái)完成該子模塊的設(shè)計(jì)。這種方法不僅設(shè)計(jì)快而且性能穩(wěn)定可靠。
各個(gè)子模塊設(shè)計(jì)完后,再形成完整的增量式PID控制系統(tǒng),最終系統(tǒng)仿真圖如圖4所示,經(jīng)過(guò)反復(fù)驗(yàn)證,該設(shè)計(jì)正確有效。
3 結(jié)語(yǔ)
本設(shè)計(jì)是在詳細(xì)分析增量式PID算法的基礎(chǔ)上,運(yùn)用現(xiàn)代的EDA技術(shù),基于altera公司的Cyclone II EP2C5Q208C8芯片,進(jìn)行分模塊設(shè)計(jì)與實(shí)現(xiàn)。經(jīng)過(guò)仿真測(cè)試和板級(jí)調(diào)試及反復(fù)修改設(shè)計(jì)出符合該濕度控制系統(tǒng)的性能需求。該模塊可經(jīng)過(guò)稍微的修改形成PID控制器的IP核,方便運(yùn)用NIOS II軟核進(jìn)行系統(tǒng)級(jí)調(diào)用和移植到其他PID控制系統(tǒng)中。
參考文獻(xiàn)
[1] 張科,靖固.利用FPGA的增量式PID控制的研究[J].現(xiàn)代制造工程,2009(3):112-114.
[2] 陳昭明,白向林,龔曉宏.基于FPGA的數(shù)字PID控制器設(shè)計(jì)[J].重慶科技學(xué)院學(xué)報(bào)(自然科學(xué)報(bào)),2010,12(2):149-151.
[3] 段彬,孫同景,李振華.快速浮、定點(diǎn)PID控制器FPGA的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(36):202-206.endprint