手机蓝牙的遥控小车的设计.docx
《手机蓝牙的遥控小车的设计.docx》由会员分享,可在线阅读,更多相关《手机蓝牙的遥控小车的设计.docx(13页珍藏版)》请在冰豆网上搜索。
手机蓝牙的遥控小车的设计
蓝
牙
小
车
课
程
设
计
报
告
车
课
程
设
姓名:
马坚文
班级:
电子201201班
指导老师:
程智
学号:
201203043124
日期:
2014年6月6日
手机蓝牙的遥控小车的设计
一控制系统3
1.1控制系统总体框图3
1.2单片机最小系统的实现3
1.3系统的仿真与调试5
1.4步进电机驱动电路的实现6
1.5软件设计7
1.6功能检测与调试8
二蓝牙技术组成9
2.1蓝牙无线电技术9
2.2蓝牙互操作性9
2.3初始化本地蓝牙9
}2.4搜索蓝牙设备10
2.5串口通信设计11
2.6单片机编程设计11
三结语12
四心得体会12
五参考文献13
摘要:
遥控电动小车系统以89C52单片机为核心控制器,包含了主控制器模块、电机驱动模块、液晶
显示模块、键盘模块、测距模块、蓝牙通信模块、电源模块等。
进而设计制作出一台具有自动运行的智能
小车控制系统。
本系统以两个步进电机作为驱动,通过各类传感器件来采集各类信息,通过2.4GHz蓝牙通
信模块实现小车在手机遥控的控制下前进、转向、倒退、小车精确转弯、自动定位等功能。
智能小
车系统具有很高的灵敏度和精确度,操控简单、便捷。
关键词:
89C52单片机;电动小车;电机驱动;蓝牙软件;手机
TheDesignofRemoteControlElectricCarControlSystemBasedonBluetoothand89C52MCU
Abstract:
Theremotecontrolelectriccarsystemwith89C52asthecorecontroller,consistsofmaincontroller
module,motordrivemodule,LCDmodule,keyboardmodule,rangingmodule,Bluetoothcommunicationmodule,
powermodule,etc.Onthisbasis,anintelligentcarcontrolsystemisdesigned.Thissystemadoptstwostepper
motorsasthedrive,usesvariouskindsofsensortocollectallkindsofinformation,andutilizesthe2.4GHz
Bluetoothcommunicationmoduletoachievetheforwarding,back-warding,returning,automaticallyturningand
positioningofthecarunderthecontrolofhandholdwirelessremotecontroller.Theintelligentcarsystemhashigh
sensitivityandaccuracy,anditsmanipulationissimpleandconvenient.
Keywords:
89C52;electriccar;motordrive;Bluetoothcommunication
一控制系统
1.1控制系统总体框图
本设计要求能够实现电动小车在手持无线遥控器的控制下前进、转向、倒退等功能,而且能够将其位置的坐标值实时传送至手持无线遥控器。
考虑这些要求,我们决定用步进电机和单片机等组成核心电路[1-6]。
系统总框图如图1所示。
图1控制系统总框图
1.2单片机最小系统的实现
单片最小系统由复位电路、电源和时钟电路等组成。
复位电路包括手动复位和自动上电复位,按键手动复位有电平方式和脉冲方式两种。
其中,按键电平复位是通过使复位端经电阻与VCC电源接通而实现的。
而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。
自动上电复位,是指计算机加电瞬间,要在RST引脚出现大于2个机器周期的正脉冲,使单片机进入复位状态。
单片机最小系统原
L298N驱动电机电路,供给+5V和+12V电压
1.3系统的仿真与调试
用简单程序仿真测试电路连接情况
汇编程序代码:
org0000h
ajmpmain
org0080h
main:
mova,#0ffh
movp1,a;不转
calldelay;延时
loop:
mova,#00ah;正转
movp1,a
calldelay
mova,#0ffh;停止
movp1,a
calldelay
mova,#005h;反转
movp1,a
calldelay
mova,#0ffh;停止
movp1,a
calldelay
jmploop
delay:
movr5,#50;延时。
d1:
movr6,#40
d2:
movr7,#248
djnzr7,$
djnzr6,d2
djnzr5,d1
ret
end
仿真结果:
电机正反转均正常
小车程序:
用单片机控制小车的四个状态,前进,后退,左转,右转。
由四个函数实现,执行条件为中断。
当蓝牙从机接收到数据传输到单片机时,单片机内部选择指令,调动while函数,判断指令数据,从而控制小车状态。
1.4步进电机驱动电路的实现
步进电机是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。
L298N是SGS公司的产品,内部包含4通道逻辑
电路,是一种二相和四相电机的专用驱动器,即内含两个H桥的高电压大电流双桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
其电路原理图如图3所示
1.5软件设计
软件设计是实现小车智能运转的关键所在,本系统软件包括主程序、定时中断处理程序、显示子程序等。
主程序主要完成系统初始化、按键检测即子程序调用等功能,其流程图如图5所示。
定时中断处理程序主要完成10ms的定时,以完成小车位置显示、遥控器和小车控制器的通信等功能,其流程图见图6。
显示子程序主要完成遥控器LCD的界面显示,其流程图见图7。
1.6功能检测与调试
对小车的整体来说其测试按照模块来进行,分为以下几个步骤:
(1)首先测试电源的工作情况,各个模块能否得到良好供电。
(2)检查单片机能否正常地烧写程序和工作。
(3)测试后轮电机的工作情况,并试验电机的驱动能力。
(4)编写程序控制小车运行,完成前进、后退一定距离,转90°等功能。
(5)反复测试各参数变化对小车的影响,找出最有效的配置。
(6)对小车运行过程中各种可能出现的情况测试,发现问题,找出解决方法。
(7)整理数据,优化程序设计。
经过多次调试,本系统能够基本满足设计要求,能够较快、较平稳地沿路面按要求行驶。
二蓝牙技术组成
蓝牙技术由三部分组成,包括蓝牙无线电技术、蓝牙协议栈和蓝牙互操作性(Profiles)。
2.1蓝牙无线电技术
蓝牙无线电工作在全球通用的2.4GHzISM(即工业、科学、医学)频段,支持全双工传输,使用IEEE
802.15协议。
蓝牙设备即连即用,抗干扰能力强、使用方便。
2.2蓝牙互操作性
蓝牙互操作性包括三方面内容:
①通用访问Profile定义了设备管理功能性;②服务发现应用Profiles
定义了服务发现方面的内容;③串口Profiles定义了互操作设备和模拟串口电缆的能力。
2.3初始化本地蓝牙
初始化本地蓝牙设备,建立LocalDevice类,包括取得本地设备实例、蓝牙名称、设置发现模式、获得发现代理。
部分代码如下:
publicbooleaninitBT(){
booleansuccess=false;
try{
showInfomation("正在初始化本地蓝牙");
//取得本地设备实例
localDevice=LocalDevice.getLocalDevice();
//记录蓝牙地址
localBTAddress=localDevice.getBluetoothAddress();
//记录蓝牙名称
localBTName=localDevice.getFriendlyName();
localDevice.setDiscoverable(DiscoveryAgent.GIAC);
//取得蓝牙代理
discoveryAgent=localDevice.getDiscoveryAgent();
success=true;}
catch(Exceptione){
System.err.println("初始化蓝牙设备失败:
"+e);}
returnsuccess;
}2.4搜索蓝牙设备
初始化本地蓝牙设备成功,开始搜索周围蓝牙设备。
每发现一个设备就调用监控接口deviceDiscovered(),在这个接口中添加自己的代码,把搜索到的设备记录在List列表中,搜索设备完成调用接口inquiryCompleted()。
完成搜索后,把搜索到的所有设备显示出来,这样就可以手动选择小车上的蓝牙设备,在WTK模拟器上的模拟效果如图2所示。
2.5串口通信设计
蓝牙模块与单片机之间的通信使用虚拟串口实现的,串口为标准配置:
波特率9600、检验位NONE、数据位8位、停止位1位。
串口的初始化函数如下:
voiduart_init()
{
TMOD=0X20;
TH1=0XFD;//晶振11.0592,波特率9600
TL1=0XFD;
SCON=0XD0;
PCON=0X00;
IE=0X90;
TR1=1;
TI=1;
}
中断接收函数只要是负责接受蓝牙发送过来的数据,函数原型如下:
voidserial()interrupt4using3
{if(RI)//接收中断标志位
{RI=0;
uart_char=SBUF;//读取}
}
2.6单片机编程设计
由于无线接收器和单片机通信的方式是串口,为了是小车能迅速响应上位机发送来的信号,单片机使用串口中断的方式,在main函数里面主要就是处理中断接收到的数据,并控制电机的转动,处理函数如下:
While
(1)
{switch(uart_char){
case's':
motor_stop();break;//停止
case'a':
motor_go();break;//前进
case'l':
motor_go_left();break;//左转
case'r':
motor_go_right();break;//右转
case'b':
motor_back();break;//后退
}
}
三结语
小介绍了利用手机蓝牙遥控小车行走的软、硬件设计,以蓝牙手机作为客户端,小车上的蓝牙模块作为服务端,通过串口仿真协议进行通信。
它具有编程灵活、自由、易于控制、稳定性能好、扩展容易等优点。
实现了小车的前行、倒退、左转、右转和停止等功能,将手机变身为遥控器,为人们的生活带来无限方便。
四心得体会
作为我们的第一款产品,这辆小车有以下几点不足:
1车体设计不合理
2电池电压较低,车速不够
3控制效果单一,没有加速效果
4手机端控制软件有待开发
后期我们计划为增加以下几点功能:
1改进车架设计,如使用四驱车型外壳
2使用电压更高的电源,并提高车速
3改进控制程序,实现多种车速以及加速、制动等效果。
五参考文献
[1]金纯,林金朝等.蓝牙协议及其源代码分析[M].北京:
国防工业出版社,2006-06
[2]赵全利,肖兴达.单片机原理及应用教程(第二版)[M].北京:
机械工业出版社,2007
[33董涛,刘进英,蒋苏.基于单片机的智能小车的设计与制作
[4].计算机测量与控制.2009.17
(2):
380~382
[5]邢增平.Protell99SE设计专家指导[M].北京:
中国铁道出版社,2004.
[6]康华光.电子技术基础数字电路部分[M].高等教育出版社,2005.
[7]凌阳科技大学计划.电子竞赛文集.凌阳科技大学计划资料[C].
[8]黄志伟.全国大学生电子设计竞赛训练教程[M].北京:
电子工业出版社.
[9]赵健领.51系列单片机开发宝典[M].北京:
电子工业出版社,2007.
[10]郭天祥.51单片机C语言教程[M].北京:
电子工业出版社,2009.