張聲嵐,甘禮福,汪 雕,張烈平
(桂林理工大學(xué) 機(jī)械與控制工程學(xué)院,廣西 桂林 541006)
保暖手套是人們在冬天駕駛電動車的重要輔助工具,能夠有效地提高駕駛舒適性和避免駕駛過程中因手部過冷反應(yīng)靈敏度下降導(dǎo)致的交通事故[1]。而傳統(tǒng)電動車保暖手套臃腫、厚重,不利于駕駛,因此研究電加熱恒溫保暖手套,對提高駕駛電動車的安全性和舒適性具有重要意義[2]。
關(guān)于溫度控制的方法較多,位式調(diào)節(jié)控制方法較為簡單,但控制精度較差,溫度控制波動幅值較大[3],無法對電動車手套的溫度準(zhǔn)確調(diào)節(jié);神經(jīng)網(wǎng)絡(luò)控制方法較為復(fù)雜,對硬件運算能力要求較高,且成本較高,無法大規(guī)模普遍應(yīng)用[4];傳統(tǒng)PID控制方法的控制參數(shù)表現(xiàn)為靜態(tài),無法根據(jù)外界環(huán)境變化設(shè)置不同的控制參數(shù),且容易超調(diào),控制精度低,無法滿足電動車行駛過程中手套溫度自適應(yīng)調(diào)節(jié)的需求[5]。
針對上述問題,本文提出了一種基于自適應(yīng)模糊PID的電動車手套控溫方法,對系統(tǒng)的誤差、誤差變化率和系統(tǒng)控制參數(shù)建立模糊關(guān)系,運用模糊推理動態(tài)調(diào)整系統(tǒng)的控制參數(shù),以滿足不同環(huán)境下系統(tǒng)精確調(diào)節(jié)溫度對控制參數(shù)的要求,克服行駛速度、氣溫、風(fēng)速等因素影響[6],設(shè)計并實現(xiàn)電動車手套的硬件與軟件,通過實物驗證本文設(shè)計的電動車手套溫控系統(tǒng)。
硬件設(shè)計總體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)整體硬件結(jié)構(gòu)框圖Fig.1 System diagram of overall hardware structure
本文設(shè)計的電動車手套控溫系統(tǒng)具備自動感應(yīng)穿戴、語音交互、循環(huán)充電使用以及自適應(yīng)調(diào)節(jié)溫度等基本功能。系統(tǒng)硬件電路通過保護(hù)殼體固定于手套表面,STM32F103C8T6處理器作為控制核心, 接收人體感應(yīng)傳感器發(fā)送的穿戴信息, 自動啟動和關(guān)閉系統(tǒng), 并通過語音識別播報模塊與用戶進(jìn)行語音交互獲取操作命令,完成調(diào)溫、加熱等操作。該設(shè)計主要是通過溫度傳感器檢測的溫度數(shù)據(jù),對每個節(jié)點進(jìn)行模糊PID計算和分析,調(diào)節(jié)PWM脈沖輸出量,控制電加熱碳纖維發(fā)熱,實現(xiàn)自適應(yīng)調(diào)節(jié)手套內(nèi)部溫度。系統(tǒng)中電源管理電路為系統(tǒng)的處理器、傳感器模塊以及加熱碳纖維模塊等提供額定工作電源,保證系統(tǒng)正常工作。
手套溫度檢測與加熱電路如圖2所示。
圖2 手套溫度檢測與加熱電路原理圖Fig.2 Schematic diagram of temperature measurement and heating
手套固定于電動車把手, 通過手套上分別靠近手心和手背的面料夾層中的兩個獨立控溫節(jié)點對手套內(nèi)部均勻加熱, 控溫節(jié)點均包括DS18B20溫度傳感器和電加熱碳纖維, 通過導(dǎo)線和外部電路連接。 DS18B20是單總線輸出數(shù)字量的數(shù)字溫度傳感器, 具有多點組網(wǎng)功能,測量范圍-55~125 ℃, 精度可達(dá)0.062 5 ℃[7]。 電加熱碳纖維是一種導(dǎo)電發(fā)熱材料, 具有升溫迅速、 熱轉(zhuǎn)化效率高、 發(fā)熱時產(chǎn)生遠(yuǎn)紅外、 材質(zhì)柔軟、 對人體危害小等優(yōu)點[8]。 將兩個節(jié)點的DS18B20數(shù)據(jù)輸出端口并聯(lián)后與處理器PB0端口連接, 同時并聯(lián)5.1 kΩ上拉電阻, 實現(xiàn)兩個DS18B20并聯(lián)組網(wǎng)測溫, 穩(wěn)定數(shù)據(jù)傳送時序電平。 每個控溫節(jié)點的電加熱碳纖維和增強(qiáng)型MOS管漏極連接, 兩個MOS管的控制端門極分別和處理器中定時器2的通道1和通道2端口連接, 實現(xiàn)通過PWM脈沖控制MOS管通斷間接控制電加熱碳纖維工作狀態(tài), 進(jìn)而控制加熱量,準(zhǔn)確調(diào)溫。
人體感應(yīng)檢測電路采用HC-SR505人體檢測傳感器。HC-SR505是基于紅外線計算的自動控制傳感器,具有靈敏度高、體積小、低電壓工作模式等優(yōu)點。將HC-SR505安裝于電動車手套內(nèi)部,當(dāng)穿戴手套時,HC-SR505的紅外探頭檢測到人體輻射的紅外信號,數(shù)據(jù)輸出端口輸出高電平;反之,當(dāng)脫下手套時,輸出低電平,將數(shù)據(jù)輸出端口與處理器PB1端口連接,處理器通過檢測PB1端口高低電平狀態(tài)感應(yīng)穿戴情況,進(jìn)而根據(jù)穿戴情況自動控制系統(tǒng)的啟動和關(guān)閉,使系統(tǒng)更加方便和節(jié)能,人體感應(yīng)檢測電路原理如圖3所示。
圖3 穿戴感應(yīng)電路原理圖Fig.3 Schematic diagram of wearable induction circuit
語音交互電路采用LD3320一體化語音識別播報模塊進(jìn)行語音交互電路設(shè)計。LD3320是ICRoute公司設(shè)計的一款集語音識別和播報功能于一體的語音交互芯片,該芯片采用了ICRoute公司特有識別優(yōu)化算法,不用預(yù)先進(jìn)行錄音和訓(xùn)練就可識別語音,并且集成了模、數(shù)信號相互轉(zhuǎn)換接口,具有獨立的550 mW語音播報接口,輕松驅(qū)動喇叭播報,實現(xiàn)語音交互,便于單片機(jī)開發(fā)控制。將該模塊與處理器SPI總線端口連接,處理器通過SPI總線發(fā)送控制指令進(jìn)行語音文件的播報及接收語音識別信息,便于駕駛過程中語音交互快速設(shè)定和查詢手套加熱溫度,提高手套的舒適性和行車安全性,語音交互電路如圖4所示。
圖4 語音交互電路原理圖Fig.4 Schematic diagram of voice interaction circuit
以串聯(lián)的兩顆3.7 V鋰電池作為電源, 則電源的額定電壓為7.4 V, 額定電流為1 A, 輸出功率為7.4 W。電源管理電路包括充電電路和7.4 、5 及3.3 V供電電路,其中充電電路主要是通過SY6982C升壓充電芯片得到充電電壓,再經(jīng)HY2213均衡充電芯片對每顆電池均衡充電,電池采用USB充電接口,實現(xiàn)可充電循環(huán)使用。手套正常工作電源由電池提供,經(jīng)PL7022鋰電池輸出保護(hù)芯片后得到7.4 V供電電壓,再由開關(guān)電源芯片和線性穩(wěn)壓芯片降壓依次得到5和3.3 V供電電壓,為手套的加熱碳纖維以及各模塊提供工作電壓,維持正常運行,電路如圖5所示。
圖5 電源管理電路原理圖Fig.5 Schematic diagrams of power management circuit
手套在不同行駛速度、 外界溫度、 風(fēng)速等外界環(huán)境影響下, 系統(tǒng)的誤差和誤差變化率不同, 誤差較大時應(yīng)提高系統(tǒng)響應(yīng)和反應(yīng)速度, 誤差和誤差變化率都較小時應(yīng)減少靜態(tài)誤差和提高系統(tǒng)穩(wěn)定性[9]。 本系統(tǒng)引入基于自適模糊PID的智能控溫保暖系統(tǒng), 對不同環(huán)境下系統(tǒng)誤差及誤差變化率模糊推理動態(tài)調(diào)整系統(tǒng)控制參數(shù), 以滿足不同非線性因素影響下系統(tǒng)精確調(diào)節(jié)溫度對控制參數(shù)的要求, 從而減少系統(tǒng)的調(diào)節(jié)時間和超調(diào)量, 達(dá)到最優(yōu)控制效果,實現(xiàn)多環(huán)境下自適應(yīng)地調(diào)節(jié)手套溫度。
手套溫度自適應(yīng)控制原理是將自適應(yīng)模糊控制器和PID控制器相結(jié)合, 控制原理如圖6所示。 系統(tǒng)開啟后,PID控制器輸出一定值, 手套溫度上升, 手套上的溫度傳感器不斷采集節(jié)點溫度數(shù)據(jù), 得到各節(jié)點設(shè)定溫度和實際溫度的誤差和誤差變化率, 模糊控制器根據(jù)得到的誤差和誤差變化率及時調(diào)整PID控制器中Kp、Ki、Kd的值,使得PID控制器能夠自適應(yīng)調(diào)節(jié)加熱量,自動調(diào)節(jié)手套溫度[10]。
圖6 自適應(yīng)模糊控制原理圖Fig.6 Schematic diagram of adaptive fuzzy control
手套設(shè)定溫度值r(k)與實際溫度值y(k)之間的誤差e(k)為
e(k)=r(k)-y(k)。
(1)
誤差變化率ec(k)為當(dāng)前時刻誤差值與上一時刻誤差之差:
ec(k)=e(k)-e(k-1)。
(2)
通過式(3)的比例、 積分、 微分控制規(guī)律對手套溫度進(jìn)行連續(xù)性調(diào)節(jié), 使手套溫度快速到達(dá)設(shè)定溫度:
(3)
式中,u(t)為PID控制器輸出量;e(t)為當(dāng)前誤差量;Kp為比例系數(shù);Ti為積分時間常數(shù);Td為微分時間常數(shù)。對式(3)進(jìn)行離散化得到式(4), 便于單片機(jī)程序編程, 以及更好地消除穩(wěn)態(tài)誤差:
(4)
式中,u(k)為k時刻系統(tǒng)輸出控制量;Ki為積分系數(shù);Kd是微分系數(shù)。由式(4)遞推得k-1時刻系統(tǒng)輸出控制量為
Kd[e(k-1)-e(k-2)]。
(5)
式(4)和式(5)相減得到輸出控制增量為
Δu(k)=Kp[e(k)-e(k-1)]+Kie(k)+
Kd[e(k)-2e(k-1)+e(k-2)]。
(6)
本文設(shè)計的模糊控制器先通過隸屬函數(shù)對手套溫度設(shè)定值和實際值之間的誤差以及誤差變化率進(jìn)行模糊化得到輸入量,然后依據(jù)制定的模糊規(guī)則庫對輸入量推理出增量系數(shù)模糊值,反模糊化得到增量系數(shù)的確定值,最后通過增量系數(shù)調(diào)整系統(tǒng)控制參數(shù)。
2.2.1 模糊論域 手套溫度系統(tǒng)中輸入量為溫度誤差e及其變化率ec, 輸出量為比例增量系數(shù)ΔKp、 積分增量系數(shù)ΔKi以及微分增量系數(shù)ΔKd。 根據(jù)誤差e和誤差變化率ec的實際變化范圍, 并對系統(tǒng)溫度控制進(jìn)行綜合分析后, 將輸入量和輸出量量化在[-6, 6], 得到模糊控制的論域均為{-6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6},以及模糊量子集{NB、 NM、 NS、 ZO、 PS、 PM、 PB}。
2.2.2 模糊化 將輸入量通過隸屬函數(shù)從基本量轉(zhuǎn)化模糊量,隸屬函數(shù)的類型關(guān)系到手套控溫系統(tǒng)溫度響應(yīng)的穩(wěn)定性和快速性。為保證系統(tǒng)穩(wěn)定性和模糊推理準(zhǔn)確性,同時又不影響系統(tǒng)控制的靈敏度,對輸入變量采用較為集中和尖銳的三角函數(shù),輸出變量采用較為稀疏和平坦的高斯函數(shù)[11]。輸入和輸出變量隸屬函數(shù)曲線如圖7所示。
圖7 隸屬函數(shù)曲線Fig.7 Membership function curve
2.2.3 模糊規(guī)則與推理 本文設(shè)計系統(tǒng)的控制器參數(shù)規(guī)則見表1。 在系統(tǒng)運行中控制參數(shù)Kp、Ki、Kd的作用各不相同, 分別能夠提高系統(tǒng)響應(yīng)速度, 調(diào)節(jié)系統(tǒng)的穩(wěn)態(tài)偏差, 改善系統(tǒng)的動態(tài)性能[12]。 基于PID控制參數(shù)的控制特性以及多次模擬電動車手套實際使用環(huán)境實驗測試后發(fā)現(xiàn):啟動時,設(shè)定溫度和實際溫度的誤差e較大,Kp應(yīng)取較大的值使得手套能夠快速升溫,滿足實際使用中的需求,同時Ki和Kd應(yīng)取小些, 防止超調(diào); 當(dāng)手套溫度趨近于設(shè)定溫度時, 為消除穩(wěn)態(tài)誤差,Kp和Ki應(yīng)取大些; 當(dāng)外界環(huán)境變化較為明顯時, 手套溫度誤差變化率ec較大,Kp和Kd宜取大些,Ki取小些, 以提高系統(tǒng)的動態(tài)響應(yīng), 抑制環(huán)境變化引起的干擾; 同理,當(dāng)外界環(huán)境引起的誤差e及其誤差變化率ec為中等大小時, 為減少超調(diào), 防止手套溫度過高,Kp和Ki要取小些,Kd應(yīng)取中等大小值。
表1 模糊控制規(guī)則Table 1 Fuzzy control rules
2.2.4 解模糊 模糊控制器輸出為模糊量,不能直接輸出PID的控制參數(shù),本設(shè)計采用重心法(加權(quán)平均法)對輸出變量解模糊,得到PID控制參數(shù)增量系數(shù)ΔKp、 ΔKi、 ΔKd的確定值,再通過式(7)得到PID控制參數(shù)Kp、Ki、Kd的值,完成對PID控制器參數(shù)自適應(yīng)調(diào)整,實現(xiàn)有效自適應(yīng)控制手套溫度,防止超調(diào)。
(7)
式中:Kp0、Ki0、Kd0是PID控制器初始值;Kp、Ki、Kd是調(diào)整后的控制參數(shù)。
系統(tǒng)控制程序由主程序、6個單片機(jī)初始化子程序、3個傳感器初始化子程序以及6個功能子程序組成。其中6個單片機(jī)初始化子程序分別是單片機(jī)時鐘初始化子程序、單片機(jī)I/O端口初始化子程序、單片機(jī)中斷初始化子程序、單片機(jī)定時器初始化程序、單片機(jī)串口初始化子程序、PWM脈沖初始化子程序;3個傳感器初始化子程序分別是DS18B20初始化子程序、HC-SR505初始化子程序、LD3320初始化子程序;6個功能子程序分別是人體感應(yīng)檢測子程序、語音識別子程序、語音播報子程序、中斷服務(wù)子程序、延時子程序、模糊PID計算子程序。編程語言為C語言,通過Keil uVision5完成程序編寫和編譯,并使用J-Link進(jìn)行程序下載和仿真調(diào)試,完成對電動車手套智能控溫保暖系統(tǒng)的總體軟件設(shè)計和開發(fā),主程序流程如圖8所示。
圖8 主程序流程圖Fig.8 Flow chart of master program
自適應(yīng)模糊PID程序流程如圖9所示。通過定時器中斷服務(wù)函數(shù)對每個控溫節(jié)點周期性計算自適應(yīng)模糊PID,調(diào)整與更新每個節(jié)點的控制參數(shù)以及PWM輸出值。程序采用指針結(jié)構(gòu)體對各部分的模糊PID運算結(jié)果進(jìn)行保存、 傳遞以及更新, 擬指針訪問傳遞的是地址,可以減少運算時間,加快運行速度與效率。
圖9 自適應(yīng)模糊PID程序流程圖Fig.9 Flow chart of adaptive fuzzy PID program
自適應(yīng)模糊PID電動車手套控溫保暖系統(tǒng)的實物如圖10所示。通過空調(diào)調(diào)節(jié)風(fēng)速以及溫度模電動車手套在冬天的使用情況,測試在不同溫度、風(fēng)速環(huán)境下手套的控溫保暖效果,驗證系統(tǒng)的有效性。測試由4人(A、 B、 C、 D)進(jìn)行, 其中,A(實驗員A)負(fù)責(zé)穿戴傳統(tǒng)PID控溫系統(tǒng)手套, B(實驗員B)負(fù)責(zé)穿戴自適應(yīng)模糊PID控溫系統(tǒng)手套,C負(fù)責(zé)調(diào)節(jié)空調(diào)送風(fēng)速及溫度, D負(fù)責(zé)記錄手套溫度以及模糊PID控制參數(shù)Kp、Ki、Kd數(shù)據(jù)的變化情況。 兩只手套除控制算法不同外,其余部分全部相同,穿戴手套的兩名實驗員將手套伸向空調(diào)送風(fēng)口位置進(jìn)行測試。
圖10 自適應(yīng)模糊PID電動車手套控溫保暖系統(tǒng)實物Fig.10 Electric vehicle gloves of temperature control and warming system based on adaptive fuzzy PID
對手套溫控保暖系統(tǒng)的響應(yīng)性能進(jìn)行測試, 當(dāng)前手套內(nèi)部溫度為12 ℃, 實驗員通過語音設(shè)置手套溫度為19 ℃, 設(shè)置完成后啟動系統(tǒng), 測試并對比傳統(tǒng)PID控制系統(tǒng)和本文設(shè)計的控制系統(tǒng)的階躍響應(yīng)情況。 保持手套設(shè)定溫度19 ℃不變, 通過調(diào)節(jié)空調(diào)送風(fēng)速度和溫度, 改變外界干擾環(huán)境, 測試不同環(huán)境下手套控溫效果并記錄數(shù)據(jù)。
傳統(tǒng)PID控制系統(tǒng)和本文設(shè)計的控制系統(tǒng)的階躍響應(yīng)曲線如圖11所示。 傳統(tǒng)PID控制調(diào)節(jié)時間和超調(diào)量較大, 分別為173 s和21.4%,而自適應(yīng)模糊PID控制的調(diào)節(jié)時間為82 s,超調(diào)量為4.2%。由此可得,模糊自適應(yīng)PID控制優(yōu)于傳統(tǒng)PID控制,表明了該系統(tǒng)能夠有效避免超調(diào)對手套佩戴舒適度的影響。
圖11 不同算法下系統(tǒng)響應(yīng)曲線Fig.11 System response curves of different algorithms
在不同測試環(huán)境下手套溫度變化具體數(shù)據(jù)如表2所示。 對比兩種手套的測試數(shù)據(jù)可以發(fā)現(xiàn), 自適應(yīng)模糊PID的控制響應(yīng)速度快、 調(diào)節(jié)精度高、 超調(diào)量少、 系統(tǒng)調(diào)節(jié)效果優(yōu)于傳統(tǒng)的PID控制。 且在穿戴體驗上, 在長達(dá)1 h的測試過程中, 實驗員B反映在整個測試過程手套溫度舒適, 沒有出現(xiàn)過冷過熱的情況, 手部也未曾出現(xiàn)出汗情況, 而實驗員A反映在空調(diào)調(diào)節(jié)變化較為明顯時, 手套溫度跳變劇烈, 容易過熱,測試過程中手部出汗。
表2 不同算法和測試條件下溫度測試數(shù)據(jù)Table 2 Temperature test data of different algorithm and condition
綜上所述, 本文設(shè)計的電動車智能控溫保暖能夠抑制外界變化對控溫系統(tǒng)的干擾, 使電動車手套具有更好的穿戴舒適感。
本文設(shè)計的基于自適應(yīng)模糊PID電動車手套控溫保暖系統(tǒng),感應(yīng)到外界環(huán)境變化時,根據(jù)誤差和誤差變化率的變化,能夠及時自動調(diào)整PID參數(shù),使系統(tǒng)迅速達(dá)到設(shè)定值并維持穩(wěn)定,給穿戴用戶提供良好的舒適感;硬件上采用了人體檢測傳感器作為系統(tǒng)感應(yīng)開關(guān),能夠根據(jù)人們的穿戴情況自動切換系統(tǒng)工作狀態(tài),降低系統(tǒng)的功耗,并且采用語音交互模塊進(jìn)行人機(jī)交互,極大地方便在駕駛過程中快速設(shè)定手套參數(shù)。綜上所述,基于自適應(yīng)模糊PID電動車手套智能控溫保暖系統(tǒng)使用效果好,為電動車手套溫度的準(zhǔn)確控制提供了可行的解決方案。