步进电机多轴联动DSP控制系统研究_图文

第 %& 卷第 ) 期 ?测试与控制? -..) 年 / 月

机电产品开发与创新
!"#"$%&’"() * +((%#,)-%( %. ’,/0-("12 * "$"/)1-/,$ &1%34/)5

!"#$%&’("$) *+,$’-..)

步进电机多轴联动 2*3 控制系统研究
许贤泽,喻 佳,张立英
( 武汉大学 电子信息学院,湖北 武汉

B=??CV)



要:本文论述了用数字信号处理器 &’( 实现步进电机多轴联动的控制方法。介绍步进电机的驱动控制 和 &’( 的 ()* 脉 宽 调 制 原 理 ,详 细 阐 述 了 &’( 实 现 步 进 电 机 的 加 减 速 控 制 问 题 。 实 验 表 明 用

&’( 实现步进电机的多轴联动控制比较简单且灵活。
关键词:步进电机;&’(;()*;加减速控制 中图分类号:;:=C= 文献标识码:D 文章编号:7??>SEEC= ( >??F)?FS77?S?=

.

引言
步进电机作为执行元件,是机电一体化的关键产品之

脉冲发生器根据指令可发出频率从数十赫兹到几万 赫兹左右的连续脉冲电压,它是一个可变脉冲频率生成 电路。脉冲分配器根据指令把脉冲按一定的逻辑关系加 到功率放大器上,它决定了各相绕组的通断次序。功率 放大器从脉冲分配器输出的电流很小,不能直接驱动步 进电机,因此,要将信号进行放大再驱动步进电动机。 现在市场上出现了很多步进电机的专用控制集成电 路芯片,使步进电机的驱动变得很方便和简单。脉冲发 生器就成了面向控制的主要单元了,利用 !9: 可以很方 便的产生脉冲信号
6=8

一,广泛应用在各种自动化控制系统中。步进电机和普通 电机的区别主要就在于其脉冲驱动形式的灵活,因此可以 和现代的数字控制技术相结合。不过步进电机在控制的精 度、速度变化范围、低速性能方面都不如传统的闭环控制 的直流伺服电动机。而有些在精度不是需要特别高的场合 就可以使用步进电机。步进电机作为一种可以开环使用的 数字传动装置,有能快速起动、停止,转速与输入时钟频 率成正比,能实现精确定位及直接接受数字量等特点
678





( >) 利 用 ;<9=>?@A>B?CD 实 现 的 脉 冲 发 生 信 号 。

由于超大规模集成电路技术的迅速发展, !9: 的性 价比得到很大提高,使得 !9: 在电机控制领域的应用越 来越广泛。 ;<9=>?@A>B?CD !9: 是一款专业面向电机控 制的芯片
6>8

;<9=>?@A>B?CD 带有功能强大的通用 + L J 口 和 :M< 输
出功能,能同时输出 7E 路的 :M< 波形,改变 :M< 的 频率可实现步进电机的精确定位和速度控制。

,它具有以下特点: ! 具有硬件乘法器及采

>B?CD 中 有 两 个 事 件 管 理 器 ( IN) 单 元 , 每 个 IN
中又有两个通用定时器,可以为各种操作提供时间基 准。每个通用定时器中又包含以下几种模块
6B8

用改进的哈佛结 构 ,支 持 高 速 指 令 周 期 和 单 周 期 乘 法 ,

7E 位 定 点 !9: 内 核 的 运 算 速 度 达 到 B? <+:9; " 片 上 FBB 字 双 口 GD<, >H 字 的 单 口 GD<, =>H 字 的 片 上 A$,50 II:GJ<;# 外设包括 7 个专用于电机控制的事件
管理器、> 个 K 路 7? 位 D L ! 变换器、7 个看门狗定时器、

O!7E 位

通用定时器增减计数器 ;PQR;; "7E 位通用定时器比较 寄存器 ;PQ<:G; #7E 位通用定时器周期寄存器 ;P:G;

$7E 位通用定时器控制寄存器 ;PQJR。
写相应的 ;PQJR 67>S778 设定计数模式:停止 L 保持 模式、连续增计数模式、定向增减计数模式、连续增减 计数模式。先 向 ;P:G 赋 值 ,设 定 脉 冲 的 周 期 ,然 后 向

7 个串行通信接口、 7 个串行外设接口和 B 个 K 位共 =>
路 + L J 口。因此本系统采用该芯片作为主要开发器件。

% 2*3 对步进电机的控制
( 7)步进电机的驱动控制。步进电机是由专门的驱 动电源供电的,驱动控制电路包括脉冲发生器、脉冲分 配器和功率放大器。
收稿日期: -..)0.%01% 作者简介: 许贤泽 ( ,男 ,教 授 , 博 士 。 主 要 从 事 精 !"#$% ) 密机械设计与控制研究。

;PQ<:G 赋值,就可以得到占空比从 ? 到 7??T 的脉冲信
号。连续增减计数模式下的 :M< 产生原理如图 7 所示。 利用 IN, :M< 的输出控制极为方便,它有以下一 些 特 性 :!可 根 据 电 机 频 率 变 动 的 需 要 快 速 的 改 变

:M< 的载波率;" 可根据电机的需要快速改变 :M< 的
脉冲宽度; # 功率驱动的保护中断; $ 由于比较和周期 寄存器的自动重载,使 Q:U 的负担最小。

77?

?测试与控制 ?

!"#$% 9+,-: ;$%"3<= /3#;’%$ #’107 !"#$% &’()$

!"#$% 9+,-: ;$%"3<?

加速:先比较剩下的步数。 ! C1$;T’00C1$;,这种情 况下无匀高速运动段,只有加速和减速段,则直接跳到
@$(3’<$< 03#; 2’()$ A%$’1$% 17’6 ;$%"3<

“ 减速” ; " C1$;U’00C1$;,然 后 比 较 C;$$<U7"87C;$$<, 则 说明加速已完成,直接跳到 “ 高速” ;否则就将下一个脉 冲 的 C;$$<QC;$$<B’00C;$$< . C;$$<, 周 期 寄 存 器 !=+@Q

*+,- . !*/-+ ’01"2$ (34 56’01"2$ *+,- . !*/-+ ’01"2$ 7"87

>01"2$

/LO . ?RC;$$<, 比 较 寄 存 器 !=/-+@ Q!?+@ . ?, C1$; SS ,
B /3#;’%$ #’107$C

图!

增减计数模式下产生 "#$ 原理图

加速”继续执行。 ’00C1$;BB。执行这一步,跳到 “ 高 速 : 首 先 把 C;$$<Q7"87C;$$< , 比 较 剩 下 的 步 数

%&’(! "#$ )*+,*+ &- ., / 012- 31*-+&-’ $1045 对于步进电机来说,其运行的速度与脉冲的频率成 正比,频率越高,运行的速度越快。所以对用 DE+ 控制 而言,由于一次计数周期中,只含有一个脉冲,所以只 需要改变 +,- 的载波率,即改变周期寄存器 !*+@ 的值 来实现频率的变化。所以理论上,我们可以得到频率连 续变化的脉冲信号;而许多其它的控制器仅能对脉冲进 行分频或倍频操作,得到的是离散变化的频率。 ( F)步进电机的加减速控制原理。步进电机的最高启 动速度一般要比最高运行速度低很多,所以直接按最高运 行速度启动将产生丢步或根本不运行的情况。而对于正在 快速运行的步进电机,若在到达终点附近,立即停发脉 冲,令其立即锁定,也很难实现,由于旋转系统的惯性, 会发生冲过终点的现象。因此,在控制过程中,运行速度 要有一个加速—高恒速—减速—停止的过程
GHI

C1$;Q’00C1$;, 如 果 符 合 , 说 明 步 进 电 机 要 进 入 到 减 速
段,跳到 “ 减速” ;否则 +,- 的载波 频 率 不 发 生 改 变 ,

!=+@ Q/LO . ?RC;$$<, 比 较 寄 存 器 !=/-+@ Q!?+@ . ?,
高速” 。 C1$;SS。执行完,跳转至 “ 减速:检查 C1$;QK,符合则说明步进电机已经走到 终 点 , 执 行 运 动 停 止 命 令 。 反 之 , 当 前 速 度 C;$$< Q

C;$$< S’00C;$$< . C;$$< , 下 一 脉 冲 周 期 寄 存 器 !=+@ Q /LO . ?RC;$$<, 比 较 寄 存 器 !=/-+@Q!?+@ . ?, C1$;SS 。
执行完,跳转至 “ 减速” 。 在上面的算法中,加速段相邻的两个脉冲之间所带 来的速度变化: 后)SC;$$< ( 前) !2QC;$$< (

QC;$$<B ’00C;$$< SC;$$<Q ’00C;$$< C;$$< C;$$<
而相邻的两个脉冲之间的时间间隔是可以算出来 的: 前 : B = !=+@ ( 后) !1Q F !=+@ (



步进电机的加减速控制有多种形式,常用的有按指 数曲线和按匀加减速直线规律安排加减速。理想的加速 曲线一般为指数曲线,但是实现起来比较繁琐。而直线 加减速平稳性较好,适用在速度变化范围较大的快速定 位中,编程实现简单
GJI

?

?



/LO Q F /LO B = " /LO H C;$$< H C;$$<B ’00C;$$< C;$$< C;$$<
从 而 速 度 变 化 率 !2 " ’00C;$$< Q 常 数 , 可 以 看

( H) 用 !-EF?KLM?HKN> DE+ 实 现 加 、 减 速 。 对 步 进电机的加、减速控制常用的是查表法。就是将相邻脉 冲之间的时间间隔放入一张表中,每发一个脉冲就依次 从表中取出相应的延时数据,从而使步进电机实现变 速。查表法控制简单,但在速度精度要求很高的情况 下,延时表很大,并且控制不够灵活,在最大速度或者 加速度改变以后都要修改延时数据表,运算量很大。在 本系统中,利用 DE+ 的运算速度快的特点,通过软件编 程计算,将步进电机的速度逐一个脉冲的改变,在控制 上灵活性很大。 用通用定时器 A+= 提供时间基准,设定 DE+ 时钟频 率为常数 /LO,用连续增减计数模式产生 +,- 脉冲,脉 冲占空比为 JKP ,即 !=/-+@Q!?+@ . ?。步进电机在运行 过程中的速度设为变量 C;$$<,运行的总距离即步数为常数

!1

/LO

出,是按匀加减速直线规律来控制步进电机的。 ( J) 多 轴 的 步 进 电 机 DE+ 控 制 。 !-EF?KLM?HKN>

DE+ 中一共有 H 个通用定时器 A+,而且是分别独立的,
所 以 ,采 用 如 ( H)中 的 方 式 最 多 可 以 控 制 H 个 轴 , 每 轴可以输出脉冲和方向信号,以控制电机的运转。 H 个 轴可以独立运用,也可以两轴联动、三轴联动甚至四轴 联动。建立一个运动函数库,包括单轴的点位运动和连 续运动,多轴的点位运动和连续运动及多轴的插补运动。 以 VW 两轴的联动插补为例。系统硬件设计接口如 图 ? 所示。通过 5 . X 复用口 5X+Y* 给步进电机提供选通 信号 ( Z[>YLZ) 和 方 向 ( D5@) 信 号 , 利 用 A+= 和

A+? 的 +,- 脉 冲 分 别 控 制 V 轴 和 W 轴 方 向 的 步 进 电
机。软件上,通过插补运算,判 断 出 BV, SV, BW, SW 四个进给方向后,对 A+= ( 或 A+?)进行中断,允许通 用 定 时 器 A+= ( 或 A+?) 比 较 输 出 , 选 定 V 轴 ( 或W 轴) ,然 后 给 5X+Y* 写 相 应 的 控 制 字 ,使 步 进 电 机 沿 预

C1$;,记录加速步数初始 ’00C1$;QK。软件实现算法如下:
启 动 : 首 先 C;$$<Q(34C;$$< , 然 后 计 算 并 赋 值 周 期 寄 存 器 !=+@Q/LO . ?RC;$$< , 同 时 赋 值 !=/-+@Q!?+@ .

?,步进电机走过一步,C1$;SS,同时 ’00C1$;BB 。

===

?测试与控制?

灵活,此外,还可以结合 $&()*+ ,-*.+/0 ’(" 的外围
3U0T,3 4O"T+ 4O"T6 $6"%& 4O"T* 4O"T) $*"%& $&()*+,-*.+/0 3U0T,3 ’4K ($3" 4U V 轴步
进电机

’4K ($3" 4U

; 轴步
进电机

器件如模数转换器 0’1、正交编码器脉冲电路 23"、串 行 通 信 接 口 (14 等 , 使 得 整 个 系 统 功 能 更 加 强 大 。 用

’(" 作 为 微 控 制 器 ,已 经 广 泛 代 替 了 传 统 的 微 控 制 器 ,
成为控制领域发展的潮流。 参考文献:
567 黄 杨 晖 , 等 8’(" 在 电 机 控 制 系 统 中 的 应 用 与 研 究 597 8 仪 器 仪
表学报, *++) , :8

图?

两轴联动的 9-: 与步进电机控制接口框图

@3AB? C’" &()+%(, 3)+"%0$&" <"+>"") 9-: $)8 +>(4$5"# #+"6 /(+(% 定判断的方向走。在 !"# 没有中断响应的时候,所对应 的 $#"%& 没 有 脉 冲 输 出 , 此 时 步 进 电 机 停 止 。 由 于

5*7 刘和平,等 8$&()*+,-*.+; ’(" 结 构 、 原 理 及 应 用 5&7 8 北 京
航空航天大学出版社, *++* , .8

5)7 徐 锡 胜 8 常 用 电 机 微 控 制 器 之 比 较 597 8 单 片 机 与 嵌 入 式 系 统 应
用, *++* , :8

’(" 自身的运算速度和指令响应速度很快,所以插补过
程中几乎没有延时,两轴是近乎连续的运动。

5.7 $<#=> 4?>@ABC<?@>8$&()*+-*.+ ’(" 1D?@ADEE<A> 3F=EB=@GD? &DHBE< $<IJ K<L<A<?I<86MMM , /8 5N7 $<#=> 4?>@ABC<?@>8$&()*+1*# OP@GCGQG?R 1 1DCPGE<A S><A’ > !BGH<8 6MMM , :8

!

结论
利用 ’(" 来对步进电机进行控制,实现简单,控制

!"#"$%&’ () *()+%(, -.#+"/ (0 12,+34 $5"# -+"6 1(+(% 7$#"8 () 9-:
!" !#$%&’( ,) " *#$,’+, -. /#&) #%0
( !"#$%&’()$* +(,’&-.%)’( /$0’’"1 230.( 4()5#&*)%61 230.( 738#)

9:;;<= ,>0)(. )

;<#+%$&+ :? -#%0’@ ’, $’(%&’" *6*%#- ’, -3"%)A.B#* *%#C -’%’& 8.*#@ ’( D/E )* @)*$3**#@ )( %0)* C.C#&F +(%&’@3$# %0# @&)5# $’(%&’" ’, *%#C -’%’& .(@ %0# E2G C&)($)C"# ’, D/E1 . @#%.)"#@ @)*$3** ’( .$$#"#&.%# .(@ @#$#"#&.%# $’(%&’" ’, *%#C -’%’& ."*’ )($"3@#F H0# #BC#&)-#(% )(@)$.%# %0.% 3*# D/E %’ $’(%&’" -3"%)A.B#* *%#CC#& )* /)-C"# .(@ ,"#B)8"#F =". >(%8#:*%#C -’%’& ;D/E;E2G;.$$#"#&.%# .(@ @#$#"#&.%# $’(%&’"

( 上接第 N:: 页) 误差可接 近 6*W ,计 算 稍 差 。但 这 个 计算结果仍然有参考价值。

合的最大过盈量 ( 。 CC)

"

结束语
用简化公式 ( 、 ( 、 ( 计算铜套内径的收缩量很 6) *) ))

! 铜套装入铸铁孔座的内孔收缩量简化计算
铜套装入孔座在维修工作中经常遇到,孔座多采用 铸铁制造,且结构刚性一般较好,其变形量可以不予考 虑。铜套在被压入孔座的过程中,内孔必然产生径向收 缩,经实 践 ,铜 套 在 压 入 孔 座 前 后 长 度 尺 寸 没 有 变 化 。 根据塑性力学中体积不变定律可得,当铜套长度尺寸不 变时,其截面相等。基于这一理论得到铜套内孔收缩量 的经验公式:

方便,不过使用前要注意不同的前提条件。总之有了对 铜套内径收缩量的计算,使我们在安装工作中省去许多 麻烦,以上提出的计算方法可用于实际生产,根据实际 情况选择计算公式,以达到不同情况下的要求。 参考文献:
机械工业出版社, 567 张春林 8 机械创新设计 5&78 北京: 6MMM8 曲玉峰 8 机械设计基础 5&78 北京: 机械工业出版社, 5*7 李秀珍, 6MM*8 清华大学出版社, *++68 5)7 郭仁生 8 机械设计基础 5&78 北京: 机械工业出版社, 5.7 龙振宇 8 机械设计 5&78 北京: *++*8 高等教育出版社, 6M:.8 5N7 华大年 8 机械原理 5&78 北京:

!X ’ !’C=# H

( ))

式 中 : !—铜 套 内 孔 收 缩 量 ( ; ’—铜 套 外 径 CC) ( ; H—铜套内径 ( ; !’C=#—铜套外径与内径配 CC) CC)

-’%3)D$A" *$,&2,$+3)A (0 *(66"% -’"$+’3)A ;0+"% :%"##"8 3) E))"% 7(%"
."1 +$#&*2% I/0.(@’(J !"#$%&)$ E’K#& H38)(J L)&-1 H.).( /0.(@’(J M<NMMM1 >0)(.O ;<#+%$&+ : H0# )((#& 8’&# ’, $’CC#& *0#.%0)(J -.6 @)-)()*0 .,%#& )% )* C&#**#@F H0# C.C#& &.)*#* . -#%0’@ ’, *)-C"),)#@ $."$3".%)’( )( ’&@#& %’ J3.&.(%## $"#.&.($# ,)% 8#%K##( $’CC#& *0#.%0)(J .(@ *0.,%F =". >(%8#:$’CC#& *0#.%0)(J C&#**)(J;)((#& 8’&# ;*0&)(P.J# ;*)-C"),)#@ *’"3%)’(

66*


相关文档

基于DSP的多步进电机联动控制研究
基于DSP的步进电机控制系统设计
基于DSP的步进电机控制系统
步进电机多轴运动控制系统的研究
基于DSP的多轴运动控制系统研究
基于DSP的直线步进电机控制系统的研究
基于PC的步进电机三轴联动控制系统研究
基于PC 的步进电机三轴联动控制系统研究
传感与控制-DSP和PBL3717A构成的步进电机的控制系统
DSP和PBL3717A构成的步进电机的控制系统
电脑版