基于安卓手机的多功能智能小车

2019-01-10 02:05丁佳乐黎顺康郢芮黄恒一
物联网技术 2019年12期
关键词:上位机智能控制报警

丁佳乐 黎顺 康郢芮 黄恒一

摘 要:设计一辆基于单片机的手机可控多功能智能小车,小车与手机采用无线传输技术通信。智能小车主要分为手机APP、控制器模块、传感器模块、执行器模块以及报警模块五个部分。传感器模块感知外部环境信息并把数据传送至控制器,控制器接收并处理手机和传感器传过来的数据,把传感器的状态信息发至上位机,并根据指令控制执行器驱动小车做出相应的行为。APP的功能是给下位机发送控制指令控制小车运动,以及接收下位机上传的传感器信息并实时显示,当某个状态到达限定值时启动相应的报警。

关键词:APP;智能控制;无线监控;传感技术;上位机;报警

中图分类号:TP39文献标识码:A文章编号:2095-1302(2019)12-00-02

0 引 言

智能车的应用非常广泛,在工业制造、农业生产、安全实验、环境探索和检测,甚至是军事侦察、外星探测等各方面都有应用。在外星的探索上,19世纪美国在探索火星时发送了“机遇号”和“勇气号”两辆勘测小车,而我国在2013年探测月球时也发送了首颗勘测小车“玉兔”号[1]。

随着车联网、智能汽车的兴起,亟待解决的问题越来越多,各种新技术应运而生。智能汽车作为人工智能的重要领域之一,已经成为时代的热点。未来智能汽车将是跨学科、跨领域的高新技术载体,甚至是某种意义上有灵魂、有生命的高度智慧体[2]。智能小车成本较低,而且应用技术十分广泛,包含微控制、无线通信、传感器技术等,以智能小车作为智能汽车的模型,是探索智能汽车以及人工智能非常好的切入点。

1 小车整体设计

智能小车以单片机作为控制核心,下位机与Android手机终端通过蓝牙无线传输技术实时通信。在小车手动模式下,用户通过手机发送指令信息,控制中心根据接收到的指令按照程序控制小车运动,完成相应的任务。手机终端能够实时接收控制器上传的传感器数据信息,分析处理后在屏幕上显示相关信息,并根据程序设定做出相应的安全提醒或危险警报。

1.1 小车供电系统

电源是系统稳定工作的前提。小车的主控系统、通信模块、传感器模块以及其他模块的工作电压基本都为5 V,而驱动直流电机需要12 V。因此电源采用三节3.7 V可充电的锂电池,锂电池相对于普通锌-锰干电池的优点是容量大、能提供更大的电流,电源更稳定而且可快速充电。三节锂电池电压能够达到11 V,足够驱动直流电机,经过降压/稳压电路后得到稳定的5 V电压,为各芯片提供稳定的工作环境。降压/稳压电路的核心是三端稳压器LM7805,LM7805性能稳定,输出端能够得到稳定的5 V电压,而且内部电路还具有过压、过流等保护功能。

1.2 小车主控系统

小车主控系统以STC89C52为核心。STC89C52是一种增强型51单片机,不但性能更加稳定,而且增大了ROM和RAM,提高了运算速度。增强后的STC89C52具有8 KB FLASH存储器、512 B RAM、32位I/O 口线、一个全双工串行口,以及3个16位定时器/计数器和4个外部中断。另外,STC89C52可设置节电模式,具有较强的抗干扰能力和低功耗[3]。因此不管是外设接口还是内存或者运算速度等,STC89C52都能满足目前设计要求,而且STC89C52轻巧,控制端口简单。

1.3 小车底层运动模块

智能小车驱动采用直流减速电机,该电机转速小、功耗低、调速性能较好、力矩大。为了减少对控制器和电源的干扰,在电机内部增加环形压敏电阻。L298N是专用的驱动集成电路,芯片工作电压为5 V,驱动电机电压为12 V。L298N可同时驱动2个直流电机,输入端为TTL逻辑电平,可以直接连单片机的I/O口[4]。OUTl~4为四个输出端,输出电流为2 A左右,分别接两个直流电机。L298N逻辑真值见表1所列。

1.4 温度检测

智能小车的温度检测采用TO-92封装的DS18B20数字式温度传感器,这种传感器体积小、控制方便、稳定性好,而且DS18B20采用独特的1-Wire通信,即仅采用一个数据线就可以与微控制器进行通信。该技术将时钟线、数据线、控制线甚至电源线合并成一根线,只要符合其通信协议标准就能进行通信[5],所以电路十分简单。DS18B20能够检测-55~125 ℃,并且可以由用户自行配置9~12位分辨率,具有用户可编程的非易失性,以及过温与低温触发报警的报警功能,测量结果直接输出数字温度信号。同时,一根总线上可以连接多个DS18B20,具有支持多點组网、实现多点测温的功能。在本文设计中DS18B20主要用来检测周围的环境温度。

1.5 超声波测距

HC_SR04是常用的非接触式超声波距离测量模块,工作电压为3.3~5 V。HC_SR04的工作原理是触发端Trig给10 μs以上的高电平信号,HC-SR04内部自动发送8个40 kHz的方波,模块自动检测是否有信号返回,如果有信号返回,模块Echo端输出一个时间为超声波从发射到返回的高电平[6]。单片机通过定时器计算Echo端高电平的时间,根据定时器计算所得到的时间和所处环境声音传播的速度计算出当前距离。

当小车上的距离传感器测得的距离到达障碍第一个限定值时,小车上的危险指示灯闪烁做出危险警告;当测得的距离到达第二个限定值时,系统自动采取紧急制动措施[7]。终端也能够自主分析接收到的数据,根据不同的情况,手机屏幕显示相关危险信息内容,并做相应的语音提示。DS18B20测距及报警流程如图1所示。

1.6 手机APP设计

手机软件的开发相对来说是智能小车设计过程中的难点,本文系统的APP通过第三方在线开发平台MIT APP Inventor进行设计。APP Inventor是Google公司开发的一款手机编程工具软件,在智能家居与机器人控制领域都有非常广泛的应用。其最大优势是环境搭建方便,开发过程简单[8],且上手容易,大大缩短了开发周期。

APP开发主要分为两部分内容。一是APP用户界面的设计。用户界面是用户与系统信息交互的媒介,所以清晰、美观的UI设计会让人操作起来更加舒适。用户界面设计即根据需求添加所需组件,根据组件性能设计组件的形状、大小、颜色及背景等,然后按照软件的功能与风格要求设计界面布局。

另一部分是APP逻辑组件的设计。APP逻辑设计即编程,组件类似C语言中的封装函数,需要时直接调用。APP Inventor提供了较多逻辑控制事件、字符操作、条件事件等,逻辑设计即定义各个组件的行为及具体实现功能。首先按要求修改组件相应参数,然后按照组件要实现的功能添加相应的逻辑控制、条件选择、数据操作等事件定义组件的动作流程[9]。APP主要模块有通信连接、运动指令下达、传感器信息显示,到达限定值时危险信息警报。最终完成的APP界面如图2所示。

2 智能小车研究过程中的技术难点

智能小车APP需要接收传感器的动态数据并实时显示。传感器的数据一直更新,不能像单片机的While循环一样一直接收数据,若APP发一个控制码过去接收一次数据,则只能单次接收,而传感器的数据是动态的,要求实时更新,此种方式显然达不到要求。笔者受到单片机串口中断思想的启发,添加一个定时器,当定时器启动时开始接收数据,然而这样虽然能够实时接收、显示数据,却不能按字节提取某一个传感器的数据分别显示。最后在教师的指导下把接收到的文本转换成Hex格式,实现了随意按照设定字节数提取某一部分的数据。

3 结 语

本文设计的智能小车可以实现利用智能手机通过无线传输对小车进行实时控制,智能车上搭载的传感器能够把数据上传到手机,通过手机可实时查看传感器的检测值,超过设定值时呈现对应的报警信息。但由于目前通信采用的是短距离无线通信技术,传输距离有限,未来拟改变通信方式,采用如GPRS等远距离无线通信,并增加摄像头,实现手机实时监控小车周围情况[10]。另外,未来还可尝试增加GPS定位功能,得到较精确的定位。

参 考 文 献

[1]丁希仑,石旭尧,ROVETTA A,等.月球探测(车)机器人技术的发展与展望[J].机器人技术与应用,2008(3):5-9.

[2]朱盛镭.未来智能汽车产业发展趋势[J].上海汽车,2015(8):1.

[3]黄勤.单片机原理及应用[M].北京:清华大学出版社,2010:21-22.

[4]孙绪才. L298N在直流电机PWM调速系统中的应用[J]. 潍坊学院学报,2009,9(4):19-21.

[5]郭雷,李彬.1-Wire总线技术的通信特点及其应用[J].自动化技术与应用,2008,27(9):95-97.

[6]李军,申俊泽.超声测距模块HC-SR04的超声波测距仪设计[J].单片机与嵌入式系统应用,2011,11(10):77-78.

[7]武斌,王琦,袁文囿,等.超声波倒车雷达系统设计[J].科技创新与生产力,2017(12):110-113.

[8]王杰.基于Android与APP Inventor的移动学习资源开发实践与思考[J].广东广播电视大学学报,2016,25(4):38-42.

[9]郑剑春.APP Inventor 2與机器人程序设计[M].北京:清华大学出版社,2016.

[10]王春东,杨宏,宫良一.基于Android平台的视频监控智能车设计[J].消防科学与技术,2017,36(1):72-75.

猜你喜欢
上位机智能控制报警
LKD2-HS型列控中心驱采不一致报警处理
应用型人才培养导向下智能控制教学改革探讨
浅谈开关式电梯IC卡系统及展望
2015款奔驰E180车安全气囊报警
死于密室的租住者
奔驰E260车安全气囊报警