微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > FPGA在步进电机控制中的应用

FPGA在步进电机控制中的应用

时间:03-07 来源:互联网 点击:
步进电机是一种将电脉冲转化为角位移的执行机构。可以通过控制脉冲数来控制步进电机的角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机的速度和加速度,从而达到调速的目的。由于步进电机控制简单、运行可靠,所以被广泛应用于各种控制装置中。

电机铁芯扭槽叠扣冲压控制系统是为实现模具加工智能化控制要求,为企业设计的实用性产品,其要求是对高速冲床附加一智能模具控制器,该控制器在不影响冲床原有的运行及控制的基础上,采集相关的输入信号,并实现对所冲模具的有效控制。本文设计的控制器要求扭槽模具每冲一片后移动一个步距到达另一个特定位置,再冲另一片,连续冲出的铁芯片,经叠压后,形成所要求的扭槽形状。控制系统强调铁芯加工过程中的角度位移控制,希望具有足够高精度的步距角,并且运行稳定性好。控制系统选用了两相混合型步进电机作为位置控制机构,通过FPGA的控制,将输入的脉冲信号线性地转换为位移量,从而控制电机铁芯的扭槽。

传统步进电机控制电路的实现多用单片机或专用接口芯片,此类方法存在单片机易受电机干扰,专用接口芯片使用灵活性差等缺点。本文提出的利用 FPGA实现步进电机控制的方案,具有修改方便、使用灵活、可靠性高、可移植性强等优点。

1 控制系统的硬件组成

步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机的运动不产生旋转量的误差累积。由FPGA实现的步进电机控制系统结构如图1 所示。控制系统中的核心芯片是FPGA,如虚线所示。它由两大功能模块组成:a.速度控制模块,核心是锁相环PLL宏模块电路,它在不同速度控制信号作用下,可将经时钟分频器分频后的系统时钟改变为不同的PWM信号,将此信号作为速度控制模块的变频时钟,可达到改变步进电机速度的目的;b.方向控制模块,核心是脉冲分配电路,在每一个变频时钟周期内,脉冲分配器可在不同的方向控制信号下产生不同方向的步进时序脉冲,从而控制步进电机顺2步进电机及其驱动器的选用步进电机可以用数字信号直接控制,随着数字控制系统的发展,步进电机的应用也越来越广泛。


图1 由FPGA实现的步进电机控制系统结构

步进电机需配置一个专用的电源供电,电源的作用是让电动机的控制绕组按照特定的顺序通电,即受输入的电脉冲控制而动作,这个专用电源称为驱动电源(或驱动电路)。步进电机及其驱动电源是一个互相联系的整体,步进电机的运行性能是由电动机和驱动电源两者配合所形成的综合效果。

本文选用的是北京斯达微步控制技术有限公司的86BYG250C型两相混合步进电机,选用的驱动器是该公司生产的、与86BYG250C型步进电机相配套的MS2H090M型驱动器。该驱动器采取先进的细分技术,使电机运行更加平稳。

86BYG250C步进电机的主要技术参数如表1所示。



MS-2H090M型驱动器的主要性能参数如表2所示。



步进电机的驱动器根据控制信号工作,将FPGA提供的弱电信号放大为步进电机能够接受的强电流信号。FPGA提供给MS-2H090M型驱动器的信号主要有步进脉冲信号CP和方向控制信号DIR,可用于步进电机的转向控制,如图2所示,通过改变发出的脉冲频率可进行步进电机的速度控制。



MS-2H090M型驱动器用于驱动二相或四相混合式步进电机。电机的出线方式不同,与驱动器的连接也不同。在该控制系统中采用的电机 86BYG250C为两相四根线电机,接法如图3所示。



2 步进电机的FPGA控制

2.1 步进电机的速度控制

在步进电机控制系统中,升速过程由突跳频率加升速曲线组成(减速过程反之)。突跳频率是指步进电机在静止状态时突然施加的脉冲频率fo必须小于启动频率fh,此频率不可太大,否则也会产生堵转和丢步。所以步进电机在启动时,必须有升速过程,在停止时必须有减速过程。在本控制系统中,根据FPGA 的性能特点,变速曲线采用直线细分原理,控制效果较好。步进电机加速过程中的频率变化曲线如图4所示。对应于启动频率的上升,直线可以变化N个台阶,将频率细分为N个值,用来驱动步进电机平滑启动和停止,可防止失步和过冲现象。



2.2 步进电机的方向控制

方向控制模块的核心是脉冲分配电路,它有两个输入信号:一个是PWM信号构成的变频时钟,每输入一个PWM脉冲,脉冲分配器的四相输出时序将发生一次变化,从而使步进电机转动一步;另一个是方向控制信号,它的不同状态将使脉冲分配器产生不同方向的步进时序脉冲,从而控制步进电机的转动方向。根据四相八拍的控制方式,定子通电顺序为(A-AB-B-BC-C-CD-D-DA-A)。本系统采用了Mealy型状态机描述方法,状态取值依次:SO=“0001”,S1=“0011”,S2=“0010”,S3=“0110”,S4=“10100”,S5=”110O”,S6=“1000”,S7=”1001”。

按照控制时序的要求,用‘1’表示该绕组加电,‘0’表示该绕组断电。方向控制模块的状态流程图如图5所示。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top