欢迎来到天天文库
浏览记录
ID:14087738
大小:1.17 MB
页数:26页
时间:2018-07-25
《四相步进电机定位控制系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、四相步进电机定位控制系统四相步进电机定位控制系统功能概述步进电机每接收到一组脉冲数字信号,便旋转一个角度,成为步进角。不同规格的步进电机的步进角不同,这决定于其内部的线圈数量。线圈中的供应电流可以决定线圈所产生的磁场方向。假设有两组线圈A和B,如图一所示。A线圈如果提供A点低电位而A′点高电位,电流由A′螺旋向上流到A,形成向上的磁场方向;同理,提供B点低电位而B′点高电位,电流由B′螺旋流到B,形成向左的磁场方向。A和B这两组线圈形成的总磁场方向即为左上方。如果将电动机的转子置于线圈所产生的磁场中,便会受到磁场的作用而产生与磁场方向一致的力,转子便开始转动,直到
2、转子的磁场方向与线圈的磁场方向一致为止。如图二所示。由A和B两组线圈电流方向的排列组合,最多可以产生8种磁场方向,分别是0°、45°、90°、135°、180°、225°、270°、315°。这些方向的电流方向列于表一。图一图二由表一可知,假设电动机转子刻度原先在0°的位置,想让其转到180°,就必须让端口信号依次由0001、0011、0010、0110到0100变化。但是是否有更快的办法,是否一定要经过4个信号过程呢?其实有更快更省电的方式让电动机从0°达到180°的位置。这就是所谓的激磁方式的不同。四相电动机可以分为3种激磁方式。表一:四相步进电机的8个方向和
3、电流以及电压信号的关系磁场方向0°45°90°135°180°225°270°315°电流方向A线圈B线圈A→A′A→A′0A←A′A←A′A←A′0A→A′0B→B′B→B′B→B′0B←B′B←B′B←B′端口信号000100110010011001001100100010011-相激磁法:当目标角度是90的整数倍时,采用这种方法。例如要从0转到270,只要让端口信号的顺序为0000,0001,0010,0100,1000即可。2-相激磁法:当目标角度是45而非90的整数倍时,可采用这种方法。例如要从0转到225,只要让端口信号的顺序为0000,0011,01
4、10,1100即可。1-2-相混合激磁法:按照表二中所列的信号顺序。表二:四相步进电机3种不同激磁方式对应提供的端口信号磁场方向0°45°90°135°180°225°270°315°端口信号000100110010011001001100100010011-相激磁√√√√2-相激磁√√√√1-2-相激磁√√√√√√√√四相步进电机定位控制系统的VHDL源码及注释--四相步进电机示例程序libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsig
5、ned.all;entitystep_motorisport(reset:inSTD_LOGIC;--系统复位信号dir:inSTD_LOGIC;--步进电机正反转方向控制开关(0:逆时针;1:顺时针)clk:inSTD_LOGIC;--系统时钟(FPGA内部提供的4MHz的时钟信号)ini:inSTD_LOGIC;--使能开关manner:inSTD_LOGIC_VECTOR(1downto0);--激磁方式的选择开关(00:自动选择激磁方式;--01:1-相激磁;10:2-相激磁;11:1-2-相激磁)angle:inSTD_LOGIC_VECTOR(7dow
6、nto0);--步进角的倍数设定输入键baBA:outSTD_LOGIC_VECTOR(3downto0));--步进电机的状态输出endstep_motor;architecturestepmotor_archofstep_motorissignalcount:INTEGERrange0to7;--内部电路的计数累加器,用于产生输出所需对应的状态signalcntInc:INTEGERrange-2to2;--设定累加器所需的累加/减计数值signalcntIni:INTEGERrange-1to0;--设定累加器所需的计数初值signalangleDnCoun
7、t:INTEGERrange255downto0;--设定步进角所需的计数次数signalangleDnCntDec:INTEGERrange2downto1;--设定步进角所需的累减计数值begin--步进电机方向设定电路模块该模块的功能是设定步进电机的旋转方向(顺时针或逆时针),并设定电机在顺时针转动或逆时针转动时所需的初值与累加/减值。process(dir,manner,angle)beginifdir='0'thencasemanneriswhen"01"=>--1-相激磁cntIni<=0;cntInc<=2;angleDnCntDec<=2;when
8、"10"=
此文档下载收益归作者所有