基于单片机的智能小车 毕业设计.doc_第1页
基于单片机的智能小车 毕业设计.doc_第2页
基于单片机的智能小车 毕业设计.doc_第3页
基于单片机的智能小车 毕业设计.doc_第4页
基于单片机的智能小车 毕业设计.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

长春理工大学本科毕业设计 基于单片机的智能小车毕业设计基于单片机的智能小车毕业设计 目目 录录 摘要 I ABSTRACT II 目 录 III 第 1 章 绪论 1 1 1 引言 1 1 2 课题研究目的及意义 1 1 3 课题研究现状及发展趋势 2 1 4 本文的主要工作 3 第 2 章 小车的总体方案设计 4 2 1 设计思路 4 2 2 小车循迹避障传感器的选型 6 2 3 小车循迹避障设计方案 8 第 3 章 小车的硬件电路设计 9 3 1 单片机的选型 10 3 2 小车的硬件电路设计 14 第 4 章 小车的软件设计 19 4 1 主程序设计及流程图 19 4 2 避障子程序设计及流程图 20 4 3 循迹子程序设计及流程图 21 结 论 22 参考文献 23 致 谢 24 附录 1 系统电路图 25 附录 2 智能循迹壁障小车完整程序 27 长春理工大学本科毕业设计 I 长春理工大学本科毕业设计 0 第第 1 章章 绪论绪论 1 1 引言引言 智能 在科技高速发展的今天 已成为一个引领时尚前沿的代名词 智能 手机 智能机器人等等已经在工业 军事中得到广泛的作用 在不为人们所熟 知的领域 如深海探测 航空航天 地质勘探 智能也发挥着举足轻重的作用 1 智能车是一个集环境感知 规划决策和多等级辅助驾驶等功能于一体的综合系 统 整个系统设计集中运用了自动化控制 传感技术 导航 电子 电气 PC 机 机械 人工智能等多个学科的知识 2 是典型的高新技术综合体 以后智 能机器人的应用领域会愈发广泛 如在航天航空技术 海洋能源开发技术 微 电子技术 制造与维修技术 农业自动化 生物医学等领域会有很大的突破和 进展 能自动识别道路并完成相关任务是对一类专业机器人的基本要求 本文主 要研究的是以 Atmel Mega16 芯片为核心控制核心的智能车 由电源模块 红外 传感器模块 电机驱动模块 调试模块和 MCU 模块组成 主要通过红外对管 及超声波收集的信息实现智能循迹与避障 1 2 课题研究目的及意义课题研究目的及意义 自第一台工业机器人诞生 3 以来 机器人的发展已经遍及机械 电子 冶 金 交通 宇航 国防等领域 近年来机器人的智能水平不断提高 并且迅速 地改变着人们的生活方式 人们在不断探讨 改造 认识自然的过程中 制造 能替代人工作的机器一直是人类的梦想 其中智能小车可以作为机器人的典型 代表 其需要实现自动避障功能就必须要感知障碍物 实现自动识别路线 选 择正确的行进路线 使用传感器感知路线并做出判断和相应的执行动作 智能 小车设计与开发涉及控制 模式识别 传感技术 汽车电子 电气 计算机 机械等多个学科 它可以分为三大部分 传感器检测部分 执行部分 CPU 现代智能小车发展很快 从智能玩具到各行业都有实质成果 其基本可实现循 迹 避障功能等基本功能 日本目前投入市场的不再是高性能的工业机器人 微型机器人汽车也正在 逐步的进入市场 日前由日本科研人员研发的两款微型机器人汽车与大众见面 汽车内安装有最尖端的视觉识别系统 通过内部的摄像头与传感器能够使小车 自动识别障碍物 从而避免碰撞 并判断小车与障碍物之间的距离 目前研究 人员已经将小车的这种自动识别系统应用到汽车工业领域去 这将为陷入低靡 的汽车行业注入新的活力 4 长春理工大学本科毕业设计 1 随着计算机 自动控制 微电子技术 人工智能 虚拟现实 微纳米技术 仿生学 材料等相关学科领域的发展 避障循迹小车可以通过自动感知引导线 以及躲避障碍物在工作中取代人力运输 节省人力以及成本 智能车辆是一个 运用计算机 传感 信息 通信 导航 人工智能及自动控制等技术实现环境 感知 规划决策和自动行驶为一体的高新技术综合体 此类机器人以后对我们 的研究和生活定会发挥至关重要的作用 在以后对车辆的自动驾驶 飞船的自 动航行模式及深海自动探测有很大的研究价值 1 3 课题研究现状及发展趋势课题研究现状及发展趋势 智能小车 也就是轮式机器人 主要有口令识别与语音合成 机器人自定 位 动态随机避障 多传感器信息融合 实时自适应导航控制等功能 4 7 现在 智能小车发展很快 从智能玩具到其它各行业都有实质成果 其基本可实现循 迹 避障 检测贴片 寻光入库 避崖等基本功能 这几年的电子设计大赛智 能小车又在向声控系统发展 比较出名的飞思卡尔智能小车更是走在前列 2011 2012 年世界智能机器人研究取得了新进展 美国研制出受伤后可自行调整 的机器人 英国设计出吃苍蝇老鼠的机器人家具 法国研发出 儿童机器人 欧洲研发出超级机器人 能预知人类意图等 这些都与我们的生活息息相关 给我们的生活带来了极大地方便 我国一直比较重视智能机器人的研究 国家 863 智能机器人专家组将智能机器人的研究作为今后发展的重点 许多大专院 校和科研机构都在着手智能机器人的研究和开发工作 相继几所高校进行了这 方面的研究并取得了一定的成果 如沈阳自动化所的 AGV 小车 上海大学的 导购机器人和哈工大研究所的导游机器人 清华大学智能技术与系统国家重点 实验室研制的 THMR 系列微型移动车 整个系统包括摄像机 磁罗盘 差分 GPS 电子地图等车载设备 保证了移动车控制系统能够实现自主驾驶与辅助 驾驶 除此之外 以哈尔滨工业大学为首的众多高校也先后在 机器人足球赛 机器人起重大赛 这些具有国际水平的人工智能竞赛中取得优异的成绩 8 此次设计的智能车可以作为机器人的典型代表 主要实现循迹和避障两个 功能 该智能小车可以作为机器人的典型代表 它可以分为四大组成部分 传 感器检测部分 执行部分 工作状态显示部分 CPU 机器人要实现自动避障 功能 还可以扩展循迹等功能 感知导引线和障碍物 可以实现小车自动识别 路线 选择正确的行进路线 并检测到障碍物自动躲避 基于上述要求 传感 检测部分考虑到小车一般不需要感知清晰的图像 只要求粗略感知即可 所以 可以舍弃昂贵的 CCD 传感器而考虑使用价廉物美的红外反射式传感器来充当 智能小车的执行部分 是由直流电机来充当的 主要控制小车的行进方向和速 长春理工大学本科毕业设计 2 度 单片机驱动直流电机一般有两种方案 第一 勿需占用单片机资源 直接 选择有 PWM 功能的单片机 这样可以实现精确调速 第二 可以由软件模拟 PWM 输出调制 需要占用单片机资源 难以精确调速 但单片机型号的选择 余地较大 考虑到实际情况 本文选择第二种方案 CPU 使用 Mega16 单片机 配合软件编程实现 1 4 本文的主要工作本文的主要工作 本文研究的是小车的避障及循迹 主要包括以下 2 个部分 1 以 Mega16 单片机为中央处理器 对硬件电路进行设计和改进 使其功 能更加完善 系统硬件电路主要分为 CPU 电源模块 循迹模块 避障模块 显示模块 外围辅助模块六部分 2 系统的软件编制 按照软件实现的功能 主要分为主程序 初始化子程 序 信息采集子程序 信息分析及处理子程序 运动控制子程序 工作状态显 示子程序 在程序的编写过程中 加入了详细的文字注释 便于后期的改进与 维护 长春理工大学本科毕业设计 3 第第 2 章章 小车的总体方案设计小车的总体方案设计 2 1 设计思路设计思路 2 1 1 小车循迹避障的结构小车循迹避障的结构 本文所述小车采用 RP5 大功率坦克车体 它采用带电感的大扭力 280 马达 组合斜齿 金属齿 形成大扭力 低噪音底盘系统 具有动力性能强 底盘稳定 性高 可原地转圈 转弯灵活等特点 负载能力至少 3KG 以上 可以越障碍物 适合比较高要求的场合 因此可模拟家庭及工业等场合的一些环境 小车系统结构框图如图 2 1 所示 系统以 Mega16 单片机为核心 配合外 围电路共同完成信号采集 路线检测 障碍检测 按键输入 信号显示和小车 姿态控制等功能 循迹采用单片机查询脉冲调制的反射式红外发射接收器返回 的信号以获取道路信息 避障则有中断和查询协同完成 并用发光二极管显示 障碍信息及小车运行状态 系统采用高性能的单片机 要求工作稳定 处理速 度快 通用性强 保证小车循迹避障的稳定性及可靠性 而且成本低 LM339比较器 电路 循迹传感器单片机 电源模块 避障模块 驱动模块 直流电机 显示模块 LM358比较器 电路 图 2 1 循迹避障小车结构框图 长春理工大学本科毕业设计 4 2 1 2 小车微处理器部分设计思路小车微处理器部分设计思路 微处理器是小车的核心部分 主要完成对外围各个模块的管理 实现对外 围模块的信号发送 以及对传感器模块的信号采集 并根据软件算法对所采集 的信号进行处理 发送信号给执行模块进行任务执行 还对各种突发事件进行 监控和处理 保证整个系统的正常运作 这里采用Atmel Mega16单片机 该单 片机是高性能 低电压的8位AVR单片机 内含16K字节的系统内可编程Flash和 512字节的EEPROM 另外有两个具有独立预分频器和比较器功能的8位定时器 计数器和一个具有预分频器 比较功能和捕捉功能的16位定时器 计数器 32个 可编程的I O口 9 2 1 3 小车循迹避障部分设计思路小车循迹避障部分设计思路 小车循迹避障部分是能够采集周围环境障碍物的信息 并返回至单片机进 行处理 其组成部分包括 环境信息采集电路 放大电路 单片机控制电路 路线采集电路一般有脉冲调制的反射式红外发射接收器和信号放大器组成 脉冲调制的反射式红外发射接收器根据不同颜色对光的反射程度不同 将路线 信息送至放大器 放大器可作为比较器可作简单的滤波 放大器将从脉冲调制 的反射式红外发射接收器返回的信号转化为单片机可识别的电平信号后送入单 片机 Mega16 单片机可根据接收的信息判断路线的信息 实现对左右两侧直流 电机工作状态的控制 以实现左右转向 最终实现循迹功能 避障部分则有超声波模块和两路脉冲调制的反射式红外发射接收器 超声 波可实现测距 利用超声波返回的信号变化使单片机产生中断 实现障碍的判 断 当距离大与某个值时可继续前进 当距离小雨某个值时则单片机进行处理 实现避障 2 1 4 小车循迹避障电源部分设计思路小车循迹避障电源部分设计思路 LM2940 是输出电压固定的低压差三端稳压器 使用 6 节干电池供电 通 过 LM2940 稳压芯片将干电池提供的 9V 电稳压至 5V 为 Mega16 单片机及其它 电路供电 LM2940 最大输入电压为 26V 输出电压为 5V 最大输出电流为 1A 且输出电流为 1A 时 最小输入输出电压差小于 0 8V 工作温度 40 125 内含静态电流降低电路 电流限制 过流保护 电池反接和反插 入保护电路 LM2940 工作稳定 比 7805 转换效率高 故该小车系统选用 LM2940 稳压芯片提供稳定的 5V 电源 长春理工大学本科毕业设计 5 2 1 5 小车电机驱动部分设计思路小车电机驱动部分设计思路 小车车体为RP5 CH02玩具坦克车底盘 为差动式履带车 由于其为大功率 采用带电感的大扭力260型马达 形成大扭力 低噪音底盘系统 具有动力性能 强 因此也需要大电流大功率驱动模块 左右两侧的电机分别由电机驱动芯片 L298N来驱动 L298N是一种内含两个H桥的高电压大电流全桥式驱动器 接 收标准TTL逻辑电平信号 可驱动46V 2A以下的电机 可分别独立驱动两个 直流电机 L298N的信号输入端和使能端接收到来自单片机的信号 控制电机 的通断以及正 反转 还可以通过向使能端输入不同占空比的方波信号来调整 电机转速 PWM方式 L298N的最大驱动电流为1A 其具体管脚排布如图4所示 其中 input端口接入控制信号 output端口接电机的两端 enable接使能信号 当input 1和input 2接入信号为 1 0 和 0 1 时 相对应的电机分别正转 和反转 当两个input管脚接入信号为 1 1 和 0 0 时 相应电机停转 Enable使能端为高电平时 相应输入端口信号有效 反之 则输入信号无效 在enable端接入方波信号 通过调整方波信号的占空比 可实现对电机转速的 控制 2 2 小车循迹避障传感器的选型小车循迹避障传感器的选型 2 2 1 小车循迹避障传感器简介小车循迹避障传感器简介 可实现循迹避障功能的传感器多种多样 如循迹可以选用发光二极管 光敏 电阻 脉冲调制的反射式红外发射接收器 CCD 传感器等 避障则可选有红外 对管 超声波模块 光电开关等 2 2 2 小车循迹避障传感器的选定小车循迹避障传感器的选定 小车的循迹主要是循黑线前进 可采取的方案如下 方案 1 采用发光二极管加光敏电阻 该方案缺点 易受到外界光源的干 扰 有时甚至检测不到黑线 主要是因为可见光的反射效果跟地表的平坦程度 地表材料的反射情况均对检测效果产生直接影响 克服此缺点的方法 采用超 高亮度的发光二极管能降低一定的干扰 但这又会增加检测系统的功耗 方案 2 脉冲调制的反射式红外发射接收器 由于采用带有交流分量的调 制信号 则可大幅度减少外界的干扰 此外红外发射接收管的工作电流取决于 平均电流 如果采用占空比小的调制信号 在平均电流不变的情况下 瞬时电 流很大 50 100mA ST 188 允许的最大输入电流为 50mA 则大大提高了 长春理工大学本科毕业设计 6 信噪比 此种测试方案反应速度大约在 5us 方案 3 采用 CCD 传感器 此种方法虽然能对路面信息进行准确完备的反 应 但它存在信息处理满 实时性差等缺点 因此若采用 CCD 传感器 无疑会 加重单片机的处理负担 不利于实现更好的控制策略 脉冲调制的反射式红外发射接收器工作稳定 价格便宜 又可减轻单片机 的负担 因此 我选用方案二 避障则可选用超声波模块和脉冲调制的反射式红外发射接收器协同工作 由于超声波反射声波对所测物体的斜度有一定要求 而红外对管对光线有限制 因此 两者协同作用 同时 两侧的红外对管还可实现对左右两侧障碍物的检 测 使得小车对障碍物的检测更加准确 即声波通过测距判断障碍物的距离并 通过左右两侧的红外发射接收器判断左前右前方障碍的情况 控制小车的行进 方向实现避障 2 2 3 小车循迹避障传感器的工作原理小车循迹避障传感器的工作原理 循迹模块有三路红外探测模块 均使用红外线发射和接收管等分立元器件 组成探头 又由于所采用的红外反射式传感器属于接近式传感器 其光电二极 管光生电流随所受到的反射光的强度而连续变化 因而会引起其两端电压的连 续变化 因此 若直接把这个电平信号供给单片机 容易产生误读情况 因此使 用 LM339或LM358比较器 加入迟滞电路 防止临界输出抖动作为核心器件 构成中控电路 当有路线为黑色时 则对应的接收管返回给单片机的信号为1 为白色或地面时 则单片机相应端口接收到的信号为0 用电位器产生一个基准 电平 当光电二极管的光生电流超过某一值时 运放的正向输入端电平高于基 准电平 这时运放的输出电平发生跳变 该信号即可被单片机处理 通过对基 准电平的调整 还可以调整传感器的灵敏度和探测距离 以改变单片机接收到 信号的强弱和探测的灵敏度 三路探头协同工作 根据三路探头返回值的不同 确定路线的方向 通过单片机改变两个直流电机的运行状态 来调整小车的姿 态 以完成随导引线完成循迹的任务 长春理工大学本科毕业设计 7 图 2 2 超声波时序图 避障模块应用声波和脉冲调制的反射式红外发射接收器协同工作 其中 超声波模块包括超声波发射器 接收器与控制电路 其工作时序图如图 2 2 所 示 以上时序图表明只需要采用 IO 口 TRIG 提供一个 10uS 以上脉冲触发信号 该模块内部将发出 8 个 40kHz 周期电平并自动检测是否有信号返回 一旦检测 到有信号返回 通过 IO 口 ECHO 输出一个高电平 高电平持续的时间就是超 声波从发射到返回的时间 由此通过发射信号到收到的回响信号时间间隔可以 计算得到距离 即公式 2 1 距离 高电平时间 声速 340M S 2 2 1 2 2 4 小车循迹避障传感器的特性及主要技术参数小车循迹避障传感器的特性及主要技术参数 红外反射式传感器由 1 个红外发射管 发射器 和 1 个光电二极管 接收器 构 成 红外发射管发出的红外光在遇到反光性较强的物体 表面为白色或近白色 后被折回 被光电二极管接收到 引起光电二极管光生电流的增大 将这个变 化经 LM339 或 LM358 比较器处理即可变为电压信号 就可以被处理器接受并 处理 进而实现对反光性差别较大的两种颜色 如黑白两色 的识别 其安全工 作电压范围在 3 伏特至 6 伏特之间 US 020 超声波测距模块可提供 2cm 400cm 的非接触式距离感测功能 测 距精度可高达 3mm 其电气参数如下表 表 2 1 超声波电气参数 电气参数US 020 超声波模块 工作电压DC 5V 工作电流15mA 工作频率40Hz 最远射程4m 最近射程2cm 测量角度15度 输入触发信号10uS 的 TTL 脉冲 输出回响信号输出 TTL 电平信号 与射程成比例 规格尺寸45 20 15mm 长春理工大学本科毕业设计 8 2 3 小车循迹避障设计方案小车循迹避障设计方案 本论文中的小车以 Mega16 单片机为控制核心 采用脉冲调制的反射式红 外发射接收器采集道路信息 采用超声波和红外反射式传感器采集前方以及左 右放障碍的情况 首先 脉冲调制的反射式红外发射接收器对道路信息 即对黑线信息进行 采集 并经过 LM339 比较器转化为稳定的电平信号送至 Mega16 单片机 然后 在 Mega16 单片机内对信号进行处理 如中间传感器下为黑线时 由于黑色对 光的反射能力最弱 因此传感器返回给单片机的信号为高电平 即 1 两侧均 为白色 则返回给单片机的信号为低电平 即 0 此时 小车前进 其余情况 则小车根据传感器的信息进行运行状态的调整 以实现准确循黑线行进 另外 避障模块则由中间的超声波模块和左右两侧的红外传感器组成 由 超声波模块对所测物体斜度有要求 并且红外对斜度无要求但对光线有要求 因此 两者协同工作 超声波通过测距实现障碍的判断 一旦距离小于某个定 值 便是小车转向 同时考虑左右两侧红外传感器的信息 以确定障碍物的信 息 实现小车的准确避障 其中超声波利用 Mega16 单片机的中断 2 对小车控 制 同时单片机查询左前右前方红外对管返回的信号 确定小车应该采取的控 制状态 长春理工大学本科毕业设计 9 第第 3 章章 小车的硬件电路设计小车的硬件电路设计 在小车的设计中 单片机是其核心部件 它一方面要接收来自传感器送来 的路线信息和障碍物信号 另一方面要对两种信号进行处理 控制发光二极管 的亮灭 以显示其信息 同时控制电机进行相应动作 并且查询模式选择开关 的状态 单片机对信息接收选用查询的方式 要求单片机具备较快的运算速度 以实现对信息的实时接收处理 保证循迹避障的精确 及时 并且也要考虑选 择低价实用的机型 并为将来的进一步研制同一系列的产品做准备 根据多方 面的比较 本设计选用 AVR 系列单片机 3 1 单片机的选型单片机的选型 3 1 1 单片机的选择单片机的选择 单片机是循迹避障小车的核心部件 一方面它要接收传感器送来的路线信 息和障碍物信号 另一方面要对两种信号进行处理 控制发光二极管的亮灭 以显示其信息 同时控制电机进行相应动作 并且查询模式选择开关的状态 在单片机实现的功能中 使用查询方式获取传感器返回的信息 即读取传感器 返回信号 需要单片机有较快的处理速度 使小车对信息的获取及处理是实时 准确的 实现小车的准确循迹与及时避障 同时在能够满足小车设计的速度及 接口数的要求的同类型单片机中 要考虑选择价格低廉的机型 在保证了控制 准确性及实时性的基础上 能够不提高成本 如今比较普遍的单片机有 51 系列与 AVR 系列 8051 单片机虽然应用普遍 工具多 易上手 片源广 价格低 但是速度 慢 功耗大 适合民用 商用 不适合工业用途 AVR 单片机 ATmega16 的时钟源 晶振 内部 RC 等 可以不经过分 频直接提供给 CPU 使用 而 51 的 CPU 主频等于晶振的 12 分频 ATmega16 外部提供 16M 的晶掁 即 CPU 频率可达 16M 常规 51 的时钟源为 12M 经 12 分频后 CPU 频率仅为 1M 所以 AVR 单片机的运行速度比 51 单片机的运行 速度要快的多 并且 AVR 单片机可提供内容 1M 2M 4M 8M 等可变的 CUP 频率 长春理工大学本科毕业设计 10 AVR 既具有简单的 可以自制的 ISP 下载线和 Jtag 仿真器 又有 DIP 直插 的封装形式 AVR 的 C 语言编程与 C 语言教科书上学习的标准 C 语言语法是 几乎一样的 不像 51 的 C 语言 一些 bit srf 之类的变量定义在教科书中是找 不到的 AVR I O 口是真正的双向 I O 口 单片机读取外部引脚电平直接通过 PINX 读取 不需要像 51 那样先给 I O 口全写 1 操作后才能读取外部引脚电平 使得单片机读取外部数据更容易 AVR I O 具有强大的电流驱动能力 具有大 电流 灌电流 10 20mA 或 40mA 单一输出 可直接驱动 SSR 或继电器 为适用于本论文设计的循迹避障小车 应选择一种比 8051 系列速度快 功 耗低 抗干扰性好 Atmel 推出的 AVR 系列单片机具有高速 低功耗 超强抗 干扰等优点 速度却比 8051 单片机快 8 12 倍 而且 AVR 系列下属的 Mega16 系列单片机是低功耗 Flash 单片机 它的高效寻址方式 大容量 Flash EEPROM A D 转换 硬件乘法器 硬件脉宽调制器 PWM 等功能特点 较好 的实现了强大的功能与超低功耗的结合 而且在功能同样的情况下 管脚较少 封装体积小 价格比其他型号便宜 因此具有很好的性价比和应用适应性 3 1 2 ATmega16 单片机简介单片机简介 本系统中所采用的单片机为 Atmel Mega16 单片机 Mega16 是高性能 低 功耗的 8 位 AVR 10 微处理器 16K 字节的系统内可编程 Flash 具有同时读写 的能力 即 RWW 512 字节 EEPROM 1K 字节 SRAM 32 个通用 I O 口线 32 个通用工作寄存器 用于边界扫描的 JTAG 接口 支持片内调试与编程 三 个具有比较模式的灵活定时器 计数器 T C 片内 外中断 可编程串行 USART 有其实条件检测器的通用串行接口 8 路 10 位具有可选差分输入级可 编程增益 TQFP 封装 的 ADC 具有片内振荡器的可编程看门狗定时器 一 个 SPI 串行端口 以及六个可以通过软件进行选择的省电模式 工作于空闲模 式 CPU 停止工作 而 USART 两线接口 A D 转换器 SRAM T C SPI 端 口以及中断系统继续工作 掉电模式时晶体振荡器停止震荡 所有功能除了中 断系统和硬件复位之外都停止工作 在省电模式下 异步定时器继续运行 允 许用户保持一个时间基准 而其余功能模块处于休眠状态 ADC 噪声抑制模式 时终止 CPU 和除了异步定时器与 ADC 以外所有 I O 模块的工作 以降低 ADC 转换的开关噪声 Standby 模式下只有晶体或谐振振荡器运行 其余功能模块处 于休眠状态 使得期间只消耗极少的电流 同时具有快速启动的能力 扩展 Standby 模式下则允许振荡器和异步定时器继续工作 本芯片是以 Atmel 高密度非易失性存储器技术生产的 片内 ISP Flash 允许 程序存储器通过 ISP 串行接口 或者通用编程器进行编程 也可以通过运行于 AVR 内核之中的引导程序进行编程 引导程序可以使用任意接口将应用程序下 长春理工大学本科毕业设计 11 载到应用 Flash 存储区 Application Flash Memory 在更新 Flash 存储区时引 导 Flash 区 Boot Flash Memory 的程序继续运行 实现了 RWW 操作 通过 将 8 位 RISC CPU 与系统内可编程的 Flash 集成在一个芯片内 ATmega16 成为 一个功能强大的单片机 为许多嵌入式控制应用提供了灵活而低成本的解决方 案 VCC 数字电路的电源 GND 地 端口 A PA7 PA0 端口 A D 转换器的模拟输入端 端口 A 为 8 位双向 I O 口 具有可编程的内部上拉电阻 其输出缓冲器具有对称的驱动特性 可以 输出和吸收大电流 作为输入使用时 若内部上拉电阻使能 端口外部电路拉 低时将输出电流 在复位过程中 即使系统时钟还未起振 端口 A 处于高阻状 态 端口 B PB7 PB0 端口 B 为 8 位双向 I O 口 具有可编程的内部上拉 电 PB0 XCK T0 1 PB1 T1 2 PB2 INT2 AIN0 3 PB3 OC0 AIN1 4 PB4 SS 5 PB5 MOSI 6 PB6 MISO 7 PB7 SCK 8 RESET 9 VCC 10 GND 11 XTAL2 12 XTAL1 13 PD0 RXD 14 PD1 TXD 15 PD2 INT0 16 PD3 INT1 17 PD4 OC1B 18 PD5 OC1A 19 PD6 ICP1 20 OC2 PD7 21 SCL PC0 22 SDA PC1 23 TCK PC2 24 TMS PC3 25 TD0 PC4 26 TDI PC5 27 TOSC1 PC6 28 TOSC2 PC7 29 AVCC 30 GND 31 AREF 32 ADC7 PA7 33 ADC6 PA6 34 ADC5 PA5 35 ADC4 PA4 36 ADC3 PA3 37 ADC2 PA2 38 ADC1 PA1 39 ADC0 PA0 40 PDIP 图 3 1 Mega16 单片机引脚图 阻 其输出缓冲器具有对称的驱动特性 可以输出和吸收大电流 作为输入使 用时 若内部上拉电阻使能 端口被外部电路拉低时将输出电流 在复位过程 中 即使系统时钟还未起振 端口 B 处于高阻状态 端口 C PC7 PC0 端口 C 为 8 位双向 I O 口 具有可编程的内部上拉 长春理工大学本科毕业设计 12 电阻 其输出缓冲器具有对称的驱动特性 可以输出和吸收大电流 作为输入 使用时 若内部上拉电阻使能 端口被外部电路拉低时将输出电流 在复位过 程中 即使系统时钟还未起振 端口 C 于高阻状态 如果 JTAG 接口使能 即 使复位出现引脚 PC5 TDI PC3 TMS 与 PC2 TCK 的上拉电阻被激活 端口 D PD7 PD0 端口 D 为 8 位双向 I O 口 具有可编程的内部上拉 电阻 其输出缓冲器具有对称的驱动特性 可以输出和吸收大电流 作为输入 使用时 若内部上拉电阻使能 端口被外部电路拉低时将输出电流 在复位过 程中 即使系统时钟还未起振 端口 D 于高阻状态 RESET 复位输入引脚 持续时间超过最小们现实间的低电平将引起系统 复位 持续时间小于门限间的脉冲不能保证可靠复位 XTAL1 反向振荡放大器与片内时钟操作电路的输入端 XTAL2 反向振荡放大器的输出端 AVCC AVCC 是端口 A 与 A D 转换器的电源 不使用 ADC 时 该引脚 应直接与 VCC 连接 使用 ADC 时应通过一个低通滤波器与 VCC 连接 AREF A D 的模拟基准输入引脚 3 1 3 ATmega16 的的 I O 端口端口 ATmega16 芯片有 PORTA PORTB PORTC PORTD 简称 PA PB PC 和 PD 4 组 8 位 共 32 路通用 I O 接口 分别对应芯片上 32 个 I O 引脚 所以这些 I O 接口都是双 有的为 3 功能复用 这些 I O 口同外 围电路有机结合 构成各式各样的单片机嵌入式系统的前向 后向通道接口 人机交互接口和数据通信接口 可实现千变万化的应用 作为数字 I O 使用时 所有 AVR I O 端口都具有真正的读 修改 写功能 这意味着用 SBI 或 CBI 指令改变某些管脚的方向 或者是端口电平 禁止 使 能上拉电阻 时不会无意义地改变其他管脚的方向 或者是端口电平 禁止 使 能上拉电阻 输出缓冲器具有对称的驱动能力 可以输出或吸收大电流 直接 驱动 LED 所有的端口引脚具有与电压无关的上拉电阻 每个端口都有三个 I O 存储器地址 数据寄存器 PORTx 数据方向寄存 器 DDRx 和端口输入引脚 PINx 数据寄存器和数据方向寄存器为读 写寄 存器 而端口输入引脚为只读寄存器 但是需要特别注意的是 对 PINx 寄存 器某一位写入逻辑 1 将造成数据寄存器响应位的数据发生 0 与 1 的交替变化 当寄存器 MCUCR 的上拉禁止位 PUD 置位时所有端口引脚的上拉电阻都被禁 止 每个端口引脚都具有三个寄存器位 DDxn PORTxn 和 PINxn DDxn 位 长春理工大学本科毕业设计 13 于 DDRx 寄存器 PORTxn 位于 PORTx 寄存器 PINxn 位于 PINx 寄存器 引脚配置为输入时 若 PORTxn 为 1 上拉电阻将使能 如果需要关闭 这个上拉电阻 可以将 PORTxn 清零 或者将这个引脚配置为输出 复位时各 引脚为高阻态 即使此时并没有时钟在运行 当引脚配置为输出时 若 PORTxn 为 1 引脚输出高电平 1 否则 输出低电平 0 在 高阻态 三态 DDxn PORTxn 0b00 输出高电平 DDxn PORTxn 0b11 两种状态之间进行切换时 上拉电阻使能 DDxn PORTxn 0b01 或输出低电平 DDxn PORTxn 0b10 这 两种模式必然会有一个发生 通常 上拉电阻使能是完全可以接受的 因为高 阻环境不在意是强高电平信号输出还是上拉输出 如果使用情况不是这样子 可以通过置位 SFIOR 寄存器的 PUD 来禁止所有端口的上拉电阻 不论如何配置 DDxn 都可以通过读取 PINxn 寄存器来获得引脚电平 PINxn 寄存器的各个位与其前面的锁存器组成一个同步器 这样就可以避免在 内部时钟状态发生改变的短时间范围内由于引脚电平变化而造成的信号不稳定 其缺点是引入了延迟 3 2 小车的硬件电路设计小车的硬件电路设计 3 2 1 微处理器模块电路微处理器模块电路 微处理器用 Atmel Mega16 单片机构成的最小系统 11 组成 其包括晶振 一个复位电路和一个小车运行模式选择按键 其中晶振大小为 16MHz 复位开 关为微动开关 模式选择开关则为带锁开关 可实现模式选择的锁定 以便主 程序查询 电路图如图 3 2 所示 长春理工大学本科毕业设计 14 12 16M 30pF 30pF GND 10K S1 GND VCC 10K S2 VCC GND PB0 XCK T0 1 PB1 T1 2 PB2 INT2 AIN0 3 PB3 OC0 AIN1 4 PB4 SS 5 PB5 MOSI 6 PB6 MISO 7 PB7 SCK 8 RESET 9 VCC 10 GND 11 XTAL2 12 XTAL1 13 PD0 RXD 14 PD1 TXD 15 PD2 INT0 16 PD3 INT1 17 PD4 OC1B 18 PD5 OC1A 19 PD6 ICP1 20 OC2 PD7 21 SCL PC0 22 SDA PC1 23 TCK PC2 24 TMS PC3 25 TDO PC4 26 TDI PC5 27 TOSC1 PC6 28 TOSC2 PC7 29 AVCC 30 GND 31 AREF 32 ADC7 PA7 33 ADC6 PA6 34 ADC5 PA5 35 ADC4 PA4 36 ADC3 PA3 37 ADC2 PA2 38 ADC1 PA1 39 ADC0 PA0 40 U1 Mega16 图 3 2 Mega16 最小系统 3 2 2 电源模块电路电源模块电路 电源可以采用 4 节 1 5V 电池直接供电 但是 6V 的电压不能同时给单片机 与电机供电 并且由于小车电机功耗大 这种方案中电源容易受电路的影响 因此在此系统中采用 LM2940 来供电 LM2940 是输出电压固定的低压差三端稳压器 输出电压 5V 输出电流 1A 输出电流 1A 时 最小输入输出电压差小于 0 8V 最大输入电压 26V 工 作温度 40 125 内含静态电流降低电路 电流限制 过热保护 电池反接和反插 入保护电路 该模块采用 LM2940 作为稳压芯片 其输入用 6 节干电池供电 输出为 5V 为整个系统提供稳定的 5V 电源 该设计可以提高系统的稳定性以及降 低系统对工作环境的要求 电路中加入带锁按键可以在停止工作时切断电源 以节省电源 并且在输入输出端分别加入了 LED 指示灯 指示电源的工作状态 其电路图如图 3 3 所示 长春理工大学本科毕业设计 15 VinVout GND LM2940 47uF22uF 470470 VCC GND S1 图 3 3 电源模块 3 2 3 循迹模块电路循迹模块电路 脉冲调制的反射式红外发射接收器返回的信号较弱 且直接输入给单片机 的话容易产生误判 而对信息处理出现错误的分析 以致出现循迹的错误 因 此 需要经过前置电路对其进行放大 滤波 电平调整 12 满足单片机输入信 号的要求 本系统采用的 LM339 比较器实现滤波及电平调整 常见的运算放大 器中 LM339 价格低廉 使用简单等优点比较突出 因此本设计中的信号处理 电平调整用 LM339 作为电路的比较器 Output2 1 Output1 2 VCC 3 Input1 4 Input1 5 Input2 6 Input2 7 Input3 8 Input3 9 Input4 10 Input4 11 GND 12 Output4 13 Output3 14 U3 LM339N 15K15K15K VCC PC1 PC0VCC Left Mid VCC GND VCC PC2 GND Right R1 100 10K R4R2 100 R3 100 GND VCC 10K R5 10K R6 Left Mid Right U11 U12 U13 VCC GND 图 3 4 循迹模块电路图 LM339是四电压比较器集成电路 其工作电源电压范围宽 单电源 双电 源均可工作 LM393 339是高增益 宽频带器件 像大多数比较器一样 如果 输出端到输入端有寄生电容而产生耦合 则很容易产生振荡 这种现象仅仅出现 在当比较器改变状态时 输出电压过渡的间隙 电源加旁路滤波并不能解决这个 问题 标准PC板的设计对减小输入 输出寄生电容耦合是有助的 减小输入电 阻至小于10K将减小反馈信号 而且增加甚至很小的正反馈量 滞回1 0 10mV 能导致快速转换 使得不可能产生由于寄生电容引起的振荡 除非利用滞后 长春理工大学本科毕业设计 16 否则直接插入IC并在引脚上加上电阻将引起输入 输出在很短的转换周期内振 荡 如果输入信号是脉冲波形 并且上升和下降时间相当快 则滞回将不需要 比较器的所有没有用的引脚必须接地 如图 3 4 所示 即为循迹模块电路图 其中红外发射接收对管将信号返回 至 LM339 正输入端 与负输入端电压比较 当大于负输入端电压时 输出端为 高电平 反之 则输出为低电平 如当路线为黑线时 接收管则不导通 LM339 正输入端为高电平 此时比较器的输出也为高电平 反之 为地面或白 色时 比较器输出为低电平 并且模块灵敏度可由电位器调节负端输入电压来 调节 循迹模块三个传感器安装主要是分为左中右 前进时中间的传感器在黑线 上 这样安装能使小车更稳定地在规定的路线上行驶 即中间的传感器是第一 级保护 当小车偏离路线时 快速的反应使小车能纠正回到规定路线 外面的 两个传感器是第二级保护 即当小车转大角度时 第一级保护传感器得到反应 时用于对小车路线的纠正 这样能使小车更稳定地运行 3 2 4 避障模块电路避障模块电路 避障模块有两部分组成 包括探测左前右前的红外对管 如图 3 5 和超声 波 如图 3 6 R21 100 10K R23R22 100 VCC 10K R24 U21 U22 VCC GNDGND 1OUT 1 1IN 2 1IN 3 GND 4 2IN 5 2IN 6 2OUT 7 VCC 8 U4 LM358 10K15K VCC GND PD2 Left F VCC VCC PD3 Right F VCC GND VCC GND Left F Right F 图 3 5 左前右前避障模块 长春理工大学本科毕业设计 17 图 3 6 超声波模块 其中如图 3 5 示 左前右前避障传感器为脉冲调制的反射式红外发射接收 器 但其较容易受光线影响 而图 3 6 示的超声波模块测距对所探测物体斜度 有要求 两者结合既可不受被测物体斜度的影响 而且可以对高度不同的障碍 物进行探测 增加了探测的准确性和全面性 增加了避障的准确度 3 2 5 驱动模块电路驱动模块电路 本文设计的小车采用直流电机提供动力 并且电机均接有具有保护作用的 大电感 其电路图如图 3 7 所示 GND 1 Sense A 2 N C 3 Out1 4 Out2 5 Vs 6 Input1 7 Enable A 8 Input2 9 GND 10 GND 11 VSS 12 Input3 13 Enable B 14 Input4 15 Out 3 16 Out4 17 N C 18 Sense B 19 GND 20 U2 L298 GND GNDGND OUT1 OUT2 OUT3 OUT4 Vs VCC In1 In2 In4 In3 OUT1 OUT2 OUT3 OUT4 D1D2D3D4 D5D6D7D8 VsV GND 1 2 3 4 5 6 P1 Header 6 E1 E1 In1 In2 E2 In3 In4 E2 M B1 Motor M B2 Motor L1 L2 图 3 7 驱动模块 如图所示 小车采用直流电机提供动力 L1 L2 两个大电感对电机其保护 作用 由有 L298 驱动模块驱动电机 L298N 是一种内含两个 H 桥的高电压大 电流全桥式驱动器 13 接收标准 TTL 逻辑电平信号 可驱动 46V 2A 以下的 电机 可分别独立驱动两个直流电机 本设计即用了这样的连接方式驱动左右 两个电机 E1 E2 接控制使能端 控制电机的停转 In1 In4 接单片机的输出 端 用于控制电动机转向 表 3 1 为 L298N 的 E1 功能逻辑 L298N 中 E2 In3 In4 的逻辑与表 3 1 相同 长春理工大学本科毕业设计 18 表 3 1 L298N 的 E1 功能逻辑 E1 In1 In2状态 0 停止 1 0 1正转 1 1 0反转 1 1 1刹车 1 0 0停止 3 2 6 显示模块电路显示模块电路 如图 3 8 所示 本系统使用发光二极管来显示障碍物的情况和小车的运行 状态 以方便小车的调试和实验 并且加上限流电阻 以实现对发光二极管的 保护 提高系统的安全稳定性能 发光二级光均为共阳极 当单片机给低电平 时 发光二极管被点亮 根据传感器返回的信息 单片机控制发光二极管的亮 灭 当左侧传感器测到有障碍时 则标有 左前障碍 的发光二级光被点亮 当小车右转时 则标有 右转 的小灯会被点亮 1K 470 VCC VCC PC7 PA6 PA7 PC6 PD5 PD6 PD7 制制 制制 制制 制制制制 制制制制 制制制制制制 图 3 8 显示模块 长春理工大学本科毕业设计 19 第第 4 章章 小车的软件设计小车的软件设计 本论文中 软件解决的是单片机对信息的接收及处理的问题 即实现收集 信息 对小车运行状态控制和对信息的显示 本系统应用 ICCAVR 进行编程 采用 C 语言编程 14 使用 Progisp 对单片机进行程序的烧写 4 1 主程序设计及流程图主程序设计及流程图 主程序流程图如图 4 1 所示 首先单片机初始化 包括对定时器及端口的 初始化 然后检测模式选择按键的状态 若为循迹模式 则进入循迹子程序 查询循迹传感器的状态 进行循迹处理 若为避障模式 则进入子程序 对壁 障传感器进行查询处理 并且每次都需要检测按键状态 保证小车的运行模式 不出现错误 小车根据按键状态识别运行模式 当按键闭合时进入避障模式子程序 当 按键断开时 小车为循迹模式 执行循迹子程序 开始 程序初始化 模式选择按键闭合 执行避障子程序执行循迹子程序 结束 N Y 图 4 1 主程序流程图 长春理工大学本科毕业设计 20 4 2 避障子程序设计及流程图避障子程序设计及流程图 避障子程序主要实现对有无障碍的判断 从而对小车给与正确的运行指令 实现避障 避障传感器有左前 右前 正前三个传感器 对障碍进行探测 对 障碍的探测更准确全面 如当正前方有障碍 而左前方无障碍时 则可是小车 左转 避开障碍 先判断正前方传感器状态 再对左前右前的状态进行判断 根据三个传感器的状态便可实现对小车状态的控制 如若三个方向都有障碍时 则小车先实施后退再进行做左转 防止其撞上障碍物 其程序流程图如图 4 2 所示 开始 端口初始化 正前方有 左前方有 左前方有 右前方有 右前方有 左转 前进 右转 后退左转 左转 显示 返回 Y N Y N Y N Y Y N N 图 4 2 避障子程序流程图 长春理工大学本科毕业设计 21 4 3 循迹子程序设计及流程图循迹子程序设计及流程图 循迹主要依靠车体前方三个并排固定的脉冲调制的反射式红外发射接收器 采集黑线信息 返回至单片机进行分析处理 对小车的运行加以控制 使小车 始终循着黑线前进 其三个传感器分别为左 中 右 当小车状态不为白黑白 时 则小车状态实施转向调整 直至转至白黑白状态 若为黑黑黑状态则可检 测为十字路口 则直接前行通过 最后为白白白时 则小车停止 三个传感器 协调工作 则可实现准确循迹 其程序流程图如图 4 3 所示 开始 初始化 左中右 黑黑黑或黑白黑 左中右 白白黑或白黑黑 左中右 白白白 左中右 黑白白或 黑黑白 返回 停止 显示 右转 显示 直到白黑白 左转 显示 直到白黑白前进 显示 Y Y Y 左中右 白黑白 前进 显示 Y N N Y N N N 图 4 3 循迹子程序流程图 长春理工大学本科毕业设计 22 结结 论论 通过此次毕业设计 我不仅把知识融会贯通 而且丰富了大脑 同时在查 资料的过程中了解了许多课外知识 开拓了视野认识了将来电子的发展方向 使自己在专业知识方面和动手能力方面有了质的飞跃 本次设计以 Mega16 为主控芯片对循迹避障小车的硬件和软件进行了设计 采用 Mega16 单片机控制小车 具有稳定性好 编程方便自由 易于扩展等优 点 最后对设计的小车进行了实验 在地面上用黑胶布粘出不同的轨道 小车 能很好地识别路径 避障 运行稳定 障碍及小车运行状态显示准确 有一定 的抗干扰能力

温馨提示

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

评论

0/150

提交评论