CN104898474A - 一种基于mcu的多通道均匀伺服脉冲生成方法 - Google Patents
一种基于mcu的多通道均匀伺服脉冲生成方法 Download PDFInfo
- Publication number
- CN104898474A CN104898474A CN201510153363.3A CN201510153363A CN104898474A CN 104898474 A CN104898474 A CN 104898474A CN 201510153363 A CN201510153363 A CN 201510153363A CN 104898474 A CN104898474 A CN 104898474A
- Authority
- CN
- China
- Prior art keywords
- mcu
- control cycle
- pulse generation
- passage
- generation method
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/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处理,得到的具体命令交由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的和,若能够整除则需要进行电平的翻转,反之则不需要。
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 true CN104898474A (zh) | 2015-09-09 |
CN104898474B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105911921A (zh) * | 2016-06-16 | 2016-08-31 | 西安科技大学 | 一种基于52系列单片机的多路舵机控制方法 |
CN108310544A (zh) * | 2018-01-31 | 2018-07-24 | 广东顺德工业设计研究院(广东顺德创新设计研究院) | 注射泵控制设备、方法以及装置 |
CN109884601A (zh) * | 2018-12-28 | 2019-06-14 | 中国航天科工集团八五一一研究所 | 基于等阶跳转技术的雷达脉冲快速搜索方法 |
CN114326502A (zh) * | 2021-12-27 | 2022-04-12 | 江苏亿控智能装备有限公司 | 双通道伺服脉冲信号逻辑控制算法 |
Citations (8)
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实现时钟精确计时的方法 |
US20120086416A1 (en) * | 2010-10-06 | 2012-04-12 | Renesas Electronics Corporation | Power supply device |
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 | 沈阳新松机器人自动化股份有限公司 | 机器人控制器脉冲同步调整方法及装置 |
-
2015
- 2015-04-01 CN CN201510153363.3A patent/CN104898474B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201107638Y (zh) * | 2007-11-30 | 2008-08-27 | 上海奈凯电子科技有限公司 | 数控机床系统中的多功能脉冲计数处理装置 |
US20120086416A1 (en) * | 2010-10-06 | 2012-04-12 | Renesas Electronics Corporation | Power supply device |
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轴同动步进电机控制系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105911921A (zh) * | 2016-06-16 | 2016-08-31 | 西安科技大学 | 一种基于52系列单片机的多路舵机控制方法 |
CN105911921B (zh) * | 2016-06-16 | 2019-03-05 | 西安科技大学 | 一种基于52系列单片机的多路舵机控制方法 |
CN108310544A (zh) * | 2018-01-31 | 2018-07-24 | 广东顺德工业设计研究院(广东顺德创新设计研究院) | 注射泵控制设备、方法以及装置 |
CN109884601A (zh) * | 2018-12-28 | 2019-06-14 | 中国航天科工集团八五一一研究所 | 基于等阶跳转技术的雷达脉冲快速搜索方法 |
CN109884601B (zh) * | 2018-12-28 | 2023-05-05 | 中国航天科工集团八五一一研究所 | 基于等阶跳转技术的雷达脉冲快速搜索方法 |
CN114326502A (zh) * | 2021-12-27 | 2022-04-12 | 江苏亿控智能装备有限公司 | 双通道伺服脉冲信号逻辑控制算法 |
Also Published As
Publication number | Publication date |
---|---|
CN104898474B (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102130640B (zh) | 多轴同步伺服驱动系统及其同步控制方法 | |
CN104898474A (zh) | 一种基于mcu的多通道均匀伺服脉冲生成方法 | |
CN202094830U (zh) | 多轴同步伺服驱动系统 | |
CN103490678B (zh) | 主从机同步控制方法及系统 | |
CN103801973B (zh) | 基于伺服刀架控制器的伺服电机的优化控制方法 | |
CN101789742B (zh) | 电动机速度控制装置 | |
CN102298359B (zh) | 一种数控系统中加减速过渡平滑控制方法 | |
CN103197577B (zh) | 机器人控制器脉冲同步调整方法及装置 | |
CN104796048B (zh) | 一种交流电机电流环并行数字控制实现方法 | |
CN107203177A (zh) | 一种基于fpga的多轴运动控制系统 | |
CN104753406A (zh) | 一种多电机协同控制方法 | |
CN105824270A (zh) | 多轴运动控制器及其闭环pwm脉冲的控制方法 | |
US20190086885A1 (en) | Motor drive system, motor control system, and self-propelled robot | |
CN103008772B (zh) | 一种剪板机或折弯机后挡料的定位方法以及定位系统 | |
CN104518716A (zh) | 一种小型直流电动机闭环控制系统及该系统的控制方法 | |
CN103441711B (zh) | 一种实现平面运动的伺服或步进电机控制系统及控制方法 | |
CN102857170A (zh) | 多电机同步控制系统 | |
CN105988416A (zh) | Cnc工具机的热变位补正系统及方法 | |
TWI556075B (zh) | The system and method of thermal deformation correction for CNC machine | |
CN104300844A (zh) | 多电机同步控制系统 | |
CN110442019A (zh) | 前馈伺服控制方法、交流伺服系统和可读存储介质 | |
CN203554338U (zh) | 一种实现平面运动的伺服或步进电机控制系统 | |
CN202083935U (zh) | 一种活塞环内外圆同时仿形车铣组合机床电气系统 | |
CN107263831A (zh) | 可用于注塑机伺服关模的控制系统及方法 | |
CN102253656A (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 |