




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
平板球实验系统 硬件设计 目录 1 引言和概述 1 2 系统的总体设计方案 4 2 1 系统结构 4 2 2 系统的研究过程 5 2 3 课题的任务 5 3 机械结构的设计方案 6 3 1 机械设计的方案 6 4 硬件选择和设计 7 4 1 电路设计 7 4 2 系统芯片的选择与设计 8 4 3 电机的选择与设计 10 4 4 电机驱动 BTN7971 模块设计 11 4 5 显示屏的选择与设计 11 4 6 角度传感器 MPU6050 模块设计 12 4 7 红外通信模块的选型 13 4 8 摄像头的选型与设计 14 4 9 下载端口和调试端口设计 16 4 10 小结 16 5 软件设计 17 5 1 软件设计的思路 17 5 2 软件总体设计 17 5 2 1 系统和各外设的初始化 18 5 2 2 TFT LCD 显示程序设计 18 5 2 3 角度传感器程序设计 20 5 2 4 摄像头数据采集程序设计 20 5 2 5 红外通信程序设计 21 5 3 小结 22 6 总结与展望 23 6 1 总结 23 6 2 展望 23 致谢 25 参考文献 26 1 1 引言和概述 从 20 世纪以来 人类缔造了一个非常强大工业体系 让我们生活发生了质 的改变 越来越多的机器被运用到了工业和生活生产中 机器也越来越起着非常 重要的作用 人再也离不开机器 为了满足人类日益增长的物质和各种需要 我 们需要更快更好地生产出更多的物品 需要寻求其他的工具替代人去生产 让人 类有更多时间和精力去发明和创造出更好的东西来丰富和完善这个物质的世界 这样才能满足现代化工业 农业 军事以及其他的社会经济等领域 如今是一个信息时代 各个领域中都用到计算机 1 人类可以通过听 说 读 写等方式和外界交换信息 用不同的方式来表达自己的情感 想法等 但是 人类必须要用固定的方式来与计算机交换信息 这样计算机才能被人类所知道 所了解 才能更好运用计算机来满足人类的需求 才能让计算机按照人类的意愿 来做事情 如何让计算机来知道人类的习惯 喜好 要求等等 这是一个让人类 头疼的事情 这也是一个人类需要解决的事情 这样才能让计算机替代人类去工 作 去思考 让计算机拥有像人类一样的也拥有眼睛可以看到东西 拥有嘴一样 的功能可以说话 拥有耳朵可以听见声音 如果计算机也拥有了这些功能 那么 计算机将进入一个全新的时代 智能化时代 这样计算机的运用也将达到一个前 所未有的高度 计算机的智能化也将被运用到人类的各种各样的活动中 这样我 们的制造业 工业 军事 医疗等各个领域都会有一个更好的发展 人类的生活 会变得更加美好 随着时代的发展 科学技术也在快速的在发展 控制理论也在发展 从经典 控制理论 现代控制理论 然后在发展到了智能控制 控制系统可以分为线性系 统和非线性系统 而针对线性系统的应用 经典控制理论和现代理论就可以得到 很好的解决 对于非线性系统 专家们研究出了各种方法 比如自适应控制 变 结构控制 还有智能控制等解决方法 2 而当今是一个现代化时代 计算机的发 展已经很先进了 计算机的视觉的快速发展 将计算机变得智能化 如今的智能 化已经被运用到很多方面 比如在自动化的生产 配置 检测中都得到很好地运 用 计算机视觉在家庭中当服务机器人 可以打扫卫生 洗衣做饭等 在医院中 当做一个运送机器人 可以帮助医生运送病人 可以帮助护士照看病人 并且可 以在复杂的环境中目标的检测 提取 识别和跟踪 还可以获取目标的运动轨迹 和姿态 现在我们需要思考的这些问题 如何运用这些先进的设备和技术 运用 到我们的生活中 计算机视觉的智能化使我们解决的问题 我们如何将控制理论 2 和计算机视觉结合起来 这是一个值得我们思考 我们可以在实验室试验和验证 计算机视觉的运用 在国内外的许多专家学者都设计了很多的方案 基于视觉的 平板球系统 平板球系统是一个非常复杂的控制系统 也是一个典型的非线性的 不确定的 耦合性强的非线性运动学系统 3 平板上的小球是不受任何约束的 在电动机的带动下 平板发生倾斜 小球才会发生运动 平板与小球间存在摩擦 这才会是小球停在平板任意位置 我们想要控制小球按照我们的意愿停在任意位 置 这是一个非常有挑战性的问题 也是我们学习控制系统这个课题必须解决问 题 所以平半球系统的开发与控制是一件非常有意义的事情 3 平板球实验系统是为了学习与研究自动控制 运动控制 图像处理等知识 目前不管是汽车制造 机器人 航天 军事研究中都需要运用控制系统 人机系 统控制等知识 4 这些知识在工业生产中有很大的作用 并且也帮助我们了解现 代控制理论和经典控制理论等 这也方便我们进行试验和研究的平台 平半球系 统 这是一个综合 复杂的研究对象 非常具有挑战性 经典的球杆系统是一维的平面 而本实验的平半球实验系统是一个二维系统 这就是说这里的小球不再只是在一个平面上运动 现在而是在一个平面上运动 这是一个质的改变 识别小球信息和采集小球的位置是通过摄像头来完成的 通 过反馈传到控制器上 通过点击的转动 来调整平板的角度 来实现小球的运动 从而达到设定位置 平板球系统 是一个非线性的 欠驱动的 多变量的控制系 统 4 针对这些问题 采用了许多的方法 通过不同的方法来弥补平板球实验系 统的设备所有的不足 许多的前辈们在这方面做了大量实验 并且想出了许多的 解决办法 比如非线性的控制 参数识别 智能控制 图像处理等 目前该实验 的研究仅限于对小球的定位控制 红外通信传送指令 用单片机进行简单的控制 MPU6050 的运用 通过摄像头 OV7670 识别等 让小球的控制变得更加有意义 这也让我们学习变得更加有实际意义 平板球实验系统是一个任意运动的控制系统 5 这和轨迹机器人有相同的地 方 但是又有区别 对于机器人来说 他们是按照人编写的程序来完成他们指定 的动作的 并且会受到机械架构的束缚 在没有指令前 他们是不会运动的 会 保持他们原来的状态 但是该平板球实验系统中的小球是不会受机械的约束 在 有外界有影响下会发生运动 比如说风 震动 还有小球和平板之间的摩擦力 他们都会影响小球的运动情况 小球上是没有任何传感器 小球不会知道自己该 如何运动 何时该停 平板球实验系统中我们只能通过摄像头的反馈知道小球的 运动轨迹和具体的位置 才能驱动电机的旋转让平板发生倾斜 让小球发生运动 这里如何通过运用摄像头 电机的转动 角度传感器 红外通信设备 来实现小 球的运动到指定的位置 这是一个非常有挑战的课题 由于一个强非线性的球板实验系统的运动学模型 状态方程可以转化为一个 3 链接的形式 这是已知的在构建一些无漂移的非完整系统的反馈控制律的有效性 为了解决这个问题 我们利用时间状态控制的形式 一种规范形式 涵盖了更广 泛的一类系统比链接的形式 这种形式是首次应用到两个独立的子问题 位置控 制 在球的平面位置进行控制 而不是方向和方向的控制 在不改变方向是控制 球和板之间的位置关系 6 在试验中 会遇到许多的问题 小球与平板之间摩擦力大小无法计算 不知 道需要什么样的小球和平面才是最理想的 还有小球的质量的大小也会影响该试 验成败 质量越大 摩擦力也越大 这也是一个棘手的问题 摩擦力大的话运动 就不是很快 无法很快达到指定的位置 质量大的话也会影响平板的倾斜 但是 如果我们选择一个质量比较轻的小球 也会受到外界的影响 空气的流动 器械 的抖动等都造成小球位置的改变 使试验误差变得不确定 在运用摄像头采集小 球信息时 会受到当时室内的光照情况所影响 这会影响摄像头的数据采集 这 会直接导致控制系统不能及时知道小球的运动情况 这都是一些客观因素的影响 上述了问题 还需要解决控制精度 控制时间上的问题 因为控制精度 反馈系 统中的最终控制参数值 额定值 而且控制时间 时间成本的反馈控制系统来实现 控制目标 7 平板球实验系统是由许多传感器模块组成的传感器网络 将传感器放置在小 球的周围 以便于观察小球的运动轨迹和运动方向 平半球系统是由摄像头 OV7670 减速电机的驱动 BTN7971 编码器 红外传感器 角度传感器等组成 的 通过这些传感器来完成对小球的控制 达到可以让小球可以在平板上任意位 置上运动 利用红外通信传感器发送指令 让平板球控制系统接收人发出的信息 利用角度传感器的反馈 可以得知平板的倾斜程度 来判断小球的受力是否正确 利用摄像头来识别小球 观察小球的位置 观察小球的运动轨迹 接收小球的的 信息 反馈到平板球实验系统的控制系统中去 在控制系统进行对比 是否按照 人的意愿来运动的 如果不是 就会通过驱动电机的转动 让平板的倾斜发生改 变 是小球的运动也发生改变 从而达到理想的运动轨迹 最终到达实验设定的 位置 4 2 系统的总体设计方案 2 1 系统结构 平板球实验系统主要是基于 STM32 单片机上的实验平台 主要包括硬件和 软件两个部分 平板球实验系统的硬件是由电源模块 摄像头 OV7670 模块 TFT LCD 显示 模块 角度传感器 MPU6050 模块 红外通信传感器模块 编码器等等各种传感 器组成的 平板球实验系统的硬件用的主控芯片是由 STM32F103ZET6 组成 电 源模块是为了系统体统提供 3 3v 5v 12v 的电压 MPU6050 是为了检测平板的 角度偏转情况 是否和小球的运动是否一致或者是否合适 STM32 单片机可以接 收红外通信传感器发送过来的指令 图像采集设备 OV7670 用于采集运动小球图 像 基于图像采集频率和图像处理进一步识别小球运动的空间轨迹 包括位置变 量与速度变量 然后 STM32 单片机做出分析和处理 将 PWM 波信号发送到电 动机的驱动模块 7971 驱动模块 7971 的输出与电动机相连 让电机发生转动 让 小球发生运动 可以按照操作者的指令停在指定位置 以上所有的操作的信息都 可以在 TFT 显示模块显示出来 采用 Keil SoftWare 公司 美资企业 提供的 Keil 产品作为单片机代码编译 平台 该软件平台具有较强的向下兼容性 能够兼容 32 系列单片机 基于 C 语 言开发环境能够编译结构性强 可读性好的硬件驱动程序 成为工业界 学术界 主流硬件开发环境之一 为此 本项目基于 Keil 产品开发了传感器软件驱动代 码 首先 针对本电路系统的元器件进行模块代码编写 再次 对原始代码进行 编译 优化代码 最后 结合硬件进行测试 对于各种模块 首先对其进行初始 化 并将各种传感器的反馈进行分析和处理 最后在主控芯片上发出指令 先将 TFT 显示屏进行初始化 可以让各种需要的数据显示出来 然后对摄像图 OV7620 进行图像处理 可以将小球的信息显示在显示屏上 并且可以将小球的 位置精确的在 TFT 显示屏上显示出来 STM32 可以将角度传感器的信息收集起 来 并且进行数据的处理 然后进行 PID 控制 将反馈回来的信息进行处理 然 后将处理的信息转化为 PWM 波信号 输入给电机驱动 BTN7971 最终让电机发 生偏转 达到让小球停留在指定位置 系统的流程示意图如图 2 1 所示 5 图 2 1 平板球系统流程图 2 2 系统的研究过程 平半球系统硬件设计思路如下 首先 先学习如何使用 Altium Designer 简称 DXP 硬件开发软件 在电路设计软件平台 DXP 上完成电路图设计 实现各种模 块的功能 最终完善原理图的设计 最后将电路图打印到电路板上 其次 选择 合适的传感器的类型和用途 还有各种需要的原件 原件和传感器如 通信传感 器 摄像头 电动机 主控芯片 角度传感器 编码器等等 再进行电源的设 计 利用 AMS1117 来制作设计电源 提供主控板的电源 并且输出 12V 5V 还 有 3 3V 的电压 通信部分没有才按键来控制系统芯片 而是采用了红外遥控通 信模块 设计简单 使用方便快捷 显示部分采用了 TFT LCD 显示屏 屏幕的 功能强大 并且可以进行触屏的软件设计 最后将各类原件和系统板进行焊接 用 KEIL 软件编写平台进行功能程序的实现 2 3 课题的任务 该平板球系统 硬件设计的主要内容 1 可通过摄像头检测小球位置图像 2 可对两个电机独立驱动 3 交互接口设计 平板球系统软件部分设计的主要内容 1 可通过摄像头检测小球位置图像 2 可对两个电机独立驱动 保持平板水平 3 设计软件使小球运动到指定位置 通过对平板球系统软件和硬件的设计 让小球实现所有功能 完成对小球的 位置的指定控制 主控芯片 STM32F103ZET6控制 电机 显示屏 红 红外遥控 摄像头 平板 电机 驱动 角度传 感器 6 3 机械结构的设计方案 3 1 机械设计的方案 机械部分包括底座 支架部分 减速电机 带编码器 小球 球盘 摄像头 安装架 角度传感器 红外通信模块 电动机的驱动 BTN7971 等 如图 3 1 所示 平板上放了一个小球 可以自由的运动 平板是靠的是支架 支撑起来的 并且还需要靠与电动机相连的转轴才能保持平衡 平板的倾斜是靠 电动机的转动而发生偏转的 通过转动轴的运动就可以让平板在 X 轴上和 Y 轴 上发生偏转 从而实现小球的滚动 单点的支撑是在底座上的 摄像头是通过支 架放在平板的上方 便于收集小球的信息 观察小球的位置及运动情况 主控芯 片 STM32 接收各种信息 这样就能构成一个闭环反馈系统 从而可以在平板上 控制小球的位置和运动的轨迹 8 角度传感器是放在平板的下方 并且需要水平的粘贴在平板下方 才能尽可 能减小人为误差 这样才会得出理想的结论和试验效果 编码器是减速电机自身 带有的 这样用起来很方便 很有利于硬件的安装 编码器是一个增量式编码器 可以检测出电动机实际的角度偏转值 在设计的时候 考虑到系统采用减速电机作为动力的来源 所以在减速电机 的轴承上安装了一个转动轴 然后用一个跟铁棒将转动轴和平板固定 这样既可 以是小球拥有动力 也可以使平板有一个支撑点 减少中心轴上的压力 可以使 平板保持平衡 中心轴是与底座相连的 这样是为了给平板一个支点 让平板围 绕这个点在 X 和 Y 轴上运动 平板四周安装了四个围栏 是为了不让小球离开 设定的区域 图 3 1 平板球系统实物图 7 4 硬件选择和设计 4 1 电路设计 平板球实验系统硬件设计主要有系统板 STM32 的电路设计 摄像头 OV7620 9 角度传感器角度传感器 MPU6050 红外传感器 编码器 调试接口 等等部分 运用 Altium Designer 10 软件绘制电路图 打印电路图 将其做成电路 板 采用 Altium 公司提供的 Altium Designer 电路图板应用软件 用于电子产品 的电路系统开发 它是通过把设计者的原理图设计 电路的仿真 PCB 的绘制编 辑 拓扑逻辑的自动布线 信号完整性的分析和设计输出等技术的完美结合 11 Altium Designer 只需要设计者在进行原理图设计输入后便可以正确的仿真 模拟电子元器件 从而不需要 通过 A D 转换 D A 转换 把原理图转换到其他的 模块中去 12 Altium Designer 可以对设计者所画的原理图进行仿真 设计者可以 很方便的查看电路图和分析电路的性能指标 这样就可以很快的发现其中的不足 并且能够及时进行修改 这大大缩短了电路的设计周期 提高了电路的性能指标 这款软件开发软件大大地为研发者提供了一个硬件设计的解决的方案 这让设 计者可以在该软件开发平台上很轻松的进行硬件设计 这样可以便于硬件开发者 大大提高电路设计的质量和效率 帮助设计者解决硬件设计这个难题 也为很多 的硬件设计者节约成本还有设计所需要的时间 Altium Designer 的使用流程 1 原理图的设计 新建一个原理图的文件夹 打开硬件开发的编辑环境 这个和普通的原理图设计大概是一致的 打开 Libraries 加入我们电路设计 所需要的原件的原理图 通过拖拽功能增添电子元器件的封装 并设置电子 元器件的工作参数 所采用元器件具有 Simulation 仿真的通用属性 型号 大小等 保证在仿真过程中不出现器件不符等设置错误 然后将各种元件 进行排版 这样会方便我们布线 打孔等等设计 最后将各种元件用线把他 们连起来的 并且用字母和数字进行标注 且对整个电路进行编译 校验 从而验证设计的电路图是否有错误 电路图设计硬件平台如图 4 1 所示 8 图 4 1 硬件平台 2 设置仿真的环境 打开 Altium Designer 中的文件 然后打开 Analysessetup 设置仿真的方式 指定要显示的数据和图标 Altium Designer 软件中有 10 多种分析仿真的方式 比如 直流的工作点 直流的扫描 交流电的信号 瞬 态过程 传输函数 温度的扫描等等 13 3 仿真设置 设置仿真的环境后 就单击 OK 按键 这样 Altium Designer 软 件就可以自动的进行电路的仿真 会生成一个 sdf 文件夹 同时会产生一个该电 路图的分析结果 4 仿真结果 观察所生成的模拟电路 分析其的是否有错误和不足 是否符 合我们所需要的电路图 如果有不恰当的地方 我们应该及时进行修改 知道达 到理想的电路模拟图为止 Altium Designer 仿真后的电路原理图如图 4 2 所示 图 4 2 仿真图 4 2 系统芯片的选择与设计 平板球系统的核心控制芯片的选择及比较 单片机都是可以兼容 Intel 的指令 系统 Intel 的 8004 单片机是单片机的始祖 后来随着技术的发展 该单片机的 发展达到了一个最高点 是世界上用得最广泛的单片机之一 随着单片机在工业 上的广泛运用 所以单片机的历史上出现了百花齐放百家争鸣的景象 并出现许 多单片机类型 在很长的一段时间内 单片机占据了绝对的优势和地位 这也让 单片机被许许多多的工程师所熟悉 以下是几款计较常用的单片机 方案一 使用 STC 的 51 系列控制芯片 STC 的 51 单片机是一款有 STC89C51RC 的控制系统 是由宏晶科技公司生 产的 单片机是一个 8 位的处理器 该单片机包含了中央处理器 程序处理器 数据存储器 定时器 计数器 UART 串口 I O 接口 高速 A D 转换 SPI 接 口 看门狗等等模块 这几乎包括控制 还有数据采集的所有模块单元 简直就 是一个小型电脑处理器 小巧 方便 简单 快捷 STC 的 51 单片机是一款具有单时钟的单片机 具有高速 低功耗 并且还 有超强的抗干扰的性能 对我们学生来说 这款芯片操作简单 价格比较低廉 9 对于初学者编程容易上手 因为 这个控制芯片运用的是 C 语言编写程序 C 语 言又是每一位工科生必备的常用技能 这也是许多的人喜欢用的控制芯片 但是该单片机处理数据过慢 不适合平板球系统的控制芯片 它不能快速的 分析和处理出摄像头所反馈回来的数据 从而影响工作的效率 并且该芯片不能 使用 TFT LCD 显示屏 因为它是一个基于 8 位的处理芯片 在平板球试验中没 有像 TFT LCD 显示屏这样的显示功能 那么我们在试验中观察小球的信息 位 置 及运动轨迹都是一个比较麻烦的问题 这款芯片也无法达到准确的控制这个 功能 我们在实验室中需要运用两个电机 4 块电机驱动 BTN7971 两个 PID 控 制算法 所以这块芯片不能 用于我们试验中去 所以不选择 方案二 MSP430 控制芯片 MSP430 控制芯片是由美国的德州仪器公司 TI 生产的 这是一款具有 16 位低功耗的有点 并且还有简单指令控制的控制芯片 如果是由电池供电的电路 采用这个 MSP430 控制芯片是一个非常理想的选择 它的 CPU 有 16 个寄存器 可以保证指令执行的时间大大缩短 节约了编译的时间 它还采用了寄存器结构 的指令体系 为了软件开发者提供了一种非常强大的 并且方便使用的汇编语言 虽然它有这么多的优点 但是对于现在的我们 这款芯片我们很少接触 对于它 的使用和操作都不是很了解 也不是很熟悉它的指令和汇编寄存器 如果我们重 新学习这款芯片 那必会浪费很多时间和精力 得不偿失 该实验使用的摄像头 是 ARM 的封装的摄像头 如果使用这款芯片 就必须修改原有的摄像头程序 所 以不选择这款芯片 方案三 STM32F103ZET6 控制芯片 STM32F103ZET6 控制芯片是一款有 Cortex M3 为内核的单片机 它具有强 劲的性能 更好的代码密度 拥有 16 位带操作 可以嵌套中断 低成本 底功 耗等优势 14 可以用买 8 位系统单片机的钱 就可以买到 STM32 单片机 这是我们学生 首选 毕竟学生是没有经济收入的 只有选择一些物美价廉的单片机 STM32 具 有强大的功能 有 FSMC TIMER SPI IIC USB ADC DAC DMA 等众 多的外设功能 并且还有极高的集成度 它的型号也很丰富 这也为我们的型号 选择提供了很好地资源 它有 84 个中断 16 级可编程优先级 并且所有的引脚 都可以作为中断的输入脚 它的每一个外设口都有自己的独立的时钟开关 可以 通用软件设置 来关闭对应的外部设备的时钟 从而可以降低系统板的功耗问题 底层资源丰富 处理数据速度快 最高可以达到 72MHz 的工作频率 这样可以 很快的处理和分析摄像头反馈回来的数据 很好 很快的得出结论 并且可以精 确的显现在 TFT LCD 显示屏上 这样可以方便我们观察小球的位置 和运动轨 迹 10 综合考虑我们选择方案三 采用 STM32F103ZET6 控制芯片 4 3 电机的选择与设计 方案一 选用舵机 舵机是由信号调制芯片接收控制信号的 可以获取直流的偏压 舵机内部有 一个基准电路 可以产生一个长为 20ms 宽为 1 5ms 的基准信号 15 从而可以 获得一个驱动电压 这个驱动电压的正负是控制电机正反转 当这个驱动电压为 0 的时候 舵机就会停止转动 虽然舵机的操作比较简单 只需要给定一个 PWM 值 舵机就可以按照设点角度转动 但是 由于我们设计的机械架构的质量比较 重 而舵机的扭矩小 无法带动平板在 X 轴和 Y 轴上运动 平板在 X 轴和 Y 轴 上的运动必须很灵敏 快速 而舵机的调节速度慢 不利于我们控制平板快速发 生运动 不利于在 X 轴和 Y 轴上的快速反应 所以不选择舵机 方案二 选用步进电机 步进电机 16 是将电脉冲信号转换为角位移 还有线位移的开环控制电机 17 步进电机转速和停止位置的选择都是取决于脉冲信号的频率和脉冲数的 18 不会 受其他的因素所影响 所以它就可以很精确的根据脉冲数来控制步进电机转过的 角度 也可以通过控制脉冲的频率来控制电机转动的速度还有加速度 从而达到 调速的目的 19 如果使用步进电机就可以做到角度的偏转精确控制 这样我们在 平板系统使用的话 就可以在平板的 X 轴和 Y 轴上做到角度精确控制 需要多 大角度的偏转 就可以通过调节 PWM 的占空比 就能让电机发生相应角度的偏 转 这为我们的平板球系统提供了一个绝对优势 虽然步进电机有这么多的优点 但是在控制这个电机的时候 就出现很多的 问题 因为控制不当的时候就让步进电机产生震荡 会让电机的电流过大 导致 烧坏驱动 很难把电机的转速控制到最快 我们也很难得到一个比较大的转矩 在实验中 将电机安装在底座上 由于平板的转动需要轴承的支撑 所以会导致 电机打滑 这会导致实验的失败 要做到步进电机的精确控制 就需要一个很 好地驱动 这样电机驱动的设计就比较复杂 也会比较麻烦 PCB 制图也就比较 困难 再加上电机价格比较昂贵 不是适合毕业设计的选择 所以不选择步进电 机作为该实验的电机 方案三 选用减速电机 带电机编码器 减速电机是有编码器 减速器 还有电机的组合体 这样设计既节约了成本 也节约了空间 使电机在使用上具有可靠地耐用性 也将承受力大大提高 由于 减速电机的精简设计与制造 这样就降低了它所消耗的能量 性能也有一个质的 飞跃 减速电机具有永磁性和反应式的优点 这样会增加电机的使用时间 对于 大学生来说 这是一个相当划算的电机 耐用 并且该电机的扭矩很大 这满足 了本实验所需要的扭矩大这个指标 它的加速度也很大 这能让它在短时间快速 11 的做出反应 这样在控制小球的运动可以做到一个快速 精确的控制 减小本实 验的误差 所以这个减速电机是非常适合平板球系统硬件设计要求的 所以选择 减速电机作为该实验的电机 4 4 电机驱动 BTN7971 模块设计 本系统采用了 4 个 BTN7971 模块集合成一个电路驱动 这样可以将电机和 单片机的 5V 电源分隔开 有效的保护了单片的安全 不会因为电动机使用了 12V 的电源而导致单片机由于大于额定电压而损坏 在设计 BTN7971 电机驱动 的时候 考虑到我们需要两个电动机 所以在设计时才用了 4 个 PWM 输入口 1 个 VCC 接口和 1 个 GND 接口 每一个 BTN79711 都可以单独的稳定输出 这 样让我们在使用减速电机时候非常的方便 这样会让电动机之间的链接变得简单 BTN7971 的工作电压是 7V 到 14V 它的电压范围恰好满足减速电机 12V 的 工作电压 这样有利于调节电机的速度 BTN7971 驱动还设计也不用担心电机因 为需要快速反应 增大电压而导致超过额定定压而烧坏驱动 驱动模块中有一个滤波电容 有效的对电源进行滤波处理 在电路板下方还 有一个 LED 灯 这样就可以很好地观察驱动的工作是否正常 电路中采用了 74HC573 这个拥有八路输出的锁存器 20 是一种高性能的 CMOS 器件 这样大 大的提高了驱动模块使用性能 74HC573 的兼容性好 这样给工作带来了许多的 便利 它也可以起到保护电路的作用 以保护电路不会被电动机反冲电流而烧坏 这样我就很放心的使用 BTN7971 驱动模块 总之 减速电机采用 BTN7971 模块是一个比较合适的 它的工作电压高 最大工作电压可以达到 14V 输出的电流也比较大 不需要担心电动机因为负载 电流过大而导致驱动模块烧坏 瞬间输出的电流可以达到 10A 持续工作电流为 5V 可以直接通过电源来调节输出电压 并且可以直接用单片机的 I O 口来提供信 号 所以该实验选择使用 BTN7971 驱动模块 BTN7971 模块的电路图如图 4 3 所示 12 图 4 3 BTN7971 部分电路图 4 5 显示屏的选择与设计 方案一 5110 液晶显示模块 5110LCD 显示模块是 84 48 的 LCD 可以在屏幕上显示 4 行汉字 5110LCD 于单片机是采用了串行通信 这样让接口的数量大大减少 包括 VCC 和 GND 在内 只有 9 根数据线 简化了在 PCB 布线和画图时候的工作量 为该 毕业作品节约了许多时间 5110 支持 SPI IIC 等通信协议 这为该程序书写带 来许多便利 可以让成尽可能的优化和简洁 它的传送数据的可以达到 4Mbps 当从各种传感器中收集的数据 需要在显示器上显示的时候 是非常快的 不需 要等待 由于 5110 的控制器和显示屏都结合在一起了 这样模块的体积就会变得很 小 使用起来也会变得很方便 不会占空间 5110LCD 显示屏采用了低压供电 正常工作的时候它的工作电压为 200V 并且还具有掉电模式 如果采用这个 5110LCD 显示模块是非常好的选择 它的性价比高 价格便 宜 功能强大 接口非常简单 仅需要 4 根 I O 线就可以了 比其他类似的模块 相当简单 传送的数据快 是同类的好几倍 它的工作电压为 3 3V 电流非常小 具有掉电模式 但是由于 5110LCD 显示模块是 84 48 的 LCD 显示的东西非常 少 而我们需要显示功能更强大的显示屏 能够将摄像头反馈回来的图像和数据 进行显示 这个 5110LCD 显示屏是做不到这个 所以放弃 5110LCD 方案二 TFT LCD 彩屏显示器 TFT LCD 是一种有源矩阵类型的液晶显示屏 它不仅可以调节亮度 而且还 具有可对比性 它的功耗非常的低 使用的寿命也很长 可以长时间的使用这个 显示屏 显示屏的显示区域为 57 6mm 47 2mm 是一个理想的屏幕大小 合适我 们用来进行图像显示 拥有 320 240 的分辨率 屏幕可以 16 位色 6 万 5 千色 的显示 它不仅采用了高亮度背光 背光亮度好 但是它的功耗低 对于现在提 倡的节能减排是一个非常好的设计 它的屏幕是可以触摸的 并且灵敏度非常好 很灵敏 这让该实验在设定小球的位置的时候非常方便 只需要在屏幕上设定小 球将要停止位置 小球就可以很快的到达指定位置 TFT LCD 的图像处理能力也 非常的好 能够及时的显示出摄像头反馈的信息 小球的图像 还有位置 并且 可以容纳许多的信息而且可以同时显示出来 这将让该试验有了一个比较完美的 屏幕 TFT LCD 可以通过程序调节屏幕的色彩 不仅拥有黑白两色 还可以将物 体真彩的显示出来 所以综合考虑 该实验选择 TFT LCD 液晶显示屏 因为 TFT LCD 拥有强大 的分辨率 有 16 位的真彩显示 还有大容量的显示功能 从而成为该实验首选 屏幕 13 4 6 角度传感器 MPU6050 模块设计 在试验中 需要精确的知道平板在偏转时候偏转的角度 并且对数据进行收 集和处理 从而该平板球系统试验才能更好地反应出控制的好与坏 MPU6050 的通信是靠 IIC 来传送数据到单片机的 这个就像一个 USB 数据 线一样可以传送数据 从而在该试验中替代了数据线 MPU 6050 硬件的引脚是由一个 VCC 工作电压是 3V 5V 并且里面有稳压 芯片的 这样就不需要担心由于电压不稳而烧坏芯片 SCL MPU 作为从机是 IIC 的时钟线 SDA MPU 作为从机是 IIC 的数据线 XCL MPU 作为主机是 IIC 的时钟线 XDA MPU 作为主机是 IIC 的数据线 AD0 地址管脚 决定了 IIC 的低至最低位 INT 中断引脚 我需要重点注意这个 AD0 IIC 通信时是需要 有地址的 只有 AD0 引脚的电压为低电平时 从机的地址就为 0 xD0 该实验选择的 MPU 6050 带有加速度计 陀螺仪 姿态测量 倾角仪等功能 该模块中的姿态精度为 0 01 度 稳定性高 性能都比一般的倾角仪好 MPU 6050 模块由于合理的 PCB 布局和焊接技术 这就大大提高了该模块的抗干扰能 力 所以该实验才使用这个模块 图 4 4 为 MPU6050 模块实物图 图 4 4 MPU6050 实物图 4 7 红外通信模块的选型 该实验选择红外通信模块是为了替代矩阵按键 常规的矩阵按键一般都会使 用 4 4 的矩阵键盘 这样才能使用更多的功能 在使用时候方便 也能在需要很 多按键的情况下设计成矩阵按键 就是为了减少 I O 的使用 通过程序的设计可 以只需要 4 个 I O 就可以控制 16 个按键 但是 这里使用了红外通信模块只需要 一个 I O 就可以解决信息传入问题 就可以替代矩阵按键 在电路原理图设计中 主要运用了红外接收头和红外遥控器两个器件 电路 的设计比较简单 电路中只需要一个信号输入口 一个 VCC 一个 GND 就可 以了 如图 4 5 所示 14 图 4 5 红外通信模块电路图 在设计时是将红外无线模块单独的分离出来的 没有将红外无线模块的电路 加入系统板中 这样方便检查无线通信的通信效果 很容易就可以检查出电路中 的错误或者不足的地方 该实验只需要将信号线与单片机相连就可以了 这样就 可以随意的移动这个输入口 不用担心单片机上接收口的重复 如图 4 6 所示 图 4 6 与单片机的接收口 它相对应的输入就可以用遥控器来控制 如图 4 7 所示 图 4 7 红外遥控器 4 8 摄像头的选型与设计 平板球系统中为了采集到小球的信息和图像 还需要显示小球的位置 所以 该实验需要选择一个摄像头 经过不断试验 选择摄像头 OV7670 21 它是一颗 1 6 尺寸大小的 CMOS VGA 的图像处里传感器 OV7670 拥有摄像的功能和影像 处理器的全部功能 可以按照很多方式输出各种分辨率为 8 位的影像数据 比如 有输出整帧 子采样等方式 图像处理可以大 30 帧 秒 并且可以根据自己需求 来更改摄像头的配置 从而达到最佳效果 OV7670 的色度可以通过程序来任意 调节 远近聚焦也可以手动调节 OV7060 的灵敏度高 适合 STM32 单片机软件 开发 可以兼容 IIC 接口 传送数据很方便 并且支持 VGA 和 CIF 及自动增益 控制和自动平衡等等 OV7060 的功能框图如图 4 8 所示 15 图 4 8 OV7060 功能图 摄像头中最重要的就是图像数据的输出 这将会直接反馈到单片上 会在 TFT LCD 中显示出来的 如图 4 9 为 OV7060 的输出时序 图 4 9 OV7060 的输出时序 摄像头在平板球系统中就相当于我们眼睛 该实验是通过摄像头来观察小球 的图像和运动轨迹 设计时必须考虑摄像头的电路设计和单片机相结合会出现出 的问题并解决 所以必须先了解摄像头的原理图 如图 4 10 为摄像头的模块原理 图 16 图 4 10 摄像头 OV7060 的模块原理图 4 9 下载端口和调试端口设计 该实验放弃使用传统的用 USB 接口的形式来下载程序 因为这种下载方式 过于麻烦 下载的时候需要等待很长一段时间 才能下载完成 并且 USB 接口 的下载方式也比较复杂 需要断电 然后再开电 这样就会不利于该程序的下载 所以这里就选择 J LINK 下载仿真器 J LINK 下载仿真器可以支持 ARM7 9 11 STM32 等等单片机 能够支持很 多类型的单片机 能和各种集成的开发环境链接 所以在操作时候非常方便 链 接也很方便 所以这是一个很实用的开发工具 在下载数据是需要用 USB 接口 提供电源 电压范围为 1 2V 3 3V 它的下载速度最高可以达到 12MHz 下载速 度快 还有具有自带识别通信接口功能 厂家还增强了 USB 接口的过流保护 为了防止短路造成的损坏 J LINK 下载仿真器如图 4 11 所示 图 4 11 J LINK 下载仿真器 4 10 小结 在硬件设计中 采用 PCB 来绘制电路图并且完成电路板的制作 该实验通过 各种方案的比较与考虑 在不停更改各种器件当中 让平板球系统的实验效果达 到最好 所以该实验在平板球实验系统硬件设计中采用了 STM32F103ZET6 作为 主控芯片 TFT LCD 液晶显示屏作为主要的显示屏 减速电机作为主要的电机 并且将 BTN7971 作为减速电机的驱动模块 用 MPU6050 来作为角度传感器 用 红外无线通信模块作为数据的传送 用 J LINK 下载仿真器把程序下载到单片机 中 17 小球位置 给定位置 5 软件设计 为了验证该平板球系统硬件的设计和制作 在完成各项硬件制作后 就需要 进行程序上的演示 只有将程序导入系统板中 才能知道每一个器件是否达到理 想的工作状态 程序的编写也是该平板球实验系统的重要部分 只有程序的完整 才能实现所有功能 才能更好地演示实验效果 5 1 软件设计的思路 在软件设计中的编写中 需要考虑该实验系统的整体性和细节部分 只有整 体把握方向和细节才能使系统更加完善 该实验在编写程序时应该按照以下步骤 1 分析题目的要求 把题目中所需要的实现的功能做一个计划 按照简单 到难这样一个顺序来编写程序 根据模型和元器件的选型来考虑程序的编写 有 了一个计划 才能稳扎稳打的把毕业设计做完做好 所以我们需要把控制的流程 图画出来 如图 5 1 所示 2 各个模块功能的编写 编写程序也像带兵打仗一样 也可以各个击破从而 就可以很容易的取得成功 我们编程时 可以按照每一个模块进行单独的编写 将要实现的功能先单独完成 这样将会减少程序编写的难度 3 整合所有程序 每一个子模块写完以后我们就可以将他们集合成一个整体 只有将他们集合在一起才能发现其中的错误和冲突 程序的编写是要结合硬件和 试验台来完成的 毕竟每一个模块只需要考虑一个方面 但是结合在一起后就需 要考虑整体的兼容性 从而才能保证程序没有任何的错误 4 显示 TFT LCD 每一个模块都会有反馈的信息 这时需要在 TFT LCD 中 显示这些信息 这样才能知道收集的数据是否正确 是否需要修改程序 5 验证 将程序导入单片机中 让单片机驱动试验台的运动 检查编写的程 序是否能满足试验的要求 以及检验硬件工作情况 6 调试程序 为了得到一个完美的数据 必须反复的修改程序 为了得到一 个理想实验效果 需要不停进行程序调试 图 5 1 控制流程图 控制器执行器 板和球 摄像头 图像处理 18 5 2 软件总体设计 该课题研究的目的是让小球停止在平板任意位置 其中 TFT LCD 液晶显示 屏可以显示小球的位置和运动轨迹 该实验的程序编写中包括了中断子程序 定 时器子程序 红外通信子程序 角度传感器子程序 摄像头子程序等 程序框如 图 5 2 所示 图 5 2 程序流程图 5 2 1 系统和各外设的初始化 该实验中将程序导入单片机 单片机上电后系统首先开始进行初始化 只有 对系统自身进行初始化 才能对串口 延时 红外通信 TFT LCD 时钟 中断 等进行初始化或者配置 NVIC Configuration 设置 NVIC 中断分组 2 2 位抢占优先级 2 位响应优 先级 uart init 115200 串口初始化为 9600 LED Init LCD Init tp dev init delay ms 200 KEY Init 必须放在 PWM 之前 Remote Init mpu check mpu init TIM2 PWM Init 5000 0 TIM5 Int Init 25000 71 TIM6 Int Init 25000 71 Encoder8 Init 768 开始 系统初始化 设置显示模式 红外发送指 令 角度传感 器 摄像 头 显示 部分 设置成功 电机转动 N Y 19 5 2 2 TFT LCD 显示程序设计 在程序中需要对小球的信息图像进行显示 还有一些反馈的数据显示在 TFT LCD 上 所以在单片机上需要对显示模块进行单独的处理 该实验采用的是 STM32F103ZET6 为主控芯片的单片机 单片机有 144 个引 脚 而 TFT LCD 只有 17 个引脚 所以引脚很多 不用担心不够用 并且该芯片 处理数据快速 并且屏幕刷新快速 下面是 TFT LCD 的接口图 图 5 3 TFT LCD 模块接口图 WR 是 TFT LCD 的写入数据的引脚 CS 是 TFT LCD 的片选信号 DB 引 脚就是 16 位的双向数据线 用来传输显示数据的 RD 可以读取 TFT LCD 中相 应的数据 其他的引脚都是用来控制 TFT LCD 的 TFT LCD 的复位是 RST 命令 数据的标志是 RS 将数据的类别传输出去 TFT LCD 的屏幕大小是 172820 240 320 18 8 拥有 26 万色的显存容量 TFT LCD 采用的是 ILI9320 控制器作为驱动芯片 以下是 TFT LCD 用到的部分模块程序 1 写 TFT LCD 的数据 void LCD WR DATA u16 data data 要写入的值 LCD LCD RAM data 2 读 TFT LCD 的数据 u16 LCD RD DATA void 返回值 读到的值 return LCD LCD RAM 20 5 2 3 角度传感器程序设计 该实验使用角度传感器不是为了判断小球的位置 而是为了将平板偏转的角 度进行一个反馈 从而时时知道平板的倾斜程度 角度的偏转和小球的运动是有 直接关系的 所以该实验要通过角度传感器知道平板偏转的角度 这有利于数据 的更改和调节 也有利于完善程序 以下为 MPU6050 的部分模块程序 int mpu reg dump void unsigned char ii unsigned char data for ii 0 ii num reg ii 获取角度 if ii st reg fifo r w ii st reg mem r w continue if i2c read st hw addr ii 1 return 0 所以通过这些模块程序将平板的角度偏转时时的反馈到单片机上 然后用 TFT LCD 显示出来 方便观察 通过这样一次次的数据采集和分析 才能得到一 个比较合理的运算结果和理想模型 5 2 4 摄像头数据采集程序设计 前面介绍了一些小模块的子程序 而现在将介绍摄像头的数据采集和处理程 序模块 首先 为了可以时刻的收集到小球的数据和信息 反馈到单片机上 从而在 TFT LCD 上时时显示小球的图像 所以该实验就必须时刻将每一个点的像数值直 接传入 TFT LCD 中的 GRAM 上 然后直接对这个像数值进行处理 后面的传进 来的数据将覆盖前面传进来的数据 这样就可以快速准确的对小球的数据和信息 进行处理和分析 下面为图像的输出程序 void OV7670 Window Set u16 sx u16 sy u16 width u16 height u16 endx u16 endy u8 temp endx sx width 2 21 endy sy height 2 if endy 784 endy 784 temp SCCB RD Reg 0X03 读取 Vref 之前的值 temp temp endx 设置 Vref 的 start 高 8 位 SCCB WR Reg 0X1A endx 2 设置 Vref 的 end 的高 8 位 temp SCCB RD Reg 0X32 读取 Href 之前的值 temp temp endy 设置 Href 的 start 高 8 位 SCCB WR Reg 0X18 endy 3 设置 Href 的 end 的高 8 位 5 2 5 红外通信程序设计 红外通信是负责单片机的指令发送 完成操作者与 PC 机交互的工作 在控 制中我们没有向无线那样穿过障碍物去控制被控制的能力 所以红外的设置和使 用是非常方便的 不会出现想无线遥控那样的问题 所以在生活中红外控制用得 比较多 由于红外线为不可见光 对环境影响很小 再由于红外光波的波长远小 于无线波的波长 红外由于这些优点所以广泛的被运用 其中 NEC Protocol 的 PWM 脉冲宽度调制 和 Philips 最被广泛运用 单片机使用的是 NEC 协议 其特 征如有 1 指令的命令为 8 位地址和 8 位指令长度 2 地址和命令具有 2 次传输 确保可靠性 3 PWM 脉冲位置可以调制 可以发射红外载波的占空比代表 0 和 1 作为信号的传递 4 载波的频率为 38KHz 5 位移的时间为 1 125ms 或 2 25ms 这速度是很快的 NEC 码位的定义 一个逻辑数据 1 的传输需要 2 25ms 一个脉冲对应时间 为 560us 的连续载波 一个逻辑数据 0 的传输需要时间为 1 125ms 遥控接收头 在没有脉冲的时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品牌联合推广合作合同协议书
- 吉祥物设计教学课件
- 关于炼字的教学课件
- 睡眠障碍用药课件
- 七年级《篮球》 第 3 课时 教案
- 年产6.8万吨光固化树脂项目可行性研究报告
- 2025年特岗教师招聘备考小学美术全真模拟题
- 2025年特岗教师招聘笔试初中音乐难点解析与模拟题答案
- 小班寿司课教学课件
- 2025年建筑设计师招聘面试必-备知识与模拟题集
- 水泥生产企业生产安全事故综合应急预案
- 全自动血液细胞分析仪产品技术要求深圳迈瑞
- 找对英语学习方法的第一本书
- 制度编写书写规范
- 安徽涵丰科技有限公司年产6000吨磷酸酯阻燃剂DOPO、4800吨磷酸酯阻燃剂DOPO衍生品、12000吨副产品盐酸、38000吨聚合氯化铝、20000吨固化剂项目环境影响报告书
- 制造业业务流程
- 《诺丁山》经典台词
- 对铁路机车乘务员规章培训的探讨与实践
- 临床医学实验室 仪器设备一览表格模板
- 《绿色建筑》绿色建筑与建筑节能课件
- 二级生物安全实验室备案登记申请表(模板)
评论
0/150
提交评论