乒乓球发球机控制器软件设计_毕业设计.doc_第1页
乒乓球发球机控制器软件设计_毕业设计.doc_第2页
乒乓球发球机控制器软件设计_毕业设计.doc_第3页
乒乓球发球机控制器软件设计_毕业设计.doc_第4页
乒乓球发球机控制器软件设计_毕业设计.doc_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1 乒乓球发球机控制器软件设计 摘 要 本文针对乒乓球发球的特点 模拟设计了一种乒乓球发球机控制器 该发球 机控制器由 8 位单片机 STC89C51 为核心的硬件电路和相关软件编程组合而成 实 现改变发球速度 发球高度及角度等的功能 以满足练习者的不同技术需求 同 时设置了随机发球模式 实现落球点的随机变化 本课题的软件设计采用了主函数调用各状态子程序的方法 完成了按键控制 液晶显示 驱动电机调速的功能 配合本组同学的硬件设计完成了单片机外围硬 件电路的设计 其中包括电动机驱动模块 键盘模块及液晶显示模块 最后我们 在完成硬件电路的分析和软件模块调试的基础上 进行了联机调试 对各模块电 路实行软硬件检测 有效地将两者结合起来 完成了系统的整体控制 关键词 乒乓球发球机 控制器 发球模式 单片机 2 ABSTRACT Considering the characteristics of the table tennis served the thesis designs a kind of table tennis serving controller It is consist of traditional 8 monolithic integrated circuits STC89C51 for the hardware circuit design and related software C51 for programming design It can accomplish the function of changing the ball s speed altitude and angle in order to satisfy the needs of people Meanwhile the random serving patten was designed and the fall points of the table tennis become randomly The software in this essay is designed using the form that the main function calls a subroutine and finishing the function of button control liquid crystal display drive motor speed regulation The hardware design produced a peripheral circuit of monolithic integrated circuits including the drive motor module keyboard module and LCD display module Finally on the basis of finishing hardware circuit analysis and software module debug we match the soft and hardware and test all modules carefully then the basic function of the system achieves the desired effect KEYWORDS the table tennis serving machine controller serving pattern single chip microcomputer 3 目录 第一章第一章 绪论绪论 1 1 1 本课题的研究背景和意义 1 1 2 国内外乒乓球发球机的研究现状 1 1 2 1国外乒乓球发球机的研究现状 2 1 2 2国内乒乓球发球机的研究现状 4 1 3 本课题研究内容与设计步骤 5 1 3 1本课题研究内容 5 1 3 2本课题设计步骤 6 第第 2 章章 乒乓球发球机控制器设计分析乒乓球发球机控制器设计分析 8 2 1 乒乓球发球机的结构及电动机选择 8 2 2 主控单片机的选型 9 2 2 1单片机的主要特性 9 2 3 液晶显示芯片的选择 10 2 3 1 LCD12864引脚说明 11 2 3 2 LCD12864工作时序 12 2 4 驱动芯片的选择 13 2 4 1 L298N引脚说明 13 2 5 步进电机的调速方法 15 2 5 1步进电动机概述 15 2 5 2步进电动机的调速 15 2 6 直流电动机的调速方法 15 2 6 1直流电动机概述 15 2 6 2直流电动机的调速 16 第第 3 章章 乒乓球发球机控制器硬件设计乒乓球发球机控制器硬件设计 17 3 1 总体设计 18 3 2 单片机的最小系统 18 3 3 驱动电路模块 19 3 4 按键电路模块 20 3 5 LCD 液晶显示电路模块 20 第第 4 章章 乒乓球发球机控制器软件设计乒乓球发球机控制器软件设计 21 4 1 系统软件设计概述 21 4 1 1 软件程序编写的原则 21 4 1 2 程序设计方法 22 4 1 3 软件设计步骤 23 4 2 编译软件介绍 23 4 4 3 系统各部分流程图 24 4 3 1 主程序流程 24 4 3 2 LCD12864流程 25 4 3 3 按键流程 27 4 3 4 电机驱动流程 29 4 3 4 1 直流电机驱动流程 30 4 3 4 2 步进电机驱动流程 31 第第 5 章章 系统调试系统调试 32 5 1 硬件调试 32 5 1 1 硬件静态调试 32 5 1 2 硬件动态调试 33 5 2 软件调试 33 5 3 联机调试 34 5 4 调试结果 35 第第 6 章章 结束语结束语 37 6 1 总结 37 6 2 心得体会 37 致致 谢谢 38 参考文献参考文献 39 附附 录录 40 附录一 硬件实物图 40 附录二 硬件原理图 41 附录三 程序 42 1 第一章 绪论 本章从该课题的研究背景出发 提出了本设计的必要性 其次 介绍了国内 外的研究现状 最后 对该课题的研究内容和设计流程进行了简单的描述 从整 体上把握了基于 51 单片机控制的乒乓球发球机控制器的设计原则和内容 为完成 本次设计做出预备工作 1 1 本课题的研究背景和意义 随着中国在世界上的地位越来越举足轻重 我国的体育事业也正在蓬勃发展 从 第一届奥林匹克运动会没有亚洲人的身影 到 2008 年我们中国作为东道主 自己 举办奥运会 很多项目都取得了零 随着我国运动员在奥运会中连续取得佳绩 让人们在为体育健儿加油喝彩的 同时 也极大地调动了全国人民投入体育运动的热情 乒乓球作为我国的国球 更是得到很多人的喜爱 它集健身 竞技 娱乐于 一体 不仅可以锻炼身体 还可以练习头脑的灵活性 眼睛的反应力以及全身的 协调性 但是对于初学者 捡球的时间却比真正在台上打球的时间多 这样要提 高技术水平就很慢 也会削弱人们对乒乓球的兴趣 对于一些高水平的选手 由 于人手发球速度和频率比较慢 而且陪练员长时间发球也不太可能 因此要进行 变化多 强度大的多球练习比较困难 而且从经济观点或科研方面考虑 乒乓球 发球机的开发 研究与应用都能极大地推动体育运动事业的发展 正是在这种情 况下 研究乒乓球发球机是极其必要的 1 2 国内外乒乓球发球机的研究现状 对于乒乓球发球机的研究可以追溯至六十年代末和七十年代初 当时欧洲出 现了乒乓球发球机 它通过一定的机械装置 按乒乓球技术训练的不同要求 将 球不断发射出来 发球机发出的球 比人速度更快 力量大 且旋转更强 所以 它对提高乒乓球运动员的训练水平有一定的作用 2 目前市场上销售的乒乓球发球机 按控制类型可以分为两类 一类是半自动 简单操作系列 另一类是全自动 电脑程控系列 半自动式 无论是安装还是使用 都比较麻烦 而且发球的方式 力量 速度都是固定的 如果要改变各项技术参 数 就必须停下来 人工来校准调整机头旋转角度 来实现各种旋转球 手动抬 高或降低机头 来调整球的射程弧度 而且机械性能比较差 经常卡球 但这类 产品还是受到很多人的青睐 因为它的价格低 符合大多数人的需求 全自动式 是由全电脑程控的 能模拟运动员常用的技术 可发出很多高性能的球 可以模 拟真人发球 还能发多种速度不同的球 人性化的设计能够满足不同技术水平的 人的需要 技术好的可以选择多速度和角度发球 技术不好的可以选择基本发球 而且其电脑记忆功能还能记录球员打球的路数 能起到专业陪练效果 这种机器 虽然性能很高 但价格也比较贵 令很多人望而止步 按出球方式可以分为三类 一类是轮式发球机 一类是压气式发球机 另一类 是捶击式发球机 其中轮式发球机的原理是由于装有轮子的通道空间很小 当球 从滑轨滚入通道时 轮子就将球喷出 这种情况和小石头被打滑的车轮喷出是一 样的 这种发球方式有两种 一种是单轮驱动 另一种是双轮驱动 单轮驱动发 球机的弊端是 发出来的球如果速度快 那么同时旋转也强 如果速度慢 那么同 时旋转也弱 这和人们实战打球是完全不同的 实际上球速和旋转并不是完全成 正比的 比如攻球的速度最快 但是旋转并不强 而弧圈球虽然旋转极强 但是速 度未必很快 双轮驱动的发球机完全解决了单轮驱动速度和旋转的矛盾 可发出 各种旋转的球 同时也可以发出不转球 压缩式发球机是利用空气压缩机来发射 球的 球被装入长桶的底部由一个窄口固定住 这个窄口的直径比球的直径略小 一些 当压缩空气推挤乒乓球穿过窄口的时候 球就被发射出去了 这种发球机 的缺点是噪音极大而且不能提供高的性能 同时 空气压缩消耗的功率很大 难 以使用电池来供电 它的优点是价格比较便宜 捶击式发球机有多种设计方案 最 常见的是通过凸轮带动摆杆 将落入发球口的乒乓球击出去 这种方式性能单一 而且不方便控制 已经逐渐被淘汰 1 2 1 国外乒乓球发球机的研究现状 3 国外的乒乓球发球机发展比较快 其功能比较齐全 自动性能也比较高 既 可以满足普通练习者的需求 也可以满足专业运动员的要求 目前 世界上生产 乒乓球发球机的厂家比较多 具有代表意义的厂家是美国的 LNEWGY 公司和日本的 Butterfly 公司 1 LNEWGY 公司之乐吉发球机 其发球原理是由电动机带动的位置可调旋转轮和一固定的摩擦块组成发射机 构 当球进入发球通道 由旋转轮将球旋出发球口来 旋转轮的位置不同 则可 得到不同旋向的球 该系列乒乓球发球机一般可分为三个等级 初级发球机是为初学者和娱乐者 设计的 中级发球机是为中级和比赛级球员设计的 而高级发球机是专为专业运 动员和爱好乒乓球的行家设计 该系列发球机的特点之一是使用者可以根据自己 的水平状况选择合适的发球机等级 当水平提高时 该发球机可以通过升级包 快速方便的达到高的等级 通过控制球桌旁的控制盒可以调节发球速度 发球频 率 旋转速度以及出球口角度 通过手动调节出球口上的旋钮可以发射出上旋 逆 旋 侧旋甚至混合旋转等各种旋向的球 通过手动调节发球机后的两个控制杆可以 实现发球角度摆动范围的变化 利用两杆的不同组合可有八种摆动范围选择 还 可实现定点发球 通过设置球型号开关调节旋转轮与摩擦块之间距离 可以选择适 合所使用球型的发射轨道 通过将发球机安装在不同的位置可以实现不同的发球角 度和发射弧度 2 Butterfly 公司之 Amicus 发球机 其发球原理是采用两个高速旋转的轮子 旋转方向相反 由于轮子的空间小 于球的直径 当球从滚道滚入两轮之间的时候 轮子将球旋出 但它只能形成 45 的侧旋球 其旋转速度和球发射速度没有关联 可以发射慢旋的短球和快速 的突发球 这是同类发球机无法做到的 该发球机有三个不同的发球模式可选择 一种是规则模式 发射固定落点的 球 一种是自动模式 发射随机球或组合球 另外一种是自定义模式 根据需求自 己编写发球模式的程序 同时它具有记忆功能 能够保存使用者输入的程序以及 4 记录前一使用者的选择模式和命令 在使用者一端装有控制界面 实现对发球机 的远程控制 该发球机结构紧凑 底座下有轮子 使用者可方便调整发球机位置 但其高度不能调节 1 2 2 国内乒乓球发球机的研究现状 相对国外而言 国内的乒乓球发球机起步比较晚 但发展很快 从最初的全 手动发球机到现在的全自动发球机 甚至有些产品性能超过了国外的同类产品 主要有以下几个典型方面 1 半自动式乒乓球发球机 该发球机是福建省的林清云所设计的 其机械结构包括机身壳体 基座 储 球斗 发球机构 弧度调节机构 角度摆动机构及电机调速电路 其工作原理是 由于储球斗装于机器上方 乒乓球可通过自身重力落入发球机构 发球机构中的 拨叉在电动机的带动下击打落入球道的乒乓球 乒乓球经球道前端的摩擦辊高速 切搓后成旋转状飞出球道 其发球机构由拨叉 电动机和凸轮组成 拨叉由 L 形臂和直臂两部分组成 与机身底盘间有一弹簧相连 L 形臂可摆动到球道的入球端 直臂与双扇结构的凸 轮面相接触 通过电动机带动凸轮转动 在弹簧的作用下 拨叉即可做出打击动 作 将乒乓球击出 其弧度调节机构可以调节出球的弧线 而角度摆动机构完成 出球角度的左右摆动变化 形成丰富的出球线路 电机调速电路即可控制出球频度 和旋转强度 该发球机的特点是结构简单 发球速度快 经济实惠 缺点是故障率 高 质量差 发球变化少 调节不方便 2 双蛇牌乒乓球发球机 该发球机是双蛇公司研发生产的全自动电脑控制操作系列的发球机 它是在 研究总结众多发球机的优缺点的基础上 专为乒乓球运动爱好者开发出的具有突 破性的创意产品 其主要特点是通过电脑编成实现 一键一功能 即使用者通 过遥控器或者控制面板上的按键来改变发球特性 只要按一下按键 就可以自动 发出攻球 前冲弧圈球 削球 长胶球 高吊球性能的球 还可以自动发出上旋球 5 下旋球 不转球 右侧上 右侧下 左侧上 左侧下 右侧旋 左侧旋九种基本 旋转发球方式的球 该发球装置设计有云台旋转机构 并安装有旋转角度极限装置 可以左右各 旋转 20 度 在训练时 使用者可根据自己的需求进行任意调整 通过细调可以派 生出多种多样性能的球 从而使发出的球更接近人工发球 也更具有人性化 发 球装置主球道的滑轨设计为三根可更换式的滑轨 从而解决了球在此段摩擦大 运行中阻力大的缺点 其机头摩擦轮设计为组装式 由轮毅 压圈和橡胶组成 其优点是更换橡胶圈方便 成本低 保证射点准确 其电脑控制系统具有记忆功 能 使得在关机前处于什么状态 再次开机时会仍然处于该状态 由于其旋转机 构需手动调机 使整个装置不能完全实现自动化 3 许绍发智能乒乓球教练机 该发球机是由三鼎公司采用生产研制 采用微电脑控制 在一定程度上实现 了训练过程的自动化 其桌面分割为多个小方块 可根据程序设定准确地将球射 到指定区域 它利用对转双轮原理的特性 借助轮子与球之间的摩擦力来获取能 量 使球获得一定的初速度将球发射出去 按照使用者要求可发射各种旋向球和 不转球 可任意改变球的落点 落点与旋向可任意组合 有 300 个训练程序可选 择 使用者可根据自己需求来输入所需程序 它比现实市面销售的同类产品领先 的关键在于它的可控制性 它抛出的球接近人工打球的速度 旋转弧线 其不足 之处是不能像真正的人工发球可根据实际情况来应变发球 由于发球程序模式所 限 所发球具有一定的规律性 尽管乒乓球发球机经过多年发展 己有很大改进 但发球机 打 出的球和 人打得球还是许多不同 一是发球机发出来的球和运动员实际打过去的球在性能上 不大相同 二是运动员打球时都有一个挥球拍动作 接球者可以借此来判断和反应 而发球机发出的球则很突然 接球者不好判断 1 3 本课题研究内容与设计步骤 1 3 1 本课题研究内容 6 本课题的研究内容包括以下几个部分 研究乒乓球发球机控制系统方案 了 解单片机的特性 C 语言程序设计 PROTEL 仿真环境 基本实验 扩展实验及其 使用方法 熟悉芯片各个部分的功能及 L298 控制电机设计 进行基于单片机控制 的乒乓球发球机软件设计 与其他同学配合实现乒乓球发球机控制系统软硬件结 合 实现所需要的功能 具体而言 1 了解 STC89C51 单片机的特性 指令系统 程序设计 Keil uVision 开发 环境 2 研究 分析乒乓球发球机控制系统设计方案 3 分析自动乒乓球发球机的工作原理及工作过程 4 实现基于 51 单片机控制的控制系统软 硬件联机控制 1 3 2 本课题设计步骤 本课题的研究与设计为时一个学期 经历了选题 选择方案 硬件设计 软 件编写 调试等过程 具体的流程如图 1 1 所示 7 确定任务 选机型 划分软 硬件 软件编程硬件设计 联机仿真调试 排除故障 修正软件 固化程序应用系统独立运行 开始 结束 图 1 1 系统设计流程图 8 第 2 章 乒乓球发球机控制器设计分析 本章节的研究内容包括 乒乓球发球机的结构 电动机选择 主控单片机的 和主要芯片的选择 以及电机的调速方法 2 1 乒乓球发球机的结构及电动机选择 如图 2 1 所示 乒乓球发球机由机座 乒乓球输送机构 拨球机构 摇摆机 构和发射机构组成 图 2 1 乒乓球发球机的机械结构图 电动机选择 拨球机构的作用是将乒乓球按照一定的速度靠自身重力落入输 送机构 可以用步进电机来带动 输送机构与拨球机构中乒乓球的速度和方向一 致 只负责将球送入发射机构 此过程可以用直流电机带动 摇摆机构的作用是 带动发射装置实现上下 左右的摆动 从而使发球的角度和弧度发生变化 可采 9 用步进电动机来带动 发射机构的发射装置设计为由两个摩擦轮组成 分别由两 个直流电动机来带动 通过控制两个直流电机给予不同速度 从而实现乒乓球的 上 下旋 2 2 主控单片机的选型 本系统采用 STC89C51 为核心处理器 STC89C51 是单片机是是一个新一代抗干 扰 低功耗 高性能 CMOS 8 位单片机 片内含 4KB 的可反复擦写的 Flash 只读 程序存储器 128B 的随机存取数据存储器 RAM 与工业标准的 MCS 51 指令集 和输出管脚相兼容 本系统需要扩展 I O 口 因此选 89C51 比选 80C31 少扩展 ROM 节省电路空间 且应用较为普遍 其引脚如图 2 2 所示 图2 2 STC89C51单片机引脚图 2 2 1 单片机的主要特性 1 增强型6时钟 机器周期 12时钟 机器周期8051CPU 2 用户应用程序从4K 64K不等 3 3V 5V工作电压 操作频率0 33MHz 5V工作电压 操作频率 0 40MHz 4 4个8位I O口 含3个高电流P1口 可直接驱动LCD 10 5 可编程看门狗定时器 WDT 6 兼容TTL和CMOS逻辑电平 7 3个16位定时器 计数器 8 通用异步串行口 UART 还可用定时器软件实现多个UART 9 掉电检测和低功耗模式等 2 3 液晶显示芯片的选择 本设计中 液晶显示器是一个非常重要的模块 其作用是对乒乓球发球机发 球状态进行实时监控并可以显示制作者信息 当前工作模式和提示用户操作 常 用的是 LCD1602 和 LCD12864 LCD1602 是一种专门用于显示字母 数字 符 号等的点阵式 LCD 而 LCD12864 一般用来显示汉字 根据本设计所要实现的功 能 应该选用 LCD12864 液晶显示器 LCD12864 外形如图 2 3 所示 图 2 3 LCD12864 外形图 LCD12864 汉字图形型液晶显示模块 可显示汉字及图形 提供 8 位 4 位并 行接口及串行接口可选 内置 8192 个中文汉字 16 16 点阵 128 个字符 8 16 点阵 及 64 256 点阵显示 RAM GDRAM 显示屏最多可实现 32 个中文字符或 64 个 ASCII 码字符的显示 其优点如下 1 显示质量高 2 数字式接口 和单片机系统的接口简单可靠 操作方便 11 3 功耗低 4 体积小 重量轻 2 3 1 LCD12864 引脚说明 LCD12864引脚图如图2 4所示 图2 4 LCD12864引脚图 1 VSS 模块的电源地 2 VDD 模块的电源端 通常使用 5V 电压 3 VO LCD 驱动电压输入端 对比度 亮度 调整 4 RS 数据 指令选择端 RS 为高电平时 表示 DB7 DB0 为数据 RS 为低 电平时 表示 DB7 DB0 为指令 5 R W 读 写选择信号 R W 为高电平时 读取数据 R W 为低电平时 写 入数据 6 E 并行的使能信号 脉冲有效 7 DB0 DB7 数据位 0 数据位 7 8 PSB 并 串行接口选择 高电平时为并行接口 低电平时为串行接口 12 9 NC 空脚 10 RST 复位 低电平有效 11 LED A 背光源正极 12 LED K 背光源负极 2 3 2 LCD12864 工作时序 本设计所采用的液晶显示模块 主要体现在软件中 对 LCD12864 的编程是一 个重点和难点 要实现对 LCD12864 的编程 就必须对其工作时序图清楚地把握 单片机与LCD12864的数据传输有两种模式 并行通信模式和串行通信模式 本设计采用并行通信模式 LCD12864的并行读 写操作时序如图2 5 a 和 b 所示 图2 5 a LCD12864的并行读操作时序 13 图2 5 b LCD12864的并行写操作时序 由图可知 当需要写指令字 设置 LCD12864 的工作方式时 需要把 RS 置为 低电平 RW 置为低电平 然后将数据送到数据口 D0 D7 最后 E 引脚一个高脉 冲将数据写入 当写入数据字 在 LCD1602 上实现显示时 需要把 RS 置为高电 平 RW 置为低电平 然后将数据送到数据口 D0 D7 最后 E 引脚一个高脉冲将 数据写入 2 4 驱动芯片的选择 L298 是 SGS 公司的产品 比较常见的是 15 脚 Multiwatt 封装的 L298N 内 部包含 4 通道逻辑驱动电路 是一种二相和四相电机的专用驱动器 即内含二个 H 桥的高电压大电流双全桥式驱动器 可以驱动一台两相步进电机或四相步进电机 也可以驱动两台直流电机 而且电路简单 使用比较方便 其优点如下 1 可实现电机正反转及调速 2 启动性能好 启动转矩大 3 工作电压高 最高达 46V 输出电流大 瞬间峰值电流可达 3A 持续工作电流 为 2A 2 4 1 L298N 引脚说明 L298N 引脚图如图 2 4 所示 14 图2 4 L298N引脚图 L298N内部逻辑图如图2 5所示 图2 5 L298内部逻辑图 1 SENSING A SENSING B 与地之间连接电流检测电阻 将检测量反馈给 步进电机控制芯 可以恒流驱动步进电机 2 OUTPUT1 OUTPUT2 全桥驱动器A的输出端 用来连接负载 3 Vs 电动机驱动电源输入端 与地之间需连接高 低频退耦合电容 15 4 INPUT1 INPUT2 输入标准TTL逻辑电平信号 控制全桥驱动器A通断 5 ENABLE A ENABLE B 使能控制端 控制全桥驱动器的工作状态 低电 平时禁止工作 6 GND 接地端 芯片本身的散热与该引脚相连接 7 Vss 逻辑控制部分的电源输入端 8 INPUT3 INPUT4 输入标准TTL逻辑电平信号 控制全桥驱动器B通断 9 OUTPUT3 OUTPUT4 全桥驱动器B的输出端 用来连接负载 2 5 步进电机的调速方法 2 5 1 步进电动机概述 步进电机又叫脉冲电机 它是一种将电脉冲信号转换为角位移或线位移的机 电式数模转换器 即给电机加一个脉冲信号 电机则转过一个步距角 由于步进 电动机能直接接收数字量的输入所以特别适合单片机控制 2 5 2 步进电动机的调速 步进电机区别于其他控制电机的最大特点是 它是通过输入脉冲信号来进行 控制的 即电机的总转动角度由输入的脉冲数决定 而电机的转速由脉冲信号频 率决定 两个脉冲间隔时间越短 步进电机转的越快 调整单片机发出的脉冲频 率 就可以对步进电机进行调速 因此可以通过 51 单片机定时器进行控制 将电 动机换相子程序放在定时器中断服务程序中 定时器中断一次 步进电动机就换 相一次 调整定时器的定时常数就可以实现调速 2 6 直流电动机的调速方法 2 6 1 直流电动机概述 直流电机由静止的定子和旋转的转子两大部分组成 定子的主要作用是产生 磁场 转子的作用是产生感应电动势或电磁转矩 是直流电机进行能量转换的枢 纽 直流电动机具有调速性能好 精度和效率高 起动转矩大 过载能力强等优 点 因此广泛应用于启动和调速要求高的器械上 16 2 6 2 直流电动机的调速 直流电动机通常可以采用改变电枢电压 减弱励磁磁通 改变电阻三种调速 方法 对于要求在一定范围内无极平滑调速的系统来说 一般采用改变电枢电压 的方式 通常采用脉宽调制即 PWM 法来改变电枢电压的大小进行调速 1 PWM 的基本原理及实现方法 PWM 的基本原理是加在负载的脉冲电压频率不变 调节脉冲电压的占空比 从而改变电动机速度 其方法是通过改变电机电枢电压接通时间与通电周期的比值即占空比来控制 电机速度 由公式 1 可知 Vd Vmax D 1 当我们改变占空比 D 时 就可以得到不同的电机平均速度 Vd 从而达到调速 的目的 严格地讲 平均速度与占空比 Vd并不是严格的线性关系 在一般的应用 中 可以将其近似地看成线性关系 2 产生 PWM 信号的方法 利用单片机产生 PWM 信号 可以采用利用延时方法产生 PWM 信号和利用定 时器产生 PWM 信号 3 PWM 调速工作方式 方案一 双极性工作制 双极性工作制是在一个脉冲周期内 单片机两控制 口各输 出一个控制信号 两信号高低电平相反 两信号的高电平时差决定电动机 的转向和转速 方案二 单极性工作制 单极性工作制是单片机控制口一端置低电平 另一 端输出 PWM 信号 两口的输出切换和对 PWM 的占空比调节决定电动机的转向 和转速 由于单极性工作制中 应用相对简单易于实现与操作 所以我们采用了单极 性工作制 4 PWM 调脉宽方式 17 调脉宽的方式有三种 定频调宽 定宽调频和调宽调频 我们采用了定频调 宽方式 因为采用这种方式 电动机在运转时比较稳定 并且在产生 PWM 脉冲的 实现上比较方便 5 桥式可逆 PWM 变换器 PWM 变换器的作用是 用脉冲宽度调制的方法 把恒定的直流电源电压调制 成频率一定 宽度可变的脉冲电压序列 从而改变平均输出电压的大小 以调节 电机转速 一般采用由达林顿管组成的 H 型 PWM 电路 用单片机控制达林顿管使之工 作在占空比可调的开关状态 精确调整电动机转速 这种电路由于工作在管子的 饱和截止模式下 效率非常高 H 型电路保证了可以简单地实现转速和方向的控 制 电子开关的速度很快 调速范围广 过载能力大 稳定性也极佳 是一种广 泛采用的 PWM 调速技术 桥式可逆 PWM 变换器电路如图 2 6 所示 电动机 M 两端电压的极性随开 AB U 关器件驱动电压的极性变化而变化 MG MOT OR DC VT1 VT2 VD1 VD2 VT3 VT4 VD3 VD4 Ug1 Ug2 Ug3 Ug4 Us 图 2 6 桥式可逆 PWM 变换器电路 第 3 章 乒乓球发球机控制器硬件设计 乒乓球发球机控制器硬件设计是由本组同学主要负责 在此我做了相应的辅 助工作 本章简单的介绍硬件电路各模块及原理 18 3 1 总体设计 在硬件电路的设计中 配合本组同学做出了如下工作 选用 STC89C51 单片机 作为主控芯片 外围电路包括 电动机驱动电路 键盘及液晶显示电路 系统上 电开始工作 液晶屏显示制作者信息 提示利用按键选择工作模式 当用户按下 按键后 对应的模块开始运行 STC89C51 向驱动电路发出数据 驱动电路接收 到高低电平信号后 电机开始运行 于此同时 12864 液晶显示接收单片机的控 制 显示当前工作模式 系统整体结构框图如图 3 1 所示 STC89C51 12864 液晶显示 按键判别 直流电机 1 2 3 L298 驱动电路 L298 驱动电路 L298 驱动电路 步进电机 2 步进电机 1 图 3 1 系统整体结构框图 3 2 单片机的最小系统 单片机最小系统包括了复位电路和时钟晶振电路 功能是先以主振频率为基 准发出 CPU 的时序 对指令进行译码 然后发出各种控制信号 完成一系列定时 控制的操作 用来协调单片机内部各功能部件之间的数据传输 数据运算等操作 最小系统电路图如图 3 2 所示 19 图 3 2 单片机最小系统电路图 3 3 驱动电路模块 本设计采用 3 个型号相同的 L298 驱动电路 电路中给单片机提供 5V 电压 L298 提供 12V 电压 驱动电路接线如图 3 3 所示 D1 IS EN A 1 OUT1 2 OUT2 3 VS 4 IN1 5 EN A 6 IN2 7 GND 8 VSS 9 IN3 10 EN B 11 IN4 12 OUT3 13 OUT4 14 IS EN B 15 L1 100uF C1 100uF C2 TLP1 D2D3D4 D5D6D7D8 104 C3 104 C4 1K R2 1K R4 1K R6 1K R8 1K R1 1K R3 1K R5 1K R7 GND GND GND GND VCC1 VCC1 VCC VCC1 P30 P31 P32 P33 1 2 3 4 5 6 GND M 1 20 图 3 3 电机驱动电路接线图 3 4 按键电路模块 按键作为一种不带自锁保护功能的开关 只有在动作的瞬间会接通电路 其 余时刻均处于掉电模式 在本设计中 总共用到了五个单列式按键 按键部分的 接线图如图 3 4 所示 1 2 3 4 5 6 P1H eader 6 S 1S 2S 3S 4S 5 G N D P13 P14 P15 P16 P17 图 3 4 键盘接线图 3 5 LCD 液晶显示电路模块 在本设计中 液晶显示模块的作用非常重要 主要用来实时监控当前机器的工 作状态 LCD12864 液晶显示模块电路接线图如图 3 5 所示 21 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 R S T 9 P3 0 R xD 10 P3 1 TxD 11 P3 2 IN T0 12 P3 3 IN T1 13 P3 4 T0 14 P3 5 T1 15 P3 6 W R 16 P3 7 R D 17 X TA L2 18 X TA L1 19 V S S 20 P2 0 A 8 21 P2 1 A 9 22 P2 2 A 10 23 P2 3 A 11 24 P2 4 A 12 25 P2 5 A 13 26 P2 6 A 14 27 P2 7 A 15 28 PS EN 29 A LE 30 EA V PP 31 P0 7 A D 7 32 P0 6 A D 6 33 P0 5 A D 5 34 P0 4 A D 4 35 P0 3 A D 3 36 P0 2 A D 2 37 P0 1 A D 1 38 P0 0 A D 0 39 V C C 40 U 1 S TC 89C 51 P13 P14 P15 P16 P17 P00 P01 P02 P03 P04 P05 P06 P07 V C C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P5 H eader 2 C S 1 C S 2 G N D V C C V O R S R W E D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 A K R S T V O U T P00 P01 P02 P03 P04 P05 P06 P07 G N D 0 1uF C 15 C ap 10K R 26 R es2 V C C V C C 1K R 17 R Pot P20 P21 P22 P23 P24 P25 P26 图 3 5 液晶显示模块电路接线图 第 4 章 乒乓球发球机控制器软件设计 4 1 系统软件设计概述 C 语言是一种结构化的高级语言 其优点是可读性好 移植容易 是普遍使 用的一种计算机语言 它有功能丰富的库函数 兼顾了多种高级语言的特点 并 具备汇编语言的功能 而且可以直接实现对系统硬件的控制 此外 C 语言程序 具有完善的模块程序结构 从而为软件开发中采用模块化程序设计方法提供了有 力的保障 用 C 语言来编写目标系统软件 会大大缩短开发周期 且明显地增加 软件的可读性 便于改进和扩充 从而研制出规模更大 性能更完备的系统 所 以本研究课题选择单片机 C 语言作为软件设计语言 4 1 1 软件程序编写的原则 22 1 实时性 即能够在对象允许的时间完成对系统的检测 计算 处理和控制 此外 尽可能采用一些设计技巧 使程序尽量简单 紧凑 避免不应有的浪费 同时 对多个处理任务系统应实行中断嵌套或采用多重中断的办法 加快处理速 度 2 针对性 应用程序的最大特点是具有较强的针对性 即应用程序应根据一 个具体系统的要求来设计 3 灵活性和通用性 一个好的应用程序 不仅要针对性强 而且要有一定的 灵活性和通用性 即稍加改变后就能适应不同系统的要求 为此 在程序设计时 采用模块化结构 尽量把公用的程序编写成不同功能的子程序 这样易于设计和 修改 4 可靠性 在水泵调速系统中 系统的可靠性是至关重要的 只有在硬 软 件都非常可靠的情况下 系统才能可靠地正常运行 为了提高系统软件的可靠性 采用一些软件设计技巧 并把调试好的应用软件固化在单片机中 4 1 2 程序设计方法 目前 单片机 C 语言最重要的程序设计方法是结构化的程序设计 用结构化 方法设计的程序只存在三种基本结构 即顺序结构 分支结构 循环结构 程序 代码的空间顺序和程序执行的时间顺序基本一致 程序结构清晰 在编写软件程 序的过程中 结构化程序设计应遵循以下原则 1 自顶向下 逐步细化 即抓住整个问题的本质特性 采用自顶而下逐层分 解的方法 对问题进行抽象 划分出不同的模块 形成不同的层次概念 把一个 较大的复杂问题分解成若干相对独立而又简单的小问题 只要解决了这些小问题 整个问题也都解决了 2 模块化设计 模块化设计是把复杂的算法或程序 分解成若干相对独立 功能单一 甚至可供其他程序调用的模块 模块化结构不仅使复杂的程序设计简 单化 开发周期得以缩短 节省费用 提高了软件的质量 而且还可以有效地防 止磨时间错误的扩张 增强整个系统的稳定性与可靠性 同时 还使程序结构具 备灵活性 层次分明 条理清晰 便于组装 易于维护 23 3 结构化编程 所谓结构化编程是利用高级语言提供的相关语句实现三种基 本结构 每个基本结构具有唯一的出口和入口 整个程序由三种基本结构组成 程序中不使用 goto 之类的语句 本设计的软件编程选择结构化的程序设计方法 具体说来是采用主函数调用 子函数的方法 将各子函数模块化 自顶向下 逐步细化 最终系统整体软件的 编程 4 1 3 软件设计步骤 1 系统定义 就是清楚地列出系统的各个部分与软件设计有关的特点 并进 行定义 以作为软件设计的依据 系统定义是对系统任务的描述 2 程序设计 程序设计是制定程序的纲要 也就是将系统定义的问题用程序 的方式进行描述 绘制流程图 结构化程序设计 模块化程序设计和自顶向下设 计等 都是此步骤的有效方法 3 文件编制 文件编制是用流程图 注释 存储器分配说明等方法来描述程 序来形成文件 以便用户和操作人员了解 文件编制的好坏 直接影响到程序的 使用 维护和扩充 4 维护和再设计 当软件投入现场运行时 一方面可能会发生各种现场问题 因而需要进一步对系统软件进行改造和完善 另一方面 用户往往会由于环境或 技术条件的变化 提出比原计划更多的要求 因而需要对原系统软件进行改进和 扩充 然后再重新固化 以适应情况变化的要求 4 2 编译软件介绍 随着单片机开发技术的不断发展 从普遍使用汇编语言到逐渐使用高级语言 开发 单片机的开发软件也在不断发展 Keil 软件是目前最流行开发 MCS 51 系列 单片机的软件 Keil 提供了包括编译器 宏汇编 链接定位 库管理和一个功能 强大的仿真调试器等在内的完整开发方案 通过一个集成开发环境 uVision 将 这些部份组合在一起 24 Keil Software 公司推出的 uVision3 是一款可用于多种 8051MCU 的集成开发环 境 IDE 除增加了源代码 功能导航器 模板编辑以及改进的搜索功能外 uVision3 还提供了一个配置向导功能 加速了启动代码和配置文件的生成 此外 其内置的仿真器可模拟目标 MCU 包括指令集 片上外围设备及外部信号等 uVision3 提供逻辑分析器 可监控基于 MCUI O 引脚和外设状态变化下的程序变 量 使用独立的 Keil 仿真器时 要注意以下的问题 1 仿真器标配 11 0592MHz 的晶振 但用户可以在仿真器上的晶振插孔中插 其他频率的晶振 2 仿真器上的复位按钮只复位仿真芯片 不复位目标系统 3 仿真芯片的 31 脚 EA 已接至高电平 所以仿真时只能使用片内 ROM 不能使用片外 ROM 但仿真器外引插针中的 31 脚并不与仿真芯片的 31 脚 相连 故该仿真器仍可插入到扩展有外部 ROM 其 CPU 的 EA 引脚接至低电平 的目标系统中使用 使用 Keil 编译软件进行程序的编译与调试的步骤为 建立工程文件 选择单 片机 建立源文件 保存为 C 文件 加载 C 文件 编译 运行 最后生成 HEX 文 件 4 3 系统各部分流程图 4 3 1 主程序流程 本设计利用 STC89C51 单片机作为控制机 采用单片机 C 语言进行程序的编 写 将各部分模块化 使用主函数调用子函数的方法 遵循自顶向下 逐步细化 的原则 实现了按键扫描 单片机 P0 口发出数据 控制 L298 驱动电路 LCD12864 液晶显示的功能 乒乓球发球机控制器的主程序流程图如图 4 1 所示 单片机上电复位后 首先 进行各端口和个芯片的初始化 LCD 液晶显示器显示毕设题目和制作者信息 其 次利用 if else 语句进行按键扫描 对按键判断并依次对每种按键模式作出相应的 程序控制 当按键 1 作用后 液晶显示器显示要选择的发球模式 此时若按键 2 25 作用 液晶显示器显示进入随机模式 按键 4 作用 随机模式发球 若按键 2 不 作用 按键 3 作用 进入定向模式 按键 1 作用 左旋 按键 4 作用 右旋 具 体流程如图 4 1 所示 开始 初始化 键盘扫描 按键1作用 界面1 按键2作用 界面2 按键5作用 直流电机赋参数 定时器初始化 开中断 结束 Y Y Y N 按键3作用 界面3 按键1作用 5号电机左旋 N Y Y N 按键4作用 5号电机右旋 Y N 按键5作用 界面4 按键1作用 上旋球 按键4作用 下旋球 Y N N Y N Y N 图 4 1 主程序流程图 26 当系统开始工作后 液晶显示制作者信息和毕设题目 然后根据选择按键的 不同 进入不同的工作模式 液晶显示当前工作模式 4 3 2 LCD12864 流程 LCD12864 液晶显示器的工作流程包括 初始化 写命令 写数据 显示 LCD12864 的控制指令如表 4 1 所示 读写控制信号如表 4 2 所示 表 4 1 LCD12864 控制指令表 指令功能说明 清屏将 DDRAM 填满 20H AC 设为 00H 地址归位AC 0 游标移到原点 进入点设定设定游标 指定显示的移位 显示开关状态设置显示 游标及位置 游标 显示 移位控制 设置游标 显示的移位控 制单元 不影响 DDRAM 功能设置工作方式设置 初始化指令 CGRAM 地址设置设置 CGRAM 地址到 AC DDRAM 地址设置设置 DDRAM 地址到 AC 读 BF 及 AC 值读忙标志 BF 值和地址计数器 AC 值 写数据到 RAM将 D7 D0 写入内部 RAM 读出 RAM 的值从内部 RAM 读取数据到 D7 D0 表 4 2 读写控制时序表 RSR WE功能 00下降沿写指令 01高电平读忙标志或地址 AC 10下降沿写数据 27 11高电平读数据 LCD12864 上电后 首先要进行忙碌的检测 执行每条指令之前一定要确认模 块的忙碌标志 lcd busy 为低电平 表示不忙 可写指令与数据 其次是初始化 初始化包括基本指令 扩充指令的操作 显示开 关坐标以及清除 LCD 的显示内 容 初始化完成之后 要设定显示位置 即输入显示地址 此处要注意显示第二 行内容时 因为写入显示地址时要求最高位 D7 恒定为高电平 1 因此地址要加上 0 x80 LCD12864 指定显示位置是通过 LCD 写命令子程序来实现的 由表 4 2 可知 此时设置 RS R W 为低电平并且 E 为下降沿 在位置确定后 在该位置写 入数据 通过写数据子程序来实现 此时应该设置 RS 为高电平 RW 为低电平并 且 E 为下降沿 在数据写完之后 LCD12864 写入的数据便会显示在液晶屏上 而且液晶显示模块对时间的要求很严格 延时时间的准确把握对液晶显示的精确 工作有至关重要的作用 因此软件设计中需要延时程序 LCD12864 流程图如图 4 2 所示 28 开 始 液晶显示初始化 设定显示位置 写入显示数据 结 束 图 4 2 LCD12864 程序流程图 4 3 3 按键流程 在本设计中 键盘是操作人员与仪表进行交流的输入设备 借助键盘可实现 对系统参数的设置 本设计单片机控制系统中 需要功能键较少 因此 可以 采用非编码键盘的 独立式按键结构 独立式按键是直接用 I O 口线构成的单个 按键电路 其特点是每个按键单独占用一根I O 每个按键的工作不会影响其 它 I O 口线的状态 软件结构简单 本设计中单片机的 P1 口与键盘相连 由于按键不具备自锁的功能 按键的动作是瞬间引起的 因此要考虑外界震 动引起的误差 在程序中应用到消抖的方法 可以采用微小的延时 按键控制的 29 五种模式是相互独立的 可通过 5 个嵌套的 if 语句来任意选择哪个按键作用 按 键的流程图如图 4 3 所示 开始 P1 3 0 Temp1 1 P1 4 0 Temp2 2 P1 5 0 Temp3 3 P1 6 0 Temp4 4 P1 7 0 Temp5 5 结束 N N N N N Y Y Y Y Y 图 4 3 按键扫描流程图 4 3 4 电机驱动流程 30 4 3 4 1 直流电机驱动流程 直流电动机采用 PWM 的调速方法 利用定时器中断的方法产生 PWM 信号 改变其占空比可以实现电动机的调速 本设计中只需对直流电机进行调速 不需 要改变转向 本设计中采用 L298 驱动直流电机 晶振采用 12MHz 1 个 PWM 信号由 100 次中断产生 上电后 定时器初始化 定时时间到 允许开中断 开始计数 将数值与预 设数值加以比较 根据所计数据和预

温馨提示

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

评论

0/150

提交评论