四相步进电机定位控制系统精要.doc

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

四相步进电机定位控制系统 四相步进电机定位控制系统功能概述 步进电机每接收到一组脉冲数字信号,便旋转一个角度,成为步进角。不同规格的步进电机的步进角不同,这决定于其内部的线圈数量。线圈中的供应电流可以决定线圈所产生的磁场方向。假设有两组线圈A和B,如图一所示。A线圈如果提供A点低电位而A′点高电位,电流由A′螺旋向上流到A,形成向上的磁场方向;同理,提供B点低电位而B′点高电位,电流由B′螺旋流到B,形成向左的磁场方向。A和B这两组线圈形成的总磁场方向即为左上方。 如果将电动机的转子置于线圈所产生的磁场中,便会受到磁场的作用而产生与磁场方向一致的力,转子便开始转动,直到转子的磁场方向与线圈的磁场方向一致为止。如图二所示。由A和B两组线圈电流方向的排列组合,最多可以产生8种磁场方向,分别是0°、45°、90°、135°、180°、225°、270°、315°。这些方向的电流方向列于表一。 图一 图二 由表一可知,假设电动机转子刻度原先在0°的位置,想让其转到180°,就必须让端口信号依次由0001、0011、0010、0110到0100变化。但是是否有更快的办法,是否一定要经过4个信号过程呢?其实有更快更省电的方式让电动机从0°达到180°的位置。这就是所谓的激磁方式的不同。四相电动机可以分为3种激磁方式。 表一:四相步进电机的8个方向和电流以及电压信号的关系 磁场方向 0° 45° 90° 135° 180° 225° 270° 315° 电流方向 A线圈 B线圈 A→A′ A→A′ 0 A←A′ A←A′ A←A′ 0 A→A′ 0 B→B′ B→B′ B→B′ 0 B←B′ B←B′ B←B′ 端口信号 0001 0011 0010 0110 0100 1100 1000 1001 1-相激磁法:当目标角度是90的整数倍时,采用这种方法。例如要从0转到270,只要让端口信号的顺序为0000,0001,0010,0100,1000即可。 2-相激磁法:当目标角度是45而非90的整数倍时,可采用这种方法。例如要从0转到225,只要让端口信号的顺序为0000,0011,0110,1100即可。 1-2-相混合激磁法:按照表二中所列的信号顺序。 表二:四相步进电机3种不同激磁方式对应提供的端口信号 磁场方向 0° 45° 90° 135° 180° 225° 270° 315° 端口信号 0001 0011 0010 0110 0100 1100 1000 1001 1-相激磁 √ √ √ √ 2-相激磁 √ √ √ √ 1-2-相激磁 √ √ √ √ √ √ √ √ 四相步进电机定位控制系统的VHDL源码及注释 --四相步进电机示例程序 library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity step_motor is port (reset:in STD_LOGIC; --系统复位信号 dir: in STD_LOGIC; --步进电机正反转方向控制开关(0:逆时针;1:顺时针) clk: in STD_LOGIC; --系统时钟(FPGA内部提供的4MHz的时钟信号) ini: in STD_LOGIC; --使能开关 manner: in STD_LOGIC_VECTOR (1 downto 0); --激磁方式的选择开关(00:自动选择激磁方式;--01:1-相激磁;10:2-相激磁;11:1-2-相激磁) angle: in STD_LOGIC_VECTOR (7 downto 0); --步进角的倍数设定输入键 baBA: out STD_LOGIC_VECTOR (3 downto 0)); --步进电机的状态输出 end step_motor; architecture stepmotor_arch of step_motor is signal count: INTEGER range 0 to 7; --内部电路的计数累加器,用于产生输出所需对应的状态 signal cntInc: INTEGER range -2 to 2; --设定累加器所需的累加/减计数值 signal cntIni: INTEGER range -1 to 0; --设定累加器所需的计数初值 signal angleDnCount: INTEG

文档评论(0)

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

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

1亿VIP精品文档

相关文档