郭彬



摘要:基于WiFi的奧迪A4L發動機故障設置系統由手機、ESP8266 WiFi模塊、STC15F2K60S2單片機、74HC595位移緩存器和繼電器模組等組成。手機完成故障設置,ESP8266 WiFi通信模塊接收故障設置指令并傳送給STC15F2K60S2單片機,74HC595擴展IO口,通過三極管8550放大,驅動相關繼電器,完成傳感器或執行器信號的切斷,實現故障設置。系統界面良好,可擴展性強,能實現遠程操控,具有一定的實際意義。
關鍵詞:實車;發動機;故障設置;WiFi
中圖分類號:U464? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-957X(2020)20-0149-02
0? 引言
近年來,很多職業院校汽車專業大都采用發動機實訓臺架進行電控元件結構原理教學以及故障檢測診斷技能訓練[1]。但汽車各系統間都已網絡化,僅依靠發動機臺架模擬出的故障并不能完全反映整車真實的狀態,這導致教學和生產存在一定程度的脫節。事實上,全國職業院校技能大賽要求選手在實車上完成發動機故障的檢測診斷[2]。如何優化管理現有的實訓車輛,提高實車的教學使用效率,引導和鼓勵教師自主開發基于崗位生產實踐和工作過程的實車發動機故障檢測診斷實訓軟硬件資源,就顯得尤為迫切。本系統利用WiFi網絡技術[3],遠程設置奧迪A4L實車發動機故障。
1? 系統總體框架
系統總體構架如圖1所示,包括:故障設置箱、信號檢測箱、手機,線束等組成。因為不能破壞原車線束,擬在發動機ECU與原車線束之間接入故障設置箱[4];系統通過手機WiFi,無線控制線路通斷,模擬故障發生;為了方便信號測量,要求系統能集成現有的信號檢測箱。
2? 系統硬件設計
如圖2所示,實車發動機故障設置系統主要由手機、ESP8266 WiFi模塊、STC15F2K60S2單片機、74HC595位移緩存器、繼電器模組等組成。手機APP完成故障設置,并將所設故障信息通過ESP8266 WiFi通信模塊傳給單片機;STC15F2K60S2單片機作為控制核心,與ESP8266 WiFi模塊通信,并用74HC595來擴展IO口[5],接收手機傳來的故障設置信息,通過三極管8550的放大[6],驅動相應的繼電器,完成相關傳感器或執行器信號的切斷,實現發動機故障的產生,滿足奧迪A4L發動機故障診斷實訓教學的需要。
2.1 單片機? 單片機選用STC15F2K60S2,該單片機最多有42個I/O口,但本系統需要設置54個線路通斷故障點,考慮到系統的可擴展性,選用了7片74HC595串入并出的CMOS 芯片,每1個74HC595輸出8個信號,將第1片的高位和第2片的低位相連,依此類推,7片共產生56個信號。根據故障設置需要,將來還可增加片數,以實現更多的輸出。
2.2 WiFi模塊? 系統選用ATK-ESP8266 WiFi模塊。ESP8266 WiFi是UART-WiFi(串口-無線)模塊,該模塊采用串口與單片機(或其他串口設備)通信,內置TCP/IP協議棧,能夠實現用戶串口與WiFi之間的轉換。系統采用串口轉AP工作模式[7]。
2.3 繼電器模組? 單片機不能直接驅動繼電器,必須外加三極管或其它功率元件驅動[8]。當74HC595的引腳輸出低電平時,三極管導通,繼電器線圈構成回路,常閉觸點開關斷開,傳感器或執行器所在線路斷開,故障產生。
3? 系統軟件設計
系統軟件設計總流程如圖3所示[9],其程序所要完成的主要任務如下。
系統上電后,必須首先進行初始化設置,主要內容如下:系統定時器初始化設置,包括計數方式、計數周期、分頻系數、中斷參數等;串口初始化,考慮到要與ESP8266的波特率匹配,系統波特率設為115200b/s。
然后設置ESP8266的工作模式和參數,單片機與ESP8266之間通過串口AT指令[10],來設置ESP8266的工作模式和參數(初始化),其過程包括如下:
①設置ESP8266為AP工作模式,重啟后生效。②設置ESP8266在AP工作模式下的參數,包括熱點名稱、密碼、通道號及加密模式。③查詢當前設備IP地址。④啟動多路連接模式(最多接入5個設備ID:0-4)。⑤開啟模塊為server模式。⑥用手機網絡調試助手,完成手機與ESP8266模塊的連接。手機APP發送故障設置的控制指令,ESP8266將接收到的指令數據發送給單片機,單片機調用串口中斷函數[11],將收到的字符存到Recive_table[]數組中,其程序如下:
void Uart Interrupt() interrupt 4
{
static char i=0;? //由于是逐位接收,因此用static
if(RI==1)
{
ES = 0;
RI=0;
Recive_table[i]=SBUF;? // 單片機接收ESP8266模塊傳來的指令數據
i++;
if((Recive_table[i-1]== '\n'))
{
Recive_table[i]='\0';
i=0;
Recive_state = 1;
}
ES = 1;
}
else
TI = 0;
}
最后,單片機控制74HC595驅動繼電器過程如下:74HC595是串入并出帶有鎖存功能移位的寄存器。若要實現對單片機IO口的擴展,首先需要定義單片機IO口與7個74HC595芯片的串行數據輸入引腳(SER)相連,其次需要定義單片機IO口與7個74HC595芯片的移位寄存器時鐘引腳(SRCLK)以及存儲寄存器時鐘輸入引腳(RCLK)相連。接著通過編程使7片74HC595全部輸出低電平,保證上電后所有繼電器開關處于閉合狀態,發動機沒有故障。方法是:第一級74HC595的輸入SER腳置低電平,連續給SRCLK腳56個上升沿,然后給RCLK一個上升沿。C語言程序如下:
SER=0;
for(i=0;i<56;i++)
{
sck=0;
delay();
sck=1;
}
rck=0;
delay();
rck=1;
這樣,當手機APP完成故障設置后,STC15F2K60S2單片機控制74HC595某個引腳輸出高電平,所對應的繼電器開關處于斷開狀態,發動機產生故障。
4? 實驗與驗證
通過實驗驗證,在手機APP上選定想要設置的故障(一般每次不超過3個),并通過WiFi傳輸到故障設置箱,故障設置箱完成故障設置,并點亮LED燈。使用奧迪故障診斷系統ODIS讀取故障碼或數據流[12],結合故障現象,表明發動機故障設置成功。系統使用方便,人機交互良好。
5? 結語
本文設計了一種基于WiFi的奧迪A4L發動機故障設置系統,系統由手機、單片機、寄存器、WiFi模塊、繼電器模組組成,通過手機APP設置發動機故障,具有良好的交互界面。系統可擴展性強,能實現遠程操控,具有一定的實際意義。
參考文獻:
[1]陳加國,周立,張書慧.汽車發動機電控系統實訓臺的研究與制作[J].南京工業職業技術學院學報,2012,12(04):39-41.
[2]黎世錕.基于全國技能大賽邁騰汽車疑難故障案例的剖析[J].時代汽車,2019(20):124-125.
[3]竺春祥,夏小彬,穆爽,陳澤杰,邱婷婷,孫嘉悅.基于WIFI網絡的實驗室智能用電管理系統[J].信息技術與信息化,2019(05):145-148.
[4]朱艷麗.實訓車輛發動機電控系統故障模擬實驗臺開發[D].吉林大學,2016:53-54.
[5]曹少科,楊晴,陳海宇,王碩.74HC595對單片機IO口的擴展及應用[J].科技風,2019(13):64.
[6]姜楠.基于STC89C51單片機的紅外遙控智能家居系統設計[J].現代電子技術,2012,35(24):162-164.
[7]張奇.基于Android平臺蝴蝶蘭大棚溫濕度測控系統的設計與實現[D].安徽農業大學,2016.
[8]王薇.淺談51單片機IO引腳驅動能力[J].電腦知識與技術,2014,10(09):2159-2160,2163.
[9]陳敏敏,廉迎戰,黃道燚.基于WiFi物聯網的溫度監控系統設計與實現[J].現代電子技術,2017,40(18):147-149,152.
[10]王福泉,萬頻,馮孔淼,張昱.DS18B20在空調檢測系統溫度采集模塊中的應用[J].電子技術應用,2011,37(08):46-48.
[11]張秀關.單片機與計算機串口通信實踐[M].北京:電子工業出版社,2013:117,123.
[12]一汽-大眾汽車有限公司.ODIS車輛診斷系統操作方法官方使用手冊[EB/OL].(2019.06.04)[2020.04.12.https://max.book118.com/html/2019/0603/8030070100002026.shtm.