一种基于FPGA的步进电机无抖动驱动控制系统及基于该系统的控制方法技术方案

技术编号:13201596 阅读:74 留言:0更新日期:2016-05-12 10:37
一种基于FPGA的步进电机无抖动驱动控制系统及基于该系统的控制方法,涉及步进电机控制领域。解决了传统步进电机控制系统无法避免驱动时序控制精准性差和对外通信接口不够丰富和电气系统结构复杂的问题。该系统上位机通过串行通信总线与FPGA控制器实现数据交互,FPGA控制器向数字信号隔离模块输出脉冲信号、方向信号、使能信号和模式信号,数字信号隔离模块的控制信号输出端与步进电机驱动模块的控制信号输入端连接,步进电机驱动模块驱动外部电机,电源隔离模块分别与FPGA控制器、数字信号隔离模块和步进电机驱动模块连接。采用FPGA和集成步进电机功率驱动芯片,极大降低步进电机控制驱动系统的电气结构复杂性,同时兼顾多种串行通信方式拓展能力。

【技术实现步骤摘要】

本专利技术涉及步进电机控制领域。
技术介绍
步进电机是一种常用的机电元件,通过电脉冲信号来对相绕组电流进行控制,进而完成定角转动控制,与其他类型的电机进行相比,步进电机具有许多优点,比如较易于实现开环精确控制和无积累误差等,因此在各种各样的领域中都有步进电机广泛的应用,其中采用单片机作为控制核心的控制系统居多。这类控制系统往往软件和中断服务的方式进行步进电机驱动逻辑的时序控制,具有消耗CHJ资源多、对外通信接口不够丰富和时序控制精准性差等缺点。因此有学者提出通过单片机和CPLD组合或单片机和FPGA组合的方式,即软硬件结合方式输出控制时序,保证时序控制的精准性。然而又会导致电气系统过于复杂等问题。进而有学者开始展开采用FPGA作为核心部件的步进电机控制系统研究,不过关注点往往集中在细分控制技术方面。
技术实现思路
本专利技术为了解决传统步进电机控制系统无法避免驱动时序控制精准性差和对外通信接口不够丰富和电气系统结构复杂的问题,提出了一种基于FPGA的步进电机无抖动驱动控制系统及基于该系统的控制方法。一种基于FPGA的步进电机无抖动驱动控制系统包括上位机、FPGA控制器、电源隔离模块、数字信号隔离模块和步进电机驱动模块,所述上位机通过串行通信总线与FPGA控制器实现数据交互,FPGA控制器向数字信号隔离模块输出脉冲信号PULUp、方向信号011?、使能信号ENA和模式信号Ml、M2和M3,数字信号隔离模块的控制信号输出端与步进电机驱动模块的控制信号输入端连接,步进电机驱动模块驱动外部电机,电源隔离模块分别与FPGA控制器、数字信号隔离模块和步进电机驱动模块连接。所述FPGA控制器包括串行通信控制接口模块、N1s软处理模块、步进电机驱动控制接口模块和计时器,所述串行通信控制接口模块通过串行通信总线与上位机实现数据交互,N1s软处理模块通过Avalon总线分别与串行通信控制接口模块、步进电机驱动控制接口模块和计时器实现数据交互。所述步进电机驱动控制接口模块包括:用于控制参数写入进程的控制参数写入进程模块;用于控制参数更新进程的控制参数更新进程模块;用于控制输出进程的控制输出进程模块;用于接收控制参数写入进程模块发送的信号,并对该信号进行存储的控制模式寄存器 Contro lMode_r eg ;用于驱动时序计数的驱动时序计数器TimerCounter_reg;用于接收控制参数更新进程模块发送的信号,并对该信号进行存储的单脉冲控制周期参数寄存器ControlPer1d_reg ;用于对当前通信周期的期望单脉冲周期参数进行存储的当前通信周期的期望单脉冲周期参数寄存器NewPer1d_reg;用于对上一个通信周期的期望单脉冲周期参数进行存储的上一个通信周期的期望单脉冲周期参数寄存器HistoryPer 1d_reg;用于控制参数更新进程模块启动的控制参数更新进程模块启动模块StartUpdataProcess_bit;用于控制参数更新进程模块停止的控制参数更新进程模块停止模块EndUpdataProcess_bit。基于上述一种基于FPGA的步进电机无抖动驱动控制系统的控制方法,所述方法包括:步骤一、上位机完成步进电机运动规划,并获得单脉冲期望周期参数;步骤二、上位机通过串行通信总线下传控制指令;步骤三、由FPGA控制器根据接收到的控制指令,完成步进电机驱动模块的控制逻辑输出,并回传当前的状态信息。有益效果:本专利技术提出了一种基于FPGA的步进电机无抖动驱动控制系统及其实现方法;通过采用FPGA和集成步进电机功率驱动芯片,极大降低步进电机控制驱动系统的电气结构复杂性,同时兼顾多种串行通信方式拓展能力;通过软硬件语言相结合的编程的方式,实现精准的驱动时序控制;通过采用电源隔离和数字信号隔离技术,提高控制系统的抗干扰能。由上位机完成步进电机运动规划,计算出每个通信周期所对应的步进电机单脉冲周期参数,通过串行通信总线下传给控制器;FPGA控制器主要完成步进电机驱动器的驱动逻辑输出。为了避免步进电机的单脉冲周期参数直接更新可能引起输出脉冲周期急剧变化,进而引起步进电机抖动的问题,提出基于通信时序和驱动时序相关的步进电机驱动控制接口模块构建方法。该方法通过比较当前通信时刻对应底层驱动时序和当前单脉冲周期参数以及上一时刻单脉冲周期参数之间的相互关系,更新底层单脉冲控制周期参数,实现步进电机无抖动驱动。【附图说明】图1为本专利技术的原理不意图;图2为步进电机驱动控制接口模块的原理示意图。【具体实施方式】【具体实施方式】一、结合图1说明本【具体实施方式】,本【具体实施方式】所述的一种基于FPGA的步进电机无抖动驱动控制系统包括上位机1、FPGA控制器2、电源隔离模块3、数字信号隔离模块4和步进电机驱动模块5,所述上位机I通过串行通信总线与FPGA控制器2实现数据交互,FPGA控制器2向数字信号隔离模块4输出脉冲信号PULUp、方向信号DIR、使能信号ENA和模式信号M1、M2和M3,数字信号隔离模块4的控制信号输出端与步进电机驱动模块5的控制信号输入端连接,步进电机驱动模块5驱动外部电机,电源隔离模块3分别与FPGA控制器2、数字信号隔离模块4和步进电机驱动模块5连接。【具体实施方式】二、结合图1说明本【具体实施方式】,本【具体实施方式】与【具体实施方式】一所述的一种基于FPGA的步进电机无抖动驱动控制系统的区别在于,所述FPGA控制器2包括串行通信控制接口模块6、N1s软处理模块7、步进电机驱动控制接口模块8和计时器9,所述串行通信控制接口模块6通过串行通信总线与上位机I实现数据交互,N1s软处理模块7通过Ava I on总线分别与串行通信控制接口模块6、步进电机驱动控制接口模块8和计时器9实现数据交互。【具体实施方式】三、结合图2说明本【具体实施方式】,本【具体实施方式】与【具体实施方式】一所述的一种基于FPGA的步进电机无抖动驱动控制系统的区别在于,所述步进电机驱动控制接口模块8包括:用于控制参数写入进程的控制参数写入进程模块;用于控制参数更新进程的控制参数更新进程模块;用于控制输出进程的控制输出进程模块;用于接收控制参数写入进程模块发送的信号,并对该信号进行存储的控制模式寄存器 Contro lMode_r eg ;用于驱动时序计数的驱动时序计数器TimerCounter_reg;用于接收控制参数更新进程模块发送的信号,并对该信号进行存储的单脉冲控制周期参数寄存器ControlPer1d_reg ;用于对当前通信周期的期望单脉冲周期参数进行存储的当前通信周期的期望单脉冲周期参数寄存器NewPer1d_reg;用于对上一个通信周期的期望单脉冲周期参数进行存储的上一个通信周期的期望单脉冲周期参数寄存器HistoryPer 1d_reg;用于控制参数更新进程模块启动的控制参数更新进程模块启动模块StartUpdataProcess—bit;用于控制参数更新进程模块停止的控制参数更新进程模块停止模块EndUpdataProcess—bit ο【具体实施方式】四、本【具体实施方式】与【具体实施方式】三所述的一种基于FPGA的步进电机无抖动驱动控制系统的区别在于,控制参数写入进程模块基于系统时钟sys_clk和写“使能” 本文档来自技高网...

【技术保护点】
一种基于FPGA的步进电机无抖动驱动控制系统,其特征在于,它包括上位机(1)、FPGA控制器(2)、电源隔离模块(3)、数字信号隔离模块(4)和步进电机驱动模块(5),所述上位机(1)通过串行通信总线与FPGA控制器(2)实现数据交互,FPGA控制器(2)向数字信号隔离模块(4)输出脉冲信号(PULUp)、方向信号(DIR)、使能信号(ENA)和模式信号(M1、M2和M3),数字信号隔离模块(4)的控制信号输出端与步进电机驱动模块(5)的控制信号输入端连接,步进电机驱动模块(5)驱动外部电机,电源隔离模块(3)分别与FPGA控制器(2)、数字信号隔离模块(4)和步进电机驱动模块(5)连接。

【技术特征摘要】

【专利技术属性】
技术研发人员:张元飞刘宏金明河张禹谭久彬
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1