一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 8321|回复: 3

连续运动轨迹插补原理

[复制链接]
发表于 2011-12-7 20:51 | 显示全部楼层 |阅读模式
连续运动轨迹控制是诸如数控机床、机器人等机械的一种典型运动方式,这种控制在本质上属于位置伺服系统。以数控机床为例,其控制目标是被加工的曲线或曲面(即轮廓),所以可称之为轮廓控制。如果将被加工的轮廓作为控制器的给定输入,在运动过程中随时根据轮廓参数求解刀具的轨迹和加工的误差,并在求解的基础上决定如何动作,其计算的实时性有难以满足加工速度的需求。因此在实际工程应用中采用的方法是预先通过手工或自动编程,将刀具的连续运动轨迹分成若干段(即数控技术中的程序段),而在执行程序段的过程中实时地将这些轨迹段用指定的具有快速算法的直线、圆弧或其他标准曲线予以逼近。加工程序以被加工的轮廓为最终目标,协调刀具运动过程中各坐标上的动作。加工程序的编制必须考虑诸多约束条件,主要有加工精度、加工速度和刀具半径等。加工程序本质上就是对刀具的连续运动轨迹及其运动特性的一个描述。所以轮廓控制又可称为连续运动轨迹控制。
+ r9 ~9 o, Q) b  f    数控技术一般以标准的格式对程序段进行描述,例如程序段“N15 G02 Xlo Y25 120 JOF125 LF”就规定了一个以(10,25)为起点,在X-Y平面上以150mm/min的进给速度顺时针加工一个半径为20mm的整圆的过程。程序段只提供了有限的提示性信息(例如起点、终点和插补方式等),数控装置需要在加工过程中,根据这些提示并运用一定的算法,自动地在有限坐标点之间生成一系列的中间点坐标数据,并使刀具及时地沿着这些实时发生的坐标数据运动,这个边计算边执行的逼近过程就称为插补(interpolation)。上述程序段中的准备/ D$ J; I3 K- A0 [
功能G02就指定了该程序段的执行要采用顺时针方向的圆弧插补。
. h6 x" M: c5 w' P    插补是一个实时进行的数据密化的过程,不论是何种插补算法,运算原理基本相同,其作用都是根据给定的信息进行数字计算,不断计算出参与运动的各坐标轴的进给指令,然后分别驱动各自相应的执行部件产生协调运动,以使被控机械部件按理想的路线与速度移动,由此,轨迹插补与坐标轴位置伺服控制是运动控制系统的两个主要环节。
' g% j- D2 K" B5 Y; q9 U3 |    插补运算是轨迹控制中最重要的计算任务,而插补计算又必须是实时的,即必须在有限的时间内完成计算任务。因此除了要保证插补计算的精度外,还要求算法简单,一般采用迭代算法,这样可避免三角函数计算,同时减少乘除及开方运算,它的运算速度直接影响运动系统的控制速度,而插补计算精度又影响整个运动系统的精度,人们一直在努力探求计算速度快同时计算精度又高的插补方法。0 a7 T- v9 V+ O8 d
    目前普遍应用的插补算法分为两大类:一是脉冲增量插补,另一是数据采样插补。本节主要介绍运动轨迹的插补原理,分别就这两大类中的一种典型的具体方法来描绘出插补的完整过程,包括插补方法及终点判别。3 k1 p9 ?: G2 p/ K) ~
    在早期的硬接线(hard-wired)数控时代,插补计算由专门的硬件数字电路完成。而当前数控技术已进入计算机数控(CNC)和微机数控(MNC)时代,插补计算趋向于由软件完成。# z: e0 n2 r3 I  m& n* D6 _

  L% v9 _7 B& U+ n; R) w
/ N7 l, H, @7 {% u0 J
' L% x7 l, b' b6 l& Z自己保存不要跟贴
 楼主| 发表于 2011-12-7 20:58 | 显示全部楼层
浅谈平板切割机中连续插补算法
# t1 B9 K- w* d1 f0 G. j5 T. N/ A9 `1 ?; X* t
浅谈平板切割机中连续插补算法5 h* o, a* ]: j" c4 G4 h
   平板切割机,在很多领域都可以用到,比较常见的就是在鞋厂,服装厂等,均可用到此设备。0 w6 U% u2 w6 Z5 b
   笔者曾经开发过一款平板切割机控制器,控制两轴步进电机,完成线条插补动作,采用了连续插补算法,在满足精度的基础上,大大提升了切割速度,同时也降低了整个系统的震动和噪声。$ {4 P* {( y5 B$ _
   插补的任务就是根据进给速度的要求,完成轮廓起点和终点之间的中间点坐标值的计算,对于轮廓控制系统,插补运算是最重要的任务。此控制器采用的插补算法为最小偏差法,此插补算法的优点如下:4 t" ~3 C, K: ]' U
   1:插补精度高。9 d+ C, c- y( S6 H- {
   2:在加工过程中,总有一个轴的速度是均匀的,所以,这对驱动系统是有好处的,同时加减速也比较容易控制。
9 o4 O5 W1 R1 m) ^) @4 F   3:由于是长轴一直在运动,而短轴根据插补线条做跟随运动,所以,在单位时间内,进给速度相对快了。
; P6 _+ o3 |: a: a9 q. T) t6 q2 @" ?( f. |$ Z1 b1 x1 b* m
基于以上优点,我们采用了最小偏差法的插补方式。( }" Y, K# ]2 ?% I& {* O0 H  T8 G! d- u
8 Y$ A+ e% [" l; ]' O. f8 d; g

1 J5 n, Y+ s* T在最小偏差插补算法的基础上,我们做了连续插补功能,所谓连续插补就是在插补当前线段的过程中,读取下一条线段的值,判断当前线段和下一条线段之间的关系,以此来决定当前线段的末速度,也就是当前线段插补结束时,插补速度有可能不降到最低,以此提高加工效率,但这又是如何实现的呢,下面我们进行分析。; h/ x8 X& M4 u$ N( p1 S

" ^  C, }6 U8 G6 A7 V# v8 u4 h  g1:当前线段和下一条线段都是长线段的情况下4 }) ]$ R( k) f  ?
   1)当前线段与下一条线段在同一象限9 r+ g! `8 a2 X2 h( Y$ J$ K- S
  --1)长轴未改变& _. K+ A& S/ N' L( T
  --2)长轴改变
$ F/ T! s9 ^& ]: L6 }   2)当前线段与下一条线段不在同一象限( E! h4 q' b$ [& I5 H# Q
      --1)当前线段与下一条线段两个轴都不在同一象限
% `2 X5 o$ ]2 H8 l7 E8 @" ~     --2)当前线段与下一条线段有一个轴在一个象限
/ u+ Y  F" b3 E2 _1 s2:当前线段为长直线,下一条线段为短线段; ?7 T- b& e. d9 ]
   1)当前线段与下一条线段在同一象限: `" z( V/ `. Y. E& j' Q
  --1)长轴未改变
/ P" }: I+ T; q  --2)长轴改变- ^3 Q$ f) Z4 R) y" k) Q  D0 w
   2)当前线段与下一条线段不在同一象限
. ~7 o+ h+ S! i& Y( X' _" o      --1)当前线段与下一条线段两个轴都不在同一象限
: c7 I# _0 O, B$ c0 C     --2)当前线段与下一条线段有一个轴在一个象限" W6 f, t" M2 Z- o! g
3:当前线段为短直线,下一条线段为长直线
/ F& y! i$ C, b   1)当前线段与下一条线段在同一象限% }0 O7 p, A1 W  L& o
  --1)长轴未改变
8 B9 I% I( @6 }7 t( [7 c: ?  --2)长轴改变
- |+ ~% `! W0 n/ R2 T   2)当前线段与下一条线段不在同一象限; q% U. n- o1 A5 ^9 ~1 M8 A
      --1)当前线段与下一条线段两个轴都不在同一象限2 a8 g- N4 w) h% I8 p
     --2)当前线段与下一条线段有一个轴在一个象限
2 V+ {" m8 f& G& S% `7 Y这几个参数是决定线段末速度的关键7 G/ J0 |( ]( w% n5 o! }$ F# I9 _
当前线段哪个轴是长轴
0 Q- H* V  w+ w4 T1 {9 W; P当前线段是长直线还是短直线
2 L1 @! y0 }' d/ }8 W; e当前线段象限) ~( U$ O/ Y- h$ j9 N
当前线段两轴比例* G7 W# Y& L3 u* w+ V, N" m
下一线段哪个轴是长轴
9 R/ P8 Z. {* n# z5 g6 S! G% ?3 t下一线段是长直线还是短直线$ P0 K" u- Z, i; E1 ?' H, ^
下一线段象限- [/ U: A" X2 W( H! `! ^2 Q
下一线段两轴比例) J/ L3 K5 H2 Z/ R) T( @5 i! l0 l
9 F) D# i% b* V
根据以上综合进行分析,我们在插补过程中,得到当前插补线段的末速度,在当前线段插补过程中,实时计算减速点,以此来得到最大的速度。
# Q/ ]% Q1 p; d5 ]- i4 J/ e, o) V' D/ C* k& K3 z& ^3 x
在整个平板切割系统中,基于处理器硬件资源,做多条线段的前瞻占用CPU资源比较严重,! `+ ^; G$ Q: Q  t+ M' r3 ?
我们只做了一条线段的连续插补,但也取得了比较好的控制效果。
回复

使用道具 举报

 楼主| 发表于 2011-12-7 21:03 | 显示全部楼层
本帖最后由 kenson 于 2011-12-7 21:05 编辑 ( q6 g! N/ g  W7 R

( x: H. V7 @4 \& A# a" E5 t5 k摘要:加减速控制是数控系统的关键技术,对提高数控系统的精度及速度有重要的意义。提出了一种步进电机三轴联动的快速加减速算法--动态查表法,该算法结合DDA 插补算法,可以用普通的单片机实现多种加减速曲线的运动控制,具有运算速度快、精度高等优点。
& X7 V) p, u) {* n. _. n7 d5 g  1 引言
" \6 \1 E, _" u9 J  步进电机具有快速启停能力强、精度高、转速容易控制的特点。但是,步进电动机应避免转动速率的突变,而且从停止到开始转动有一个较低的起动频率,随后才可以平缓地过渡到较高的转速。相应地在步进电机制动时,也应该平缓过渡。如果由于启动和停止控制不当,步进电机会出现启动时抖动和停止时过冲的现象,从面影响系统的控制精度[1][2][3]。为避免这种情况的发生,要对步进电机进行加减速控制。加减速控制是数控系统的关键技术,对提高数控系统的精度及速度有重要的意义。加减速控制也得到了广泛的研究与应用。% L2 r$ L; J2 e0 m3 h
  目前国内外步进电机加减速控制曲线主要包括三种[4]:直线型加减速速度曲线(也称为梯形曲线)、指数型加减速曲线、S 型加减速曲线。控制算法主要有查表法和插补迭代法。查表法的原理是设置一张时间间隔表,表中的每一项都对应一个转速,时间间隔按一定的规律变化 [1]。插补迭代法的原理是根据前一步的基准点速度和加、减、匀速状态来确定当前步的基准点速度[4][5]。! J# P/ w8 ?2 x
  这两种控制算法都有各自的适用范围,查表法适用于单轴的加减速控制,具有算法简单、快速的特点,但不能适用于多轴联动。插补迭代算法适用于高精度的控制,算法复杂,对处理器的要求较高,一般需要用到DSP 等高档处理器[4]。本文结合两种算法的优点,设计了一种“动态查表法”来实现三轴联动的快速加减速算法。动态查表法即有查表法简单、快速的特点,又能够用一般的单片机来实现高精度的多轴联动加减速控制。/ y7 ~5 O! Y# v6 h- ^& j& Q. D
  2 动态查表法
! ^; c" k$ T) B  E  根据线性插补原理,各插补轴的位移与速度比相等。在加减速过程中,各插补轴的速度、加速度分别与合成的速度、加速度对应成比例[5]。当对合成速度按某种加减速方法进行加减速时,各插补轴在保证空间轨迹的同时,也应按相同的加减速方法进行加减速。查表法具有简单、快速的特点,但查表法必须事先确定一张加减速的速度表格,不能按比例应用到多轴联动的场合。本文的思路是结合数字积分法,在加工某条线段前先按比例快速计算好相应的速度表格,再用查表法来完成加减速控制,即“动态查表法”。  _5 J" H6 ^1 N0 g# u+ N
  数字积分法,也称 DDA(Digital Differential Analyzer) ,它是建立在数字积分器基础上的一种插补算法,其最大特点是易于实现多坐标插补联动[6]。每一轴设置一个累加器,三轴联动需要设置三个累加器,每进行一次插补,对三个累加器分别累加。哪一轴的累加器有溢出则该轴延迟一个定时周期进给一步(注:本文中的“进给一步”代表发一次脉冲的高电平或低电平,两次“进给一步”代表一个完整的脉冲)。在实际应用中,会设定一个较大的整数N,一般是2m,本文设置的是0x8000,即215。当累加超过该数时,视为溢出。相应的,根据单片机的定时周期,加工速度将折算成两个整数用于实际的插补运算,一个整数是n,代表过n 个定时周期进给一步,另一个是dn,代表累加数,当dn 累加到达N 时,延迟一个定时周期进给一步。则:

http://www.dzsc.com/data/uploadfile/2009717162246685.jpg


( y; k; }' u  Z) \$ q* X
' _0 V9 B- N: v( e1 W3 ]  V 代表的是指定的加工速度,做加减速控制的加速过程需要将速度从起跳速度按照一定的曲线加速到V,减速过程需要将速度从V 再减到起跳速度。
$ L- [* E3 D: K+ A  本文设计了一系列速度档位,最低档位就是起跳速度,然后逐步增加到V,每档速度同时对应一个脉冲数组,及走过多少脉冲后切换到另外一个速度档位。脉冲与速度构成的曲线可以是梯形曲线、指数型加减速曲线或S 型加减速曲线。每个速度档位都按照相同的比例缩小速度V,三轴都按照相同的比例,就满足了线性插补原理,可以在保证空间轨迹的同时,各轴按照相同的加减速方法进行加减速。但计算速度档位必须在加工线段前进行,而且不能有除法运算,否则一般的单片机难以达到实时性的要求。按一定的比例缩小V 必须用到除法,要避免除法运算就只能采用移位运算来代替。由式(1)~(3)可知,k 与V 成反比,而n 和dn 分别对应k 的整数和小数部分。假设要得到V*p/q 对应的n 和dn,其中p、q 都是自然数且p<q。则k’=k*q/p,要用移位来代替除法必须p=2m,而且要争取各速度档位相对均匀。
2 F3 N* Z% w0 X' A  本文设计的速度档位因子分别是:1/16, 1/8, 1/4, 2/5,1/2, 2/3, 4/5, 8/9, 共八个档位。对精度要求高的还可以设置更多的档位。确定速度档位因子后,就可以通过一系列的移位指令来计算V*p/q 对应的n 和dn,以4/5 为例:计算步骤如下:
) g9 [4 i" E$ @  n=ctrlDatas.n*5;// ctrlDatas.n 是给定速度对应的n,*5 也可以用左移位+加法代替
  }1 H0 y: ?" L  ns[j]=n>>2;//ns[j]是每个速度档位对应的n,>>2 代表除以4
, v$ e/ j; P1 O" o/ \; l  dns[j]=(ctrlDatas.dn*5)>>2;// dns[j]是每个速度档位对应的dn
" e6 G: J# Z9 Z: }! e" ]3 f% _  dns[j]=dns[j]+((n & 0x3)<<13);//将n 的余数补充到dn" X  L% {" w' m+ P
  ns[j]+=dns[j]>>15;//将dn 对应的整数部分补充到n
6 P2 N# t8 R" q  a  dns[j]=dns[j] & 0x7FFF;//取余数
' ?1 [. l/ s+ ]; ?3 H6 a2 @  可见通过一系列的位运算和加法运算实现了各速度档位的计算,而且精度非常高。实验证明,常规的单片机完全可以达到实时性的要求。0 c9 y( D+ R4 G7 `9 ~) C
  3 动态查表算法描述
( Y6 G# R" u! ?- C  动态查表算法有两部分,一是加工前计算各档位速度vc,另一个是实时的加减速控制rtvc。
. H) R) T- b: V1 f  下面分别描述。- Z$ o6 q' d- [3 B$ t
  3.1 算法vc,用于加工线段前的预处理,计算各轴各档位速度对应的n 和dn:4 W% q) A% z0 V$ X* i5 o
  (1)求最长轴所在的索引longestIndex。本文将三轴分别编号成0,1,2,分别代表XYZ三轴,最长加工轴代表该轴加工速度最快,以该轴为基准进行加减速,其他轴同步按比例进行加减速
% v4 p! h# \  |4 W! ]  (2)如果最长加工轴的加工脉冲小于系统指定脉冲,以系统指定的低速进行加工,清除加减速标志,不进行加减速控制。算法结束,否则转第(3)步
7 C9 C4 \( i  I9 t" N# p$ f: |% U  (3)如果某轴的速度低于指定速度,该轴不进行加减速控制,全部按照指定速度进行加工。算法结束,否则转第(4)步4 t9 _' L+ s; _4 }( N0 g
  (4)按照第2 节的速度档位划分及移位算法计算各轴各档位速度对应的n 和dn。算法结束3.2 算法rtvc,用于实时加减速控制,根据发出脉冲计数进行相应的加减速控制:! x; \9 _7 X0 p0 c3 @
  (1)如果有加速标志,代表还需要进行加速控制,转第(2)步,否则转第(5)步
+ D, `# D; I" _$ u& p, O  (2)如果最长加工轴的加工脉冲超过某档位对应的脉冲数,转第(3)步,否则转第(5)步
& e8 V. |! l2 Q7 `# c  (3)如果达到最大档位,代表已经完成加速,设置各轴实时n 和dn 为指定正常加工速度V 对应的n 和dn,清除加速标志,转第(5)步。否则转第(4)步3 s* P* Y0 A; J# }
  (4)设置各轴实时n 和dn 为对应加速档位速度对应的n 和dn0 e* ?0 t; L/ e7 j
  (5)如果有减速标志,代表需要进行减速控制,转第(6)步,否则算法结束# t/ [, J( ~1 R+ Z- ~; {+ y& w
  (6)计算最长加工轴距离加工终点还有多少脉冲pulse
/ Z. v. m2 K  }6 w4 L  (7)如果PULSE 小于某档位对应的脉冲数,转第(8)步,否则算法结束
  u- D5 |8 k4 g$ H  T& x  (8)如果达到最大档位,代表已经完成减速,清除减速标志,算法结束,否则转第(9)步) t8 ?" q9 f; s* o& M
  (9)设置各轴实时n 和dn 为对应减速档位速度对应的n 和dn。
$ {3 {3 X! _, m/ q  算法结束算法 rtvc 的流程图如图1 所示,算法vc 的流程图省略。
( [1 X% g/ `$ e! X

http://www.dzsc.com/data/uploadfile/2009717162246667.jpg


& E# a! f1 K: U; o. V' p/ I( v) @7 i
. M% [! U2 X5 E% ~7 c; S+ t7 G# B  算法 vc 只需要在加工某线段前执行一次,而算法rtvc 用于实时加减速控制,需要在单片机的主循环里面反复调用,但由于调用rtvc 前速度表格已经计算好,只需查表即可,因此算法的实时性非常好。
& G: K* c6 S* g% c- i  在实际的加工程序中,除了增加以上两个算法之外,还是按照常规的DDA 算法进行积分插补,按照常规判断加工终点到达等等,不再赘述。
: `, {% r# g) a$ C, d: C& x; j/ m- C  4 总结; p( X# s" J* w  I3 E2 a
  动态查表法用到的表格有两个,一个是切换各档位速度需要走过的脉冲,另一个的各轴各档位速度对应的n 和dn。后一个表格是动态计算生成的。调整前一个表格可以实现不同的加减速曲线,因此动态查表法可以实现各种加减速曲线,根据实际加工情况自由选择,而不需要增加算法复杂度。同时,计算各档位速度对应的n 和dn 只需要进行一系列的位运算和加法运算,一般的单片机即可达到良好的实时性。! Q, `' h. k/ l1 _) a3 b/ u$ M
  动态查表法已经在数控点胶机上得到了很好的应用,实践表明,用一般的ARM 芯片完全满足了实时性和高精度的要求。动态查表法同样可以应用到其他多轴联动运动控制场合。
( _6 H! r( g- g% W, p1 X! `& N  本项目目前出于市场推广阶段,已经创造经济效益100 多万元。  c1 \% L; _) ?1 M- c
  作者创新点:本文设计的步进电机三轴联动快速加减速算法-动态查表法还没有文献记载,属作者原创。该算法可以实现不同的加减速曲线,具有简单高效的特点,用普通的单片机即可达到良好的实时性。
( G4 U) N1 }2 G
3 P& j2 _# _7 I  g3 H
- _6 Z$ W2 G* K: v3 `  来源:过往烟云
回复

使用道具 举报

 楼主| 发表于 2011-12-7 21:06 | 显示全部楼层
基于FPGA的步进电机加减速控制器的设计
, L; x. g6 y7 r( E! p% x2 P' T! Z9 P6 I0 b% R. j/ G7 f
0 引言
& C% M1 ?% n5 S( K, i  几十年来,数字技术、计算机技术和永磁材料的迅速发展,为步进电机的应用开辟了广阔的前景。由步进电机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常可靠。此外,步进电机还广泛应用于诸如打印机雕刻机绘图仪绣花机自动化仪表等。正因为步进电机的广泛应用,对步进电机的控制的研究也越来越多,在启动或加速时若步进脉冲变化太快,转子由于惯性而跟随不上电信号的变化,产生堵转或失步;在停止或减速时由于同样原因则可能产生超步。为防止堵转、失步和超步,提高工作频率,要对步进电机进行升降速控制。本文介绍一个用于自动磨边机的步进电机升降速控制器,由于考虑了通用性,它可以应用于其他场合。! M$ t4 h! z  i* `
  从步进电机的矩频特性可知,步进电机的输出转矩随着脉冲频率的上升而下降,启动频率越高,启动转矩就越小,带动负载的能力越差,启动时会造成失步,而在停止时又会发生过冲。要使步进电机快速的达到所要求的速度又不失步或过冲,其关键在于使加速过程中加速度所要求的转矩既能充分利用各个运行频率下步进电机所提供的转矩,又不能超过这个转矩。因此,步进电机的运行一般要经过加速、匀速、减速三个阶段,要求加减速过程时间尽量的短,恒速时间尽量长。特别是在要求快速响应的工作中,从起点到终点运行的时间要求最短,这就必须要求加速、减速的过程最短,而恒速时的速度最高。而以前升速和降速大多选择按直线规律,采用这种方法时,它的脉冲频率的变化有一个恒定的加速度。在步进电机不失步的条件下,驱动脉冲频率变化的加速度和步进电机转子的角加速度成正比。在步进电机的转矩随脉冲频率的上升保持恒定时,直线规律的升降速才是理想的升降速曲线,而步进电机的转矩随脉冲频率的上升而下降,所以直线就不是理想的升降速曲线。因此,按直线规律升降速这种方法虽然简单,但是它不能保证在升降速的过程中步进电机转子的角加速度的变化和它的输出力矩变化相适应,不能最大限度的发挥电机的加速性能。本系统寻求一种基于FPGA控制的按指数规律升降速的离散控制算法,经多次运行,达到预期目标。
3 F8 \9 o9 q$ h8 X2 x# B7 e  1 加减速控制算法  {: L: z2 g& R, h4 Z! M
  1.1 加减速曲线
1 S8 B' j6 ?! g) Z8 U( J0 O  本设计按照步进电机的动力学方程和矩频特性曲线推导出按指数曲线变化的升降速脉冲序列的分布规律,因为矩频特性是描述每一频率下的最大输出转矩,即在该频率下作为负载加给步进电机的最大转矩。因此把矩频特性作为加速范围下可以达到(但不能超过)的最大输出转矩来拟订升降速脉冲序列的分布规律,就接近于最大转矩控制的最佳升降速规律。这样能够使得频率增高时,保证输出最大的力矩,即能够对最大的力矩进行跟随,能充分的发挥步进电机的工作性能,使系统具有良好的动态特性。
7 t+ v& q3 B6 o% k3 o+ m0 {& m7 @  由步进电机的动力学方程和矩频特性曲线,在忽略阻尼转矩的情况下,可推导出如下方程:
7 s1 ]: M. w8 j  `) ~. L

http://www.dzsc.com/data/uploadfile/200971694330557.jpg

2 H- V7 n! z% w! V9 `, C

  式中,http://www.dzsc.com/data/uploadfile/200971694331220.jpg 为转子转动惯量,K为假定输出转矩按直线变化时的斜率,τ为决定升速快慢的时间常数,在实际工作中由实验来确定。fm为负载转矩下步进电机的最高连续运行频率,步进电机必须在低于该频率下运行才能保证不失步。(1)式为步进电机的升速特性,由此方程可绘制出电机升速曲线。(1)式表明驱动脉冲的频率f应随时间t作指数规律上升,这样就可以在较短的时间内使步进电机的转速上升至要求的运行速度。鉴于大多数的步进电机的矩频特性都近似线性递减的,所以上述的控制规律为最佳。


, f- B: [5 l9 I1 G8 N  1.2 加减速离散处理7 u/ v* Z% N  O3 e9 T2 Q' Y
  在本系统中,FPGA使用分频器的方式来控制步进电机的速度,升降速控制实际上是不断改变分频器初载值的大小。指数曲线由于无法通过程序编制来实现,可以用阶梯曲线来逼近升速曲线,不一定每步都计算装载值。0 d/ B* d9 A+ S( E% J7 a' `
  如图1所示,纵坐标为频率,单位是步/秒,其实反映了转速的高低。横坐标为时间,各段时间内走过的步数用N来表示,步数其实反映了行程。图中标出理想升速曲线和实际升速曲线。
5 R9 E/ N$ h7 Y$ P$ G8 o* b+ B) q: C

http://www.dzsc.com/data/uploadfile/200971694331247.jpg


, E8 s0 k( _% @. D0 R1 [; G8 U7 N
( }, U: K" a  y1 C  步进电机的升速过程可按以下步骤进行处理。. A5 I4 x4 e0 x8 P" s9 q/ k' Q. K
  (1)若实际运行速度为fg,从(3.4)式中可算出升速时间为:3 B8 W; X7 ^( Y9 c3 ?

http://www.dzsc.com/data/uploadfile/200971694331260.jpg
" h+ y$ t1 |8 q$ L6 i


  W: m3 x6 R. {: B( t8 z1 F
4 N3 ~2 R. j0 I" O6 O  (2)将升速段均匀地离散为n段即为阶梯升速的分档数,上升时间为tr,则每档速度保持时间为:
" j8 E! Z2 Q: O. b5 X

http://www.dzsc.com/data/uploadfile/200971694331430.jpg
! n% z: F: z6 E4 F


4 l; x8 `: r; w; T" n: Y) \6 m% x% F* c  b0 h" F3 K0 v
  程序执行过程中,对每档速度都要计算在这档速度应走的步数,然后以递减方式检查,即每走一步,每档步数减1。当减至零时,表示该档速度应走的步数己走完,应进入下一档速度。一直循环到给出的速度大于或等于给定的速度为止。减速过程与升速过程刚好相反。$ f7 a  e3 h! w1 Q
  2 频率脉冲的实现
/ k+ r0 S5 `$ ^: l# o  频率脉冲模块的核心是可控分频器,由外部的晶振产生标准频率,只要在分频器的输入端输入相应的分频系数,就可以得到所需的频率。本模块是利用VHDL硬件描述语言,通过QuartusII开发平台,使用Altera公司的FPGA,设计了一种能够满足上述各种要求的较为通用的可控分频器。图2为分频器的原理图,图3为分频器的仿真波形图。
+ {: \; ~/ e+ q0 p! j, F( @# l# Y

http://www.dzsc.com/data/uploadfile/200971694331663.jpg

3 q' W3 x' ?) ^7 I' r5 |3 R# Q+ G1 m

* o$ ?. c/ q- P6 r- F% c" c7 X4 }- F  3 结语
# c7 Q8 }1 o, e6 }+ b$ k& B. b  基于硬件描述语言VHDL设计的控制器具有开发设计周期短、风险低、系统集成度高、功耗低等优点,将是芯片设计的主流方向。开放式数控系统中,研究实现能硬件复用的加减速模块以及相关功能模块,利用可编程逻辑器件FPGA的可重构能力,能按需求灵活实现功能全定制的运动控制芯片。本文设计了自动磨边机中的指数加减速控制器。在此基础上,只需扩展相应个数的加减速模块即可实现多轴联动加减速控制。
2 r; ^6 _5 E' n' Z
) v: l0 x% K4 f: ]
8 H2 @- ^  |2 P* `, P  来源:过往烟云
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-20 12:28 , Processed in 0.036268 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表