




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 设 计 论 文 基于 FPGA 的直流电机控制系统研 制 学 生 姓 名 刘明达 班 级 电自 113 学 号 0901011022 指 导 教 师 刘晓峰 所 在 单 位 电气工程学院 答 辩 日 期 2015 年 6 月 28 日 摘 要 EDA 技术具有很强的实践性 在学习过程中必须加强实际动手能力的训练 将书本上介绍的理论知识与实际应用相结合 从丰富多样的实验操作中增加实 践经验 从应用实例中学习和模仿编程方法 可以获得事半功倍的效果 直流电机具有速度控制容易 启 制动性能良好等优点 本文利用了 PWM 脉 宽调制 调速方法 本课题介绍了利用 FPGA 对直流电机实现控制的方法及其电路设计 直流电 机转速控制器 锯齿波发生器 PMW 波形发生器 来实现对直流电机的控制 采用 VHDL 语言对 FPGA 进行编程 将直流电机转速控制器和锯齿波发生器的值 进行比较 从而实现对直流电机速度以及旋转方向精确灵活的控制 关键词 FPGA 直流电机 VHDL Quartus Abstract The technology of EDA has the very strong practicality we must strengthen the capacity of the actual hands training in the learning process we must put the knowledge we have learned from the books into application then we can accumulate much experience from various operations we can also learn how to program and imitate it This can be suppressed effectively DC motors have many advantages such as easy speed controlling and good starting and braking performance This article introduces how to use FPGA to control the DC motors and design electric circuit we can control the DC motors through DC motor speed controller sawtooth generator and PMW waveform generator We use VHDL for FPGA programming We compare the value of the DC motor speed controller and sawtooth generator so that we can control the speed of DC motor and the rotation direction accurately and flexibly Keywords FPGA DC Motor VHDL Quartus II 目 录 摘 要 I Abstract II 第 1 章 绪 论 1 1 1 课题研究背景及意义 1 1 2 课题研究现状 1 1 3 本课题所做的工作 1 第 2 章 EDA 技术及 VHDL 描述语言 3 2 1 EDA 的发展历程 3 2 1 1 EDA 的起源 3 2 1 2 EDA 发展史及其主要内容 3 2 2 FPGA 简介 4 2 2 1 FPGA 的开发与配置 5 2 2 2 FPGA 优点及 FPGA CPLD 的选择 5 2 3 VHDL 简介 6 2 3 1 VHDL 的特点 7 第 3 章 直流电机控制方案概述和对比 8 3 1 直流电机控制概述 8 3 1 1 直流电机控制方案对比 8 3 1 2 FPGA 为核心器件的直流电机控制的系统构成 9 第 4 章 基于 VHDL 的硬件模块设计 10 4 1 基于 FPGA 的直流电机 PWM 控制 10 4 2 实现系统控制的各模块 11 4 2 1 直流电机转速控制器 binary up down counter 11 4 2 2 锯齿波发生器 binary counter 15 4 2 3 PMW 波形发生器 CMP 16 4 3 直流电机工作时序分析 21 第 5 章 液晶图文显示 22 5 1 LCD 液晶显示 22 5 5 1 OCMJ 液晶显示器 22 5 5 2 模块管脚说明 22 5 2 液晶图文显示 23 结 论 27 致 谢 28 参 考 文 献 29 附 录 1 原理图 30 附 录 2 液晶显示部分实物图 31 第 1 章 绪 论 1 1 课题研究背景及意义 电动机作为机电能量转换装置 一直在现代化的生产和生活中起着十分重 要的作用 1 直流电机由于具有速度控制容易 启 制动性能良好 且在宽范围 内平滑调速等特点而在冶金 制造 轻工等工业部门中得到广泛应用 由于现今集成电路 现 代 电力电子技术 控 制 理 论 的飞快发 展 如今电机 控制技术已经得到普及 已经由过去的提供动 力为目的转变为可以对 电 机进行 精 确 管 制 通常应用 A LTERA 公司的 现 场 可 编 程 门 阵 列 F P G A 芯 片来进行对 电 机 控 制 器 的 设 计 制 造 和 调 试且在此基础上来分析研究应用控制器对直流 电机来进行调度控制的方法 1 2 课题研究现状 近几年来 由于微电子技术与计算机技术的飞速发展及单片机的普及 将调 速装置向密集化 小型化和智能化方向发展 国外交直流系统数字化已经达到 实用阶段 由微处理器为技术核心的数字控制系统硬件电路的标准化程度高 需要成本低 并不受器件的温度漂移所引起的影响 数字控制系统能够有效的 进行逻 辑判断和复杂的运算 能做到不同于一般线性调节的最优化 适应性 非线性 智能化等控制规律 如采用微机控制产生 PWM 信号 用微机或单片机 产生 PWM 信号波形 需要通过 D A 转换器产生锯齿波电压和设置参考电压 通 过外接模拟比较器输出 PWM 波形 因此外围电路比较复杂 2 单片机 虽然 D S P 具 备生 成 PWM 信号及捕获电机编码器信号的能力 但其对 IC 生成 PWM 信 号 的通 道 数 目及电 机 编 码 器 捕 获 通 道 数 目 有 限 对多个 直流电机的控制很难满足要求 基于现场可编程门阵列FPGA对直流电机的控制策略 为实现电动机数字控 制提供了一种有效的方法 3 FPGA器 件具有集成度高 体积小 运算速度快 易于修改等特点 用FPGA来实现多 路PWM调控 内部自带数模变换功能 不再 需要外接数 模 转 换设 备 形 式简单 误差小 控 制 性 能 强 用单片机 和DSP 的控制都难以达到同样的控制效果 1 3 本课题所做的工作 FPGA 的开发 语 言 V H D L 语 言 是 一 种 用 于 数 字 系 统 设 计和测 试 的 硬 件 描 述 语 言 也是我们国家极力推广的一 种标 准 语 言 本课题采用 VHDL 语言编程 利用 Altera 公司的 QuartusII 开发平台创建成调速系统所需的各个特殊功能 器件 通过设计工具 Quartus 对设计进行综合 适配与时序仿真 利用 FPGA 器件 EP1K30 实现对 PMW 占空比的调节 从而达到对直流电机控制系统的 设计 4 具体工作如下 1 掌握 VHDL 硬件编程语言 2 掌握 Altera 公司推出的集成仿真工具 QuartusII 6 0 的使用方法 3 利用 VHDL 硬件编程语言设计直流电机系分驱动控制模块工程项目 4 以 EP1K30TC144 3 器件为核心制作可实际运行的直流电机系分驱动控制 硬件电路 第 2 章 EDA 技术及 VHDL 描述语言 2 1 EDA 的发展历程 2 1 1 EDA 的起源 ED A 是电子设计自 动化 E lectronic Design Automation 缩写 是 1965 年结合了 C A D C A M C A T 和 C A E 的理念 并将其完 善得 到的 ED A 技术是以计 算机为工具 根据硬件描述语言 H DL Hardware Description language 完 成的设计文件 然后由计算机自动地完成逻 辑编 译 化 简 分 割 综 合及优 化 布局布 线和仿 真以及对于特定目标芯 片的适 配编 译和编 程下 载等工作 典型的 EDA 工具中必须包含两个特殊的软件包 即综合器和适配器 综合器的功能就 是将设计者在 EDA 平台上完成的针对某个系统项目的 HDL 原理图或状态图形 描述 针对给定的硬件系统组件 进行编译 优化 转换和综合 最终获得我 们欲实现功能的描述文件 4 综 合 器在工作前 要给 定所要实 现的硬 件 结 构 参 数 其功 能就是将软 件 描 述和所给 定的硬 件 结 构 用 一 定的方 式联 系起来 也 就是 综 合 器要在软 件 描 述与硬 件 实 现间 搭一座桥 梁 综 合过 程就是要将电 路 的高 级 语 言 描 述转换成低 级 的 可与目 标 器 件 F P GA C PLD 相 映 射的网 表 文 件 2 1 2 EDA 发展史及其主要内容 人类已步入高 度发 达的信 息化社 会 信 息化社 会的发 展永远离不开电 子产 品的进 步 虽然电子产品的功能越来越强大 制作工艺也愈加繁琐 可其价 格 却只低不高 同时电子产品的淘汰速度逐年加开 淘汰率也逐年增大 导致上 述现象的因素很多 但之所以有这样飞跃性的发展 要归功于电子设计技术的 日益发达 电子设计技术当中应用最广泛的便是 E DA EDA 可以对以下三种设计 进行辅助 1 I C 设 计 2 电 子 电 路设计 3 PCB 设计 在 EDA 没有被研发成功时 要实现超大规 模集成电路的设 计 制造是不可能 的 同时 怎样完善 EDA 来适应发展愈发快速的电 子 设 计 工 业 是一个值得探 讨的问题 E DA 技 术有三个发 展 阶 段 1 第一个阶段为 C AD 的应 用 在这个阶 段以前 人们对于版 图设 计 布 局等 工作只能手 工完成 而在这之后 人们开始利用计算机对其进行辅 助工作 这 个时期的主要存在两个问题 即 EDA 软件的功能单一 相互独立 对相对复 杂的电 子系 统设计 不能提 供系 统级的仿 真和综 合 所以在设 计中错 误只能在 产 品开 发的后 期才能发现 这时想要修正是十分困 难的 2 八十年代为 CAE 阶段 与 CAD 相比 除了纯粹的图形绘制功能外 又增加了电 路功能设 计和结 构设 计 并通 过电 气连接网 络表将两者结合于一起 实 现了工程设计 这就是 计算机辅 助工 程的概 念 C AE 的主要作用是 原 理图输 入 逻 辑仿 真 电 路分 析 自 动布 局布 线 P CB 后分析 在这个阶段中 基于门阵列和标准单元库设 计的半定制 ASIC 得到了极大的发展 将电子系统设计推入了 ASIC 时代 但是 大部分从原理图出发的 CAE 工具仍然不能适应复杂电子系统的要求 而且具体 化的元件图形也制约着优化设计 3 九十年代为 E SDA 阶段 尽管 C AD C AE 的 技术取得了巨大的成功 但 并没有将人从繁 重的 设 计工作中彻底的解 放出来 在整 个的设 计过程中 自 动化与智 能化的程 度还不高 各种 E DA 软 件界面也千 差万别 要学习并使用很困难 并且互不兼 容 这直 接影 响到了设 计环 节间的 衔接 针对上述的情况 更多学者开始追 求贯 彻整个设计过程的自动化 这就 是 E SDA 即电子系统设计自动化 从目前的 E D A 技 术来看 其未来趋势是政府 重视 使用普及 应用广泛 工具多样 软 件功能强大 5 EDA 技术相当于在电子设计领域中发起的一场变革 它一直引领着电子设 计领域走向更高的高度 如今正在飞速发 展阶 段 新的 E DA 工具正在不断的被 开发出来 但国内的 E DA 技 术的应用水平长 期落后于发 达国家 广大电 子工程 人员需尽早掌 握这一先 进技 术 这不仅是提 高设 计效 率的需要 更是我 国电 子 工业在世 界市场上生 存 竞 争与发 展的需 求 2 2 FPGA 简介 FPGA Field Programmable Gate Array 即现场可编程门阵列 它是在 PAL Programmable Logic Array GAL Generic Logic Array EPLD 等 可编程器件的基础上进一步发展的产物 FPGA 是一种半 定制电路 它不仅弥补 了定 制电路的不足 也在一定程度上改进了原始的可 编程 门列阵门数受限的劣 势 它是一种采用可编程互连连接在一起的逻 辑单元阵 结 构 是其内 部呈阵 列 状排 列的多个可配置逻 辑块 C LB 可以提 供用 户需要的逻 辑功 能 四周围 绕输 入 输 出接口块 IO B 可以提 供内部逻 辑和外部封装之间的接口 其余 为垂直交叉的可编程互连资源 用于在块与块之间的传输信号 类似与连接中 小规模集成电路器件的印刷版上的走线 6 FPGA 较原有电路的优势 体积小 精度高 响应迅速 灵活性 稳定性 可无限次反复编 程 主要是能现场模 拟 调 试验 证 通常利用 FPGA 器件很短时间内便可以实现电子系统的设计和制造 利用研制周期短这一优势 在上市时间和制作成本等方面都有很好的效果 FPGA 有着很强的 变通能力 当数据输入发生变化时 其电路功能也发生相 应的变化 所以 FPGA 已经成为许多领域中运用最普遍的一种电路 2 2 1 FPGA 的开发与配置 FPGA 的设计是应用 FPGA 开发系统完成的 人们要做的仅仅是将硬 件描述 语言或电路原理图输入计算机 FPGA 开发系统便可以自动完成设计过程 完成 FPGA 的内部配置 使硬件描述语言或电路原理图所描述的功能 这样一块空白 的 FPGA 芯片就变成了一块特殊功能 ASIC 芯片 常用的配置模式有 1 并行主模式 一个 FPGA 加一个 EPROM 2 主从模式 用一个 PROM 可对多个 FPGA 进行编程 3 外设模式 将 FPGA 作为微处理器的外设 4 串行模式 可以采用串行 PROM 编程 FPGA 2 2 2 FPGA 优点及 FPGA CPLD 的选择 PGA 采用了逻 辑单 元阵列 L CA L o g i c C ell A r r a y 这样一个新概念 其 内部含有三个部分 分别是 1 可配置逻辑模块 CLB Configurable Logic Block 2 输出输入模块 IOB Input Output Block 3 内部连线 Interconnect 所以 FPGA 具有很多的基本特点 主要有 1 设计 ASIC 时 用户无须进行投片生产 便可制作出合适的芯片 2 可用作其它 ASIC 电路试样片 3 内部含充足的触发器和输入输出引脚 4 具有设计周期短 成本低的优点 5 CHMOS 的运用 减小了功耗 能和 CMOS TTL 电平兼容 可以说 FPGA 芯片是小批量系统提高系统集成度 可靠性的最佳选择之一 CPLD 是由 GAL Generic Logic Array 发展起来的 其主题结构人人是与或阵列 具有 ISP 功能的 CPLD 器件由于具有和 FPGA 器件相似的集成度和易用性 使其在可 编程逻辑期间技术的竞争中和 FPGA 并驾齐驱 成为两支领导可编程器件技术发 展的力量之一 7 在很多的时候需要对两者进行比较 使用最佳选择 这里简 单比较如下 F PG A 与 C P L D 都是可编 程AS IC 器 件 有很 多共 同的特 点 且在一些领 域 中 它都体现出巨大的优势 但基于两者的结构不同 它们的特征也存在着一 定的不同 当今世界正经历着波澜壮阔的科技技术的巨大变革 FPGA 等可编程逻辑器 件技术发展一日千里 推动着电子技术设计的变革和深入发展 我们应该不断 更新知识 掌握不断发展的科学技术 2 3 VHDL 简介 目前用于 C PLD FP GA ASI C 设计的语言种类有如下几种 VH DL 语言 V erilog 语言 AH DL 语言 AB EL 语 言 等 其中在 CPLD FPGA 编程中使用最广泛 的当属 VHDL 语言和 AHDL 语言 但 Verilog 以其统一的标准 强大的描述能力 也逐渐被用户接受 9 VHDL 的英文全称是 VHSIC Very High Speed Integrated CircuitHdware Description Language 诞生于 1982 年 1987 年底 VHDL 被 IEEE 和美国国 防部确认为标准硬件描述语言 自 IEEE 1076 简称 87 版 之后 各 EDA 公司 相继推出自己的 VHDL 设计环境 或宣布自己的设计工具可以和 VHDL 接口 1993 年 IEEE 对 VHDL 进行了修订 从更高的抽象层次和系统描述能力上扩展 VHDL 的内容 公布了新版本的 VHDL 即 IEEE 标准的 1076 1993 版本 简称 93 版 现在 VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言 又得到众多 EDA 公司的支持 在电子工程领域 已成为事实上的通用硬件描述语言 10 相 信 在未来 V H D L 将 担负起 大 部 分 的 数 字 系 统 设 计 任 务 2 3 1 VHDL 的特点 VH DL 语言是一种用于电 路设计的高级语言 主要是应 用在数字电路的设计 中 VHDL 主要用于描述数字系统的结构 行为 功能和接口 VH DL 的程序结构特 点是将一项工程设计 或称设计实体分成外部和内部 既涉及实体的内部功能 和算法完成部分 在对一个设计实体定义了外部界面后 一旦其内部开发完成 后 其他的设计就可以直接调用这个实体 这种将设计实体分成内外部分的概 念是 VHDL 系统设计的基本点 应用 VHDL 进行工程设计的优点是多方面的 11 1 与其它的硬件描述语言比较 VHDL 拥有更为强大的行为描述能力 这也奠定了它会是系统设计领域的最佳硬件描述语言 其强大的行为描 述能力是避开具体的器件结构 从逻辑行为上描述和设计大规模电子系 统的重要保证 2 VHDL 具有丰富的仿真语句和库函数 使它能在任何大系统的设计早 期就能查验设计系统的功能可行性 并随时可对设计进行仿真模拟 3 VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计 的分解和已有设计的再利用功能 符合市场对大规模系统高效的需求 且能高速完成需由多人或多个代发组共同并行工作才能实现的设计 4 对于用 VHDL 来完成的一个确定的设计 可以利用 EDA 工具进行逻 辑综合和优化 并自动的把 VHDL 描述设计转变成门级网表 5 VHDL 对设计的描述具有相对对立性 使设计者可以不必懂硬件的结 构 也不必管理最终设计现实的目标器件是什么 而进行独立的设计 6 VHDL 本身的生命周期长 第 3 章 直流电机控制方案概述和对比 3 1 直流电机控制概述 直流电机由于具有速度控制容易 启 制动性能良好 且在宽范围内平滑调速 等特点而在冶金 制造 轻工等工业部门中得到广泛应用 通常我们将直 流 电 动 机 转 速的控 制 方 法 分 为 两 类 一类 是励 磁 控 制 法 另一类 是电 枢 电 压 控 制 法 励 磁 控 制 法控制磁通 其控制功率虽然小 但低速时受到磁饱和的限制 高速时受 到换向火花和换向器结构强度的限制 而且由于励磁线圈电感较大 动态响应较差 所以我们常用的控制方法是改变电枢端电压调速的电枢电压控制法 通过调节 电阻 R 就可以改变端电压 从而达到调速目的 但是用这 种 传 统的调 压 调 速 方 法 效 率 非常 低 如今随着电力电子技术的进步 出现了许多新的电枢电压控制 方法 其中 PWM 脉宽调制 是常用的一种调速方法 其基本原理是用改变电机 电枢 定子 电压的接通和断开的时间比 占空比 来控制马达的速度 在脉宽调速 系统中 当电机通电时 其速度增加 电机断电时 其速度减低 12 只需按 一 定 的 规 律 改 变 通 断 电 的 时 间 就可以使 电 机 的速 度 达 到 并 保 持 一 稳 定 值 本文采取了 F PGA 来改进步 进电 机多 路 P WM 控 制 内部自带数模变换功能 不再需要外接数 模 转 换设 备 形 式简单 误差小 控 制 性 能 强 用单片机和 DSP 的控制都难以达到同样的控制效果 3 1 1 直流电机控制方案对比 由于以微 处 理 器 为 核 心 的数 字 控 制 系 统 硬 件 电 路 的标 准 化 程 度 高 制 作 成 本 低 又不 受 器 件 温 度 漂 移 的 影 响 其控 制 软 件能够进 行 逻 辑 判 断 和复 杂 运 算 能 够实 现不 同 于 一 般 线 性 调 节的 最 优 化 自 适 应 非 线 性 智 能 化 等 控 制规 律 如采用微机控制产生 PWM 信号 13 一般的 PWM 信号事通过模拟比较 器产生的 比较器的一端接给定的参考电压 另一端接周期性线性增加的锯齿 波电压 当锯齿波电压小于参考电压时输出低电平 当锯齿波电压大于参考电 压时输出高电平 改变参考电压就可以改变 PWM 波形中的高电平的宽度 若用 微机或单片机产生 PWM 信号波形 需要通过 D A 转换器产生锯齿波电压和设置 参考电压 通过外接模拟比较器输出 PWM 波形 因此外围电路比较复杂 FPGA 中的数字 PWM 控制与一般的模拟 PWM 控制不同 用 FPGA 产生 PWM 波 形 只需 FPGA 内部资源就可以实现 用数字比较器代替模拟比较器 数字比较 器的一端接设定值计数器输出 另一端接线性递增计数器输出 当线性计数器 的计数值小于设定值时输出低电平 当计数器大于设定值时输出高电平 与模 拟控制相比 省去了外接的 D A 转换器和模拟比较器 FPGA 外部连线很少 电 路更加简单 便于控制 14 具有广泛的应用前景 经过对比本课题决定采用基于 FPGA 的直流电机控制系统 3 1 2 FPGA 为核心器件的直流电机控制的系统构成 直 流 电 机 控 制 系 统 主 要 由五部 分组 成 如 图 3 1 所示 直 流 电 机转 速 控 制 器 锯 齿 波 发 生 器 PM W 波 形发 生器 直 流电机转 动方向控 制器和由功 率放 大电路和 H 桥组成的正 反转 功 率驱 动电 路 直流电机转速控制器 锯齿波发生器 直流电机转动方向控 制器 PWM 波形发生器 M 速度控制 变速控制 CLK 1 CLK 0 方向控制 工作 停止 直流电机 T3T4 T1T2 VCC 正转 反转 GND 图 3 1 FPGA 直流电机控制电路 第 4 章 基于 VHDL 的硬件模块设计 4 1 基于 FPGA 的直流电机 PWM 控制 如图 4 1 所示 直流电机控制系统主要由五部分组成 直流电机转速控制 器 锯齿波发生器 PMW 波形发生器 直流电机转动方向控制器和由功率放大 电路和 H 桥组成的正 反转功率驱动电路 图4 1 直流电机PMW控制图 图 4 1 所示电路完成的主要功能为 Enable 为使能信号 当 Enable 1 时允许 调速 相反当 Enable 0 时则禁止调速 Up Down 为加速 减速控制信号 当 Up Down 1 输入 CLK1 使直流电机转速控制器计数器的输 出值增 大 P MW 占空 比增大 电 机转 速加 快 当 U p D own 0 输 入 C LK 1 使直 流 电 机 转 速 控 制 器 的 输 出 值 减 小 P M W 的 占 空 比 减 小 电 机 转 速 变 慢 在 C L K 0 的作 用 下 锯 齿 波 计 数 器 输 出 周 期 性 线 性 增 加的锯 齿 波 当 锯 齿 波 的计 数 值 小 于 直 流电 机转 速控 制 器的设 定 值时 数 字 比 较 器 输 出 高 电 平 当锯 齿 波的计 数 值 大 于 直 流 电 机 转 速 控 制 器的设 定 值时 数 字 比 较 器 输 出 低 电 平 由 此产 生 周 期 性的 P M W 波 形 旋 转 方 向控 制电 路控 制 控 制 直 流 电 动 机 转 向和启 停 该电 路由 两 个 2 选 1 多 路 选 择 器 组 成 Z h en g Fan 为方向控制信号 Zheng Fan 引脚控制选 择进入 H 桥的 PMW 波形 以控制电机的旋转方向 Start Stop 为启 停信号 Start Stop 引脚通过 与 门控制 PMW 的输出 实现对电机的工作 停止控制 H 桥 电 路 由大 功 率 晶 体 管 组 成 P M W 波 形 经方 向控 制 电 路 送至 H 桥 将功 率 放 大以后驱 动 电 机 转 动 PMW 控制电路由直流电机转速控制器 binary up down counter 和锯齿 波发生器 binary counter 组成 binary up down counter 是一个简单的 5 位二进制计数器 做直流电机转速控制器 而 binary counter 是一个线性递增 计数器 作锯齿波发生器 其余的模块是 2 选 1 多路选择器和比较器 锯 齿 波 发 生 器在 C LK 0 的激 励下输 出从 0 开 始的逐 渐 增 大 的 锯 齿 波 两 路 计 数 器的输 出同 时加在数 字 比 较 器上 当直 流 电 机 转 速 控 制 器 输 出 值 小 于 锯 齿 波 发 生 器 输 出 的 值 比 较 器 输 出 低 电 平 当 直 流 电 机 转 速 控 制 器 输 出 大 于 锯 齿 波 发 生 器 输 出 的 值 时 比 较 器 输 出 高 电 平 这样就产生了占空比保持不变的方波 改变直流电机转速控制器的设定值 initial 时 就可以改变 PMW 输 出信 号的在 占 空比即初调 直流电机转速控 制器是一个双 向计 数器 能够进行加 减计数 由 U p Down 控制其加 减计数方向 在时钟 CLK 上升沿到来时可以改变 binary up down counter 的输出即微调 为了方便连 续 变 速 控 制 在计 数 器 C LK 端 通 过 与 门 加 入了 C C LK 1 外 部变 速控 制附 加时 钟 并由 E nab l e 信 号 控 制是否允许变 速 4 2 实现系统控制的各模块 4 2 1 直流电机转速控制器 binary up down counter 直流电机转速控制器 binary up down counter 是一个可控制的加减计 数器 作细分计数器 输出 CQ 4 0 加载到数字比较器的一端 通过 VHDL 语言 实现的直流电机转速控制器硬件电路如图 4 2 所示 图 4 2 直流电机转速控制器 通过 VHDL 语言的编译定义了直流电机转速控制器硬件电路的五个输入引脚 分别为系统时钟引脚 CLK 数据清零引脚 Reset 使能输入引脚 Enable 变速控制引脚 Up Down 起始数据输入引脚 Initial 还 有一 个 输 出端 CQ 直流电机转 速 控 制 器 是 一 个 双 向 计 数 器 能够进 行 加 减 计 数 并由 U p Dow n 控 制 其 加 减计 数 方 向 C L K 是 计 数 时 钟 输 入 端 为 了方便连 续变 速控 制 在计 数器 C LK 端通过 与 门 加入了 C LK1 外部变 速 控制附加时钟 并由 E nab l e 信 号控制是否允许变 速 Reset 为清零键用来控制 初值是否给定 Initial 用来给定控制直流电机速度的初始值 即给定初始速 度 几个输入引脚相互配合起到了对直流电机转速控制器控制速度的功能 具体程序如下 library ieee use ieee std logic 1164 all use ieee std logic unsigned all use ieee numeric std all entity binary up down counter is port clk in std logic reset in std logic enable in std logic updown in std logic Initial in std logic vector 4 downto 0 CQ out std logic vector 4 downto 0 end entity 直流电机转速控制器是五位的加减计数器 计数器加的过程实为系统的加 速过程 相反减的过程为系统的减速过程 直流电机转速控制器输出的数据被 连到 PMW 波形发生器 数字比较器 与锯齿波发出的数据相比较 从而完成直 流电机速度的控制 初值的加入 当 reset 引脚输入低电平时由 initial 引脚输入五位数据初 值 从而给定直流电机的初始速度 系统的加速过程 当 enable 引脚输入高电平且 up down 引脚输入高电平时 此时直流电机转速控制器进行一个加的过程 通过比较与锯齿波发生器发出的 数值使输出波形的占空比变大 从而达到直流电机加速的目的 相反 enable 引 脚输入低电平则不发生加速过程 系统的加速过程 当 enable 引脚输入高电平且 up down 引脚输入低电平时 此时直流电机转速控制器进行一个减的过程 通过比较与锯齿波发生器发出的 数值使输出波形的占空比变小 从而达到直流电机减速的目的 具体程序如下 architecture rtl of binary up down counter is signal Init std logic vector 4 downto 0 begin init initial process clk variable cnt std logic vector 4 downto 0 begin Synchronously update counter if reset 0 then Reset the counter to initial cnt init elsif rising edge clk then if enable 1 then if updown 1 then if cnt 11111 then cnt cnt else cnt cnt 1 end if else if cnt 00000 then cnt cnt else cnt cnt 1 end if end if end if end if CQ cnt end process end rtl 直流电机转速控制器功能仿真如图 4 3 所示 当输入时钟 clk 为上升沿时 输出值 CQ 就会加 1 输出值范围由 0 可以自加到 31 系统时钟引脚 数据清零引脚 使能引脚变速控制引脚起始数据输入引脚 数据输出端 图 4 3 binary up down counter 仿真波形图 4 2 2 锯齿波发生器 binary counter 锯 齿 波 发 生 器 线 性 递 增 计 数 器 通过脉 宽 时 钟 作 用 下 递 增 计 数 产 生 阶 梯 形 上 升 的 周 期 性 的 锯 齿 波 锯 齿 波 发 生 器 输 出五位数 据 锯齿波发生器 确定了脉冲的宽度 其输出的数据被连到 PMW 波形发生器与直流电机转速控制 器输出的数据比较 从而达到了对占空比的控制 通过 VHDL 语言实现的锯齿波 发生器硬件电路如图 4 4 所示 图 4 4 binary counter 锯齿波发生器 具体设计程序如下 library ieee use ieee std logic 1164 all use ieee std logic unsigned all use ieee numeric std all entity binary counter is port clk in std logic CQ out std logic vector 4 downto 0 end entity architecture rtl of binary counter is begin process clk variable cnt std logic vector 4 downto 0 begin if rising edge clk then if cnt 11111 then cnt 00000 elsecnt cnt 1 end if end if Output the current count CQ cnt end process end rtl 锯齿波发生器功能仿真如图 4 5 所示 当输入时钟 clk 为上升沿时 输出值 CQ 就会加 1 输出值范围由 0 可以自加到 31 输入时钟 输出值 图4 5 binary counter 仿真波形 4 2 3 PMW 波形发生器 CMP P M W 波 形 发 生 器 数 字 比 较 器 用来对锯 齿 波 发 生 器和直流电 机 转 速控制 器 输 出 值的大小做比 较 当 锯 齿 波 发 生 器 的 值 小 于直流电机转速控制 器 的设 定 值 时 输 出 高 电 平 当锯 齿波 发 生 器 的 值 大 于直流电机转速控制 器 的 设 定 值 时 输 出 低 电 平 由此可输出周期性的 PWM 波形 其硬件电路如图 4 6 所示 图 4 6 比较器 PMW 波形发生器的生成步骤如下 1 打开 MegaWizard Plug In Manager 初始对话框 选择 Tools MegaWaizard Plug In Manager 命令 打开如图对话框 选中 Create a new custom megafuncition variation 单选按钮 即定制一个新的模块 如图 4 7 所示 图 4 7 定制新的宏功能块 2 单击 Next 按钮后 打开如图对话框 在左栏选择 storage 项 下 的 L P M C O M P A R E 然后选 择 A C EX1 K 器 件 和V H D L 语 言 方 式 最 后再输 入 文 件 存 放 的 路 径 和 文 件 名 如图 4 8 所示 图 4 8 比较器选择定义路径 3 比较器的生成如图 4 9 所示 图 4 9 采用 LPM 宏功能模块生成的位比较器 4 单击 Next 按钮 由于本文涉及到的数值不为常数且无符号 所以分 别选择 No 和 Unsigned 如图 4 10 所示 图 4 10 选择数的类型 5 单击 Next 按钮 选择 No 即不加时钟 如图 4 11 所示 图 4 11 时钟的选择 6 生成的文件会保存在设定的路径当中 如图 4 12 所示 图 4 12 完成定制 4 3 直流电机工作时序分析 锯齿波发生器 输入时钟 转速控制器输入时钟 电机启 停控制 起始数据输入 使能引脚 数据清零引脚 方向控制引脚 正转 反转 图4 13 直流电机PWM 仿真波形图 图 4 13 是直流电机仿真波形图 给出了直流电机工作过程的仿真波形 图 中展示了 FPGA 控制直流电机的情况 直流电机转速控制器输出的 5 位数据作 为直流电机电流的参考值 通过 PMW 波形发生器来调节占空比 从而达到调节 直流电机速度的目的 图中 Start Stop 用来控制直流电机的启动和停止 Enable 为使能信号用 来命令直流电机是否加速 Reset 为清零信号当为低电平时允许输入初始值 Up Down 则为控制速度的信号当为高电平时电机开始加速 低电平时电机开始 减速 Zheng Fan 则用来调节直流电机的方向 当为高电平时正向旋转 低电 平时为反向旋转 实测结果表明 通过启 停信号 使能信号 清零信号 速度控制信号 方向控制信号的设置可以对直流电机的速度方向做出精确的控制 第 5 章 液晶图文显示 5 1 LCD 液晶显示 由于液晶显示器具有体积小 功耗低 质量轻等特点 因此广泛应用于各种智 能型仪器和低功耗电子产品中 许多电子公司相继推出各种型号各种系列的液 晶显示模块 这些模块不仅可以显示字符和数字 有的还可以显示各种图形和汉 字 这里介绍了液晶显示器 OCMJ 液晶显示器及软件编程特点 5 5 1 OCMJ 液晶显示器 OCMJ 液晶显示器内含 GB 2312 16 16 点阵国标一级简体汉字和 ASCII8 8 点阵英文字库 输入区位码或 ASCII 码即可实现文本显示 它同时 为用户提供位点阵和字节点阵两种图形显示功能 用户可在指定的屏幕位置上 以位为单位或以字节为单位进行图形显示 完全兼容一般的点阵模块 OCMJ 中 文模块所有的设置初始化工作都是在上电时自动完成的 实现了 即插即用 同时保留了一条专用的复位线供用户接口命令代码 非常容易记忆 标准拥护 硬件接口采用 REQ BUSY 握手协议 简单可靠 5 5 2 模块管脚说明 LCD LCD 为背光源引脚 由用户接上相应的电阻调整 LCD 背光亮度 电阻 阻值在 10 30 之间 RT1 RT2 接脚为辉度调节电位器接脚 接 10 kB 左右电 位器可调节辉度 RESET 为低电平有效 接口协议为 请求 应答 REQ BUSY 握手方式 应答 BUSY 高电平 BUSY 1 表示 OCMJ 忙于内部处理 不能接收用 户命令 BUSY 低电平 BUSY 0 表示 OCMJ 空闲 等待接收用户命令 发送命 令到 OCMJ 可在 BUSY 0 后的任意时刻开始 先把用户命令的当前字节放到数据 线上 接着发高电平 REQ 信号 REQ 1 通知 OCMJ 请求处理当前数据线上的命 令或数据 OCMJ 模块在接收到外部的 REQ 高电平信号后立即读取数据线上的命 令或数据 同时将应答线 BUSY 变为高电平 表示模块已收到数据并正在忙于对 此数据的内部处理 此时 用户对模块的写操作已经完成 用户可以撤消数据 线上的信号并可做模块显示以外的其他工作 也可不断的查询应答线 BUSY 是否 为低 如果 BUSY 0 表明模块对用户的写操作已经执行完毕 可以再送下一个 数据 如果模块发出一个完整的显示汉字的命令 包括坐标及汉字代码在内共 需 5 个字节 模块在接收到最后一个字节后才开始执行整个命令的内部操作 因此 最后一个字节的应答 BUSY 高电平 BUSY 1 持续时间较长 具体时序图 参见图 5 1 图 5 1 对模块写汉字时序图 5 2 液晶图文显示 显示单元可以显示电机的转速 和转向 如图 5 2 所示液晶显示模块各引 脚功能如下 d3 至 d0 为测速译码模块 4 位输入引脚 busy req dout 为液晶 输入输出引脚 clr 为系统复位引脚 如图 5 2 所示 图 5 2 液晶显示模块 具体程序如下 IBRARY ieee use ieee std logic 1164 all use ieee std logic unsigned all ENTITY lcd display IS PORT d3 d2 d1 d0 IN STD LOGIC VECTOR 3 DOWNTO 0 busy INSTD LOGIC dout outSTD LOGIC VECTOR 7 DOWNTO 0 req OUTSTD LOGIC clr inSTD LOGIC END lcd display ARCHITECTURE one OF lcd display IS SIGNAL addr integer range 0 to 40 BEGIN P1 PROCESS busy clr BEGIN if clr 0 then addr 0 ELSIF busy event AND busy 1 THEN if addr 25 then addr 0 rest 1 else addr addr 1 end if END IF END PROCESS P1 req dout dout dout dout dout dout dout d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-湖北-湖北汽车驾驶与维修员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北林木种苗工二级(技师)历年参考题库典型考点含答案解析
- 2025年智能停车系统项目智慧停车平台建设研究
- 2025年事业单位工勤技能-湖北-湖北中式面点师五级(初级工)历年参考题库典型考点含答案解析
- 绿色消费2025:传播策略创新与消费者行为引导实证研究报告
- 职业技能培训在农村公共文化服务体系建设中的应用报告
- 2025年事业单位工勤技能-河南-河南房管员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南仓库管理员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河北-河北药剂员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河北-河北土建施工人员二级(技师)历年参考题库含答案解析
- 医院科研诚信管理办法范例
- 乳腺钼靶诊断分级标准
- (完整版)数字信号处理教案(东南大学)
- 三腔二囊管置入及护理课件
- 人民代表大会的职权
- 广东省制药企业列表
- 北京市施工现场重污染天气应急预案
- 中等职业学校英语课程标准(2020年版)(word精排版)
- 医院消毒供应中心外来器械管理流程教材44课件
- 污水处理厂运行成本分析
- 四川中小学生健康体检表
评论
0/150
提交评论