步进电机的驱动方法和驱动装置转让专利

申请号 : CN201710626235.5

文献号 : CN107276469B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘华黄勃

申请人 : 深圳怡化电脑股份有限公司深圳市怡化时代科技有限公司深圳市怡化金融智能研究院

摘要 :

本发明公开了一种步进电机的驱动方法,其包括:根据赋予的初始驱动参数,计算获取步进电机的实时装载值;控制生成用于驱动所述步进电机的PWM驱动信号;该步骤包括:将系统时钟信号进行分频处理获得分频时钟信号;将所要生成的PWM驱动信号的周期设定为与所述实时装载值相等,并按照占空比为50%计算获取正半周期和负半周期的脉宽,所述脉宽的计算保留整数部分和小数部分;所述脉宽的整数部分通过对所述分频时钟信号的脉冲数量进行计数控制形成,所述脉宽的小数部分通过对所述系统时钟信号的脉冲数量进行计数控制形成。本发明还公开了用于执行如上方法的步进电机的驱动装置。

权利要求 :

1.一种步进电机的驱动方法,其特征在于,包括:

根据赋予的初始驱动参数,计算获取步进电机的实时装载值,所述实时装载值的计算保留整数部分和小数部分;

控制生成用于驱动所述步进电机的PWM驱动信号,将所述PWM驱动信号输入到所述步进电机;

其中,所述初始驱动参数包括电机初始速度ν0、加速度ω和目标速度νm,按照以下公式计算获取步进电机的实时装载值:以上公式中,νn表示步进电机的转速,Cn表示步进电机的实时装载值,ω表示加速度,a表示步进电机转动一圈的步数,f表示系统时钟频率,fn表示步进电机运行的频率;以上公式的计算均保留整数部分和小数部分;

其中,所述控制生成用于驱动所述步进电机的PWM驱动信号的步骤包括:

将系统时钟信号进行分频处理获得分频时钟信号;

将所要生成的PWM驱动信号的周期设定为与所述实时装载值相等,并按照占空比为

50%计算获取正半周期和负半周期的脉宽,所述脉宽的计算保留整数部分和小数部分;

通过对时钟信号的脉冲数量进行计数,控制生成的PWM驱动信号的正半周期和负半周期的脉宽与所述按照占空比为50%计算获取的正半周期和负半周期的脉宽计算值相等;其中,所述脉宽的整数部分通过对所述分频时钟信号的脉冲数量进行计数控制形成,所述脉宽的小数部分通过对所述系统时钟信号的脉冲数量进行计数控制形成。

2.根据权利要求1所述的步进电机的驱动方法,其特征在于,当根据公式(1)计算得到的步进电机的转速νn达到目标转速νm时,驱动步进电机以目标转速νm匀速转动。

3.根据权利要求1所述的步进电机的驱动方法,其特征在于,所述加速度ω为正值或负值,所述加速度ω为正值时表示驱动步进电机加速转动,所述加速度ω为负值时表示驱动步进电机减速转动。

4.根据权利要求1-3任一所述的步进电机的驱动方法,其特征在于,在保留小数部分的计算中,小数部分的位宽为8bit。

5.一种步进电机的驱动装置,其特征在于,包括:

系统时钟模块,用于提供系统时钟信号;

分频处理模块,用于将所述系统时钟信号进行分频处理获得分频时钟信号;

初值赋予模块,用于接收初始驱动参数;

参数计算模块,用于根据赋予的初始驱动参数,计算获取步进电机的实时装载值,并计算用于驱动步进电机的PWM驱动信号的周期参数;其中,将所述PWM驱动信号的周期设定为与所述实时装载值相等,并按照占空比为50%计算获取正半周期和负半周期的脉宽,所述实时装载值和所述脉宽的计算均保留整数部分和小数部分;

驱动信号生成模块,根据所述参数计算模块计算出的PWM驱动信号的正半周期和负半周期的脉宽,控制输出相应的PWM驱动信号;所述驱动信号生成模块包括第一计数器和第二计数器,所述PWM驱动信号的正半周期和负半周期的脉宽的整数部分,由所述第一计数器对所述分频时钟信号的脉冲数量进行计数控制形成,所述PWM驱动信号的正半周期和负半周期的脉宽的小数部分,由所述第二计数器对所述系统时钟信号的脉冲数量进行计数控制形成;

步进电机驱动器,将所述驱动信号生成模块生成的PWM驱动信号输出至步进电机,驱动所述步进电机转动;

其中,所述初值赋予模块接收的初始驱动参数包括电机初始速度ν0、加速度ω和目标速度νm;所述参数计算模块按照以下公式计算获取步进电机的实时装载值:以上公式中,νn表示步进电机的转速,Cn表示步进电机的实时装载值,ω表示加速度,a表示步进电机转动一圈的步数,f表示系统时钟频率,fn表示步进电机运行的频率;以上公式的计算均保留整数部分和小数部分。

6.根据权利要求5所述的步进电机的驱动装置,其特征在于,当所述参数计算模块根据公式(1)计算得到的步进电机的转速νn达到目标转速νm时,所述驱动信号生成模块生成的PWM驱动信号驱动步进电机以目标转速νm匀速转动。

7.根据权利要求5所述的步进电机的驱动装置,其特征在于,所述加速度ω为正值或负值,所述加速度ω为正值时表示驱动步进电机加速转动,所述加速度ω为负值时表示驱动步进电机减速转动。

8.根据权利要求5-7任一所述的步进电机的驱动装置,其特征在于,所述参数计算模块在保留小数部分的计算中,小数部分的位宽为8bit。

说明书 :

步进电机的驱动方法和驱动装置

技术领域

[0001] 本发明涉及工控技术领域,尤其涉及一种步进电机的驱动方法和驱动装置。

背景技术

[0002] 步进电机的转速取决于驱动信号的脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。由于步进电机是借助它的同步转矩而启动的,为了不发生失步,启动频率是不高的。为了充分发挥电机的快速性能,通常使电机在低于启动频率下启动,然后逐步增加脉冲频率直到所希望的速度,所选择的变化速率要保证电机不发生失步,并尽量缩短启动加速时间。为了保证电机的定位精度,在停止以前必须使电机从最高速度逐步减小脉冲率降到能够停止的速度。因此,步进电机拖动负载高速移动一定距离并精确定位时,一般来说都应包括“启动-加速-高速运行(匀速)-减速-停止”五个阶段。
[0003] 现有的步进电机的驱动,通常是基于FPGA芯片控制,由FPGA芯片运算获取驱动参数并控制生成相应的驱动信号。FPGA芯片具有并行处理和实时性的优点,但是为了节省逻辑资源,所以在FPGA芯片控制生成驱动信号的过程中,大都采用忽略小数,只取整运算,这样会导致步进电机转速不稳定或误差较大。

发明内容

[0004] 鉴于现有技术的不足,本发明提供了一种步进电机的驱动方法和驱动装置,控制生成驱动信号的过程中,参数的运算保留整数部分和小数部分,并通过增加简单的硬件结构生成相应的驱动信号,提高了步进电机转速的控制精度和稳定性。
[0005] 为了实现上述的目的,本发明采用了如下的技术方案:
[0006] 一种步进电机的驱动方法,其包括:
[0007] 根据赋予的初始驱动参数,计算获取步进电机的实时装载值,所述实时装载值的计算保留整数部分和小数部分;
[0008] 控制生成用于驱动所述步进电机的PWM驱动信号,将所述PWM驱动信号输入到所述步进电机;该步骤包括:
[0009] 将系统时钟信号进行分频处理获得分频时钟信号;
[0010] 将所要生成的PWM驱动信号的周期设定为与所述实时装载值相等,并按照占空比为50%计算获取正半周期和负半周期的脉宽,所述脉宽的计算保留整数部分和小数部分;
[0011] 通过对时钟信号的脉冲数量进行计数,控制生成的PWM驱动信号的正半周期和负半周期的脉宽与计算值相等;其中,所述脉宽的整数部分通过对所述分频时钟信号的脉冲数量进行计数控制形成,所述脉宽的小数部分通过对所述系统时钟信号的脉冲数量进行计数控制形成。
[0012] 其中,所述初始驱动参数包括电机初始速度ν0、加速度ω和目标速度νm,其中,按照以下公式计算获取步进电机的实时装载值:
[0013]
[0014]
[0015]
[0016] 以上公式中,νn表示步进电机的转速,Cn表示步进电机的实时装载值,ω表示加速度,a表示步进电机转动一圈的步数,f表示系统时钟频率,fn表示步进电机运行的频率;以上公式的计算均保留整数部分和小数部分。
[0017] 其中,当根据公式(1)计算得到的步进电机的转速νn达到目标转速νm时,驱动步进电机以目标转速νm匀速转动。
[0018] 其中,所述加速度ω为正值或负值,所述加速度ω为正值时表示驱动步进电机加速转动,所述加速度ω为负值时表示驱动步进电机减速转动。
[0019] 其中,在保留小数部分的计算中,小数部分的位宽为8bit。
[0020] 本发明提供了一种步进电机的驱动装置,其包括:
[0021] 系统时钟模块,用于提供系统时钟信号;
[0022] 分频处理模块,用于将所述系统时钟信号进行分频处理获得分频时钟信号;
[0023] 初值赋予模块,用于接收初始驱动参数;
[0024] 参数计算模块,用于根据赋予的初始驱动参数,计算获取步进电机的实时装载值,并计算用于驱动步进电机的PWM驱动信号的周期参数;其中,将所述PWM驱动信号的周期设定为与所述实时装载值相等,并按照占空比为50%计算获取正半周期和负半周期的脉宽,所述实时装载值和所述脉宽的计算均保留整数部分和小数部分;
[0025] 驱动信号生成模块,根据所述参数计算模块计算出的PWM驱动信号的正半周期和负半周期的脉宽,控制生成相应的PWM驱动信号;所述驱动信号生成模块包括第一计数器和第二计数器,所述PWM驱动信号的正半周期和负半周期的脉宽的整数部分,由所述第一计数器对所述分频时钟信号的脉冲数量进行计数控制形成,所述PWM驱动信号的正半周期和负半周期的脉宽的小数部分,由所述第二计数器对所述系统时钟信号的脉冲数量进行计数控制形成;
[0026] 步进电机驱动器,将所述驱动信号生成模块生成的PWM驱动信号输出至步进电机,驱动所述步进电机转动。
[0027] 其中,所述初值赋予模块接收的初始驱动参数包括电机初始速度ν0、加速度ω和目标速度νm;
[0028] 所述参数计算模块按照以下公式计算获取步进电机的实时装载值:
[0029]
[0030]
[0031]
[0032] 以上公式中,νn表示步进电机的转速,Cn表示步进电机的实时装载值,ω表示加速度,a表示步进电机转动一圈的步数,f表示系统时钟频率,fn表示步进电机运行的频率;以上公式的计算均保留整数部分和小数部分。
[0033] 其中,当所述参数计算模块根据公式(1)计算得到的步进电机的转速νn达到目标转速νm时,所述驱动信号生成模块生成的PWM驱动信号驱动步进电机以目标转速νm匀速转动。
[0034] 其中,所述加速度ω为正值或负值,所述加速度ω为正值时表示驱动步进电机加速转动,所述加速度ω为负值时表示驱动步进电机减速转动。
[0035] 其中,所述参数计算模块在保留小数部分的计算中,小数部分的位宽为8bit。
[0036] 本发明实施例提供的步进电机的驱动方法和驱动装置,控制生成驱动信号的过程中,驱动参数的运算过程保留整数部分和小数部分,并通过增加简单的硬件结构生成相应的驱动信号,提高了步进电机转速的控制精度和稳定性。

附图说明

[0037] 图1为本发明实施例提供的步进电机的驱动装置的结构框图。

具体实施方式

[0038] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施方式进行详细说明。这些优选实施方式的示例在附图中进行了例示。附图中所示和根据附图描述的本发明的实施方式仅仅是示例性的,并且本发明并不限于这些实施方式。
[0039] 在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
[0040] 本实施例提供了一种步进电机的驱动装置,如图1所示,所述驱动装置包括系统时钟模块1、分频处理模块2、初值赋予模块3、参数计算模块4、驱动信号生成模块5和步进电机驱动器6,所述驱动信号生成模块5中设置有第一计数器51和第二计数器52。
[0041] 其中,所述系统时钟模块1用于提供系统时钟信号,所述分频处理模块2用于将所述系统时钟信号进行分频处理获得分频时钟信号,所述初值赋予模块3用于接收初始驱动参数,所述参数计算模块4用于计算获取步进电机的实时驱动参数,所述驱动信号生成模块5用于控制生成对应于实时驱动参数的PWM驱动信号,所述步进电机驱动器6将驱动信号生成模块5生成的PWM驱动信号输出至步进电机7,驱动所述步进电机7转动。
[0042] 如上所述的步进电机的驱动装置对应的驱动方法主要包括以下步骤:
[0043] (1)、由所述系统时钟模块1提供频率为f的系统时钟信号,由所述分频处理模块2对所述系统时钟信号进行分频处理获得频率为fd的分频时钟信号。具体的,进行分频处理时的分频系数为K,K为大于2的整数。K的具体取值可以根据实际需要具体设定。
[0044] (2)、由所述初值赋予模块3接收初始驱动参数。具体地,初始驱动参数包括电机初始速度ν0、加速度ω和目标速度νm。所述加速度ω为正值或负值,所述加速度ω为正值时表示驱动步进电机加速转动,所述加速度ω为负值时表示驱动步进电机减速转动。
[0045] (3)、由所述参数计算模块4根据所述初值赋予模块3接收初始驱动参数,计算获取步进电机的实时驱动参数。在此,所述实时驱动参数主要是指实时装载值,在计算得出实时装载值后,步进电机的转速和运行频率都可以确定。具体地,所述参数计算模块按照以下公式计算获取步进电机的实时装载值:
[0046]
[0047]
[0048]
[0049] 以上公式中,νn表示步进电机的转速,Cn表示步进电机的实时装载值,ω表示加速度,a表示步进电机转动一圈的步数,f表示系统时钟频率,fn表示步进电机运行的频率。其中,以上公式的计算均保留整数部分和小数部分。
[0050] 具体的计算过程如下:
[0051] 将初始速度ν0代入公式(2)计算得到f0,将f0代入公式(3)计算得到C0,将ν0、C0和ω代入公式(1)计算得到ν1;按照以上过程循环运算,依次得到实时装载值Cn和实时转速νn,n=1、2、3、4、…。其中,当根据公式(1)计算得到的步进电机的转速νn达到目标转速νm时,停止循环运算,此时驱动步进电机以目标转速νm匀速转动。
[0052] 进一步地,所述参数计算模块4根据得到的实时装载值Cn,计算出用于驱动步进电机的PWM驱动信号的周期参数。具体地,将所述PWM驱动信号的周期Tn设定为与所述实时装载值Cn相等,并按照占空比为50%计算获取正半周期Tn+和负半周期Tn-的脉宽。
[0053] 具体的计算过程如下:
[0054]
[0055] 公式(4)中,Cn表示所述实时装载值,Tn表示所述PWM驱动信号的周期,Tn+表示周期Tn中的正半周期,Tn-表示周期Tn中的负半周期,Tn(int)表示上式计算结果的整数部分,Tn(dec)表示上式计算结果的小数部分。
[0056] 需要说明的是,所述参数计算模块4在保留小数部分的计算中,小数部分的位宽为8bit。小数部分的位宽可以根据实际需要具体设定为其他的数值。
[0057] (4)、由所述驱动信号生成模块5根据所述参数计算模块4计算出的PWM驱动信号的正半周期Tn+和负半周期Tn-的脉宽,控制生成相应的PWM驱动信号。具体地,所述驱动信号生成模块5中包括第一计数器51和第二计数器52,所述第一计数器51接收由所述分频处理模块2提供的分频时钟信号,所述第二计数器52接收由所述系统时钟模块1提供的系统时钟信号。所述PWM驱动信号的正半周期和负半周期的脉宽的整数部分Tn(int),由所述第一计数器51对所述分频时钟信号的脉冲数量进行计数控制形成,所述PWM驱动信号的正半周期和负半周期的脉宽的小数部分Tn(dec),由所述第二计数器52对所述系统时钟信号的脉冲数量进行计数控制形成。
[0058] (5)、由所述步进电机驱动器6将所述驱动信号生成模块5生成的PWM驱动信号输出至步进电机7,驱动所述步进电机7转动。
[0059] 实施例提供的步进电机的驱动方法和驱动装置,控制生成驱动信号的过程中,在参数计算模块中驱动参数的运算过程保留整数部分和小数部分,在驱动信号生成模块增加第二计数器控制形成对应于小数部分的脉宽,因此最终生成的驱动信号精确到小数部分,提高了步进电机转速的控制精度和稳定性。所述驱动装置可以在FPGA硬件平台上实现,增加硬件结构较为简单,不会增大FPGA芯片的逻辑运算资源,因此所述驱动方法和驱动装置具有良好的实时性和可移植性。
[0060] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0061] 需要指出的是,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。