APP下载

两相仪用步进电机驱动控制器IP核的设计

2016-01-22奚嘉琦张文超

关键词:步进电机

奚嘉琦,张文超

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

摘要:针对两相仪用步进电机,提出了一种基于可编程片上系统的步进电机驱动控制器IP核的设计方案。设计和实现了各功能模块,并将其封装成了IP核。仿真和实测结果表明,所研究设计的IP核具有启动、停止、改变方向、加/减速以及细分等功能,可应用于各种两相步进电机驱动控制系统,特别是多步进电机应用系统,大大减少了重复设计的工作量,且运行稳定可靠。

关键词:步进电机;可编程片上系统;IP核;驱动控制

DOI: 10.13954/j.cnki.hdu.2015.01.007

两相仪用步进电机驱动控制器IP核的设计

奚嘉琦,张文超

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

摘要:针对两相仪用步进电机,提出了一种基于可编程片上系统的步进电机驱动控制器IP核的设计方案。设计和实现了各功能模块,并将其封装成了IP核。仿真和实测结果表明,所研究设计的IP核具有启动、停止、改变方向、加/减速以及细分等功能,可应用于各种两相步进电机驱动控制系统,特别是多步进电机应用系统,大大减少了重复设计的工作量,且运行稳定可靠。

关键词:步进电机;可编程片上系统;IP核;驱动控制

DOI:10.13954/j.cnki.hdu.2015.01.007

收稿日期:2014-07-21

通信作者:

作者简介:奚嘉琦(1989-),女,浙江临安人,在读研究生,新型电子器件与应用.张文超教授,E-mail: zwczhang@126.com.

中图分类号:TN492

文献标识码::A

文章编号::1001-9146(2015)01-0036-05

Abstract:This paper presents a design of stepping motor drive controller IP core based on programmable system on chip(SOPC) for the two-phase stepping motor used in instruments. All function modules are realized and packaged into an IP core. The simulation and test results show that the IP core achieved the function of start, stop, speed-up, speed-down and micro-stepping, etc. The proposed IP core can be applied in a variety of two-phase stepping motor drive control systems, especially the multiple stepping motor applications. The workload of repeated design is greatly reduced and the operation is stable and reliable.

0引言

针对小型仪用步进电机,传统的驱动控制系统多以单片机为控制核心[1]。但是单片机是一种程序控制的顺序执行器件,无法达到各信号的同步控制,且受其自身工作频率的限制,因此不能胜任一些对速度、功能和性能要求比较高的场合[2]。Altera公司推出的基于FPGA嵌入NIOS II软核处理器的SOPC系统,将软硬件结合起来协同控制,若将步进电机驱动控制系统的微控制器和控制级驱动器集成在一片FPGA芯片上[3],实现可编程片上系统设计,可以在一定程度上解决以上问题,且便于复用。因此,本文研究和设计了一种基于SOPC的步进电机驱动控制器IP核。IP核内部集成了加/减速控制模块以及细分控制模块,具有响应速度快、精度高、工作可靠、稳定性高等优点,适用于各种两相步进电机驱动控制系统,有很强的扩展性和复用性,易于移植和推广。

1驱动控制器IP核设计方案

步进电机驱动控制器IP核硬件电路结构如图1所示。

图1 驱动控制器IP核硬件电路结构图

顶层模块为Avalon接口模块,它将用户外设和片内处理器连接起来。速度控制模块内部包含一个加/减速器和频率发生器,根据下达的速度命令参数产生相应频率的脉冲,控制电机的运行速度。细分控制模块内部包含一个地址计数器、ROM和脉冲分配器,根据下达的细分命令参数,产生相应的脉冲序列,控制外围电路中MOS管的导通时间,从而控制电机的各相绕组电流,实现精确细分。

2HDL逻辑设计

2.1 速度控制模块

为解决步进电机启动时失步和停止时过冲现象的发生,步进电机在启动和停止时需要采用加减速控制[4]。电机的运动曲线一般如图2(a)所示,电机的运动曲线近似梯形,其实际运动曲线为内部阶梯状实线,整个运动过程经历了启动加速、匀速、停止减速3个阶段。

本设计的电机运动过程如图2(b)所示,电机在匀速过程中亦可加减速运动,共有5个运动模式,分别是默认停止S0,匀速S1,加速S2,减速S3,启动加速S4,停止减速S5。图2中,f1为电机的启动频率,可根据实际情况改变和输入。

图2 电机运动曲线

速度控制模块的加/减速器根据设定频率,启动加/减速,然后驱动频率发生器产生相应频率的脉冲,为后续模块提供工作频率。以加/减速流程为例,其流程图如图3所示,其中value为加/减速前后的频率差值,time为两次加/减速之间的计数间隔。

图3 步进电机速度控制模块加减速流程图

电机加速流程描述如下:首先将加速时间间隔计数器count清零,count加1,检查count是否大于time,若不是,继续加1,否则将实际的频率加上value,检查实际频率是否大于设定频率,若是,则重复以上过程,否则,加速完成。减速过程与加速过程相反。

2.2 细分控制模块

步进电机的电磁转矩取决于两相绕组中的电流形成的合成磁场[5]。因此,步进电机的细分控制就是对步进电机励磁绕组中的相电流进行控制[6]。以两相步进电机为例,向A、B两相绕组分别通以相位差为90°,幅值相同的正弦波电流,如图4所示。则合成的电流矢量恒幅且均匀旋转,其对应的合成磁场矢量也作相应的旋转,如图5所示。

图4 八细分拟正弦电流波形

图5 八细分旋转磁场矢量图

细分控制模块包含地址计数器,ROM和脉冲分配器3大部分。地址计数器根据输入细分参数调节计数步长,输出相应的地址到ROM。也可以根据输入方向信号来调整计数方向,控制电机的转动方向。ROM中存放的是A、B两相绕组参考电流的采样值,包括数值和方向。电流采样值计算公式如下:

(1)

细分驱动电路如图6所示,外围功率驱动电路包括数模转换器、比较器、功率驱动芯片等,由于功率驱动电路不是本文讨论的重点,在此就不赘述了。

图6 细分驱动电路

2.3 Avalon接口模块

Avalon接口模块定义了一组符合Avalon总线接口规范的寄存器,这些寄存器在Avalon Slave端口地址空间内有单独的偏移地址[7],它们为软件提供了访问硬件的通道。当采用Nios II作为微控制器时,用户可以通过Avalon总线采用基地址+偏移量的方式来访问寄存器[8]。寄存器及其偏移地址如表1所示。

表1 寄存器及其偏移地址

3IP核硬件构建

SOPC Builder提供了一个元件编辑器,通过它就可以将自己写的逻辑封装成一个IP核。其中信号类型的配置是最为关键的一个步骤,信号类型配置如图7所示。

图7 信号类型配置

图7中,Interface是Avalon接口类型,Signal Type是Avalon接口类型下的信号类型。Width为数据宽度,Direction为数据方向。由于IP核硬件构建过程比较复杂,在此就不赘述了。

4仿真测试和结果分析

本设计的硬件开发工具为Quartus II 11.0,软件开发工具为Nios II,仿真工具为Modelsim,验证使用的FPGA芯片型号为Altera公司Cyclone II系列的EP2C8Q208C8。仿真结果无误后,通过USBblaster将程序下载到FPGA调试验证。加/减速仿真如图8所示,以加速仿真为例,脉冲频率从100 Hz增加到1 kHz,由图8(a)可知,PWM频率不断变大,电机不断加速,最终达到稳定匀速状态。电机A相绕组电流测试结果如图9所示,电流波形为正弦波,此时电机1整步被细分为8微步。

图9 A相绕电流波形

图8 加/减速仿真图

5结束语

本文研究设计了一种基于SOPC的步进电机驱动控制器IP核,经过Modelsim仿真以及下载到FPGA开发板中进行调试验证,结果表明,本IP核具有启动、停止、改变方向、加/减速以及细分等功能,且电机运行稳定,达到了预期设计目的。本步进电机驱动控制器IP核具有很好的扩展性和复用性,可以应用于各种两相步进电机驱动控制系统中。特别是在多步进电机应用系统中,可通过调用多个IP核的方式,来同时控制多个步进电机的运行状态,有利于模块的复用,有效缩短开发时间,提高开发效率。

参考文献

[1]方旭,吴学杰,黄鸿国.多通道步进电机控制系统的设计[J].仪器仪表与分析监测,2014,(3):1-4.

[2]赵海洋,崔翠红,陈斌,等.基于FPGA的步进电机细分驱动器[J].仪表技术与传感器,2009,(12):67-69.

[3]朱敏,李秀红.基于FPGA的集成式步进电机驱动器的研究[J].微计算机信息,2008,24(3-2):210-212.

[4]桑鹏,吕建工,彭吉龙,等.步进电机变速控制系统设计[J].电子设计工程,2013,21(22):155-158.

[5]李茂军,刘鼎邦.步进电机细分驱动电磁转矩分析[J].控制工程,2013,20(2):243-245.

[6]陈建进,管兴勇.两相混合式步进电机细分驱动器研制[J].微机与应用,2014,33(4):71-73.

[7]欧海平,周砚江,张华叶,等.基于SOPC的步进电机加减速PWM控制器IP核设计[J].机电工程,2011,28(6):708-711.

[8]杜晓,张重雄.高稳定度步进电机控制器IP Core设计[J].计算机技术与应用,2009,(12):131-134.

The Design of IP Core for Two-phase Stepping

Motor Drive Controller

Xi Jiaqi, Zhang Wenchao

(SchoolofElectronicsInformation,HangzhouDianziUniversity,HangzhouZhejiang310018,China)

Key words: stepping motor; SOPC; IP core; drive control

猜你喜欢

步进电机
五自由度机械手的PLC控制
一种可自动伸缩的嵌入式LED灯具设计
步进电机智能控制的设计与实现
工矿机车GK1F、GK1C柴油机调速控制
基于单片机的自动化立体车库控制系统设计
基于单片机的步进电机控制系统研究
基于Arduino单片机的解魔方机器人
基于单片机的雷达伺服控制系统
步进电机模糊PID闭环控制系统仿真研究
基于LPC2132的乒乓球步法训练系统设计