吴晓云, 代伟
(商洛学院,电子信息与电气工程学院, 陕西,商洛 726000)
随着社会的不断进步和经济的不断发展,越来越多的汽车进入千家万户,汽车成为众多家庭的交通工具,为人们的生活和生产带来了极大的便利。让生产生活进入“快车道”[1]。汽车在驾驶时,油量是必须考虑的重要因素,因此每个驾驶员时刻掌握油箱中的油量显得尤为重要,传统的油量检测仪是三刻度的仪表,该仪表油量的显示受油量传感器的限制,提示效果较差[2-3]。本设计将超声波测量技术、温度采集技术、报警技术与油箱进行结合,设计出了一款汽车油量监测报警系统。该系统是通过超声波测量技术对油箱的油位高度进行采集,用户自行设置油量的上下限,将超声波传感器采集的油位高度处理后得到实时油量值,同设置的油量阈值进行对比决定是否进行报警的结构模式。可以在用户给汽车加油阶段实时显示当前油量值,防止油量添加不足导致汽车半路抛锚或油量加入过多溢出浪费资源,污染环境[4]。本设计在满足人们追求简单便利的情况下,提高了人机交互能力,与传统的油量监测相比,本设计更加智能化,更符合现在人们的需求,为人们驾车出行或者工业生产等提供了一定保障。
系统总体设计如图1所示,主要由硬件部分和程序控制两部分组成。硬件部分包括主控电路、信号采集电路、电源电路、声光报警电路、液晶显示电路、按键电路等;程序控制部分为油量高度与温度信号的采集、数据显示等[5]。当采集的参数不满足设定的阈值时,发出声光报警提示。
图1 系统设计框图
系统主要模块选择LM7805CV作为稳压芯片,稳压模块的电路如图2所示。通过变压器将市电220 V交流电降到9 V后用作IN输入电压,通过稳压可以得到需要的5 V直流输出,主要为单片机、超声波传感器、温度采集传感器以及液晶显示等供电[6]。
图2 电源模块原理图
该模块选用HC-SR04超声波模块,由超声波发射器、接收器与控制电路组成,其发射端和单片机P2.1端口连接,接收端和单片机P2.2端口连接。能提供2~400 cm的非接触式距离感测功能,测距精度可高达3 mm,盲区2 cm左右,利用单片机给控制口发送超过10 μs的高电平信号系统内部会自动发送8个方波信号[7]。系统自测判断有没有收到返回的信号,如果收到返回的信号,则使得接收口产生高电平信号,这个高电平信号存在的时间就是超声波测量到障碍物之间所用时间的2倍。超声波传播的速度c与温度有关系,对测量要求较高的情况下可通过温度补偿以提高测量精度,如式(1)[8]。
(1)
温度采集模块选用DS18B20,该传感器具有体积小、硬件开销小、抗干扰能力强、精度高、附加功能强等优点,可将检测到的实时温度转为串行数字信号,送给单片机处理[9]。DS18B20的数据采集端与单片机P2.0端口连接。
按键电路中3个独立按键用于连接单片机P1.4,P1.5和P1.6。程序扫描3个端口,确定K1按下执行设置功能,K2按下执行数值加100,K3按下数值减100。
液晶显示选用LCD1602,其RS、RW、E端口分别与单片机的P3.4、P3.6、P3.7连接,数据传输端D0至D7与单片机的P0端连接。
图3为获取油量高度数据流程图,按照数据表,打开超声波传感器模块的触发端,提供大于10 μs的高电平。模块将在内部将发出8个40 kHz的循环电平并检测声音,然后关闭超声波传感器的触发端,检测到响应,输出回响信号。初始化后,程序控制发送40 kHz的超声波信号并在传输开始后立即启动定时器。传输完成后,单片机接收回波信号并立即产生中断并停止计数[10]。
图3 油量高度数据采集流程图
温度传感器初始化流程如图4所示,通知微控制器DS18B20已准备好在总线上运行,从微控制器发出复位脉冲并从DS18B20确认脉冲。拉低总线大于480 μs后释放总线进入接收模式。当总线释放时,会产生从低电平到高电平的上升沿,在检测到上升沿后,延时为60 μs,然后通过将总线拉低60~240 μs产生响应脉冲,并返回检测成功标志[11]。
图4 传感器初始化
温度传感器写操作时,先写低位,数据线拉低延时1 us,输出数据最低有效位,延时大于60 us,等待DS18B20获取信号,移位数据,然后拉数据线为高电平。温度传感器读操作时,发送命令,跳过序列号读取,开始温度转换,稍微延时后,再次初始化DS18B20,跳过读序列号,读取温度高位和低位,并进行数据集成处理[12-13]。
本设计中,有绿、红、蓝3种不同颜色的LED灯和1个有源蜂鸣器。通过观察不同LED颜色以及蜂鸣器是否发声,可以快速确定当前的测量状态。油箱容量v3、当前油量v4以及油量值的初始下限和上限设置为v1,v2。启动声光报警流程如图5所示。
图5 启动声光报警程序
将电源电路的输出用作该系统的输入,使得控制系统中各个模块处于正常工作状态。系统初始化界面如图6所示。液晶显示第一行字母v表示设置的油量阈值,左边为阈值下限,右边为阈值上限。液晶显示第二行V表示实时油箱油量,百分比表示当前油量剩余百分比值,T表示当前环境温度。当实时油箱油量V值处于阈值中时,绿灯亮,蜂鸣器不响;当实时油箱油量V值小于或等于下限时,蓝灯亮,蜂鸣器响,当实时油箱油量V值大于或等于上限时,红灯亮,蜂鸣器响;如果超声波传感器测量错误或未检测到被测物时,红绿蓝灯均闪烁,发出响声[14]。
图6 系统实物图
本文设计了一款汽车油量监测报警系统,系统以AT89S52单片机为核心,利用超声波传感器实时测量油量高度,通过温度检测模块实时检测油缸温度,利用温度值对超声波传播速度进行数值修正以提高测量精度,最后通过微处理器计算出当前油量值并将其显示在液晶屏上,将实际油箱油量同设置的阈值进行比较,超出阈值范围或测试错误发生声光报警,达到警示作用。通过调试,整合控制参数,系统测试数据准确、稳定。