伺服驱动器任意分频输出方法及伺服驱动器与流程

文档序号:16670247发布日期:2019-01-18 23:32阅读:3913来源:国知局
伺服驱动器任意分频输出方法及伺服驱动器与流程

本申请涉及工业控制技术领域,具体涉及一种伺服驱动器任意分频输出方法及伺服驱动器。



背景技术:

目前使用的交流伺服系统中,电机编码器反馈的脉冲信号主要有两个方面的作用:第一,作为电机实际运行的反馈,通过电机编码器反馈的脉冲信号,伺服驱动器能够获得转子速度、转子位置和机械位置等相关信息,实现伺服电机的速度控制、转矩控制、机械位置同步跟踪、定点停车等实时控制操作,完成伺服系统的闭环控制;第二,实现伺服电机的主从控制,在一些特殊的场合中,需要用到一台主机运行,其他台从机进行跟随运行时,根据主机的编码器ab脉冲情况,从机作出相应的跟随运动。

在目前的工业应用场景中,通常会遇到主轴为伺服系统而从轴不为伺服系统或不带有电子齿轮比功能的情况,这时候如果需要实现主从轴的不同速控制,一般都是采用外部再连接一块分频板硬件的方式或者将主从轴都更换为伺服系统等方式解决,这些解决方案不仅复杂繁琐,不够灵活,同时中也增加了用户的使用维护成本。



技术实现要素:

本发明的目的之一在于克服以上缺点,提供一种伺服驱动器任意分频输出方法,伺服电机的主机通过对分频比例的计算灵活地输出任意的ab脉冲,从机根据所述的输出脉冲作出相应的跟随运动。该功能满足了用户的需求,同时解决了现有电子齿轮比无法按需调整的问题,以及适用于没有电子齿轮比存在的应用场景,可降低生产的成本。

为了解决上述技术问题,本发明提供了一种伺服驱动器任意分频输出方法,包括以下步骤:

步骤1、可编程器件接收电机编码器发送的脉冲,并将输入脉冲计数值传输给数字信号处理器;

步骤2、所述数字信号处理器根据分频比例以及所述输入脉冲计数值计算出输出脉冲数值,并发送给所述可编程器件;

步骤3、所述可编程器件进行时钟同步并根据所述输出脉冲数值输出脉冲;

步骤4、重复执行步骤1至步骤3,实现持续脉冲的输入输出。

进一步地,所述可编程器件为fpga或cpld,所述数字信号处理器为dsp。

进一步地,所述“可编程器件接收电机编码器输入的脉冲”,具体为:

所述电机编码器将脉冲信号传输给编码器接口电路;

所述编码器接口电路对脉冲信号进行处理后传输给所述可编程器件。

进一步地,所述“所述数字信号处理器根据分频比例以及所述输入脉冲计数值计算输出脉冲数值,并发送给所述可编程器件”,包括以下步骤:

步骤21、所述数字信号处理器计算输入脉冲增量值;

步骤22、所述数字信号处理器采用余数保留法计算输出脉冲增量值,同时向所述可编程器件发送暂停脉冲输出指令;

步骤23、所述可编程器件接收到所述暂停脉冲输出指令后,停止脉冲的输出,并将已输出的脉冲数值传给所述数字信号处理器;

步骤24、所述数字信号处理器计算本次输出脉冲数值,保存后传输给所述可编程器件,同时向所述可编程器件发送恢复脉冲输出指令。

进一步地,所述“所述数字信号处理器采用余数保留法计算输出脉冲增量值”,具体为:

计算经过分频比例放大的脉冲值,计算公式为:f=a*b+c,其中f为放大的脉冲值,a为输入脉冲增量值,b为分频比例中的分子,c为上次脉冲余数值;

计算本次输出脉冲增量值,计算公式为:m=f/d,其中m为本次输出脉冲增量值,f为放大的脉冲值,d为分频比例中的分母;

计算并保存本次脉冲余数值,所述本次脉冲余数值计算公式为:e=f%d,其中e为本次脉冲余数值,f为放大的脉冲值,d为分频比例中的分母。

进一步地,所述“所述数字信号处理器计算本次输出脉冲数值”,具体为:

将上次输出脉冲数值减去已输出的脉冲数值,得到上次未发送的脉冲数值;

将本次输出脉冲增量值与上次未发送的脉冲数值相加,得到本次输出脉冲数值。

进一步地,所述“所述可编程器件进行时钟同步并根据所述输出脉冲数值输出脉冲”,具体为:

所述可编程器件对所述输出脉冲数值进行累加,当累加值达到所述可编程器件与所述数字信号处理器的时钟同步值的时候,所述可编程器件输出一组脉冲,并累计输出的脉冲数值。

相应地,本发明还提供了一种伺服驱动器,包括可编程器件和数字信号处理器,所述可编程器件和所述数字信号处理器通过总线方式连接;

所述可编程器件,用于接收电机编码器发送的脉冲,并将输入脉冲计数值传输给所述数字信号处理器;同时用于进行时钟同步并根据所述数字信号处理器发送的输出脉冲数值输出脉冲;

所述数字信号处理器,用于根据分频比例以及所述可编程器件发送的输入脉冲计数值计算出输出脉冲数值,并发送给所述可编程器件。

进一步地,所述的伺服驱动器,还包括:

编码器接口电路,用于接收电机编码器发送的脉冲,对脉冲信号进行处理后传输给所述可编程器件。

进一步地,所述“所述数字信号处理器根据分频比例以及所述输入脉冲计数值计算输出脉冲数值,并发送给所述可编程器件”,包括以下步骤:

步骤21、所述数字信号处理器计算输入脉冲增量值;

步骤22、所述数字信号处理器采用余数保留法计算输出脉冲增量值,同时向所述可编程器件发送暂停脉冲输出指令;

步骤23、所述可编程器件接收到所述标志位指令后,停止脉冲的输出,并将已输出的脉冲数值传给所述数字信号处理器;

步骤24、所述数字信号处理器计算本次输出脉冲数值,保存后传输给所述可编程器件,同时向所述可编程器件发送恢复脉冲输出指令。

进一步地,所述“所述数字信号处理器采用余数保留法计算输出脉冲增量值”,具体为:

计算经过分频比例放大的脉冲值,计算公式为:f=a*b+c,其中f为放大的脉冲值,a为输入脉冲增量值,b为分频比例中的分子,c为上次脉冲余数值;

计算本次输出脉冲增量值,计算公式为:m=f/d,其中m为本次输出脉冲增量值,f为放大的脉冲值,d为分频比例中的分母;

计算并保存本次脉冲余数值,所述本次脉冲余数值计算公式为:e=f%d,其中e为本次脉冲余数值,f为放大的脉冲值,d为分频比例中的分母。

本发明通过在交流伺服系统中,增加可编程器件和数字信号处理器之间的信号交互,以及数字信号处理器增加对分频比例的处理,从而实现输出任意期望的脉冲值,满足了在主从跟随的场景中,伺服电机从轴不带电子齿轮比或者从轴不为伺服系统时,伺服电机主从不同速的功能,同时还解决了现有电子齿轮比无法输出非整数倍脉冲的问题。本发明具有适用范围广、适应场景灵活多变的特点,从而帮助客户降低生产成本,为客户提供更优的选择方案。

附图说明

图1是本发明一种伺服驱动器任意分频输出方法流程图。

图2是本发明数字信号处理器计算输出脉冲数值的流程图。

图3是本发明的数字信号处理器采用余数保留法计算输出脉冲增量值的处理流程图。

图4是本发明一种伺服驱动器的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1,是本发明一种伺服驱动器任意分频输出方法流程图,包括以下步骤:

步骤1、可编程器件接收电机编码器发送的脉冲,并将输入脉冲计数值传输给数字信号处理器;

在交流伺服系统中,电机编码器的信号通常是外部输入源,伺服驱动器接收电机编码器输入的脉冲信号处理后再输出给其他外部设备,在伺服驱动器中,通常包含可编程器件和数字信号处理器,其中,可编程器件可以为fpga或cpld,用于接收电机编码器发送的脉冲,并将输入脉冲计数值传输给数字信号处理器;同时用于进行时钟同步并根据所述数字信号处理器发送的输出脉冲数值输出脉冲;数字信号处理器可以为dsp,用于根据分频比例以及所述可编程器件发送的输入脉冲计数值计算出输出脉冲数值,并发送给可编程器件。

在一个优选的实施例中,伺服驱动器中还设置有编码器接口电路,编码器接口电路主要负责和电机编码器接口连接,它将电机编码器传输来的信号通过滤波等处理,获取较为稳定的信号,然后通过硬件接口传输给可编程器件。

伺服驱动器中的可编程器件接收电机编码器的原始脉冲或是编码器接口电路经过处理后的脉冲信号,对脉冲进行累加计数,将得到的计数值传输给数字信号处理器。

步骤2、数字信号处理器根据分频比例以及所述输入脉冲计数值计算出输出脉冲数值,并发送给可编程器件;

如图2,是本发明数字信号处理器计算输出脉冲数值的流程图,具体包括以下步骤:

步骤21、数字信号处理器记录下可编程器件发送来的输入脉冲计数值,在主处理流程的中断循环中,将临近的这两个循环的输入脉冲计数值相减,获得编码器反馈的输入脉冲增量值;

例如,在一具体的实施例中,假定电机以100转/分钟的速度运行,在位置1时,可编程器件发送来的输入脉冲计数值为1000,下一个循环中断中,电机转动到位置2时,可编程器件发送来的输入脉冲计数值为1100,那么编码器反馈的脉冲增量值为100。

步骤22、数字信号处理器采用余数保留法计算输出脉冲增量值,同时向所述可编程器件发送暂停脉冲输出指令;

图3是本发明的数字信号处理器采用余数保留法计算输出脉冲增量值的处理流程图,包括以下步骤:

计算经过分频比例放大的脉冲值,计算公式为:f=a*b+c,其中f为放大的脉冲值,a为输入脉冲增量值,b为分频比例中的分子,c为上次脉冲余数值;

计算本次输出脉冲增量值,计算公式为:m=f/d,其中m为本次输出脉冲增量值,f为放大的脉冲值,d为分频比例中的分母;

计算并保存本次脉冲余数值,所述本次脉冲余数值计算公式为:e=f%d,其中e为本次脉冲余数值,f为放大的脉冲值,d为分频比例中的分母。

例如,在一具体的实施例中,编码器反馈的脉冲增量值为100,伺服驱动器输入脉冲和输出脉冲的分频比例为9001/10000,即表示在一个周期内伺服驱动器接收到10000个脉冲,需要发送9001个脉冲,假设上次发送给可编程器件的脉冲数的余数为0,则数字信号处理器会做如下计算:

1)计算经过分频比放大的脉冲值为:100x9001+0=900100。

2)计算本次输出脉冲增量值为:900100/10000=90,这里采用的是取模计算。

3)计算并保存本次脉冲余数值:900100%10000=100,通过取余计算将本次的脉冲余数保存至下一次计算使用。

当数字信号处理器计算出脉冲增量值后,就向可编程器件发送暂停脉冲输出指令。

步骤23、所述可编程器件接收到所述暂停脉冲输出指令后,停止脉冲的输出,并将已输出的脉冲数值传给所述数字信号处理器;

步骤24、所述数字信号处理器计算本次输出脉冲数值,保存后传输给所述可编程器件,同时向所述可编程器件发送恢复脉冲输出指令。数字信号处理器计算本次输出脉冲数值具体步骤包括:

1)将上次输出脉冲数值减去已输出的脉冲数值,得到上次未发送的脉冲数值;

2)将本次输出脉冲增量值与上次未发送的脉冲数值相加,得到本次输出脉冲数值。

例如,在一具体的实施例中,假设可编程器件上次输出脉冲数值95,上次已输出的脉冲数值75,数字信号处理器计算可编程器件本次输出脉冲增量值为90,那么计算得出本次输出脉冲数值为95-75+90=110,数字信号处理器将脉冲数110的值进行保存后传输给可编程器件,同时向可编程器件发送恢复脉冲输出指令。

步骤3、所述可编程器件进行时钟同步并根据所述输出脉冲数值输出脉冲;

可编程器件对接收到输出脉冲数值进行累加,当累加值达到可编程器件与数字信号处理器的时钟同步值的时候,可编程器件输出一组脉冲,并累计输出的脉冲数值。这里所说的同步值通常为可编程器件与数字信号处理器的执行频率比。

例如,在一具体的实施例中,数字信号处理器的执行频率是4k,可编程器件执行频率是100k,则时钟同步值为25(100k/4k),假定可编程器件接收到的输出脉冲数值为100,上一轮剩余未发送脉冲数为10,则累加后的值为110,可编程器件要判断累积数值是否达到25,当数值大于等于25后,输出一组25个的脉冲,同时将接收的脉冲数110扣减25,接着继续判断是否还是大于等于25,若是,则再输出一个25的脉冲,如此反复判断和输出,直到接收的脉冲值小于25,停止发送,并计数下已输出的脉冲数值100(25*4)。

步骤4、重复执行步骤1至步骤3,实现持续脉冲的输入输出。随着外部电机编码器的不断脉冲输入,通过重复执行本发明上述步骤1至步骤3,即可实现伺服驱动器按照设置的分频比例进行脉冲输出。

在目前使用的交流伺服系统中,常常遇到主轴为伺服系统,但从轴不为伺服系统或不带有电子齿轮比功能,又需要实现主从轴的不同速控制的情况,一般都是采用外部再连接一块分频板硬件的方式或者主从轴都更换为伺服系统等方式解决,这些方法具有一定的局限性,无形中也增加了使用成本,通过本发明提供的技术方案,可实现在主轴上的伺服驱动器上进行分频输出,既能满足上述场景的用户需求,同时不需要从轴也为伺服系统或带有电子齿轮比功能,可大大降低了客户的生产成本。

下面用一具体的实施例来具体说明本发明的伺服驱动器任意分频方法,例如,电机以100转/分钟的速度运行,在位置1时,可编程器件发送来的输入脉冲计数值为1000,下一个循环中断中,电机转动到位置2时,可编程器件发送来的输入脉冲计数值为1100;在位置3时,可编程器件发送来的输入脉冲计数值为1300,电机转动到位置4时,可编程器件发送来的输入脉冲计数值为1600;数字信号处理器的执行频率是4k,可编程器件执行频率是100k,则时钟同步值为25,即100/4;伺服驱动器设置的分频比例为:9001/10000,即表示在一个周期内伺服驱动器接收到10000个脉冲,需要发送9001个脉冲;

那么,使用本发明技术方案进行分频输出的计算步骤如下:

1)电机从位置1转动到位置2:

计算出电机编码器反馈的输入脉冲增量值为100,即1100-1000;

由于上次输出脉冲余数值为0,根据分频比为9001/10000,采用余数保留法计算输出脉冲增量值:经过分频比放大的值为100x9001+0=900100,本次要发送给可编程器件的脉冲数为900100/10000=90,本次脉冲数余数值为900100%10000=100;

数字信号处理器向可编程器件发送暂停脉冲输出指令;

可编程器件暂停脉冲输出动作,返回上次已发送的脉冲数值0;

由于上次数字信号处理器输出脉冲数字为0,所以数字信号处理器计算本次输出脉冲数值为90,计算方法为(90+(0-0));数字信号处理器保存本次输出脉冲数值90后向可编程器件发送恢复脉冲输出指令;

可编程器件根据同步值25,发送3组脉冲,每组25个脉冲信号,保存本次已发送脉冲值75。

2)电机从位置2转动到位置3:

计算出电机编码器反馈的输入脉冲增量值为200,即1300-1100;

由于上次输出脉冲余数值为0,根据分频比为9001/10000,采用余数保留法计算输出脉冲增量值:经过分频比放大的值为200x9001+100=1800300,本次要发送给可编程器件的脉冲数为1800300/10000=180,本次脉冲数余数值为1800300%10000=300;

数字信号处理器向可编程器件发送暂停脉冲输出指令;

可编程器件暂停脉冲输出动作,返回上次已发送的脉冲数值75;

由于上次数字信号处理器输出脉冲数字为90,所以数字信号处理器计算本次输出脉冲数值为195,计算方法为(180+(90-75));数字信号处理器保存本次输出脉冲数值195后向可编程器件发送恢复脉冲输出指令;

可编程器件根据同步值25,发送7组脉冲,每组25个脉冲信号,保存本次已发送脉冲值175。

3)电机从位置3转动到位置4:

计算出电机编码器反馈的输入脉冲增量值为300,即1600-1300;

由于上次输出脉冲余数值为300,根据分频比为9001/10000,采用余数保留法计算输出脉冲增量值:经过分频比放大的值为300x9001+300=2700600,本次要发送给可编程器件的脉冲数为2700600/10000=270,本次脉冲数余数值为2700600%10000=600;

数字信号处理器向可编程器件发送暂停脉冲输出指令;

可编程器件暂停脉冲输出动作,返回上次已发送的脉冲数值175;

由于上次数字信号处理器输出脉冲数字为195,所以数字信号处理器计算本次输出脉冲数值为290,计算方法为(270+(195-175));数字信号处理器保存本次输出脉冲数值290后向可编程器件发送恢复脉冲输出指令;

可编程器件根据同步值25,发送11组脉冲,每组25个脉冲信号,保存本次已发送脉冲值275。

随着电机不断转动位置变化,电机编码器不断地输入脉冲信号,循环重复上述步骤即可实现分频比例为9001/10000的脉冲输出。

如图4,是本发明本发明一种伺服驱动器的结构图,包括可编程器件和数字信号处理器,它们之间通过总线方式连接;

其中,可编程器件,通常为fpga或cpld,用于接收电机编码器发送的脉冲,并将输入脉冲计数值传输给所述数字信号处理器;同时用于进行时钟同步并根据所述数字信号处理器发送的输出脉冲数值输出脉冲;

数字信号处理器,通常为dsp,用于根据分频比例以及所述可编程器件发送的输入脉冲计数值计算出输出脉冲数值,并发送给所述可编程器件,该步骤具体包括:

步骤21、所述数字信号处理器计算输入脉冲增量值;通过计算连续两次从电机编码器或可编程器件输入的输入输入脉冲值的差值,得到输入脉冲增量值;

步骤22、所述数字信号处理器采用余数保留法计算输出脉冲增量值,同时向所述可编程器件发送暂停脉冲输出指令;其中,采用余数保留法计算输出脉冲增量值的主要步骤有:计算经过分频比例放大的脉冲值,计算公式为:f=a*b+c,其中f为放大的脉冲值,a为输入脉冲增量值,b为分频比例中的分子,c为上次脉冲余数值;计算本次输出脉冲增量值,计算公式为:m=f/d,其中m为本次输出脉冲增量值,f为放大的脉冲值,d为分频比例中的分母;计算并保存本次脉冲余数值,所述本次脉冲余数值计算公式为:e=f%d,其中e为本次脉冲余数值,f为放大的脉冲值,d为分频比例中的分母;

步骤23、所述可编程器件接收到所述标志位指令后,停止脉冲的输出,并将已输出的脉冲数值传给所述数字信号处理器;

步骤24、所述数字信号处理器计算本次输出脉冲数值,保存后传输给所述可编程器件,同时向所述可编程器件发送恢复脉冲输出指令。

在一个优选的实施例中,在电机编码器与可编程器件之间还设置有编码器接口电路,编码器接口电路主要负责和电机编码器接口连接,它将电机编码器传输来的信号通过滤波等处理,获取较为稳定的信号,然后通过硬件接口传输给可编程器件。

上述具体实施方式只是对本发明的技术方案进行详细解释,本发明并不只仅仅局限于上述实施例,凡是依据本发明原理的任何改进或替换,均应在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1