毕业设计正文_第1页
毕业设计正文_第2页
毕业设计正文_第3页
毕业设计正文_第4页
毕业设计正文_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

I 目目 录录 引 言 1 第一章小车总体系统方案的设计 3 1 1 械部分方案的拟定与比较 3 1 1 1 实现方法 3 1 1 2 行走机构 3 1 2 控制单元方案的拟定与比较 4 1 3 传感检测部分方案的拟定与比较 5 1 3 1 遥控模块 5 1 3 2 路径检测模块 6 1 3 3 避障模块 6 1 4 电机方案的拟定与比较 7 1 4 1 电机驱动 7 1 4 2 电机驱动芯片 7 1 5 电源模块方案的拟定与比较 7 1 6 系统方案的总体确定 8 第二章硬件电路的设计 9 2 1 电源模块电路设计 9 2 2 控制单元电路设计 9 2 2 1 时钟电路 10 2 2 2 复位电路 11 2 2 3 并口下载线电路 12 2 3 电机驱动电路 13 2 4 红外遥控电路 16 2 4 1 发射部分 16 2 4 2 接收部分 17 II 2 5 路经检测电路 18 2 6 避障电路 19 第三章系统软件设计 20 3 1 模糊控制算法 20 3 1 1 模糊理论的发展 20 3 1 2 模糊控制算法原理 20 3 2 智能小车的模糊控制算法 21 3 2 1 模糊化 21 3 2 2 模糊规则库的建立 22 3 3 编程软件 Keil C51 简介 23 3 4 软件设计 24 3 4 1 软件设计思路 24 3 4 2 各模块流程图和程序设计 25 第四章软硬件系统调试 34 4 1 路径检测调试场景 34 4 2 调试结果 34 4 3 结果分析 35 参考文献 36 辞 谢 37 附 录 38 1 引引 言言 随着控制技术 计算机技术 信息处理技术和传感器检测技术以及汽车工 业的飞速发展 智能小车在工业生产和日常生活中已经扮演了非常重要的角色 近年来 智能车在野外 道路 现代物流及柔性制造系统中都有广泛应用 已 成为人工智能领域研究和发展的热点之一 智能小车作为移动式机器人的一个重要分支 具有环境感知 规划决策 自动行驶等功能 它是计算机控制与电子技术的融合 集传感探测 光源 障 碍物 单片机自动控制 电机调速等一体 可以说是计算机 传感器 信息 通讯 导航 人工智能及自动控制等技术于一体高新技术综合体 1 现在 机械 电气和电子信息已经不再明显分家 自动控制在工业领域中 的地位已经越来越重要 特别是作为机械行业的代表产品 汽车 其与电子 信息产业的融合速度也显著提高 呈现出两个明显的特点 一是电子装置占汽 车整车 特别是轿车 的价值量比例逐步提高 汽车将由以机械产品为主向高 级的机电一体化方向发展 二是汽车开始向电子化 多媒体化和智能化方向发 展 使其不仅作为一种代步工具 同时能具有交通 娱乐 办公和通讯等多种 功能 2 另外 大学生各种大型的创新比赛中 智能车已是一个不可缺少的部分 比如 亚洲广播电视联盟亚太地区机器人大赛 ABU ROBCON 全国大学生 飞思卡尔 3 杯智能汽车竞赛等众多重要竞赛都有智能车的登场 设计与制 作智能车能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关 知识 为了适应机电一体化的发展和自己所学知识的有机结合 提出寻迹避障遥 控于一体智能小车的构想 目的在于通过设计并制作一辆具有寻迹避障遥控智 能化小车 获得项目整体设计的能力 并掌握多通道多样化传感器综合控制的 方法 此次设计的智能小车车体部分由 PVC 线槽为材料制作而成 采用 4 轮支撑 2 结构 来增强整车的承载能力 其中小车小车的转向机构是本设计的一大创新 点 既有三轮车转向灵活的特点 又有四轮车承载能力强的特点 控制部分由硬件和软件两大部分组成 其中硬件有 AT89S52 单片机最小 系统 TCRT5000 红外光电传感器模块 4 红外遥控器收发模块 电机驱动模块 以及其他指示外围电路组成 软件中应用模糊控制算法控制小车的运行速度 使小车能够在不同条件下 不同的环境中能够灵活稳定的运行 使其具有一定 的自适应能力 编程语言选用 C 语言进行模块化函数编程 主要有外部中断 0 红外解码程序 PWM 波定时中断 T1 函数 路径检测函数 遥控函数 避障函 数以及小车运行控制函数等组成 最终通过硬件和软件的有效结合 以红外遥控为载体进行人机交互 当按 下路经检测功能键时 小车根据引导线作出相应的判断并按照规定的路线自主 行驶使其具有自主寻线能力 当按下避障功能键时 小车由避障模块返回的信 息确定周围物体的方位 简易避开前方障碍物体的能力 当按下红外遥控功能 键时 小车进入手动驾驶状态 可以前进 后退 左转 右转 左后转和右后 转等功能 并且在前进时可高速 中速 低速三档运行 3 第一章第一章 小车总体系统方案的设计小车总体系统方案的设计 本设计中的智能车主要由机械部分 控制单元 传感检测部分 电机模块 以及电源部分等五部分组成 本章对这五部分进行方案的初步拟定 比较和论 证 加之现有情况最终确定一种灵活地 可靠地 实时地控制方案 来满足系 统的各项要求 使其具有一定的自主性和智能化 1 1 械部分方案的拟定与比较械部分方案的拟定与比较 从车体的实现方法和行走转向机构两方面进行分析 1 1 1 实现方法实现方法 方案一 购买现成的小车车体 如玩具小车 淘宝网上出售的智能车车模 等 这些车体外观好看 机械强度好 运行稳定 能满足多种设计要求 但其 价格昂贵 整体已成型 不利于改装和个人设计的发挥 具有一定的局限性 方案二 自己手工制作车体 这种方法有利于个人设计的发挥 便于创新 设计 且价格低廉成本较低 适合在校大学生的创新设计 不过其外光丑陋 材料的选取比较繁琐 1 1 2 行走机构行走机构 方案一 采用三轮式支撑结构 典型的配置方法是后两轮独立驱动 再加 一个万向轮作为支撑 并靠两轮的转速差来改变移动方向 这种小车结构简单 紧凑 转向灵活 控制简单 能满足一般的设计要求 但由于其结构的原因其 承载能力和运动速度受到一定的限制 方案二 采用四轮式支撑结构 其典型的配置方案有两种形式 一种是左 边两个轮共同驱动 右边两个轮共同驱动 转向和三轮车类似也靠左右两边轮 的速度差来改变移动方向 另一种是和汽车行走转向机构相同的四连杆机构 后两轮用差动齿轮装置驱动 前两轮用舵机的转角大小控制四连杆实现转向 4 这两种行走一般用于承载能力强 运动速度快等的场合 特便是后一种 其控 制精度高 转向误差小 运行稳定 在各大智能车竞赛中得到了广泛的应用 但其机械结构复杂 控制繁琐 成本也较高 在控制精度要求不高的场合不宜 使用 方案三 该方案小车的行走结构简图如图 1 1 所示 采用前两轮作驱动轮 后轮作随动轮 5 其最大的特点是控制前两轮的速度可以独立的进行左 右转 向 这样可以减小转弯半径 提高回转精度 故其既有三轮车转向灵活的特点 又有四轮车承载能力强 运行稳定的特点 适合转弯频繁转弯半径较小的场合 但其有个的缺点是转向时对驱动轮的速动控制要求较高 转向完成后对两轮进 行适当的修正 图 1 1 方案三小车行走机构简图 根据以上方案的拟定和比较 确定小车的机械部分实现的方法采用方案二 手工制作 行走机构选用方案三 这是本设计的一大创新 在同类制作中属于 首例 5 1 2 控制单元方案的拟定与比较控制单元方案的拟定与比较 方案一 采用各类数字电路来组成小车的控制系统 对外围路经检测信号 红外遥控信号 避障信号进行处理 本方案电路复杂 灵活性不高 效率低 不利于小车智能化的扩展 对各路信号处理比较困难 方案二 采用 AT89S52 单片机来作整车的控制单元 AT89S52 单片机是一 款低功耗 高性能的 8 为单片机 32 个 I O 口 3 个可编程 16 位定时器 计数 器和 8 个中断源 采用软件方法解决复杂的硬件电路部分 使系统硬件简洁 灵活 各类功能易于实现 能很好的满足设计的要求 方案三 采用 PIC 系列单片机 具有体积小 驱动能力强 集成度高 易 扩展 可靠性好 低功耗 系统功能强大 片上集成度密集 处理速度快 稳 定性强等特点 适合作为大规模实时系统的控制核心 比较以上三种方案 方案二简洁 灵活 可扩展性好 能达到设计的要求 且有一定的智能化 故采用方案二来实现 1 3 传感检测部分方案的拟定与比较传感检测部分方案的拟定与比较 传感检测部分由遥控模块 路径检测模块和避障模块组成 1 3 1 遥控模块遥控模块 方案一 采用红外遥控 红外遥控是利用波长为 0 76 1 5之间的近红m 外线来传达控制信号的 一般由发射和接受两部分组成 6 其特点是方向性好 不受电磁干扰 不影响周边环境 不干扰其他电气设备 解码容易 可进行多 路遥控 在家用电器的遥控设备当中得到了广泛的应用 但其不能阻挡 遥控 距离不能超出 7m 在远距离控制中有一定的局限性 方案二 采用无线电遥控 无线电遥控是用无线电波来传送控制信号的 常用的编码方式有两种 固定吗和滚动码两种 它的特点是无方向性 可以不 面对面控制 遥控距离远 可达数十米 甚至数公里 但易受电磁干扰 在工 业控制领域中达到了广泛的应用 本设计遥控距离有限 选用红外遥控可达到设计要求 并且红外遥控编码 6 程序已在遥控器中固化 不需要进行编程 给设计带来了方便 1 3 2 路径检测模块路径检测模块 方案一 采用光敏电阻组成光敏探测器 光敏电阻的阻值可以跟随周围环 境光线的变化而变化 当光线照射到白线上面时 光线反射强烈 光线照射到 黑线上时 光线反射较弱 因此光敏电阻在白线和黑线上方时 阻值会发生明 显变化 将阻值的变化值经过比较器可获得高低电平 但这种方案受光照影响 较大 不能够稳定的工作 方案二 采用红外对管 TCRT5000 光电寻线传感器 TCRT5000 由红外发 射管和接收管两部分组成 红外发射管发出红外线 当发出的红外线照射到白 色地面时 地面将红外线反射到接收管 接受三极管导通 输出低电平 当发 出的红外线照射到黑色地面时 黑色地面将光线吸收 接受管没有接收到反射 后的红外线而使三极管截止 输出高电平 这样外接一个比较器就可以与单片 机连接 减少电路的连接 给设计带来了方便 但周围环境对其有一定的影响 方案三 采用 RPR220 型光电对管 RPR220 是一种一体化反射型光电探测 器 其发射器是一个砷化镓红外发射管 而接收器是一个高灵敏度 硅平面光 电三极管 其具有灵敏度高 体积小 工作性能稳定的特点 但其价格高 购 买不不方便 综合以上三种方案 选择方案二作为路径检测模块 1 3 3 避障模块避障模块 方案一 使用超声波探测器 超声波探测器探测距离远 测距方便 但由 于声波衍射现象较严重 且波包扩散大 易造成障碍物的错误判断 同时 超 声波探测具有几厘米甚至几十厘米的盲区 方案二 使用红外避障传感器 红外传感器是一种集发射与接收鱼一体的 光电传感器 具有探测距离远 受可见光干扰小 价格便宜 易于安装 使用 方便等特点 广泛应用于机器人避障 流水线计件等众多场合 方案三 使用光电对管 光电对管价格低廉 性能稳定 反应灵敏 但其 7 探测距离近 一般不超过 5cm 要求小车制动性能好 对颜色比较敏感 反光 物体的探测效果好于吸光物体的探测效果 虽然红外避障传感器有诸多优点 但由于手头只有光电对管 加之小车的 运行速度慢 光电对管也能实现简单避障功能 选择方案三 1 4 电机方案的拟定与比较电机方案的拟定与比较 1 4 1 电机驱动电机驱动 方案一 选用步进电机 步进电机是将电脉冲信号转变为角位移的线位移 的开环控制元件 电机的停止位置 转速和转向取决于脉冲信号的个数 脉冲 信号的频率和通电的相序 其最大的特点是抗干扰能力强 无累积误差 控制 性能好等特点 常被用作一般精度的开环控制系统中 但其运行速度慢 成本 高 必须用驱动装置来驱动 不适应于小车等有一定速度要求系统 方案二 选用直流减速电机 直流减速电机转动力矩大 体积小 重量轻 装配简单 使用方便 由于其内部由高速电机提供原始动力源 带动变速齿轮 组 可以产生较大的力矩 加之其具有调速方便 平滑 调速范围广 承载和 过载能力强 能实现频繁快速 制动以及逆向旋转等特点 在高速的系统中得 到了广泛的应用 其弱点是换向机构的磨损快 受负载影响大 1 4 2 电机驱动芯片电机驱动芯片 方案一 采用专用的芯片 L298N 作为电机的驱动芯片 L298N 是一个具有 高电压大电流的双 H 全桥驱动芯片 它相应频率高 一片 L298N 可以控制两个 直流电机 而且还带有控制使能端 用该芯片作为电机驱动 操作方便 稳定 性好 性能优良 方案二 对于直流电机用分立三极管元件构成 H 桥驱动电路 由分立元件 构成 H 桥电机驱动电路 结构简单 价格低廉 在实际中应用广泛 但是这种 电路工作性能不够稳定 焊接搭线繁琐 通过以上方案的比较 采用直流减速电机驱动 选用 L298N 为减速电机的 驱动器 8 1 5 电源模块方案的拟定与比较电源模块方案的拟定与比较 方案一 选用台式电脑电源供电 台式电脑电源经过稳压处理后 电流的 驱动能力及电压的稳定性最好 且负载对电源的影响最小 但由于需要电线对 小车供电 影响了小车运行动的灵活性及运动范围 并且在运行过程中要人为 的为其拖拉电缆 方案二 采用蓄电池供电 蓄电池具有较强的电流驱动能力和较好的电压 稳定性 经 7812 芯片稳压后给电机供电 再经降压接 7805 芯片给单片机及其 他模块供电 但蓄电池体积相对庞大 重量过大 造成电机负载过大 方案三 选用干电池组供电 用四节 5 号干电池给整个系统供电 经二极 管降压到 5V 给单片机和传感检测部分供电 而电机驱动部分直接供 6V 电压 干电池供电具有体积小 质量轻 以获取等特点 通过各方案的比较 再加上车体由 PVC 制作而成 承载能力较弱 确定在 调试时选用台式电脑供电 在以后的运行中选用干电池供电的方案 1 6 系统方案的总体确定系统方案的总体确定 图 1 2 系统框图 经过反复比较与论证 最终确定小车总体设计方案为 车体机械部分手工 9 制作完成 行走导向机构选用自己设计的方案三 前轮驱动 转向靠两电机速 度差来实现 AT89S52 为主控单元 外遥控器进行人机交互 TCRT5000 作寻 线和避障探头 L298N 驱动两直流减速电机来完成设计要求 整个系统框图如 图 1 2 10 第二章第二章 硬件电路的设计硬件电路的设计 本设计硬件电路主要由五六大模块组成 电源模块 控制单元 电机驱动 电路 红外遥控模块 路径检测模块和简易避障模块 2 1 电源模块电路设计电源模块电路设计 单片机和传感器的工作电压为 3 5 5 5V 电机驱动模块的工作电压为 3 46V 由于单片机和传感器用电量小 二者采用集中供电的方式 而电机驱 动模块需要的电流大 采用独立供电的方式 为保证整个系统的稳定性和可靠 性 电源模块的设计比较关键 在调试过程中采用台式电脑电源 该电源经过 稳压处理后输出电压为 5V 可以直接使用 而用四节干电池供电时最高电压 可达 6V 左右 高于单片机和传感器电压 故采用串接二极管使电压降至 5V 左 右的措施给单片机和传感器供电 而电机驱动模块可以直接使用 不需要减压 2 2 控制单元电路设计控制单元电路设计 本模块采用 AT89S52 单片机作为核心处理器 单片机控制单元基本由最小 系统和外围信号 I O 口组成 其最小系统包括电源 地 CPU 时序电路 一般 使用 11 0592M 或者 12M 和 30P 电容组成 复位电路 有以上三部分 单片机 就能够正常工作 AT89S52 使一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可 编程 Flash 存储器 使用 Atmel 公司高密度非易失性存储技术制造 与工业 80C51 产品指令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程 亦 始于常规编程器 在芯片上 拥有灵活的 8 位 CPU 和在系统可编程 Flash 使 得 AT89S52 为众多嵌入式控制应用提供高灵活 超有效的解决方案 7 AT89S52 具有以下标准功能 8K 字节 Flash 256 字节 RAM 32 位 I O 口 线 看门狗定时器 2 个数据指针 三个 16 位定时器 计数器 一个 6 向量 2 级 11 中断结构 全双工串行口 片内晶振及时钟电路 另外 AT89S52 可降至 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内 容被保护 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复位 为止 如图 2 1 是较为常见的 51 系列单片机最小系统原理图 图 2 1 单片机最小系统 2 2 1 时钟电路时钟电路 单片机的时钟产生有两种方法 8 内部时钟方式和外部时钟方式 系统的时钟电路设计是采用内部方式 即利用芯片内部的振荡电路 电路 连接图如图 2 2 所示 AT89S52 单片机内部有一个用于构成振荡器的高增益反 相放大器 引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端 这个放 大器与作为反馈原件的片外晶体谐振器一起构成一个自激振荡器 外接晶体谐 振器以及电容 C1 和 C2 构成并联谐振器 接在放大器的反馈回路中 对外接电 容的值虽然没有严格的要求 但电容的大小会影响振荡频率的高低 振荡器的 12 稳定性 起振的快速性和温度的稳定性 因此 此系统电路的晶体振荡器的值 为 12MHz 电容应尽量可能的选择陶瓷电容 电容值通常取 30PF 在焊接刷 电路板时 晶体振荡器和电容应可能安装的与单片机芯片靠近 以减少寄生电 容 更好的保证振荡器可靠稳定的工作 图 2 2 内部震荡电路 2 2 2 复位电路复位电路 复位是由外部的复位电路来实现的 片内复位电路是复位引脚 RST 通过一 个触发器与复位电路相连 触发器用来抑制噪声 它的输出在每个机器周期中 由复位电路采样一次 图 2 3 复位电路 复位电路通常采用上电自动复位和按钮复位两种方式 9 所谓上电复位 是指单片机加电的瞬间 要在 RST 引脚出现大于 10ms 的正脉冲 使单片机进 13 入复位状态 按钮复位是指用户按下 复位 按钮 使单片机进入复位状态 常见的上电复位和按钮复位电路如图 2 3 所示 复位电路的基本功能是 系统上电时提供复位信号 直至系统电源稳定后 撤销复位信号 为可靠起见 电源稳定后还要经过一定的延时才能撤销复位信 号 以防止电源开关或电源插头分 合过程中引起的抖动而影响复位 单片机 复位电路参数的选定须在震荡稳定后保证复位高电平持续时间大于 2 个机器周 期 一般电阻 R 去 10K 电容 C 取 22uF 2 2 3 并口下载线电路并口下载线电路 ATMEL 公司推出的 AT89S 系列单片机支持 ISP 功能和在线编程功能 即在 RST 引脚处在高电平的情况下 利用 P1 5 MOSI 串行数据输入端 P1 6 MISO 串行数据输出端 P1 7 SCK 同步时钟信号 三各引脚的数据设 置或传送实现程序下载的功能 使用 25 针的并口和 8 位锁存器 74H373 构成了 简单的 ISP 编程电缆 其接口电路如图 2 4 所示 其中的 74LS373 是低低功耗 的肖特基 图 2 4 并口下载线接口电路 TTL8D 锁存器 74LS373 内有 8 个相同的 D 型 三态同相 锁存器 由两个控 14 制端 11 脚 CP 1 脚 OE 控制 当 OE 接地 CP 为高电平时 74LS373 接受 PPU 输出的地址信号 如果 CP 为低电平时 则将地址信号锁存 这里的 74LS373 的其缓冲隔离单片机和计算机的作用 2 3 电机驱动电路电机驱动电路 L298N 是 SGS 公司的产品 其内部包含 4 通道逻辑驱动电路 即内含两个 H 桥的高压大电流双全桥式驱动器 接受标准 TTL 逻辑电平信号 可驱动 46V 2A 以下的电机 由 L298N 构成的 PWM 功率放大器的工作形式为单极可 逆模式 2 个 H 桥的下侧桥晶体管发射极在一起 其芯片引脚排列如图 2 5 所 示 1 脚和 15 脚可单独引出连接电流采样电阻器 形成电流传感信号 L298N 可驱动 2 个电机 OUT1 OUT2 和 OUT3 OUT4 之间分别接 2 个电动机 5 7 10 12 脚接输入控制电平 控制电机的正反转 ENA ENB 接控制使能 端 控制电机的停转 10 图 2 5 L298N 芯片引脚图 在本设计 对于电机的调速 我们采用 PWM 调速的方法 11 其原理是在 一个周期内高电平通电的时间为 低电平的时间为 则电机两端的平均电T 1 t 2 t 压 U Vcc t T Vcc 其中 t T 占空比 Vcc 是电源电压 电机的转 速与电机两端的电压成正比 而电机两端的电压与控制波形的占空比成正比 因此电机的速度与占空比成正比 占空比越大 电机速度远快 其 PWM 脉冲 波形如图 2 6 所示 15 图 2 6 PWM 脉冲波形图 改变占空比的有 3 种方法 1 定宽调频法 保持高电平 不变 只改变低电平的大小 使周期 1 t 2 t 或频率 也随之改变 T 2 调宽调频法 保持变低电平不变 只改高电平 的大小 使周期 2 t 1 t 或频率 也随之改变 T 3 定频调宽法 使周期 或频率 保持不变 同时改变高电平 和低电T 1 t 平的大小 2 t 图 2 7 电机驱动电路图 设计中采用第 3 种改变占空比的方法来驱动 L298N 芯片 及将周期保持T 16 不变 改变使能端 ENA 和 ENB 的通电时间来改变两电机的转速 实现小车的 调速和转向功能 其硬件连接电路图如图 2 7 所示 L298N 采用独立供电的方 式 其电压为四节干电池的电压 6V 将单片机的 P1 0 P1 3 口连接到 L298N 的 IN1 IN4 口上 通过改变 P1 0 P1 3 口上的高低电平变化来控制小车的前进 与后退 通过改变 P1 4 和 P1 5 口上输出的 PWM 脉冲的的占空比的大小来改变 小车的速度和小车的转向 L298N 的逻辑功能表如表 2 1 所示 图中和表 A B 示左边电机和右边电机的占空比大小 表 2 1 电机运行状态表 左电机右电机使能端输入 PWM 信 号改变脉宽调速 IN1IN2IN3IN4左电机占 空比 A 右电机占 空比 B 小车运行方式 1010 A B 向前直行 1010 A B 向前右转 0101 A B 向后倒车 0101 A B 先后右转 0000 0 A B 自由停车 1111 0 A B 立即刹车 另外特别给直流电机的电枢两端并联一个瓷片电容 104 以稳定电机的电 压不致对单片机造成干扰 实际的使用效果也不错 省掉了通过光电隔离实现 单片机输出信号与电机驱动信号隔离的环节 节约成本 17 2 4 红外遥控电路红外遥控电路 红外遥控系统一般分发射端和接收端两个部分组成 2 4 1 发射部分发射部分 发射部分由遥控器编码电路 键盘电路 放大电路 红外发光二极管等组 成 当键盘有按键按下时 遥控器编码电路通过键盘行列扫描获取的按键的键 值 键值通过编码得到一串键值代码 用编码脉冲去调制 30 50kHz 多为 38kHz 或 40kHz 的载波信号 放大后通过发光二极管发射出去 在设计中选用学习型万能遥控器 其内部编码芯片是 T9012 芯片 它是一 块用于红外遥控系统中的专用发射集成电路 功耗低 外围元件少 它的发射 码采用脉冲位相调制方式 PPM 进行编码 效率高 抗干扰性能好 T9012 的振荡频率为 fosc 455kHz 高电平的的宽度 Tm 256 fosc 0 56ms 12 遥控发射编码通过不同的脉宽表示二进制的 0 和 1 把一组由代表二 进制的 0 和 1 的脉冲串作为遥控发射信号 引导码的脉冲宽度为 4 5ms 脉宽调制串行码以脉冲宽度为 0 565ms 间隔 0 56ms 周期为 1 125ms 的组合表示二进制的 0 以脉宽为 0 565ms 间隔 1 685ms 周期为 2 25ms 的组合表示二进制的 1 其波形图如图 2 8 所示 由二进制码的波形图可知 每个脉冲的宽度是一定的 0 56ms 要判断 0 和 1 还是引导码只要判 断脉冲间隔时间就可以 图 2 8 红外遥控二进制码 0 和 1 的波形图 一组发射码由 32 个脉冲二进制码组成 一帧完成的发射码包括引导码 用 户码 数据码和数据反码四部分 引导码是一个 4 5ms 的低电平脉冲 八位用 户编码被连续发送两次 以确保所发的用户编码无误 八位的数据码也被连续 发送两次 第一次发送的是数据原码 第二次发送的是数据反码 发送完一组 18 编码的时间在 40 70ms 之间 编码波形图如图 2 9 所示 图 2 9 遥控信号编码波形图 2 4 2 接收部分接收部分 图 2 10 红外接收原理图 接收原理图如图 2 10 由于红外发光二极管的发射功率一般都较小 100mW 左右 所以光敏二极管接收到的信号比较弱 因此就要增加高增益放大电路 由于红外接收部分对外界干扰十分敏感 红外接收头必须严格屏蔽 但随着集 成化的不断提高 现在大多都采用成品的红外接收头 本设计中采用 IRM38A 一体化遥控接收头 它集成了光电转换 信号放大 滤波 检波和整形等该接收头对主流传输码都支持 可去除噪声或干扰信号所 产生的脉冲 电路连接图 2 11 所示 OUT 即解调信号的输出端 直接与单片机 的 P3 2 口连接 有红外编码信号发射时 输出为检波整形后的方波信号 并直 接提供给单片机的中断口 这样可以通过测量每次中断的时间 来确定遥控信 号的脉冲间隔 识别相应的 32 位二进制编码 图 2 11 红外接收电路连接图 19 2 5 路经检测电路路经检测电路 路径检测电路的功能是使智能小车能够检测到路面上的黑色引导线 获取 路面信息 从而能够按照引导线自主行驶 路径检测电路由 TCRT5000 红外光 电传感器 可调电阻器和电压比较器 LM339N 组成 路径检测传感器 TCRT5000 的工作原理 利用红外线在不同颜色的物体表 面具有不同的反射性质的特点 在小车行驶过程中不断地向地面发射红外光 当红外光遇到白色地板时发生漫反射 反射光被接收管接收 三极管导通 输 出端为 0 如果遇到黑线红外光被吸收 接收管接收不到红外光 三极管截止 输出端为 1 图 2 12 LM339N1 4 内部电路图 LM339N 类似于增益不可调的运算放大器 每个比较器有两个输入端和一 个输出端 两个输入端一个成为同相输入端 用 表示 另一个成为反相输 入端 用 表示 用作比较两个电压时 任意一个输入端加一个固定电压作 参考 另一端加一个待比较的信号电压 当 端电压高于 端是输出管 截止 相当于输出端开路 当 端电压高于 端时 输出管饱和 相当 20 于输出端接低电位 内部电路图如图 2 12 两个输入端电压相差别大于 10mV 就能确保输出从一种状态可靠的转换到另一种状态 因此 把 LM339N 用在弱 信号检测等场合是比较理想的 LM339N 的输出端相当于一只不接集电极电阻 的晶体三极管 在使用时输出端到正电源一般须接一只电阻 3 15K 选不同 的上拉电阻会影响输出端高电位的值 因为当输出晶体三极管截止时 它的集 电极电压基本上取决于上拉电阻与负载值 另外 各比较器的输出端允许连接 在一起使用 路径检测电路图如图 2 13 所示 将可变电阻器阻值调到 5K 左右 及 LM339N 的反相比较端的电压为 2 4 左右 经测试当小车行走在白色路面上时 TCRT5000 输出端的电压接近于 0V 则 LM339N 的 端低于 三极管 1 截止 但在上拉电阻的作用下使三极管 2 导通 此时输出端 OUT 接近于 0V 当小车行走在黑色路面上时 TCRT5000 输出端的电压接为 3 8V 左右 则 LM339N 的 端高于 三极管 1 导通 此时三极管 1 的 C 极电压低于 B 极电压使得三极管 1 截止 此时输出端 OUT 电压取决于上拉电阻和负载电阻 的大小 图中上拉电阻为 2K 负载为 10K OUT 端电压为 4 4 左右 可直接接 于单片机的 I O 口不需要放大 图 2 13 路径检测电路图 2 6 避障电路避障电路 避障电路与路径检测电路几乎一样 只是将其输出端的上拉电阻改为 1K 负载电阻改为 4 7K 这样的好处是扩大其检测距离 提高灵敏度 在避障过程 中 如果遇到障碍物 输出端的电压为 4 4 左右 如果无障碍物 输出端的电 21 压为 0V 左右 22 第三章第三章 系统软件设计系统软件设计 软件设计是实现小车智能化运转的关键所在 相当于人类大脑思维的活动 通过软件设计可将各个变化信号数据有效地结合处理 产生相应的动作反应 在小车的运行控制过程中 采用模糊控制算法对小车的速度进行控制 3 1 模糊控制算法模糊控制算法 3 1 1 模糊理论的发展模糊理论的发展 20 世纪 60 年代 美国加利福尼亚大学著名教授扎德发表了一篇关于模糊 集合的论文 由此提出了模糊理论 五十多年来 在模糊控制算法 模糊理论 工业控制应用 以及稳定性理论研究方面 都有不少的论文发表 80 年代后 自动控制系统随着被控对象的复杂化 它不仅表现在控制系统 具有多输入 多输出的强耦合性 参数时变性和严重的非线性等特性 更突出 的是从系统对象所获取的知识信息量相对的减少 以及与此相反的对控制性能 的要求却日益高度化 如今 对模糊控制系统的结构 模糊控制算法 以及模糊控制稳定性等问 题的研究成果已进入实用化时期 其成果应用多个领域 如于工业方面 退火 炉 电弧冶炼炉 水泥炉和造纸炉等 在汽车方面 汽车转向控制 自动变速 器速度控制和汽车空调温度控制等 以及在机器人路径控制等方面得到了广泛 的应用 目前 迷糊控制技术有了更大的发展 过去将大型机械设备和生产过程作 为控制对象 而现在模糊控制技术已经大量应用于家用电器 电子产品等方面 3 1 2 模糊控制算法原理模糊控制算法原理 模糊控制是以模糊集理论 模糊语言变量和模糊控制逻辑推理为基础的一 23 种控制方法 从行为上模拟人的思维方式 它对难建模的对象实施模糊推理和 决策 实际上是一种非线性控制 该方法首先将操作人员或专家经验编成模糊 控制规则 13 然后将来自传感器的实时信号模糊化 将模糊化后的信号作为模 糊规则的输入 完成模糊推理 再将推理后得到的输出量加到模糊控制器上 14 模糊控制器依据输入变量的数量 可分为一维 二维和三维模糊控制器 模糊 控制器由 3 个功能模块组成 即模糊化模块 模糊推理模块和解模糊模块 如 图 3 1 所示 图 3 1 模糊控制器的组成结构图 3 2 智能小车的模糊控制算法智能小车的模糊控制算法 智能小车模糊控制采用控制简单的一维模糊控制器 输入变量为小车前端 的传感器给出的小车位置和道路中心的横向偏差 输出变量为小车左右车轮的 速度 通过改变左右车轮电机 PWM 波的占空比来实现小车速度的调节 3 2 1 模糊化模糊化 小车前端路经检测传感器所检测的的信息是精确的 要将这些精确的物理 量转变成语言变量即为模糊化 在本设计中 将 5 个 TCRT5000 光电传感器一字型排列 左右分别两个 中间一个 分别为左 1 TCRT500 左 0 TCRT500 中间 TCRT5000 右 0 TCRT500 和右 1 TCRT500 而中间传感器对应的刚好是小车的中心位置 当不 同传感器在黑色引导线上时 也就表征了小车偏离引导线信息 不同传感器与 黑色引导线的偏差与引导线的曲率半径成正比 偏差越大左右电机的的速度差 24 要越大 如当左 0 TCRT5000 检测到黑线时 左电机 PWM 占空比值小于有右 电机 PWM 占空比值 故将偏离黑色引导线偏差作为输入 左右电机的速度作 为输出来控制小车 使其实现智能化控制 3 2 2 模糊规则库的建立模糊规则库的建立 模糊控制的关键和核心是模糊控制规则 即用人的自然语言对操作者的手 动控制策略加以描述 得到一些不精确的 定性的 判定的规则 这些规则就 是模糊控制技术中的模糊控制规则 这些模糊控制规则的来源是根据操作者对 被控对象的动态性的认识 表达和对被控对象的控制经验 从这些抽出输入和 输出的关系 加以描述 实质上就是被控对象的数学模型 在实际应用中 特 别是人工操作控制 并不需要建立被控对象的数学模型 为了模拟人工控制过 程 对人工操作的经验和策略进行归纳 总结 建立一些列的模糊控制规则 将这些规则进行一定的处理便产生相应的模糊控制算法 利用计算机来实现这 些模糊语句 此时就构成了一个模糊控制器 而其中的模糊控制算法则描述了 控制器的行为特征 对于模糊控制规则的建立方法很多 主要有 以专家知识 经验为依据建 立模糊控制规则 以熟练操作者的手动操作策略 经验和测试数据来建立模糊 控制规则 根据被控对象的模糊模型建立模糊控制规则以及根据学习算法建立 模糊控制规则等 本设计的模糊控制规则的建立方法是 智能小车通过经验和测试数据来建 立模糊控制规则 通过反复运行 取样 测试 选取出能够使小车在不同的引 导线 不同的环境中 能够灵活稳定的行驶速度 即对不同的传感器输入信息 筛选出最合适的控制左右车轮电机速度 PWM 波占空比的值 其模糊控制规则 如表 3 1 所示 表 3 1 模糊控制规则表 输出 输入 左电机 PWM 波占空比值右电机 PWM 波占空比值 左 1 TCRT500015 90 左 0 TCRT500030 85 25 中间 TCRT500080 80 右 0 TCRT500085 30 右 1 TCRT500090 30 3 3 编程软件编程软件 Keil C51 简介简介 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件 开发系统 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有明 显的优势 因而易学易用 Keil 提供了包括 C 编译器 宏汇编 连接器 库管 理和一个功能强大的仿真调试器等在内的完整开发方案 通过一个集成开发环 境 uVision 将这些部分组合在一起 运行 Keil 软件需要 WIN98 NT WIN2000 WINXP 等操作系统 以下是 Keil C51 开发系统基本知识 1 系统概述 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具 全 Windows 界面 另外重要的一点 只要看一下编译后生成的汇编代码 就能体 会到 Keil C51 生成的目标代码效率非常之高 多数语句生成的汇编代码很紧凑 容易理解 在开发大型软件时更能体现高级语言的优势 2 Keil C51 单片机软件开发系统的整体结构 C51 工具包的整体结构 uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境 IDE 可以完成编辑 编译 连接 调试 仿真等整个开 发流程 开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件 然后分别 由 C51 及 C51 编译器编译生成目标文件 OBJ 目标文件可由 LIB51 创建生成 库文件 也可以与库文件一起经 L51 连接定位生成绝对目标文件 ABS ABS 文件由 OH51 转换成标准的 Hex 文件 以供调试器 dScope51 或 tScope51 使用 进行源代码级调试 也可由仿真器使用直接对目标板进行调试 也可以直接写 入程序存贮器如 EPROM 中 3 Keil C51 单片机软件开发系统的特点 1 Keil C51 生成的目标代码效率非常之高 多数语句生成的汇编代码很紧 凑 容易理解 在开发大型软件时更能体现高级语言的优势 26 2 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有明显的 优势 因而易学易用 用过汇编语言后再使用 C 来开发 体会更加深刻 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具 全 Windows 界面 如图 3 2 是其基本操作界面 图 3 2 Keil C51 操作界面 3 4 软件设计软件设计 由前边的简绍可知 Keil C51 给 C 语言搭建了一非常好的编程环境 再加之 C 语言具有编程灵活 结构化强 移植性好等特点 15 故本设计采用 C 语言进 行程序的编写 3 4 1 软件设计思路软件设计思路 根据总体设计的思路及本系统实现的功能 以及 AT89S52 单片机具有的定 时器 计数器 中断等功能 在软件设计中完成以下功能 1 红外解码外部中断 0 函数 本函数采用外部中断 0 当按下红外遥控键 时 单片机就会停止执行当前程序 优先执行外部中断 0 红外遥控解码程序 27 执行完后返回到当前程序继续执行当前程序 2 定时器 T1 中断函数 该函数是利用定时器 T1 中断产生 PWM 波 定时 器 T1 的定时时间为 100us 如果将 PWM 波的周期等分为 100 等分 则 PWM 的周期 T 10ms PWM 波的产生是这样的 如果给一个变量 i 和占空比 A 每一个周期开始时 i 0 输出为高电平 并且每进行一次中断 i 加 1 那 B 么当 i 时输出为高电平 当 i 时输出为低电平 也就是说在一个周期内产 生 100 次中断中 在 次中断内输出为高电平 在剩下的 100 A B A 中断中输出为低电平 B 3 路径检测模块函数 根据 P2 口 TCRT5000 传感器送来检测到黑线的信 息执行相应的操作来完成路径检测功能 4 红外遥控模块函数 由红外遥控按下不同的键值 使小车实现前进 后 退 左转 右转 左后转 右后转以及前进时的三档变速功能 5 避障模块函数 根据 P0 口送来的信息可知前方的障碍物的方位 小车 根据障碍物的方位绕开障碍物行驶 3 4 2 各模块流程图和程序设计各模块流程图和程序设计 根据软件的总体设计思想及本系统所要实现的功能 进行其系统程序流程 图和程序模块设计 系统中主要的系统流程图和程序模块主要有 主程序模块 红路径检测模块 红外遥控模块 避障模块等 28 程序流程图 图 3 3 主程序流程图 图 3 4 路径检测流程图 29 图 3 5 红外遥控流程图 图 3 6 避障流程图 30 主要模块程序 1 主程序 主函数 void main void init while 1 switch mark case 1 line walk break 按下 键 mark 1 进行路径检测功 能 case 2 control break 按下 键 mar 2 进行遥控功能 case 3 bizhang break 按下 喇叭 键 mark 3 避障功能 case 0 stop break 按下 键 mark 0 进行复位功能 default break 2 红外解码外部中断 0 程序 红外解码外部中断程序 void interrupt0 interrupt 0 uchar i 0 j 0 k 0 us 0 uchar addr 4 0 储存用户码 用户反码与键数据码 键数据反码 EX0 0 关闭外中断 0 不再接收二次红外信号的中断 只解码当前 红外信号 for i 0 i 255 i 9ms 内有高电平认为是干扰 if P3 return while P3 等待 9ms 低电平过去 for i 0 i 4 i for j 0 j 8 j while P3 等待 4 5ms 高电平过去 31 while P3 等待 0 56ms 低电平后面的高电平 while P3us 30 高电平时间过长退出程序 EX0 1 开外部中断 return addr i addr i 1 接收一位数据 if k 8 addr i addr i 0 x80 高电平大于 0 56ms 则为 1 k 0 key addr 2 按键数据码 switch key case 0 x12 mark 1 break 按下 键 mark 1 进行路径检测功能 case 0 x13 mark 2 break 按下 键 mark 2 进行遥控功能 case 0 x15 mark 3 break 按下 喇叭 键 mark 3 进行避障功能 case 0 x14 mark 0 break 按下 键 mark 0 进行复位功能 default break LED 指示灯闪烁 表示正确解析红外信号并进行相关操作 且有适当 延时效用 EX0 1 开外部中断 3 PWM 波定时器 T1 中断 定时器 T1 中断程序 PWM 周期 T 100usX100 10ms void time1 void interrupt 3 i j if i pro left en1 1 else en1 0 32 if i 100 en1 en1 i 0 if j pro right en2 1 else en2 0 if j 100 en2 en2 j 0 TH1 0 x9c TL1 0 x9c 4 路径检测程序 路径检测函数 void line walk uchar flag while mark 1 flag P2 switch flag case 0 x06 case 0 x05 case 0 x0c case 0 x14 case 0 x0a case 0 x0e straight1 break case 0 x04 straight2 break case 0 x09 case 0 x02 turn left0 if flag 0 x04 continue else break 33 case 0 x01 turn left1 if flag 0 x02 continue else break case 0 x12 case 0 x08 turn right0 if flag 0 x04 continue else break case 0 x10 turn right1 if flag 0 x08 continue else break case 0 x1f stop break default break 4 红外遥控程序 红外遥控函数 void control stop while mark 2 switch key case 0 x00 straight0 break 按下 1 键低速前进 case 0 x01 straight1 break 按下 2 键中速前进 case 0 x02 straight2 break 按下 3 键高速前进 case 0 x09 back break 按下 0 1 键倒车 case 0 x06 turn left break 按下 5 键向前左转 case 0 x04 turn right break 按下 7 键向前右转 case 0 x08 back left break 按下 9 键左后倒车 case 0 x0a back

温馨提示

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

评论

0/150

提交评论