基于WiFi的奥迪A4L发动机故障设置系统
2020-09-10郭彬
郭彬
摘要:基于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.