马达力矩纹波动态补偿方法与流程

文档序号:12808631阅读:491来源:国知局
马达力矩纹波动态补偿方法与流程

本发明涉及一种马达,尤其涉及机器手臂的马达,在控制转动时,利用力矩纹波补偿器动态补偿控制信号的方法。



背景技术:

机器手臂具有灵活移动、精确定位及连续性作业的特性,已成为产品生产线上制造组装的最佳利器。而降低机器手臂移动时的震动,提升机器手臂控制的精确性,为机器手臂研发的主要课题。

现有技术的机器手臂主要利用马达转动提供动力,机器手臂的控制系统,藉由控制命令经由位置控制器、速度控制器及电流控制器等,驱动马达转动。为了精确控制马达,控制系统利用模拟数字转换器(a/dconverter)取出的马达a相电流与b相电流,形成数字的电流信号,作为电流控制器的反馈信号,以控制马达输出需求的力矩。马达并设有编码器检测马达的转动角度,检测的马达转动角度信号除提供速度控制器控制马达转动的角速度外,还提供位置控制器控制马达定位在需求的角度。

然而,马达的定子及转子磁极间磁力的分布并非均匀,导致控制马达转动的输出力矩随磁力周期性变化,产生力矩纹波(torqueripple)现象,造成波动变化的输出力矩。此外,利用模拟数字转换器取出作为反馈信号的马达a相电流与b相电流,信号的中心电平极易受到硬件电路的偏差及系统开关电的影响,导致电流控制器的控制电平出现偏差,更会加剧力矩纹波,造成机器手臂的马达产生震动。再者,前述模拟数字转换器有其转换信号的界线,力矩纹波过大的信号偏差,将超出模拟数字转换器转换信号的界线,无法进行转换,进而影响机器手臂精确的操作。因此,机器手臂的马达在力矩纹波的补偿上,仍有问题亟待解决。



技术实现要素:

本发明的目的提供一种马达力矩纹波动态补偿方法,藉由设定上限值及下限值,补偿模拟数字转换器取出的马达a相电流与b相电流信号,形成映射条件,筛选电路过大偏差的硬件进行修复,以提高控制精确度。

本发明另一目的在提供一种马达力矩纹波动态补偿方法,利用上限力矩曲线及下限力矩曲线,映射线性补偿曲线,补偿模拟数字转换器信号电平的偏差,以降低震动。

为了达到前述发明的目的,本发明马达力矩纹波动态补偿方法,首先进入补偿模式,读取马达的工作数字电流信号,检查工作数字电流信号符合映射条件,根据建立的上限力矩曲线与下限力矩曲线,映射线性补偿曲线,取得马达的转动角度,根据转动角度,由线性补偿曲线计算补偿值,补偿值补偿工作数字电流信号,以控制马达转动。

本发明的马达力矩纹波动态补偿方法,在进入补偿模式前,需先建立上限力矩曲线与下限力矩曲线,利用预设的上限值,补偿由马达读取的基准数字电流信号形成反馈信号,做为控制电流控制器的反馈信号,将马达转动1电气周期的360度波动,分成预设个单位角度,一单位角度接一单位角度转动马达,并记录该每一转动单位角度及输出力矩,直到马达转完1电气周期记录全部预设个单位角度的输出力矩,以建立上限力矩曲线。建立下限力矩曲线时,利用预设的下限值,补偿由马达读取的基准数字电流信号形成反馈信号,做为控制电流控制器的反馈信号,一单位角度接一单位角度转动马达,并记录该每一转动单位角度及输出力矩,直到马达转完1电气周期记录全部预设个单位角度的输出力矩。

本发明的马达力矩纹波动态补偿方法,利用基准数字电流信号加减预设的上限值及下限值,形成映射条件。工作数字电流信号介于基准数字电流信号的上限值及下限值间为符合映射条件,将继续补偿模式。不符合映射条件时,将停止补偿模式。

本发明的马达力矩纹波动态补偿方法,马达包含a相及b相数字电流信号。马达转动1电气周期的360度波动,分成预设k个单位角度,每一单位角度上限力矩曲线u(k)及下限力矩曲线d(k),a相基准数字电流信号为da及b相基准数字电流信号为db,a相的工作数字电流信号为da1及b相的工作数字电流信号为db1,预设补偿基准数字电流信号da及db的上限值xa1、xb1与下限值xa2及xb2,则fa=[(xa1+xb1)+(xa2+xb2)]/2,fb=[(da+xa1-da1)+(db+xb1-db1)]/2,而线性补偿曲线l(k)的补偿公式为:l(k)=[(fa-fb)/fa]*u(k)+[fb/fa]*d(k),以映射每一单位角度的线性补偿l(k)。

本发明的马达力矩纹波动态补偿方法,在补偿工作数字电流信号时,设需要n个脉冲转动马达1电气周期360度波动,以n个脉冲转动马达,可计算出马达的转动波动角度g=(360/n)*n,再根据每一单位角度s的线性补偿l(k),由该转动波动角度的前后角度k与k+l,以内插公式[l(k+l)-l(k)]:[l(g)-l(k)]=s:(g-k*s)取得l(g)补偿值。前述转动角度g,以可由马达的编码器的机器周期转动角度除5转换取得。

附图说明

图1为本发明机器手臂的马达的控制系统的功能图。

图2为本发明建立上下限力矩曲线的流程图。

图3为本发明建立的上下限力矩曲线的坐标图。

图4为本发明映射的线性补偿曲线。

图5为本发明建立的上限力矩曲线记录的数据表。

图6为本发明建立的下限力矩曲线记录的数据表。

图7为本发明映射线性补偿曲线的数据表。

图8为本发明马达力矩纹波动态补偿方法的流程图。

图9为本发明马达力矩纹波动态补偿方法的误差比较图。

【符号说明】

10控制系统

11马达

12位置控制器

13速度控制器

14电流控制器

15编码器

16模拟数字转换器

17力矩纹波补偿器

18速度计算器

具体实施方式

有关本发明为达成上述目的,所采用的技术手段及其功效,现在举优选实施例,并配合附图加以说明如下。

请同时参阅图1、图2及图3,图1为本发明机器手臂的马达的控制系统,图2为本发明建立上下限力矩曲线的流程图,图3为本发明建立的上下限力矩曲线图。图1中本发明马达11的控制系统10,主要藉由控制命令经由位置控制器12、速度控制器13及电流控制器14,控制马达11转动。其中马达11为a、b、c相的三相马达,并设有编码器15用以检测马达11的转动角度。控制系统10利用模拟数字转换器16,从马达11取出a相电流与b相电流,形成数字电流信号,经力矩纹波补偿器17接收,力矩纹波补偿器17利用线性补偿曲线,并根据编码器检测的马达11转动角度,补偿a相与b相的电流信号,作为电流控制器14的反馈信号,控制马达11输出需求的力矩。而马达11的编码器15检测的马达11转动角度信号,还提供速度计算器18计算马达11的转速,反馈至速度控制器13控制马达11转动的角速度。位置控制器12也由接收编码器15检测的马达11转动角度信号,控制马达11定位在需求的角度。

本发明的力矩纹波补偿器17在进入补偿模式补偿马达11的a相与b相数字电流信号前,由于模拟数字转换器17有转换信号的上界线t1及下界线t2限制(参图3),首先需建立模拟数字转换器17可接受转换信号的上限力矩曲线u及下限力矩曲线d,以确认可补偿电流信号的范围。图2为本发明建立上下限力矩曲线的步骤,在启动马达后(步骤p1),藉由模拟数字转换器17取得马达11的a相与b相电流,并转换为基准数字电流信号da及db(步骤p2)。先建立上限力矩曲线u,利用预设的a相上限值xa1及b相上限值xb1,分别补偿a相基准数字电流信号da形成反馈信号da+xa1,及补偿b相基准数字电流信号db形成反馈信号db+xb1,做为控制电流控制器14的反馈信号(步骤p3)。

由于马达11转动1圈的机器周期,包含5个相同磁场变化的360度波动的电气周期。为加速补偿作业,以相当于马达11转动72度的1电气周期,建立补偿曲线。首先将1电气周期360度的波动,分成预设k个单位角度s,例如k=400,并一单位角度s接一单位角度s驱动马达11(步骤p4),记录马达11每一单位角度s及输出力矩(步骤p5),检查马达11是否转动1电气周期?(步骤p6),假如尚未转动1电气周期,则回至步骤p4,继续转动至下一单位角度s,重复步骤p4至步骤p6,直到马达11转完1电气周期记录全部k个单位角度s的输出力矩u(k),以完成建立上限力矩曲线u。然后检查是否完成上下限力矩曲线?(步骤p7),假如未完成,比照建立上限力矩曲线u的步骤,接着建立下限力矩曲线d,利用预设的a相下限值xa2及b相下限值xb2,分别补偿a相基准数字电流信号da形成反馈信号da-xa2,及补偿b相基准数字电流信号db形成反馈信号db-xb2,做为控制电流控制器14的反馈信号(步骤p8)。然后回至步骤p4,重复步骤p4至步骤p6,直到一单位角度s接一单位角度s转动马达11,转完1电气周期记录全部k个单位角度s的输出力矩d(k),以完成建立下限力矩曲线d。最后检查完成上下限力矩曲线后(步骤p7),结束建立上下力矩曲线的操作(步骤p9)。

将前述步骤p5记录马达11的每一单位角度s及其对应的输出力矩u(k)与d(k)的数据,形成如图3所示的坐标图,显示力矩纹波状的上限力矩曲线u及下限力矩曲线d。由于前述建立上下力矩曲线,预设补偿基准数字电流信号da及db的上下限值xa1、xb1、xa2及xb2,基本上可由模拟数字转换器17的产品规格,根据使用经验加以调整设定可接受最大的上下限值,让受力矩纹波影响,建立的上限力矩曲线u及下限力矩曲线d不超出模拟数字转换器17的转换界线。但是一旦发现建立的上限力矩曲线u及下限力矩曲线d超出模拟数字转换器17的转换界线,就必调整设定补偿上下限值,重新建立上下力矩曲线。因此利用建立可用的上限力矩曲线u及下限力矩曲线d后,根据数字电流信号与力矩成比例关系,判断介于上限力矩曲线u及下限力矩曲线d的范围内,为模拟数字转换器17可有效转换的电流,否则为模拟数字转换器17无法转换的电流。

如图4所示,为本发明映射的线性补偿曲线。当控制系统执行补偿模式时,模拟数字转换器取得马达的a相与b相电流转换的工作数字电流信号da1及db1,首先利用上限力矩曲线u及下限力矩曲线d建立映射条件,即a相数字电流信号的上限为基准数字电流信号da加上上限值xa1,即da+xa1,下限为基准数字电流信号da减上限值xa2,即da-xa2。b相数字电流信号的上限为基准数字电流信号db加上上限值xb1,即db+xb1,下限为基准数字电流信号db减上限值xb2,即db-xb2。利用映射条件筛选工作数字电流信号da1及db1,da+xa1>da1>da-xa2且db+xb1>db1>db-xb2,才能符合映射条件,否则工作数字电流信号da1及db1超出上限力矩曲线u及下限力矩曲线d补偿范围,硬件电路偏差过大需筛出进行修复,以提高控制的精确度。

符合映射条件的工作数字电流信号da1及db1,进入补偿模式,利用上限力矩曲线u及下限力矩曲线d及下列公式继续执行补偿模式。设fa为马达的a相与b相基准数字电流信号da及db上下限的平均跨距,即fa=[(xa1+xb1)+(xa2+xb2)]/2,fb为工作数字电流与上限基准数字电流信号的平均差,即fb=[(da+xa1-da1)+(db+xb1-db1)]/2,利用线性比例计算上限力矩曲线u及下限力矩曲线d,形成对该工作数字电流的线性补偿曲线l的补偿公式为:l(k)=[(fa-fb)/fa]*u(k)+[fb/fa]*d(k),因此,图4中线性补偿曲线l就可利用建立的上限力矩曲线u及下限力矩曲线d在每一单位角度s的力矩u(k)与d(k)线性映射获得。

请同时参阅图5、图6及图7,图5为本发明建立的上限力矩曲线u记录的数据表,图6为建立的下限力矩曲线d记录的数据表,图7为本发明映射线性补偿曲线l的数据表。以实际映射线性补偿曲线l的实施例举例说明,马达控制系统利用模拟数字转换器取得马达的a相与b相电流,并转换为基准数字电流信号da=3569信号单位及db=3640信号单位,并预设的a相上限值xa1=150信号单位及b相上限值xb1=150信号单位。分别补偿a相基准数字电流信号da形成反馈信号da+xa1=3569+150=3719,及补偿b相基准数字电流信号db形成反馈信号db+xb1=3640+150=3790,做为控制电流控制器的反馈信号。接着将1电气周期的360度波动,分成k=400个单位角度,一单位角度s=0.9度,记录角度0度及其输出力矩u(0)=13力矩单位,驱动马达转动一单位角度0.9度,记录角度0.9度及输出力矩u(0.9)=26力矩单位,接着驱动马达再一一增加转动一单位角度s,并记录转动角度及输出力矩u(k),直到马达转动1电气周期,以取得图5上限力矩曲线u的数据表。

同样,预设的a相下限值xa1=150信号单位及b相下限值xb1=150信号单位。分别补偿a相基准数字电流信号da形成反馈信号da-xa1=3569-150=3419,及补偿b相基准数字电流信号db形成反馈信号db-xb1=3640-150=3490,做为控制电流控制器的反馈信号。记录转动角度0度及输出力矩d(0)=-35力矩单位,驱动马达转动一单位角度0.9度,记录转动角度0.9度及输出力矩d(0.9)=-31力矩单位,接着一单位角度一单位角度驱动马达,并记录转动角度及输出力矩d(k),直到马达转动1电气周期,以取得图6下限力矩曲线d的数据表。

假设测得马达的一a相工作数字电流信号da1=3580信号单位,b相工作数字电流信号db1=3732信号单位,首先需检查工作数字电流信号符合映射条件:da+xa1>da1>da-xa2且db+xb1>db1>db-xb2,即3719>3580>3419与3790>3732>3490,才能映射。

接着映射该工作数字电流信号的线性补偿曲线l如下,计算a相与b相数字电流信号上下限的平均跨距fa=[(xa1+xb1)+(xa2+xb2)]/2=[(150+150)+(150+150)]/2=300,而工作数字电流与上限数字电流信号的平均差,fb=[(da+xa1-da1)+(db+xb1-db1)]/2=[(3569+150-3580)+(3640+150-3732)]/2=98.5,根据上限力矩曲线u(k)及下限力矩曲线d(k)的数据表,利用补偿公式为:l(k)=[(fa-fb)/fa]*u(k)+[fb/fa]*d(k),计算每一单位角度s的线性补偿曲线l(k),在单位角度0度,l(0)=[(300-98.5)/300]*u(0)+[98.5/300]*d(0)=[(300-98.5)/300]*13+[98.5/300]*(-35)=-2.76,在单位角度0.9度,由补偿公式计算l(0.9)=[(300-98.5)/300]*u(0.9)+[98.5/300]*d(0.9)=[(300-98.5)/300]*26+[98.5/300]*(-31)=7.285力矩单位,以补偿公式一一计算每一单位角度,就可根据已知的上限力矩曲线u与下限力矩曲线d的数据表,取得图7一电气周期的线性补偿曲线的数据表。同理,复制该一电气周期的线性补偿曲线,形成5电气周期的线性补偿曲线,就类推作为马达转动1圈的机器周期的线性补偿曲线。

对该工作数字电流信号进行补偿时,一般转动马达一电气周期360度波动,需要n个脉冲(pulse),以n个脉冲转动马达,可计算出马达的转动波动角度g=(360/n)*n,再根据图7线性补偿曲线l的数据表,由该转动角度的前后角度k与k+l,内插公式[l(k+l)-l(k)]:[l(g)-l(k)]=s:(g-k*s)取得补偿值。举例说明,假如一般转动马达一电气周期360度波动,需要10000个脉冲,以40个脉冲转动马达,可计算出马达的转动角度g=(360/10000)*40=1.44度,介于前后角度0.9度与1.8度,以线性补偿曲线l,角度0.9度的l(1)=7.285与角度1.8度的l(2)=13.643代入内插公式[13.643-7.285]:[l(1.44)-7.285]=0.9:(1.44-1*0.9),取得补偿值l(1.44)=11.0998。再由力矩与数字电流信号比例关系,换算回补偿的电流信号,就可进行补偿数字电流信号。前述马达的转动波动角度g,也可由马达的编码器读取机器周期的转动角度,再除以5转换为转动波动角度g。

如图8所示,为本发明马达力矩纹波动态补偿方法的流程图。本发明马达力矩纹波动态补偿方法的详细步骤说明如下:在步骤s1进入补偿模式,开始进行补偿;步骤s2,读取工作数字电流信号;步骤s3,检查工作数字电流信号是否符合映射条件?假如不符合映射条件,则至步骤s4,停止补偿模式,并调整或修复马达,如符合映射条件,则进入步骤s5,根据建立的上限力矩曲线与下限力矩曲线,映射线性补偿曲线;步骤s6,由马达的编码器或脉冲,读取马达的转动角度;步骤s7,根据转动角度,由线性补偿曲线计算补偿值;步骤s8,以补偿值补偿工作数字电流信号;步骤s9,控制马达转动。

由前述的实施例,本发明的马达力矩纹波动态补偿方法,就可藉由设定上限值及下限值,补偿模拟数字转换器取出的马达a相电流与b相电流信号,形成映射条件,筛选电路过大偏差的硬件进行修复,以提高控制精确度,并建立上限力矩曲线及下限力矩曲线,以映射线性补偿曲线,补偿模拟数字转换器信号电平的偏差。如图9所示,将使用本发明马达力矩纹波动态补偿方法及不使用补偿的误差加以比较,使用本发明马达力矩纹波动态补偿方法,机器手臂的移动误差、周期震动及震幅,都明显缩小,因此,本发明马达力矩纹波动态补偿方法可达到降低震动的目的。

以上所述仅为用以方便说明本发明的优选实施例,本发明的范围不限于该等优选实施例,凡依本发明所做的任何变更,在不脱离本发明的精神下,皆属本发明申请专利的范围。

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