在伺服电机的速度控制模式下,如何控制行进的距离? 点击:19023 | 回复:20



qqseven

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月04日
发表于:2004-07-23 17:34:00
楼主
伺服电机在位置控制模式下时,脉冲的频率决定了了电机的转速,脉冲的个数决定了行进的距离;在速度控制模式下时,如何实现呢? 第一次接触电机,问题幼稚,见谅!



网球

  • 精华:0帖
  • 求助:0帖
  • 帖子:31帖 | 403回
  • 年度积分:0
  • 历史总积分:522
  • 注册:2002年8月06日
发表于:2004-07-25 01:35:00
1楼
不知道你的伺服电机什么型号,我用过三菱MR-J2S做过速度控制模式,可以简单给你介绍一下,电机转速跟你的模拟量输入信号有关,一般所需模拟亮信号是-10V~~+10V之间,10V即为电机额定转速100%,OV为0%,但是电机正反转需要你通过ST1(正转开始),ST2(反转开始)这两个信号来决定,这两个信号同时有,或者同时没有电机都会停止,并且锁定。当ST1=1,ST2=0时,模拟量电压》0,电机逆时针转动,《0时候顺时针转动,=0时电机停止,反之则相反;以上即为模拟量信号控制速度,当然想用模拟量进行速度控制,SP1=0,SP2=0,SP1/SP2均为速度指令,SP1=1,SP2=0内部速度指令一,SP1=0,SP2=1内部速度指令二,SP1=1,SP2=1内部速度指令三,你可以在伺服驱动器里面设定三个内部速度,分别为驱动器参数NO8,NO9,NO10(设定范围0-100) 运转中切换速度,加减速时间常数按照NO11/NO12,11为加速时间,12为减速时间,单位ms。当然速度控制模式的定位就要需要靠你去控制模拟量来做了。速度控制模式,优点成本低因为位置控制模块要比模拟量输出模块贵的多,但是确定不容易实现精确定位,主要是因为通过控制速度来控制定位,加速时间,减速时间,模拟量漂移量抗干扰能力等这些因素都会影响到定位。因此建议在对精度要求不是很高情况下,或者您对该系统做了充分准备后再使用。个人意见,仅供参考。

LionGu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2002年10月17日
发表于:2004-07-26 12:39:00
2楼
速度模式下,给定的模拟量决定了速度,通过驱动器反馈回上位机的脉冲数来决定位置。

easyboy

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 98回
  • 年度积分:0
  • 历史总积分:113
  • 注册:2004年3月25日
发表于:2004-07-26 12:44:00
3楼
这个问题是否不具有实际意义呢?

qqseven

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月04日
发表于:2004-07-26 14:04:00
4楼
我的问题可能没有说清楚。在清楚的重复一次。 我使用的是安川伺服电机,工作在速度控制模式下。 电机的速度,通过PC端A/D输出的模拟量来控制,那么,如何控制行进距离?比如说,下面这条G指令: G01 X10 Y10 F200 ; 若采样周期中T=8ms,则Ft=2F/15(um)。 ΔX、ΔY分别为Ft 在三个轴方向上的投影: ΔX=Ft*cosa ΔY=Ft*cosB 则指令位置的迭代算法为: Xi+1=Xi+ΔX Yi+1=Yi+ΔY 如何将这些位置指令输入呢?

qqseven

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月04日
发表于:2004-07-26 14:16:00
5楼
刚才的问题有点不正确,不应该是”如何将位置指令输入“, 而是”如何让工件移动到这些位置“

学习数控

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 167回
  • 年度积分:0
  • 历史总积分:221
  • 注册:2003年2月06日
发表于:2004-07-27 10:05:00
6楼
V=K*(Xi+1 - X) V -- speed(voltage) K -- gain of position loop Xi+1 -- computered position X -- real position from encoder

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2004-07-28 09:36:00
7楼
伺服运动控制从理论上讲分电流环,速度环和位置环,位置环在最外层,当伺服驱动器在位置模式下工作时,它本身完成全部三个环的控制,上位控制器(系统)发出位置信号(一般为脉冲信号),伺服驱动器根据该位置信号移动到位,从控制器(系统)的角度看,这只是一种半闭环的系统(因为控制器没有反馈),目前应用的大多是这样的伺服控制方式. 速度控制模式是伺服驱动器只完成速度环和电流环的闭环控制,而位置环由上位控制器(系统)完成,控制器向伺服驱动器发送速度控制指令(一般为-10V到+10V电压信号),伺服驱动器根据速度指令运转,同时将电机(工件)反馈的位置信号同时传送给控制器,从而控制器完成全闭环的控制,这种控制方式精度及响应速度都很高,而且结合控制器的功能可以实现多轴复杂控制(取决于控制器的性能)。因此在使用过程中,应该选择适合自己使用的方式。(伺服驱动器因此也分为几种类型,主要为两类一种只支持位置控制模式,一种可以支持上述的两种模式) 根据上述说明,控制器为结合不同的伺服驱动器,具有多种接口,一种是只能发送脉冲与完成位置控制的伺服驱动器连接,是一种开环控制方式,另一种为发送模拟量信号,同时接收反馈信号(一般为编码器信号),完成闭环控制,一般来讲第一种伺服控制方式较为便宜,第二种方式较贵。 结合上述说明,qqseven的问题其实很好回答,即你在第一种方式下(驱动器位置控制模式)怎样实现,在第二种模式下程序不用改变,只要改一下控制器的输出控制模式就可完成。 用一个大家可能不太熟悉,但功能强劲的运动控制器的编程简要说明以下 atype=3 全闭环模式,模拟电压输出,接收编码器反馈 (atype=13,半闭环模式,输出脉冲) units=8192 定义单位,单位条件下计了多少脉冲 base(0) 以第一个轴为基准 speed=10 定义速度 MOVE(1) 移动一个单位 moveabs(10) 移动到绝对位置10 该控制器资料,包括软件免费下载:www.triomotion.com

qqseven

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月04日
发表于:2004-07-30 12:11:00
8楼
在实际的控制当中,应当对误差e进行PID调节。问题是: 1、如何进行PID调节呢? 是否采用下面这个公式呢? (word中用公式编译器写的公式帖不上来,只好这样写了) uk=Kpe(k)+TKi∑e(j)+Kd/T( e(k)-e(k-1) ) 其中,e(k)为第k次指令位置与反馈位置的差值。 2、系统采用12位的D/A卡。在进行PID调节后,uk直接送到D/A吗? 也可以说:如何通过位置误差uk来控制电机的转速呢?

前望

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 26回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2002年9月03日
发表于:2004-07-30 16:02:00
9楼
to jack0000 请问,在速度控制模式的多轴联动的情况下,是否需要将其中一轴定义为标准,以次控制其他轴的联动转速?还是在编程时设定各轴在不同时刻的转速参数,再将各轴的实际转速反馈回控制系统?本人对多轴联动的认识还不够深。

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2004-08-02 12:31:00
10楼
多轴联动(同步)是经常会遇到的问题,为保持同步的精度每个轴应该都采用全闭环控制方式,即最好由控制器完成位置环的控制,伺服驱动器采用速度控制模式,这样多轴的伺服控制器可以随时掌控每个轴的情况,从而达到同步的精度,同步精度很大程度由伺服控制的控制特性来决定。一般情况,很多工程人员会将其中的一轴定义为标准轴,其他轴与该轴进行同步控制,同步控制严格意义上讲是位置的同步,控制器实时根据标准轴的当前位置、速度以及从动轴的相关的各种参数分别计算出从动轴当前时刻应当给定的SV值(即应当传送给驱动器的速度指令),所以高精度同步控制的算法是比较复杂的,高功能的伺服控制器上一般都会有同步的控制指令。此外,采用实际驱动的一轴来作为标准轴理论上讲没有问题,但实际上,实际驱动的轴连接着负载,由于负载的特性不同,轴会产生一定的震动,经过同步算法,这种振动会被放大,造成其他各个轴更大的振动,从而造成整个同步伺服系统不稳定。 为解决上述问题,最好采用虚拟轴的方式来做,所谓虚拟轴即是一种纯粹的数学模型,它可以模拟标准轴理想的情况,所有从动轴都与该虚拟轴同步,因为虚拟轴没有任何干扰,所以这样做,整个系统是稳定的。 还是用TRIO MOTION的四轴控制器MC206做个说明举例: MC206 的base(0)到base(3)代表实际轴,base(4)-base(7)是虚拟轴 假设要做一个四轴同步的工程,我们以base(4)作为标准轴 base(0) connect(1,4) 第0轴以1:1的速度关系与第4轴相连 base(1) connect(1,4) 第1轴以1:1的速度关系与第4轴相连 base(2) connect(1,4) 第2轴以1:1的速度关系与第4轴相连 base(3) connect(1,4) 第3轴以1:1的速度关系与第4轴相连 base(4) speed=10 第4轴(虚拟轴)定义当前速度为10个单位/秒 forward 第4轴(虚拟轴)以上述单位开始向前转,此时四个实 际轴会同时保持同步进行旋转。

前望

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 26回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2002年9月03日
发表于:2004-08-02 15:36:00
11楼
多谢jack0000的解答! 但在速度控制模式的多轴联动并且联动速比又不断变化的情况又如何?(联动速比按某个函数连续变化或连续不规则变化)

前望

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 26回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2002年9月03日
发表于:2004-08-02 15:42:00
12楼
请问,三坐标镗床在概念上容易理解,但六坐标镗床实在是难以理解,其六坐标是怎样定义的?是有六个坐标轴,还是等于六轴联动的概念?请各位帮帮手!

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2004-08-03 16:39:00
13楼
很简单,在TRIO的控制指令中有一个ADDAX的指令,该命令意思是将当前轴座到某个标准轴上,执行完这条指令后,所操作的轴就可以随着目标轴共同动作,如果不做其他处理,此时就类似上面讲的以1倍速关系的connect指令。打个比方就好像让一个人坐到火车上,火车开动,坐在上面的人相对于地面也会同时在动,但相对火车他是静止的。此时,当前轴想做一些相对于标准轴的动作,就可以直接编写程序就可以了,就相当于坐在火车上的人,他想在火车上做什么动作而与地面无关一样的道理。举个简单的事例: 4轴是标准轴,0轴需要根据4轴不同的速度做不同数学关系的同步运动 假设4轴速度是x,0轴速度是y,它们之间的函数关系是y=f(x),则0轴相对4轴的速度就为 f(x)-x. base(0) ADDAX(4) 将0轴坐在4轴上 speed=0 定义0轴相对于4轴的速度为0 forward 让0轴相对于4轴开始前进 while(1) base(4) x=mspeed 实时取得4轴的当前速度 BASE(0) SPEED=f(x)-x 实时根据当前4轴速度,调整0轴相对4轴的速度 wend 程序就这么简单,多轴以一定数学关系同步在纺织机械上应用的很多,采取上述方法已有很好的应用实例

yiers

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2004年8月09日
发表于:2004-08-09 15:59:00
14楼
To:jack0000 我用控制器控制一个松下交流伺服电机以速度控制模式运动,控制器得到的反馈脉冲数相当精确,但是电机的位置偏差却相当大。出现这种问题的原因是什么?请赐教。 本人乃菜鸟,望各位大虾勿笑 :)

triomotion

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 83回
  • 年度积分:0
  • 历史总积分:147
  • 注册:2004年7月12日
发表于:2004-08-10 10:59:00
15楼
楼上的大侠太谦虚.大家知道95%以上的应用采用电机上的编码器信号,就可获得满意的控制精度.您是指负载与电机位置之间的偏差吧?例如通过滚珠丝杠方式把电机与负载联上.如是这种情况而且您的位置精度要求特高,您就可在负载所在位置加另外一个编码器.Triomotion有专门的指令来实现全闭环控制. 指令可简化为: ADD_DAC(Axis) The ADD_DAC command is provided to allow a secondary encoder to be used on a servo axis to implement dual feedback control. This would typically be used in applications such as a roll-feed where you need a secondary encoder to compensate for slippage. The ADD_DAC function allows the output of 2 servo loops to be summed on to the speed demand output to a drive. 如果我理解错了您的原意,请指教,谢谢!

yzj7518

  • 精华:2帖
  • 求助:1帖
  • 帖子:36帖 | 218回
  • 年度积分:0
  • 历史总积分:498
  • 注册:2003年6月27日
发表于:2004-08-10 12:53:00
16楼
我用过的主轴伺服是速度控制但有一个定位功能,可以定位指定的一个角度,用于安装刀具等。 如果定位位置达到随意的话,我还是建议采用位置控制方式,这种方式下是可以实现速度控制的(脉冲频率)

jxlixp

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2005年3月17日
发表于:2008-11-19 10:15:19
17楼

To:jack0000 我用控制器控制一个松下交流伺服电机以速度控制模式运动,控制器得到的反馈脉冲数相当精确,但是电机的位置偏差却相当大。出现这种问题的原因是什么?请赐教。本人乃菜鸟,望各位大虾勿笑 :)

建议采用位置控制模式,,精度可达到0.01mm。

电工菜鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:23帖 | 291回
  • 年度积分:0
  • 历史总积分:478
  • 注册:2007年1月09日
发表于:2008-11-22 15:52:13
18楼
学习了!谢谢!学习了!谢谢!

nihenmaoren

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2010年11月16日
发表于:2011-10-12 11:14:51
19楼
学习啦 !!!!!!

yuzhu221

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 32回
  • 年度积分:0
  • 历史总积分:116
  • 注册:2014年5月16日
发表于:2017-06-18 20:18:26
20楼


回复内容:

对: 网球 不知道你的伺服电机什么型号,我用过三菱MR-J2S做过... 内容的回复!

很好,学习了 ,谢谢


热门招聘
相关主题

官方公众号

智造工程师