马达控制系统及其方法与流程

文档序号:18948277发布日期:2019-10-23 01:49阅读:209来源:国知局
马达控制系统及其方法与流程

本发明涉及一种马达控制系统及其方法,尤其涉及一种利用一单位时间的一单位运动量驱动马达的马达控制系统及其方法。



背景技术:

大多数的机械系统需要进行运动轨迹规划,如cnc工具机、机械手臂、钻孔机、雕刻机、绘图机等,上述机具基本上都是多轴运动控制,在控制多轴系统的情况下,多个马达的相互移动、运动路径的产生、移动速度及加减速的规划等都相当重要。因此,因应上述需求,运动控制器自然而然成为系统的核心控制单元。运动控制器主要是接收了使用者传来的运动信息,并将这些信息转换成马达驱动器的输入信号,进而控制马达以及机械系统的运动轨迹。

一般常见的运动控制器为数字差分分析器(digitaldifferentialanalyzer;dda),数字差分分析器是接收一目标位置,并依据一目标时间,运算产生一脉冲驱动信号,用以驱动一马达。

然而,现有技术使用数字差分分析器需要较长的运算时间来产生脉冲,而且若在运算时间内有新的目标位置,也需要等待前一次运算时间结束,并再等候一次运算时间依据新的目标位置进行运算,才能产生对应新的目标位置的脉冲驱动信号,容易导致命令切换时,产生的脉冲驱动信号会有所延迟或是误差。



技术实现要素:

有鉴于在现有技术中,数字差分分析器需要较长的运算时间,容易导致命令切换时,造成脉冲驱动信号会有所延迟或误差。本发明的一主要目的是提供一种马达控制系统与马达控制方法,以解决现有技术所衍生出的问题。

本发明为解决现有技术的问题,所采用的必要技术手段为提供一种马达控制系统,用以传送一驱动信号至一驱动装置,用以驱动一马达,并包含一输入模块与一运动控制器。

输入模块,用以设定多个运动控制参数,且运动控制参数至少包含一目标位置与一目标运动时间。

运动控制器,电性连接上述输入模块,用以接收上述运动控制参数,依据至少一运算规则产生对应于一单位运动时间的一单位运动量,并依据至少一转换规则产生一对应单位运动量的控制命令,再依据控制命令产生上述驱动信号。

其中,上述单位运动时间小于上述目标运动时间。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使上述单位运动量,小于上述目标位置。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使上述至少一运算规则,是一加加速度直线运动公式。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使上述至少一转换规则,是一对照表,且对照表显示上述单位运动量与一脉冲边缘变化量的对应关系。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使上述运动控制器,依据上述单位运动量所对应的该脉冲边缘变化量,产生上述控制命令。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使马达控制系统,还包含:一转换模块,且转换模块电性连接上述输入模块与上述运动控制器,用以接收上述运动控制参数,并将上述运动控制参数转换成二进制格式。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使马达控制系统中的运动控制器,还包含:一存储模块,且存储模块用以储存上述运算规则与上述转换规则。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使马达控制系统中的运动控制器,还包含:一脉冲输出模块,且脉冲输出模块用以依据上述控制命令产生上述驱动信号,且上述驱动信号是一脉冲驱动信号。

本发明还提供一种马达控制方法,使用一输入模块与一运动控制器,并包含以下步骤:(a)利用输入模块,设定多个运动控制参数,且运动控制参数至少包含一目标位置与一目标运动时间;(b)利用运动控制器,接收运动控制参数,并依据至少一运算规则,产生对应于一单位运动时间的一单位运动量;(c)利用运动控制器,依据至少一转换规则,产生一对应单位运动量的控制命令;(d)利用运动控制器,依据控制命令产生一驱动信号;以及(e)利用运动控制器,传送驱动信号至一驱动装置,用以驱动一马达。

在上述必要技术手段的基础上,本发明所衍生的一附属技术手段为使马达控制方法,还包含以下步骤:利用运动控制器判断驱动信号是一无变化量驱动信号,产生一基本速度驱动信号,并传送至驱动装置。

承上所述,本发明所提供的马达控制系统及其方法,利用运动控制器依据运算规则以及转换规则产生一对应单位运动时间与单位运动量的驱动信号,其中单位运动时间小于目标运动时间。因此,可以缩短所需的运算时间,若接收到新的目标位置,运动控制器可即时的进行新的目标位置的运算、转换并产生新的驱动信号,用以解决现有技术中,切换新的目标位置可能造成驱动信号的延迟或误差。

附图说明

图1是本发明一实施例所提供的马达控制系统及其方法的系统方块图;

图2是本发明一实施例所提供的马达控制系统及其方法的位置-时间图;

图3是本发明一实施例所提供的马达控制系统及其方法的方法流程图;

图4是本发明另一实施例所提供的马达控制系统及其方法的系统方块图;

图5是本发明另一实施例所提供的马达控制系统及其方法的方法流程图;

图6a与图6b是本发明另一实施例所提供的马达控制系统及其方法的脉冲驱动信号示意图。

【符号说明】

1、1a:马达控制系统

11:输入模块

12、12a:运动控制器

121a:处理模块

122a:存储模块

123a:脉冲输出模块

13a:转换模块

2:驱动装置

3:马达

s0:初始位置

s1:第一位置

s2:第二位置

sn:目标位置

t0:初始时间

t1:第一时间

t2:第二时间

tn:目标运动时间

δt:单位运动时间

δsi、δs1、δs2:单位运动量

具体实施方式

请参阅图1至图3,其中,图1是本发明一实施例所提供的马达控制系统及其方法的系统方块图;图2是本发明一实施例所提供的马达控制系统及其方法的位置-时间图;以及,图3是本发明一实施例所提供的马达控制系统及其方法的方法流程图。如图所示,一种马达控制系统1用以传送一驱动信号至一驱动装置2,并通过驱动装置2驱动一马达3,且马达控制系统1并包含一输入模块11与一运动控制器12。

输入模块11,用以设定多个运动控制参数,而运动控制参数中至少包含一目标位置sn与一目标运动时间tn。输入模块11可为一电脑、一手机、一键盘等可输入运动控制参数的装置。

运动控制器12,电性连接输入模块11,用以接收运动控制参数,并依据至少一运算规则产生对应于一单位运动时间δt的一单位运动量δsi,i=1~n,对应至不同的运动时间点,δs1对应到一第一时间t1与一初始时间t0的单位运动时间δt,并且使马达3自一初始位置s0移动至一第一位置s1,δs2对应到一第二时间t2与第一时间t1的单位运动时间δt,并且使马达3自第一位置s1移动至一第二位置s2。在此需说明的是,实际上每一个单位运动时间δt所对应到的单位运动量不一定会相同,不同的单位运动时间δt所对应到的单位运动量以δs1、δs2…作为区别,如图2所示,单位运动量δsi则是作为一个统称,以利于理解本发明。

运动控制器12依据至少一转换规则,产生一对应单位运动量δsi的控制命令,再依据控制命令产生驱动信号,并将驱动信号传送至驱动装置2以驱动马达3。因控制命令通常是一个数字信号,无法直接驱动马达。因此,本实施例依据控制命令转换成驱动装置2可解读的驱动信号传送至驱动装置2,以驱动马达3转动。就一实施例而言,驱动信号可为一脉冲驱动信号。

在第一实施例中,运动控制器12是一现场可编程门阵列(fieldprogrammablegatearray;fpga)芯片,但不以此为限。在另一实施例中,运动控制器12可为一数字信号处理器(digitalsignalprocessor;dsp)。前述运算规则与转换规则可以内建于运动控制器12内,也可储存于一存储单元。

如图2所示,运动控制器12演算出的每一小段单位运动量δsi(即δs1、δs2…)全部相加,会使马达在目标运动时间tn自一初始位置s0移动至目标位置sn。由于本实施例运算单位运动量δsi所需的单位运动时间δt(可视为运动控制器12的内建运算时间)小于目标运动时间tn,因此,若在目标运动时间tn内,有新的目标位置或是接收到新的运动控制参数,本实施例的运动控制器12可即时地进行新的运算产生新的单位运动量δsi,以配合新的目标位置并在目标运动时间tn到达新的目标位置。而不会像现有技术一样,需要先在目标运动时间tn移动到目标位置sn后,再去产生由目标位置sn移动到新的目标位置的驱动信号。因此,本实施例有助于避免传统马达控制系统及其方法所造成的驱动信号的延迟甚至是误差等问题。

如图3所示,本发明的一实施例提供一种马达控制方法,此马达控制方法利用图1的马达控制系统1,此马达控制系统1包含一输入模块11与一运动控制器12。此马达控制方法包含以下步骤s101至s105。

步骤s101:利用输入模块11,设定多个运动控制参数,且该些运动控制参数至少包含一目标位置与一目标运动时间。

步骤s102:利用运动控制器12,接收该些运动控制参数,并依据至少一运算规则,产生对应于一单位运动时间的一单位运动量。

步骤s103:利用运动控制器12,依据至少一转换规则,产生一对应该单位运动量的控制命令。

步骤s104:利用运动控制器12,依据该控制命令产生一驱动信号。

步骤s105:利用运动控制器12,传送该驱动信号至一驱动装置,用以驱动一马达。

步骤s101利用输入模块11设定多个运动控制参数,而运动控制参数至少包含一目标位置(如图2中的sn)与一目标运动时间(如图2中的tn)。

步骤s102利用运动控制器12依据运算规则,运算出对应于一单位运动时间(如图2中的δt)的一单位运动量(如图2中的δsi、δs1、δs2…)。此运动控制器12可以是一fpga芯片。又,就一较佳实施例而言,运动控制器12依据加加速度直线运动公式,将运动控制参数演算出单位运动量。

步骤s103利用运动控制器12,依据转换规则,产生一对应该单位运动量的控制命令,转换规则可以内建于运动控制器12内,也可储存于一存储单元。

步骤s104利用运动控制器12,依据控制命令产生驱动信号,因运动控制器12运算出来的单位运动量δsi与控制命令并无法直接驱动马达3,所以,运动控制器12需再将控制命令转换成一可与驱动装置2沟通的驱动信号。

最后,步骤s105利用运动控制器12传送驱动信号至驱动装置2,以驱动马达3,进而完成马达控制。

请参阅图4至图6b,其中,图4是本发明另一实施例所提供的马达控制系统及其方法的系统方块图;图5是本发明另一实施例所提供的马达控制系统及其方法的方法流程图;以及,图6a与图6b是本发明另一实施例所提供的马达控制系统及其方法的脉冲驱动信号示意图。如图所示,一种马达控制系统1a用以传送一驱动信号至如第一实施例中的驱动装置2,以驱动如第一实施例中的马达3,马达控制系统1a并包含一输入模块11、一运动控制器12a与一转换模块13a,其中,输入模块11与第一实施例中相同,故不多加赘述。

转换模块13a电性连接输入模块11与运动控制器12a,用以将输入模块11设定的运动控制参数转换成二进制格式,以利运动控制器12a的运算。转换模块13a可内嵌于输入模块11,也可内嵌于运动控制器12a,也可如图4所示自成一个模块方块。

运动控制器12a还包含一处理模块121a、一存储模块122a与一脉冲输出模块123a。存储模块122a用以储存至少一运算规则与至少一转换规则,在本实施例中,运算规则是一加加速度直线运动公式,转换规则是一对照表显示单位运动量δsi与脉冲边缘变化量的对应关系。存储模块122a可为一存储芯片。

处理模块121a接收经由转换模块13a转换后的运动控制参数,并依据存储模块122a中的运算规则,产生对应一单位运动时间δt(标示于图2)的一单位运动量δsi(标示于图2)。并依据转换规则,将单位运动量δsi转换成一数字信息,此数字信息具有一预设比特长度,随后再依据此数字信息产生一对应单位运动量δsi的控制命令,控制命令是此数字信息所对应到的脉冲边缘变化量。

最后,再利用脉冲输出模块123a,依据控制命令产生一驱动信号,此驱动信号与第一实施例不同的处在于是一脉冲驱动信号,并传送至驱动装置2,以驱动马达3。

如图5所示,本发明的另一实施例提供一种马达控制方法,此马达控制方法用于图4的马达控制系统1a,并包含以下步骤s201至s207。步骤s201与第一实施例的步骤s101相同,故不多加说明。

步骤s202利用转换模块13a,接收运动控制参数,并将运动控制参数转换成利于运动控制器12a进行运算的格式,例如:二进制格式。

步骤s203至步骤s205与第一实施例中的步骤s102与s103大致相同,差异在于自第一实施例中的运动控制器12改成由第二实施例中运动控制器12a内部的处理模块121a、存储模块122a执行步骤。

步骤s206利用脉冲输出模块123a接收控制命令,并据以产生一驱动信号,此驱动信号与前述实施例中的差异在于,此驱动信号为一脉冲驱动信号。并传送驱动信号至驱动装置2以驱动马达3,完成步骤s207。

接着,将以实际数值举例说明,设定多个运动控制参数包含加加速度=1、加速度=10、速度=100、目标位置=1000,初始加速度=0、初始速度=0、初始位置=0、单位运动时间=2、qx,y格式=q32,24与最多脉冲边缘变化量=3。qx,y格式为一种二进制格式,用以决定单位运动量δsi转换成二进制格式后的比特数,其中x=32表示总比特数为32比特,y=24表示代表小数的比特数有24比特。请一并参阅图2、图4至图6b。因我们对于十进制格式较为熟悉,但是马达控制系统实际上运算利用二进制格式,故以下说明会一并使用十进制格式与二进制格式,二进制格式是为了呈现马达控制系统的实际运算情况,十进制格式则是为了利于理解本发明。

转换模块13a将上述运动控制参数转换成二进制格式,除了qx,y格式与最多脉冲边缘变化量,处理模块121a依据加加速度直线运动公式,将上述运动控制参数运算出一单位运动量δsi的十进制格式为221.333循环小数,在q32,24格式下的值为01101001001010101010101010101011。

处理模块121a依据转换规则,转换规则如下:1.最多只能有(2n-1)个脉冲边缘变化量。2.qx,y格式中,脉冲边缘变化的主导比特为第(y-1)至(y+(n-1))比特。3.如下表(一)。

表(一)

表(一)是一单位运动量δsi主导比特的对应数值与脉冲边缘变化量的对照表。依据上述转换规则,可知因为最多脉冲边缘变化量=3,因此n=2,主导脉冲边缘变化的比特为第(24-1)至(24+(2-1))比特,即第23至25比特,单位运动量δsi在q32,24格式中的第23至25比特(即主导比特)为101,对应到十进制格式的数值为5(即22+1),此数值对应的脉冲边缘变化量为-3,表示控制命令为控制马达3沿负方向转动3格,并依据控制命令产生脉冲驱动信号,使驱动装置2驱动马达3负方向转动3格,即为图6a所显示的脉冲驱动信号。脉冲边缘变化量表示脉冲的切换次数,如图所示,脉冲驱动信号依序自输出逻辑1切换至0、再从0切换至1、最后从1切换至0,共切换3次,表示脉冲边缘变化量为3,因为第一次切换自大(1)切换至小(0),故为负方向。而图6b显示正方向转动3格的脉冲驱动信号,因为第一次切换自小(0)切换至大(1),故为正方向。

在此需特别说明的是,表(一)适用于n=2时,不过,本发明不限于此。基本上,表(一)可分成三个区间,第一个区间的单位运动量δsi主导比特的对应数值自0、1、2…递增至(2n-1),对应的脉冲边缘变化量自0、+1、+2…递增至+(2n-1)。第二个区间的单位运动量δsi主导比特的对应数值为2n,此时对应的脉冲边缘变化量为0。第三个区间的单位运动量δsi主导比特的对应数值自(2n+1)、(2n+2)…递增至(2n+2n-1),此时,对应的脉冲边缘变化量自-(2n-1)递增至-1。

针对第三个区间的对应关系做更详细的说明,当单位运动量δsi主导比特的对应数值是(2n+1)时,对应到的脉冲边缘变化量为-(2n-1),在此可将(2n+1)等同于(2n+1-2n+1),再等同于(2n+1-(2n-1))。因此,脉冲边缘变化量为-(2n-1)对应到单位运动量δsi主导比特的对应数值的后半部。其他单位运动量δsi与脉冲边缘变化量的对应关系依此类推。

再以实际数值举例说明,运动控制参数皆与上述数值相同,运算规则与转换规则也相同,唯一差异在于单位运动时间=1。依此单位运动时间运算出的单位运动量δsi主导比特为100,对应数值为4,对应表(一)脉冲边缘变化量为0,表示脉冲驱动信号不会使驱动装置2驱动马达3,当运动控制器12a判断脉冲变化量为0时,产生一基本速度驱动信号,使驱动装置2驱动马达3以一对应基本速度驱动信号的最低速度转动。

综上所述,本发明所提供的马达控制系统及其方法是利用输入模块设定运动控制参数,以及运动控制器依据运算规则与转换规则产生驱动信号,并将驱动信号传送至驱动装置,以驱动马达。

相较于现有技术,本发明所提供的马达控制系统及其方法,不会因为运动控制参数的改变,而造成驱动信号的延迟或误差,取而代之的是利用单位运动时间小于目标运动时间的关系,而达到因应新的运动控制参数的即时运算,故不会造成驱动信号的延迟或误差。

通过以上较佳具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭示的较佳具体实施例来对本发明的范围加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明权利要求的范围内。

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