galil运动控制,采样率和速度的矛盾问题求助 点击:1823 | 回复:20



大思想小世界

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-10 20:04:35
楼主

您好,问题求助,问题较多,新手可能问题很幼稚,希望得到耐心解答!谢谢。

 1、我们用的是伺服电机,那命令比如SPA=1000,PRA=10000,这里的1000,10000代表什么?脉冲数?
2、Galil卡把命令发送给电机的频率,Galil卡读取电机旋转编码器的频率各是多少?可以更改吗?硬件还是软件设置定时器,那个命令可以更改设置定时器的模式?
3、Galil卡读取光栅编码器的频率是多少?可以更改吗?硬件还是软件设置定时器?
4、默认的位置反馈采样间隔或者频率是多少?
5、最大编码器回馈频率12MHz是什么意思?影响采样设置吗?
6、TM代码解释默认取样周期为1000 μs=1ms,这个是对于循环程序而言还是对于采样而言?
7、我想要的结果是,比如SPA=1000,PRA=10000,电机旋转编码器和光栅编码器实时输出采样位移数据,10s时间采样1000个点,采样数据从0开始,最后运动完成时采样到第1000个点,位移正好达到10000(暂时不考虑误差,位移反馈用的是TP或TD命令),这1000数据点应成线性关系。但是实际上结果如图1:
要么采集到第1000点的时候,位移还没走完(红色线),要么是位移走完了而采样点还没到1000(其他颜色线条).

(图1是在SP相同,TM不同时的数据;图2是在TM相同,SP不同时的情况)

用的是DMC2143和PICM20105卡。





大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-10 20:11:42
1楼

安川电机用的应当是自带的旋转编码器,平台侧面是光栅尺,应当属于辅助编码器吧。感觉光栅编码器和旋转编码器的位移反馈精度几乎没区别啊。

附录上程序,用的是定义数组,但是不知道怎么把数组导出来或者读取数组,数据是把命令POS[]=    显示的复制的。而且数据里还有空行。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-12-11 00:10:43
2楼

1、我们用的是伺服电机,那命令比如SPA=1000,PRA=10000,这里的1000,10000代表什么?脉冲数?

GALIL控制器上所有的位置单位,在开环控制模式下是输出脉冲,在闭环模式下是反馈计数。

针对DMC-2143,速度的单位在TM为1000时,为位置单位/秒,如果TM不是1000,则速度单位是位置单位/秒*1000/_TM。加速度的单位是位置单位/秒/秒*1000*1000/_TM/_TM。


2、Galil卡把命令发送给电机的频率,Galil卡读取电机旋转编码器的频率各是多少?可以更改吗?硬件还是软件设置定时器,那个命令可以更改设置定时器的模式?

默认是1/1024秒,可以用TM指令修改。而“改定时器设置的模式”,我不知道想改什么东西。



3、Galil卡读取光栅编码器的频率是多少?可以更改吗?硬件还是软件设置定时器?

同上


4、默认的位置反馈采样间隔或者频率是多少?

同上


5、最大编码器回馈频率12MHz是什么意思?影响采样设置吗?

反馈信号计数频率超过12MHz,,不能保证计数正确。没有影响


6、TM代码解释默认取样周期为1000 μs=1ms,这个是对于循环程序而言还是对于采样而言?

位置采样和伺服闭环计算周期。


7、我想要的结果是,比如SPA=1000,PRA=10000,电机旋转编码器和光栅编码器实时输出采样位移数据,10s时间采样1000个点,采样数据从0开始,最后运动完成时采样到第1000个点,位移正好达到10000(暂时不考虑误差,位移反馈用的是TP或TD命令),这1000数据点应成线性关系。但是实际上结果如图1:
要么采集到第1000点的时候,位移还没走完(红色线),

要么是位移走完了而采样点还没到1000(其他颜色线条)

A、在启动和停止时,速度不会在0和1000之间突变,会有变速过程。(参考高中物理课本匀加速运动)

B、误差不是因为您不考虑就不存在的,一般来说,没有经过仔细调整的系统,电机的实际位置一定会滞后于控制机卡的指令

所以10秒之后,采样的位置还没有到达终点。

C、在不同的TM值下,同样的SP设置值对应不同的运动速度(参考问题1的回复)

所以还没有到10秒,电机已经到位停下来了。



安川电机用的应当是自带的旋转编码器,平台侧面是光栅尺,应当属于辅助编码器吧。感觉光栅编码器和旋转编码器的位移反馈精度几乎没区别啊。

光栅尺的存在不是为了改善编码器本身的精度,是为了改善丝杠长时间在局部行程内运动时造成的丝杠不均匀发热导致的不均匀膨胀而使编码器返回的位置数据不精确。

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-11 11:09:45
3楼


回复内容:

对: 刘岩利 1、我们用的是伺服电机,那命令比如SPA=1000,P... 内容的回复!

您好,刘工,谢谢回复。不过问题还是没解决。

烦请您看下图2,红色线条,是在TM1000,SP=5000,PR=10000的时候,定义一个长度为1000的数组,然后用命令(就是回复1里的图中程序),速度快的时候,位置达到10000的时候值采集到了200多个点,怎么能让速度不变的前提下,让采样率变大,就是在运动的2秒时间可以采集到1000个点。

学机械的,不懂通信,现在课题实验控制设备平台需要这些东西。。。

谢谢!

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-12-12 09:12:55
4楼

让采样率变大,就是在运动的2秒时间可以采集到1000个点。

要提高采样频率,只要把那行pos[count]=删了,就可以有明显的效果。这样可以使您得到的数据超过1000个。

对于运动数据的采集,作为一个运动控制卡,GALIL提供了更方便现成的指令,您看一下指令手册中的RA、RC、RD三个指令。不过要注意一下,关于RC中时间单位的描述,有的地方用的是ms,有的地方用的是采样周期,您全部理解为采样周期就对了。默认情况下(TM=1000),控制卡的采样周期是1/1024秒,约等于1ms,不是能够精确等于一秒。RC为1的情况下,两秒采集的数据不是1000个,而是1024个。

 

至于要如何得到数组的值:

最简单的方法是,在galiltools软件中使用的菜单中的controller下的upload arrays项。

如果想麻烦一点,也可以在采样完成后用同样的方式集中输出

#print

N=0

#LP;POS[N]=;N=N+1;JP#LP,N<1000

EN

 

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-12 11:16:34
5楼


回复内容:

对: 刘岩利 让采样率变大,就是在运动的2秒时间可以采集到1000个... 内容的回复!


谢谢刘工!!!确是是您说的那样,程序改改之后果然好很多了!

菜鸟继续麻烦您!按照您说的,程序如下:

采集的数据画图如下:

第1024个点的数据是9935.而在galil页面用TDZ命令得出的反馈值是9998下图示:

这9998和9935对应不上啊?

还是因为默认的加减速度是256000太大,导致的初始和停止阶段的冲击导致位置不稳定?


刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-12-12 14:36:35
6楼

个点的数据是9935

虽然说,论坛打字出现个别错字很正常,没有追究的必要。但是,您这个,我在很的没看懂“个点的数据”是什么意思。

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-12 15:31:52
7楼


回复内容:

对: 刘岩利 个点的数据是9935虽然说,论坛打字出现个别错字很正常... 内容的回复!

鹅鹅鹅。。。就是第1024(或者说第1023)个数据,平常采样点,一点对应一个数据,说习惯了,就把第1024个数据说成第1024个点的数据。

还有为啥我加IT0.5,IT0.04曲线没变化?开头结尾看不出来有啥变化,也许是S加减速曲线段太小。

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-12 15:45:32
8楼


回复内容:

对: 刘岩利 个点的数据是9935虽然说,论坛打字出现个别错字很正常... 内容的回复!

还有,刘工:

1、TD和TP命令出来的数据不一样,就是电机自带的旋转编码器和平台侧面的光栅编码器的原点位置不一样,相差在10-30个计数单位左右,怎么让二者一样或者相差的在5计数单位左右,别太大。

2、您上次提到旋转编码器和光栅编码器的精度问题,说道“光栅尺的存在不是为了改善编码器本身的精度,是为了改善丝杠长时间在局部行程内运动时造成的丝杠不均匀发热导致的不均匀膨胀而使编码器返回的位置数据不精确”。那我想知道反馈位移的时候到底是旋转编码器的TP更精确还是光栅编码器的TD更准确?二者的分辨率各是多少啊?

3、非常感谢您耐心的解答!

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-12 16:27:44
9楼


回复内容:

对: 大思想小世界 回复内容:对: 刘岩利  个点的数据是9935虽然说,... 内容的回复!

第1个问题解决了!

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-12-12 17:39:43
10楼

那我想知道反馈位移的时候到底是旋转编码器的TP更精确还是光栅编码器的TD更准确?二者的分辨率各是多少啊?

一般认为光栅尺比较精确。这是由于光栅反馈的位置减少了传动环节的误差影响,而具体到个案,我只能说“我怎么知道你设备上那个东西更精确!”,而分辨率的问题,我只能耐心的给出和上面类似的答复:“您哪儿买的上哪儿问去!“

 

这9998和9935对应不上啊?

前面说过了,没有仔细调整过参数的伺服系统,实际运动是在时间上滞后于运动控制卡的指令要求的。或者是由于加减速的设置,理论运动时间就超过2秒,也许是因为实际运动的滞后,您采集数据的时候。最后一个数据并不是运动终点数据。采集过后,运动依然在继续,而几十毫秒、甚至几百毫秒之后,输入TDZ的时候,这时的位置更接近终点(或已经到达了终点),如果您多采集些数据,比如采集1500个,应该可以明显的看到这个过程。

大思想小世界

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 24回
  • 年度积分:11
  • 历史总积分:77
  • 注册:2016年12月10日
发表于:2016-12-12 17:59:12
11楼


回复内容:

对: 刘岩利 那我想知道反馈位移的时候到底是旋转编码器的TP更精确还... 内容的回复!


谢谢!谢谢!!!

想知道为啥论坛里都是您在回复?只有您一个大神吗?(这个问题不用回答哈哈哈)

非常感谢所有的回复!后续有问题再麻烦您!

yangzhili123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:6
  • 历史总积分:6
  • 注册:2009年4月05日
发表于:2023-02-01 12:40:00
12楼

您好!刘工,我看dmc4050和dmc4060硬件应该是一样的,4050可以升级为4060吗,要怎么做,谢谢!

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2023-02-01 13:51:24
13楼

"yangzhili123" 的回复,发表在12楼
        对内容: 【您好!刘工,我看dmc4050和dmc4060硬件应该是一样的,4050可以升级为4060吗,要怎么做,谢谢!...】进行回复:

        -----------------------------------------------------------------


这个,确实没有办法。

yangzhili123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:6
  • 历史总积分:6
  • 注册:2009年4月05日
发表于:2023-02-04 22:59:55
14楼

回复内容:

对:刘岩利 "yangzhili123" 的回复,发表在12楼        对内容: 【您好!刘工,我看dmc4050和dmc4060硬件应该是一样的,4050可以升级为4060吗,要怎么做,谢谢!...】进行回复:        -----------------------------------------------------------------这个,确实没有办法。     内容的回复:

好的,谢谢!

yangzhili123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:6
  • 历史总积分:6
  • 注册:2009年4月05日
发表于:2023-02-13 23:59:04
15楼

回复内容:

对:yangzhili123 回复内容:对:刘岩利 "yangzhili123" 的回复,发表在12楼        对内容: 【您好!刘工,我看dmc4050和dmc4060硬件应该是一样的,4050可以升级为4060吗,要怎么做,谢谢!...】进行回复:        -----------------------------------------------------------------这个,确实没有办法。     内容的回复:好的,谢谢!     内容的回复:

你好,刘工麻烦问一下,dmc_4050 固件升级高搞错了,现在控制器无反应,怎样通过UPGD跳线强制更新固件,谢谢!

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2023-02-14 09:52:45
16楼

"yangzhili123" 的回复,发表在15楼
        对内容: 【回复内容:对:yangzhili123 回复内容:对:刘岩利 "yangzhili123" 的回复,发表在12楼        对内容: 【您好!刘工,我看dmc4050和dmc4060硬件应该是一样...】进行回复:

        -----------------------------------------------------------------


找个跳线帽,把upgd跳线短上,找个有串口的电脑,或者找各usb-rs232转换器也行(但是galil的串口通讯要用到硬握手信号线,所以不是所有的转换器都能用),找一根串口通讯线,要双母头,九芯直通(如果控制器是从微敏买的,没有杀价太狠应该会提供),实在找不到,对自己手艺有信心的话焊一根也成。

用串口连好电脑和控制器,开机,选择正确定的串口频率(115200)和字节格式(一个起始位、8个数据位、无检验)。打开您用的调试软件,选择串口连接,原本显示控制器型号的地方会显示一个奇怪名字的。选择更新控制器固件功能,更新正确版本的固件文件,完成后关机断电,摘掉upgd的跳线帽重新开机就好。开机后,有可能需要做一次出厂复位(MasterReset)。

yangzhili123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:6
  • 历史总积分:6
  • 注册:2009年4月05日
发表于:2023-02-14 12:56:24
17楼

回复内容:

对:刘岩利 "yangzhili123" 的回复,发表在15楼        对内容: 【回复内容:对:yangzhili123 回复内容:对:刘岩利 "yangzhili123" 的回复,发表在12楼        对内容: 【您好!刘工,我看dmc4050和dmc4060硬件应该是一样...】进行回复:        -----------------------------------------------------------------找个跳线帽,把upgd跳线短上,找个有串口的电脑,或者找各usb-rs232转换器也行(但是galil的串口通讯要用到硬握手信号线,所以不是所有的转换器都能用),找一根串口通讯线,要双母头,九芯直通(如果控制器是从微敏买的,没有杀价太狠应该会提供),实在找不到,对自己手艺有信心的话焊一根也成。用串口连好电脑和控制器,开机,选择正确定的串口频率(115200)和字节格式(一个起始位、8个数据位、无检验)。打开您用的调试软件,选择串口连接,原本显示控制器型号的地方会显示一个奇怪名字的。选择更新控制器固件功能,更新正确版本的固件文件,完成后关机断电,摘掉upgd的跳线帽重新开机就好。开机后,有可能需要做一次出厂复位(MasterReset)。     内容的回复:

谢谢您!我试试。

yangzhili123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:6
  • 历史总积分:6
  • 注册:2009年4月05日
发表于:2023-02-14 14:10:20
18楼

回复内容:

对:刘岩利 "yangzhili123" 的回复,发表在15楼        对内容: 【回复内容:对:yangzhili123 回复内容:对:刘岩利 "yangzhili123" 的回复,发表在12楼        对内容: 【您好!刘工,我看dmc4050和dmc4060硬件应该是一样...】进行回复:        -----------------------------------------------------------------找个跳线帽,把upgd跳线短上,找个有串口的电脑,或者找各usb-rs232转换器也行(但是galil的串口通讯要用到硬握手信号线,所以不是所有的转换器都能用),找一根串口通讯线,要双母头,九芯直通(如果控制器是从微敏买的,没有杀价太狠应该会提供),实在找不到,对自己手艺有信心的话焊一根也成。用串口连好电脑和控制器,开机,选择正确定的串口频率(115200)和字节格式(一个起始位、8个数据位、无检验)。打开您用的调试软件,选择串口连接,原本显示控制器型号的地方会显示一个奇怪名字的。选择更新控制器固件功能,更新正确版本的固件文件,完成后关机断电,摘掉upgd的跳线帽重新开机就好。开机后,有可能需要做一次出厂复位(MasterReset)。     内容的回复:

你好刘工!我做了一根双母头直通无交叉串口线,跳线也安装了,软件搜得到串口,但报找不到设备,usb转串口加双母头转换接头试过了,也是找不到设备,4050开机屏幕现在显示8个方块,红灯常亮,不知道哪里没搞好,固件用记事本打开看了一下可能不小心删除了一段,还有办法吗

yangzhili123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:6
  • 历史总积分:6
  • 注册:2009年4月05日
发表于:2023-02-15 09:15:12
19楼

回复内容:

对:刘岩利 "yangzhili123" 的回复,发表在15楼        对内容: 【回复内容:对:yangzhili123 回复内容:对:刘岩利 "yangzhili123" 的回复,发表在12楼        对内容: 【您好!刘工,我看dmc4050和dmc4060硬件应该是一样...】进行回复:        -----------------------------------------------------------------找个跳线帽,把upgd跳线短上,找个有串口的电脑,或者找各usb-rs232转换器也行(但是galil的串口通讯要用到硬握手信号线,所以不是所有的转换器都能用),找一根串口通讯线,要双母头,九芯直通(如果控制器是从微敏买的,没有杀价太狠应该会提供),实在找不到,对自己手艺有信心的话焊一根也成。用串口连好电脑和控制器,开机,选择正确定的串口频率(115200)和字节格式(一个起始位、8个数据位、无检验)。打开您用的调试软件,选择串口连接,原本显示控制器型号的地方会显示一个奇怪名字的。选择更新控制器固件功能,更新正确版本的固件文件,完成后关机断电,摘掉upgd的跳线帽重新开机就好。开机后,有可能需要做一次出厂复位(MasterReset)。     内容的回复:

谢谢刘工大神!搞好了,串口线搞错了,谢谢!

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2023-02-16 16:38:13
20楼

"yangzhili123" 的回复,发表在19楼
        对内容: 【谢谢刘工大神!搞好了,串口线搞错了,谢谢!】进行回复:

        -----------------------------------------------------------------


忘了是哪国的谚语,结果好,一切都好,问题解决了就好。

控制器上电后的状态,是连接了升级跳线的正常状态。固件文件如果被自己修改了,早以前的备份,或者重新下载一个吧。


热门招聘
相关主题

官方公众号

智造工程师