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