CN112889218A - 步进马达的自动化速度渐变控制 - Google Patents

步进马达的自动化速度渐变控制 Download PDF

Info

Publication number
CN112889218A
CN112889218A CN201980069834.9A CN201980069834A CN112889218A CN 112889218 A CN112889218 A CN 112889218A CN 201980069834 A CN201980069834 A CN 201980069834A CN 112889218 A CN112889218 A CN 112889218A
Authority
CN
China
Prior art keywords
nco
output
input
clock pulses
dma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980069834.9A
Other languages
English (en)
Inventor
K·E·库提斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN112889218A publication Critical patent/CN112889218A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K7/00Modulating pulses with a continuously-variable modulating signal
    • H03K7/08Duration or width modulation ; Duty cycle modulation
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors rotating step by step
    • H02P8/14Arrangements for controlling speed or speed and torque
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/40Open loop systems, e.g. using stepping motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33088Clock
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43139VCO variable frequency oscillator or two oscilators with different frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

使用直接存储器存取(DMA)和核心独立外围设备(CIP)的步进马达加速和减速的自动化速度渐变控制包括通过预分频值的直接存储器存取(DMA)传输控制的数字控制振荡器(NCO),NCO与时钟振荡器结合使用以生成时钟脉冲,时钟脉冲是时钟振荡器频率和预分频值的函数。这样自动化了NCO的频率的改变,从而控制更急剧的马达速度,而不需要计算机处理单元(CPU)开销。DMA模块在用于步进速度加速的第一数量的时钟脉冲期间启用,在用于以全步进速度的正常操作的第二数量的时钟脉冲期间禁用,并且然后在用于步进速度减速的第三数量的时钟脉冲期间重新启用。存储器中的表可存储并提供用于向NCO的DMA传输的多个加速和减速预分频值。

Description

步进马达的自动化速度渐变控制
相关专利申请
本申请要求Keith Edwin Curtis在2018年10月25日提交的名称为“AutomatedSpeed Ramp Control for Stepper Motors(步进马达的自动化速度渐变控制)”的共同拥有的美国临时专利申请序列号62/750,434的优先权;并且据此以引用方式并入本文以用于所有目的。
技术领域
本公开涉及步进马达的速度控制,并且更具体地讲,涉及用于步进马达的自动化速度渐变控制的方法和装置。
背景技术
步进马达是同步定位马达。为了以高步进速率运行,步进马达必须被加速和减速(步进速度渐变控制)以保持锁定。通过使用基于数字控制振荡器(NCO)的步进电路,可自动化步进速度排序。然而,这需要软件开销来使步进马达加速和减速。当步进马达速度增加或减少时,在微型计算机或微控制器的中央处理单元(CPU)上运行的软件必须提供新预分频器NCO值并将它们加载到预分频器NCO中。这需要CPU的高优先级中断,由此降低其他软件相关功能的性能。
发明内容
因此,需要一种使用直接存储器存取(DMA)来减小核心处理(例如,中央处理单元(CPU))、加载并改善其软件指令执行定时的自动化步进马达加速和减速(速度渐变控制)方法和装置。
根据一个实施方案,一种用于使用直接存储器存取(DMA)传输来进行步进马达的速度渐变控制的方法可包括以下步骤:提供数字控制振荡器(NCO),该数字控制振荡器具有振荡器输入和预分频值输入以及提供时钟脉冲的输出,其中时钟脉冲的频率可以是振荡器频率和预分频值的函数;在存储器中提供加速和减速预分频值的表;针对第一数量的时钟脉冲,通过使用直接存储器存取(DMA)传输的来自存储器的加速预分频值对NCO进行编程;针对第二数量的时钟脉冲抑制向NCO的DMA传输;以及针对第三数量的时钟脉冲,通过使用DMA传输的来自存储器的减速预分频值对NCO进行编程。
根据该方法的另一实施方案,可包括在进行向NCO的DMA传输之前对来自NCO的特定数量的时钟脉冲进行计数的步骤。根据该方法的另一实施方案,可包括对来自NCO的时钟脉冲的数量进行计数,然后在时钟脉冲的数量达到最大计数之后抑制NCO的输出的步骤。
根据另一个实施方案,一种用于步进马达加速和减速的自动化速度渐变控制的装置可包括:振荡器,该振荡器具有输出;数字控制振荡器(NCO),该数字控制振荡器具有振荡器输入和预分频值输入以及提供时钟脉冲的输出,其中NCO振荡器输入可联接到振荡器输出,并且来自NCO的时钟脉冲的频率可以是来自振荡器的频率和预分频值的函数;存储器,该存储器用于存储多个加速和减速预分频值;以及直接存储器存取(DMA)控制电路,该直接存储器存取控制电路联接在NCO预分频值输入和存储器以及NCO的输出之间,其中DMA控制电路可针对第一数量的时钟脉冲向NCO提供来自存储器的加速预分频值,针对第二数量的时钟脉冲抑制DMA控制电路,以及然后可针对第三数量的时钟脉冲向NCO提供来自存储器的减速预分频值。
根据另一实施方案,累加器计数器可联接在NCO的输出和DMA控制电路之间,其中DMA控制电路可在已经发生特定数量的时钟脉冲之后向NCO提供单个预分频值。根据另一实施方案,最大计数器可联接到NCO的输出并且在从NCO接收到特定最大数量的时钟脉冲之后抑制NCO的操作。
根据另一实施方案,DMA控制电路可包括:脉宽调制(PWM)模块,该脉宽调制模块具有联接到NCO的时钟输出的输入以及输出;以及数据信号调制器(DSM),该数据信号调制器具有联接到NCO的时钟输出的第一输入、联接到固定逻辑电平的第二输入、联接到DMA模块的DMA触发输入的输出,以及联接到PWM模块输出以用于将DSM的输出选择性地联接在其第一输入和第二输入之间的控制输入,其中在PWM模块的输出可处于第一逻辑电平时可选择第一输入,并且当PWM模块的输出可处于第二逻辑电平时可选择第二输入。
根据另一实施方案,累加器计数器可联接在NCO的输出以及DSM的第一输入和PWM模块的输入之间,其中DMA模块可在已经发生特定数量的时钟脉冲之后向NCO提供单个预分频值。根据另一实施方案,PWM模块的占空比可以是可编程的,以在第一数量的时钟脉冲期间提供第一逻辑电平输出,在第二数量的时钟脉冲期间提供第二逻辑电平输出,并且在第三数量的时钟脉冲期间提供第一逻辑电平输出。根据另一实施方案,第一逻辑电平可以是逻辑零,并且第二逻辑电平可以是逻辑一。根据另一实施方案,第一逻辑电平可以是逻辑一,并且第二逻辑电平可以是逻辑零。根据另一实施方案,DSM的输出可被配置为在对于DSM的控制输入的控制信号的边缘上在其第一输入和第二输入之间切换。
根据另一实施方案,DMA控制电路可包括:第一计数器,该第一计数器用于对第一数量的时钟脉冲进行计数;第二计数器,该第二计数器用于对第二数量的时钟脉冲进行计数;第三计数器,该第三计数器用于对第三数量的时钟脉冲进行计数;以及多路复用器,该多路复用器具有联接到NCO输出的第一输入、联接到固定逻辑电平的第二输入、联接到DMA模块的输出以及由第一计数器、第二计数器和第三计数器控制的输入选择;其中第一计数器控制多路复用器以在第一数量的时钟脉冲期间将第一输入联接到其输出,第二计数器控制多路复用器以在第二数量的时钟脉冲期间将第二输入联接到其输出,并且第三计数器控制多路复用器以在第三数量的时钟脉冲期间将第一输入联接到其输出。
根据又一个实施方案,一种用于步进马达加速和减速的自动化速度渐变控制的装置可包括:振荡器,该振荡器具有输出;数字控制振荡器(NCO),该数字控制振荡器具有振荡器输入和预分频值输入以及提供时钟脉冲的输出,其中NCO振荡器输入可联接到振荡器输出,并且时钟脉冲的频率可以是来自振荡器的频率和预分频值的函数;存储器,该存储器用于存储多个加速和减速预分频值;直接存储器存取(DMA)模块,该直接存储器存取模块联接在NCO预分频值输入和存储器之间;脉宽调制(PWM)模块,该脉宽调制模块具有联接到NCO的时钟输出的输入;以及数据信号调制器(DSM),该数据信号调制器具有联接到NCO的时钟输出的第一输入、联接到固定逻辑电平的第二输入、联接到DMA模块的DMA触发输入的输出,以及用于将DSM的输出选择性地联接在其第一输入和第二输入之间的控制输入;其中DMA模块在第一数量的时钟脉冲期间利用加速预分频值对NCO进行编程,在第二数量的时钟脉冲期间不进行对NCO的编程,并且在第三数量的时钟脉冲期间利用减速预分频值对NCO进行编程。
根据另一实施方案,累加器计数器可联接在NCO的时钟输出以及DSM的第一输入和PWM模块的输入之间,其中DMA模块可在已经发生特定数量的时钟脉冲之后向NCO提供单个预分频值。根据另一实施方案,最大计数器可联接到NCO的输出并且在从NCO接收到特定最大数量的时钟脉冲之后抑制NCO的操作。根据另一实施方案,PWM模块的占空比可以是可编程的,以在第一数量的时钟脉冲期间提供第一逻辑电平输出,在第二数量的时钟脉冲期间提供第二逻辑电平输出,并且在第三数量的时钟脉冲期间提供第一逻辑电平输出。根据另一实施方案,DSM的输出可被配置为在对于DSM的控制输入的控制信号的边缘上在其第一输入和第二输入之间切换。
附图说明
通过参考以下结合附图进行的描述,可以获得对本公开的更完整的理解,其中:
图1示出了根据本公开的教导内容的三轴步进马达电路的示意性框图;
图2、图3和图4示出了根据本发明的具体示例性实施方案的自动化速度渐变控制电路的示意性框图,该自动化速度渐变控制电路使用直接存储器存取(DMA)传输来加载速度渐变控制值以用于步进马达的加速和减速;
图5示出了图2、图3和图4所示的自动化速度渐变控制电路的操作的示意图;并且
图6示出了图2、图3和图4所示的自动化速度渐变控制电路的功能电路变化的示意性框图。
虽然本公开易受各种修改形式和替代形式的影响,但是其具体示例性实施方案已经在附图中示出并且在本文中详细描述。然而,应当理解,本文对特定示例性实施方案的描述并非旨在将本公开限于本文所公开的形式。
具体实施方式
本发明的实施方案可提供自动化速度渐变控制,其用于使用直接存储器存取(DMA)传输以加载速度渐变控制值来使步进马达加速和减速,而无需集成电路数字处理器(例如,(例如但不限于微控制器单元(MCU)的)中央处理单元(CPU))的干预或程序执行来维持步进马达的加速和减速操作。此外,核心独立外围设备(CIP)可用于促进自动化步进马达的加速和减速(速度渐变控制)电路的设计。CIP是被设计成在没有来自CPU的软件代码或监督的情况下处理其任务的功能模块块。因为CIP功能是在硬件而不是软件中执行的,所以CIP实现远超过典型微控制器单元(MCU)的能力的电路性能,同时简化设计体验并减小存储器成本。设计者可创建复杂的控制电路,同时具有更容易地创新其嵌入式解决方案的灵活性。该功能尤其有利于在计算机数字控制(CNC)机器中使用。
根据本发明的具体示例性实施方案,自动化步进马达加速和减速操作信息(确定步进速度的输出时钟频率)可由数字控制振荡器(NCO)提供。NCO是一种定时器,该定时器使用来自增量值相加的溢流以将具有输入频率的信号除以除数值,从而输出频率为输入信号除以除数值的信号。与简单的计数器驱动定时器或脉宽调制器(PWM)相比,使用该相加方法的优点在于除法的分辨率不随除法器值变化,由此导致真正的线性频率控制。NCO最适用于需要线性频率控制、高频准确度和固定占空比下的精细分辨率的应用。
根据本公开的教导内容,NCO可被配置为频率预分频器(在下文中称为“预分频器NCO”)并且具有通过直接存储器存取(DMA)传输提供的频率预分频数据,而无需MCU的CPU的干预或程序执行。这使频率预分频数据到预分频器NCO中的变化自动化。DMA控制电路可用于控制启用和禁用DMA传输,其中DMA传输在步进速度加速和减速期间启用,并且在正常运行步进速度期间禁用。存储器中的表可被提供用于步进速度加速和减速频率预分频数据(确定时钟频率-步进速度),由此DMA暂停是在步进速度加速的结束和步进速度减速的开始之间构建完整步进速度加速/减速简档所需要的一切。
根据本公开的具体示例性实施方案,可从步进马达加速和减速过程中消除CPU程序软件干预。可将加速/减速曲线(确定时钟脉冲速度简档)加载到存储器中,并且然后可启动步进马达操作。电路在特定第一数量的NCO频率周期(时钟脉冲)内自动倾斜上升(使步进速度加速),然后在特定第二数量的NCO频率周期内基于在加速阶段期间传输到NCO中的最后频率预分频数据DMA以最高NCO频率运行,然后在特定第三数量的NCO频率周期内开始减速阶段(使步进速度减慢)。当加速/减速曲线已完成时,自动化步进马达加速和减速电路可提供中断以触发下一个步进马达移动曲线(简档)的软件加载,例如来自CPU。再次启动加速和减速曲线(简档)并且CNC机器继续操作。
自动化步进马达加速和减速电路的优点在于CNC时钟的加速和减速是完全自动化的,而无需来自CNC电路的CPU的干预。
加速/减速表可被编程到例如但不限于闪存存储器中。DMA CIP可用于使加速和减速电路的操作自动化,而与CPU程序步骤无关。除了初始步进频率简档表加载和开始操作之外,不需要程序软件(例如,固件)开销。
现在参见附图,示意性地示出了示例性实施方案的细节。附图中的相似元件将由相似数字表示,并且类似的元件将由具有不同的小写字母后缀的相似数字表示。
参见图1,描绘了根据本公开的教导内容的三轴步进马达电路的示意性框图。示出了大体由数字100、CPU 132和存储器130表示的三轴(x、y和z)步进马达电路,但以下公开内容也适用于双轴和单轴步进马达电路。
NCO 126可用作频率预分频器并且接收来自时钟振荡器128的具有频率Fosc的时钟信号和预分频值,并且提供频率为时钟信号Fosc和预分频值的函数的CNC_CLK信号。NCO126可用存储在存储器130中的预分频值来编程。信号CNC_CLK的频率可以是来自时钟振荡器128的频率Fosc除以预分频值。
X步进驱动器108以由来自X-NCO 120的信号的频率(其为CNC_CLK的频率的函数)确定的步进速率和编程到X-NCO 120中(例如,从CPU 132)的X步进速率驱动X步进马达102。X计数器114可监测来自X-NCO 120的步进脉冲(频率周期)的数量,并且在达到编程计数(#X步长)(例如,从CPU 132编程)时抑制X-NCO 120进一步输出。X-NCO 120的输出可为来自预分频器NCO126的输入信号(CNC_CLK)的频率除以X步进速率的函数。
Y步进驱动器110以由来自Y-NCO 122的信号的频率确定的步进速率和编程到Y-NCO 122中(例如,从CPU 132)的Y步进速率驱动Y步进马达104。Y计数器116可监测来自Y-NCO 122的步进脉冲(频率周期)的数量,并且在达到编程计数(#Y步长)(例如,从CPU 132编程)时抑制Y-NCO 122进一步输出。来自Y-NCO 122的输出信号频率可以是来自预分频器NCO126的输入信号(CNC_CLK)的频率除以Y步进速率。NCO 126从时钟振荡器128接收具有频率Fosc的时钟信号并且输出具有频率CNC_CLK的信号,如上文所述。
Z步进驱动器112以由来自Z-NCO 124的信号的频率确定的步进速率和编程到Z-NCO 124中(例如,从CPU 132)的Z步进速率驱动Z步进马达106。Z计数器118可监测来自Z-NCO 124的步进脉冲(频率周期)的数量,并且在达到编程计数(#Z步长)(例如,从CPU 132编程)时抑制Z-NCO 124进一步输出。来自Y-NCO 122的输出信号频率可以是来自预分频器NCO126的输入信号(CNC_CLK)的频率除以Y步进速率。NCO 126从时钟振荡器128接收具有频率Fosc的时钟信号并且输出具有频率CNC_CLK的信号,如上文所述。
当X步进马达102和Y步进马达104的步进速率相同时,将导致45度的角移动。当X步进速率和Y步进速率不同时,将导致不同的角移动。步进脉冲的数量将确定CNC机器在由步进马达控制时将移动多远。因此,跟踪来自X-NCO的步进脉冲的数量将确定由X步进马达102控制的工具的移动位置,同样用于Y步进马达104和Z步进马达106。
三轴步进电路的Y步进部分和Z步进部分以与上文针对X步进所述的方式基本上相同的方式工作。通过将独特的X、Y和Z步进速率分别编程到X-NCO120、Y-NCO 122和Z-NCO124中,可对CNC工具的移动进行编程以产生期望的任何图案。此外,X步长计数器(X-CNTR)114、Y步长计数器(Y-CNTR)116和Z步长计数器(Z-CNTR)118可分别用针对X步进马达102、Y步进马达104和Z步进马达106允许的步长的最大数量来编程,例如,预定计数#X步长、#Y步长、#Z步长。如果达到步长的最大数量,则步长计数器(114,116,118)可抑制从相应NCO(120,122,124)输出步长。
参见图2,描绘了根据本发明的具体示例性实施方案的自动化速度渐变控制电路的示意性框图,该自动化速度渐变控制电路使用直接存储器存取(DMA)传输来加载速度渐变控制值以用于步进马达的加速和减速。数字控制振荡器(NCO)126被配置为频率预分频器,该频率预分频器具有:时钟输入,该时钟输入联接到从例如但不限于时钟振荡器128供应的具有频率Fosc的时钟信号;预分频输入,该预分频输入联接到DMA控制电路240;以及供应CNC_CLK信号的输出,该CNC_CLK信号的频率响应于输入除数值预分频,例如,信号CNC_CLK的频率是频率Fosc除以预分频值。
NCO 126将生成时钟脉冲CNC_CLK,其频率是频率Fosc除以预分频值的函数。可通过DMA控制电路240将预分频值编程到NCO 126中。DMA控制电路240可包括直接存储器存取(DMA)模块232、数据信号调制器(DSM)234和脉宽调制器(PWM)模块238。DMA模块232可从存储器130获得预分频值。存储器130存储步进马达的加速和减速两者的预分频值。DMA模块232可以是例如但不限于CIP,其可以独立于CPU 132起作用。在例如从CPU 132重置到DMA模块232时,可重置其地址计数器,从存储器130获得第一预分频值并将其编程到NCO 126中。这开启NCO 126,其以来自时钟振荡器128的频率Fosc除以编程到NCO 126中的预分频值所确定的频率生成时钟脉冲(CNC_CLK)。
PWM模块238(在重置时)也以第一输出(出于解释的目的,逻辑低)开始,在DSM 234的MOD输入处接收该第一输出。DSM 234的MOD输入处的逻辑低将CNC_CLK时钟脉冲联接到DMA模块232的触发输入。每当接收到CNC_CLK时钟脉冲时,DMA模块232中的地址计数器将递增,并且DMA模块232将从存储器130读取新预分频值并将该新预分频值传输到NCO 126中(DMA传输)。在PWM模块238已接收到特定数量的CNC_CLK时钟脉冲之后,其输出将转到第二逻辑电平(出于解释的目的,逻辑高),并且DSM 234的输出可与CNC_CLK时钟脉冲解耦并保持在逻辑低,由此将不会发生DMA传输。在PWM模块238已接收到更多数量的CNC_CLK时钟脉冲后,其输出将返回到第一逻辑电平,然后CNC_CLK时钟脉冲将再次联接到DMA模块232的触发输入(地址计数器),并且到预分频器NCO 126的DMA传输将在步进马达速度简档的减速阶段内恢复。针对第一逻辑电平和第二逻辑电平的任何期望比率,可基于要接收的CNC_CLK时钟脉冲的数量通过占空比信号从CPU 132编程PWM模块238的PWM占空比。上述电路和功能可由微控制器200提供。
DSM 234可被配置为接通经调制信号的边缘。这防止由于调制信号(来自PWM模块238的输出)与经调制信号(CNC_CLK)之间的异步定时而引起的缩短脉冲。
参见图3,描绘了根据本发明的另一个具体示例性实施方案的自动化速度渐变控制电路的示意性框图,该自动化速度渐变控制电路使用直接存储器存取(DMA)传输来加载速度渐变控制值以用于步进马达的加速和减速。图3所示的电路以与图2所示和上文所述的电路基本上相同的方式起作用,其中添加了联接在NCO 126的输出与PWM 238和DSM 234模块的输入之间的累加器计数器236。累加器计数器236允许在DMA模块232启动下一个DMA传输之前出现特定数量的CNC_CLK脉冲。例如,响应于从CPU 132接收的累加器计数负载输入,多个CNC_CLK时钟脉冲将在发起下一个DMA传输之前发生。上述电路和功能可由微控制器300提供。
参见图4,描绘了根据本发明的又一个具体示例性实施方案的自动化速度渐变控制电路的示意性框图,该自动化速度渐变控制电路使用直接存储器存取(DMA)传输来加载速度渐变控制值以用于步进马达的加速和减速。图4所示的电路在添加计数器228的情况下以与图2和图3所示和上文所述的电路基本上相同的方式起作用。计数器228可用从CPU 132接收的最大计数Max_Count编程,其致使当达到编程的最大计数时抑制预分频器NCO 126输出另外的CNC_CLK时钟脉冲。其还可用于重置PWM模块238。这可防止CNC工具超过最大行进距离。计数器228可在开始新加速/减速简档时由CPU 132重置。上述电路和功能可由微控制器400提供。
参见图5,描绘了图2、图3和图4所示的自动化步进马达加速和减速电路的操作的示意图。来自PWM模块238的输出波形540相对于DMA传输542(加速DMA传输542a和减速DMA传输542b)以及CNC_CLK时钟脉冲544的相对频率示出。最初,当输出540处于第一逻辑电平时,允许加速DMA传输542a,并且当输出540处于第二逻辑电平时,不存在DMA传输542(对DMA模块232的DMA启动触发被抑制)。CNC_CLK时钟脉冲的频率由NCO 126基于来自加速/减速表的预分频值来确定,该加速/减速表存储在存储器230中并在每次DMA传输542期间被编程到NCO 126中。一旦达到提供CNC_CLK时钟脉冲的最高频率的编程预分频值,例如,基于所期望的加速DMA传输542a的数量,就抑制另外的DMA传输,直到发生另外数量的时钟脉冲(CNC_CLK),然后NCO 126再次被编程有预分频值减速DMA传输542b以减小CNC_CLK时钟脉冲的频率,从而用于使步进马达减速。
预期且在本公开的范围内,DSM模块234的功能可由数字电子器件设计领域的普通技术人员已知的且受益于本公开的多路复用器或逻辑功能的其他组合提供。还可预期并且在本公开的范围内,可使用计数器和组合逻辑来代替PWM模块238。参见图6,描绘了图2、图3和图4所示的电路的功能电路变化的示意性框图。例如但不限于,DMA控制电路640可包括DMA模块232、多路复用器634、加速计数器640、最大速度计数器642、减速计数器644、相关联的逻辑门(未编号)。
多路复用器634可用于代替DSM模块234,其中cntl输入处的逻辑“0”将CNC_CLK时钟脉冲联接到DMA模块232的触发输入,并且逻辑“1”将抑制到其的CNC_CLK时钟脉冲。加速计数器640可在步进马达的加速期间计数CNC_CLK时钟脉冲的数量,最大速度计数器642可在步进马达的最大速度期间计数CNC_CLK时钟脉冲的数量,并且减速计数器644可在步进马达的减速期间计数CNC_CLK时钟脉冲的数量。使用组合逻辑,计数器640和642的输出可控制对多路复用器634的输入选择。当步进马达的减速已完成时,计数器644可向CPU 132a提供中断。上述电路和功能可由微控制器600提供。
已根据一个或多个实施方案描述了本公开,并且应当理解,除了明确陈述的那些方案之外,许多等同方案、替代方案、变型方案和修改方案是可能的,并且在本公开的范围内。虽然本公开易受各种修改形式和替代形式的影响,但是其具体示例性实施方案已经在附图中示出并且在本文中详细描述。然而,应当理解,本文对具体示例性实施方案的描述并非旨在将本公开限于本文所公开的特定形式。

Claims (37)

1.一种用于步进马达加速和减速的自动化速度渐变控制的装置,包括:
振荡器,所述振荡器具有输出;
数字控制振荡器(NCO),所述数字控制振荡器具有振荡器输入和预分频值输入以及提供时钟脉冲的输出,其中所述NCO振荡器输入联接到所述振荡器输出,并且来自所述NCO的所述时钟脉冲的频率被配置为所述振荡器的频率和所述预分频值的函数;
存储器,所述存储器用于存储多个加速和减速预分频值;和
直接存储器存取(DMA)控制电路,所述直接存储器存取控制电路联接在所述NCO预分频值输入与所述存储器之间,其中所述DMA控制电路被配置为:
针对第一数量的时钟脉冲向所述NCO提供来自所述存储器的所述加速预分频值;
在第二数量的时钟脉冲期间不向所述NCO提供值;以及
然后针对第三数量的时钟脉冲向所述NCO提供来自所述存储器的所述减速预分频值。
2.根据权利要求1所述的装置,其中所述DMA控制电路被进一步配置为在所述第二数量的时钟脉冲期间不执行所述NCO的编程。
3.根据权利要求1至2中任一项所述的装置,其中所述DMA控制电路被进一步配置为针对所述第二数量的时钟脉冲被抑制。
4.根据权利要求1至3中任一项所述的装置,其中向所述NCO提供所述加速预分频值以及向所述NCO提供所述减速预分频值包括用所述加速预分频值和所述减速预分频值对所述NCO进行编程。
5.根据权利要求1至4中任一项所述的装置,还包括联接在所述NCO的所述输出和所述DMA控制电路之间的累加器计数器,其中所述DMA控制电路被配置为在已经发生特定数量的时钟脉冲之后向所述NCO提供单个预分频值。
6.根据权利要求1至5中任一项所述的装置,还包括最大计数器,所述最大计数器联接到所述NCO的所述输出,所述最大计数器被配置为在从所述NCO接收到特定最大数量的时钟脉冲之后抑制所述NCO的操作。
7.根据权利要求1至6中任一项所述的装置,其中所述DMA控制电路包括:
脉宽调制(PWM)电路,所述脉宽调制电路具有联接到所述NCO的所述时钟输出的输入以及输出;和
数据信号调制器(DSM),所述数据信号调制器具有联接到所述NCO的所述时钟输出的第一输入、联接到固定逻辑电平的第二输入、联接到所述DMA电路的DMA触发输入的输出,以及联接到所述PWM电路输出以用于将所述DSM的所述输出选择性地联接在其所述第一输入和所述第二输入之间的控制输入,其中所述第一输入被配置为当所述PWM电路的所述输出处于第一逻辑电平时被选择,并且当所述PWM电路的所述输出处于第二逻辑电平时选择所述第二输入。
8.根据权利要求7所述的装置,还包括联接在所述NCO的所述输出与所述DSM的所述第一输入和所述PWM电路的所述输入之间的累加器计数器,其中所述DMA电路被配置为在已经发生特定数量的时钟脉冲之后向所述NCO提供单个预分频值。
9.根据权利要求7至8中任一项所述的装置,其中所述PWM电路的占空比是可编程的,以在所述第一数量的时钟脉冲期间提供所述第一逻辑电平输出,在所述第二数量的时钟脉冲期间提供所述第二逻辑电平输出,并且在所述第三数量的时钟脉冲期间提供所述第一逻辑电平输出。
10.根据权利要求7至9中任一项所述的装置,其中所述第一逻辑电平为逻辑零并且所述第二逻辑电平为逻辑一。
11.根据权利要求7至9中任一项所述的装置,其中所述第一逻辑电平为逻辑一并且所述第二逻辑电平为逻辑零。
12.根据权利要求7至11中任一项所述的装置,其中所述DSM的所述输出被配置为在对于所述DSM的所述控制输入的控制信号的边缘上在其所述第一输入和所述第二输入之间切换。
13.根据权利要求1至12中任一项所述的装置,其中所述DMA控制电路包括:
第一计数器,所述第一计数器用于对所述第一数量的时钟脉冲进行计数;
第二计数器,所述第二计数器用于对所述第二数量的时钟脉冲进行计数;
第三计数器,所述第三计数器用于对所述第三数量的时钟脉冲进行计数;和
多路复用器,所述多路复用器具有联接到所述NCO输出的第一输入、联接到固定逻辑电平的第二输入、联接到所述DMA电路的输出以及由所述第一计数器、所述第二计数器和所述第三计数器控制的输入选择;
其中:
所述第一计数器被配置为控制所述多路复用器以在所述第一数量的时钟脉冲期间将所述第一输入联接到其所述输出,
所述第二计数器被配置为控制所述多路复用器以在所述第二数量的时钟脉冲期间将所述第二输入联接到其所述输出,并且
所述第三计数器被配置为控制所述多路复用器以在所述第三数量的时钟脉冲期间将所述第一输入联接到其所述输出。
14.根据权利要求1至6或13所述的装置,还包括:
脉宽调制(PWM)电路,所述脉宽调制电路具有联接到所述NCO的所述时钟输出的输入;和
数据信号调制器(DSM),所述数据信号调制器具有联接到所述NCO的所述时钟输出的第一输入、联接到固定逻辑电平的第二输入、联接到所述DMA电路的DMA触发输入的输出,以及用于将所述DSM的所述输出选择性地联接在其所述第一输入和所述第二输入之间的控制输入。
15.根据权利要求14所述的装置,还包括联接在所述NCO的所述时钟输出以及所述DSM的所述第一输入和所述PWM电路的所述输入之间的累加器计数器,其中所述DMA电路被配置为在已经发生特定数量的时钟脉冲之后向所述NCO提供单个预分频值。
16.根据权利要求14至15中任一项所述的装置,还包括最大计数器,所述最大计数器联接到所述NCO的所述输出并且被配置为在从所述NCO接收到特定最大数量的时钟脉冲之后抑制所述NCO的操作。
17.根据权利要求14至16中任一项所述的装置,其中所述PWM电路的占空比是可编程的以提供:
在所述第一数量的时钟脉冲期间输出的所述第一逻辑电平;
在所述第二数量的时钟脉冲期间输出的所述第二逻辑电平;和
在所述第三数量的时钟脉冲期间输出的所述第一逻辑电平。
18.根据权利要求14至17中任一项所述的装置,其中所述DSM的所述输出被配置为在对于所述DSM的所述控制输入的控制信号的边缘上在其所述第一输入和所述第二输入之间切换。
19.一种系统,包括:
步进马达;和
根据权利要求1至18所述的用于步进马达加速和减速的自动化速度渐变控制的装置中的任一者。
20.一种用于使用直接存储器存取(DMA)传输来进行步进马达的速度渐变控制的方法,所述方法包括以下步骤:
提供数字控制振荡器(NCO),所述数字控制振荡器具有振荡器输入和预分频值输入以及提供时钟脉冲的输出,其中所述时钟脉冲的频率是所述振荡器频率和所述预分频值的函数;
在存储器中提供加速和减速预分频值的表;
针对第一数量的时钟脉冲,通过使用直接存储器存取(DMA)传输的来自所述存储器的所述加速预分频值对所述NCO进行编程;
针对第二数量的时钟脉冲抑制向所述NCO的DMA传输;以及
针对第三数量的时钟脉冲,通过使用所述DMA传输的来自所述存储器的所述减速预分频值对所述NCO进行编程。
21.根据权利要求20所述的方法,还包括在进行向所述NCO的所述DMA传输之前对来自所述NCO的特定数量的时钟脉冲进行计数的步骤。
22.根据权利要求20至21中任一项所述的方法,还包括对来自所述NCO的所述时钟脉冲的数量进行计数,然后在所述时钟脉冲的数量达到最大计数之后抑制所述NCO的所述输出的步骤。
23.根据权利要求20至22中任一项所述的方法,还包括在所述第二数量的时钟脉冲期间不执行所述NCO的编程。
24.根据权利要求20至23中任一项所述的方法,还包括在已经发生特定数量的时钟脉冲之后向所述NCO提供单个预分频值。
25.根据权利要求20至24中任一项所述的方法,还包括利用联接到所述NCO的所述输出的最大计数器,在从所述NCO接收到特定最大数量的时钟脉冲之后抑制所述NCO的操作。
26.根据权利要求20至25中任一项所述的方法,还包括:
其中所述DMA控制电路包括:
提供脉宽调制(PWM)电路,所述脉宽调制电路具有联接到所述NCO的所述时钟输出的输入以及输出;和
提供数据信号调制器(DSM),所述数据信号调制器具有联接到所述NCO的所述时钟输出的第一输入、联接到固定逻辑电平的第二输入、联接到所述DMA电路的DMA触发输入的输出,以及联接到所述PWM电路输出以用于将所述DSM的所述输出选择性地联接在其所述第一输入和所述第二输入之间的控制输入,其中所述第一输入被配置为当所述PWM电路的所述输出处于第一逻辑电平时被选择,并且当所述PWM电路的所述输出处于第二逻辑电平时选择所述第二输入。
27.根据权利要求26所述的方法,还包括利用所述DMA电路,在已经发生特定数量的时钟脉冲之后向所述NCO提供预分频值,其中累加器计数器联接在所述NCO的所述输出以及所述DSM的所述第一输入和所述PWM电路的所述输入之间。
28.根据权利要求26至27中任一项所述的方法,其中所述PWM电路的占空比用于在所述第一数量的时钟脉冲期间提供所述第一逻辑电平输出,在所述第二数量的时钟脉冲期间提供所述第二逻辑电平输出,并且在所述第三数量的时钟脉冲期间提供所述第一逻辑电平输出。
29.根据权利要求26至28中任一项所述的方法,其中所述第一逻辑电平为逻辑零并且所述第二逻辑电平为逻辑一。
30.根据权利要求26至28中任一项所述的方法,其中所述第一逻辑电平为逻辑一并且所述第二逻辑电平为逻辑零。
31.根据权利要求26至30中任一项所述的方法,其中所述DSM的所述输出被配置为在对于所述DSM的所述控制输入的控制信号的边缘上在其所述第一输入和所述第二输入之间切换。
32.根据权利要求26至30中任一项所述的方法,还包括:
提供:
第一计数器,所述第一计数器用于对所述第一数量的时钟脉冲进行计数;
第二计数器,所述第二计数器用于对所述第二数量的时钟脉冲进行计数;
第三计数器,所述第三计数器用于对所述第三数量的时钟脉冲进行计数;和
多路复用器,所述多路复用器具有联接到所述NCO输出的第一输入、联接到固定逻辑电平的第二输入、联接到所述DMA电路的输出以及由所述第一计数器、所述第二计数器和所述第三计数器控制的输入选择;
利用第一计数器,控制所述多路复用器以在所述第一数量的时钟脉冲期间将所述第一输入联接到其所述输出;
利用所述第二计数器,控制所述多路复用器以在所述第二数量的时钟脉冲期间将所述第二输入联接到其所述输出;以及
利用所述第三计数器,控制所述多路复用器以在所述第三数量的时钟脉冲期间将所述第一输入联接到其所述输出。
33.根据权利要求20至25或32所述的方法,还包括:
提供脉宽调制(PWM)电路,所述脉宽调制电路具有联接到所述NCO的所述时钟输出的输入;以及
提供数据信号调制器(DSM),所述数据信号调制器具有联接到所述NCO的所述时钟输出的第一输入、联接到固定逻辑电平的第二输入、联接到所述DMA电路的DMA触发输入的输出,以及用于将所述DSM的所述输出选择性地联接在其所述第一输入和所述第二输入之间的控制输入。
34.根据权利要求33所述的方法,还包括:
提供累加器计数器,所述累加器计数器联接在所述NCO的所述时钟输出以及所述DSM的所述第一输入和所述PWM电路的所述输入之间;以及
在已经发生特定数量的时钟脉冲之后向所述NCO提供单个预分频值。
35.根据权利要求33至34中任一项所述的方法,还包括利用联接到所述NCO的所述输出的最大计数器,在从所述NCO接收到特定最大数量的时钟脉冲之后抑制所述NCO的操作。
36.根据权利要求33至35中任一项所述的方法,还包括对所述PWM电路的占空比进行编程以提供:
在所述第一数量的时钟脉冲期间输出的所述第一逻辑电平;
在所述第二数量的时钟脉冲期间输出的所述第二逻辑电平;和
在所述第三数量的时钟脉冲期间输出的所述第一逻辑电平。
37.根据权利要求33至36中任一项所述的方法,还包括在对于所述DSM的所述控制输入的控制信号的边缘上在其所述第一输入和所述第二输入之间切换所述DSM的输出。
CN201980069834.9A 2018-10-25 2019-06-20 步进马达的自动化速度渐变控制 Pending CN112889218A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862750434P 2018-10-25 2018-10-25
US62/750,434 2018-10-25
US16/254,797 2019-01-23
US16/254,797 US11323052B2 (en) 2018-10-25 2019-01-23 Automated speed ramp control of stepper motors
PCT/US2019/038110 WO2020086116A1 (en) 2018-10-25 2019-06-20 Automated speed ramp control of stepper motors

Publications (1)

Publication Number Publication Date
CN112889218A true CN112889218A (zh) 2021-06-01

Family

ID=70325679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980069834.9A Pending CN112889218A (zh) 2018-10-25 2019-06-20 步进马达的自动化速度渐变控制

Country Status (4)

Country Link
US (2) US11323052B2 (zh)
CN (1) CN112889218A (zh)
DE (1) DE112019005329T5 (zh)
WO (1) WO2020086116A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112737436A (zh) * 2020-12-11 2021-04-30 深圳市越疆科技有限公司 一种基于dma的步进电机脉冲输出控制方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112305998B (zh) * 2020-11-12 2021-09-14 台州中盟联动企业管理合伙企业(有限合伙) 一种交流伺服跟踪控制系统及其方法
CN113783481B (zh) * 2021-08-10 2024-02-02 深圳市国赛生物技术有限公司 电机控制方法、装置、系统及存储介质
DE102021129160A1 (de) 2021-11-09 2023-05-11 Zf Active Safety Gmbh Vorrichtung und Verfahren zur Geschwindigkeitsrampensteuerung eines Elektromotors, System und Bremskreis

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882495A (zh) * 2011-07-15 2013-01-16 赛普拉斯半导体公司 用于脉波宽度调制的降低电磁干扰
US20140009081A1 (en) * 2011-03-28 2014-01-09 Renesas Electronics Corporation Pwm signal generation circuit and processor system
US20150056645A1 (en) * 2013-08-22 2015-02-26 Kinetic River Corp. Methods and apparatuses for label-free particle analysis
US20170163190A1 (en) * 2015-12-07 2017-06-08 Microchip Technology Incorporated Stepper Trajectory Driver

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574575A (en) * 1992-06-18 1996-11-12 Brother Kogyo Kabushiki Kaisha Facsimile machine
US6548796B1 (en) * 1999-06-23 2003-04-15 Regents Of The University Of Minnesota Confocal macroscope
US7536533B2 (en) * 2005-09-30 2009-05-19 Silicon Laboratories Inc. MCU based motor controller with pre-load register and DMA controller
US20070150423A1 (en) * 2005-12-22 2007-06-28 Kirschner Wesley A Low cost system and method for updating secure data in internal flash while driving motors and printing
JP2007306707A (ja) * 2006-05-11 2007-11-22 Toshiba Corp ステッピングモータ制御装置、画像形成装置、及びシーケンス制御装置
JP6457376B2 (ja) 2015-11-19 2019-01-23 ファナック株式会社 サーボ制御部における外部信号の入出力を高速にした数値制御装置
US10281388B2 (en) * 2015-12-18 2019-05-07 Ducom Instruments Pvt. Ltd. Tester to estimate co-efficient of friction and determine properties of a sample lubricant

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140009081A1 (en) * 2011-03-28 2014-01-09 Renesas Electronics Corporation Pwm signal generation circuit and processor system
CN102882495A (zh) * 2011-07-15 2013-01-16 赛普拉斯半导体公司 用于脉波宽度调制的降低电磁干扰
US20130015798A1 (en) * 2011-07-15 2013-01-17 Cypress Semiconductor Corporation Reduced eletromagnetic interference for pulse-width modulation
US20150056645A1 (en) * 2013-08-22 2015-02-26 Kinetic River Corp. Methods and apparatuses for label-free particle analysis
US20170163190A1 (en) * 2015-12-07 2017-06-08 Microchip Technology Incorporated Stepper Trajectory Driver

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112737436A (zh) * 2020-12-11 2021-04-30 深圳市越疆科技有限公司 一种基于dma的步进电机脉冲输出控制方法

Also Published As

Publication number Publication date
US20200136539A1 (en) 2020-04-30
US11658593B2 (en) 2023-05-23
DE112019005329T5 (de) 2021-07-22
WO2020086116A1 (en) 2020-04-30
US11323052B2 (en) 2022-05-03
US20220329182A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
CN112889218A (zh) 步进马达的自动化速度渐变控制
US4506201A (en) Microprocessor controlled pulse motor
US10516356B2 (en) Stepper trajectory driver with numerical controlled oscillators operated at frequency provided by a synchronized clock signal
US10613495B2 (en) Motor drive system, motor control system, and self-propelled robot
JPH08168297A (ja) パルス発生装置およびモータ駆動装置
KR100737557B1 (ko) 스테핑 모터의 제어회로, 전자 카메라 및 스테핑 모터의제어방법
US4890048A (en) Low torque ripple stepping motor controller circuit
CN114070140A (zh) 一种步进电机的速度检测方法、装置、设备及存储介质
US4810946A (en) Adaptive pulsing motor control for positioning system
US5199052A (en) Reload timer circuit
SU1462246A1 (ru) Устройство дл программного управлени
KR100760204B1 (ko) 모터 제어시스템의 펄스 발생방법 및 그 장치
SU1403018A1 (ru) Программно-управл емый модуль
JP2002223584A (ja) 直流モータ用制御装置
SU1481714A2 (ru) Многоканальное устройство программного управлени шаговыми двигател ми
JPH02121003A (ja) 並列処理機能を備えた数値制御装置
CN114212631A (zh) 电梯运行控制方法、装置、电梯及计算机可读存储介质
KR19990018451A (ko) 스테핑 모터의 가/감속 제어용 클럭펄스 발생장치
JPH0442090A (ja) 電子時計
JP3251344B2 (ja) パルス出力回路
Tyni et al. A 3-DOF stepping motor robot controlled by a microcontroller
WO1991013490A1 (en) Improvements in or relating to the control of stepping motors
JPH06153594A (ja) ステップモータ駆動装置
JPH0876826A (ja) パルス発生回路
JPS6237100A (ja) ステツピングモ−タ制御装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination