基于MSP430F5529的循迹壁障无线控制智能小车设计报告_第1页
基于MSP430F5529的循迹壁障无线控制智能小车设计报告_第2页
基于MSP430F5529的循迹壁障无线控制智能小车设计报告_第3页
基于MSP430F5529的循迹壁障无线控制智能小车设计报告_第4页
基于MSP430F5529的循迹壁障无线控制智能小车设计报告_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 华中科技大学电子与信息工程系2013年TI杯电子设计大赛项目总结报告项目名称: 基于MSP430F5529的智能小车设计 团队成员: 通信工程 通信工程 通信工程 指导教师: 2013 年 7 月 3 日 课题名称:智能小车自动控制系统【摘要】本次课程设计以MSP430超低功耗单片机系列MSP430F5529为主控制器,附加电机、电池、传感控制模块等,完成二驱小车自由运动、检测黑白线实现沿轨道自动运行、能够避开障碍物、无线控制等功能,F5529的I/O口丰富,使得各个功能模块之间信息交流快捷方便。在机械结构上,我们选购用一个万用轮代替两个前轮的小车,大幅度提高了小车的灵敏度。利用单片机产生P

2、WM波,控制小车速度,选用L298N驱动芯片驱动电路,使用三路红外对接管检测黑白线,使用一个超声波实现测距壁障功能,使小车能够自动左转避开障碍物,使用无线控制模块,可实时控制小车运动。基于可靠的硬件设计和更加优化的软件算法,在实现本课设基本要求的基础上,可实现部分扩展功能。【关键词】:MSP430F5529 循迹 无线控制 超声波测距壁障Abstract This curriculum project uses MSP430F5529, in the series of MSP430 ultra low power single chip microcomputer, as its main

3、controller. In addition, the realization of the controllers function can not leave motor, battery, sensing control template and so on, for example, free movement of the two drive vehicle, and automatic operation along runway by testing black and white lines, avoiding obstacles, wireless operation an

4、d other functions. The quick and easy information exchanging among each functional template has to thank to the abundance of I/O of F5529. On mechanical structure, two front wheels of the mini car are replaced by a universal wheel, so as to improve its sensitivity by large margin. PWM is used to con

5、trol motor and single chip microcomputer to make PWM wave, in order to control its speed. The car can stop and turn left to avoid obstacles because L298N driving chip drives circuit, three infrared ray on pipes is used to test black and white lines, and an ultrasonic template is chosen to realize ra

6、nging barrier function. With wireless operating template, movement of the mini car can reach real-time control. Besides finishing basic requirement of this curriculum project, some broadening functions can also be achieved based on reliable hardware design and better software algorithm.Key words: MS

7、P430F5529 tracking wireless control ultrasonic wave ranging counterguard目录1 概述32 设计目标33 团队组成与任务分工44 方案论证44.1 电机驱动模块.44.2 循迹模块.54.3 无线模块.54.4 测距壁障模块.55 系统总体设计75.1 总体设计思路.75.2 主要器件选择.75.3 主要元器件清单.87 系统各模块设计与实现.157.1 电机驱动模块.157.2 循迹模块.167.3 无线模块.167.4 超声波测距壁障模块.179 心得与总结.2610 致谢2711 参考文献2712 附录.271. 概述

8、随着控制技术及计算机技术的发展,智能车系统将在未来工业生产和日常生活中扮演重要的角色。智能小车系统综合运用了控制技术、传感器技术、电力电子、计算机、机械等专业领域的知识,使小车能够模仿人类的思想完成预定的控制任务,实现智能化。本系统以MSP430F5529为主控芯片,这是一款基于闪存的产品系列,在操作电压范围1.8-3.6V内,性能达到25MIPS,启动时为12MIPS,拥有一个优化功耗的创新电源管理模块,内部有电压稳压模块,以及更高的存储能力。我们利用它自身的优点,并加入了红外对接管、无线控制以及超声波测距模块,成功实现了循迹黑白线,沿轨道运行,不偏离轨道;实时遥控小车前行,左右转弯及后退;

9、以及测距壁障等功能,能够检测到前方障碍,并在半米的距离内左转,避开障碍物。供电方面,主控器使用两节干电池单独供电,电机等部分使用7.2V充电电池供电。小车可以通过无线控制的D键实现循迹和避障功能的切换。本报告以下的内容将会按照以下结构来组织: 在第二小节中我们将会介绍设计的目标,以及小车将实现的基本功能和扩展功能;第三小节中,我们将会介绍组员分工情况;第四小节中,我们将按模块分析方案选取的原因,主要包括电机驱动模块,循迹模块、无线模块、测距壁障模块等四个主要模块;第五小节的内容是总体设计方案与应用场景的介绍,其中将详细介绍总体设计思路,核心器件的选择,并且列出了主要器件清单;第六小节里,将按照

10、模块进行详细的介绍,其中包括每个小模块的基础知识、设计原理、软硬件设计、性能分析、模块的最终效果等。我们系统整机测试的过程与结果将会展现在第七小节。2. 设计目标2.2 基本功能1) 各个电路模块自行设计完成,机械模块自行购买2) 具有两种以上传感控制模块3) 能够控制二驱小车自由运动4) 能够在规定的时间内控制小车沿着具有直线和弧线的轨迹运动到停止处,5) 不能偏离轨道6) 能够利用红外线发射及接收对管检测黑白线7) 由电池供电;8) 使用MSP430开发板作为控制处理器2.2 拓展功能1) 若在运动线路中设置障碍物,小车能够避开障碍物2) 提高小车的运行速度3) 其他控制方式:如无线控制3

11、. 团队组成与任务分工本小组分工的指导思想如下:为了最大程度实现并行性,我们按照模块来划分任务。不同模块之间首先需要将相互之间的接口定义好,定义完成以后不同模块就能够相对地独立工作了。我们所划分的三大模块为:电机控制及循迹模块,超声波测距壁障模块,无线控制以及主函数编写模块。负责电机控制及循迹模块程序的设计与调试;小组分工;小车组装;整机调试。负责超声波测距壁障模块的电路与程序的设计和调试;编写文档。负责无线控制模块的设计、实现与调试;主函数的编写;小车组装;元器件购买。4. 方案论证4.1 电机驱动模块方案的选择与论证 方案一:采用电阻网络调整电机的分压,从而达到调速的目的。但是电阻网络只能

12、实现有级调速,而数字电阻元器件比较昂贵。更主要的问题在于一般电动机的电阻较小,但电流较大;分压不仅会降低效率,而且实现很困难。方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行控制。这个方案的优点是电路较简单,缺点是继电器的响应时间慢,机械结构易损坏,寿命较短,可靠性不高。方案三:采用由CMOS管组成的H型PWM电路。使用PWM波形来实现电机的调速。用单片机控制CMOS管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单实现转速和方向的控制,电子开关的速度很快,稳定性也极强,是一种广泛采用的PW

13、M调速技术。通过比较,本系统需要对电机的速度进行控制,而且方案三对于资源的要求不是很高,可以由单片机自己产生,不需要增加硬件,对软硬件的要求不是很高,可以很好的满足本系统的要求。所以需要采用方案三。4.2 循迹模块 方案一:采用热探测器。由于温度变化是因为吸收热能辐射能量引起的,与吸收红外辐射的波长没有关系,即对红外辐射吸收没有波长的选择,因此受外界环境影响比较大。方案二:使用发光二极管和光敏三极管组合。这种方案的缺点在于其他环境的光源会对光敏二极管产生很大的干扰。方案三:采用光敏传感器,根据白色背景和黑线的反光程度的不同,光强度的变化引起电阻的变化,但在光线比较的强的情况下误差会很大。方案四

14、:使用红外反射式一体化传感器进行检测。只要选择数量和探测距离适合的红外传感器,可以精准的判断出黑线位置。通过对比,这次设计中由于是近距离探测,故采用方案四来完成数据采集。由于红外光波长比可见光长,因此受可见光的影响较小。同时红外线系统还具有以下优点:尺寸小、质量轻,便于安装。反射式光电检测器就是其中的一种器件,它具有体积小、灵敏度高、线性好等特点,外围电路简单,安装起来方便,电源要求不高。用它作为近距离传感器是最理想的,电路设计简单、性能稳定可靠。4.4 测距壁障模块方案一:采用超声波技术。利用超声波传感器,监视测量发射脉冲和接受脉冲的时间差,计算超声波和物体之间的距离。并在适当的距离内采取壁

15、障措施。方案二:采用反射式红外发射接收管。红外线测距传感器利用的就是红外线信号在遇到障碍物其距离的不同则其反射的强度也不同,根据这个特点从而对障碍物的距离的远近进行测量的。其优点是成本低廉,使用安全,制作简单,缺点就是测量精度低,方向性也差,测量距离近以上两种方案中,第一种精度较高,抗干扰能力强,有较短的反应时间,应用广泛,所以采用第一种超声波方案。4.5 供电方案 方案一: 采用两个电源供电,将电动机驱动电源以及其周边电路与单片机电源分别供电,由于单片机的电压较低,而电机需要的电压较高,容易使单片机电压过高而损坏,使用两个电池供电,可以提高系统稳定性,但是多一组电池,增加了小车的质量,同时也

16、增加了小车的惯性,降低了灵敏度。方案二:采用单一电源供电。电源直接给单片机供电,通过单片机的IO口连接到电动机上,这样输出的电压稳定,同时也减轻了小车的质量,使小车更加灵活。但是加高的电压提高了损坏单片机的风险。从安全性考虑,我们选择方案一。5 系统总体设计5.1 硬件电路设计 整个电路系统分为黑线检测、障碍检测、控制、驱动四个主要部分。主控单元是小车的核心部分,它所要完成的任务有:处理输入信号,启动/停止小车、控制电机转速、完成距离检测、做出壁障判断等。首先利用红外对接管对路面信号进行检测,然后将检测结果送入主控芯片,输出相应的信号给驱动芯片,驱动电机转动,从而控制整个小车的运动,与此同时,

17、超声波模块检测前方是否有障碍物,并将搜集到的信息实时送到主控芯片,及时避开障碍。无线控制模块也可以通过I/O中断控制电机驱动,控制小车运动。主控芯片MSP430F5529超声波测距时钟电路复位电路电机驱动无线控制红外对接管循迹电源电路超声波壁障图1 系统硬件框图5.1.1 超声波模块功能框图 如图3-2所示可以通过超声波模块得到小车与障碍物的距离,将数据交给单片机判断是否需要避开障碍物,随即单片机控制电机,驱动小车运动。超声波模块返回信号单片机驱动电路电动机图3-2 超声波模块功能框图5.1.2 无线控制模块功能框图 如图3-3所示 ,无线控制模块发出控制信号,经单片机处理,控制电机运动。控制

18、信号 无线控制 单片机驱动电路 电机图 无线控制模块功能框图5.1.3 电机驱动调速模块 用于控制小车的前进,后退,停止等基本功能,并且实现PWM波对于转速的控制。如图3-4所示单片机驱动电路电动机图3-4 电机驱动调速模块功能框图PWM波 小车的基本机构如下:5.1.4 寻迹模块 用于小车的循迹黑线。如图3-5所示检测电路信号单片机驱动电路电动机图3-5 循迹模块功能框图5.1.5 开发板管脚分配:引脚号引脚功能硬件连接电机模块P2.0TA1CCR1电机模块ENA(输出)P2.1TA1CCR2电机模块ENB(输出)P4.0I/O电机模块IN1(输出)P4.1I/O电机模块IN2(输出)P4.

19、2I/O电机模块IN3(输出)P4.3I/O电机模块IN4(输出)循迹模块P7.0I/O左循迹模块OUT(输入)P7.1I/O中循迹模块OUT(输入)P7.2I/O右循迹模块OUT(输入)无线控制模块P4.4I/O无线解码模块D1(输入)P4.5I/O无线解码模块D2(输入)P4.6I/O无线解码模块D3(输入)P4.7I/O无线解码模块D4(输入)P2.6I/O中断无线解码模块VT(输入)避障模块P7.7I/O超声波测距模块Trig(输出)P1.0I/O中断超声波测距模块Echo(输入)5.2 系统软件结构设计根据不同路段的控制要求,单片机系统主要由电机调速和换向子程序,测距避障子程序,无线

20、控制子程序和循迹子程序构成。总体流程如图36所示:开始循迹编辑电机模块的IN1IN4引脚号以及使能端ENA和ENB,定义左转、右转、前进、停止函数有左转前进右转右压线中压线左压线判断三个循迹模块的输出无左转前进信号够短信号过长判断信号长短等待无信号有信号判断有无Echo信号定时发出测距脉冲停止右转左转前进DCBA判断按键5.3 主要器件选择5.3.1 电机驱动芯片:L298NL298N芯片可以驱动两个二相电机,输出电压最高可达50V,可以直接通过电压来调节输出电压;可以直接用单片机的IO口提供信号,而且电路简单,使用比较方便。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,

21、停止的操作。L298N可接受标准TTL逻辑电平信号VSS,VSS可接457 V电压。4脚VS接电源电压,VS电压范围VIH为2546 V。输出电流可达25 A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。将其OUT1、OUT2、OUT3、OUT4分别接2个电机,IN1、IN2、IN3、IN4引脚从单片机接输入控制电平,控制电平的正反转,ENA,ENB接控制使能端,控制电机的停转。逻辑功能如下:接线方式如下:L298N可以直接对电机进行控制,无须隔离电路,亦能够满足直流减速电机的大电流要求,调试时,可以用程序输入对应的码值,能够实现对应的动作。对

22、电机的调速,采用PWM调速的方法。5.3.2 无线控制模块:SC2262接收模块的七根引脚分别为D3、D2、D1、D0、GND、VT、VCC,其中VCC为DC5V的供电端,GND为接地端,VT端为解码有效输出端,只要发射器的数据码有输出,VT都能同步输出高电平;D3、D2、D1、D0是2262解码芯片的四位数据输出端,有信号时能输出5V左右的高电平,驱动电流约2mA,与发射器的四位数据码输出一一对应。接收模块不焊天线也能接收信号。各管脚功能如下:1.技术参数工作电压(V): DC5V静态电流(mA): 4.5MA调制方式:调幅(OOK)工作温度:-10+70接收灵敏度(dBm): -105DB

23、工作频率(MHz):315、433.92MHz(266-433MHZ频率段可任选)编码方式:焊盘编码(固定码)工作方式:M4(点动:按住不松手就输出,一松手就停止输出)、L4(互锁:四路同时只能有一路输出)、T4(自锁:四路相互独立输出、互不影响,按一下输出再按一下停止输出)尺寸(LWH): 41*23*7mm2.产品特点: 超再生接收模块采用LC振荡电路,内含放大整形,输出的数据信号为解码后的高电平信号,使用极为方便,并且价格低廉,所以被广泛使用。带四路解码输出(同时也可改为六路点动或互锁输出),使用方便;频点调试容易,供货周期短;产品质量一致性好,性价比高。 接收模块有较宽的接收带宽,一般

24、为10MHz,出厂时一般调在315MHz或433.92MHZ(如有特殊要求可调整频率,频率的调整范围为266MHz433MHz。)。接收模块一般采用DC5V供电,如有特殊要求可调整电压范围。4.应用环境(应用领域)无线遥控开关、遥控插座、数据传输6.备注VCC电压要与模块工作电压一致,且要做好电源滤波;天线对模块的接收效果影响很大,最好接1/4波长的天线,一般采用50欧姆单芯导线,天线的长度315M的约为23cm,433M的约为17cm;天线位置对模块接收效果亦有影响,安装时,天线尽可能伸直,远离屏蔽体,高压,及干扰源的地方;使用时接收频率、解码方式应与发射匹配。、遥控玩具、防盗报警主机、车库

25、门、卷闸门、道闸门、伸缩门等门控业及其遥控音响领域等。5.3.3 超声波模块:HC-SR04实物如下图。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响号输出等四支线。主要参数 电器特性。HC-SR04超声波的供电电压为DC5V。MSP430的供电电压为3.3V。其他电气参数如下:最远射程4m最近射程2cm测量角度15输入触发信号10us的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例5.3.4 循迹模块:74HC04D 该芯片主要为智能小车、机器人等自动化机械装置提供一种多用途的红外线探测系统的解决方案。在循迹模块中我们使用红外线发射和接收管等分立

26、元器件组成探头,并使用LM339 电压比较器(加入了迟滞电路更加稳定)做为核心器件构成中控电路。发射器是一个红外发光二极管,接收器是一个高度灵敏度、平面光电三极管,两者集为一体,使探测器结构紧凑,易于单片机接口。该模块易于安装,使用简便,各路循迹分别独立工作,工作时不受数量限制。 主要参数如下:模块高度10 毫米 安全工作电压范围在 3伏特至 6 伏特之间 各路全开工作电流 30 毫安至 55 毫安之间 各管脚的作用:VCC、GND:电源接线端IN(14)、OUT:探头与中控板连接端OUT1、OUT2、OUT3、OUT4: 对应输出端LED1、LED2、LED3、LED4: 对应输出指示R1、

27、R2、R3、R4: 对应比较电压调节输出端为集电极开路,板载 5.1 千欧上拉电阻 实验之前,我们测试下,模块是否是好的:1)测试探头:移开探头前面的所有物体,且探头不要指向阳光的方向。将探头板接上电源后用万用表测最输出端电压。此时的电压应当在1 伏特左右。用白纸挡在探头前。用万用表测输出端电压应当接近电源电压。2)测试中探板:将测试好的探头按板上所标示的接入输入端子,移开探头前面的所有物体,且探头不要指向阳光的方向,将中探板接上电源后用万用表测输出端子,此时输出端输出的电压应当接近电源电压,用白纸挡在探头前,万用表测输出端电压应当接近0 伏特。5.5 主要元器件清单 主控芯片:SEED-EX

28、P430F5529;智能小车底盘(二轮驱动);电机驱动(L298N);智能小车循迹模块(74HC04D);超声波模块(HC-SR04);杜邦线若干。5.6 应用场景 该智能小车应用广泛,不仅可家用清洁卫生,也可以提供功率,承载力等之后用于餐饮等服务行业。7.系统各模块的设计与实现7.1 电机驱动7.1.1 模块概述:电机驱动芯片选用L298N,电机的调速,采用PWM调速算法。电机由电池供电,信号由单片机的端口提供。L298N的连接方法为:PWM的原理是开关管在一个周期内的导通时间为t,周期为T,则电机两端的平均电压为U=Vcc*(t/T)=a*Vcc。其中a=t/T为占空比,Vcc是电源电压,

29、电机的转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快。在硬件电路的连接上,引脚号引脚功能硬件连接电机模块P2.0TA1CCR1电机模块ENA(输出)P2.1TA1CCR2电机模块ENB(输出)P4.0I/O电机模块IN1(输出)P4.1I/O电机模块IN2(输出)P4.2I/O电机模块IN3(输出)P4.3I/O电机模块IN4(输出)按照如上引脚连接后,我们可以通过改变端口的高低电平变化以控制小车的前进方向,通过改变端口的高低电平的占空比以控制电机的转速。7.1.2 定时器基础知识介绍:定时器A功能模块主要包括:(1

30、)计数器部分:输入的时钟源具有4种选择,所选定的时钟源又可以1、2、4或8分频作为计数频率,Timer_A可以通过选择4种工作模式灵活的完成定时/计数功能。 (2)捕获/比较器:用于捕获事件发生的时间或产生时间间隔,捕获比较功能的引入主要是为了提高I/O 端口处理事务的能力和速度。不同的MSP430单片机,Timer_A模块中所含有的捕获/比较器的数量不一样,每个捕获/比较器的结构完全相同,输入和输出都取决于各自所带控制寄存器的控制字,捕获/比较器相互之间完全独立工作。 (3)输出单元:具有可选的8种输出模式,用于产生用户需要的输出信号,支持PWM输出。 定时器工作模式 :(1)停止模式:停止

31、模式用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。例如,停止模式前,Timer_A工作于增/减计数模式并且处于下降计数方向,停止模式后,Timer_仍然工作于增/减计数模式,从暂停前的状态开始继续沿着下降方向开始计数。如果不需这样,则可通过TACTL中的CLR控制位来清除定时器的方向记忆特性。 (2)增计数模式:捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器,因为CCR0为16位寄存器,所以该模式适用于定时周期小于65536的连续计数情况。计数器TAR可以增计数到CCR0的值

32、,当计数值与CCR0的值相等(或定时器值大于CCR0的值)时,定时器复位并从0开始重新计数。增计数模式的计数过程如图4-2所示。通过改变CCR0值,可重置计数周期。图 增计数模式示意图(3)连续计数模式:在需要65536个时钟周期的定时应用场合常用连续计数模式。定时器从当前值计数到单增到0FFFFH后,又从0开始重新计数如图4-3所示。图 连续计数模式(4)增/减计数模式 需要对称波形的情况经常可以使用增/减计数模式,该模式下,定时器先增计数到CCR0的值,然后反向减计数到0。计数周期仍由CCR0定义,它是CCR0计数器数值的2倍。计数器的计数过程如图4-4所示。 图 增/减计数模式 7.1.

33、2 PWM信号的产生 使用定时器可以产生定时中断、定时脉冲和 PWM(脉宽调制)信号。PWM信号是一种具有固定周期T和不定占空比t的数字信号,如果PWM信号的占空比随时间变化,那么会产生不同的模拟信号。定时器的PWM输出一共有8种模式: 在输出模式7下,每次TA计数值超过TACCRx时,TAx引脚会自动置低,当TA计数至TACCR0时,TAx引脚会自动置高。因此实际的输出波形就是PWM调制方波。只需要改变TACCR0的值即可改变PWM方波周期,改变TACCRx即可改变从TAx引脚输出信号的占空比:TACCRx越大,占空比越大。7.1.2 差速转向控制 该控制的基本原理是:转向时,智能小车的外侧

34、小轮的转速增加,内侧下轮的转速降低,并且增加的量和减少的量大小相等,小车的中心速度保持原直线行驶时的速度不变。7.2 循迹模块7.2.1 模块综述:作为小车自主循迹的主要部分,该部分必须完成小车精确地按照预定轨迹行驶的任务,确保不偏离轨迹较远。该模块采用一体式红外对接管检测黑线。本实验中采用三路循迹,当检测到黑线时,红外接收管接收到反射回来的红外光,其输出立即发生高低电平转换,该信号经放大器放大后送到单片机进行处理。然后将处理后的结果发送到电机驱动模块进行校正。为了保证小车沿着黑线行驶。我们将三路检测器进行并行排列,当左(右)边检测到黑线时,小车左(右)转,当中间一个检测到黑线时,小车直行,使

35、得控制精度得以提高。传感器的安装位置如图所示:7.2.2 逻辑设计:开始 前方是否有障碍物 YN右边检测到黑线 中间检测到黑线左边检测到黑线左转前行右转7.2.3 7.2 超声波测距壁障模块6.1 模块概述 超声波作为智能车避障的一种重要手段,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。本模块选用了超声波测距模

36、块HC-SR04,它可以提供2cm到400cm的非接触式距离感测功能,测距精度可达到3mm,模块包括超声波发射器、接收器与控制电路。本设计中,采用一个超声波模块,面对正前方,超声波在距离检测方面能够较准确定位。该传感器主要发射高频超声波,在遇到障碍物时发生像光一样的反射和散射,从而通过发送和接受信号的时间得出距离,判断是否要躲避前方的障碍物。6.2 主要芯片介绍:HC-SR04实物如下图。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响号输出,OUT口不使用。图5 超声波模块 器件的主要主要参数如下:HC-SR04超声波的供电电压为DC5V。MSP430的供

37、电电压为3.3V。其他电气参数如下:最远射程4m最近射程2cm测量角度15输入触发信号10us的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例6.3工作原理6.3.1 HC-SR04的工作原理给最少10us的高电平信号,采用IO口TRIG触发测距;模块自动发送 8个40KHz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速)/2。 时序特性 从以上时序图中可知,只需要提供一个10us以上的脉冲触发信号,该模块内部将发出8个40KHz周期电平并检测回波。一旦检测到有回波信号则输出回响信

38、号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:距离=(高电平时间*声速)/2。6.3.2 开发板的中断原理 首先查找数据手册,了解单片机的端口情况: 其中与定时器相关的端口有: TA0:P1.0(Timer)TA1:P2.0(CCR1)、P2.1(CCR2)TA2:P2.3(CCR0)、P2.4(CCR1)TB0:P7.7(Timer)、P7.5(CCR3) 与I/O中断相关的端口有: P1口:P1.0P2口:P2.0、P2.1、P2.3、P2.4、P2.6 MSP430F5529总共有四个定时器,TA0、TA1、TA2、TB0,其中

39、TA0有CCR0CCR2,TA1有CCR0CCR2,TA2有CCR0CCR4,TB0有CCR0CCR6。我们可以使用TASSEL_x语句选择时钟,若为 2,则代表的是选择内部时钟源SMCLK,其频率为1MHz;当数字为1时,选择内部时钟源ACLK,其频率为32768Hz;当数字为0和3时选择的是外部时钟。 此外我们使用MC_x语句选择计数器的计数方式,当为增计数时,TA0定时器内部的计数器TA0R计到CCR0时归零;0为停止计数;2为连续计数,指的是TA0R 计数到0xFFFF时归零;3为增减计数,指的是TA0R增计数到CCR0后进行减计数,减到零后进行增计数。波形图分别为:图6 计数器计数模

40、式CCR的值取值范围为065535。我们使用ID_x语句,设置定时器的分频;引脚输出有7种模式控制。使用语句OUTMOD_x选择,代表含义如下:OUTMODEx输出控制模式说明000(模式0)电平输出TA0x管教输出电平由OUT控制位的值决定001(模式1)延迟置位当主计数器计至TA0CCRx值时,TA0x管脚置1010(模式2)取反/清零当主计数器计至TA0CCRx值时,TA0x管脚取反当主计数器计至TA0CCR0值时,TA0x管脚置0011(模式3)置位/清零当主计数器计至TA0CCRx值时,TA0x管脚置1当主计数器计至TA0CCR0值时,TA0x管脚置0100(模式4)取反当主计数器计

41、至TA0CCRx值时,TA0x管脚取反101(模式5)延迟清零当主计数器计至TA0CCRx值时,TA0x管脚置0110(模式6)取反/置位当主计数器计至TA0CCRx值时,TA0x管脚取反当主计数器计至TA0CCR0值时,TA0x管脚置1111(模式7)清零/置位当主计数器计至TA0CCRx值时,TA0x管脚置0当主计数器计至TA0CCR0值时,TA0x管脚置1 对于定时器的中断:其中包括溢出中断、IO中断等。在比较模式下,当主计数器计至TA0CCRx时,计数满标志位置1。在捕获模式下,当捕获条件发生,相应的标志位置1。CCIFG标志会在中断执行后自动清零,其余模块共用了中断入口,他们的CCI

42、FG标志位会根据TA0IV寄存器的值在知行相应的中断后自动清除。中断语句格式为#pragma vector=Timer0_A1_VECTOR/Timer0代表的是TA0或者TB0,A1代表/的是处理的中断由非CCR0的寄存器产生/否则A0指的是由CCR0产生_interrupt void TA0_ISR(void)/void后面的名称随意,声明是中断服务程序 对于I/O中断:可以使用I/O中断的I/O口有P1.x和P2.x。与I/O中断有关的标志位有:PxIE寄存器用于设置每一位I/O的中断允许,PxIES寄存器用于选择每一位I/O的中断触发沿。在使用I/O口中断之前,需要先将I/O口设为输入

43、状态,并允许改为I/O的中断,再通过PxIES寄存器选择触发方式为上升沿触发或者下降沿触发。PxIFG寄存器是I/O中断标志寄存器:0=中断条件不成立 1=中断条件曾经成立过。无论中断是否被允许,也不论是否正在执行中断服务程序,只要对应I/O满足了中断条件,PxIFG中的相应位都会立即置1并保持,智能通过软件人工清除。这种机制的目的在于最大可能的保证不会漏掉每一次中断。在MSP430系列单片机中,P1口的8个中断和P2口的8个中断各公用了一个中断入口,因此该寄存器另一个重要作用在于中断服务程序中用于判断哪一位I/O产生了中断。 IO中断的语句格式为:#pragma vector=PORT1_V

44、ECTOR_interrupt void P1_ISR(void)/声明一个中断服务程序,名为P1_ISR()6.4 模块方案设计 6.4.1 硬件设计:超声波的指向性很强,能量消耗缓慢,在介质中传播的距离较远,并且利用超声波检测距离设计比较方便,计算处理较简单。总体方案的设计图为:障碍物 超声波模块 MSP430驱动电路图 超声波模块总体方案 6.4.2 软件设计: 已知电机的IN1-IN4使用单片机上的P4.0-P4.3四个端口,两个使能端对应的端口分别为P2.0对于使能端ENA,P2.1对应使能端ENB。PWM使用定时器TA1,TA1CCR0设定周期,TA1CCR1、TA1CCR2用来设

45、置两个电机的转速。该超声波程序在一直执行PWM驱动的同时持续进行。使用端口P7.7(TB0 Timer)输出信号到Trig,使用P1.0(TA1 Timer)连接到Echo。将定时器TB0设置为增量计数模式,SMCLK为时钟,为分频,设置TB0CCR0=65536-1;TB0CCR1=60000;用于溢出中断,当中断发生时P7.7端口输出高,并使其保持30个时钟周期(为了得到大于10us的高电平),随后将其变为低,触发Trig。将定时器TA2设置为增量计数模式,SMCLK为时钟,无分频处理,设置为IO中断。首先将计时器TA2R清零,等待计数,设置为上升沿采样,当P1.0中断发生时,暂停计时器,

46、保存该值,若果该值大于1470,说明障碍距离还较远忽略,否则发生壁障处理。流程图如下:图 超声波模块软件流程图 算法设计中选择了一个IO中断和普通IO的原因是:该程序中没有选用普通IO(IO口分为普通IO和IO中断)6.5 测试中的问题以及解决方案6.5.1 测试的仪器仪表示波器:用于测试超声波模块trig和echo端口是否能够发送和接受信号波形。信号发生器:给trig端口提供一个周期大于50KHz的方波,触发trig发送信号。6.5.2 测距功能测试及结果分析 测距是该模块的核心功能,首先测试超声波模块是否是好的。依据该模块的原理,测试方法如下:用信号发生器给Trig端口提供周期大于50KH

47、z的方波(单个脉冲的时间小于10us),然后再Echo端口用示波器观察波形,若Echo端口也有脉冲出现,说明超声波模块是完好的。观察到的示波器波形如下图: CH2 接收到的Echo端 CH1 发射端Trig有观察到的现象可知:当CH1为低电平时,输出端CH2输出周期性的脉冲。6.5.4 模块效果展示及分析前方有障碍时能够很好的壁障并向左转,但是由于小车上只有一个壁障模块,并且架在高处,所以较低处的障碍不能感应到,会卡在某处不能转弯。 无线控制模块8.无线模块硬件连接根据以上测试结果,无线模块总共7个接口,分为Vcc、GND接电源和地,D0、D1、D2、D3解码输出接普通IO口,可选的范围很广,

48、为方便代码编写,直接将它们放在一起,因此选择P4.4、P4.5、P4.6、P4.7,VT作为I/O中断接口,可用的有P1.0、P2.0、P2.1、P2.3、P2.4、P2.6,其中的P2.0、P2.1、P2.3、P2.4可能作为其他时钟中断输出,因此这里选用P1.0作为I/O中断。D1D2D3D4VTP4.4P4.5P4.6P4.7P1.0调试故障、产生原因及排除方法1. 测试工具:l 信号发生器l 数字万用表l 双踪示波器l 稳压电源电机模块测试及结果分析测试过程:由于我们需要用到的智能小车的逻辑功能仅有前进、停止、左转、右转,因此并没有对全部的逻辑进行测试,通过编程通过msp430f552

49、9向IN1、IN2、IN3、IN4输入信号,电机上相应的D1、D2、D3、D4发光二极管发光并得到以下结果IN1IN2IN3IN4小车运动方向1010前进0000停止1000右转0010左转0101后退与前文所述的L298N资料进行比较得到相符的结果。另外,L298N端口还提供ENA和ENB两个使能端,分别控制两个电机的使能。在软件端向两个使能端输入PWM波形,调节CCR0与CCR1的比,最终结果发现可以进行调速。结果分析:电机部分工作正常,可以通过ENA和ENB来实现转弯、前进等的速度调节。无线模块测试及结果分析测试方法:直接将无线解码模块XD-YK04的D1、D2、D3、D4口接在已测试完

50、毕的电机模块IN1、IN2、IN3、IN4上,由于之前已经测试得到电机未发生损坏,因此可以通过观察电机模块上D1、D2、D3、D4的发光情况来确定最终解码的结果。外部有按键ABCD,分别按键观察电机上面发光二极管的发光情况,得到以下结果。(“1”代表亮,“0”代表灭)D1D2D3D4A1000B0100C0010D0001另外,通过杜邦线连接VT与示波器CH1,可以观察得到当解码结果出现的时候出现短暂的高电平,其他情况均为低电平。结果分析:通过外部无线发送器的按键控制可以得到不同的解码结果,解码完成输出信号正常,因此可以通过编程,将解码结果作为I/O输入,将解码完成输出信号作为外部中断来处理与

51、其他模块的冲突。超声波测距模块测试及结果分析6.5.3 壁障功能测试及结果分析编程过程,我让小车在没有障碍物时是直行,当遇到障碍物时左转,编号程序并烧写之后,发现小车一直直行,不能壁障。虽然之前检测过模块,但为了排除操作错误将模块烧坏,我又检测了一次模块,反复测试后,发现该模块时好时坏,偶尔接收不到回波信号。所以换了一个模块继续测试。首先我编码测试,发现右侧电机是好的,排除电机的问题。然后我通过单步调试,发现程序中断方面存在问题,不能跳进中断,看来中断处完全出错了。后来我仔细看了很久的书,修改了中断,换了程序使用的端口,使用端口P7.7(TB0 Timer)输出信号到Trig,使用P1.0(TA1 Timer)连接到Echo。更改后程序可以进入中断了,烧写后执行,发现仍然一直直行。这次我分别检测超声波的Trig和Echo端口,将示波器连接到P7.7端口,发现能够检测到波形,说明有周期性脉冲产生,那么就能够触发Trig信号,然后将单片机上连接到echo的P1.0端口,接到示波器上,通过示波器检测Echo端口,发现能够检测到回波信号。那么问题会是什么?为了进一步确定,程序本身没有问题,我将一个灯亮灭加入代码中,每次中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论