当前位置: 首页 > news >正文

php网站开发图文教程泉州网站建设科技公司

php网站开发图文教程,泉州网站建设科技公司,google网站地图,画图在什么网站上做兼职摘要#xff1a; 在当今的世界安全形势下#xff0c;扫雷小车的出现可以减少各国人员在扫雷过程中的人员伤亡#xff0c;扫雷小车实用性能强更适合在军事化领域或者是民用领域上应用。让它具有光明的发展前景。针对这一情况#xff0c;本毕业设计就对自主扫雷小车进行研究…摘要 在当今的世界安全形势下扫雷小车的出现可以减少各国人员在扫雷过程中的人员伤亡扫雷小车实用性能强更适合在军事化领域或者是民用领域上应用。让它具有光明的发展前景。针对这一情况本毕业设计就对自主扫雷小车进行研究。 本设计是基于STM32处理器的自主扫雷小车控制系统主要包含视觉识别、测距、避障、驱动还有资源配置。主控芯片采用STM32F103系列核心板。其中避障部分主要用HC-SR04超声波模块结合外部中断1。视觉识别主要采用openmv4摄像头模组以及相关算法来实现对强烈对比的“地雷”进行识别。小车驱动使用PWM技术对两组车轮转速进行控制并通过速度差实现转向。 显然自主扫雷机器人的运用会对未来安全防范事业做出重要贡献。本课题将有助于了解扫雷机器人和智能小车的研究和应用。 关键词STM32超声波避障电机控制PWM 毕业设计说明书英文摘要 Title The Design of mine clearance robot Abstract In today’s world security situation, many countries have begun to develop various dangerous operational robots such as anti-terrorism explosion-proof robots and rescue robots for disaster protection and rescue based on national security. Demining is also an important part of the security strategy. So the mine clearance robot appeared. Due to the fast speed and high precision of robotic minesweeping, it is most important to avoid casualties and give it a bright future. This design is based on the STM32 processor’s autonomous mine clearance robot control system, which mainly includes visual recognition, ranging, obstacle avoidance, drive and resource configuration. The main control chip uses the STM32F103 series core board. Among them, the obstacle avoidance part mainly uses the HC-SR04 ultrasonic module combined with external interruption. The visual recognition part mainly uses the Openmv4 camera module to realize the identification of “mine” by related algorithms. The trolley drive uses PWM techique to control the wheel speed and achieve steering through the speed difference. Obviously, the use of autonomous mine clearance robot will make an important contribution to the future of safety. This topic will help to understand the research and application of mine clearance robots and intelligent cars. Keywords :STM32;Ultrasonic obstacle avoidance;Motor control;PWM 前 言 在当今的世界安全形势下世界上很多国家都在研制各种特种设备机器人比如说水下机器人研制钻地机器人研制飞天机器人研制等等。当各个国家研制这些特种机器人的目的就是为了去减少国家内部的操作人员的伤亡。而在这些机器人中各国重点研制的是扫雷机器人。联合国儿童基金会在1996年发出一篇报告称在球60多个国家中大约埋藏有多达700种地雷累计数量高达1.1亿颗这是一个相当可怕的数字而且这还是二十年前的统计结果。如此多的地雷不论对于国家、人民群众还是自然环境都有着难以预估的重大危害。传统的人工扫雷虽然识别率高但不得不忽视其对扫雷人员和士兵造成人身安全伤害的风险。因此扫雷排雷成为世界各国迫在眉睫的一项挑战和任务。 由于使用机器人扫雷速度快、精度高还有可以避免人员伤亡这一巨大优势让它不得不受到各国和各方人士的高度关注。鉴于这一情况对智能移动扫雷设备的研究变得越发重要。所以本课题围绕此问题展开从机器人扫雷的背景和国内外对其研究的现状入手再对其实现方案和相关软硬件的设计进行讨论和总结。探寻一种基于视觉传感器的扫雷机器人的设想并制作出一个简易能够实现基本功能的移动设备对其中一些基础技术和原理进行学习理解初步掌握单片机、传感器的使用 第一章 绪 论 1.1引言 当今很多国家都早已明确表示禁止地雷的使用。但是仍有数亿枚地雷被埋在世界各地如此数量的地雷使很多生活在周边的居民受到很大的安全影患危险很多周边居民一不小心就会给潜藏的地雷给炸死炸伤所以目前研制扫雷机器人已经是大势所趋了只有将完善的扫雷机器人应用进多雷地区才可以减少当地居民的伤亡。 根据不完全的统计我们周边国家的一些战场弥留地区存在着上亿颗地雷这些地雷无时无刻不影响着周围居民的生命安全。没有人能提供准确的数据让人意想不到的是一些地雷甚至是第二次世界大战时期留下的而关于这些地雷存在的官方证明早已无从考究。众多国家里潜藏地雷最多的国家无非是正在发生战乱的中东和阿富汗地区其次就是亚洲的老挝柬埔寨和越南地区。而有些地区国家因为恐怖分子和恐怖组织的活动至今仍在投入使用这种武器。2015年全球约有6000多人因为地雷受伤和死亡。其中平民占有很大比例而儿童所占比例也高达30%。现有大多数的探雷和排雷技术以人工手动进行其危险系数极高。当前在各个地区进行排雷作业的除了人工之外就是如今老式传统的大型碾压式地雷扫除机这些扫雷机主要是靠自身的重量将潜藏在地下的地雷引爆但是由于行动缓慢经常会使排雷爆破车被地雷震坏在实际的排雷应用中损坏率很大。为了解决这一现状也为了代替传统人工扫雷的方式。本设计就机器人扫雷的问题展开研究。 根据要求小车为实现自如行走、跟踪、避障和自动定位等功能属移动机器人。这类机器人是一种用有较高自主行的智能机器人作为机器人研究的领先部分智能机器人可以使用自身携带的传感器接受来自环境的讯息并作出反馈亦可检测自身状态并作出调整。从而实现在复杂环境下的代替人工执行一些高难度作业并能够不在人工干涉下自觉的避开障碍达到自主导航和移动的目的是一套高效高精度的机器系统。这一类机器人与传统机器人最大的不同点就在于它对移动定位的要求更高。所以不论是扫雷还是执行其他作业所以不论是扫雷还是执行其他作业都可以安全、自主的完成在特殊情况下可以采用人工远程控制提高系统设计的可行性以及便捷性在更大程度上发挥“人机结合”的功能。 1.2选题背景与意义 对于地雷炸弹的检测和排除目前世界范围内还是普遍使用士兵相关专业人士进行手动排查其潜在的危害和风险不言而喻。除此之外近期使用的非人工扫雷方案如排雷车滚筒车这一类的因为技术不够先进大多用原始的类似耕地机一样的原理先增大接触面和压力通过翻滚不停地捶打地表来实现对雷区的地雷诱导式引爆不仅精度低下而且因为需要增大接触面积和压力使得体积质量成倍增长进而带来的造价偏高效率低下。其次因为其原理导致的体型限制让此类机械一旦遇到非正常的地表环境比如高低不平的山坡、崎岖狭隘的小路等就会出现很大的风险性和局限性甚至导致车体倾斜翻车等情况对人员造成巨大伤害。 而排雷机器人就可以取代受过专业训练的排雷兵或特种犬消除地雷和其他烈性爆炸物大大降低了训练排雷人员的成本只需要学会机器的操作和使用训练时间也会先出缩短。作为一种智能防爆安全装备同时也是最重要的减少人员的伤亡都是它无可取代的优势。随着机器人技术和当下最热门的AI技术的发展用扫雷机器人代替人工实现高效、大范围的扫雷工作将是今后相关研究发展的必然趋势。在广泛使用机器人探雷排雷的情况下工程师可以摆脱风险高、效率低、作业时间漫长的矿井探测和排雷工作。从另一个层面上讲机器人可以显著地降低人员伤亡率是实实在在地提升了排雷效率而不是单纯的为人排雷。 而且这种智能型的扫雷装置往往技术含量高所以体较之于传统排雷车大大缩小重量也相应的变轻很多这就十分有利于在复杂环境下的运作和使用。通过这种扫雷设备可以协助专用的排雷车或辅助专业的团队侦察地雷扫除地雷成本低廉的同时兼顾了很高的安全性非常适合面积广的国际人道主义扫雷任务将会为今后安全维和任务的扮演重要角色。它的出现也会对机器人在非正常环境和危险条件下作业等相关领域的研究工作作出贡献成为机器人领域的重要分支具有十分宝贵的科研价值和现实意义。 1.3研究现状 基于确保从事扫雷排雷的相关人员士兵的安全机器人地雷排除装置正在紧张的开发中。因为使用机器人排除地雷可以避免人员的伤亡以及合理的性价比等优点对于执行战争结束地区的排查和清理工作相当合适。 上个世纪八十年代后期美国已经发起了关于无人扫雷也就是机器人扫雷的相关研究并积极研发设计此类设备。以至于美国的联合机器人开发项目都包括军队特别装备的各种远程地雷检测机器人、防爆机器人、反恐机器人等等。在政府和军队的大力支持下“Magic Claw”,“Pike Potter”,“Mine Hunter”等型号的智能机器人相继公开并投入使用当时记录的数据表明这些机器人确实在各个战区都发挥出了超前的水平和性能为美国的军事行动带来了巨大帮助。美军曾在阿富汗和伊拉克使用了数十个探测、爆破、排雷的机器人但最初的装甲师团7个爆破机器人已经消除了上千枚未爆炸的地雷。90年代后美军的爆炸物任务组使用了18台清洁机器人对伊拉克军队残留的爆炸装置、哑炮和地雷的清除起到了重要的作用。 在欧美地区当地的科学家们研制出了一种和传统的地雷机器人不同的机器装置这种机器装置主要是三部分组成第一部分是由行动部分组成这部分可以使地雷排除小车行动自如的在复杂的雷场进行多变的行驶。第二部分是地雷检测部分地雷检测部分通过高标准的金属探测器可以探测到地下三米左右的地方如果发现地下有潜在的安全影患就会激发第三部分的使用第三部分就是地雷标志装置。只要有地雷在地下给检测到了标志装置就会在地下地雷相对应的地上位置标志出鲜艳的黄色标志然后小车继续向前进行地雷的扫除。整个探测过程可以做到相当高的自主性和自动化。使用摩托罗拉的中央处理模块和处理部件来完成对机器人的指令发出和执行任务。当检测到地雷时就用喷漆标记标记完成后绕开地雷继续执行探雷任务。 我们的邻国日本作为一个机器人技术相当领先的国家上世界还参与柬埔寨这个地雷“重灾区”的国际人道主义援助基于这些原因也积累了扫雷机器人的研发经验。日本技术部门研发的一款名为“彗星2”的机器人实现探雷作用的同时兼具排雷功能可以说是一个技术含量相当高的多功能机器人。最大的特点就是除了识别正常的金属制地雷它还可以探查到普通扫雷设备无法识别的高分子聚合物地雷这得益于其安装了一种特殊的感应雷达。一些地雷数量密集的国家区域曾使用过这种机器人取得了很好的效果但因为其成本相当高所以也存在维护困难使用频率有限的问题。此外还有很多欧洲发达国家如挪威、捷克斯洛伐克等在国际维和行动的号召下也相继开发出一些独具特点和创新的新型排雷防爆机器人对保障本国人民的安全和世界维和行动作出不小的贡献。 现在中国主要有防爆机器人、链条锤扫雷艇和定向能源扫雷艇。其中排雷机器人被广泛用于恐怖袭击对策底盘操作链条锤排雷车已经完成在云南的军事现场进行了实地试验定向性地雷检测装备已经完成并且下一个步会基于陆军实战平台把这些设备投入了实际的战斗中。 在未来不仅仅有机器人扫雷技术结合卫星和无人机的高空地雷探测即将出现还将采用智能集成化扫雷排雷一步完成的技术使用时新的AI技术和微处理器技术开发的地雷探测和地雷扫描车以及使用激光和机器人技术的遥控地雷扫描车也将有新的发展和突破。这些都将是传统的盲扫转变成精确的定位扫描相信不久的将来会埋藏在世界各地的地雷将会得到彻底清除。 在我国的第五步兵维和团部队中的智能扫雷机器人研制过程中我国的科研人员设计研发出了一种完全是我国自主研制的高性能智能扫雷机器人。我国研制的扫雷机器人具有超高性能的战场生存能力还具有超牛的战场复杂环境的行动能力我国自主研制的扫雷机器人可以爬上将近五十公分的垂直墙面还可以通过长达三十公分的沟渠可以在颠簸的战场环境中随意的前进。 第二章 概述 2.1 自主扫雷小车的系统概述 本设计是由基于视觉传感器的扫雷小车代替人工和其他传统扫雷方式。整套控制系统具有以下功能自主扫雷、测距和自主避障、自主巡航、报警等功能。由以下模块组成包括中央处理模块、电机驱动电路模块、报警模块、超声波避障模块、视觉识别模块、电源模块。小车通过视觉传感器检测到地雷时经过中央处理器处理闪灯发出警报并在原地停留2秒后通过电机驱动模块驱动小车继续扫雷。遇到障碍物时由超声波测距模块识别出距离再通过驱动模块驱动小车做出避让后退等动作。以下为系统原理图 图 1 2.2 自主扫雷小车的所使用相关技术概述 本设计是关于自主扫雷小车的设计与实现。主要使用以下几种技术传感器技术、基于python底层的openmv图像数据处理技术、数据打包传送技术、声学测距范畴超声波测距技术、自动控制技术。 2.3 系统设计要求概述 (1)视觉传感器扫雷 (2)识别地雷闪灯报警 (3)报警同时停留2秒之后继续扫雷 (4)遇前方障碍物转弯后退避让。 第三章系统设计 3.1 扫雷小车系统总体设计和框图 本扫雷机器人系统设计主要包含视觉识别、测距、避障、驱动还有资源配置。主控芯片采用stm32f103系列核心板。其中避障部分主要用HC-SR04超声波模块结合外部中断1来设计视觉识别主要采用Openmv4摄像头模块以及算法来实现对强烈对比的“地雷”进行识别阈值可调颜色可调。小车驱动部分为便于控制。而对于场地的扫描以及排雷顺序主要遵循从进到远、从左至右、逐个排雷并结合每个地雷的权值作为排雷顺序依据。避障部分采用中断进行有障碍则减速至停车、转向继续排雷。 电源部分采用12V、1800mAh电池以及相应的DC-DC升降压稳压模块和DC-DC12V降压5V模块给主控供电12V用作二轮驱动。系统总体框图如下所示 图 2 以下介绍系统的软硬件设计和各模块的功能、算法和程序 3.2 中央处理模块 众所周知中央处理模块是一套系统的核心就像大脑在人体中的地位一样。各个传感器、部件传输过来的信息都汇集到中央处理模块并且进行筛选分析通过算法和程序运算所得数据再发出对应的指令和信号指挥各个部件做出正确的动作和反应。 本次设计选用的是在智能控制和设备中广为应用的STM32单片机。这是一种基于ARMV7架构的Cortex系列标准架构是ARM大约在10年前推出问世他的出现满足了更多市场和用户越来越多样化和复杂功能的需求成为了当下主流的性能较高的单片机芯片。根据所面向领域的不同这个系列可分为A、R、M三个功能不同的的系列。其中A系列是用于开放复杂操作系统和复杂的应用R是Real的缩写用于实时系统M是Micro的缩写特别是用于微控制领域的低成本研究和开发。STM32处理器的出现为高功率、低成本的嵌入式应用比如微控制系统、工业控制系统、车身系统和无线网络等高性能的系统提供了基础从而实现了编程的复杂性和高性能还有系统的低功耗和低成本在科研公司将地雷清除小车主要并集成芯片是由半导体组成哦地雷七路小车最大的公司是st公司st公司生产出一种m3颗新开发项目主要是由m3颗新处理器设计的第1个基于v7m架构的32标准处理器这种处理器它具有功耗消耗低技术不低的优点。而且这款处理器中间延时时间超级短而且调试量超级低十分使用超方便。多其他优势使它在许多处理器中立马显现出来展现出强大魅力。直至现在STM32处理器分为两大系列分别是F101和F103。其中F101系列为基础入门系列CPU频率设置在36MHzF103系列是功能性能的加强系列CPU频率最高为72MHz片内RAM较多外围资源较丰富。这两种型号都在软件和PIN的封装上兼容并拥有同样的片内flsah资源。因为种种优点使得在这个平台进行软件更新和开发变得快捷又高效。 在下文中我们将具体介绍stm32f系列中终端的32位LV控处理器的具体功能和具体组成部分。这种32位的芯片是这个公司的半导体出品比较留的一个项目它的内核是由cor tex m组成。并且这种芯片的fl ash大小可以分成以下三类。第1类是小容量的芯片只有16k和32k第2类是中容量的芯片有64k和128k第3种是大容量的芯片有256k384k和512k。并且这款芯片的集成定时器中有多种功能主要是由以下CAn功能adc功能SPI功能I2C功能USB功能。并且这款处理器的访问周期可以达到1.25d每秒。这款处理器还运用了单周期乘法和硬件出发使运算效率大大提升。在这款处理器中的储存器是由16k到512k字节的闪存程序处理器组成。并且这个公司生产的处理器它的电源管理功能超级厉害因为它的电源管理功能是2.0~3.6伏供电而且他的上电和断电复位设计的十分巧妙可以编程电压监测器在他的4-16MHC震荡体中内嵌了由出厂调校的8mh z rc振荡器而且它可以产生CPU时钟p ll带校准的32khz的rc振荡器。姐这款地雷排除智能功能小车它所采用的低功耗主要有三种模式第1种模式是睡眠模式第2种模式是停机模式听筒模式待机模式。这款智能小车中还有后备继承供电系统经过模数转换器将12个12位模数转换器转换时间多达16个输入通道转换范围可以上升至3.6伏而且它还有双采用系统和保持功能温度传感器系统。科学家研制这款智能小车中的内部处理器过程中它的处理器几乎所有的端口都可以容忍达到5v的信号。 在这款智能排除地雷小车的调试模式中他的调试模式有串行单线条是sw d和jtag接口。他的调试模式居然可以装上多达8个定时器和三个16位定时器每个定时器有多达4个用于传输或者捕获p wm或脉冲技术的通道和编程码的输入。在他的调试模式中共有一个16位带死区控制和急刹车功能用于电机控制p wm高级控制定时器和两个看门狗定时器。这两个看门狗定时器分别有两种类型第1种类型是独立类型第2种类型是窗口类型而且系统定时器有24位置简述计时器有多达9个通信接口。在这款小车的通信接口中有两个L2C接口。并且还有三个USARt接口。而且他还有两个SP l接口和can接口还有两个USB2.0全速接口。而且这款处理器使用的计算单元也是目前最先进的96位新密码为代码的crc计算单元。 3.3 摄像头模块 3.3.1简介 本设计是基于视觉传感器的扫雷机器人作为其核心部分视觉传感器就像小车的眼睛一样重要。经测试使用stm32f103单片机和普通摄像头因为涉及图像处理的原因使得帧率过低无法满足设计要求。为了使开发简单的同时保证高识别速度和准确度我们采用了时下流行的Openmv摄像头模组。 作为一个功能丰富性能强大的摄像头模组Openmv体积小硬件排布紧凑使用简单价格低廉它的中央处理部分用的是stm32系列单片机模块并且可替换不同型号的摄像头。设计语言基于通用的C语言除此之外还有Python接口高效便捷方便开发者编译降低编程门槛容易实现较为复杂的核心功能用户利用Python语言来使用Openmv具备的各种各样丰富的功能让他们独有的想法和创意能够自由的在自己开发的设备上实现。 Openmv拥有多种视觉识别算法主要有以下几类比如人脸的识别算法、色块的寻找捕捉算法、边缘检测算法、标识物的跟踪算法、手势追踪等等不仅可以给普通开发者爱好者实现一些有趣的功能对于要求更高的工业商业所需的专业功能也可以满足实现例如指定物体的标识追踪生产线上不合格物件的检测、未经授权的物体入侵等。因为它的体积小重量轻可以安装到无人机小车机器人这类DIY的娱乐产品上。可以想象一下给你的电子狗装上人脸识别功能让它只对你做出反应或给你的机器人增加对身边空间的识别功能然它不在四处碰壁吗亦可让你的智能小车增加自主导航寻路功能然它不用你要控便能来去自如。当然你要是专业人员给你的生产线加上不合格品的筛选、条码的识别功能。当用户亲身体验就会发现只需懂得基础的程序编程用一些简易的代码就可以很方便容易实现各种视觉识别的功能。因为核心基于32系列单片机所以它也提供了种类繁多的外部接口还有相当完善的系统硬件所需的资源用以满足使用者拓展更多功能的需求比如USB接口就可以连接电脑并使用配套的调试软件辅助用户完成开发、调试和更新固件等工作TF卡槽装载TF卡保存多个程序或者拍摄到的图片。亦可使用单片机模块控制其他的硬件如Arduino、树莓派等。同样的它也能接受其他单片机的制这个优点使得它可以很方便的和多种不同模块组合完成更复杂的功能。 3.3.2 Openmv机器视觉应用方法 对于机器的视觉来说就是人眼可以看东西而且我们现在是用机器人来代替人眼去看东西机器人虽然不能直观的看东西但是机器人可以代替人眼来进行测量和判断物体的距离和大小。所以传说中的机器人看东西也就是机器人视觉系统通过机器视觉产品将摄取目标转换成图像信号传送给专用的处理器系统是被摄取的目标形态信息根据像素分布亮度颜色的大小特征转变为数字信号在电脑上经过集成系统的分析然后图像对这些信号进行各种运算来抽象的模型的特征进行判定然后通过现场的操作人员来控制现场的小车设备动作进行扫雷排除。 由于目前的机器人视觉系统发展已经十分完善了所以机器人系统可以在短时间内获取大量的信息然后再集成芯片的处理下可以使信息的加工控制系统更加完善因此在现代化的生产过程中人们教机器人的视觉系统广泛的应用于工程皆是成品检测质量控制以及检查管理等等领域。总的来说机器人的视觉系统特点就是生产性的柔性和自动化程度非常高。所以在一些不适合人类工作的危险环境工作环境下或者人类视觉难以满足的要求而机器人视觉可以代替人工视觉进行对生产环境的监测和检验。由于工厂化的生产是大批量的工厂化生产所以人工去检查产品合格率效率又低又不准那么我们用机器人是要去检查成品的合格率就可以大大提高产品的生产效率和质量。可以使工厂的自动化生产更加完善。而且机器人更容易实现机器和物品的信息集成功能是实现计算机集成制造业的基本技术之一所以这种技术我国早就掌握了那么我国在工厂自动化生产中就会运用机器人来检测物品的成功率标准。 目前机器人的视觉产品制作中的工程制作主要由7个部分组成。接下来我们来简述这7个过程的具体内容。第1个部分就是工业相机和工业镜头的组成这部分相当于人的眼睛去看东西属于成像器件主要是视觉系统有一套或多套这样的成像系统相互组成用多录像机去分辨物体大小和形状同时控制获取多个相机的通道数据根据应用相机来获取所需要的单色视频进行复合信号的转换最后进行非标准的逐行扫描信号。线扫描性号和高分辨析信号等等信号统一归总。第2个部分就是光源因为你要看东西必须要有光有光才能看到东西所以光源是作为机器人视觉系统一个辅助成像器线而成像的质量好坏往往就是光源起到重要的作用各种形状的LED灯屏光灯光圈卤素灯都很容易得到所以光源在机器人视觉系统上的应用是必不可少的。第3个部分就是传感器部分传感器部分可以说是机器人视觉控制系统里面比较重要的部分之一通常是由光电开关接近开关的形式组成用于判断被测对象的位置和状态东西在哪儿就需要传感器去判断东西的状态怎么样也需要传感器判断所以传感器是告知图像如何采集的正确途径之一。第4个部分就是图像采集部分图像采集部分通常以插卡式的形式装在c盘中图像采集卡主要工作是把相机输出的信号传输到电脑主机然后他们将来自相机模拟信号和数字信号转成一定数据的图像模式。将这些图像模式通过数据线与数字电信号的形式显示在显示器上。而图像采集器还可以控制相机的一些参数比如说触发信号曝光时间快门速度都可以控制。并且图像采集器卡通常有不同的硬件结构以针对不同类型的相机同时有不同的总线形式。第5个部分就是PC平台什么是PC平台PC平台就是一个电脑的PC是视觉系统的核心。电脑所有的图像都需要在这里完成图技术上的处理和绝大部分控制逻辑。为了检测这种类型的应用通常都是使用频率较高的CPU处理器这样处理器功能越强大那么处理的时间就会越少同时就会大大增加电脑的处理功能效率。并且通常为了减少现场工作环境的震动灰尘温度以及外在干扰因素我们通常会选择工业级的电脑。第6个部分就是事件处理软件视觉处理软件就相当于是人的大脑后神经反应这个部分主要是用来完成数字图像的数据处理然后通过一定运算得出结果是输出结果通过信号和坐标位置字符串等等形式传送到具体视觉软件显示器中。机器人常用的世界软件处理器是c-c图像库。图形式编程环境可以是专用功能的LCD检测vga检测模板对准等等。也可以是通用目的的定位测量条码单点检测等等。第7个部分就是视觉处理器的控制单元控制单元包括运动控制和电平转化单元控制一旦视觉软件完成了图像分析那么就需要和外部单元进行通信并产生对其生产能力的控制简单的控制可以利用部分图像卡自带的开关进行控制但是相对复杂的控制就需要控制单元来运行和控制。 接下来我们来分析一个完整的视觉系统主要的工作过程。视觉系统工作过程中第1个过程就是通过弓箭定位检测器来探测物体运到了哪儿然后通过摄像系统将物体纳入视野中心然后采集图像使部分图像发送触发脉冲。第2个过程通过图像采集部分事先设置好的程序和定位功能分别向摄像机和照明系统发起信号使摄像机开机使照明系统开灯。第3个过程就是相机停止扫描过程过后就需要新的开始扫描所以摄像头必须要不停的进行摆动来瞄准物体的移动方向在启动脉冲到来之前一直处于等待状态。但是在这个过程中我们需要摄像头开始新的反弹过后提前需要打开曝光机构因为曝光机构可以通过我们的计算机编码处理系统可以事先编程。使灯光系统永远在相机开机之前打开。在打开灯光照明过后就会启动脉冲使灯光的开启时间和摄像机的曝光时间相匹配。这个过程就是相机曝光之后那么就需要开始对图像进行接收和模拟信号的输出。图像的采集部分接收的模拟信号就会直接吸收到摄像机中使摄像机将图像生成数字化的视频数据然后将数字化的视频数据存放在处理器或计算机内存中。然后大型的工业电脑中的处理器就会对图像进行处理分析识别然后或许所需要的结果和测量数据。之后电脑的分析系统就会对这些数据进行分析然后对流水线上的产品进行控制定位和纠正来增加大型生产链上的产品质量和生产效率。 3.3.3 Openmv4的运算及处理能力 open mv4采用的是当今现在最高性能的微控制系统这种微控制器是stm32h7stm32h7高性能微控能处理器运行在400MHZ左右。据有关科学统计他的内核跑分是两千二十分这款高性能微控制器的跑分效果可以和当今市面上的主流软件相匹配。功能强大的mcu和OPenv4相组合产生出的性能强悍可以轻松地在OpenMV4平台上几秒内直接运行颜色跟踪、人脸识别与检测等机器视觉算法。还带了基于caffe深度学习框架的cnn神经网络框架可在openmv运行CIFAR10、CIFAR10 Fast MNIST 、Smile Detection等模型。支持可拆卸式的摄像头模块包括0V7725、0V2640、MT9V034、OV9650等摄像头。 OpenMV4的主芯片采用stm32H743vit6。主频400M内存2M处理速度远超OpenMV3。OV2640灰度MT9V034和彩色MT9V034。可拆卸的方式让大家可以随意更换自己想用的镜头型号。可以最大限度的进行各类图像采集。另外再通过镜头的更换。 Openmv的底层python已经封装好一系列的封装库 APIfind_blobs thresholds是颜色的阈值。通过这个法子可以判断很多种颜色并且通过这个参数作为一个列表这个列表中将所有的颜色都能靠过来那么这个色块对象bao b就可以调动seo de方法来判断颜色是什么色块。roi是“感兴趣区”。 x_stride 就是查找的色块的x方向上最小宽度的像素默认为2。 y_stride 就是查找的色块的y方向上最小宽度的像素默认为1。 area_threshold 面积阈值如果一旦有小于这个色块的面积那么电脑中就会自觉将这个面积过滤掉。 pixels_threshold 像素个数阈值如果有小于这个值的出现那么电脑也会将这个值自然的排除不会使它出现在电脑处理器中。 merge 合并如果设置为True那么就将所有的纸全部合并在一起进行综合运算处理。blob为一个。 注意这会合并所有的blob无论是什么颜色的。如果你想混淆多种颜色的blob只需要分别调用不同颜色阈值的find_blobs。 blobs img.find_blobs([red])find_blobs对象返回的是多个blob的列表。 而一个blobs列表里包含很多blob对象blobs对象就是色块每个blobs对象包含一个色块的信息。 blob有多个方法 blob.rect() 返回这个色块的外框——矩形元组(x, y, w, h)可以直接在image.draw_rectangle中使用。 blob.x() 返回色块的外框的x坐标int也可以通过blob[0]来获取。 blob.y() 返回色块的外框的y坐标int也可以通过blob[1]来获取。 blob.w() 返回色块的外框的宽度wint也可以通过blob[2]来获取。 blob.h() 返回色块的外框的高度hint也可以通过blob[3]来获取。 blob.pixels() 返回色块的像素数量int也可以通过blob[4]来获取。 blob.cx() 返回色块的外框的中心x坐标int也可以通过blob[5]来获取。 blob.cy() 返回色块的外框的中心y坐标int也可以通过blob[6]来获取。 blob.rotation() 返回色块的旋转角度单位为弧度float。如果色块类似一个铅笔那么这个值为0180°。如果色块是一个圆那么这个值是无用的。如果色块完全没有对称性那么你会得到0360°也可以通过blob[7]来获取。 blob.code() 返回一个16bit数字每一个bit会对应每一个阈值。 当我们调用的find blobs,来做色块追踪处理器时主要采用的原理就是因为这款色块追踪处理器它拥有全幅图像扫描的功能当然他这种功能有优点也有缺点。第一他的优点有很多比如说运算速度超快。他可以教所有的色块一起扫描进来而且还是全图扫描。但是这种色块追踪处理器的缺点是色块数量很多时候就会干扰系统的判断导致最终失败而且有些部分不需要扫描这款处理器会将其扫描进去。 此处用绿色目标物作为样本数据得到以下的现象图片 图1-1 处理速度 图1-2 3.4数据打包传送技术 JSON(JavaScript Object Notation, JS 对象简谱) 数据打包传送技术是一种比较属于轻量级的数据交换格式。而且这种交换格式比传统的xm1更加轻巧所以可以到达节约传输数据所被占用的宽度和时间大大提高传输数据的时间效率。并且数据打包传送技术通过简洁和清晰的层次结构Json成为理想的数据交换语言通过这种交换语言可以让人们更加容易的阅读和编写这种程序。使网络传输这种数据的时间大大缩短增加了网络的传输效率也增加了机器的工作效率。只需要记得一种文本字符串是由JSON组成而且这种文本字符串应该被储存在某一种属性中这种属性就是responsetext属性并且我们在毒区这种数据过程中还可以使用一些函数来解析json当然这种函数是特殊的函数分别是javascript的eval函数还有一种计算机中特定的语言函数。 JSON注意事项 1名称必须用双引号即””来包括 2值可以是双引号包括的字符串、数字、true、false、null、JavaScript数组或子对象。 接下来我们来简要说一说java中的常用编写方法以及编写方法的意思。 json.dumps()将 Python 对象编码成 JSON 字符串 json.loads()将已编码的 JSON 字符串解码为 Python 对象 json.dump()将Python内置类型序列化为json对象后写入文件 json.load()读取文件中json形式的字符串元素转化为Python类型 在底层中具体采用Python后、stm32 H7为处理器的摄像头模组则需要涉及到摄像头模组与主控stm32f103的数据传送问题。传送数据的方法为用stm32 H7的串口3UART3与stm32f103主控的串口2USART2直接进行双线异步数据传送传送的数值有两个一个是特征点的数量另一个是总体巡线特征值的偏左或偏右量。由于串口直接传送数据的方法通信容易产生数据遗漏、丢数据、其他信号线的影响则采用json数据打包的方法接收端进行数据校验解析的方式如下图 图1-3 3.5 超声波避障模块 超声波避障模块相当于小车另一个眼睛。它将所收集到的外界环境的信息发送到单片机也就是中央处理器经由其计算得出数据并发出指令实现躲避障碍物的功能。其整套过程就和我们人在行走时眼睛看到前方物体挡住从而通过大脑判断如何绕开物体选择正确路径是一样的道理。当前市面上有很多可以基于不同原理实现避障测距功能的模块例如比较常用的红外线检测、光学检测还有就是本次实验使用的超声波检测。大量研究表明超声波传输中能量亏损小、下降速度慢方向性比较确定在介质中传播的距离长所以超声波在测距方面得到了大量使用很多仪器设备都通过它来检测距离。并且超声波的使用快速便捷数据运算也得到简化于此同时还能满足精度要求较高的工业生产和实时性的需求因而很多开发者和研究人员使用它来进行移动智能设备的设计和开发。本次设计选用了型号为HC-SR04的超声波模块它价格低廉形状小巧便于安装成为扫雷小车的不二选择。 当今市面上的所有超声波传感器所利用的原理都是多普勒原理。东圃的原理主要是说通过京正体向外发射超过人体能感知的超频高超声波然后这种超声波通过控制模块检测反射回来检测其反射回来的频率。这种超声波的波频一般是在25~40khz波。在超声波传感器的运作工作过程中叫超声波发射出去在超声波发射的区域只要有物体进行不断的运动那么超声波就会在上面反射出一段频率。这段带有波动的频率就称为多普勒效应。我们可以通过反射回的频率来判断物体在指定区域内运动的位置和移动的速度方向。通过这些判断分析可以来控制开关。 接口VCC 接 5V电源 GND 为地线TRIG 触发控制信号输入 ECHO 回响信号输出TRIG与ECHO接STM32的任意GPIO口。 本设计的实现主要基于HC-SR04超声波测距模块的使用通过stm32f103外部中断系统和定时器系统实时扫描机器人前方是否有障碍物判断距离阈值可用软件设置调整。 stm32f103主控外部中断机制中初始化应用方法分析及判断。 ①中断机制STM32 的每一个GPIO都能配置成一个外部中断触发源这点也是 STM32 的强大之处。STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组将下面7个中断装置PA0PB0PC0PD0PE0PF0PG0为第一组只要我们将这些终端装置按照这个顺序依次匹配分类归于一种然后将所有的类别划分为同一性质的装置那么我们就可以得到16 组在这种中断装置机制原理控制中规定每一组只有一个终端装置可以控制开关的闭合就是说只有一个装置在一组中可以去控制外部闭合系统。那么最多工作的也就是16个外部中断。STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位在这些组类别的终端装置中每一个装置中的组别都可以去判断外部装置是否有中断的情况发生。STM32F103 的19 个外部中断为以下4种情况。 第1种情况在线16都可以通过到 PVD 输出。 第2种情况在线17都可以通过到 RTC 闹钟事件。 第3种情况在线18都可以通过到 USB 唤醒事件。 第4种情况在线0~15合理的匹配外部 IO 口的输入中断。 图2-1 ②中断配置过程 1、配置触发源GPIO口 由于在GPIO可以作为传统的触发源来使用。我们只需要将GPIO口配置成输入模式在触发模式中主要有以下几种。 第1种是.GPIO_Mode_AIN 主要是利用模拟输入ADC模拟输入或者低功耗下省电就可以完成配置口的输入。 第2种是.GPIO_Mode_IN_FLOATING 可以通过浮空输入就可以达到目的。 第3种是.GPIO_Mode_IPD 可以通过带下拉输入就可以达到目的。 第4种是GPIO_Mode_IPU 可以通过带上拉输入 就可以达到目的。 使能AFIO复用时钟功能 将GPIO口与中断线映射起来 中断线上进行中断初始化 6、外部中断服务函数的编写 外部中断函数分别为 EXPORT EXTI0_IRQHandler EXPORT EXTI1_IRQHandler EXPORT EXTI2_IRQHandler EXPORT EXTI3_IRQHandler EXPORT EXTI4_IRQHandler EXPORT EXTI9_5_IRQHandler EXPORT EXTI15_10_IRQHandler 中断线 0-4 每个中断线对应一个中断函数中断线 5-9 共用中断函数 EXTI9_5_IRQHandler中断线 10-15 共用中断函数 EXTI15_10_IRQHandler。 HC-SR04测距模块基本参数 1.工作电压4.5V–5.5V5.5V为上限不得超出 2.工作电流最小1mA最大20mA 3.工作频率40Khz 4.可识别的工作距离4mm–4m备注识别最近距离为4毫米最远为4米数据为持续输出不需要预先设置 5.可测量的温度大小0度–100度精度为1度 6.可测量的光照的程度 可以明显的判断出黑色白色或者是光亮暗淡之间的效果。 7.数据输出方式主要有两种第1种是icc。第2种是uart或者57600bps HC-SR04测距模块时序 HC-SR04超声波模块测距原理为利用正常条件下声学中音速为340m/s模块trig端接受高电平时则连续发送8个高电平脉冲同时echo端输出高电平接收到回传信号时则改输出低电平利用主控TIM2定时器和EXIT4中断源优先级组设置为2来记录高电平时间即可由 La340*TIME(S)米 计算出La及障碍物距离。 3.2.4PID自动控制技术 在这种自动控制化技术过程中我们在控制的过程中可以按照偏差比例的不同来进行控制Pld控制器。在控制系统中主要是以下三个部分来进行控制第1个部分是比例部分第2部分积分部分第3部分是微分部分通过这三个部分协调解决就可以使自动控制器的自动控制技术更加完善。目前市面上的自动控制器的自动控制技术决定简单而且易于实现它的适用性十分广泛可以运用在各个领域而且这种自动控制器的自动控制器控制参数数据相互独立又有一一对应的特点。我们可以通过调节这种比例积分和微分之间的规律然后进行连续要对产品的连续动态系统品质校正进行方法的解决和判断而且这种自动控制技术它的参数整定方法结构简单又轻便。在传统的应用过程中控制点包括三种比较简单的比例积分微分控制算法。导致三种控制算法第1种控制算法是增量式算法第2种控制算法是位置是算法第3种控制算法是微分先行算法。虽然这三种比例积分微分算法控制系统简单但是它们的特点基本可以满足一般控制系统所需要的大多数需求。 离散化公式 △u(k) u(k)- u(k-1) △u(k)Kp[e(k)-e(k-1)]Kie(k)Kd[e(k)-2e(k-1)e(k-2)] 进一步可以改写成 △u(k)Ae(k)-Be(k-1)Ce(k-2) 对于增量是算法中可以选择的功能有很多种第1种我们可以选择。滤波选择对于滤波选择来说滤波选择就是对输入加一个前置的滤波器使输入的控制算法给定值不会发生突然的变化而是有一定惯性的延缓然后再慢慢的进行变化不会突然的进行变化。第2种就是系统中的动态过程中逐渐加速在增量式的算法过程中比例相与基分项的符号具有以下关系那么我们来简单的说说一下这些关系如果被控量的系统继续偏离给定值那么这个符号就会一模一样如果当被控量和改进之方向不一样知识那么这两个符号就发生相反变化。同时又由于这一特性所以当被控量接近给定值时那么相反毕业的作用就会阻碍积分的作用从而避免了积分超调以及带来的机器震荡所以这明显是有利于我们对这种机器的控制但是如果被控量远未达到给定接近知识那么当你接近时发生变化过程中那么就会由于积分获得比例之间发生的微妙变化或者是反向移动将会导致被降低进行缓慢减慢那么这就会对我们进行数据分析操作的效率大大减少。所以为了避免这种情况的发生我们需要增加一个动态加速的过程首先我们需要设定一个偏差范围当这种偏差范围使被控量接近给定值时就按照正常规律进行调节但是如果这种比例作用为正为负都发生大量的偏差过程中。那么我们就需要利用这种方法使其符号和偏差量的积分项相一致然后按照正常的规律进行调节不管其比例作用为正为负都要利用这种算法对其数据变化的动态进行有效的控制和运用。第3种就是我们在pid增量算法的饱和作用中进行对其保护作用的抑制。由于在prd增量算法过程中执行原件本身就是机器和物理积分储存单元所以如果给定值发生突然变化过程中那么部分的算法比例就会发生突然变化使比例部分和微分部分计算出来的控制量但大于正常值那么就会使机器上的执行元件所承受的限额远远达到它的负载量那么执行文件上的控制增量将会受到现实的控制抑制企业进行继续计算那么多余的计算部分就会丢失使系统的动态过程变长这样就会导致我们系统的工作效率大大减缓。因此我们需要制定一个完善的计划使这种现象避免发生和改善这种现象的发生。目前广泛应用纠正这种缺陷的方法就是使用累计补偿法累计补偿款的意思就是只要系统的运算过程中超出执行机构的执行能力过程中那么就需要将超过的那部分进行累积积累起来。暂缓进行执行能力的运算然后在系统不繁忙的工作过程中再进行补充执行运算。 PID位置算法 离散公式 u(k)Kpe(k) Ki Kd*[e(k)-e(k-1)] 利用位置式算法我们可以选择的功能算式方法有两种。 第1种是利用滤波同上为一阶惯性滤波。第2种是利用饱和作用抑制。 接下来我们来简单的说说这两种方法第1种方法就是遇限消弱积分法。对于这种方法来说只要控制变量进入保护区那么只需要机型的销售及分享运算进行停止或者增大及粉象的运算就可以使这种计分方法进行回归到正常尺度的运算。简单来说在计算程序运输过程中如果数据已经超出了程序判断限制范围那么就需要将偏差的符号进行程序的表明就可以使系统判断是否在超调区域有程序符号的出现那么就可以按照这种分析将相应的偏差记录入积分项。第2种方法就是积分分离法积分分离法主要应用在在基本的pid控制中具有较大的浮动劳动和大幅度的改变定值时这种方法就会有较大的偏差使系统具有惯性和待候性来减缓系统对积分项目的运算能力执行。当运算系统出现较大的超调量和长时间的波动特别是温度成分的变化缓慢过程发生后这一现象就会在积分分离法中发生的更加严重。但是只要我们采用积分分析法中的避免措施就可以将偏差量较大的过程中取消它的积分运算作用那么在偏差较小的时候再将积分运算作用投入进去就可以解决这种较大的扰动和大幅度的改变定值问题发生。另外通过积分分离的数值确定这可以使具体对象和具体要求明确化。比如说当数值的要求太大达不到积分分离的目的从我们就可以使被控量无法跳出积分分离区域。或者数值太小是也可以使被空调无法跳出积分分离区只需要进行pd控制就可以使较大幅度的角度和大幅度的改变定制情况有所减缓或不再发生。 离散化公式 当 时 当|e(t)|β时 q0 Kp(1Td/T) q1 -Kp(12Td/T) q2 Kp Td /T u(t) u(t-1) Δu(t) 主要有以下7种符号含义。 第1种符号含义是u(t);;;;; 主要是讲控制器的输出值。 第2种符号含义是e(t);;;;; 主要是讲控制器输入与设定值之间的误差。 第3种符号含义是Kp;;;;;;; 主要是讲函数比例系数。 第4种符号含义是Ti;;;;;;; 主要是讲函数积分时间常数。 第5种符号含义是Td;;;;;;; 主要是讲微分时间常数。有的地方用Kd表示 第6种符号含义是T;;;;;;;; 主要是讲函数如何调节周期。 第7种符号含义是β;;;;;;; 主要是讲函数积分分离阈值 为了防止这种问题的出现我们研究出来一种方法叫做有效偏差法。有效偏方法是根据p ID位置来算出控制量超出限额范围内控制量实际只取边值进行最大和最小边值计算。而且这种方法将对应的控制能量的偏差值作为有效偏差值记录积分累积而不是进入实际的偏差进入积分累积所以按照这种方法计算出来的控制量是没有执行过程中具体应用。可以有效的避免偏差量过大或者过小的情况发生。 当我们这个小车的控制系统中的给定值发生大幅度变化时那么部分的作用就会使输出值也进行大幅度变化这样就会不利于我们在日常生产中的操作会降低我们日常生产中的生产效率。因此我们在为粉象的计算过程中不需要考虑给定制只要对被空调进行严格的控制。所以我们需要采用微分先行的pid计算方法这种方法又叫做测量值微分pid算法。 这种积分运算方法的公式如下 离散化公式 参数说明同上 可以用来对于纯滞后对象的补偿 只要控制点采用了Smith预测器那么这种预测器就可以对控制对象与补偿环节一起控制使它们组成一个被控环节然后在程序计算中变成一个简单的惯性环节计算。 再对PID参数进行重新整顿的过程中我们可以发生主要对pid参数的影响有三种情况。 第1种情况就是比例系数Kp对系统性能产生了影响。由于系统比例系数加大就会导致这种系统的动作灵敏速度加快稳态误差减小。但是如果发生Kp偏大振荡次数加多调节时间加长。那么Kp太大时系统会趋于不稳定。可是由于Kp太小又会使系统的动作缓慢。所以我们将Kp可以选负数当我们将kp值选择负数时就可以主要有以下三个部分来决定第1个部分是执行机构第2个部分是传感器部分第3部分是控制对象部分由这三个部分的综合特性来进行一起决定。但是如果Kc的符号选择不当对象状态(pv值)就会离控制目标的状态(sv值)越来越远所以我们为了避免这种情况的发生只要一出现这种情况kp值就一定要取和他们相反的。第2种情况就是积分控制Ti对系统性能的影响积分作用使系统的稳定性下降Ti小积分作用强这会使整个积分系统极不稳定。所以我们就要在这个时候消除稳态误差就可以提高整个系统的控制精度可以使整个系统的工作效率大大增加。第3这种情况是微分控制Td对系统性能的影响当我们利用微分作用可以改善动态特性只要发生Td偏大时超调量较大调节时间较短。Td偏小时超调量也较大调节时间也较长。综合以上两种情况的发生所以我们只有在td. 情况不大不小时才可以使超常量变得较小调节整个控制系统的调节时间增加控制系统的运行效率。 小车设计采用两轮驱动方式由于stm32f103的DSP功能强大、可以进行高精度浮点运算故采用PID比例-积分-微分算法控制小车该算法涉及到三个参数即Kp、Ki、Kd其中Kp为比例控制参数、Ki为积分控制参数、Kd为微分控制参数。Kp对系统的快速性有关键性作用Ki对系统的稳定性有关键性作用Kd对系统的准确性性有关键性作用。 通过调节Kp、Ki、Kd综合提高系统的快速性、稳定性、准确性在小车控制中主要为了减少转弯角度的超调、欠调从而使小车在转弯时角度控制可以更快速、稳定、准确。 受主控芯片性能的影响在处理PID三个参数时采用以下方法 比例控制直接用当前差分值乘以比例系数即Kp * Error 积分控制所有角度偏差值之和乘以积分系数即Ki * SumError 微分控制前两次角度偏差值之差乘以微分系数即Kd * dError其中dError LastError - PrevErrorLastError为最近一次差分值PrevError为最近第二次差分值 输出量计算公式 Out Kp * Error Ki * SumError Kd * dError ①参数调整过程 比例系数Kp调整 Ki0Kd0 尝试值 现象 处理方法 6.0 小车剧烈震荡 该值减4 2.0 小车较大震荡 该值减1.5 0.5 小车转弯不灵 该值加0.5 1.0 小车略微震荡 采用当前值 表4-1 微分系数Kd调整 Kp1Ki0 尝试值 现象 处理方法 1.0 小车剧烈震荡 该值减0.9 0.1 小车预测很不灵 该值加0.2 0.3 小车预测较不灵 该值加0.1 0.4 小车预测灵敏 采用当前值 表4-2 积分系数Ki调整 Kp1Kd0.4 尝试值 现象 处理方法 0.05 小车不平稳 该值加1 1.05 小车过于平稳 该值减0.55 0.5 小车过于平稳 该值减0.4 0.1 小车平稳 采用当前值 表4-3 由上面参数调整过程确定了PID算法三个参数值分别为Kp1Ki 0.1Kd0.4使得小车前行稳定、准确、迅速。 3.PWM功率调制技术 1、PWM输出原理 如果发生定时器在工作过程中专门选择大数据进行计算PWM模式我们就需要将当前的计算值设定为CNTCCRx为捕获/比较寄存器CCRx的值(预装载值)。当 CNTCCRx 时GPIO口 输出低电平0相反我们可以得到当 CNTCCRx 时GPIO口 输出低电平0。当CNT达到 ARzR,要是达到这个数据的自动重装载那么我们就需要整个数据重新归你再重新往上进行计算重新往上计算过后依次不断循环。改变 CCRx 的值就可以改变 PWM 输出的占空比改变 ARR 的值就可以改变 PWM 输出的频率。 2、PWM定时器 STM32 的定时器主要有三种类型第1种类型是TIM6 。第2种类型是TIM7。之前所说的两种类型定时器都可以用来产生 PWM 输出。第3种类型是高级定时器 TIM1 和 TIM8 。第3种高级类型可以同时产生多达 7 路的 PWM 输出不仅仅如此而且还可以通过通用定时器能同时产生4路的 PWM 输出。但是通常生产过程中用TIM2定时器的CH1和CH2产生两路PWM输出就可以满足我们的日常所需。 当pwm定时器中的通用定时器 TIM2 产生两路 PWM 输出他们就需要配备两种重载寄存器。第1种重点计算器是自动重载寄存器TIM2_ARR。第2种重载寄存器是预分频器TIM2_PSC。在这控制寄存器TIM2_CR1、 捕获/比较模式寄存器TIM2_CCMR1、捕获/比较使能寄存器TIM2_CCER、捕获/比较寄存器TIM2_CCR1和TIM2_CCR2 如果使用的是高级定时器TIM1和TIM8还需配置刹车和死区寄存器TIMx_BDTR。 3、寄存器配置步骤 1开启 TIM2 时钟。 如果我们需要使用TIM2 TIM2 的时钟必须先行开启。所以在我们设置APB1外设时钟使能寄存器RCC_APB1ENR就要将他们两个数据一一进行对立添加相应对应的部分统计。 2通道CH1和CH2对应的GPIO 口时钟使能。 TIM2定时器CH1和CH2对应的GPIO口为 PA0和PA1通过设置RCC_APB2ENR时钟使能GPIO口。 3PA0 端口配置和PA1端口配置 这两种端口配置方法一般是采用复式推挽输出模式进行配置。 4TIM2_ARR配置和TIM2_PSC配置 通常来说ARR为定时器计数的上限是16位的寄存器在ARR为定时器的上限和下限范围为1~65535。PSC为定时器的分频系数通过这个值可以计算出PWM的频率。根据电机最适合的频率进行分配。 并将其进行预装载使能TIM2-CCMR1 相关位控制CCRX的预装载使能TIM2-CR1的APER位控制ARR自动重装载使能 5 设置 TIM2_CH1和TIM2_CH2的 PWM 模式及通道方向 要使电机越转越快可以配置 TIM1_CCMR1 的相关位来控制将其设置PWM 模式1。另外要配置 CH1和CH2 为输出所以要设置TIM1_CCMR1 的CC1S[1:0]和 CC2S[1:0]为 00寄存器默认就是 0所以这里可以省略。 6 使能 CH1 和 CH2 输出和使能 TIM1 。 在进行配比开启输出使能过程中,当我们开启 TIM2 的 CH1和CH2 的输出以及 TIM1 的时钟。那么ch1就会通过 TIM2_CCER 寄存器来设置由于这个输出使能是单个通道的开关那么ch2就会通过 TIM2_CR1 寄存器来设置是所以需要找到寄存器的设置关键就是整个 TIM2 的总开关。只有设置了这两个寄存器这样我们才可能在 TIM1 的 CH1和CH2 上看到 PWM 波输出。这样就可以增加机器的运行效率。 7 设置 MOE 输出使能 PWM 输出 普通定时器在完成以上设置了之后就可以输出 PWM 了但是高级定时器我们还需要使能刹车和死区寄存器TIM1_BDTR的 MOE 位以使能整个 OCx即 PWM输出。 参考文献 [1] 姚伟. 自主吸尘机器人的“基于行为”设计[D]. 辽宁工程技术大学 2008   [2] 张文辉齐乃明尹洪亮. 自适应神经变结构的机器人轨迹跟踪控制[J]. 控制与决策. 201104   [3] 鲍敦桥. 仿真类人机器人设计及高层决策方法的研究[D]. 合肥工业大学 2009   [4] 余婷. 多机器人队列曲线运动研究[D]. 上海交通大学 2009   [5] 韩雪峰. 导盲机器人[D]. 哈尔滨工程大学 2009   [6] 马斌奇. 多机器人协作与控制策略研究[D]. 西安电子科技大学 2009   [7] 张文辉齐乃明尹洪亮. 不确定机器人的神经网络轨迹控制[J]. 自动化与仪表. 201005   [8] 胡守仁主编沈清等编着.神经网络应用技术[M]. 国防科技大学出版社 1993   [9] 蒋莹. 多机器人协同探测的任务分配和避碰方法研究[D]. 中南大学 2008   [10] 杨柳. 未知环境下的多机器人协调合作的研究[D]. 华北电力大学北京 2009   [11] 鲍敦桥. 仿真类人机器人设计及高层决策方法的研究[D]. 合肥工业大学 2009   [12] 韩雪峰. 导盲机器人[D]. 哈尔滨工程大学 2009   [13] 余婷. 多机器人队列曲线运动研究[D]. 上海交通大学 2009   [14] 王洪瑞冯玉东刘秀玲冯展芳. 基于反演设计的机器人自适应动态滑模控制[J]. 计算机工程与应用. 201008   [15] 马斌奇. 多机器人协作与控制策略研究[D]. 西安电子科技大学 2009
http://www.pierceye.com/news/87501/

相关文章:

  • 门户网站开发一般多少钱欧美做的爱爱网站
  • 网站 mssql 数据库做淘宝客网站必须备案吗
  • 长兴建设局网站对接网站建设是什么意思
  • 孝感专业做网站公司如何做网站背景
  • 长沙高端网站建设网站不稳定
  • 波莱网站开发wordpress改头像
  • 峨边网站建设免费软件如何盈利
  • wordpress 食谱网站wordpress 父分类名称
  • 用图片设置网站首页亲子游网站建设内容
  • 装修设计灵感网站wordpress必须关注公众号
  • 学网站建设与维护深圳网站建设十强
  • 在网上做效果图赚钱的网站百度关键字搜索到自己的网站
  • 网站的风格主要包括wordpress使用指南
  • 吉林省交通建设质量监督站网站软件开发交易平台
  • 如何注册网站域名鄂州网签查询
  • 外贸营销单页网站商业街网站建设方案
  • 温岭市住房和城乡建设规划局网站公司建站详细步骤
  • 单页营销网站模板小米发布会在哪里看直播
  • 做跨境网站注意深圳制作网站培训学校
  • 用v9做网站优化广东佛山最新通知
  • 医联媒体网站建设全国软件开发培训班
  • dede免费网站模板四川住房和城乡建设厅进不去网站
  • 大型网站开发受欢迎的永州网站建设
  • 石家庄做网站费用wordpress插件安装不
  • 网站优化包括网站开发 安全验证
  • 河南郑州网站制作企业小程序怎么申请注册
  • 做网站金山设计logo图片
  • 北京哪个网站建设最好网站建设如何做报价
  • 建立企业网站要多少钱10大营销理论
  • 网站开发及设计贵州省交通建设集团网站