- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《电子设计 EDA 技术》 课程设计
课题:三相双三拍步进电机环分电路设计
院系: 自动化
班级: 数控卓越 111
学号: 203110814
姓名: 刘陈砖
1
目 录
一、 摘要 ................................. 2
二、 任务要求 ............................. 2
三、 步进电机原理 ........................ 2
四、 方案设计 .............................3
五、 操作过程 .......................... 4
六、 仿真波形分析 .........................5
七、 总结 ................................. 6
八、 附件 .................................. 72
一、摘要:
利用 EDA 技术进行对电子系统设计表达, VHDL 则是目 前通用硬件描述语言。 本次设计提出了一种利用 VHDL 语言设计电机控制器的思路, 实现三相双三拍步进电机驱动电路的设计。
二、 任务要求:
三相双三拍步进电机环分电路设计:
首 先 设 定 相 序 初 值 , 而 后 每 来 一 次 脉冲 降沿 , 相 序 按 照AB?BC?CA?AB 的顺序变化, 相应控制位置高电平。
三、 步进电机原理
步进电机是一种将电脉冲转化为角位移的执行机构。 三相反应式步进电机, 其定子的每相都有一对磁极, 每个磁极都只有一个齿,即磁极本身,故三相步进电机有三对磁极共六个齿;其转子有四个齿,分别称为 0、 1、 2、 3 齿。
步进电机以的双三拍工作时各相的通电顺序为: AB→BC→CA3
→AB
四、 方案设计
4.1 设计思路
1、 脉冲分配器设计-------控制步进电机的通电顺序鉴于双三拍的通电顺序为: AB→BC→CA→AB , 设计一个3 进制的计数器:
正转为“011→ 110→ 101”循环,
反转为“101→ 110→ 011”循环。
2、 频率发生器----------控制步进电机的调速通过脉冲频率即可控电机的转动速度
3、 方向锁存器----------控制步进电机的工作方式步进电机的状态分为停止、 正转、 反转。 电机转动控制设计三个信号输入端, Z 为正转启动脉冲信号, F 为反转脉冲信号, T 为停止的脉冲信号。 通过方向锁存器将输入的脉冲信号转为电平信号, 并且保证信号的唯一性。
4.2 设计框架图
4
五、 操作过程
1、 打 开 Quartus II 工 作 环 境 , 建 立 项 目 工2、 编写源代码
5
3、 编译
4、 管脚分配
5、 波形仿真
6
六、 仿真波形分析
通过波形可以看出满足设计要求。 有一定的延时。
七、 总结
此次设计完成用 EDA 技术对步进电机的三相双三拍步进电机环分电路设计, 并满足了设计任务要求。
通过这次设计更加熟悉了 EDA 技术,较熟练的掌握了 quartus软件的使用, 并且对于 VHDL 源代码的书写有利些许心得, 将书本所讲用于实践是一种极大的提升。
7
八、 附件
源代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY MC IS
PORT(INCLK:IN STD_LOGIC;
SZFT:IN STD_LOGIC_VECTOR(2 DOWNTO 0);
OUTPUTCBA:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END MC;
ARCHITECTURE ARCH_MC OF MC IS
SIGNAL SA:STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
PROCESS(INCLK,SZFD) IS
BEGIN
IF(RISING_EDGE(INCLK))THEN
IF(SZFT=100)THEN
IF(SA=3)THEN
SA=001;
ELSE
SA=SA+1;
END IF;
8
ELSIF(SZFT=010)THEN
IF(SA=1)THEN
SA=011;
ELSE
SA=SA-1;
END IF;
ELSIF(SZFT=001)THEN
SA=000;
END IF;
END IF;
文档评论(0)