收藏 分销(赏)

智能清洁装置控制系统设计毕业设计.doc

上传人:胜**** 文档编号:3109969 上传时间:2024-06-18 格式:DOC 页数:42 大小:2.19MB
下载 相关 举报
智能清洁装置控制系统设计毕业设计.doc_第1页
第1页 / 共42页
智能清洁装置控制系统设计毕业设计.doc_第2页
第2页 / 共42页
智能清洁装置控制系统设计毕业设计.doc_第3页
第3页 / 共42页
智能清洁装置控制系统设计毕业设计.doc_第4页
第4页 / 共42页
智能清洁装置控制系统设计毕业设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、智能清洁装置控制系统设计(系统软件)摘要随着信息技术的不断发展,各种产品的技术含量及复杂程度也越来越高,智能化的概念开始逐渐渗透到各行各业以及我们生活中的方方面面。本文以智能计算机控制技术为理论基础,设计了一种以MSP430F149单片机为主控制器的智能清洁装置。该装置能按照一定的行走模式对复杂的空间环境进行清扫,当遇到障碍物时它能启动避障程序绕开障碍物再按照原来的模式进行清扫工作。如果地面上有台阶,它还能自动启动防摔落程序防止清洁装置被摔坏。文章主要围绕它的这些功能进行系统设计以及相关功能软件的分析与设计。在IAR EW430编译环境下编写系统程序,编译成功并下载到硬件系统中。最终,本设计完

2、成了智能清洁装置预期的功能,达到设计要求。关键字:智能控制系统;扫地机器人;MSP430;路径规划Intelligent control system design of cleaning device (System software) AbstractWith the development of the information technology, the technological content and complexity of products are becoming better than before. The concept of intelligent gradual

3、ly began to infiltrate into all walks of life and we all aspects of the life. The paper based on the intelligent control technology, designing a intelligent cleaning device by MSP430F149 MCU which was the master controller of the system. The device can clean complicated space according to establish

4、walking pattern. When faced with obstacles it can start the obstacle avoidance procedures around obstacles. Then according to the original mode of cleaning work.If the ground with a step, it can also automatically start a program to prevent the cleaning device being broken. The paper mainly around w

5、hich these functions of the system design and function of software analysis and design. The next task is writing system programs in the compiler environment, After successfully compiled and downloaded to the hardware system. Eventually, the design completed intended function of the intelligent clean

6、ing device and reached the design requirement.Key Word:Intelligent control system; Cleaning robot; MSP430; Path planning目录摘要IAbstractII1 绪论11.1 序言11.2 选题的背景和意义11.3 智能清洁装置的研究现状21.4 智能清洁装置研究的关键技术31.5 本课题研究的主要内容41.6 本章小结42 智能清洁装置控制系统结构与总体方案设计52.1 智能清洁装置结构52.2 智能清洁装置控制系统总体方案设计62.2.1 控制器模块62.2.2 信息采集模块72

7、.2.3 电机驱动模块82.2.4 电源模块102.3 本章小结103 智能清洁装置控制系统软件设计113.1系统软件总体设计思路113.1.1 软件结构113.1.2 软件实现的总体思想123.2 各模块程序设计143.2.1 单片机系统时钟初始化143.2.2 电机驱动模块程序设计153.2.3 避障模块程序设计163.2.4 防摔模块程序设计183.2.5 主程序模块设计193.3 中断程序与中断嵌套问题203.4 本章小结214 系统调试224.1 软件调试224.2 系统软硬件联调235 结论24致谢25参考文献26附录127附录237381 绪论1.1 序言 顾名思义,智能清洁装置

8、控制系统也被叫做智能清洁机器人。机器人Robot,原为robo,意为奴隶,即人类的仆人。它是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。 现在,国际上对机器人的概念已经逐渐趋近一致。一般来说,人们都可以接受这种说法,即机器人是靠自身动力和控制能力来实现各种功能的一种机器。联合国标准化组织采纳了美国机器人协会给机器人下的定义:“一种可编程和多功能的操作机;或是为了执行不同的任务而具有可用电脑改变和可编程动作的专门系统。”它能为人类带来许多方便之处! 中国

9、的机器人专家从应用环境出发,将机器人分为两大类,即工业机器人和特种机器人。所谓工业机器人就是面向工业领域的多关节机械手或多自由度机器人。而特种机器人则是除工业机器人之外的、用于非制造业并服务于人类的各种先进机器人,包括:服务机器人、水下机器人、娱乐机器人、军用机器人、农业机器人、机器人化机器等。在特种机器人中,有些分支发展很快,有独立成体系的趋势,如服务机器人、水下机器人、军用机器人、微操作机器人等。目前,国际上的机器人学者,从应用环境出发将机器人也分为两类:制造环境下的工业机器人和非制造环境下的服务与仿人型机器人,这和中国的分类是一致的。如今机器人发展的特点可概括为:横向上,应用面越来越宽。

10、由的工业应用扩展到更多领域的非工业应用。像做手术、采摘水果、剪枝、巷道掘进、侦查、排雷,还有空间机器人、潜海机器人。机器人应用无限制,只要能想到的,就可以去创造实现; 纵向上,机器人的种类会越来越多,像进入人体的微型机器人,已成为一个新方向,可以小到像一个米粒般大小;机器人智能化得到加强,机器人会更加聪明。 1.2 选题的背景和意义 近年来随着科学技术的发展,尤其是传感器、智能控制、驱动、及材料等领域的技术进步,机器人己经不再局限于生产和科研领域,开始应用于人们的日常生活。类似于家庭、宾馆以及写字楼等室内环境的清扫工作技术含量低且浪费时间和人力,用清洁机器人代替人力完成清扫工作已经引起了人们的

11、关注。它作为服务机器人的一个新研究方向,具有广泛的市场前景。 家庭清洁机器人可以自动进行房间地面的家庭卫生服务,集机械学、电子技术、传感器技术、计算机技术、控制技术、机器人技术、人工智能等诸多学科为一体。清洁机器人作为智能移动机器人实用化发展的先行者,其研究始于20世纪80年代,到目前为止,己经产生了一些概念机和产品。它的发展带动了家庭服务机器人行业的发展,也促进了移动机器人技术、图像、语音识别、传感器等相关技术的发展。许多发达国家都将其作为机器人研究的新领域加以重视。我国很多高校也在进行服务机器人技术的研究,我们研发的KV8型清洁机器人不仅是一款实用的家用清洁工具,也可以作为一个清洁机器人的

12、开发平台,为进一步研究服务机器人的工作原理和工作过程奠定一定的基础。同时还可以将其作为 计算机控制技术非电量检测技术及嵌入式课程的综合教学实验设备。实验的过程中,同学们可以在轻松偷快的氛围中充分理解相关课程的专业知识,同时也可以培养实际动手操作能力。这样很自然的就将理论知识应用于实践。增加对专业知识学习的兴趣,拓宽知识面,为以后的研究开发奠定良好的基础。1.3 智能清洁装置的研究现状 在国内的一些大学,如哈尔滨工业大学、华南理工大学、上海交通大学等单位也对清扫机器人进行了大量的研究并取得了一些成果,对清扫机器人相关技术如机器感知、机器人导航和定位与路径规划、机器人控制、电源与电源管理、动力驱动

13、等技术的研究则更多,这些都为清扫机器人的研究开发和推广奠定了物质基础和技术基础。哈尔滨工业大学于90年代开始致力于这方面的研究,与香港中文大学合作,联合研制开发出一种全方位移动清扫机器人。该机器人具有如下特点:采用全方位移动技术,使机器人可执行对狭窄区域等死区的清扫任务;采用开放式机器人铰制结构,实现硬件可扩展,软件可移植、可继承,使机器人作为服务载体具有更好的功能适应性;在拥挤环境下的实时避障功能,能更好地适应不断变化的清扫工作环境;遥控操作和自主运动两种运行方式;吸尘机构可实现吸尘腔路的自动转换,提高了吸尘效率。 图1-1 国内公司生产的机器人KV8浙江大学于1999年初在浙江大学机械电子

14、研究所开始进行智能吸尘机器人的研究,两年后设计成功国内第一个具有初步智能的自主吸尘机器人。这种智能吸尘机器人工作时,首先进行环境学习:利用超声波传感器测距,与墙保持一定距离行走,在清洁这些角落的同时获得房间的尺寸信息,从而决定清扫时间;之后,利用随机和局部遍历规划相结合的策略产生高效的清扫路径;清扫结束以后,自行回到充电座补充电力。吸尘机器人在的实际家庭环境中,工作10分钟可以达到以上的覆盖率。更大房间的清扫试验还没有进行。目前,系统正在引入机器视觉和全局定位功能,力图在多房间环境下,提高自定位能力、智能决策能力以及回归充电效率,最终提高清扫效率。如图1-1所示。KV8保洁机器人是今年在市场以

15、低价位卖得比较火的一款产品,也是国内首个产品化清扫机器人。它广泛用于家庭、办公和娱乐场所,以及其它一些人员不便进入的地方。KV8能够通过自身的碰撞传感器来实现随机的清扫和碰撞处理,需要人工对其电池进行充电,有三种工作模式可以选择,在启动时伴有音乐声。1.4 智能清洁装置研究的关键技术智能保洁机器人要在一个不规则的空间环境内进行自主清扫工作,就要让它具有像人类一样的感官、行动及思维能力。实现机器人智能化需要给予它会思考的大脑、可行动的手和脚及可感知周围环境的眼睛。根据这个原理,家庭清洁机器人的关键技术吸尘机器人系统通常由四个部分组成:移动机构、感知系统、控制系统和吸尘系统。移动机构是吸尘机器人的

16、主体,决定了吸尘器的运动空间,一般采用轮式机构。感知系统一般采用超声波测距仪、接触和接近传感器、红外线传感器等。随着近年来计算机技术、人工智能技术、传感技术以及移动机器人技术的迅速发展,清扫机器人控制系统的研究和开发已具备了坚实的基础和良好的发展前景。清扫机器人的控制与工作环境往往是不确定的或多变的,因此必须兼顾安全可靠性、抗干扰性以及清洁度。用传感器探测环境、分析信号,以及通过适当的建模方法来理解环境,具有特别重要的意义。目前发展较快、对清扫机器人发展影响较大的关键技术是:传感技术、智能控制技术、路径规划技术、吸尘技术、电源技术等。 (1)传感技术 为了让吸尘机器人正常工作,必须对机器人位置

17、、姿态、速度和系统内部状态进行监控,还要感知机器人所处工作环境的静态和动态信息,使得吸尘机器人相应的工作顺序和操作内容能自然地适应工作环境的变化。 (2)智能控制技术 智能控制技术(ICT:Intelligent Control Technology)是控制理论发展的新阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制问题。常用的智能技术包括模糊逻辑控制、神经网络控制、专家系统、学习控制、分层递阶控制、遗传算法等。以智能控制为核心的智能控制系统具备一定的智能行为,如:自学习、自适应、自组织等。 (3)路径规划技术路径规划技术是移动机器人研究的一个重要方向。路径规划一般是指机器人在有障碍物

18、的环境中,按照一定的评价标准,寻找一条从起始状态到目标状态的无碰路径。路径规划分为两种:一种是基于环境先验完全信息的全局路径规划,一种是基于传感器信息未知环境的局部路径规划。 (4)吸尘技术室内清扫机器人清扫房间主要是依靠真空吸尘,由高速旋转的风扇在机体内形成真空,利用产生的强大气流将尘埃和赃物通过吸口吸入机器人体内的集尘盒中。吸尘系统包括滤尘器,集尘盒,排气管等。其吸尘能力取决于风机转速的大小。此外室内清扫机器人还可以利用机体边缘安装由电机驱动的毛刷,在机器人运动的过程中,毛刷将垃圾灰尘扫入机器人机体下面,由吸尘系统收集。澳大利亚Jerfan公司开发的气流滤尘器是一个全封闭的系统,利用附壁效

19、应形成低压涡流气体,将灰尘截留在吸尘器的涡流腔内。 (5)电源技术 作为提供能量的电源,在移动机器人设计中具有非常重要的作用。移动机器人由于其移动性,其能量的提供可以采用拖连电缆和移动电源。拖连电缆一般适用于遥控机器人的通讯、控制、电源信号传输。室内自主清扫机器人则需要安装移动电源。移动电源不仅要提供给控制电路稳定的电压,同时还要提供吸尘模块能源。移动电源的设计或选择必须要考虑的关键问题有:电源在放电过程中电压须保持恒定,电源的内阻小且要满足功率要求,可以充电以及成本低廉等。 1.5 本课题研究的主要内容 (1)介绍智能清洁装置控制系统的概念和相关技术,智能清洁装置控制系统的发展现状和研究动态

20、,明确课题研究的基本内容和方法。 (2)在一定理论基础上提出智能清洁装置控制系统的总体设计方案。 (3)介绍智能清洁装置控制系统的硬件系统。 (4)进行智能清洁装置控制系统的软件设计,主要包括对智能清洁装置行走模块控制,清洁系统控制,传感器系统检测和控制器初始化,并在此基础上提出对智能清洁装置的内螺旋式路径算法。设计软件主程序流程图及各功能模块的子程序流程图。在IAR EW430编译环境下编写系统程序。 (5)系统调试。1.6 本章小结本章内容从智能化设计思想入手,引出智能清洁装置。对智能清洁装置研究的背景和意义、研究现状以及关键技术进行了介绍,并根据自身情况提出了本课题研究的主要内容。2 智

21、能清洁装置控制系统结构与总体方案设计2.1 智能清洁装置结构 本清洁装置的结构如图2-1所示,主要包括以下几个部分:图2-1 智能清洁装置结构图 (1)行走机构 行走机构由左驱动轮、右驱动轮和万向轮组成,这种结构既起到平衡车体的作用,又使机器人变得更灵活。通过控制差速驱动器分配左右轮速度来实现车体的直行与转向。采用这种结构的优点在于当两个后驱动轮速度大小相等方向相反时,可以实现机器人原地旋转。 (2)清洁系统 清洁系统由扫地电机,扫边电机,吸尘风扇和垃圾盒组成。扫边电机在车体的右上方,通电后逆时针旋转,可将桌椅墙角处的灰尘集中到吸风口处,为吸尘机构做准备工作。扫地电机由大转矩的伺服电机带动扫地

22、刷子转动,它可以一次性扫走大部分垃圾,为吸尘机构减少负担。吸尘机构用一个转速高的直流电机带动风扇运转制造很强的吸力,将灰尘和垃圾都吸入垃圾盒。 (3)感知系统 机器人在行走过程中难免会遇到障碍和台阶等不必要的因素,为了让机器人能自主进行清扫任务,在车体的前半周安装了4组红外接近传感器和两组碰撞传感器,目的是让机器人能自己感应到障碍物和台阶,然后采取一些措施来避开障碍物以及防止机器人摔下台阶。2.2 智能清洁装置控制系统总体方案设计本文的智能清洁装置控制系统以MSP430F149为控制核心,它主要的控制对象包括:两后轮驱动电机,扫地电机,扫边电机和吸尘电机。清洁装置按照预先设计好的行走模式运行,

23、同时该清洁装置配有传感器系统,当清洁装置碰到障碍物或台阶时,它能启动程序绕开障碍物或台阶,自动完成对房间的清扫。该控制系统的结构如图2-2所示。图2-2 智能清洁装置控制系统框图2.2.1 控制器模块控制器是本设计的核心模块,考虑到智能清洁控制系统总体设计的需求选用了如图2-3所示,TI公司生产的16位低功耗模数混合型单片机MSP430F149作为主控制芯片。该单片机把许多模拟电路、数字电路和微处理器集成在一个芯片上,为用户提供了一个功能很强大的片上系统。同时还考虑到MSP430系列单片机的以下特点: (1)超低功耗。MSP430系列单片机的电源电压采用低电压,RAM数据保持方式下耗电仅,活动

24、模式耗电(:每秒百万条指令数), 输入端口的漏电流最大仅。 (2)强大的处理能力。MSP430系列单片机是16位单片机,采用了目前流行的、颇受学界好评的精简指令集(RISC)结构,一个时钟周期可以执行一条指令(传统的MCS51单片机要12个时钟周期才可以执行一条指令),使MSP430在晶振工作时,指令速度可达(注意:同样的指令速度在运算性能上16位处理器比8位处理器高远不止两倍)。 (3)开发容易,周期短。目前MSF430系列有OTF型、FLASH型和ROM型3种类型的器件,国内大量使用的是FLASH型。对于FLASH型则有十分方便的开发调试环境因为器件片内有JTAG调试接口,还有可电擦写的F

25、LASH存储器,因此采用先通过JTAG接口下载程序到 FLASH内,再由JTAG接口控制程序运行、读取片内CPU状态,以及存储器内容等信息供设计者调试,整个开发(编译、调试)都可以在同一个软件集成环境中进行。这种方式只需要一台PC机和一个JTAG调试器,而不需要专用仿真器和编程器。图2-3 MSP430F149单片机引脚图2.2.2 信息采集模块 本设计中的信息采集模块主要包括:障碍物检测和台阶检测。 (1)障碍物检测。本设计采用的是碰撞传感器,它由红外对管传感器、弹簧支架和机器人壳体前端的碰撞挡板组成,如图2-1所示。其工作原理是:当机器人没有撞到障碍物时,红外发射二极管发出的红外光被弹簧支

26、架挡住,红外接收二极管接收不到红外光;当机器人碰到障碍物时,弹簧支架被撞开,红外接收二极管接收到红外光。同时,由于采用了弹簧支架,清洁机器人每次碰到障碍物后,由于弹簧缓冲力的存在,可以减少直接作用在机器人壳体上的力,防止机器人因频繁的撞击而损坏。障碍物检测电路如图2-4所示,当没有碰到障碍物时电路输出低电平,碰到障碍物则输出高电平。图2-4 红外对管开关电路图 (2)台阶检测。在机器人车体前方碰撞挡板下面,均匀分布着4组红外接近传感器,用以检测车体边沿是否遇到台阶。红外接近传感器的工作原理是:红外发射二极管发射出一定波长的红外光,遇到障碍物时,红外光经障碍物反射回来被红外接收二极管接收。值得注

27、意的是:一般的红外发射二极管的额定功率很小,发出的红外光也很弱,在介质中很快就衰减了,其检测的距离也很短。所以本设计中,将红外接近传感器安装在离地面左右的位置,防止因距离过大而检测不到台阶。检测电路如图2-4所示,与障碍物检测电路相同,不同的是台阶检测电路中的红外发射二极管工作时的功率要求比障碍物检测电路高。2.2.3 电机驱动模块 (1)行走机构。本设计的行走机构采用的是差动驱动方式,即后轮用两个直流电机独立驱动以实现差动控制,前轮采用随动轮使机器人转向更灵敏。由于MSP430F149单片机的定时器B可以输出7路PWM波。不过,其输出的PWM波功率有限,须由驱动电路放大后才能驱动电机。考虑到

28、电压、电流的等级尺寸、外观等因素,采用了L298来驱动电机。L298是恒压恒流双H桥集成电机芯片,可同时控制两个电机,且输出电流可达到。L298的NI1(第5引脚)、NI2(第7引脚)、NI3(第10引脚)、NI4(第12引脚)分别与MSP430F149的TB2、TB3、TB4、TB5引脚相连,作为调制信号,控制直流电机的方向和转速。L298驱动电路如图2-5所示。图2-5 L298驱动电路 (2)清洁机构。本设计中,机器人的清洁机构由扫边电机、扫地电机和吸尘风扇组成。这几个电机的控制方法是同时开启同时关闭。由于单片机输出电流较小,不能驱动电机。因此,本设计采用继电器来控制清洁系统的开启与关断

29、。MSP430F149的端口只需要给一个信号,由三极管做开关驱动继电器,线圈通电,常开端口闭合,就可以驱动电机。控制电路如图2-6所示。图2-6 清洁系统驱动电路2.2.4 电源模块 清洁机器人的一大特点就是能够自主的工作,要完成自主的工作,自然要避免使用的交流电源。因为,如果采用交流电源,机器人在工作的时候就会拖带到电源线,使其自由行动受到限制。更无法实现自动避障和路径规划了。 清洁机器人的电源消耗主要有三个部分:(1)行走机构驱动电机、吸尘、扫地和扫边电机需要提供的能量。(2)检测电路和驱动电路的能耗。(3)控制器的能耗。综合考虑多方面的因素,我们采用的可充电电池。用直流电直接给行走机构和

30、清洁系统供电,LM7805稳压芯片输出直流电给驱动电路和检测电路供电,AMS1117_3.3稳压芯片输出直流电给控制器供电。具体电路如图2-7所示。图2-7 清洁机器人电源模块电路2.3 本章小结 本章详细介绍了智能清洁装置的结构特点,在此基础上,根据清洁装置的功能,提出本设计的系统总体设计方案。对各个功能模块电路进行了分析与论述。绘制了信息检测模块、电机驱动模块、电源模块的电路图,并对它们的原理作了简单介绍。 3 智能清洁装置控制系统软件设计3.1系统软件总体设计思路在系统设计中,除了硬件设计之外,软件设计也很重要,它是系统工作的指挥者,因此系统软件设计时要遵循结构合理、操作性能好、具有一定

31、的保护措施、兼容性好的设计原则来开发设计。3.1.1 软件结构本设计采用的软件结构是死循环查询(前后台式嵌入式软件结构),非基于操作系统的嵌入式计算机软件都是基于这样的结构。程序依次查询系统的每个输入条件,一旦条件成立就相应的处理,条件通常是查询按键键值或中断服务程序给出的标志,该类软件结构适应于慢速和较简单的应用环境,通常软件结构如图3-1所示。图3-1 前后台式嵌入式软件结构 这种软件结构是典型的前后台系统,应用程序由后台运行的无限循环和前台的中断服务子程序组成。后台主要对数据进行读取、处理和显示等操作,它甚至可以是一个空循环。而运行在前台的中断服务子程序主要负责处理时间要求相对严格的操作

32、。一般来说,中断服务子程序只对外部事件完成一个简单的处理,就把处理信息交给后台来执行接下来的操作。由于后台程序必须运行到处理信息的代码时,才能真正的对信息进行处理,因此,系统对信息处理的及时性表现较差。最坏的情况是需要一个循环的执行时间,这样的等待时间通常称为任务级响应时间。当后台循环程序修改后,运行一个循环的时间和时序都改变了,这使任务响应时间也不确定。3.1.2 软件实现的总体思想 (1)路径规划。清洁机器人工作的环境往往是不可预知的,清洁机器人在一种未知环境下工作会遇到许多不确定因素,比如房间大小、格局、家具布置等等。我们设计机器人的目的是让它高效,快捷的完成房间的清扫工作。但是,机器人

33、毕竟不是人,要让它像人一样有计划的工作,就需要一种很好的路径规划算法,这样的一种算法是需要很大的人力和时间的。综合多方面因素,这里采用了随机遍历的思想,具体实现方法是:机器人启动后,以内螺旋式路径(如图3-2所示)进行清扫工作,当遇到障碍物或台阶就随机转一角度,然后继续以内螺旋式路径进行清扫。该方法无需定位传感器,且算法简单,但效率比较低。有关资料表明:随机规划通常第一遍可覆盖清洁区域的,第二遍,第三遍,第四遍,不惜时间的话可以趋向。但实际上,由于清洁机器人自带电池,电量有限,完全随机方式的规划覆盖率是十分有限的。目前,家用清洁机器人大都采用此种规划方法。 图3-2 清洁机器人内螺旋式路径示意

34、图 (2)系统程序流程图。系统流程图可以直观的反映一个系统运行的整个过程,同时,它能使后面程序编写的工作变得有条不紊。智能清洁系统开启后首先对MSP430F149各个工作模块初始化(主要是各功能模块的时钟和工作模式选择等),然后清洁机器人按照预先设定好的内螺旋式路径开始清扫工作,系统会分时查询障碍物情况,一旦检测到有障碍物,清洁机器人就转过一角度,直行一段距离再回到原来的路径模式。如果,检测到有台阶,就会触发单片机的外部中断,单片机会立即响应外部事件,以防止清洁机器人摔坏。系统流程图如图3-3所示。开始初始化各工作单元初始化各模块工作方式传感器检测到障碍物或台阶按预先规划的路径运行中断处理重新

35、规划运行路径检测是否有键盘信号改变电机运行模式电机停止标志位是否为1结束 是 否 是 否 否 是图3-3 系统流程图3.2 各模块程序设计 在单片机应用系统中,特别是对于大型的复杂系统,由于传感器和处理模块非常多,放在一个文件中是不可行的,此时,要进行模块化处理。把每一个模块做成一个.c文件和一个.h文件。在一个.c文件中的函数只会相互调用,而不调用其他文件的函数,尽量减少不同文件里函数的交叉调用,以下是几个要注意的问题: (1)模块头文件防止重复包含的措施 在每个模块中的.h文件开始处,为了防止重复包含,使用以下代码: #ifndef xxx /没有定义xxx,则编译下面的语句#define

36、 xxx /然后定义xxx,使得这次包含只进行一次,在下次检查时,就会发. /现已定义了xxx,就不会再次包含了#endif (2)代码封装1、 函数在头文件中声明,函数体放在.c文件中;2、 只在本.c文件中调用的宏定义就放在.c文件中,需要被其他文件调用的宏定义放在头文件中; 3、尽量少用全局变量,必须用时,则放在.c文件中自己用,当该全局变量需要被外部调用时,则在.h文件中用extern声明一下;3.2.1 单片机系统时钟初始化 MSP430F169 单片机的基本时钟系统由高速晶体震荡器,低速晶体震荡器,数字控制震荡器等部件构成。各个震荡器产生的时钟信号可以通过软件的设置分配到ACLK,

37、MCLK,SMCLK 三路重要的时钟信号通道上。 一般来说,单片机的时钟系统必须满足下列要求 (1)高频率,用来满足系统硬件需求,运算和外部事件的快速响应。 (2)低频率,用于降低系统的电流消耗。 (3)稳定的频率,以满足定时的需要,例如RTC 实时时钟。 本系统时钟源采用的是外部高速晶体振荡器,使用时需要程序来清除震荡失效标志位。然后为各系统时钟选择时钟源以及分频系数配置等。程序如下:void XT2_Init(void) unsigned char i; BCSCTL1 &= (XT2OFF);/开启高速晶体振荡器 do IFG1 &= (OFIFG);/清除振荡器失效标志位 for(i=

38、0; i100; i+) /稳定时间 _NOP(); while(IFG1 & OFIFG) != 0);/检测失效标志位是否清除void BCS_Init(void) /配置系统时钟 XT2_Init(); BCSCTL1 |=DIVA_0 + RSEL0+ RSEL1 + RSEL2;/XT2开,XT1低频模式,高匹配电阻 BCSCTL2 |=SELM_2 + DIVM_0 + SELS + DIVS_0;/MCLK SMCLK选择XT2()3.2.2 电机驱动模块程序设计 (1)后轮电机的控制。由MSP430F149的定时器B可输出7路PWM信号,选择其中的4路作为L298N电机驱动芯片

39、的输入,根据电压大小与PWM信号占空比成正比,可以让L298N输出4路不同的电压信号来驱动电机,实现清洁装置直走,转弯,后退,原地旋转等功能。这部分功能用子程序来实现。 定时器B的配置程序如下:void TB_Init(void) TBCTL = TBSSEL_1 + TBCLR + ID_0 + MC_0;/ TBCCR0 = 100; /PWM控制信号周期 TBCTL = TBSSEL_1 + TBCLR + ID_0 + MC_1; /ACLOCK 32768,增计数模式void Init_PWM_Driver() / 初始化电机驱动电路 P4DIR |=BIT6; /p4.6为使能端E

40、NA P4DIR |=BIT7; /p4.7为使能端ENB P4OUT |=BIT6; /P4.6输出高电平 P4OUT |=BIT7; /P4.7输出高电平 P4DIR |=BIT5+BIT2+BIT3+BIT4; /I/O端口配置为输出模式 P4SEL |=BIT5+BIT2+BIT3+BIT4; /I/O端口配置为复用功能模式(输出PWM信号) TBCCTL2 |= OUTMOD_7; /TBCCR2输出为模式7,RESET/SET TBCCR2 =0; /预置TB2输出信号占空比为0 TBCCR3 =0; /预置TB3输出信号占空比为0 TBCCTL4 |= OUTMOD_7; /TB

41、CCR4输出为模式7,RESET/SET TBCCR4 =0; /预置TB4输出信号占空比为0 TBCCTL5 |= OUTMOD_7; /TBCCR5输出为模式7,RESET/SET TBCCR5 =0; /预置TB5输出信号占空比为0 TBCTL |= MC_1; /TIMER_B工作于增计数方式/*电机差动控制*/void Turn_Left() /左转函数 TBCCR2=0;TBCCR3=0;TBCCR4=highspeed;TBCCR5=0;void Turn_Right()/右转函数 TBCCR2=highspeed;TBCCR3=0;TBCCR4=0;TBCCR5=0;void

42、Turn_Normal()/直行函数 TBCCR2=highspeed;TBCCR3=0;TBCCR4=highspeed;TBCCR5=0; void Turn_Back()/直退函数 TBCCR2=0;TBCCR3=60;TBCCR4=0;TBCCR5=60; void Stop()/停止函数 TBCCR5=0;TBCCR2=0;TBCCR3=0;TBCCR4=0;void YuanDiZX()/原地左旋 TBCCR2=highspeed;TBCCR3=0;TBCCR4=0;TBCCR5=highspeed;void YuanDiYX()/原地右旋 TBCCR2=0;TBCCR3=high

43、speed;TBCCR4=highspeed;TBCCR5=0;void ZuoTui()/左退函数 TBCCR2=0;TBCCR3=50;TBCCR4=0;TBCCR5=highspeed;void YouTui()/右退函数 TBCCR2=0;TBCCR3=highspeed;TBCCR4=0;TBCCR5=50; (2)扫地电机,扫边电机,吸尘电机的控制。这几个电机可以同时控制,需要清洁装置开始清扫的时候,三个电机就同时打开,不需要的时候就同时关闭。三个电机采用恒速控制,不需要对速度进行调节,可通过单片机口控制继电器的触点吸合来实现三个电机的启动与停在。这部分功能程序很简单,只需P3.1

44、口输出高低电平就能完成。当系统开启时,P3.1口就输出高电平;当系统关闭或电池电量低时,P3.1口输出低电平。3.2.3 避障模块程序设计清洁装置的前端装有两组碰撞传感器,分别在左方和右方,当检测到有障碍物时,CPU对障碍物的位置进行初步判断,然后启动绕障程序。执行绕障程序时,障碍物的位置不同,转弯控制方式也不同。当障碍物在左侧时,向右转弯,转弯量应小于90度;当障碍物在中间时,随机向左或向右转弯,转弯量应小于60度;障碍物在右侧时,向左转弯,转弯量应小于30度。这样做的目的是防止机器人始终在一块区域内运行或被某个物体卡住时,它能找到一个出口,跑出现在运行的区域或挣脱某个卡主它的物体,到别的区域去清扫。这两个传感器信号是相互独立的,用两个口接收。这部分利用了MSP430F149的定时器A,采用定时中断程序分时查询的方法对障碍物进行检测。该模块程序流程图如下:开始定时器A初始化开定时中断定时时间到,进入中断服务程序向左转弯,转弯量小于30度障碍物在中随机向左或右转弯,转弯量小于60度障碍物在左向右转弯,转弯量小于90度清定时中断标志位障碍物在右是否有障碍物置障碍物标志调用避障程序中断

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服