当前位置首页 > 建筑/施工 > 其它相关建筑施工文档
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

蓝牙智能遥控小车设计

文档格式:DOC| 53 页|大小 1.85MB|积分 15|2022-09-28 发布|文档ID:156927427
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 53
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 河南机电高等专科学校毕业设计论文论文题目:多功能遥控小车 蓝牙智能遥控小车 系 部 电子通信工程系 专 业 通信网络设备与维修 班 级 通网111 学生姓名 李太宇 学 号 110412132 指导教师 孔慧君 2013年1 月 2 日 基于蓝牙遥控的多功能智能小车设计与制作摘要:无线遥控的机器人小车在危险环境作业、人员搜集等应用中可发挥特殊的作用本次毕业设计选择基于蓝牙遥控的多功能智能小车为对象设计了该系统的硬件电路原理图和PCB图,控制系统以STC12C5A60S2单片机为主控芯片,采用L293D为电机驱动芯片、蓝牙无线遥控模块、红外光电传感器模块、超声波发射与接收模块等构成外围扩展电路。

    将自制的控制电路、控制程序和四轮小车机械结构相结合,制作多功能机器人小车实验调试实现了智能小车的蓝牙无线遥控、自动避障、自动循迹等功能关键词:单片机 ;蓝牙遥控 ;PWM调速;光电传感器Development of a smart remote control vehicle based on blue-tooth communicationAbstract: Wireless remote control robot car could play a special role in the hazardous environment operations and search & rescue personnel. A multi-function smart car with bluetooth remote control is selected as my graduation thesis subject. The design of the system hardware circuit schematic and PCB diagram is present in paper. The control system circuit is mainly consist of a STC12C5A60S2 MCU as the main chip, as well as a L293D chip for motor driving, a bluetooth wireless communication module for remote control, a infrared photoelectric sensor module for object detection, a ultrasonic transmitter and receiver module for distance measurement. The smart car is implemented by the combination of the self-control circuit, the control program code and four-wheel car mechanical structure. Experimental tests showed that some functions such as Bluetooth wireless remote control, automatic obstacle avoidance, automatic tracking route, auto-sensing objects and auto-detecting distance were completely achieved in the smart car.Keywords: Single Chip Microcomputer; Blue-Tooth Remote control; PWM Speed Regulation; Optical Electronic Sensor目录第一章 前言 1第二章 方案比较与论证 22.1总体方案设计 22.2无线模块设计 32.3显示模块设计 32.4调速模块设计 62.5循迹模块设计 72.6避障模块设计 8第三章 智能车机结构分析 93.1底板设计 93.2 电机与底板的连接支架设计 103.3整体装配图 11第四章 控制系统电路设计 124.1 MCU的选型 124.2 电机驱动电路设计 144.3 显示电路设计 164.4 蓝牙模块设计 184.5 电源电路设计 204.6 PCB图设计 21第五章 蓝牙遥控小车程序设计 245.1主程序设计 245.2电脑端蓝牙控制软件的设置 265.3蓝牙模块参数设置 27第六章 调试结果分析 316.1 各模块功能调试 316.2 总结 35致谢 36参考文献 37附 录A 38附 录B 39第一章 前言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。

    遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势我国的无线遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的重点支持下,国内已大范围地进行无线遥控小车的研究全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,但是与国际先进还存在一定的差距可见其研究意义很大本设计就是在这样的背景下提出的设计的智能电动小车能够实现无线遥控,串口通讯,实时检测速度,避障碍等功能无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势,目前在信息家电方面应用正在铺设各种家电共用遥控,并可组网与公众互联网相接,共享有用信息目前蓝牙技术实现无线遥控的短板在于传输距离短和芯片价格高方面但随着科技发展,这些问题正在逐步得以解决 无线遥控机器人有着广阔的应用前景根据题目的要求绘制电路原理图和PCB图,制作电路板;在Keil C编译环境下编写控制程序并调试,确定如下方案:在蓝牙无线遥控的基础上,加装光电红外传感器、光敏电阻、温度传感器,实现对电动车的速度、位置、运行状况、运行环境的实时监测,并将测量数据传送至单片机进行处理,然后由单片机根据所检测到的各种数据,对电动车经行对应的控制并将计算出的数据送至上位机显示,实现真正的实时监控。

    本次设计可以对电动车的运动状态进行实时监控,可满足对系统的各项要求本设计采用STC系列中的STC12C5A60S2单片机以单片机为控制核心,利用传感器检测道路上的各种信息,控制电动汽车的无线遥控、自动避障、自动寻迹、寻光、自动测温等功能第二章 方案比较与论证本次毕业设计主要是针对无线遥控智能车进行分析、设计和制作本次设计以STC12C5A60S2单片机为主控芯片,实现了智能车的无级调速功能、蓝牙遥控功能、自动避障功能、速度检测功能、光线检测功能、距离检测功能等2.1总体方案设计图2.1系统原理框图本小车是以STC12C5A60S2为主控制器开始由电脑或者手机发送蓝牙无线信号来启动并复位小车,由超声波传感器或红外光电传感器进行障碍检测,通过单片机控制小车行驶、显示、避障和调速智能车使用4WD驱动,以提高整车运动的平稳性;在智能车进驶过程中,采用双极式H型PWM脉宽调制技术实现快速、平稳地的调速;通过超声波传感器和红外光电传感器实现自动避障,自动循迹等功能;通过透射式光电传感器计量轮子旋转的圈数(也就是脉冲数)实现速度检测功能;最后通过蓝牙无线传输功能将智能车的行驶信息实时地传送给上位机,以实现实时监控功能。

    当然也可通过蓝牙无线遥控来控制小车的行驶状态这就是本设计的总体设计思路2.2无线模块设计无线控制是为了能够实现对智能车的远程遥控,使小车可以在遥控状态下代替人类完成一些危险项目目前短距离无线数据传输技术主要有两大类,一类是基于IrDA红外无线通信技术,另一类是基于ISM(Industrial Scientific Medical)频段射频通信技术较为主流的几种通信技术之间既存在着相互竞争,但又在某些实际应用领域内相互补充、相互配合,究竟选择何种技术更优越,需要由具体的工作环境来决定表2.1所示为四种短距离无线通讯技术主要性能参数表2.1 几种典型无线传输方案比较蓝牙技术红外技术WiFi技术ISM射频技术通信距离<100m<10m<300m<1000m通信速率<10Mb/s<16Mb/s<11Mb/s<500kb/s通信频率或波长2.4GHz0.75um-24um2.4GHz315、433.868、915和2400MHz频率申请否否否否开发难易难易难易模块成本高很低较低低方案:通过表格可以看出,他们在近距离通讯领域都可以提供可靠的通信服务,但是同时他们的应用有着各自的技术架构的限制在以上的几种中,我最终选择了蓝牙无线传输方式。

    2.3显示模块设计显示模块的主要功能是显示小车运动时的速度,位置及运动时间等信息常用显示器件有LCD显示器、数码管,点阵屏等等根据此次设计需要我提出了以下实现方案方案一:采用8位数码管显示,数码管电路和程序设计简单,但需要循环显示所以占用资源多方案二:采用1602LCD显示器显示此方案采用集成显示模块,硬件电路更加简单,并且液晶显示器消耗电流小,更节能,同时软件实现也简单方案三:PC机显示通过上位机的串口软件来实时监控智能车的行驶信息软件实现简单,无需其他的外部硬件设计表2.2 几种典型显示方式比较数码管显示LCD显示PC机显示开发难易易易较难模块成本很低低高观察方式繁琐繁琐方便方案:通过表格可以看出,方案三更加简单方便,且在智能车行驶过程中,通过LCD来观察智能车行驶信息也不方便,所以我最终选择方案三为本设计中的显示方案但为了以后的功能扩展,也附加了1602LCD显示功能为了节约电能,单独使用了一个单刀双掷开关控制LCD的通断2.4测速模块设计测速模块的功能是完成当前小车速度信息采集,并输出标准脉冲信号,供单片机处理,运算出小车实时速度速度检测可用加速度传感器,光电编码盘,测速电机等实现。

    方案一:磁式测速发电机永磁式直流测速发电机是一种将转子速度转化为电气信号的机电式信号元件,是伺服系统中基本元件之一作为测速、校正,解算元件,他被广泛应用于各种速度和位置控制系统中永磁式测速发电机主要由定子、转子和电刷部件等组成一般情况下自动控制系统对其元件的要求主要是高的精确度、灵敏度、可靠性等因此永磁式直流测速发电机在电气性能方面应满足以下要求:(1) 输出电压和转速成线性关系(2)温度变化对输出特性影响小(3)输出电压波纹小 (4)正反转的输出特性应该一致方案二:光电编码器按照工作原理编码器可分为增量式和绝对式两类增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关工作时,光电码盘安装在转子端轴上,随着电机的转动,光电码盘也跟着一起转动,如果有一个固定光源照射在码盘上,则可利用光敏元件来接收到的光的次数就是码盘的编码数若编码数为60,测量时间为t,测量到的脉冲数为N,则转速为n=N/(t*60)*60=N/t方案三:光电对射式采用对射式红外传感器。

    在轮辐面板上均匀刻出槽孔,在轮子两侧固定相对的红外发射、接收器件在过孔处接收器可以接收到信号从而轮子转动时可以产生连续脉冲信号,通过对脉冲的计数进行车速测量表2.3 几种测速方案比较直流测速发电机光电编码器光电对射式测量精度高高低开发难易难难易模块成本低高较低方案:通过表格可以看出,方案三安装方便简单且精度比方案一的精度高,而方案二的成本太高,且开发难度较高,因此最终我选择方案三设计的方案是使用一块亚克力盘(如图2.3),在盘上刻出20格方槽盘下方的凹形物为槽型光电耦合器,其两端高出部分的里面分别装有红外发射管和红外接收管遮光盘在凹槽中转动时,缺口进入凹槽时,红外线可以通过,缺口离开凹槽红外线被阻挡由此可见,车轮每转一周,红外光接收管均能接收到20个脉冲信号并直接送入单片机的中断口进行计数为实现可逆记数功能,我在测距仪中并列放置了两个槽型光电耦合器,遮光盘先后通过凹槽可产生两个脉冲信号根据两个脉冲信号发生的先后顺序与两个光电耦合器的位置关系,即可计算出智能车的行驶方向图2.2码盘图2.5调速模块设计方案一:串电阻调速系统旋转变流系统由交流发电机拖动直流电动机实现变流,由发电机给需要调速的直流电动机供电,调节发电机的励磁电流即可改变其输出电压,从而调节电动机的转速。

    改变励磁电流的方向则输出电压的极性和电动机的转向都随着改变,所以G-M系统的可逆运行是很容易实现的该系统需要旋转变流机组,至少包含两台与调速电动机容量相当的旋转电机,还要一台励磁发电机,设备多、体积大、费用高、效率低、维护不方便等缺点且技术落后,因此搁置不用方案二:静止可控整流器简称V-M系统V-M系统是当今直流调速系统的主要形式它可以是单相、三相或更多相数,半波、全波、半控、全控等类型,可实现平滑调速V-M系统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难它的另一个缺点是运行条件要求高,维护运行麻烦最后,当系统处于低速运行时,系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备方案三:脉宽调速系统采用晶闸管的直流斩波器基本原理与整流电路不同的是,在这里晶闸管不受相位控制,而是工作在开关状态当晶闸管被触发导通时,电源电压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流,两端电压接近于零脉冲宽度调制(Pulse Width Modulation),简称PWM脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速表2.4 几种调速方式的比较串电阻调速系统静止可控整流器脉宽调速系统开关特性低低高调速精度低较低高开发难易易难易模块成本高较低低PWM调速系统有下列优点:(1)由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽,可达1:10000左右。

    由于电流波形比V-M系统好,在相同的平均电流下,电动机的损耗和发热都比较小2)同样由于开关频率高,若与快速响应的电机相配合,系统可以获得很宽的频带,因此快速响应性能好,动态抗扰能力强3)由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高方案:根据以上综合比较,以及本设计中设计要求和直流电机调速的发展方向,本设计选用了方案三2.6循迹模块设计探测路面黑线的原理:光线照射到路面并反射,由于黑线和白线的反射系数不同,可根据接收到的反射光的强弱来判断传感器和黑线相对位置方案一:采用可见光发光二极管和光敏二极管采用普通可见光发光管和光敏管组成的发射-接收电路其缺点在于易受到环境光源的影响即便提高发光管亮度也难以抵抗外界光的干扰方案二:采用反射式红外发射-接收器采用反射式红外发射-接收器直接用直流电压对发射管进行供电,其优点是实现简单,对环境光源的抗干扰能力强,在要求不高时可以使用方案:根据本题目中对探测地面的要求,由于传感器可以在车体的下部,发射、接收距地面都很近,外界光对其的干扰都很小在基本不影响效果的前提下,为了简便起见,我选用了方案二2.7避障模块设计方案:红外式探测采用红外式发射、检测一体化模块。

    由于单个发射器的照射范围不能太小,因此不使用激光管用波瓣较宽的脉冲调制型红外发射管和接收器其优点是电路实现简单,但抗干扰性较弱表2.5 几种传感器的比较超声波探测红外式探测检测范围(M)0.01-0.5环境要求高低检测精度高低开发难易难易模块成本高低方案:通过综合考虑,我最终选择红外模块安装在小车车尾实现小车倒车壁障,在小车的两侧安装光电检测器来实现前行壁障第二章 智能车机结构分析在本次设计中,小车使用四轮驱动四轮驱动式的结构中因为后轮的转动力矩的增大,所以在横向上的轮胎阻力要大于2轮驱动式的,因此四轮驱动式的车子不易发生方向偏移而且四轮驱动的车子动力更大,爬坡能力更强但存在一些不足,如:四轮驱动式的车子更加耗电,而且车体比一般的2轮驱动式的车体重从整体的性能来看四轮驱动式结构的优势是很明显的3.1底板设计 图3.1 智能车底板图底板是用来支撑车体的主要部件同时也是用来固定车子零部件的,底板上主要有红外传感器安装槽、超声波传感器安装孔、电机定位槽和走线孔,其余的槽孔是用来留在日后扩展用的每个器件的安装位置如图3.1所示底板采用的是亚克力板材安装方便,结构可靠稳定 图3.2 底盘共振频率分析如图是电机底板的共振频率分析图,我是以底板边缘的四个安装孔为固定点,由于智能车的整车车体重500g,所以在底盘的中心处加5N的力,经过电脑的自动网格划分,通过软件的共振频率计算后得到图示的应力分布图。

    从图中可以看出,底板的中间部分是应力最集中的一块,也是最危险的一块,如果车体的振动频率过快,底板很可能会从中间层开始断裂,所以要对底板经行优化设计,减小底板的长度或者加大底板的厚度3.2 电机与底板的连接支架设计 零件数量电机支架2片螺丝螺母(M3)若干M3螺柱若干码盘4片图3.3 电机支架图电机支架主要是用来将电机固定在底板上的,每个电机用两块支架板绑定固定,图示电机支架的工程图中,Ф4为支架的定位孔它通过慒孔和Ф4圆孔来绑定电机,靠左右两侧的肩台与底板卡在一起支架的材料也是亚克力板(PMMA)表3.1 机械零部件表格3.3整体装配图图3.4 整车装配图图3.5 整车材料明细图整体车体由车盘,轮子,电机,电机支架,测速码盘,托板组成在以往的智能小车设计中,大都会采用三轮式结构,前轮一般采用万向轮牵引,左右分别为驱动轮虽然三轮式的结构简单易于操作,但是在小车行驶过程中的稳定性不足,且由于万向轮的径向阻力非常小,所以很容易偏向因此在这次的设计中我采用了四轮驱动,虽然四轮驱动式结构相对于三轮式的结构更加复杂,但其稳定性得到明显加强,并且因为4个轮子都为驱动轮,其偏差更为离散,不一定是同侧的偏差方向一致,所以在小车前进过程中很难偏向。

    第四章 控制系统电路设计一个单片机应用系统的硬件电路设计包含有两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/记数器﹑中断系统等能不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路二是系统配置,既按照系统功能要求配置外围设备,在本设计中包括电机驱动模块﹑红外传感器模块、蓝牙模块﹑显示模块等,还要设计合适的接口电路4.1 MCU的选型本设计中使用的是STC12C5A60S2单片机STC12C5A60S2单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、PWM发生器、内置看门狗、内置8路高速10位A/D转换、独特波特率发生器、中断系统及特殊功能寄存器等它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式图4.1 STC12C5A60S2引脚图表4.1 STC12C5A60S2硬件结构表类型参数STC12C5A60S2STC89C51 RC工作电压(V)5.5-3.4Flash程序存储器字节60k4kRAM字节1280512定时器T0、T1有有PCA定时器2无UART11独立波特率发生器有无DPTR2无EPPROM有有PCA(16位)PWM(8位)2路无A/D8路25万次每秒10位无I/O4440看门狗有有内置复位有无外部可调门槛电压有无外部中断4路4路由上表可见,STC12C5A60S2单片机的硬件结构具有功能部件种类全,功能强等特点。

    特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集,计算速度比普通的8051快8 ~12倍4.2 电机驱动电路设计图4.2 电机驱动电路图本设计采用L293D芯片,L293是ST公司生产的一种高电压、小电流电机驱动芯片该芯片采用16脚封装,内部是由双极性管组成的H桥电路其输出电流为100mA,最高电流2A,最高工作电压36V,可以驱动感性负载,可以控制电机的正反转,且很容易被单片机控制用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速这种电路由于工作在管子的饱和截止模式下,效率非常高;H桥电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也很高,是一种广泛采用的调速技术图4.3 L293D内部结构图图示为L293d的内部结构图,L293d内置了与门、非门、三级管组成的两组电路,因为其排列形状像‘H’子母,所以称其为H桥路通过控制三极管的通断就可以是电机旋转起来,而通过控制不同三极管的导通,电流的流向就会发生改变,电机的转向也就会发生变化在图4.3中,使ENA与ENB两个使能端始终为1,通过控制IN1 ~IN4输入端的状态来改变电机的转向。

    表4.2 L293D真值表IN1 IN2 IN3 IN4右电机左电机 1 0 1 0正正 1 0 0 1正反 0 1 1 0反正 0 1 0 1反反 0 0 0 0 ××当IN1、IN2、IN3和IN4分别为1010时,T1、T4、T5和T8导通,左电机和右电机正转; 示例程序1:void Forward(unsigned char Speed_Right,unsigned char Speed_Left)//前进{ L293D_IN1=1; L293D_IN2=0; L293D_IN3=1; L293D_IN4=0; PWM_Set(255-Speed_Right,255-Speed_Left);}脉宽调制器本身是一个由运算放大器和几个输入信号组成的电压比较器运算放大器工作在开换状态,稍微有一点输入信号就可使其输出电压达到饱和值,当输入电压极性改变时,输出电压就在正、负饱和值之间变化,这样就完成了把连续电压变成脉冲电压的转换作用。

    加在运算放大器反相输入端上的有三个输入信号一个输入信号是锯齿波调制信号,另一个是控制电压,其极性大小可随时改变,与锯齿波调制信号相减,从而在运算放大器的输出端得到周期不变、脉宽可变的调制输出电压只要改变控制电压的极性,也就改变了PWM变换器输出平均电压的极性,因而改变了电动机的转向.改变控制电压的大小,则调节了输出脉冲电压的宽度,从而调节电动机的转速.只要锯齿波的线性度足够好,输出脉冲的宽度是和控制电压的大小成正比的示例程序2为脉宽调制函数,其中PWM_Set为PWM调速函数,本设计采用的是软件调速,Speed_Right、Speed_Left为用户给定的初值速度,速度值范围:0 ~255,数值越大,速度越快在通常的程序中多是采用定时器为波特率发生器而本次设计中采用的是MCU自带的PWM脉冲发生器,stc12c5a60s2有内置的一个计数器和比较寄存器CCAPnL和CL,CCAPnL用来存放一个0-255之间的一个数据,CL是一个计数器,当CL的值小于CCAPnL时,PWM引脚输出低电平脉冲,当CL的值大于CCAPnL时,PWM引脚输出高电平脉冲示例程序2:void PWM_Set(unsigned char PWM0_DATA,unsigned char PWM1_DATA){ CCAP0L=PWM0_DATA;//装入比较初值 CCAP0H=PWM0_DATA; CCAP1L=PWM1_DATA; //装入比较初值 CCAP1H=PWM1_DATA;}4.3 显示电路设计本设计中采用LCD1602字符型液晶屏为下位机显示设备,在单片机的人机交流界面中,一般输出方式有:发光管、LED数码管、液晶显示器。

    液晶显示器显示质量高,由于液晶显示器每一个点在收到信号就一直保持那种色彩和亮度,恒定发光,因此,液晶显示器的画面质量高不会闪烁由于液晶显示器都是数字式的,所以和单片机的接口更加简单可靠,操作方便液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,因此,液晶显示器也有体积小,重量轻的优点液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示,这样即可以显示出图形液晶显示器目前已被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域图4.4 LCD1602电路图LCD的DB0—DB7口与单片机的P0口相连,RS连接到P2.7口,RW连接到P2.6口,使能端E口连接到P2.5口P0口做为数据写入端表4.1 LCD引脚定义符号引脚说明符号引脚说明VSS电源地D2Data I/OVDD电源正极D3Data I/OVL液晶显示偏压信号D4Data I/ORS数据/命令选择端(H/L)D5Data I/OR/W读/写选择端(H/L)D6Data I/OE使能信号D7Data I/OD0Data I/OBLA背光源正极D1Data I/OBLK背光源负极示例程序://****************写数据************************//void WriteDataLCM(unsigned char WDLCM) { ReadStatusLCM(); //检测忙 LCM_Data = WDLCM; LCM_RS = 1; Delay10us(1); LCM_RW = 0; Delay10us(1); LCM_E = 0; Delay10us(1); LCM_E = 0; Delay10us(1); LCM_E = 1; Delay10us(1); }4.4 蓝牙模块设计蓝牙模块主要是为了实现上位机与下位机的数据传输,本设计是通过蓝牙转串口模块,实现上位机与下位机的无线通讯功能,所以本质上使用的是单片机串口通信。

    串行通讯的特点是:数据按位顺序传送,最少仅需一根传输线即可完成,成本低但传送速度慢串行通讯的距离可以从几米到几千米 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工 串行通讯又分为异步通讯和同步通讯两种方式在单片机中,主要使用异步通讯方式图4.5 USB与蓝牙模块相连在本设计中采用WE-40C(如图4.6)蓝牙模块,设置一个为主机,另一个为从机通过发送AT指令来控制智能车的前进、后退和转弯WE-40C使用方便,可支持一对多通讯,也可通过AT指令来切换模块的主从模式当蓝牙模块上电后红色指示灯闪烁,与另一蓝牙模快时,蓝色指示灯常亮图4.6 WE-40C蓝牙模块实物图WE-40C特点:1.使用方便,两模块通电后自动连接,非常方便2.具备5V和3.3V两种接口3.支持分时一对多通讯,可绑定模块地址指定通讯4.主从一体化,可通过简单的AT指令任意切换主从模式5.带有9个扩展IO口(两个预留),既可输入也可输出6.发射通讯距离远,开阔地40米7.模块采用双PCB复合式设计,采用加厚板材(1.6mm)。

    WE-40C应用范围:1.主要是用于代替串口线,包含TXD和RXD两组信号,可以直接接入单片机等带有串口的系统或设备,也可以通过MAX232芯片转换成RS232电平后使用2.单片机通过电脑蓝牙适配器和电脑连接,无线收发数据3.单片机和智能手机蓝牙连接,实现单片机和智能手机之间的无线串口通讯4.5 电源电路设计图4.7 电源电路图 如图4.7中J6为电池接口,U1为ASM1117稳压芯片,C1、C2、C3为滤波电容,D1为续流二极管,当小车断电时,电路板中会产生感应电流通过D1流向地端,这样减小了感应电流对元器件的损坏S1,S2是电池供电和USB供电的切换开关,当S1拨到2,4位、S2拨到3,6位时小车由电池供电,当S1拨到3,6位、S2拨到2,4位时,小车由USB供电VCC_Motor为电机驱动芯片电源,BLU_VCC为蓝牙通讯模块电源表4.2各电源模块分配7.2V电池电源VCCMCU电源VCC_Motor电机驱动芯片电源BLU_VCC蓝牙通讯模块电源在电源电路设计中采用的AMS1117稳压芯片有可调版与多种固定电压版,设计用于提供1A输出电流且工作压差可低至1V在最大输出电流时,AMS1117器件的压差保证最大不超过1.3V,并随负载电流的减小而逐渐降低。

    AMS1117的片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力AMS1117应用高效线性稳压器后置稳压器,用于交换式电源 5V至3.3V线性稳压器电池充电器有源SCSI终端笔记本电源管理电池供电设备本设计中是利用AMS1117将电池的7.2V电压转换为5V电压供给单片机和外围的传感器设备如,红外传感器、蓝牙模块、超声波模块、电机驱动芯片经测试在用此种供电方式下,单片机和传感器工作稳定,直流电机工作良好4.6 PCB图设计电路原理图见附录A 在电路原理图设计好之后,根据布线原则对元器件进行布局,布线,最后铺铜、滴泪将设计好的PCB文件发给厂家进行生产制作,这就是整个电路板的制作过程一般PCB基本设计流程如下:前期准备→PCB结构设计→PCB布局→布线→布线优化和丝印→网络和DRC检查和结构检查→制板1)PCB布线工艺焊盘、线、过孔的间距要求:PAD and VIA : ≥ 0.3mm(12mil)PAD and PAD : ≥ 0.3mm(12mil)PAD and TRACK : ≥ 0.3mm(12mil)TRACK and TRACK : ≥ 0.3mm(12mil)密度较高时:PAD and VIA : ≥ 0.254mm(10mil)PAD and PAD : ≥ 0.254mm(10mil)PAD and TRACK : ≥ 0.254mm(10mil)TRACK and TRACK : ≥ 0.254mm(10mil)(2)本设计中PCB布线工艺规则① 线在本设计中,信号线宽为0.3mm(12mil),电源线宽为1.27mm(50mil);线与线之间和线与焊盘之间的距离大于等于0.33mm(13mil)。

    特殊情况下,当器件管脚较密,宽度较窄时,可按适当减小线宽和线间距② 焊盘(PAD)在本设计中焊盘(PAD)与过渡孔(VIA)的设计规则是:插脚式电阻、电容和集成电路等,采用盘/孔尺寸1.6mm /0.8mm(63mil/32mil);插座、插针和二极管等,采用1.8mm/1.0mm(71mil/39mil)PCB板上设计的元件安装孔径比元件管脚的实际尺寸大0.2~0.4mm左右③ 过孔(VIA)在本设计中过孔的尺寸为1.27mm/0.7mm(50mil/28mil)制好板子后,购买元器件焊接板子焊接板子之前先准备好恒温焊台、热风枪、吸锡丝、焊锡丝、助焊剂、镊子等工具焊接贴片IC芯片的步骤:1、将芯片平放在PCB板上,将芯片引脚对准焊盘然后用手指按住;2、然后将芯片的两个对角焊牢;3、在芯片的四周上适量的焊锡;4、将PCB板向着焊接引脚的方向下倾斜45度,用松香去掉烙铁头端多余的焊锡;5、把粘有松香的烙铁头放在有焊锡的部分;6、来回拖拉烙铁,将焊锡均匀的布在芯片的引脚上;7、重复上述步骤焊接芯片的另外的引脚,如果发现引脚间有多余的焊锡就用吸锡丝将多余的焊锡吸掉;第五章 蓝牙遥控小车程序设计在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。

    因此,软件设计在微机控制系统设计中占重要地位对于本系统,软件更为重要在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型数据处理包括:数据的采集、数字滤波、标度变换等过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法5.1主程序设计 图5.1 主程序流程图 图5.2 定时器中断流程图程序见附录B图5.1为蓝牙遥控小车的程序流程图,从图中可以看出,小车可以实现蓝牙遥控功能,且在小车行驶过程中,自动检测障碍并提示控制人员也可以自动测试行驶速度,将速度值送至上位机显示在主程序中最主要的一段程序是串口通讯程序,串口通讯函数如下例程1,单片机的串口通讯是为了实现上位机与下位机的数据传输,单片机是通过管脚RXD和管脚TXD与外界通讯的,SUBF是串行口的缓冲寄存器,单片机与上位机的通信数据都是临时存放在SUBF寄存器中的,通过软件的读写操作就可以实现单片机与外设之间的数据通讯了。

    串口通讯的初始化主要是对SCON、TCON、TMOD、IE几个寄存器的设置;SCONSM0 SM1 SM2 SM3 REN TB8 RB8 TI RI串行口控制寄存器TCONTF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0定时器/计数器控制寄存器TMODGATE C/T M1 M0 GATE C/T M1 M0定时器/计数器工作方式设置寄存器IEEX0 ET0 EX1 ET1 ES ET2 -- EA中断允许控制寄存器 示例程序1:void Send_Char(unsigned char DATA){ ES=0;//关闭串口中断 flag1=0; SBUF=DATA; //将数据发送出去,可以在电脑串口工具的接收区观察 while(!TI);//数据发送完毕之后,T1会置1 TI=0; ES=1;//重新允许串口中断 }5.2电脑端蓝牙控制软件的设置软件的设置:1设置波特率,串口号,数据位,停止位,校验位;2绑定键值;3设置发送间隔(一般设置在19ms内,收发数据会稳定些);4开始监听键盘;图5.3 上位机软件设计运行电脑上的控制端,打开软件后,设置以上参数后,这里主要是设置按键的绑定值:W绑定十六进制0X33,0X33在程序中对应的是前进标志符;A绑定十六进制0X11,0X11在程序中对应的是左转标志符;D绑定十六进制0X22,0X22在程序中对应的是右转标志符;S绑定十六进制0X44,0X44在程序中对应的是后退标志符;设置完参数后点击开始,数据接收界面时会显示欢迎信息,提示已经入蓝牙控制模式。

    此时该软件就会通过蓝牙与小车连接,这时就可以随心所欲的遥控小车了(当然遥控距离有限制)5.3蓝牙模块参数设置通过串口通讯软件和AT指令对蓝牙主从模块参数经行设置,先上电,然后手动按下AT Mode按钮,进入后Status灯慢闪这时就可以对蓝牙模块的参数经行自定义设置了:1、设置配对密码:命令格式【AT+PSWD=<4位密码>】,查询当前密码格式【发送AT+PSWD?】2、设置串口参数:命令格式【AT+UART=<波特率?>,<几位停止位?>,<几位校验位?>】,查询当前串口参数【发送AT+UART?】3、模块主从机设置:命令格式【AT+ROLE=<0或1或2>】,查询当前蓝牙模块角色【AT+ROLE?】0:从机(Slave),被动连接1:主机(Master),主动搜索周围的蓝牙从机,并发起连接和从机连接成功之后便建立起了一条透明的数据传输通道2:回环:被动连接,接收远程蓝牙主设备数据并将数据原样返回给远程蓝牙主设备4、修改模块名称:命令格式【AT+NAME=<蓝牙模块的名称>】,查询蓝牙模块名称【AT+NAME?】5、绑定蓝牙串口模块地址:命令格式【AT+BIND=<模块地址>】6、设置蓝牙串口的连接模式:命令格式【AT+CMODE=<0或1>】0:指定蓝牙地址的连接模式。

    1:任意地址连接模式5.6红外循迹程序设计 图5.6 红外循迹流程图程序见附录B第六章 调试结果分析 6.1 各模块功能调试1、蓝牙遥控调试及结果分析 在小车上电后WE-40C蓝牙模块上的Status工作状态指示灯会快速闪烁,当主从模块配对成功进行通讯时,蓝牙模块上的Link连接指示灯常亮且Status状态指示灯会间断闪烁在非开阔地的环境下对不同的距离的通讯情况经行测试,通过电脑端串口工具控制小车直行,观察小车的极限距离为多少统计本次调试的结果表明,WE-40C蓝牙模块的有效通讯距离为0m到25,在此范围内电脑与小车通讯正常表6.1 距离对通讯的影响距离(M)5101520253035通讯状态正常正常正常正常正常无法通讯无法通讯2、 红外避障调试及分析在进行红外避障时,首先要调节红外传感器的灵敏度,如果发现传感器在距离障碍物很远时就检测到了障碍,就将滑动电阻调大些,降低红外线的发射频率;如果发现传感器在距离障碍物很近时才检测到了障碍,就将滑动电阻调小些,提高红外的发射频率总之将传感器的检测范围调在20-30CM以内上电运行后,放到没有障碍物的空地上,小车直走当前方没有障碍物的的时候车就一直直走。

    如果前方遇到障碍物,则小车做后退—右转运动直至前方没有障碍物,这时小车恢复直走如果左方有障碍物,则小车右转直至左边没有障碍物,这时小车恢复直走如果右方有障碍物,则小车左转直至右边没有障碍物,这时小车恢复直走如果前面没有障碍物,则先执行直走也就是说如果前方没有障碍物,即使其他任意方向都有障碍则小车依然直走以程序中的一段程序为例:while(Left_InSen==0 && Right_InSen==1) { L_flag++; Forward(0,200); Delay1ms(10); if(L_flag==150) { L_flag=0; Stop(); Delay1ms(300); Back(Back_R_DATA,Back_L_DATA); Delay1ms(500); Stop(); Delay1ms(300); Forward(20,250); Delay1ms(400); Forward(Forward_R_DATA,Forward_L_DATA); }上述程序中Left_InSen和Right_InSen是左右传感器的状态标志位,当(Left_InSen==0 && Right_InSen==1)时,就是指左边传感器检测到物体,那这时小车就执行右转指令。

    程序中是通过L_flag标志位判断小车是否被障碍物卡住的if(L_flag==150)在标志位自加到150次时,说明小车右转1.5s后依然检测到障碍物,这时执行下一段程序如果小车被障碍物卡住了,就先停车,300ms后倒车,倒车500ms后,再次停车300ms,右转400ms后,小车继续前进这里的300ms停车时间是为了给小车电机换向的缓冲时间在调试时,小车发生没有发生误判断动作,3、 循迹功能调试及分析循迹功能中使用的是红外传感器,在调节传感器时,始终保持红外检测距离在20CM以内上电后,当小车对着轨迹中间行驶时,左右传感器都没检测到黑线,小车高速直行;当小车偏轨道左侧时,左侧的传感器检测到黑线,小车低速右转;当小车偏轨道右侧时,右侧的传感器检测到黑线,小车低速左转;当小车的左右红外传感器都检测到黑线时,小车停车以下程序是循迹程序中的主程序: while(Left_InSen==0 && Right_InSen==0) Forward(Forward_R_DATA,Forward_L_DATA);//前进 while(Left_InSen==0 && Right_InSen==1)//如果右边传感器检测到黑线,小车右转。

    Turn_Right(150,170); //右转 while(Left_InSen==1 && Right_InSen==0)//如果左边传感器检测到黑线,小车左转 Turn_Left(170,150); //左转 while(Left_InSen==1 && Right_InSen==1)//如果两边传感器都检测到黑线,小车停止程序中Left_InSen和Right_InSen是左右红外传感器的状态标志位在进行循迹功能调试时,小车经常会冲出跑道通过降低小车直行的速度,解决了这一问题5、 小车速度精度调试及分析测试小车的测速精度,本设计是通过透光式红外传感器测量整车速度,在不同的路程内,用秒表测出小车的行驶时间,再用路程/时间得出实际的车速再将实际车速与单片机计算出的速度经行比较得出小车自动测速的误差表6.2光电传感器的测速精度测试距离(M)1235101320测量值(CM/S)17181617161917实际值(CM/S)25252323252425误差值(CM/S)8776958平均误差(CM/S)7.16、 调试过程中遇到的困难及解决方法(1)在蓝牙无线遥控过程中,当遇到障碍物,电脑端提示频率刷新过快。

    解决方法:在主函数里加上障碍检测标志位,当第一次检测到障碍物时将标志位置位,在下一次的扫描中判断标志位是否与之前的相等,若相等则不发送字符串2)在蓝牙无线遥控过程中有显示乱码的现象解决方法:用十六进制编辑软件HexEdit打开c51.exe,将80FBFD改为80FBFF3)在循迹检测时,小车会驶出预定的轨道并出现无法检测到黑线的情况解决方法:调节红外传感器的灵敏度即可(4)在测速时,由于忘了设置外部中断的触发方式,采用了默认的电平触发,这样做单片机就会一直处于中断状态,从而导致小车无法行驶解决方法:将外部中断触发方式设置成下降沿触发,解决了这一问题6.2总结随着时间的流逝,我的毕业设计也接近尾声当然这次毕业设计并不是非常完美,还有一些地方需要后续的改进,比如小车的遥控方式可以改成更先进的无线互联网远程控制方式如果将小车接入互联网,那只要使用者有台电脑或手机等移动终端,就可以在全球各地对小车进行远程遥控,相比蓝牙遥控无线互联网遥控就显得很有优势了当然成本也是很高的还有小车的轮子可以改成坦克式的履带轮,这样小车的越障碍能力会更强,更能适应崎岖的道路当然车子可以在以后再做大些,在上面安装机械臂,这样就可以更加方便地控制小车进行一些生产作业。

    当然,没有任何事物可以做到完美无缺的,我相信只要我们不断努力去完善,那做出来的产品才会更出色致谢历时一个月的设计过程中,我首先边查资料,我感觉到即使是一个简单的电路,要想很轻松的焊好,也不是很容易的事情有时可能是阻值选错这使我深深感受到理论与实际间的差距通过这样的设计,提高了我的动手能力使我软件调试知识也提高了本设计采用的是STC12C5A60S2单片机,这主要是因为该单片机的稳定性比较好和执行指令的速度很快还可以采用其它系列的单片机经过自己不断的搜索努力以及李老师的耐心指导和热情帮助,本设计已经基本完成孔老师的态度和热。

    点击阅读更多内容
    卖家[上传人]:chenhao
    资质:实名认证