《步进电机定位控制.ppt》由会员分享,可在线阅读,更多相关《步进电机定位控制.ppt(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8.24 8.24 步进电机定位控制系统设计步进电机定位控制系统设计设计要求n设计一个基于FPGA的4相步进电机定位控制系统。系统组成 步进电机是利用数字信号控制的电机装置,步进电机每次接收到一组脉冲数字信号,便旋转一个角度,称为步进角。不同规格的步进电机的步进角不同,与电动机内部的线圈数量有关。线圈中的供应电流决定线圈所产生的磁场方向。4相步进电机有两组线圈 A和 B,如上图所示,A、B两组垂直摆放线圈的电流方向的排列组合,最多可以产生8种磁场方向,分别是0、45、90、135、180、225、270、315。4相步进电机的8个方向和电流以及电压信号的关系 由上表可以知,假设电动机转子刻度在
2、0的位置,想让其转180,可以使端口信号依次按0001,0011,0010,0110到0100变化。注意:4相电动机有1相激磁法、2相激磁法和12相混合激磁法3种激磁方式。不同的激磁方式,端口信号的顺序是不同的。FPGA模块图和输入、输出信号说明:reset:系统内部复位信号,1时有效;dir:步进电机正反转的方向控制开关,0:逆时针,1:顺时针;clk:由FPGA内部提供的4MHz的时钟信号;ini:赋初值的使能开关,0时有效;manner:激磁方式的选择开关(两位),00:自动检测角度输入,决定激磁方式01:1相激磁;10:2相激磁;11:12相激磁.angle:步进角的倍数设定输入键.b
3、aba:将内部计数器的count3 downto 0的数值编码输出模块设计 系统主要由步进电机方向设定电路模块、步进电机步进移动与定位控制模块和编码输出模块构成。前两个模块完成电机旋转方向设定,激磁方式设定和定位角度的换算等工作,后一个模块用于对换算后的角度量编码输出。各模块间整体共享的电路内部传递信号ncount:内部电路计数累加器,用来产生输出所需对应的状态;ncntinc:设定累加器所需的累加/减计数值;nsntini:设定累加器所需的计数初值;nangledncount:设定步进角所需处理的次数;nAngledncntdec:设定步进角所需累减计数值;电机方向设定电路模块n该模块设定了
4、步进电机的旋转方向以及电机在任一方向上所需的初值与累加/减值。n该模块VHDL程序见8.24 步进电机定位控制系统STEP_MOTOR.VHD中STEP_MOTOR_DIRECTION:BLOCK。模块输出的各个初值以及累加/减值的设定真值表mannercntinicntincangledncntdec00angle=2n+1时 1angle=2n 时 0220102210-12211011dir为0时,步进电机工作于逆时针旋转模式,累加值为正数。manner 选择激磁方式 00、01、10、11分别对应默认激磁方式、1相激磁方式、2相激磁方式和12相激磁方式。模块输出的各个初值以及累加/减值
5、的设定真值表mannercntinicntincangledncntdec00angle=2n+1时 1angle=2n 时 0-22010-2210-1-22110-11dir为1时,步进电机工作于顺时针旋转模式,累加值为负数。manner 选择激磁方式 00、01、10、11分别对应默认激磁方式、1相激磁方式、2相激磁方式和12相激磁方式。步进电机步进移动与定位控制模块n该模块的主要功能是利用赋初值ini将数值传到该模块中并配合输入的clk作为同步控制信号,进行步进电机的步进移动与定位控制。n该模块VHDL程序见8.24 步进电机定位控制系统STEP_MOTOR.VHD文件STEP_MOVING。n步进电机定位功能通过一个减法器实现:在每个clk脉冲上升缘,设定步进角倍数angledncount 减去不同激磁方式下设定的累减记数值angledncntdec,判断差值小于设定的累减记数时,步进电机旋转到预定角度停止输出驱动端口信号,实现步进电机的定位功能。n驱动端口信号利用累加器实现。编码输出模块n该模块的功能是将count与angledncount产生的数值经过编码,并通过baba3downto0输出到步进电机。程序设计与仿真n系统程序见8.24 步进电机定位控制系统VHDL程序与仿真。
限制150内