基于stc12c5a08s2单片机履带小车的功率控制毕业论文内容摘要:

管不是一个实质的元件,而是在电路中起到续流作用。 本设计中 履带车在时间跑动中会控制电机 频繁 的正反转,直流电机也相当于发电机电机两级间会产生感应电动势,当电流消失时感应电动势会对电路中其他元件产生反向电压,当方向电压高于元件的反击穿电压时会损坏 一些元器件,如三极管,晶闸管。 这里我分别在量电机极端接上续流二极管作为保护电路。 这些续流二极管构成回路消耗感应电动势产生的能量,从而保护整个电路中 其他元件 [9]。 10 循迹电路设计 传感器是智能车的“眼睛”,它能给我提供智能车的周围的信 息,在本次设计中采用两种传感器:循迹传感器和避障传感器。 循迹 传感器探测距离短,但探测效果较好,识别黑白色的能力较强,成本低。 而避障方面采用红外传感器,探测距离较远,能有效识别大多数颜色和黑色的差别提供稳定信号,成本稍高点。 循迹 传感器 LM324为四运放集成电路,采用 14脚双列直插塑料封装。 内部有四个运算放大器,有相位补偿电路。 电路功耗很小,工作电压范围宽,可用正电源 3~ 30V,或正负双电源177。 1. 5V~ 177。 15V 工作 ,其内部电路如图 [10]。 图 LM324内部电路 在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。 在电路中, LM324的一个输入端需接滑动变阻器,通过改变滑 动 变 阻器 的阻值来提供合适的比较电压 ,单个集成运放如图。 图 集成运放的管脚图 循迹电路图 如图 所示,当 TCRT5000 感光导通的时候 R1 和 R2 接地, 3 处的电 11 压接近 0,R3 位滑动电阻, 2 处的电压设为 3V, 3处小于 2处, LM342 的 OUT 端会输出低电平,供单片机检测。 反之 LM324 处输出高电平。 图 循迹电路图 本次设计采用 3路循迹模块,依次排在小车前方,左中右 3路接单片机 P1_4到 P1_6。 循迹对应如 表 2所示。 表 2 循迹端口状态对应表 P1_4 P1_5 P1_6 左 中 右 1 0 1 前进 0 1 1 左转 1 1 0 右转 避障 传感器 设计 该传感器检测距离为 080CM,于淘宝购买。 该传感器属于市场产品 ,这里只介绍用法。 实物图如 所示。 12 图 避障传感器 使用于本次设计的避障任务 ,避障模块采用了 2 个传感器分别放于小车前方的左侧和右侧,调节该传感器的检测距离为 15cm。 当遇到障碍时传感器会给出低电平。 左避障传感器接于单片机 P3_5 端口,右避障传感器接于单片机 P3_6 端口。 蜂鸣器驱动模块 设计 由于单片机输出电流较小不能驱动蜂鸣器,这里借助 S9013 PNP 型三极管放大电路驱动蜂鸣器,三极管 Q起开关作用,其基极的高电平使三极管饱和导通,集电极和发射极导通,蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。 在本设计中只要 输出不同的频率方波信号,蜂鸣器也能发出各种频率 声音,电路图如图 所示。 图 蜂鸣器驱动电路 在以上电路中我在蜂鸣器上并联一个续流二极管。 蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。 否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管 [11]。 13 履带车车体 本题目要求小车的机械系统稳定 、 灵活、简单,自己手工制作的履带车通常会出现两侧履带松紧度不一样,跑边,履带脱轮等现象。 综合这些因素在网上找到 PR5 小车底盘 符合设计需要 ,模型如图 所示。 图 履带车底盘模型 小车上 装有 电池、电机、电子器件等,使得电机负担较重。 该底盘 运动平稳, 从图 在直流电机和轮车轴之间加装了减速齿轮 ,这样不仅使电机的符合减轻,也符合我的设计需要。 电池的安装:将电池放置在车体前排车轮的上部 位置, 使车体的 重心 靠近前排车轮,进行大转弯时小车能以前排轮为圆心转弯,排除履带车转弯时侧滑不确定性。 14 第四章 行驶方案 设计 在进行微机控制系统设计时,除了系统硬件设计外,大量 的工作就是如何根据每个生产对象的实际需要设计应用程序。 因此,行驶 设计在微机控制系统设计中占重要地位。 对于 本系统, 行驶方案和 软件 控制 更为重要。 在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。 数据处理包括:数据的采集、数字滤波、标度变换等。 过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。 本系统中我采用了 5 个传感器, 3 路循迹传感器, 2 路避障传感器。 总体控制方案如图 所示。 图 总体系统 左避障 右避障 左循迹 中循迹 右循迹 单片机 报警 显示 电机驱动 左侧前进 左侧后退 右侧前进 右侧后退 15 循迹方案 设计 小车进入循迹模式后,即开始不停地扫描与探测器连接 的单片机 I/O 口,一旦检测到某个 I/O 口有信号,即进入判断处理程序 , 先确定 3个探测器中的哪一个探测到了黑线,如果左面 传感器探测到黑线,即小车左半部分压 到黑线,车身向右偏出,此时应使小车向左转; 如果左面和中间传感器同时探测到黑线,此种情况为向左急转弯 ; 如果是右面传感 器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。 如果右面和中间传感器同时探测到黑线,此种情况为向右急转弯。 在经过了方向调整后, 如果中间传感器探测黑线,左右没有探测到黑线 小车再继续向前行走,并继续探测黑线重复上述动作 ,履带 车控制如表 3所示 [12]。 表 3 小车驱动控制对应表 单片机通过电机驱动电路控制小车的运行方法 状态 1 0 0 1 前进 1 0 1 1 0 0 1 前进 1 1 1 1 0 0 1 前进 0 0 0 0 1 1 0 后退 X X X 1 0 0 0 左转 0 1 1 0 0 0 1 右转 1 1 0 1 0 1 0 快速左 转 0 0 1 0 1 0 1 快速右 转 1 1 0 16 循迹流程图 由于第二 级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。 第二级通常是在超出第一级的控制范围的情况下发生 作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来 ,流程如图 所示。 图 循迹流程图 检测黑线 进入循迹 是否检测到黑线 状态判断处理 左急转 左转 右转 右急转 继续前进 N Y 17 循迹程序 设计 循迹方面我使用了 3 个传感器,通过寻黑线实现对履带车的智能控制,本次设计目的实现对履带车的控制,在这里使用 3路传感器不仅能达到循迹目的也能显示出对履带车的控制 效果。 void ww()//循迹 { if(P14==0amp。 amp。 P15==1amp。 amp。 P16==1)//右转 {P10=1。 P11=0。 P12=0。 P13=0。 P17=0。 } else if(P14==0amp。 amp。 P15==0amp。 amp。 P16==1)//右急转 {P10=1。 P11=0。 P12=1。 P13=0。 P17=0。 } else if(P14==1amp。 amp。 P15==1amp。 amp。 P16==0)左转 {P10=0。 P11=0。 P12=0。 P13=1。 P17=0。 } else if (P14==1amp。 amp。 P15==0amp。 amp。 P16==0)//左急转 {P10=0。 P11=1。 P12=0。 P13=1。 P17=0。 } else if(P14==1amp。 amp。 P15==0amp。 amp。 P16==1) //中寻黑前进 {P10=1。 P11=0。 P12=0。 P13=1。 P17=0。 } else if (P14==1amp。 amp。 P15==1amp。 amp。 P16==1)//不寻黑前进 {P10=1。 P11=0。 P12=0。 P13=1。 P17=0。 } else P10=1。 P11=0。 P12=0。 P13=1。 } } 以上程序我采用了简单明了的 if语句将我设计的路线循迹情况和对驱动电路的控制对应起来,类似查询表格方式。 这样设计程序使用 else if 语句我可以很容易添加运行状态,使程序调试相对容易,减小工作量。 18 避障方案 如图 所示,经过试验测试,本设计使用的红外传感器的探测夹角较小,当小车与障碍物平行行驶,或者与障碍物的夹角过小时,小车将识别不到障碍,导致小车一侧于障碍物解除碰撞。 图 传感器角度示意图 解决这个问题可以再 小车左右 2 个方向增加 2 个传感器探测,但这样对传感器的 资源浪费较大,加大了电源的负荷,程序相对复杂。 而我采用的方案是在 小车前方水平避障传感器的安装 使其 约有 10 度的夹角,左右都是向外扩张 10 度, 此红外传感器的探测距离调试约为 15cm,那么斜侧 10 度夹角后前方探测距离变为 15cm可以认为保持不变,而 2 侧多出了 3cm的横向安全距离,当横向距离小于 3cm时候小车也会执行避障程序 [13]。 软件设计上,避障动作是先检测到障碍执行避障程序,小车先后退一小段距离,在这期间蜂鸣器报警,然后如果是右传感器探测 到障碍,小车将向左转向,反之向右转向,之后再检测障碍,如果有障碍继续循环动作,没有障碍 时小车将检测循迹“黑线”检查道路,如 果无道路小车会向前直行。 单片机通过传感器控制驱动电路运行方法如表 4 所示。 表 4 避障状态对应表 左传感器 右传感器 执行 =1 =0 第一步 0 1 1 0 第二步 1 0 1 0 =0 =1 第一步 0 1 1 0 第二步 0 1 0 1 19 避障 流程图 在整体程序中,小车避障的优先级最高 ,无论履带车当前是什么行驶状态,检测到障碍时,就跳入避障环节,避障完成后才执行其他循迹,前进动作。 在其他智能设计中,我们都要考虑各个环节先后循序,使其符合应用场合 ,流程如图 所示。 图 避障流程 检测障碍 判断是否有障碍 左避障信号 右避障信号 执行右转避障程序 执行左转避障程序 前进 开始 Y Y N 20 避障程序设计 整个电路中我采用 12MHZ 的外部晶振电路, 在流程图中能简明的看出各个状态执行步骤,如果按照这个步骤以 12MHZ 的频率执行,程序检测不会出现错误,但实际我 们人眼将看不任何动作,速度太快。 所以各个步骤我们需要设定他们的执行时间,比如避障时履带车会倒退,那么我们需要设定它倒退的时间。 在这里我们可以使用定时器也可以。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。