吴伯彪,郭禧斌
(郑州科技学院,河南郑州450064)
基于手机蓝牙的智能小车控制系统设计
吴伯彪,郭禧斌
(郑州科技学院,河南郑州450064)
设计了一种通过手机蓝牙实现对小车控制的系统。该系统通过蓝牙模块HC-06与智能手机建立蓝牙通信,以STC89C52作为主控芯片,接收蓝牙模块传送的信号并进行处理,通过L298N电机驱动模块,使单片机控制信号驱动两个电机运转。在Android手机上开发应用软件,通过设计的按钮实现对车的启动、转向等控制。
蓝牙通讯;控制系统;电机驱动;单片机;硬件电路;软件设计;系统调试
随着科学技术的不断进步,无线控制技术的发展已经遍及电子、移动互联网、可穿戴设备、航空领域。无线控制系统有红外、射频以及蓝牙技术等,其中,蓝牙技术被广泛应用[1]。蓝牙是一种无线个人局域网。利用蓝牙技术能够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信,也能够成功地简化以上这些设备与因特网之间的通信。
安卓(android)系统是一个以Linux为基础的半开源操作系统,主要应用于便携设备。它凭借可操作性强和开放性的优势,迅速成为智能手机的主流操作平台。笔者以装有安卓系统的智能手机为终端,基于蓝牙技术,设计了一种小车控制系统。该系统通过蓝牙通信传输控制指令给单片机,再利用电机驱动实现小车前行、倒退、左转、右转和停止等功能。
1.1 系统组成
本控制系统主要由单片机模块、电源模块、蓝牙模块、电机驱动模块和手机遥控平台等组成。
1.2 系统工作原理
装有安卓系统的智能手机通过手机蓝牙将控制命令发送给车载蓝牙,车载蓝牙把信号传输给单片机进行处理,单片机根据传递过来的指令运行不同的子程序,控制电机驱动,实现对小车前进、后退、右转、左转、停止的实时控制。手机蓝牙控制的智能小车系统总体组成框图如图1所示。
图1 系统总体设计框图Fig.1 General design of system
2.1 电源模块设计
本系统需要对单片机、车载蓝牙模块和电机驱动模块进行供电。电机驱动模块需要9 V电源供电,单片机和车载蓝牙模块需要5 V的恒压电源供电。系统选用了LM7805集成稳压芯片,其有一系列固定的电压输出,故应用广泛。LM7805集成稳压芯片还可以将系统所需的9 V输入电压转换成5V的电压恒定输出。因此,在不需要更换电池的情况下,使系统更加稳定安全。
2.2 电机驱动模块
本设计依靠2个电机驱动小车的2个车轮。在小车行进过程中,通过控制与调整车轮的速度和旋转方向实现小车的不同行进状态。系统采用L298N作为直流电机驱动,其电路如图2所示。该芯片用于控制直流电动机等感性负载,内部包含8通道逻辑驱动电路,其采用标准逻辑电平信号来控制电机,具有较低的饱和压降以及过热保护。同时,它可产生的稳定输出电压,抗干扰能力强[2]。
图2 电机驱动电路Fig.2 M otor drive circuit
该电机驱动电路通过单片机的I/O输入改变芯片控制端的电平,单片机通过I/O口输出TTL电平为电机驱动芯片IN1~IN2提供信号,即可以对电机进行正转、反转、停止等操作。
2.3 车载蓝牙模块
本系统车载蓝牙采用HC-06蓝牙模块。它在具有无线蓝牙通信功能的设备中使用比较广泛[3]。HC-06蓝牙模块分主机和从机,主机能与从机配对通信,从机能与手机蓝牙配对通信。该模块工作电压为3.3V,可实现在10m范围内的无线通信。HC-06蓝牙模块芯片共有VCC、GND、RXD、TXD 4个引脚,可以很方便地实现与手机等具有蓝牙的设备进行无缝连接。STC89C52通过串口与蓝牙模块HC-06连接,接收手机蓝牙发送的控制命令。HC-06工作原理图如图3所示:
图3 HC-06蓝牙模块芯片电路图Fig.3 HC-06 b luetooth module chip circuit
2.4 APP软件模块
在安卓系统应用商店中寻找合适的蓝牙串口软件。本系统采用的软件为蓝牙串口SPP软件。因为软件涉及对不同设备的兼容问题,所以,对该软件的不同版本进行了比对。由于所选用手机为安卓2.1版本,因此,采用蓝牙串口SPP5.3.3较为稳定。将不同指令设置到资料所提供的APP软件中进行配置,如表1所示。
表1 指令配置表Tab.1 Instruction configuration
主程序的功能主要是检测蓝牙设备是否工作正常、设置蓝牙与下位机连接以及手机各功能按键的实现等。功能按钮是由前进、后退、左转、右转、停止等模块组成。
根据指令按键的配置,手机向外发送指令信号。该信号被车载蓝牙模块HC-06接收,并通过串口通信发送给单片机。单片机根据获得的信号控制电机转向以及转速,进而实现对小车前进、后退、右转、左转、停止的实时控制。蓝牙控制程序流程如图4所示。
图4 蓝牙控制程序流程图Fig.4 Bluetooth control program flow
系统调试包括以下内容:(1)检查各个模块之间,电机驱动与电机之间的连接是否正确。若都没有出错,打开提供给各个模块的5 V电源和提供给电机的9V电源。此时,最小系统模块指示灯点亮,表示单片机供电正常;蓝牙模块指示灯开始闪烁,表示蓝牙模块也供电正常。(2)打开安卓手机界面,自动搜索蓝牙芯片的地址,并进行连接。当蓝牙芯片的指示灯有闪烁转变为常亮以后,表示蓝牙配对连接成功。(3)在手机端的界面上点击前进、后退、左转、右转按钮,查看小车的动向。当在手机端的界面上点击前进、后退、左转、右转按钮时,蓝牙模块能接受手机端发送的字符相应字母的ASCII码值,并且能够通过串口相应的传递给单片机,单片机通过分析串口传过来的数据,改变P2口的值来控制电机驱动的输入端IN1、IN2、IN3、1N4。整体系统调试如图5所示。
图5 智能小车上电调试图Fig.5 Intelligent car electric debugging
本文设计的基于手机蓝牙的智能小车控制系统通过Android手机上的APP应用程序的按键模式实现了小车的前行、倒退、左转、右转和停止等功能,达到了预期目的。该思想将手机变身为遥控器,为人们的生活带来无限方便,也可为其他智能设备控制提供参考。
[1]李侠,沈峰.基于安卓系统的低功耗蓝牙应用程序开发[J].重庆科技学院学报.2014,16(5):133-136.
[2]张天鹏,徐磊.L298N控制直流电机正反转[J].工业设计.2011(3):98-99.
[3]谈敏,刘高平.基于手机蓝牙接口的小车遥控系统[J].浙江万里学院学报.2012,25(4):77-80.
[责任编辑 胡修池]
TP872
B
10.13681/j.cnki.cn41-1282/tv.2016.04.014
2016-05-31
吴伯彪(1988-),男,河南郑州人,助教,主要从事控制理论与控制工程专业的教学与研究工作。