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