- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三相六拍步进电机FPGA实现
三相六拍步进电机的FPGA实现
一.实验要求
用硬件描述语言描述一个控制三相六拍步进电机相序的控制模块。该控制电路模块的输入信号分别为方向控制信号dir,复位信号reset和时钟信号clk,输出信号分别是步进电机的三相绕组A、B和C。当复位信号reset为高电平时,步进电机的三相绕组A、B和C只有A相通电,即输出信号只有A为高电平,B和C均为低电平;复位信号reset为低电平,方向控制信号dir为低电平时,在时钟信号的控制下,相序为A→AB→B→BC→C→AC→A;方向控制信号dir为高电平时,相序为A→AC→C→BC→B→AB→A。时序图如图所示。编写仿真程序,观察输入激励和输出波形。
二.实验原理
步进电机是一种将电脉冲转化为角位移的执行机构。也就是当步进驱动器接收到一个脉冲信号时,它就驱动步进电机按设定的方向转动一个固定的角度,它的旋转是以固定的角度一步一步运行的。
步进电机控制器主要由三部分组成
1.频率发生器
步进电动机的转动是由脉冲控制的,通过控制脉冲频率即可控制电机转动的速度和加速度,从而达到调速的目的。此处设置了四档调速。CLK是外部输入频率,P2和P1是分频模式选择,P2、P1:00:外部输入脉冲频率;P2、P1:01:对外部输入频率4分频;P2、P1:10:对外部输入频率8分频;P2、P1:11:对外部输入频率16分频;处理过的脉冲信号由CK端送入脉冲分配器步进电机的状态分为启动和停止,启动后又分为正转、反转。据此电机转动控制上设置了三个信号输入端,Z为正转启动脉冲信号,F为反转脉冲信号,T为停止的脉冲信号。通过方向锁存器将输入的脉冲信号转为电平信号,并且保证信号的唯一性。
根据三相线圈轮流通电方式的不同,三相反应式步进电动机有三相单三拍、三相双三拍、三相六拍等三种通电方式,实际应用中三相单三拍运行方式很少采用,因为这种运行方式每次只有一相绕组通电,容易使转子在平衡位置附近产生摆动,因而稳定性不好。所以此控制器设置了后两种拍通电方式,M为供电方式的选择,M=1为三相六拍,M=0为三相双三拍。
三相六拍运行的供电方式是:A—AB—B— BC—C—CA—A一个循环周期换接六次,有六种通电状态,故称三相六拍运行方式。如果每次都是两相控制绕组同时通电,即按AB—BC—CA— AB的顺序通电为三相双三拍.根据M的状态,控制脉冲的输出情况。脉冲分配器设计的主要思路是,设置一个6进制的计数器。三相六拍正转为1-6循环,反转为6-1循环;三相双三拍正转为2-4-6循环,反转为6-4-2循环。module motor(clk,reset,dir,a,b,c);
input clk,reset,dir;
output a,b,c;
reg a,b,c;
parameter st0=3b001,st1=3b011,st2=3b010,st3=3b110,st4=3b100,st5=3b101;
reg[2:0] pst,nst;
always @(posedge clk)
begin
if(reset)
pst=st0;
else
pst=nst;
end
always @(pst or dir)
begin
if(!dir)
begin
case(pst)
st0:nst=st1;
st1:nst=st2;
st2:nst=st3;
st3:nst=st4;
st4:nst=st5;
st5:nst=st0;
endcase
end
else
begin
case(pst)
st0:nst=st5;
st1:nst=st0;
st2:nst=st1;
st3:nst=st2;
st4:nst=st3;
st5:nst=st4;
endcase
end
end
always @(pst)
begin
case(pst)
st0:{c,b,a}=st0;
st1:{c,b,a}=st1;
st2:{c,b,a}=st2;
st3:{c,b,a}=st3;
st4:{c,b,a}=st4;
st5:{c,b,a}=st5;
endcase
end
endmodule
仿真结果如下图:
转载:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity mc is
port(inclk: in std_logic;
smzfd: in st
您可能关注的文档
最近下载
- 信息系统等保安全方案.doc VIP
- 兴业银行信息技术专员岗位笔试选择题附笔试高分技巧.docx VIP
- 化工设计概论与化工制图课件第四章化工设备常用零部件简介.pptx VIP
- 高等教育5化工制图cad化工设备图中焊缝结构的表达.pptx VIP
- 化工设计概论与化工制图课件第七章车间布置设计.pptx VIP
- 新概念英语入门级6-10单元测试卷.pdf VIP
- 化工设计概论与化工制图课件第八章管道设计.pptx VIP
- 化工设计概论与化工制图课件第十章管道布置图.pptx VIP
- 化工制图cad8管道布置图.pptx VIP
- 统编版语文一年级下册2吃水不忘挖井人 课件(共54张PPT).pptx VIP
文档评论(0)