找回密码
 注册

快捷登录

楼主: 大年先生

白话脉冲

[复制链接]
发表于 2019-12-25 17:08:43 | 显示全部楼层
步进本身性质决定不累计误差,固定的是步进角的误差,程序的脉冲可以看做是整个位置的坐标,单点的取整也并不累计影响下一点的取整,另外 细分驱动器为主是为了减少低频震动的,对精度的贡献并不大,8细分以上基本精度也不会提高了
发表于 2019-12-25 17:58:35 | 显示全部楼层
由浅入深,从深出浅,学习了.
发表于 2019-12-25 20:20:16 来自手机 | 显示全部楼层
大年先生 发表于 2019-12-25 13:18
9 _1 b* g+ Z2 I  D. X! @我想是我没表达明白。我的意思是刀路设计中代码的参数不能用脉冲整除。比如吧,我们需要走刀到0.01的位置,可以用脉冲算下来需要1.8个脉冲。如果脉冲的最小单位是1,那么可能这个四舍五入就编程2个脉冲,走到了0.011的位置了,多走了0.2脉冲。或者收这个0.01需要1.4个脉冲,那么程序只能给一个脉冲,那么就走到了0.008了。一次无所谓了,上百万段程序下来,这个积累的余数是不是就很大了。9 x7 ?) F$ [  R6 Z0 _4 k
当然,实际操作中好像没有什么影响,我估计软件应该是有处理办法,比如积累余数,到整数再补偿。
9 L  G4 u" t/ h% T
确实如你11楼说的用于步进确实是想多了。
; c$ ^( {0 ?8 p! t
0 ^( X8 g0 U+ ?" W而我之前想说的也没讲清楚,逻辑混乱。我想表达的是硬件本身有误差,这个不考虑。
# V9 g1 z* i- p* @% a9 r刀路里本身就指定的是位置数据,这个点在哪个位置,下个点又在哪个位置,然后由代码解释器编译为脉冲让步进去执行,这个位置这次解析的脉冲和下个位置解析的脉冲又不累积。
) n/ r: j1 o4 T& k) u" ^$ V$ {6 ?0 o: |" P+ w, v
反过来想,在细分的情况下,步进也只能停在整步上,不能停在1/16步上。即使多一两个脉冲,那它也不能让步进多走一步
2 D- ?) e* P- ?, t% U; P% o9 r$ ]  ]- R. Q5 Y* w. K1 T  g. G
担心这种误差,不如担心步进转一圈或走1毫米脉冲除不尽的情况。这种系统发出脉冲错误的会积累的才是问题,因为填进去的数就不准确。所以不如选用那种直接标一圈所需多少脉冲数的驱动(虽然可能本质就是两相步进,但系统自身的参数正确,系统自身不累积误差。而步进特点就是不累积误差)
发表于 2019-12-26 20:44:15 | 显示全部楼层
摸索实践中 成长的人 实干型
发表于 2019-12-26 22:06:47 | 显示全部楼层
理论我不懂,误差能反映到实际中,我的雕刻机原来用三相步进电机,没找到6的螺距用了丝杆螺距5的,驱动器细分选6000/转,怎么也除不尽,我经常加工铁,如果要铣一个轴承座,根本就不行了要不进不去,要不就松了,必须要人为的修正一下,很烦恼,因为轴承座差一点都能反映出来,就换了两项步进电机,换了驱动器整数细分的,就没事了,可能干木头无关紧要,我不干木头
发表于 2019-12-27 15:08:10 | 显示全部楼层
lzqwq 发表于 2019-12-26 14:06
) i8 f3 f9 R. P) W% a理论我不懂,误差能反映到实际中,我的雕刻机原来用三相步进电机,没找到6的螺距用了丝杆螺距5的,驱动器细 ...

) B# Q3 ?: R( k" j$ |9 m, u6 K这么牛,用XY合成轴承需要的圆?这个圆度可以达到轴承座的要求么?
; L, [; \$ V$ S; a, X5 z
发表于 2019-12-27 21:56:06 | 显示全部楼层
fobyellow 发表于 2019-12-27 15:085 T: [' c8 e5 n1 {/ |
这么牛,用XY合成轴承需要的圆?这个圆度可以达到轴承座的要求么?

' j) b1 S& z2 q+ U一般大都认为这类加工车床比铣床方便,用在棒料加工确实方便,但有时会在板料上加工车床就不方便了,铣床加工完全可以
4 o4 \- ^: y& e4 w# L6 h
发表于 2020-2-9 19:00:01 | 显示全部楼层
本帖最后由 kdsyjz 于 2020-2-9 19:33 编辑 9 i; K, U" x1 \, {/ V+ i
! ?$ }/ q8 E: k( y0 x8 [5 k
新手,虽然各位说的专业名词不懂,刚入坑,但是楼主大致上的问题也明白了,我同样也对这个问题挺感兴趣,因为一直想不明白cnc是怎么做到精准定位的(个人感觉做到精准定位是不难的,但是神奇的就是成千上万次动作后依然还是精准)。
0 B7 [) }1 t0 d1 C: n) {
4 U/ j$ c* K" q3 l& qcnc误差不论多小肯定存在,楼主的意思大概简单点说就是一次的误差是一点点,但是成千上万次误差累计起来肯定就不是一点点了。
# i7 c# m/ t! ^2 s5 X9 b
. x& k: T" g8 R% }4 o+ j8 q以下纯属猜想,毫无任何根据:( B, G, Y3 G% `1 b# G$ L$ a) V
我感觉理论上消除这种误差的唯一办法就是每次运行下一条指令前都会有一个校准的操作,比如校准的点是0,0坐标,每次执行下一个操作时都会和这个0,0坐标进行校准,也就是说两条指令,无论你第一条指令后误差再大,到第二条指令后先前的这个误差也就不存在了,也就是说你说的“累差”在上一条指令完成时就已经消除了,所以也就不存在累差了,存在的只有每条指令(每个动作)完成时的误差。
+ J( y" C" c/ ]; K7 p8 p4 A* ]1 V  ^
我完全不知道cnc是不是这个原理,凭我想法似乎只有这样才行,也希望有大佬来用通俗点的说法来解释解释
. n9 s' E- {! @( I
1 ?5 G5 F0 E3 I+ c; c6 g因为我自己编写的第一个单片机数控程序是用这个办法来解决的,当初对cnc感兴趣,但是又没有相关机器,自己用最简单的那种小步进电机,diy了一个,我也不知道什么深奥的办法,并没有什么cnc控制系统,程序全手写,所以也就是个玩具,走直线竖线画圆什么的,全是手写,也可以理解为,机器的走向是我人为控制的就是,我输入让它往左多少厘米他就网左多少厘米,当时就由于这个问题我是用这种笨办法解决的,就是每次运行前都校准下
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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