基于arm的智能寻迹小车内容摘要:

的低速时钟为驱动;因此,即使主时钟发生故障它也仍然有效。 窗口看门狗由从 APB1 时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的 行 为。 在键寄存器 (IWDG_KR)中写入 0xCCCC,开始启用独 立 看门狗 ;此时计数器开始从其复位值 0xFFF 递减计数。 当计数器计数到末尾 0x000 时,会产生一个复位信号 (IWDG_RESET)。 无论何时,只要键寄存器 IWDG_KR 中被写入 0xAAAA, IWDG_RLR 中的值就会被重新加载到计数器中从而避免产生看门狗复位。 窗口看门狗( WWDG) 窗口看门狗通常被用来监测由外部干扰或 不 可预见的逻辑条件造成的应用程序背离正常的运 行 序 列 而产生的软件故障。 除非递减计数器的值在 T6 位变成0 前被刷新,此看门狗电 路 在达到可编程的时间周期时,会产生一个 MCU 复位。 在递减计数器 达到窗口寄存器值之前,如果递减计数器值的第 7 位 (在控制寄存器中 )被刷新, 那么也将产生一个 MCU 复位。 这表明递减计数器需要在一个有限的窗口中被刷新。 主要特性: ● 可编程的自动运 行 递减计数器 ● 条件复位 − 当递减计数器的值小于 0x40, (若看门狗被启动 )则产生复位。 − 当递减计数器在窗口外被重新装载, (若看门狗被启动 )则产生复位。 ● 如果启动 了 看门狗,且允许中断,当递减计数器等于 0x40 时产生早期唤醒中断 (EWI),它可以被用于重装载计数器以避免 WWDG 复位。 功能: 如果看门狗被启动 (WWDG_CR 寄存器中的 WDGA 位被置 1),并且当 7 位(T[6:0])递减计数器从 0x40 翻转到 0x3F(T6 位清零 )时,则产生一个复位。 如果软件在计数器值大于窗口寄存器中的值时重新装载计数器,将产生一个复位。 正常情况下, WWDG 从设置的计数值递减到窗口寄存器的值(这个要被储存在WWDG_CR 寄存器中的值必须在 0xFF 和 0xC0 之间)时,会产生一个中断,应在中断程序中对 WWDG_CR 寄存器进行写操作,以防止 MCU 发生复位 [2]。 天津职业技术师范大学 2020届本科生毕业设计 7 图 22智能小车整体设计结构 智能车 AGV(Automated Guided Vehicles)又名自动导航车,无人搬运车,激光导航车。 最早出现与 20 世纪 70 年代。 指装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车,其显著特点的是无人驾驶, AGV 上装备有自动导向系统,可以保障系统在不需要人工引航的情况下就能够沿预定的路线自动行驶,将货物或物料自动从起始点运送到目的地。 一般可透过电脑来控制其行进路线以及行为,或利用电磁轨道 (electromagic pathfollowing system)来设立其行进路线,电磁轨道粘贴于地板上,无人搬运车则依循电磁轨道所带来的信号进行移动与动作。 目前,在企业的物流系统和离散制造的装配系统中已经起着非常重要的作用。 它以电池为动力,装备有电磁或光学等自动导航装置,能够独立自动寻址,并通过计算机系统控制完成无人驾驶及作业 [3]。 天津职业技术师范大学 2020届本科生毕业设计 8 图 23 AGV 基本组成架构 AGV 的主要系统构成 AGV 系统的控制是通过物流上位调度系统、 AGV 地面控制系统及 AGV 车载控制系统三者之间的相互协作完成的, AGV 系统的硬件结构和 AGV 系统的软件结构曾有国外专家对 AGV 控制系统需 解决的主要问题做了恰当的比喻: Where am I? (我在哪里。 ) Where am I going?(我要去哪里。 ) How can I get there?(我怎么去。 ),这三个问题归纳起来分别就是 AGV 控制系统中的三个主要技术:AGV 的导航( Navigation), AGV 的路径规划( Layout designing), AGV 的导引控制( Guidance)。 为了能够解决好这些问题, AGV 系统的构成也必然复杂: AGV 控制系统分为地面(上位)控制系统、车载(单机)控制系统及导航 /导引系统,其中,地面控制系 统指 AGV 系统的固定设备,主要负责任务分配,车辆调度,路径(线)管理,交通管理,自动充电等功能;车载控制系统在收到上位系统的指令后,负责 AGV 的导航计算,导引实现,车辆行走,装卸操作等功能;导航 /导引系统为 AGV 单机提供系统绝对或相对位置及航向。 AGV 系统是一套复杂的控制系统,加之不同项目对系统的要求不同,更增加了系统的复杂性,因此,系统在软件配置上设计了一套支持 AGV 项目从路径规划、流程设计、系统仿真( Simulation)到项目实施全过程的解决方案。 上位系统提供了可灵活定义 AGV 系统流程的工具,可根 据用户的实际需求来规划或修改路径或系统流程;而下位系统也提供了可供用户定义不同 AGV 功能的编程语言。 天津职业技术师范大学 2020届本科生毕业设计 9 AGVAGV 地面(上位)控制系统 AGV 地面控制系统( Stationary System)即 AGV 上位控制系统,是 AGV 系统的核心。 其主要功能是对 AGV 系统( AGVS)中的多台 AGV 单机进行任务分配,车辆管理,交通管理,通讯管理等 [4]。 任务管理:任务管理类似计算机操作系统的进程管理,它提供对 AGV 地面控制程序的解释执行环境;提供根据任务优先级和启动时间的调度运行;提供对任务的各种操作如启动、停止、取 消等。 车辆管理:车辆管理是 AGV 管理的核心模块,它根据物料搬运任务的请求,分配调度 AGV 执行任务,根据 AGV 行走时间最短原则,计算 AGV 的最短行走路径,并控制指挥 AGV 的行走过程,及时下达装卸货和充电命令。 交通管理:根据 AGV 的物理尺寸大小、运行状态和路径状况,提供 AGV 互相自动避让的措施,同时避免车辆互相等待的死锁方法和出现死锁的解除方法; AGV的交通管理主要有行走段分配和死锁报告功能。 通讯管理:通信管理提供 AGV 地面控制系统与 AGV 单机、地面监控系统、地面 IO 设备、车辆仿真系统及上位计算机的 通信功能。 和 AGV 间的通信使用无线电通信方式,需要建立一个无线网络, AGV 只和地面系统进行双向通信, AGV 间不进行通信,地面控制系统采用轮询方式和多台 AGV 通信;与地面监控系统、车辆仿真系统、上位计算机的通信使用 TCP/IP 通信。 车辆驱动:小车驱动负责 AGV 状态的采集,并向交通管理发出行走段的允许请求,同时把确认段下发 AGV[5]。 AGVAGV 车载(单机)控制系统 AGV 车载控制系统( Onboard System),即 AGV 单机控制系统,在收到上位系统的指令后,负责 AGV 单机的导航,导引,路径选 择,车辆驱动,装卸操作等功能。 导航( Navigation): AGV 单机通过自身装备的导航器件测量并计算出所在全局坐标中的位置和航向。 导引( Guidance): AGV 单机根据目前的位置、航向及预先设定的理论轨迹来计算下个周期的速度值和转向角度值即, AGV 运动的命令值。 路径选择( Searching): AGV 单机根据上位系统的指令,通过计算,预先选择即将运行的路径,并将结果报送上位控制系统,能否运行由上位系统根据其它AGV 所在的位置统一调配。 AGV 单机行走的路径是根据实际工作条件设计的,它天津职业技术师范大学 2020届本科生毕业设计 10 有若干 “ 段 ” ( Segment)组成。 每一 “ 段 ” 都指明了该段的起始点、终止点,以及 AGV 在该段的行驶速度和转向等信息。 车辆驱动( Driving): AGV 单机根据导引( Guidance)的计算结果和路径选择信息,通过伺服器件控制车辆运行。 AGV 小结: 首先,给大家两个英文单词 Navigation(导航), Guidance(导引),这两个单词的意思是不一样的。 导航是指确定自身的位置及航向;而导引是根据目前的位置、航向及理论轨迹来计算下个周期的速度值和转向角度值。 有了这个概念后,我们分析一下磁带导引、电磁导引或其它形式的 “ 有线 ” 导引。 他们都只能称为导引,而不叫导航。 因为,这些导引方式只需 AGV 的相对位置,而与全局坐标无关。 这也是为什么这类导引的 AGV 相对简单的原因:不需要复杂的导航计算( Deadreckoning),甚至不需要导引计算,只需根据传感器的差分信号进行简单的转向控制。 建议朋友们,不再说磁导航,而是叫磁带导引( Magic Tape Guidance)和电磁导引也称线导( Wire Guidance) [6]。 AGV 的导航 /导引技术多种多样,不同的场合可采用不同的导引技术。 单一的导引技术无法覆盖所有的应用:例如在有叉 车行驶的场合我们就不宜选用磁带导引,可选用将导引线埋入地下的电磁导引;在由于工艺需要,路径需要经常变化的场合,可考虑激光导引 [7];在路径复杂的场合应尽量考虑 “ 无线 ” 方式(激光,陀螺),因为 “ 有线 ” 模式,只能是真正地理意义上的 “ 路 ” ,而 “ 无线 ”模式的路径是虚拟的,可以重叠,交叉,可以乱得像一团麻,而即使这样, AGV的运行在系统的调度下也是有序的,路径的选择也是最优的,所谓 “ 条条大路通罗马 ”。 AGV 就能像汽车一样,在受到前方车辆阻挡时还能够找到其它的路径,从而提升 AGV 系统的作业效率 [8]。 天津职业技术师范大学 2020届本科生毕业设计 11 3 系统硬件设计 智能小车采用前轮驱动,前轮左右两边各用一个直流电机驱动,调制后面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。 将循迹光电对管分别装在车体下的左右。 当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。 避障的原理和循线一样,在车身右边装一个光电对管,当其检测到障碍物时,主控芯片给出信号报警并控制车子倒退 ,转向,从而避开障碍物。 本模块主要是对采集信号进行分析,同时给出 PWM 波控制点击速度,起停。 以及再检测到障碍主动蔽障等作用。 图 31 系统原理框图 直流电机模块 本设计是利用 ARM 来作为 MCU来控制直流电机,直流电动机带动齿轮组,来决定小车左右轮的转与否和转的快慢。 通过设置 PWM 波的占空比来控制直流电机的转速,占空比越大,转速越快,越小转速越低 [9]。 模块运用框图如图 32 所示。 天津职业技术师范大学 2020届本科生毕业设计 12 图 32 系统模块原理框图 电源模块 本设计用的光敏器件是个红外对管。 红外对管是红外线发射管与光敏接收管,或者红外线接收管, 或者红外线接收头。 红外对管与半导体二极管在结构上是类似的 ,其管芯是一个具有光敏特征的 PN 结,具有单向导电性,因此工作时需加上反向电压。 如图 33 所示。 工作原理: 当有红外线光照时,携带能量的红外线光子进入 PN 结后,把能量传给共价键上的束缚电子,使部分电子挣脱共价键,从而产生电子 空穴对(简称:光生载流子)。 它们在反向电压作用下参加漂移运动,使反向电流明显变大,光的强度越大,反向电流也越大。 这种特性称为 “光电导 ”。 图 33 AD 电压测量模块 MCU (ARM) 直流电机 检测信号 天津职业技术师范大学 2020届本科生毕业设计 13 寻迹蔽障红外对管模块 处 红外对管的概述 图 34 红外线接收头 红外对管 特征 [10]: 红外线接收管是将红外线光信号变成电信号的半导体器件,它的核心部件是一个特殊材料的 PN 结,和普通二极管相比,在结构上采取了大的改变,红外线接收管为了更多更大面积的接受入射光线, PN 结面积尽量做的比较大,电极面积尽量减小,而且 PN 结的结深很浅,一般小于 1 微米。 红外线接收二极管是在反向电压作用之下工作的。 没有光 照时,反向电流很小(一般小于 微安),称为暗电流。 红外对管 分类: 红外线接收管有两种,一种是光电二极管,另一种是光电三极管。 光电二极管就是将光信号转化为电信号,光电三极管在将光信号转化为电信号的同时,也把电流放大了。 因此,光电三极管也分为两种,分别别是 NPN 型和 PNP 型。 红外对管 作用 [11]: 红外接收管的作用是进行光电转换,在光控、红外线遥控、光探测、光纤通信、光电耦合等方面有广泛的应用。 红外对管的应用 AD 采样实现避障功能 [12] 图 35 蔽障功能电路 图 天津职业技术师范大学 2020届本科生毕业设计 14 针对一些红外接收管容易收到可见光的影响,从而改变其阻值,容易造成系统的误判,可以考虑采用上面的电路。 100100K欧姆,是红外接收管在不同光线。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。