CN104898474B - 一种基于mcu的多通道均匀伺服脉冲生成方法 - Google Patents

一种基于mcu的多通道均匀伺服脉冲生成方法 Download PDF

Info

Publication number
CN104898474B
CN104898474B CN201510153363.3A CN201510153363A CN104898474B CN 104898474 B CN104898474 B CN 104898474B CN 201510153363 A CN201510153363 A CN 201510153363A CN 104898474 B CN104898474 B CN 104898474B
Authority
CN
China
Prior art keywords
mcu
controlling cycle
generation method
pulse generation
length
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.)
Expired - Fee Related
Application number
CN201510153363.3A
Other languages
English (en)
Other versions
CN104898474A (zh
Inventor
史步海
刘志鑫
包智
郭宇
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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201510153363.3A priority Critical patent/CN104898474B/zh
Publication of CN104898474A publication Critical patent/CN104898474A/zh
Application granted granted Critical
Publication of CN104898474B publication Critical patent/CN104898474B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Multiple Motors (AREA)

Abstract

本发明公开了一种基于MCU的多通道均匀伺服脉冲生成方法,包含以下步骤:设置各通道参数,输出初始化;判断步长计数是否等于步数总数,若是则控制周期结束,反之则等待到达步长时间进入中断任务;然后判断各个通道在该时刻是否需要进行电平的翻转,若需要则翻转对应通道输出电平,若不需要则步数计数增加1,退出中断任务;当前的控制周期结束,进入下一控制周期。本发明的方法,只需一个中断定时器即完成多通道的伺服脉冲产生,缩短数据传输环节,减少了控制命令的时延,有效提高了***的时效性,简化了***结构,节约开发成本。

Description

一种基于MCU的多通道均匀伺服脉冲生成方法
技术领域
本发明涉伺服控制领域,特别涉及一种基于MCU的多通道均匀伺服脉冲生成方法。
背景技术
工业自动化的发展,对传动***的精度和性能提出了更高的要求。伺服驱动***有着定位精确、转速精度高、转速可调范围大、转矩稳定、加速快、外型紧凑的优点,在数控机床和工业机器人这类要求高精度定位的数控领域得到了越来越广泛的应用。伺服驱动技术作为数控机床、工业机器人及其它产业机械控制的关键技术之一,在国内外普遍受到关注。伺服***以位置和速度作为控制对象,是连接数控装置和机械本体的关键部分,接受数控装置发来的进给脉冲指令信号,经过信号变换和功率放大经由伺服电机驱动数控设备实现所要求的运动。
位置和速度的控制精度是伺服***的核心价值所在,是衡量数控***最为重要的技术指标之一。多年来伺服电机和伺服驱动器厂商不遗余力地进行技术升级和创新,取得了***的成果。然而数控***分为算法计算、数据传输、机械执行三个环节,伺服电机和伺服驱动器只是数控***其中一个机械执行环节,提高整个数控***的性能需要各个环节的性能保证。目前,数据传输这一环是较为薄弱的一环,制约着***性能和精度的提升。
在数据传输上,大部分数控***采用数据总线进行数据传输再经由MCU处理,得到的具体命令交由FPGA产生各路伺服脉冲再经电平转换后发送至伺服驱动器,以固定周期控制***运行。伺服驱动器是根据接收的脉冲动作的,由于控制周期固定,欲保证伺服驱动器动作均匀协调则脉冲发送的均匀性就显得至关重要,周期内脉冲的不均匀将严重影响伺服动作的平滑性和伺服之间的同步。一般的方法中,MCU难以做到输出均匀的伺服脉冲,所以添加FPGA辅助产生和分发脉冲。FPGA虽然实现了脉冲分发的均匀性,但也增加了***的环节和时延,拉长了输出传输这薄弱的一环,影响了***性能提升和带来成本上升。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于MCU的多通道均匀伺服脉冲生成方法。
本发明的目的通过以下的技术方案实现:
一种基于MCU的多通道均匀伺服脉冲生成方法,包含以下顺序的步骤:
a.***初始化时设置MCU自动装载定时器中断定时时长T,设置控制周期Tc,一个T为一个步长,一个控制周期的步数总数为Tc/T,启动定时器,开***中断;
b.一个控制周期的起始,设置各通道参数,包括输出极性、相移Ps、翻转系数K、输出脉冲数,通过设置上述4个通道参数,输出伺服所需的控制脉冲;同时步数计数清零,根据通道极性初始化GPIO;
c.判断步长计数是否等于步数总数,若是则进入步骤g,若不是则MCU执行其他任务,等待到达步长时间T进入中断任务;
d.以中断查询的方式判断各个通道在该时刻是否需要进行电平的翻转,若需要则进入步骤e,若不需要则进入步骤f;
e.翻转对应的满足翻转条件的GPIO输出管脚的电平,进入步骤f;
f.步数计数增加1,退出中断任务,进入步骤c;
g.当前的控制周期结束,进入下一控制周期。
步骤a中,所述的步数总数要满足以下条件:设置定时步长和控制周期时使步数总数为一个控制周期内输出伺服脉冲数的最大值的4倍以上的偶数。定时步长T远大于MCU的指令周期以避免***频繁被中断而影响其他任务的执行,步数总数Tc/T应为一个控制周期内输出伺服脉冲数的最大值的4倍以上,越大则输出脉冲的均匀误差越小,在***设置时步数总数Tc/T设为偶数也能减少误差。
步骤b中,所述的翻转系数K的计算方法是:翻转系数K等于步数总数除以2倍的该通道设定输出脉冲数,只保留整数结果。翻转系数K实质为每个通道的电平翻转间隔,其基本单位是定时步长T,每个脉冲需要两次翻转,因此,翻转系数K等于步数总数除以2倍的该通道设定输出脉冲数,结果只保留整数。相移Ps以定时步长T为基本单位将通道脉冲输出的起始点进行相位偏移,产生相移可调的脉冲输出。
步骤b中,所述的根据通道极性初始化GPIO具体为:若通道输出极性为正,则GPIO初始为低电平,反之GPIO初始为高电平。GPIO为MCU的通用输入输出管脚,一个GPIO口可以对应输出一个通道的伺服脉冲,本发明的方法对输出脉冲的通道数没有限制,只要MCU的GPIO管脚数量满足所需的脉冲数即可,因此选择MCU时需要对GPIO管脚数有要求。
步骤c中,所述的MCU,其运行任务的时间基准是以定时步长为单位的步数计数方式。该方式中时钟不暂停从而保证***运行时序的精确性。
步骤d中,所述的以中断查询的方式判断各个通道在该时刻是否需要进行电平的翻转,其判断方法为各通道翻转系数K能否整除当前步数计数Cs与对应通道的相移Ps的和,若能够整除则需要进行电平的翻转,反之则不需要。
本发明与现有技术相比,具有如下优点和有益效果:
1、只需一个中断定时器即可完成多通道的伺服脉冲输出,满足多路均匀伺服脉冲发生的需求。
2、缩短数据传输环节,减少了控制命令的时延,以一个时间为参考基准,精确地驱动***任务,有效提高了***的时效性。
3、在通用的MCU上实现,简化***结构,节约开发成本。
4、在***的每一个控制周期都能调整各通道的脉冲输出形式,使得对伺服的控制更加精确,这是采用普通MCU方法用定时器输出所做不到的。
附图说明
图1为本发明所述的一种基于MCU的多通道均匀伺服脉冲生成方法的流程图;
图2为多通道均匀脉冲生成的实例示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1,一种基于MCU的多通道均匀伺服脉冲生成方法,包含以下顺序的步骤:
a.***初始化时设置MCU自动装载定时器中断定时时长T,设置控制周期Tc,一个T为一个步长,一个控制周期的步数总数为Tc/T,本实施例的步数总数为12、通道数设为4,启动定时器,开***中断;
所述的步数总数要满足以下条件:设置定时步长和控制周期时使步数总数为一个控制周期内输出伺服脉冲数的最大值的4倍以上的偶数;
b.一个控制周期的起始,设置各通道参数,包括:输出极性、相移Ps、翻转系数K、输出脉冲数,步数计数清零,根据通道极性初始化GPIO;
所述的翻转系数K的计算方法是:翻转系数K等于步数总数除以2倍的该通道设定输出脉冲数,只保留整数结果;
所述的根据通道极性初始化GPIO具体为:若通道输出极性为正,则GPIO初始为低电平,反之GPIO初始为高电平;
c.判断步长计数是否等于步数总数,若是则进入步骤g,若否则MCU执行其他任务,等待到达步长时间T进入中断任务;
所述的MCU,其运行任务的时间基准是以定时步长为单位的步数计数方式;
d.查询各通道翻转系数K能否整除当前步数计数Cs与对应通道的相移Ps的和,若是则进入步骤e,若否则进入步骤f;
所述的以中断查询的方式判断各个通道在该时刻是否需要进行电平的翻转,其判断方法为各通道翻转系数K能否整除当前步数计数Cs与对应通道的相移Ps的和,若能够整除则需要进行电平的翻转,反之则不需要;
e.翻转对应的满足翻转条件的GPIO输出管脚的电平,进入步骤f;
f.步数计数增加1,退出中断任务,进入步骤c;
g.当前的控制周期结束,进入下一控制周期。
通道0参数:极性为负、相移Ps=0、翻转系数K=2、输出脉冲数为3,通道1参数:极性为正、相移Ps=0、翻转系数K=2、输出脉冲数为3,通道2参数:极性为正、相移Ps=1、翻转系数K=2、输出脉冲数为3,通道3参数:极性为正、相移Ps=0、翻转系数K=3、输出脉冲数为2,由图2可清晰看见通道参数对输出脉冲的控制作用。
***的下一个控制周期之初,各通道参数得到新的赋值,进行新的控制周期。MCU在每个定时步长T的时刻,查询各个通道的翻转系数和当前步数计数运算的结果,符合翻转条件的通道其输出电平得到翻转。
进一步的,使用目前新出的高性能MCU处理器,如STM32系列中以Cortex-M3、Cortex-M4为内核的处理器,其主频能达100M以上,这样使得步数总数更大,得到的脉冲输出更加均匀。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (6)

1.一种基于MCU的多通道均匀伺服脉冲生成方法,其特征在于,包含以下顺序的步骤:
a.***初始化时设置MCU自动装载定时器中断定时时长T,设置控制周期Tc,一个T为一个步长,一个控制周期的步数总数为Tc/T,启动定时器,开***中断;
b.一个控制周期的起始,设置各通道参数,包括输出极性、相移Ps、翻转系数K、输出脉冲数,通过设置上述4个通道参数,输出伺服所需的控制脉冲;同时步数计数清零,根据通道极性初始化GPIO;
c.判断步长计数是否等于步数总数,若是则进入步骤g,若不是则MCU执行其他任务,等待到达步长时间T进入中断任务;
d.以中断查询的方式判断各个通道在该时刻是否需要进行电平的翻转,若需要则进入步骤e,若不需要则进入步骤f;
e.翻转对应的满足翻转条件的GPIO输出管脚的电平,进入步骤f;
f.步数计数增加1,退出中断任务,进入步骤c;
g.当前的控制周期结束,进入下一控制周期。
2.根据权利要求1所述的基于MCU的多通道均匀伺服脉冲生成方法,其特征在于,步骤a中,所述的步数总数要满足以下条件:设置定时步长和控制周期时使步数总数为一个控制周期内输出伺服脉冲数的最大值的4倍以上的偶数。
3.根据权利要求1所述的基于MCU的多通道均匀伺服脉冲生成方法,其特征在于,步骤b中,所述的翻转系数K的计算方法是:翻转系数K等于步数总数除以2倍的该通道设定输出脉冲数,只保留整数结果。
4.根据权利要求1所述的基于MCU的多通道均匀伺服脉冲生成方法,其特征在于,步骤b中,所述的根据通道极性初始化GPIO具体为:若通道输出极性为正,则GPIO初始为低电平,反之GPIO初始为高电平。
5.根据权利要求1所述的基于MCU的多通道均匀伺服脉冲生成方法,其特征在于,步骤c中,所述的MCU,其运行任务的时间基准是以定时步长为单位的步数计数方式。
6.根据权利要求1所述的基于MCU的多通道均匀伺服脉冲生成方法,其特征在于,步骤d中,所述的以中断查询的方式判断各个通道在该时刻是否需要进行电平的翻转,其判断方法为各通道翻转系数K能否整除当前步数计数Cs与对应通道的相移Ps的和,若能够整除则需要进行电平的翻转,反之则不需要。
CN201510153363.3A 2015-04-01 2015-04-01 一种基于mcu的多通道均匀伺服脉冲生成方法 Expired - Fee Related CN104898474B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510153363.3A CN104898474B (zh) 2015-04-01 2015-04-01 一种基于mcu的多通道均匀伺服脉冲生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510153363.3A CN104898474B (zh) 2015-04-01 2015-04-01 一种基于mcu的多通道均匀伺服脉冲生成方法

Publications (2)

Publication Number Publication Date
CN104898474A CN104898474A (zh) 2015-09-09
CN104898474B true CN104898474B (zh) 2017-12-01

Family

ID=54031192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510153363.3A Expired - Fee Related CN104898474B (zh) 2015-04-01 2015-04-01 一种基于mcu的多通道均匀伺服脉冲生成方法

Country Status (1)

Country Link
CN (1) CN104898474B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105911921B (zh) * 2016-06-16 2019-03-05 西安科技大学 一种基于52系列单片机的多路舵机控制方法
CN108310544A (zh) * 2018-01-31 2018-07-24 广东顺德工业设计研究院(广东顺德创新设计研究院) 注射泵控制设备、方法以及装置
CN109884601B (zh) * 2018-12-28 2023-05-05 中国航天科工集团八五一一研究所 基于等阶跳转技术的雷达脉冲快速搜索方法
CN114326502A (zh) * 2021-12-27 2022-04-12 江苏亿控智能装备有限公司 双通道伺服脉冲信号逻辑控制算法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201107638Y (zh) * 2007-11-30 2008-08-27 上海奈凯电子科技有限公司 数控机床***中的多功能脉冲计数处理装置
CN102130640A (zh) * 2011-01-25 2011-07-20 南京雪曼机电科技有限公司 多轴同步伺服驱动***及其同步控制方法
CN102176112A (zh) * 2010-11-29 2011-09-07 江苏林洋电子股份有限公司 Mcu内置rtc实现时钟精确计时的方法
CN202513862U (zh) * 2012-03-26 2012-10-31 杨志军 一种电机控制驱动电路
CN102811012A (zh) * 2012-07-20 2012-12-05 华中科技大学 基于fpga的多轴伺服电机电流环控制***及控制方法
CN102857166A (zh) * 2012-08-03 2013-01-02 武汉理工大学 基于串行通信的8轴同动步进电机控制***
CN103197577A (zh) * 2012-01-06 2013-07-10 沈阳新松机器人自动化股份有限公司 机器人控制器脉冲同步调整方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5690545B2 (ja) * 2010-10-06 2015-03-25 ルネサスエレクトロニクス株式会社 電源装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201107638Y (zh) * 2007-11-30 2008-08-27 上海奈凯电子科技有限公司 数控机床***中的多功能脉冲计数处理装置
CN102176112A (zh) * 2010-11-29 2011-09-07 江苏林洋电子股份有限公司 Mcu内置rtc实现时钟精确计时的方法
CN102130640A (zh) * 2011-01-25 2011-07-20 南京雪曼机电科技有限公司 多轴同步伺服驱动***及其同步控制方法
CN103197577A (zh) * 2012-01-06 2013-07-10 沈阳新松机器人自动化股份有限公司 机器人控制器脉冲同步调整方法及装置
CN202513862U (zh) * 2012-03-26 2012-10-31 杨志军 一种电机控制驱动电路
CN102811012A (zh) * 2012-07-20 2012-12-05 华中科技大学 基于fpga的多轴伺服电机电流环控制***及控制方法
CN102857166A (zh) * 2012-08-03 2013-01-02 武汉理工大学 基于串行通信的8轴同动步进电机控制***

Also Published As

Publication number Publication date
CN104898474A (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
CN104898474B (zh) 一种基于mcu的多通道均匀伺服脉冲生成方法
CN103984275B (zh) 一种基于fpga的通用工业运动控制***及基于该运动控制***的控制方法
CN103744356A (zh) 一种基于dsp/fpga动态可配置的机床智能控制器及控制方法
CN102830641B (zh) 三轴全自动高速点胶机器人伺服控制***
CN102130640A (zh) 多轴同步伺服驱动***及其同步控制方法
CN110842920B (zh) 一种单处理芯片的控驱一体***架构
WO2017049771A1 (zh) 一种基于伺服的主从位置同步控制***及方法
CN103197577B (zh) 机器人控制器脉冲同步调整方法及装置
CN102163045B (zh) 基于arm9嵌入式***及cpld的六轴联动控制的方法
CN205958980U (zh) 工业机器人六轴运动控制器
CN105892412A (zh) 基于自定义总线的多轴运动控制***硬件架构
CN107203177A (zh) 一种基于fpga的多轴运动控制***
CN105824270A (zh) 多轴运动控制器及其闭环pwm脉冲的控制方法
CN100365615C (zh) 反相器控制用半导体装置
CN108469730A (zh) 一种基于均值耦合的多电机固定时间自适应滑模控制方法
CN104793568A (zh) 多轴插补方法
CN103838183A (zh) 一种数控***及其输出控制方法
CN204374726U (zh) 一种基于b样条曲线高速实时插补的数控***
CN105373109B (zh) 一种Delta机器人驱控***
TWI556075B (zh) The system and method of thermal deformation correction for CNC machine
CN201611443U (zh) 数字伺服刀塔控制器
CN204480055U (zh) 用于非晶合金带材生产的喷嘴包多电机控制***
CN110442019A (zh) 前馈伺服控制方法、交流伺服***和可读存储介质
Zheng et al. Design and implementation of the CNC monitoring system based on Internet of Things
CN113741311A (zh) 具有子周期高频处理功能的总线控制***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171201