APP下载

基于蓝牙的智能小车循迹避障设计与实现

2016-03-29李晓娟王雅慧秦国庆

关键词:循迹舵机蓝牙

李晓娟,王雅慧,秦国庆

(河南科技学院,河南新乡453003)

基于蓝牙的智能小车循迹避障设计与实现

李晓娟,王雅慧,秦国庆

(河南科技学院,河南新乡453003)

基于STC89C52单片机设计了一种智能循迹避障小车,由手机通过蓝牙发送指令实现小车的自动循迹或避障.整体设计以STC89C52作为主控制器,同时车载HC-06蓝牙通信模块、两路循迹模块、两路红外避障模块、舵机和超声波模块、L298N电机驱动模块,并通过LCD1602液晶对小车与前方障碍物距离实时显示.测试表明,小车能够按照既定路线前进,在遇到障碍物时能够自动避障.

STC89C52;HC-06蓝牙;HC-SR04超声波传感器;SG90舵机;LCD1602

智能小车广泛应用于制造业、烟草、化工、医药及一些危险场所,给人们的生活提供了诸多便利,同时也降低了工人的劳动强度.但目前来说,多采用专用的遥控器,控制方式单一,一旦遥控器损坏,若没有相匹配的,小车便无法工作.本文给出的基于蓝牙的智能小车以手机为平台,借助于蓝牙技术[1-2],实现小车的自动循迹或正常运行,如小车的前进、后退、左转、右转、停止等.

1 系统总体设计

本文设计的智能小车,车体采用四轮结构提高其平衡性;将两路红外避障模块分别安装在车头和车尾,这样当小车在运行过程,与前后方障碍物距离达到避障模块检测范围时,给单片机发送信号,控制小车停止;车体底部前端装有两对红外对管实现小车的自动循迹.整个控制系统以STC89C52单片机[3]为核心,手机蓝牙APP作为客户端,小车上的蓝牙模块HC-06[2,4]作为服务端,通过手机上的按钮发送指令, HC-06模块通过蓝牙接收指令,并转串口传递给单片机,主控器根据控制要求调用不同的子程序实现小车的各种控制功能.循迹模式开启时通过向单片机发送信号使小车沿着特定轨迹运行.正常运行时,通过PWM信号控制舵机转动同时带动超声波传感器转动测量小车与前、左、右方障碍物的距离,并由液晶屏实时显示.整体设计如图1所示.

图1 整体设计Fig.1 The structure of the system

2 系统硬件设计

2.1 主控系统设计

主控系统选择STC公司生产的STC89C52单片机,该机是一种低功耗、高性能的8位单片机,有8 K的Flash,512字节RAM,32位I/O口线,内置4 KB EEPROM,3个16位定时器/计数器,全双工串行口.单片机最小系统选用1个11.059 2 MHz的晶振,2个22 pF的电容器构成晶振电路,机器周期为1 μs;复位电路采用10 μF的电容和1.5 kΩ的电阻构成.

2.2 HC-06蓝牙模块

设计采用主从一体的HC-06蓝牙模块,该模块内置CSR蓝牙通信芯片,可以与手机端上的蓝牙进行匹配.由手机APP上的按钮发送控制指令,HC-06模块通过蓝牙接收指令,并转串口传递给单片机控制器,主控器根据控制要求调用不同的子程序来驱动电机,进而实现小车的各种控制功能.

2.3 循迹传感器模块

循迹模块由两路红外反射式光电传感器构成,发射管发射红外线,经地面反射后被接收管接收并产生电信号(黑线和白线的反射强度不同),单片机通过传感器检测到的不同信号调用循迹程序控制小车左右两个电机的转速和方向,从而改变小车的速度和方向,最终自助完成循迹功能.

2.4 电机驱动电路

设计选用SGS公司生产的电机专用驱动芯片L298N[5],L298N是一个H桥驱动芯片,其内部包含4通道逻辑驱动电路,由它驱动两个12 V的直流电动机.VS端接+5 V电源,VCC端采用两块手机锂电池串联供电,GND接地,OUT1、OUT2之间接左电动机,OUT3、OUT4之间接右电动机.5、7、10、12脚与单片机的p1.0—p1.3连接,由单片机给出控制电平,控制电机正反转;ENA,ENB脚接控制使能端,控制电机的停转.小车运动逻辑见表1.

表1 小车运动逻辑Tab.1 The logical of the car movement

2.5 舵机和超声波模块

设计使用SG90舵机[7]带动超声波模块转动,从而实时监测小车与前方及左右障碍物的距离,并通过液晶显示屏显示距离.其中SG90舵机使用PWM信号控制,舵机的转动角度在180°内,由定时器2定时产生周期为20 ms、脉冲宽度为0.5~2.5 ms的PWM方波脉冲信号,与舵机产生的周期为20 ms,脉冲宽度1.5 ms的PWM信号基准电路比较,由此控制舵机的转向.

超声波模块采用HC-SR04[6],使用时,由控制端口Trig发一个10 μs以上的高电平,然后在Echo接收端等待高电平输出,当Echo端为高电平时开启定时器0,当Echo端变为低电平时读出定时器的值,该时间为测距的时间然后通过计算得出距离.

3 系统软件设计

3.1 主程序设计

程序采用C语言编写,主程序有由初始化系统、蓝牙通信模块、超声波处理函数、红外避障及循迹程序、LCD1602液晶显示程序组成.主程序的功能是对各个功能模块初始化,同时对单片机内部定时器及标志位初始化,然后根据上位机的控制命令对各个功能模块的函数进行调用,完成数据处理的任务.主程序流程图如图2所示.

图2 主程序流程Fig.2 The flow chart of the main program

3.2 循迹模块程序设计

当手机控制端向单片机发送循迹指令时,FLAG标志位置1,小车进入循迹模式,循迹模式下电机采用PWM调速,设置占空比为14.3%.为了节省功耗通过设置标志位使超声波模块与红外避障模块不工作,当上位机再次向单片机发送循迹指令时,FLAG标志位清0,小车退出循迹模式.循迹模式流程如图3所示.

图3 循迹模式流程Fig.3 The flow chart of the tracking mode

3.3 舵机模块程序设计

本设计采用定时器2中断产生占空比不同的PWM脉冲信号来控制舵机的转向,单片机上电之后,变量初始化,定时器2初始化,当上位机向单片机系统发送舵机转向指令时,变量的值随指令的不同而变化,同时改变PWM脉冲信号的占空比从而控制舵机转向,为了提高舵机的实用性,设计舵机转向的角度为0°、90°和180°.

4 系统测试

在测试阶段,需要事先在手机上安装上位机软件.给小车上电后,HC-06蓝牙通信模块工作指示灯亮,经过短暂延时(约1 min),用手机搜索蓝牙信号并进行连接,成功连接后,通过点击上位机软件的相关选项来测试小车的性能.

4.1 循迹测试

在循迹模式工作时,用3~5 cm的黑色电工胶布作为小车的循迹线.因为是两路红外循迹,将红外对管装在车体底部时,红外探测器的距离不应超过15 cm.若两路之间距离过宽,要实现转弯必须将速度降得很低,否则小车会直接冲出跑道;如果两路对管之间距离过窄,小车还没通过90°的转弯,两个模块都检测到黑线,小车会停止,设计通过降低PWM占空比调速,最终使小车能够按照既定路线前进.循迹模式工作实物图如图4所示.

图4 循迹模式实物Fig.4 The physical map of tracking mode

4.2 避障测试

小车的正常行走是通过手机上的前进、后退、左转、右转和停止选项来控制.由于在车头和车尾安装有两路红外避障模块,这样当小车与前后方障碍物距离达到避障模块检测范围时,模块给单片机发送信号,这样小车就不能前进或后退,以此来实现小车前后两个方向的避障,并通过液晶实时显示.其中避障模块与液晶显示模块用16根杜邦线焊接完成的,避障模式工作实物图如图5所示.

图5 避障模式实物Fig.5 The physical map of avoidance mode

5 小结

本文完成了通过手机上的蓝牙功能来控制小车行走的软、硬件设计.测试结果表明,该小车能够沿设定路径完成循迹,具有很好的识别能力;在正常行走时,小车可以接收手机遥控信号灵活地前行、倒退、左转、右转和停止,并通过液晶实时显示与障碍物的距离且能够自动避障.以手机作为手持终端,通过蓝牙传输指令控制的智能小车,携带方便、操作简单、价格低廉,具有广阔的应用前景.

[1]符强,任风华.基于手机蓝牙的遥控小车的设计[D].北海:桂林电子科技大学,2010.

[2]王桂坤,吴承达,蔡谨民,等.基于蓝牙控制技术的智能小车系统设计[J].中山大学研究生学刊,2015,36(2):50-61.

[3]卢庆林.基于单片机的自动寻迹避障小车设计[J].机械与电子,2014(7):75-55.

[4]廖建文,彭永杰,珣屈.多功能多操作WiFi智能小车的设计[J].鲁东大学学报:自然科学版,2015,31(3):217-220.

[5]张天鹏,徐磊.L298N控制直流电机正反转[J].工业设计,2011(3):98-99.

[6]兰羽.基于40 kHz超声波测距系统的设计[J].机械与电子,2013(8):66-69.

[7]任志敏.基于AVR单片机的舵机驱动电路研究[J].自动化技术与应用,2008,27(6):85-87.

(责任编辑:卢奇)

The design and implementation of the intelligent obstacle avoidance tracking car based on bluetooth

LI Xiaojuan,WANG Yahui,QIN Guoqing
(Henan Institute of Science and Technology,Xinxiang 453003,China)

An intelligent obstacle avoidance tracking car based on single-chip microcomputer STC89C52 was designed in this paper,it send instructions to achieve the car's automatic tracking and obstacle avoidance via bluetooth on the phone.The overall system based on STC89C52 as control core,using the HC-06 bluetooth communication module,two tracking module,two infrared obstacle avoidance module,servo motor and ultrasonic module,motor driver based on L298N module,and display the distance between the car and the front obstacle by liquid crystal LCD1602 in real-time at the same time.The test showed that the car could automatically along path aprescribed,and automatic avoidance obstacle when encountered obstacles.

STC89C52;HC-06 bluetooth;HC-SR04 ultrasonic sensor;SG90 servo motor;LCD1602

TP273

A

1008-7516(2016)02-0063-05

10.3969/j.issn.1008-7516.2016.02.015

2016-01-09

河南省科技厅科技攻关项目(142102210112)

李晓娟(1986―),女,河南汝州人,硕士,助教.主要从事模式识别与智能控制研究.

猜你喜欢

循迹舵机蓝牙
蓝牙音箱的直线之美
基于DFT算法的电力巡检无人机循迹检测系统设计
含齿隙弹载舵机的全局反步模糊自适应控制
浅谈基于机器视觉和姿态检测的循迹智能车
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
基于dsPIC单片机的飞艇舵机控制实现
智能差分循迹小车设计
基于高速同步485总线通信的多通道舵机控制器设计
基于云模型的舵机同步控制