摘要
下雨天时道路十分模糊,能见度非常低,司机分散注意力去手动打开雨刷器开关会非常危险。据统计,全世界雨天行车的车祸事故有7%是因为司机手动打开雨刷分心导致的。为了减小司机因为手动打开雨刷发生车祸的概率,所以如今研发一种雨刷自动控制器是非常有必要的。该系统主要从硬件设计和软件编程两个部分进行设计,硬件部分由单片机、雨滴传感器、步进电机、按键、ADC0832模数采集模块、LD3320语音模块、显示屏等模块组成,实现了根据车窗覆水量和识别语音指令来控制雨刷的转速。该系统通过覆水量判定的湿度阈值来设定上下限值,当覆水量小于设置的下限值,雨刷停止,当覆水量处于上限值和下限值之间,雨刷速度进入一档位,当覆水量大于设置的上限值,雨刷速度进入二档位。此外,还可以通过语音指令来实现雨刷转速控制、切换模式和开/关系统等功能。软件部分使用c语言对LD3320模块、键盘模块、语音识别模块、雨滴传感模块等模块进行子程序的编写和主程序的编写,实现了各个模块的运转从而实现了雨刷器的自动控制。该雨刷可以预防驾驶员在行车过程中会遇见的大多数未知情况,极大的减小了司机发生车祸的概率。
关键词:单片机;模块;传感器
系统方案设计
2.1 系统设计内容
系统硬件设计框图如图2.1所示,其中单片机最小系统起到中枢的作用;LCD1602显示模块主要功能是显示覆水量大小,雨刷转速挡位,控制状态以及覆水量上限值和下限值;键盘模块主要是对覆水量量下限值的设置和对控制状态(自动或者手动)的设置;语音电路识别语音指令进而控制雨刷转动;雨滴传感电路采用专用的湿度传感器,需要经过数模转换电路传送给单片机。主要研究内容如下:
(1)完成雨滴传感器的硬件电路设计,软件程序设计,将数据采集到单片机;
(2)完成步进电机的电路设计,软件程序设计;
(3)完成电机驱动的电路设计,确定驱动电平;
(4)完成模数转换的电路设计,软件程序设计,将模拟量转换数字量;
(5)完成显示器的电路设计,软件程序设计,将单片机数据进行显示;
(6)通过按键具有设置参数功能;
(7)完成语音识别LD3320的电路设计,软件程序设计。
图2.1硬件框图
系统硬件设计
3.1 单片机
单片机是整个雨刷智能控制系统的中枢大脑,可以说该设计最需要注意的步骤就是单片机部分,该设计所实现的所有功能都是通过单片机来实现的。单片机如图3.1所示。
图3.1单片机
单片机最小系统
单片机是具有核心智能化的小型中央处理器,在其内部拥有数以万计的微晶管,根据程序代码的控制使它在逻辑上进行不同的输出或者输入形式,完成设计的功能控制,虽然它具有智能化的形式,但是单片机并不能独立工作,需要配合外围电路构成一个最小工作系统,才具有智能工作的能力,不管任何型号的单片机,最小系统都是单片机不可或缺的一个前提必要条件,对于不同系列单片机而言,组成单片机最小系统的外围电路并不相同,需要根据单片机设计厂家给定的工作手册进行设计最小系统的搭建。最小系统由复位、晶振以及电源三个电路组成。本次设计使用的单片机型号是STC89C52,市场上使用极为广泛,性能相对稳定,单片机片上资源比较适中,虽然处于入门级单片机,但对于本次的功能来说完全足够,单片机的最小系统搭建如图3.2所示。
图3.2最小系统电路图
系统软件设计
本次程序设计采用的编程语言是C语言,C语言具有简单易懂,逻辑判断能力突出等特点,编写程序的开发软件是Keil软甲,在设计中,首先完成的是主函数的框架结构,在框架结构中布置各个子程序的分区功能,根据逻辑的执行确定子程序的先后执行顺序,主函数框架编写完成之后,开始进行子函数功能编写,根据每一个的功能实现代码设计,每完成一个子程序就可以进行Keil软件编译,编译成功将HEX文件下载到单片机运行,运行成功后进行下一个子函数编写,直到全部功能调试完毕。
4.1 系统程序设计软件介绍
程序软件设计所指的就是程序代码的设计,程序代码通过语言来进行编写,语言再通过编译软件编译成单片机能识别的只有1和0的逻辑语言。程序员所编写的是C语言或者汇编语言,通过工具完成编写语言到机器语言的装换,这个工具就是单片机的开发软件,我们所使用的开发软件是KEIL软件,使用的是C语言,KEIL软件将这种语言翻译成机器语言,也就是前文提到的只有0和1的逻辑语言,将其下载到单片机中,使单片机按照语言的逻辑运行。KEIL软件的功能极为强大,执行的工作不仅仅是翻译高级语言,同时还会查找高级言中的错误,并且进行提示,指出错误的地方,方便程序员进行修改。
KEIL软件的开发界面给人一种干净整洁的观感,没有丝毫的杂乱,简单明了的指令系统得到众多程序员的认可,是最受欢迎的软件之一,KEIL软件涵盖了众多型号的单片机库,很多的单片机都可以使用KEIL软件直接进行开发,无需对新的开发环境进行了解,节省开发的时间。新建工程界面如下图4.1所示。
图4.1新建工程界面
程序编写KEIL的界面如下图4.2所示。
图4.2程序编写KEIL
结论
该设计首先是设计出硬件电路原理图,之后通过网络查询、老师指导、图书馆查找书籍来了解单片机引脚和各个模块原理,最后绘制出该设计的总原理图。通过总原理图进行该设计的焊接,焊接的过程中出现了许多的问题,比如焊接时手法不太好导致两个焊点的锡连在一起,高温度电烙铁长时间接触焊盘导致焊盘脱落,电路出现短路等现象,最终长时间的实践完成了该设计,并且对自己的焊接能力又有一个大的提升。完成设计后,对系统进行反复测试,一直到系统可以正常运行,之后整理相关的资料与文件进行论文的编写,这次设计让自己无论是对硬件知识还是软件知识都有了一个巨大的提升,掌握了单片机的原理应用和梳理了C语言的编程技能。
该雨刷器控制系统对雨水采集电路,单片机最小系统,语音识别模块,电机驱动模块,显示电路模块都进行了硬件与软件的设计。实现了根据覆水量和语音识别指令自动控制雨刷器的转速,完美的解决了驾驶员在雨天分心打开雨刷发生车祸的概率,在硬件方案选取时从功能可靠性和经济实用性等多方面考虑,筛选出功能相对全面,发展相对完善,比较可靠的硬件设计方案。
该研究对我们的日常出行有着巨大的意义,雨刷控制系统是如今驾驶者都会考虑的汽车功能问题。该设计还有待完善,比如根据覆水量来自动开启雨刷会出现玻璃覆水量不高但却依然影响了驾驶视线的情况,而且语音识别功能的语音识别准确率也有待提高,该设计的生产成本也非常高,适用车型还是只有高档车型。考虑到价格的可行性和系统的功能不足,该设计在未来仍然有着巨大的发展空间,在未来会针对汽车行驶的安全性,可靠性,经济实用性开发出更加优越的功能。
参考文献
[1]赵岩,王哈力,王东辉.基于模糊控制的汽车智能雨刷系统设计[J].佳木斯大学学报(自然科学版),2006,24 (4):529-531.
[2]赵岩,王哈力,蒋贵龙,等.汽车智能雨刷系统的设计[J].电子科技,2007(2):70-72.
[3]贺理.机车雨刮器控制器的设计与实现[D].湖南工业大学,2011.
[4]李延延.汽车雨量检测及自动雨刷器仿真控制电路设计[J].中国新技术新产品,2015(21):15-16.
[5]田群娟.雨刮器及其自动控制系统的研究[D].西安理工大学,2015.
[6]宋凯,杨合利.汽车智能雨刮器的设计[J].河北农机,2016(10):30-31.
[7]张杰.51单片机应用开发范例大全[M].人民邮电出版社,2016.
[8]王潇.单片机在电子技术中的应用和开发技术研究[J].同行,2016(5):213-214.
[9]吴国城.探讨仿真技术在单片机开发中的应用[J].城市建设理论研究,2016(17).
[10]周岚.浅析基于C语言的单片机技术[J].软件工程师,2016,19(5):30-31.
[11]李丽.单片机最小系统的研究[J].数字技术与应用,2016(10):26-26.
[12]陈维香.电子工程技术在单片机中的技术应用浅析[J].工程技术:全文版,2016(11):00253-00253.
[13]江衍煊,郑振杰,游德智.单片机连接ULN2003驱动步进电机的应用[J].机电元件,2010,30(3):28-31.
[14]何初明.接口芯片ULN2003在自动延迟电路中的应用[J].电世界,2000(9):13-13.
[15]王党利,宁生科,马宝吉.基于TB6560的步进电机驱动电路设计[J].单片机与嵌入式系统应用,2010(1):41- 43.
[16]齐志才.基于计算机单片机仿真机完善对单片机的调试分析[J].电脑编程技巧与维护,2015(17):40-41.
[17]刘斌,刘春茂,尹社会.单片机C语言仿真调试系统研究[J].无线互联科技,2016(9).
[18]王开,刘美,曾宪桥.基于Proteus的单片机控制系统的仿真设计[J].电子设计工程,2015(8):180-184.
[19]汤湘林.单片机硬件仿真实用方案[J].电子制作,2015(10).