耿 婧
(安徽國防科技職業(yè)學(xué)院,安徽 六安 237011)
智能小車大多是在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電、紅外線等傳感器及金屬探測器,實現(xiàn)對其速度、位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機進(jìn)行處理,然后由單片機根據(jù)檢測到的各種數(shù)據(jù)實現(xiàn)對電動車的智能控制。隨著單片機在不同領(lǐng)域投入使用,受運行時間、金屬材料等因素的影響,導(dǎo)致單片機負(fù)荷較高、溫度過熱,因此,單片機溫控技術(shù)引發(fā)廣泛關(guān)注[1]。
張安迪等[2]設(shè)計了在正常工作條件下以單片機為核心控制元件、熱電制冷器和加熱器為執(zhí)行元件、溫度傳感器和鉑電阻為溫度檢測元件的溫度控制系統(tǒng)。此系統(tǒng)結(jié)構(gòu)簡單,無需大量運算,易于實現(xiàn),但具有較大的滯后性,會影響到整個溫控系統(tǒng)的穩(wěn)定。孫萬麟等[3]以單片機、可編程分辨率的數(shù)字溫度傳感器和液晶顯示屏等為核心控制器件,設(shè)計了一款溫室多點溫度檢測系統(tǒng),但是當(dāng)要求精密控制溫度時,該方法很難實現(xiàn)。
模糊PID方法通過輸入誤差和誤差變化率兩個變量,動態(tài)調(diào)整PID控制器的參數(shù),使得控制器的性能達(dá)到最優(yōu)。本文基于模糊PID提出了智能小車單片機溫度控制技術(shù)。
AT89C51單片機是一種低損耗、高性能的八位微處理器,可以使用軟件編程實現(xiàn)各種控制算法和邏輯控制,不需要外部擴展存儲器,可使系統(tǒng)整體結(jié)構(gòu)更為簡單。因此選用AT89C51單片機可以實現(xiàn)基于模糊PID方法的智能小車溫度控制。AT89C51單片機共40個引腳,32個并行口,其內(nèi)部引腳圖,如圖1所示。
圖1 AT89C51單片機引腳圖
圖1中,串行口20為接地引腳,串行口40為電源引腳;串行口9為復(fù)位引腳,也是備用電源引腳,用于實現(xiàn)溫度控制的復(fù)位功能;串行口1~8、10~17、21~28和32~39均為I/O端口引腳,實現(xiàn)溫度數(shù)據(jù)的輸入和輸出;串行口18和19為時鐘引腳,實現(xiàn)晶振輸入功能;串行口29為輸出訪問外部存儲器選通信號;串行口30為溫度控制的脈沖輸入;串行口31為電源輸入。
對于常規(guī)控制器對溫度控制效果不佳的問題,提出了一種新的基于模糊PID的智能小車單片機溫度控制技術(shù),從而有效地解決非精確的信號問題[4]。根據(jù)PID控制的特性,在智能小車單片機溫度控制的各個環(huán)節(jié)中,深入地分析溫度控制的要求,以達(dá)到對智能小車溫度控制的實優(yōu)化時目標(biāo)[5]?;诖?,結(jié)合模糊PID溫度控制方法來實現(xiàn)對智能小車單片機溫度的有效控制。PID控制函數(shù)表示為:
式中:f(n)為控制器的輸出,gj(x)為控制器的第j個輸入,Ep為差分常數(shù)。
控制器輸入數(shù)據(jù)被定量地轉(zhuǎn)化為一組與模糊PID區(qū)間中的幾個模糊PID子集中相關(guān)的數(shù)值,通過模糊化得到對應(yīng)的模糊PID子集中的歸屬[6]。在模糊論域中,利用“負(fù)值”(NB),“0”(Z0),“正大”(PB)等詞語來解釋“模糊性”。根據(jù)實際情況,一般選取4~8個模糊性的子集來覆蓋整個問題。采用AT89C51單片機作為控制器,輔助取樣、回饋、驅(qū)動、可控硅主要電路來實現(xiàn)對智能車的溫控。采用溫度傳感線路對電站高壓單片機的溫度狀態(tài)進(jìn)行實時監(jiān)測,通過數(shù)據(jù)傳輸至智能溫控器進(jìn)行線路調(diào)節(jié);通過A/D取樣,通過A/D變換器向溫控儀發(fā)送數(shù)據(jù)量;采用單片機對采樣器內(nèi)的溫度值進(jìn)行全面處理,在溫度超出安全范圍時,可啟動冷/暖風(fēng)發(fā)生器,將其降溫至預(yù)定值,并能實現(xiàn)對溫度的調(diào)節(jié),見圖2。
圖2 模糊PID溫度控制設(shè)備結(jié)構(gòu)
如圖2所示,單片機溫度自動控制設(shè)備具有高溫報警、自動跳閘、實時溫度數(shù)據(jù)監(jiān)管、風(fēng)機啟動、停止、鐵芯高溫報警等功能,一旦溫度超過標(biāo)準(zhǔn),報警燈就會自動跳閘[7]。單片機的動力性能和承載能力決定智能小車的驅(qū)動方式,根據(jù)單片機的負(fù)載與功率需求,綜合研究其功率、扭矩、轉(zhuǎn)速等參數(shù),確定智能小車最佳的驅(qū)動方式。基于以單片機為控制器的小車動態(tài)性能,得到其轉(zhuǎn)彎半徑為:
式中:au,an代表兩個主動輪的直線中心,tL代表兩個主動盤的中心,tR代表單片機的轉(zhuǎn)向。單片機在運動時,會產(chǎn)生方向偏差e和角度偏差m。當(dāng)小車行駛時,其驅(qū)動力需要對抗各種阻力,例如:摩擦力W、斜面阻尼Q、加速阻尼C?;谏鲜鍪芰Ω蓴_計算單片機的整體驅(qū)動能力為:
式中:μ為小車的重量,P為最大負(fù)荷;在單片機工作過程中最少的接觸是智能小車行駛過程中的地面摩阻系數(shù)ηi,最大的坡度d。單片機的傳動馬達(dá)的額定轉(zhuǎn)矩H與單片機驅(qū)動力Z之間的控制關(guān)系為:
式中:L是驅(qū)動輪的直徑,a為最大的加速度。因此,汽車PID控制中心質(zhì)心轉(zhuǎn)速為:
單片機是一個復(fù)雜的多耦合的復(fù)雜非線性體系,其動態(tài)特性很難通過單一的方法獲得。根據(jù)電機的原理,得出了溫度ΔT和電樞的電壓U的關(guān)系:
進(jìn)一步根據(jù)PID的尺寸調(diào)節(jié)智能小車溫度控制參數(shù)。假定一次體系的主要功能是換熱,所以得到了一個最優(yōu)的換熱器計算公式為:
根據(jù)該方程推導(dǎo)出PID溫度控制的傳輸方程為:
PID參數(shù)的調(diào)節(jié)對PID的控制效果具有很大的影響,PID控制器在進(jìn)行參數(shù)整定過程中,要求對其進(jìn)行數(shù)學(xué)模型化,并采用比例調(diào)節(jié)、積分調(diào)節(jié)、微分調(diào)節(jié)等方法,根據(jù)設(shè)定值的大小,采用相關(guān)的控制方法[8]。PID調(diào)整過程的工藝參數(shù)可以按下列方法進(jìn)行:采用比例系數(shù)Kp來確定PID的積分項與差,此時的PID是單純的比例控制,觀察到該體系的動力學(xué)特性,當(dāng)曲線繞著給定的中心振蕩時,該體系的變化趨勢沒有變化,逐漸減小。當(dāng)處于振動時,應(yīng)將Kp的值增加到60%,使之成為參考。在調(diào)節(jié)時,必須對各控制點進(jìn)行微分調(diào)節(jié),以保證微分運動達(dá)到0。當(dāng)無過調(diào)節(jié)、過調(diào)節(jié)少、上升速度較低時,則要增加比例系數(shù),增加積分的數(shù)量。當(dāng)出現(xiàn)了過度的曲線緩慢的錯誤清除速度時,需要增加積分的作用來減少積分的數(shù)量[9]。如果在經(jīng)過一段波動后,控制曲線出現(xiàn)了過大的變化,或者出現(xiàn)了不穩(wěn)定的情況,那么應(yīng)該減少比例因素,并提高積分的數(shù)量[10]。調(diào)整因子和調(diào)整時刻都要經(jīng)過數(shù)次調(diào)整,在調(diào)整數(shù)值比較大的情況下,要增加一定的誤差,再經(jīng)過反復(fù)調(diào)整才能保持穩(wěn)定性。
在熱靶標(biāo)定中,使用標(biāo)稱功率的熱靶加熱,其標(biāo)稱電流約1A。將目標(biāo)溫度表的測點值與一個溫控對象的階躍響應(yīng)相結(jié)合,從而得到一個溫度場的數(shù)學(xué)模式。加熱對象的工作環(huán)境是非常復(fù)雜的,它的工作方式經(jīng)常會改變[11]。通過對熱靶進(jìn)行標(biāo)定,得到了與一次加熱器相同的溫升曲線,發(fā)現(xiàn)熱靶管熱控制有一定的延遲,其延遲系數(shù)算法為:
式中:e-2τ為PID開環(huán)的功率;?為躍響系數(shù)。根據(jù)采樣時的偏差m,對PID控制設(shè)備進(jìn)行離散求解。選取合適的采樣周期T,對該公式進(jìn)行數(shù)值采樣,該公式可以由線性控制方程替代。
在PID調(diào)節(jié)時,由于各個參量的改變,會使整個控制的穩(wěn)定性和其他溫度參量產(chǎn)生改變。因此為保障熱靶加熱性能,需要對于PID控制穩(wěn)定運行進(jìn)行反復(fù)調(diào)試,導(dǎo)出在固定時間范圍內(nèi)的調(diào)試算法,具體為:
式中:E(i)為在時間域熱靶的熱輻射方程,b是恒定的。由于高溫靶在不穩(wěn)定的條件下,其受熱輻射強度會受到外部條件的影響。當(dāng)外界環(huán)境不同時,PID控制不能迅速、準(zhǔn)確地調(diào)整相同的設(shè)定值。通過MATLAB擬合方法,得到了所有的數(shù)據(jù)點集。通過這種方法,可以在一定的時間區(qū)間中獲得一個熱靶熱函數(shù)。利用多個參量進(jìn)行擬合,得出了開環(huán)系數(shù)E(i)=100,在加熱時,外界的溫度越高,對外界熱量的吸收越大,反之則越低。因此,在車內(nèi)氣溫降低、車外氣溫升高時,維持熱量平衡所需的電能也會增加[12]。儀表接收到的溫度訊號需要通過自動調(diào)節(jié)的開啟和關(guān)閉來完成高溫的自動警報和自動斷電,采用主機界面顯示、聲音報警等方法進(jìn)行溫度控制,具體步驟如圖3所示。
圖3 智能型熱靶溫控處理步驟優(yōu)化設(shè)計
通過通信技術(shù)把物體的溫度信息寫入單片機,通過單片機來完成溫度的檢測。采用直流固態(tài)保護(hù)器的驅(qū)動電路,使其能對熱靶進(jìn)行加熱[13]。由于高溫靶在不穩(wěn)定的外部條件下,其受熱輻射強度會受到外部條件的影響。在熱靶目標(biāo)受熱過程中,外部環(huán)境的溫度越高,對外部的熱吸收的作用越大,其散熱性能就越差。因而,在外部條件較差的情況下,當(dāng)熱靶目標(biāo)設(shè)備保持熱均衡所需要的電力較大、外部條件較高時,保持熱靶目標(biāo)設(shè)備熱靶均衡所需要的電力較少。所以,在外部環(huán)境溫度的初值存在差異的情況下,同一PID參數(shù)無法快速精確地將溫度調(diào)節(jié)到同一設(shè)置值的位置。
為保障智能小車單片機溫度控制效果,必須設(shè)置偏差的控制范圍,基于此需要計算模糊偏差率,具體算法如下:
經(jīng)過計算得到熱靶加熱誤差準(zhǔn)確度,然后將其離散,從而達(dá)到連續(xù)的程度。為了實現(xiàn)模糊控制,需要將熱靶加熱輸入從基本論域轉(zhuǎn)換為模糊集合理論,再用量化因子來實現(xiàn)。通過以上PID模糊性過程,可以得到一個包含大、小、中的輸入值和輸出數(shù)值,從而得到屬于功能的曲線,如圖4所示。
圖4 輸入變量隸屬函數(shù)曲線
圖4展示了一個依賴于輸出的變數(shù),根據(jù)設(shè)計穩(wěn)定性、持續(xù)響應(yīng)時間、穩(wěn)態(tài)準(zhǔn)確度等方面的要求,利用PID進(jìn)行動態(tài)、動態(tài)、穩(wěn)態(tài)的精確調(diào)節(jié),得到了PID控制器的溫控規(guī)則:存在較大的錯誤時,必須增加響應(yīng)速率,避免錯誤,降低連續(xù)的響應(yīng)[14]。PID的選擇要以最大和最小為約束,保證偏移的量值都在中等范圍內(nèi)的同時,保證溫度的上升速度是不變的,因此,此時要選用隸屬函數(shù)曲線最短的兩個最大值和一個最大值。如果有較大的偏差,可以選擇兩個較大的參數(shù)值,以保證在接近設(shè)定的條件下單片機的穩(wěn)定運行。將控制分為數(shù)據(jù)采集、輸出控制、數(shù)據(jù)交互和人機界面四大模塊。采用AVR芯片內(nèi)的ID變換電路,實現(xiàn)對熱靶信號的模擬,并對高溫數(shù)據(jù)和低溫數(shù)據(jù)進(jìn)行數(shù)字化處理[15]。
采用模糊PID控制算法,對采集樣本進(jìn)行控制運算,再利用MCU內(nèi)的A/D變換實現(xiàn)模擬信號;數(shù)據(jù)交換部分采用USB與AVR單片機上的芯片相結(jié)合,實現(xiàn)對游動和磁盤信息的采集;智能溫控將采集到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,設(shè)定成對應(yīng)的溫度計,并與各種溫差進(jìn)行比較,最后調(diào)節(jié)溫度值,實現(xiàn)PID自動調(diào)節(jié)。本方案的核心內(nèi)容是通過單片機采集到溫度數(shù)據(jù),并根據(jù)此方法進(jìn)行計算,再通過單片機進(jìn)行控制,設(shè)備的功能模塊分配如圖5所示。
圖5智能小車單片機溫度控制設(shè)備結(jié)構(gòu)配置優(yōu)化
在設(shè)計中要充分地考慮噪聲的影響,在布線時要注意噪聲的隔離,增設(shè)了一個硬體濾波器,并加入了A/D轉(zhuǎn)換中的軟件濾波,使得噪聲降到最低,提高A/D轉(zhuǎn)換精度:該方法需要將溫度的模擬值轉(zhuǎn)換成數(shù)值的電壓,然后用單片機對數(shù)據(jù)進(jìn)行處理和運算。因此A/D轉(zhuǎn)換的精確度將會對MCU的運算精度產(chǎn)生很大的影響。根據(jù)各溫度信號和A/D參考電壓的變化情況,選擇合適的A/D模塊可以有效地改善整體的控制性能在單片機控制的范圍內(nèi)。在溫度調(diào)節(jié)過程中,很多因素都會對溫度的精確控制有很大的影響,所以在進(jìn)行溫度調(diào)節(jié)時應(yīng)充分考慮各種影響因素,采取合理的措施以確保溫度的精確。下面將對溫控體系中包含的各個因素進(jìn)行分析:測溫電路精度的測定、測溫電路的溫值信號控制回路的輸入,控制的精度依賴于測溫電路的精確程度。但在實際運行過程中,溫控設(shè)備因其導(dǎo)熱問題的復(fù)雜性而表現(xiàn)出較大的非線性時滯和不均化特征,且溫控設(shè)備的延時主要是容積延時,延時大小取決于加熱體結(jié)構(gòu)、容量大小、溫度元件和溫度傳感器的設(shè)定。絕大多數(shù)的熱水器都是采用強迫式的方式來進(jìn)行加熱,較少采用自然冷卻。在過程控制方面,通常把電熱元件的動態(tài)特性看成是一條單一的滯后鏈條,它是一條、兩條或多條的慣性連接。
根據(jù)上述的模糊性和模糊度推斷,所述的輸入是一種包含了ΔSP、ΔSD的模糊度的集合,因此,必須將其解模糊化,才能將其轉(zhuǎn)化為清晰的數(shù)值。由于模糊PID具有較為平穩(wěn)的熱性能,因此利用最大從屬度方法進(jìn)行了解模約,便于進(jìn)行計算。利用最大隸屬度法對溫度變化進(jìn)行解模糊化管理,選擇與其最大值相關(guān)的模糊化,然后利用定量變換得到明確量,如公式(13):
上述公式的辨識模糊度是利用規(guī)則庫表達(dá)式推演出智能小車運行溫度的上下限幅度,基于該數(shù)值進(jìn)行溫度控制,由此保證智能小車運行安全。
設(shè)定0℃為起始溫度,目標(biāo)溫度為25℃,30s后將目標(biāo)溫度升至30℃。得出PID的初始值為Kp0=0.00016。在此基礎(chǔ)上,對各種影響因子的影響進(jìn)行了仿真調(diào)整。通過以下實驗來檢驗智能小車單片機溫控的合理性。把需要進(jìn)行交換機的資料裝置作為外接裝置,主要包含Windows應(yīng)用程式、其他主機。只有在確定了外置裝置以后,才能對智能小車單片機進(jìn)行溫度的自動調(diào)節(jié)。在S7-200PLC中選定測點數(shù)量,然后單擊“確認(rèn)”,彈出一個組態(tài)信息,把這個檔案改成名字,然后在裝置所選的連線界面上填上一個位址。將串行通訊的參數(shù)設(shè)定為:速率為9800bit/s,傳輸8bit的數(shù)據(jù)。同時,單片機溫控儀的各項指標(biāo)如表1所示。
表1 單片機溫控儀參數(shù)設(shè)置
為避免因車輛外部環(huán)境的改變而對電站高壓單片機的溫度調(diào)節(jié)試驗產(chǎn)生的不利影響,將車輛的車溫設(shè)定在25℃左右,規(guī)范小車溫度變化幅度范圍,具體如表2所示。
表2 智能小車溫度變化情況
用文獻(xiàn)[3]改進(jìn)溫室多點溫度檢測方法及本文方法進(jìn)行檢測,在相同環(huán)境下,對比文獻(xiàn)[3]方法與本文方法的實際應(yīng)用情況,結(jié)果如圖6所示。
圖6 兩種溫度自動控制結(jié)果對比
從圖6可以看出,相對于文獻(xiàn)[3]方法而言,本文方法在實際應(yīng)用過程中更符合表2中的標(biāo)準(zhǔn)值范圍,進(jìn)一步對比文獻(xiàn)[3]改進(jìn)溫室多點溫度檢測方法和本文模糊控制算法在相同干擾環(huán)境下的熱靶溫控偏差,具體如圖7所示。
圖7 兩種方法熱靶溫控偏差對比結(jié)果
基于圖7的檢測結(jié)果可知,在干擾環(huán)境下,本文方法在實際應(yīng)用過程中溫控偏差明顯更低,進(jìn)一步對比分析了相同環(huán)境下兩種方法的響應(yīng)時間,具體檢測結(jié)果,如圖8所示。
圖8 單片機溫控響應(yīng)時間
基于圖8的對比檢測結(jié)果可知,相對于文獻(xiàn)[3]方法而言,本文方法在相同環(huán)境下控制響應(yīng)更加迅速,且溫度控制的穩(wěn)定性也更好,由此證實,本文方法可以更加快速、準(zhǔn)確地對智能小車溫度進(jìn)行有效控制,保證溫度控制的有效性和合理性,充分滿足研究要求。
為了更好地提高智能小車單片機溫度控制效果,結(jié)合模糊PID技術(shù)進(jìn)行了優(yōu)化研究。通過實驗驗證了本文方法控制的溫度均在標(biāo)準(zhǔn)范圍內(nèi),在干擾環(huán)境中溫控偏差更低。不僅克服了運行過程中存在的波動過大等問題,而且溫度控制響應(yīng)時間短,可以更好地實現(xiàn)對溫度的有效控制。