基于quartus的步进电机控制器仿真设计.doc

基于quartus的步进电机控制器仿真设计.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于quartus的步进电机控制器仿真设计

成 绩 评 定 表 学生姓名 班级学号 专 业 课程设计题目 评 语 组长签字: 成绩 日期 201 年月日 课程设计任务书 学 院 专 业 学生姓名 班级学号 课程设计题目 步进电机控制器 实践教学要求与任务: 训练学生综合运用学过的基础知识,独立进行查找资料、选择方案、代码设计、撰写报告,进一步加深对EDA技术的理解。 能正确划分设计层次;收集资料;独立思考,刻苦专研,严禁抄袭;按时完成设计任务,认真、正确地书写课程设计报告。 步进电机的控制主要通过5个按键来实现,分别表示正转、反转、加速、减速和停止。 工作计划与进度安排: 课程设计时间为10天(2周) 1、调研、查资料1天。 2、总体方案设计2天。 3、代码设计与调试5天。 4、撰写报告1天。 5、验收1天。 指导教师: 201 年月日 专业负责人: 201年 学院教学副院长: 201年 月 日 目 录 1.设计目的 1 2.设计要求和任务 1 1.2.1设计要求 1 1.2.2设计任务 1 3.总体设计思路及原理描述 1 3.1系统硬件原理图 1 3.2步进电机驱动原理 2 4.程序设计 3 5. 编译/仿真 4 5.1编译过程 4 5.1.1 建立顶层设计文件夹TRAFFIC_CTROL 4 5.1.2 TRAFFIC_CTROL.VHD模块设计 4 5.1.3 TRAFFIC_CTROL.SCf波形文件设计 4 5.2仿真结果 5 6.心得体会 5 7.参考文献 7 1.设计目的 训练学生综合运用学过的基础知识,独立进行查找资料、选择方案、代码设计、撰写报告,进一步加深对EDA技术的理解。 2.设计要求和任务 1.2.1设计要求 (1)根据设计题目要求编写相应程序代码 (2)对编写的VHDL程序代码进行编译和仿真 (3)总结设计内容,完成课程设计 1.2.2设计任务 设计一个步进电机控制器,步进电机的控制主要通过5个按键来实现,分别表示正转、反转、加速、减速和停止 3.总体设计思路及原理描述 3.1系统硬件原理图 系统原理图如图3-1所示: 图3.1系统原理图 3.2步进电机驱动原理 三相四线制步进电机的驱动原理为当不同绕组一次轮流接通驱动电路时,会产生磁场从而带动步进电机旋转一个步次,当改变绕组接通次序则会改变其转向,当改变绕组接通频率则可改变其运行速度。在这里,我采用单四拍控制。通过一个按键来控制电机的正反转,两个按键来控制电机的调速。 三相四线制步进电机的单四拍正反转数字控制模型如表3.1、表3.2所示: 表3.1?单四拍正转数字控制模型 表3.2?单四拍反转数字控制模型 4.程序设计 该步进电机的源程序TRAFFIC_CTROL.VHD library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity step is port(clk,rst:in std_logic; --状态机工作时钟和复位信号 a:in std_logic; --转向开关 KEY:in std_logic_vector(1 DOWNTO 0); --调速开关 y:out std_logic_vector(3 downto 0)); end step; architecture bhv of step is type states is(s0,s1,s2,s3); --数据类型定义,定义状态符号 signal c_st,next_st:states; --将现态和次态定义为新的数据类型states signal clkns:std_logic; signal q:integer range 0 to 65535; begin reg:process(clk) --主控时序进程 variable n:integer range 0 to 65535; begin if rst=1 then c_st=s0; --检测异步复位信号,复位信号后回到初态s0 elsif clkevent and clk=1 then if(qn) then q=q+1; else q=0;c_st=next_st;

文档评论(0)

561190791 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档