土木在线论坛 \ 电气工程 \ 工业自动化 \ 基于FPGA的步进电机控制器设计

基于FPGA的步进电机控制器设计

发布于:2009-02-25 15:17:25 来自:电气工程/工业自动化 [复制转发]
转自传动网http://www.chuandong.com/cdbbs/2008-10/28/081028F224FC511.html

  步进电机是一种将电脉冲信号转换成相应的角位移的特殊电机,每改变一次通电状态,步进电机的转子就转动一步。目前大多数步进电机控制器需要主控制器发送时钟信号,并且要至少一个I/O口来辅助控制和监控步进电机的运行情况。在单片机或DSP的应用系统中,经常配合CPLD或者FPGA来实现特定的功能。本文介绍通过FPGA实现的步进电机控制器。该控制器可以作为单片机或DSP的一个直接数字控制的外设,只需向控制器的控制寄存器和分频寄存器写入数据,即町实现对步进电机的控制。

  1 步进电机的控制原理

  步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合对数字系统的控制。步进电机可分为反应式步进电机(简称“VR”)、永磁式步进电机(简称“PM”)和混合式步进电机(简称“HB”)。

  步进电机区别于其他控制电机的最大特点是,通过输入脉冲信号来进行控制,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

  步进电机的驱动电路根据控制信号工作,控制信号由各类控制器来产生。其基本原理作用如下:

  ①控制换相顺序,通电换相。这一过程称为“脉冲分配”。例如:四相步进电机的单四拍工作方式,其各相通电顺序为A-B-C-D。通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断,控制步进电机的转向。如果给定工作方式正序换相通电,则步进电机正转;如果按反序换相通电,则电机就反转。

  ②控制步进电机的速度。如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整控制器发出的脉冲频率,就可以对步进电机进行调速。

  2 控制器的总体设计

  控制器的外部接口电路如图1所示。各引脚的功能如下:

  控制器的内部原理框图如图2所示,由命令字寄存器(Cmd_reg)、分频系数备份寄存器(fdiv_back)、分频器、相位输出状态机组成。

  其中命令字寄存器Cmd_reg组成如下(对应的地址为“00”):

  X未用位。

  Ini对控制器初始化为1时有效。当该位为1时,备份寄存器的数据直接装入分频器的寄存器reg_dATA[15~0],装入后由硬件自动置O。

  Newr当对正在运行的控制器写入新的分频系数时,对该位置1;当下一个分频器输出的clkout时钟来到时,将fdiv_back写入到reg_data[15~0]中,分频器便按新的分频系数进行分频。

  Manner[1~0] 电动机的驱动方式,用来控制相位输出状态机的输出,“00”表示单四拍方式,四相位输出为(A-B-C-D);“Ol”表示双四拍,四相位输出为(ABBC-CD-DA),八拍(A-AB-B-BC-C-CD-DDA)。

  分频系数备份寄存器(fdiv_back) 两字节寄存器,reg_data[15~0]为分频器的一个16位寄存器,接收fdiv_back的值,对系统的分频为2~65536。对于12MHz的输入频率,分频后频率为6MHz~183Hz,(本设计中,步进电机的启动转速、转距、加速度由使用者根据实际情况自己计算)分频后每个clkout走一个步距角。对于步距角为1.8°的电机,可以满足各种速度的要求。

  3 分频器的设计

  分频器是该控制器实现的关键,在这里作为一个独立的模块,dATA[15~0]为分频系数。系统时钟Clk被分频系数寄存器中值分频后,输出Clkout作为相位输出状态机的时钟,每个Clkout到来时,产生一次相位转换,步进电机运行一个步距角。分频器的程序如下:

  图3所示为3分频时单四拍的输出仿真图。

  结语

  本文的创新点为将该步进电机控制器的控制字和分频系数映射在主控制器(DSP或单片机等)的内存空间,控制时仅需对其进行写操作,使步进电机的控制变得简单方便;而且,可节省主控制器(DSP或单片机等)的外围资源,减少板上负载。系统中可以加入电机运行总步数控制寄存器及其电路、加速度寄存器及其控制电路等,打造一个更智能的步进电机控制器。
这个家伙什么也没有留下。。。

工业自动化

返回版块

17.92 万条内容 · 346 人订阅

猜你喜欢

阅读下一篇

基于PLC的锅炉加药自动控制系统的设计

本文转载自:http://www.chuandong.com/publish/tech/thesis/2009/2/thesis_0_4_5785.html1 引言   目前,我国对大型锅炉的给水与蒸汽质量指标要求十分严格,因而需要对炉水品质连续监控。测量pH值大多采用传统的PID控制算法.但在反应过程中,因其中和点附近的高增益使得难以调整传统PID控制器参数。因此只能采用很小的比例增益,否则系统不稳定,而比例增益过小,又将使系统的动态特性变坏。对于锅炉给水加药测控装置,已经实现了加药系统的自动化,但无自动配药设备,仍需根据汽水实验室的化验结果人工配药,这样不仅工作强度大,而且所加的氨、联胺均属有剧毒易挥发物质,会给操作者造成严重危害,并导致环境污染。为此,提出变增益三区段非线性PID和积分模糊控制(IFC)算法的两种新型pH值控制法。通过对带有时滞的pH值中和过程进行数字仿真,结果表明,这两种控制算法均具有鲁棒性强,响应速度快和控制精度高的特点,尤其是IFC算法能克服pH值中和过程中的较大时滞。通过在某电厂的实际应用,已实现了锅炉给水配药、加药系统的全自动控制。

回帖成功

经验值 +10