1、青岛理工大学毕业设计(论文)用纸第 I 页摘 要智能作为现代社会的新产物,是以后的发展方向它可以按照预先设定的模块在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或更高的目标。本文设计是基于 AT89s52 微处理器的机器人车体系统和 XL02-232AP1 微功率无线透明传输模块的无线通信系统,以此实现小车的前进、后退、停止、及直角特别是圆弧形拐弯,本设计主要体现多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿机器人、家用自动清洁机器人,特别是智能足球机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展方向,为中国玩具市
2、场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。关键词:单片机,智能小车,AT89s52,XL02-232AP1青岛理工大学毕业设计(论文)用纸第 II 页ABSTRACTAs a new product of modern society,intelligence is the trend in future development.It can work in some specific environment according to the mode which sets in advance.Dispensing with behavior adjustment mana
3、gement,but it can achieve the expected,even higher goal.This design is based on the robot body AT89s52 microprocessor system and XL02-232AP1 transparent micro-power wireless transmission module of the wireless communication system,to achieve the car forward, backward, stop, especially the arc-shaped
4、 bend at right anglesThe design mainly reflected a smart-car model,The theoretical scheme,analysis method,uniqueness and innovation etc.that pointed in this paper,I think they are will be certain reference value in design an popularity of automatic or semi-automatic robot such as automatic transport
5、ation robot,prospecting robot,cleaning household robot, especially intelligent soccer robot.This car can be used as a model of development of toy,to make up the deficiency of technical content in the Chinese toy market,to realize economic profit and to form commercial value.KEY WORDS:MCU,smart-car r
6、obot, AT89s52,XL02-232AP1青岛理工大学毕业设计(论文)用纸第 III 页目 录前 言 1第 1 章 设计环境建设 411 硬件环境 .41.1.1 硬件系统铺设 41.1.2 硬件设备 41.2 软件环境 .5第 2 章 智能小车车体 62.1 智能小车的硬件结构 .62.1.1 主控芯片的选择 62.1.2 主要芯片介绍 62.1.3 小车控制板电路图 112.1.4 小车电路板成品样图 112.2 智能小车关键代码 .122.3 智能小车程序介绍 .122.3.1 上位机程序介绍 122.3.2 下位机程序介绍 13第 3 章 无线收发模块 203.1 无线模块的选
7、择 .203.1.1 XL02-232AP1 的端口定义及连接示意图 .203.1.2 无线模块的性能 223.2 配置接口通讯协议 .243.2.1 接口 253.2.2 命令 253.3 参数范围 .263.4 发送串口控制命令 .26第 4 章 电机驱动模块 27青岛理工大学毕业设计(论文)用纸第 IV 页4.1 电机方案的论证与比较 .274.2 电机驱动芯片 .27第 5 章 经验总结与展望 295.1 设计中解决的问题 .295.2 总结与展望 .30致 谢 31参考文献 32附录一:原理图 33附录二:上位机主要程序代码: 34青岛理工大学毕业设计(论文)用纸第 1 页前 言1、
8、课题背景及意义机器人学 是一门与机器人设计、制造和应用相关的科学。机器人学又称1为机器人技术或机器人工程学,主要研究机器人的控制与被处理物体之间的相互关系。机器人学涉及的专业领域很多,主要内容有运动学和动力学、系统结构、传感技术、控制技术、行动规划和应用工程等。智能车是机器人学中的一类,是具有自主性、适应性和交互性等于一体的综合系统,它融合了自动控制、人工智能、机械工程、信息融合、传感器技术、图像处理技术以及计算机等多门学科的最新研究成果,对智能车的研究不仅具有理论意义而且具有实际价值 。2智能车在我们的现实生活中的应用意义极大。人类的研究活动已摆脱了地球生物圈的束缚而广泛地进入外层空间和海洋
9、深处。对月球和太阳系其他行星的探测,对太阳系以外的宇宙进行考察,对数千米以下的海底的研究,都是目前单靠人力所不能及的。智能机器人正在代替人们完成这些任务。在战场上的军事活动中,在恶劣环境条件下的生产劳动中,凡不宜由人直接承担的任务,均可由智能机器人代替,如智能小车可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段、人类无法介入等特殊情况下的任务。本设计是智能小车的运动轨迹的研究,是智能小车研究领域的重要组成部分,初步实现了多学科领域的综合研究。2、国内外研究及现状从 20 世纪 70 年代,欧美等发达国家开始进行无人驾驶车的研究,大致可以分为三个阶段:军事用途、高速公路和城市环境 。在
10、军事用途方面,早在380 年代初期,美国国防部就资助自主陆地车辆 ALV(AutonomousLandVehicle)青岛理工大学毕业设计(论文)用纸第 2 页的研究。进入 21 世纪,美国国防部连续举办大挑战(Grand Challenge)比赛 活动,对促进智能车辆技术交流与创新起到很大激励作用。随着现实需要,智能车辆的研究逐渐转向民用领域,最早实现在高速公路应用领域。高速公路无人驾驶研究的典型代表有美国 CMU 大学的 NavLab-5 系统,意大利帕尔玛大学的ARGO 系统和德国联邦国防大学的 VAMP 系统。在城市交通方面,欧洲 Yamaba 公司推出了旅游接待智能车辆 CyberC
11、ab 4。在 2005 年日本爱知世博会上,丰田公司成功演示了 ITMS 无人驾驶公交系统。美国在城市环境智能车辆研发方面起步较晚,目前与欧洲和日本存在一些差距。由于起步较晚,国内智能车研究水平总体上与发达国家相比存在不小的距离。但经过各高校和研究单位的不懈努力,仍取得了阶段行的成果。国内清华大学、国防科技大学、上海交通大学、西安交通大学、吉林大学、同济大学和南京理工大学等都有过智能车的研究项目。我国的智能车发展也主要运用在军事用途、高速公路和城市交通三个领域。“八五” 、 “九五”期间由国内六所重点大学联合研制成功了我国第一辆智能车 ALVLAB1 和第二代智能车 ALVLAB2。目前,我国
12、正在组织研究第三代的陆地自主车 ALVLAB3。THMR-V(TsingHua Mobile Robot V)清华 V 型智能车是一个比较成功的范例。它由清华大学计算机系智能技术与系统国家重点实验室在中国科学院院士张钹主持下研制的新一代智能移动机器人,兼有面向高速公路和一般道路的功能 。除了清华大学,越来越多的研究机构、学者也加入到这一新兴学科中来。比如上海交通大学设计的自动驾驶汽车,能根据道路弯曲程度的变化,实时计算出车辆的转向盘角度输入,控制车辆按预设道路行驶。3、课题研究内容智能车的研究是纷繁复杂的,而无论是怎样的功能,车体的运动系统是可少的。本文设计方案以多功能的智能小车作为载体,以单
13、片机 AT89S52 为核心,5青岛理工大学毕业设计(论文)用纸第 3 页以 XL02-232AP1 微功率无线透明传输模块为辅助系统,由驱动执行电路完成小车的行驶,通过计算机的控制对小车状态作出实时反应,并输出相应的控制指令;能够实现小车的前进,停止,后退,三个等级的左右转向,以及小车的弧形运动。是智能车的基础研究领域。 青岛理工大学毕业设计(论文)用纸第 4 页第 1 章 设计环境建设11 硬件环境要迅速反应、精确计算高效率的完成复杂功能,就需要一个运作稳定良好的硬件环境。而提升硬件环境质量。高质量的硬件可以提供更加清晰丰富的数据,收集足够而标准的有用信息。当然,硬件系统牢固的架构与良好的
14、信息传导性能,将会极大地提高整个系统的信息传递速率与系统稳定性,也是提高系统有效信息传递效率的可靠保证。硬件系统铺设过程中要预留有足够的调试空间,要有目的有计划的建设系统关键节点,足够而适当的调试空间可以提升系统的各方面适应性和可靠性。1.1.1 硬件系统铺设计算机 无线收发模块 智能小车决策系统 串口操作指令图 1-11.1.2 硬件设备本设计中用到的硬件设备包括:可执行串口控制指令的智能小车一辆,无青岛理工大学毕业设计(论文)用纸第 5 页线收发模块一套,USB 转串口设备一套,软件开发包一套,电池、导线若干。1.2 软件环境设计中用到的软件操作系统是 windows xp,编程中用到了
15、vc,在模拟仿真中用到了 Keil C,protel,proteus 等。青岛理工大学毕业设计(论文)用纸第 6 页第 2 章 智能小车车体智能小车车体是整个设计中的核心,它是这个系统运作的最终执行者。它表现了整个智能小车设计的系统执行效率。2.1 智能小车的硬件结构2.1.1 主控芯片的选择方案一:采用单个单片机作为主控芯片。由于 AT89S52 具有 32 个 I/O 口,能满足小车各部分对 I/O 口的需求,另外只用一个单片机可以很好的控制小车。方案二:采用双单片机作为主控芯片。利用两块 AT89S52 分别对小车的各部分进行检测和控制,虽然减轻了单个单片机的负担,提高了系统的工作效率,
16、但是存在很多的 I/O 的资源浪费,并且两个单片机不容易控制,所以不采用该方案。使用方案一。2.1.2 主要芯片介绍A AT89S52 芯片 6青岛理工大学毕业设计(论文)用纸第 7 页图 2-1AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效
17、的解决方案。AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,青岛理工大学毕业设计(论文)用纸第 8 页RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 P0 口:P0 口是一个 8 位漏极
18、开路的双向 I/O 口。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。 此外,P1.0 和 P1.1 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和定时器/计数器 2 的触发输入(P1.1/T2EX) 。 在 flash 编程和校验时,P1 口接收低 8 位地址字节。 P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p3 输出缓冲器能驱动 4 个 TTL 逻辑电平。 此外
19、,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 A
20、LE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 EA/VPP:外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH) ,EA 端必须保持低电平(接地) 。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态
21、。如 EA 端为高电平(接 Vcc 端) ,CPU 则执行内部青岛理工大学毕业设计(论文)用纸第 9 页程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。B L293D 芯片图 2-2L293D 通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达7转动方向,使能信号可以用于脉宽调整(PWM) 。另外,L293D 将 2 个 H-桥电路集成到 1 片芯片上,这就意味着用 1 片芯片可以同时控制 2 个电
22、机。每 1 个电机需要 3 个控制信号 EN1、EN2、IN1、IN2,其中 EN1、EN2 是使能信号,IN1、IN2 为电机转动方向控制信号,IN1、IN2 分别为 1,0 时,电机正转,反之,电机反转。选用一路 PWM 连接 EN12 引脚,通过调整 PWM 的占空比可以调整电机的转速。选择一路 I/O 口,经反向器 74HC14 分别接 IN1 和 IN2 引脚,控制电机的正反转。L293D 额定工作电流为 1A,最大可达 1.5A,Vss 电压最小 4.5V,最大可达36V;Vs 电压最大值也是 36V,但经过实验,Vs 电压应该比 Vss 电压高,否则有时会出现失控现象。L293D
23、 内部集成了续流二极管,因此可以直接驱动感性负载,如线圈和电机。青岛理工大学毕业设计(论文)用纸第 10 页表 2-1 是其使能、输入引脚和输出引脚的逻辑关系:表 2-1EN A(B) IN1(IN3) IN2(IN4) 电机运行情况H H L 正转H L H 反转H 同 IN2(IN4) 同 IN1(IN3) 快速停止L X X 停止C MAX232 芯片MAX232 芯片(如图 2-3)是美信公司专门为电脑的 RS-232 标准串口设计的单电源电平转换芯片,使用+5v 单电源供电。青岛理工大学毕业设计(论文)用纸第 11 页图 2-3引脚介绍:第一部分是电荷泵电路。由 1、2、3、4、5、
24、6 脚和 4 只电容构成。功能是产生+12v 和-12v 两个电源,提供给 RS-232 串口电平的需要。 第二部分是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通道。其中 13 脚(R1IN) 、12 脚(R1OUT) 、11 脚(T1IN) 、14 脚(T1OUT)为第一数据通道。8 脚(R2IN) 、9 脚(R2OUT) 、10 脚(T2IN) 、7 脚(T2OUT)为第二数据通道。TTL/CMOS 数据从 T1IN、T2IN 输入转换成 RS-232数据从 T1OUT、T2OUT 送到电脑 DB9 插头;DB9 插头的 RS-232 数据从R1IN、R2I
25、N 输入转换成 TTL/CMOS 数据后从 R1OUT、R2OUT 输出。 第三部分是供电。15 脚 GND、16 脚 VCC(+5v) 。 主要特点:(1)符合所有的 RS-232C 技术标准 (2)只需要单一 +5V 电源供电 (3)片载电荷泵具有升压、电压极性反转能力,能够产生+10V 和-10V青岛理工大学毕业设计(论文)用纸第 12 页电压 V+、V- (4)功耗低,典型供电电流 5mA (5)内部集成 2 个 RS-232C 驱动器 (6)内部集成两个 RS-232C 接收器2.1.3 小车控制板电路图涉及到的主要配件有:300rad/min 直流电机,ATmega8515L 芯片
26、,MAX232芯片,滤波器,电容,电阻,二级管,串口接口,开关等,智能小车的原理图详见附录 1。2.1.4 小车电路板成品样图图 2-4 智能小车车体及无线接收模块青岛理工大学毕业设计(论文)用纸第 13 页图 2-5 无线发射模块 图 2-6 USB 转串口模块2.2 智能小车关键代码(见附录 2)本程序在 Icc AVR 仿真调试 IDE 中由 C 语言编写后生成 .Hex 文件,再由双龙 MCU 下载程序 SLISP 下载到小车单片机上。它的功能为接受串口传入的 16位控制命令 01、02、03、04、05,并根据接收到的 16 位控制命令实现小车的前进、后退、左转、右转及停止功能。此程
27、序不具有应答反馈和路径判断功能,属于完全被动的执行上位机命令的客户端程序。2.3 智能小车程序介绍本设计程序分为上位机和下位机,上位机主要通过 MFC 控制窗口对小车发送运动指令,上位机通过 MFC 读取指令,由计算机的串口发送给 XL02-232AP1 无线发送模块。无线接收模块接收命令后进行分析解码,传送给单片机AT89S52,单片机读取指令,发送控制命令给电动机驱动芯片 L293D,驱动电机运转,从而实现智能小车的运动。2.3.1 上位机程序介绍上位机是用 MFC 写成的应用程序,主要目的为通过 COM 口向串口发送数据到无线发送模块,经接收模块接收后控制小车的运行轨迹。青岛理工大学毕业
28、设计(论文)用纸第 14 页例如:小车的左直角拐弯的控制代码如下void CRobot2Dlg:OnButton7() / TODO: Add your control notification handler code hereCSerial ser;char buf1;buf0=Rob_left_one;ser.Open(com,9600);ser.SendData(buf,com);ser.Close();通过运行程序,点击此按钮可以实现小车的左转弯的运动。2.3.2 下位机程序介绍A 主要功能及实现本设计主要实现了只能小车在运动过程中的直行,后退,停止及转弯,下面详细介绍各功能的实现情
29、况。sbit input1=P13;sbit input2=P12;sbit input4=P10; sbit input3=P11;sbit en=P36;分别定义 input1,input2,input4,input3 为 P1 口的第 3,2,0,1 位,以便进行位操作,定义 en 为 p3 口的第六位。首先进行单片机的初始化。TMOD=0x22;TH0=0x38;青岛理工大学毕业设计(论文)用纸第 15 页TL0=0x38;TH1=0xfd;TL1=0xfd;TR0=1;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;ET0=1;对定时器方式选择寄存器 TMOD 的
30、操作,确定是按定时器的工作模式,TH0和 TL0 分别是定时器 0 的高低 8 位,赋初值为 0x38,TH1 和 TL1 分别是定时器1 的高低八位,赋初值为 0xfd。TR0=1,TR1=1 表示分别启动 T0 和 T1 计数器REN 为接收控制位,REN=1 表示允许接收。SM0=0,SM1=1 表示单片机的串行口的通信方式是 10 位异步收发方式,所用的波特频率则由定时器控制完成。在中断初始化方面,EA=1 表示开单片机所有中断,ES=1 开串行口中断,ET0=1 开 TO中断,初始化完毕,进入主程序循环。主程序中,建立 void carmov(uchar left,uchar rig
31、ht)函数,方便主程序循环语句 while()的调用。利用 switch 语句的判断,例如小车的右转:case 0x06: carmov(UF,US); break;/小车原地case 0x07: carmov(UF,UL); break;/小车右转弧形拐弯 1 级case 0x08: carmov(UF,UM); break;/小车右转弧形拐弯 2 级单片机对接收到的指令通过上述语句进行判断,若收到的为 0x08,则执行第三条语句,调用 carmov 函数,函数的两个初始值分别为 UF 和 UM,在程序中已定义#define UF 1,#define UM 2,运行 carmov 函数,首先
32、进行左轮运动情况的判断,在此例中,我们选择左轮的初值为 UF。if(left=UF)青岛理工大学毕业设计(论文)用纸第 16 页 input1=1;input2=0;input1 和 input2 分别赋值为 1 和 0,表示小车左轮全速前进。继续运行程序进行小车的右轮运动情况的判断,此例中,我们选择右轮的初值为 UM。else if(right=UM) if(num=90)青岛理工大学毕业设计(论文)用纸第 17 页num=0;简单介绍单片机模拟产生 PWM 信号。单片机系统实现对电机的控制,必须首先完成两个任务:首先是产生基本的 PWM 周期信号;其次是脉宽的调整,即单片机模拟 PWM 信
33、号的输出,并且调整占空比。在此,我们设计 num 初值为 0,num 自加,如果 num=90 时,则将 num 变为0 继续中断程序运行,在此我们用定时器中断模拟出 PWM 波,将其分成 90 等份,在小车转动过程中,可以限制 num 值的大小而调整 PWM 波中高电平的占空比,从而实现小车电机在一个 PWM 周期波中的转数控制,达到小车拐弯角度的控制。1具体的设计过程:例如想让小车转向左极限的角度,它的正脉冲为 2ms,则负脉冲为脉冲周期 20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在 2ms 后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间
34、改为 18ms,再过 18ms 进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为 2ms,等待下次中断到来,如此往复实现 PWM信号输出到电机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使小车运动。为保证软件在定时中断里采集其他信号,并且使发生 PWM 信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms。B 程序流程图青岛理工大学毕业设计(论文)用纸第 18 页开始中断返回定时器初始化
35、开定时器中断改变定时时间输出管脚取反运行其他中断程序有中断是否为长中断图 2-7 产生 PWM 信号流程图青岛理工大学毕业设计(论文)用纸第 19 页接收中断标志位RI 清零读取数据结束图 2-8 串口中断程序流程图开始结束num+num=90? num=0是否图 2-9 定时器中断流程图开始青岛理工大学毕业设计(论文)用纸第 20 页前进 原地左转向左弧形转弯向右弧形转弯原地右转后退 停止图 2-10 主程序流程图开始初始化青岛理工大学毕业设计(论文)用纸第 21 页第 3 章 无线收发模块在小车系统中,控制系统的基本任务是:接收系统通过无线通信发射装置传来的运动控制指令,然后根据接收到的运
36、动指令控制小车左、右轮的停止或转动以实现规划的运动。机器人能否正确接收运动控制指令,决定于无线通信系统的性能。所以通信速率高、集成度好、可靠性高、抗干扰能力强的无线通信系统对于正确实现小车的运动规划具有重要的意义 。83.1 无线模块的选择本设计中采用一款低功耗超高频的XL02-232AP1数据收发模块,它具有通信速率高、性能可靠、体积小的优点,只接少许外围电路即可工作,使用非常方便,既可发送又可接收。其特点主要有 :8300米传输距离 工作频率在428.8435.1MHz, (默认433.92MHZ) 可设置ID:范围065535,默认ID:12345 串口速率1.2K-38.4KBPS.(
37、默认9.6KBPS) 数据格式8N1 方便快捷的参数设置3.1.1 XL02-232AP1 的端口定义及连接示意图A 端口定义:青岛理工大学毕业设计(论文)用纸第 22 页表3-1管脚 定义 说明 电平 备注1 VCC 电源 +5v 模块的第一方形焊盘2 GND 地 GND3 TXD 模块数据输出 TTL4 RXD 模块数据输入 TTL5 SET 设置时拉低,平时悬空 进入设置模块时,请先将此端口拉低,再给模块上电,此时绿灯长亮6 GND 地 GND7 NC 不连接B 连接示意图图 3-1青岛理工大学毕业设计(论文)用纸第 23 页图 3-23.1.2 无线模块的性能A 通信方式在智能小车运动
38、过程中,机器人的无线通信协议采用广播式通信方式。上位机通过无线通信设备,发出数据,小车从数据串中确定出发给自己的命令B 程序小车无线接收程序是串行通信中断服务程序,其流程框图见图 3-3“串行通信中断程序流程” 。青岛理工大学毕业设计(论文)用纸第 24 页开始同步标志1?帧头 1-55H?同步标志2?同步标志3?帧头 3-55H?帧头 2-FAH?置同步标志-1置同步标志-3置同步标志-0置同步标志-2置同步标志-0开始接收数据,送到暂存区,数据和 CRC 校验最后字节-CRC?最后一个字节?置同步标志-0置新接收成功标志-1置同步标志-0恢复现场返回NNNYYYYNNNNNYYYYY图 3
39、-3 串行口通信中断程序流程由流程图 3-3 可知,必须通过启始同步码 3 道关验证,才能开始接收数据。一帧数据接收完后,字节还要进行 CRC(循环冗余校验)。CRC 校验字节是每个数据字节相互异或后的结果。接收到的数据校验正确则接收,否则放弃这帧数据。9C 干扰与噪声青岛理工大学毕业设计(论文)用纸第 25 页造成无线通信系统可靠性不高的原因很多,主要原因是存在着各种噪声和干扰。它们的来源不同,有电台干扰、通信信号干扰及驱动左右轮的直流电机产生的干扰,以及系统设备本身所产生的各种噪声等。 为了抑制系统干扰及噪声,应尽可能提高无线模块的工作电压和发射功率。发射器是通过通信线缆与上位机相连的,发
40、射器输入端加上光电隔离电路,以排除上位机的干扰。使用的发射和接收天线的长度保持一致,且均垂直于水平面向上。通信中出现失误的情况是难以避免的,因此在通信协议中加入起始帧头和校验码,通过抗干扰方法设计接收软件程序,提高数据接收的准确性。3.2 配置接口通讯协议图 3-4操作步骤:按图 3-4 中标识,把无线模块插入转接板相对位置。将无线发射模块接到计算机串口上面,并将无线接收模块接到小车串口上。首次使用无线收发模块要进行调试:将电源开关置于 ON,电源指示灯红灯亮,再将设置开关置于 ON,设置状态灯绿灯亮。此时,可以用相关软件调试无线收发模块通信协议 。本设计中,采用 RF-Magic 调试无线模
41、块。在正常通讯情况下,设置开7青岛理工大学毕业设计(论文)用纸第 26 页关置于 OFF。3.2.1 接口通讯接口: RS232 TTL通讯速率: 9600bps通讯格式: 1 start bit , 8 data bits , no parity bit , 1 stop bit注意:在配置模式下串口恒为以上格式。配置使能:config pin 低电平进入配置模式config pin 高电平进入正常模式频率计算:x = 设置 RF 频率参数TX = 6.4Mhz * (67 + x/65535)例如:频率高字节 = 0xcc;频率低字节 = 0xcc;则 x = 0xccccTX = 6.4Mhz * (67 + 0xcccc/0xffff)= 6.4Mhz * (67 +0.8) = 433.92Mhz例如:频率高字节 = 0xaa;频率低字节 = 0x00;则 x = 0xaa00TX = 6.4Mhz * (67 + 0xaa00/0xffff) = 6.4Mhz * (67 +0.664)= 433.05Mhz3.2.2 命令(1)写命令:0xF8(2)数据格式: