徐丹杰,趙 冰
(1.廣東省機(jī)械技師學(xué)院,廣東 廣州 510450;2.廣東省技師學(xué)院,廣東 廣州 510800)
PID 控制器是由比例- 積分- 微分三個(gè)單元組成的一個(gè)反饋回路控制部件,廣泛應(yīng)用在工業(yè)控制應(yīng)用中。在PID 算法中,既要考慮控制對(duì)象的當(dāng)前狀態(tài)值(現(xiàn)在狀態(tài)),還要考慮控制對(duì)象過(guò)去一段時(shí)間的狀態(tài)值(歷史狀態(tài))和最近一段時(shí)間的狀態(tài)值變化(預(yù)期), 將這3 方面的值共同來(lái)決定當(dāng)前的輸出控制信號(hào);比例、積分、微分三種運(yùn)算組合時(shí),優(yōu)化調(diào)整參數(shù)相互配合,在系統(tǒng)控制時(shí)可以起到快速、及時(shí)調(diào)節(jié)偏差,提高了控制的靈敏度,提高系統(tǒng)控制精度,改善穩(wěn)態(tài)性能和提高系統(tǒng)穩(wěn)定性,從而能達(dá)到良好的控制效果。
在硬件PID 電路中,一般是采用運(yùn)算放大電路構(gòu)成比例、微分、積分電路三個(gè)單元電路,再將三個(gè)單元電路進(jìn)行求和輸出控制信號(hào),純硬件電路的調(diào)試過(guò)程繁雜,對(duì)元件的要求和電路的設(shè)計(jì)要求較高,軟件PID 可以配合少量硬件,基于單片機(jī)來(lái)實(shí)現(xiàn)。設(shè)計(jì)一個(gè)基于硬件與軟件結(jié)合一體的PID 電機(jī)調(diào)速電路[1],能對(duì)直流電機(jī)的轉(zhuǎn)速進(jìn)行一定的調(diào)整,從而使電機(jī)在空載和一定的負(fù)載情況下,均可能得到恒定的轉(zhuǎn)速,電機(jī)的轉(zhuǎn)速通過(guò)數(shù)碼管或是LED屏進(jìn)行顯示。將兩種PID 調(diào)速的性能特點(diǎn)進(jìn)行對(duì)比分析,可通過(guò)開關(guān)進(jìn)行實(shí)時(shí)的切換,為實(shí)際應(yīng)用提供更加成熟的可借鑒方案。
整機(jī)硬件電路結(jié)構(gòu)圖如圖1 。將電機(jī)轉(zhuǎn)速通過(guò)霍爾傳感器檢測(cè)出來(lái),霍爾傳感器輸出為一般輸出方波信號(hào)。方波的低電平一般在0~0.5 V,高電平一般大于1 V。這種PWM方波信號(hào)要通過(guò)轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換成直流電壓信號(hào)。這里可以采用CD4013 來(lái)實(shí)現(xiàn)F/V 功能的轉(zhuǎn)換。
圖1 硬件PID 電路結(jié)構(gòu)框圖
原理如圖2:當(dāng)霍爾傳感器檢測(cè)到電機(jī)旋轉(zhuǎn)時(shí),會(huì)從霍爾傳感器的1 腳輸出如圖所示的矩形波,該矩形波的占空比保持不變,矩形波的頻率按照電機(jī)的轉(zhuǎn)速成正比變化。當(dāng)CLK 脈沖的上升沿到達(dá)時(shí),使CD4013 的輸出翻轉(zhuǎn)為高電平(時(shí)序見真值表1)。
圖2 F/V 轉(zhuǎn)換電路
表1 CD4013 真值表
此時(shí),CD4013 的1 腳輸出的高電平將通過(guò)電位器R20 對(duì)電容C6 充電,當(dāng)C6 充電達(dá)到高電平時(shí),使其4 腳復(fù)位信號(hào)(R 為高電平)有效,電路復(fù)位,CD4013 的1 腳輸出低電平,此時(shí)電容再通過(guò)二極管D4、R25 快速放電,基本在下一個(gè)CLK 上升沿到達(dá)前已經(jīng)放電完成,4 腳(R)處于低電平,即循環(huán)至一下周期。從實(shí)物的波形對(duì)比上來(lái)看,CD4013 的1 腳輸出端子的信號(hào)為占空比不變,頻率按電機(jī)轉(zhuǎn)速變化而變化的矩形波,將該矩形波通過(guò)R26 與C7 組成的RC 濾波器濾波后輸出直流電送入信號(hào)調(diào)理電路。
原理如下:由F/V 信號(hào)輸出的電壓送入反相跟隨器做緩沖后進(jìn)入第二級(jí)電壓放大(可調(diào)最大到5 倍)。再經(jīng)求和電路輸出在POUT 端子,以便與PID 調(diào)節(jié)電路進(jìn)行合適地比較。
比例環(huán)節(jié):集成運(yùn)算放大器的反饋網(wǎng)絡(luò)采用電阻從而構(gòu)成電壓串聯(lián)負(fù)反饋電路,即是一個(gè)比例環(huán)節(jié)。
積分環(huán)節(jié):如果系統(tǒng)存在穩(wěn)定狀態(tài),積分環(huán)節(jié)將始終給跟蹤穩(wěn)定狀態(tài),有時(shí)表現(xiàn)為適應(yīng)不斷變化的干擾。根據(jù)以上思路,可以得到一個(gè)比較簡(jiǎn)單的比例積分環(huán)節(jié)。
原理如下:信號(hào)調(diào)理電路送出的POUT 信號(hào)經(jīng)過(guò)IC5 與PID 給定信號(hào)(由電位器R34 產(chǎn)生)進(jìn)行比較,輸出經(jīng)由IC1A 構(gòu)成的比例運(yùn)算電路、IC1B 構(gòu)成的積分電路和IC1C 構(gòu)成的微分電路進(jìn)行求和運(yùn)算經(jīng)IC1D 輸出到VOUT 端。電位器R1 可調(diào)節(jié)比例因子,R10 可以調(diào)節(jié)積分因子,R11 可以調(diào)節(jié)微分因子。調(diào)試時(shí),應(yīng)先將R10、R11 的值調(diào)節(jié)至使電路不起作用的位置(即等效電阻為0)。然后再調(diào)節(jié)R10,R11 使其電路能正常輸出即可。在本電路中,積分和微分的效果需要反復(fù)不斷地調(diào)節(jié)。
原理見圖3,直流電機(jī)的驅(qū)動(dòng)需要PWM 信號(hào)來(lái)控制,PWM 信號(hào)的占空比的大小與電機(jī)的轉(zhuǎn)速成比例,利用滯回比較產(chǎn)生矩形波,經(jīng)積分電路得到三角波,PWM 信號(hào)的產(chǎn)生可以利用三角波與PID 調(diào)節(jié)的直流電壓信號(hào)進(jìn)行比較得到。
圖3 H 橋驅(qū)動(dòng)電路
直流電機(jī)的PWM信號(hào)需要較大的電流,而單片機(jī)輸出的電流信號(hào)較弱,無(wú)法直接驅(qū)動(dòng)電機(jī),需要利用三極管或是MOS 管構(gòu)成“H 橋”電路來(lái)實(shí)現(xiàn)驅(qū)動(dòng),MOS 管作驅(qū)動(dòng)時(shí),可以獲得更大的驅(qū)動(dòng)電流,要實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)控制,需要四個(gè)MOS 管構(gòu)成上下兩個(gè)半橋,將電機(jī)接與橋臂之間。電機(jī)動(dòng)轉(zhuǎn),電流導(dǎo)通的路徑是對(duì)角線上的一對(duì)場(chǎng)效應(yīng)管,另外一個(gè)對(duì)角線的場(chǎng)效應(yīng)管截止。電流從電機(jī)的左流向右,或是右流向左,從而控制電機(jī)的正反轉(zhuǎn)。
H 橋式[3]電機(jī)驅(qū)動(dòng)電路包括4 個(gè)場(chǎng)效應(yīng)管(三極管)和一個(gè)電機(jī)。要使電機(jī)運(yùn)轉(zhuǎn),必需導(dǎo)通對(duì)角線上的一對(duì)場(chǎng)效應(yīng)管(三極管)。依據(jù)不同效應(yīng)管(三極管)對(duì)的導(dǎo)通狀況,電流可能會(huì)從左至右或從右至左流過(guò)電機(jī),從而控制電機(jī)的轉(zhuǎn)向。
滯回比較器產(chǎn)生矩形波后再經(jīng)積分得到三角波,將三角波與PID 調(diào)節(jié)的直流電壓信號(hào)進(jìn)行比較就可以得到PWM信號(hào)了,該信號(hào)就可以作為驅(qū)動(dòng)H 橋電機(jī)的驅(qū)動(dòng)信號(hào),以控制電機(jī)的轉(zhuǎn)速??刂圃砣缦拢寒?dāng)SW3 處于1 檔,即接通了PWM。
將SW2 處于1 時(shí),IC3A 的1、2 腳接高電平,3 腳輸出低電平。IC3C 的10 腳輸出高電平,從而使FT3 截止,FT4 導(dǎo)通。IC3D 的11 腳輸出電平由PWM決定,當(dāng)PWM為高時(shí),IC3D 的11 腳輸出高電平,FT1 截止,從而使電機(jī)無(wú)電流流過(guò)。當(dāng)PWM為低時(shí),IC3D 的11 腳輸出低電平,FT1 導(dǎo)通,從而使電流經(jīng)FT1 至電機(jī)再流過(guò)FT4 到地,通過(guò)改變PWM 的占空比,可使電機(jī)上面的平均電壓得到相應(yīng)的變化,從而控制電機(jī)的轉(zhuǎn)速。
當(dāng)SW2 開關(guān)處于3 檔時(shí),IC3A 的1、2 腳接低電平,3 腳輸出高電平。IC3D 的11 腳輸出高電平,從而使FT1 截止,FT2 導(dǎo)通。IC3C 的10 腳輸出電平由PWM決定,當(dāng)PWM為高時(shí),IC3C 的10 腳輸出高電平,FT4 導(dǎo)通,從而使電機(jī)無(wú)電流流過(guò)。當(dāng)PWM 為低時(shí),IC3C 的10腳輸出低電平,FT3 導(dǎo)通,從而使電流經(jīng)FT3 至電機(jī)再流過(guò)FT2 到地,通過(guò)改變PWM的占空比,可使電機(jī)上面的平均電壓得到相應(yīng)的變化,從而控制電機(jī)的轉(zhuǎn)速。通過(guò)SW2 的開關(guān)位置,改變電機(jī)電流的流向,從而改變了電機(jī)的轉(zhuǎn)速,整體電路圖見圖4。
圖4 PID 硬件電路圖
系統(tǒng)采用增量型PID[4]算法來(lái)實(shí)現(xiàn),其原理是對(duì)位置型PID 取增量,將相鄰兩次采樣時(shí)刻所計(jì)算的位置值作比較(減法),作為系統(tǒng)控制器的輸出結(jié)果,如果控制量輸出結(jié)果是增量,對(duì)應(yīng)上一次的控制量需要增加控制量,反之為減少控制量。
KP為比例系數(shù),KI為積分系數(shù),KD為微分系數(shù),e(k)為誤差,e(k-1):誤差變化。
為了實(shí)現(xiàn)這個(gè)公式:在STM32 單片機(jī)[5](可以使用性價(jià)比高F0 系列)中做下面的程序設(shè)計(jì):PID 運(yùn)算實(shí)現(xiàn)過(guò)程仍然是分為定義變量、初始化變量、實(shí)現(xiàn)控制算法函數(shù)——PID 運(yùn)算函數(shù)。把單片機(jī)IO 口接至傳感器輸出端采集電機(jī)轉(zhuǎn)速的輸出端,利用單片機(jī)輸入中斷對(duì)信號(hào)進(jìn)行采集,得到當(dāng)前電機(jī)的轉(zhuǎn)速,把當(dāng)前實(shí)時(shí)轉(zhuǎn)速和目標(biāo)轉(zhuǎn)速都傳入PID 運(yùn)算函數(shù)中,這個(gè)PID運(yùn)算函數(shù)按照增量式計(jì)算公式能自動(dòng)分析計(jì)算,輸出調(diào)整量。再把我們?cè)O(shè)定的當(dāng)前量與調(diào)整量作疊加即是實(shí)際輸出控制電機(jī)的PWM了,實(shí)現(xiàn)流程見圖5。
圖5 軟件PID 實(shí)現(xiàn)流程
本設(shè)計(jì)的方案是探索PID 硬件與軟件調(diào)節(jié)方式的共同實(shí)現(xiàn),在同一電路上對(duì)同一目標(biāo)電機(jī)進(jìn)行實(shí)驗(yàn),均取得了預(yù)期的效果,經(jīng)過(guò)對(duì)比,用硬件電路實(shí)現(xiàn)的PID 是模擬量輸出,是連續(xù)的,控制精度上要好于軟件,但軟件PID 使用簡(jiǎn)單、靈活、調(diào)節(jié)也更方便。硬件PID 能為電路分析初學(xué)者提供完整的電路結(jié)構(gòu)和完整原理性的功能展現(xiàn)。兩種在電工電子業(yè)專業(yè)的教學(xué)和實(shí)際產(chǎn)品的研究中可分別提供較好的借鑒思路。