开源改变世界!!

错误的步长/步进时间问题仍然存在 #739

推推 grbl 2年前 (2023-02-05) 134次浏览
打开
daxliniere 打开了这个问题 2022 年 12 月 8 日 · 5 条评论
打开

错误的步长/步进时间问题仍然存在#739

daxliniere 打开了这个问题 2022 年 12 月 8 日 · 5 条评论

评论

错误的步长/步进时间问题仍然存在 #739

控制板

DLC32

机器描述

SWOLE数控

输入电路

没有反应

配置文件

board: MKS-DLC32
name: SWOLE-CNC
meta: V2.6.8 (2202.11.09) Dax Liniere

kinematics:
  Cartesian:

stepping:
  engine: I2S_STATIC
  idle_ms: 150
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0
  
axes:
  shared_stepper_disable_pin: I2SO.0
  x:
    steps_per_mm: 804.065
#was 802.341
    max_rate_mm_per_min: 1600.000
#was 1500.000
    acceleration_mm_per_sec2: 80.000
    max_travel_mm: 301.000
#was 302.000    
    soft_limits: true
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 20.000
      seek_mm_per_min: 300.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.36
      limit_pos_pin: gpio.34
      limit_all_pin: NO_PIN
      hard_limits: true
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.1
        direction_pin: I2SO.2:low
        disable_pin: NO_PIN
        ms1_pin: NO_PIN
        ms2_pin: NO_PIN
        ms3_pin: NO_PIN
        reset_pin: NO_PIN

  y:
    steps_per_mm: 804.636
#was 802.322
    max_rate_mm_per_min: 1600.000
    acceleration_mm_per_sec2: 80.000
# was 300.000
    max_travel_mm: 186.000
    soft_limits: true
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 20.000
      seek_mm_per_min: 300.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.35
      limit_pos_pin: gpio.23
#this pin doesn't have the same input circuitry as the 3 dedicated on-board limit switch inputs
      limit_all_pin: NO_PIN
      hard_limits: true
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.5
        direction_pin: I2SO.6:low
        disable_pin: NO_PIN
        ms1_pin: NO_PIN
        ms2_pin: NO_PIN
        ms3_pin: NO_PIN
        reset_pin: NO_PIN
  z:
    steps_per_mm: 802.497
    max_rate_mm_per_min: 1000.000
    acceleration_mm_per_sec2: 50.000
# was 500.000
    max_travel_mm: 100
#46.000
    soft_limits: true
    homing:
      cycle: 1
      positive_direction: true
      mpos_mm: 0.000
      feed_mm_per_min: 20.000
      seek_mm_per_min: 100.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_pos_pin: gpio.18
#this pin doesn't have the same input circuitry as the 3 dedicated on-board limit switch inputs
      hard_limits: true
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.3
        direction_pin: I2SO.4:low
        disable_pin: NO_PIN
        ms1_pin: NO_PIN
        ms2_pin: NO_PIN
        ms3_pin: NO_PIN
        reset_pin: NO_PIN

i2so:
  bck_pin: gpio.16
  data_pin: gpio.21
  ws_pin: gpio.17

spi:
  miso_pin: gpio.12
  mosi_pin: gpio.13
  sck_pin: gpio.14

sdcard:
  cs_pin: gpio.15
  card_detect_pin: NO_PIN
# This could be GPIO.39, but Card Detect has no supported functions in FluidNC

control:
  safety_door_pin: gpio.33:low:pu
  cycle_start_pin: NO_PIN
  feed_hold_pin: NO_PIN
  reset_pin: NO_PIN
  macro0_pin: gpio.19:low:pu
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN

parking:
  enable: true
  axis: Z
  pullout_distance_mm: 5.000
  pullout_rate_mm_per_min: 250.000
  target_mpos_mm: 0.000
  rate_mm_per_min: 800.000
  
macros:
  startup_line0:
  startup_line1:
  macro0: $H
#unlock and home XYZ
  macro1: G38.2 G91 Z-46 F100&G0 Z1&G38.2 G91 Z-2 F50&G10 L20 P1 Z4.985&G10 L20 P2 Z4.985&G10 L20 P3 Z4.985&G10 L20 P4 Z4.985&G10 L20 P5 Z4.985&G10 L20 P6 Z4.985&G53 G0 Z0&G90
#z-probe
  macro2:
  macro3: $SD/Run=lasertest.gcode

coolant:
  flood_pin: gpio.0
# continuous air
  mist_pin:  gpio.4
# pulsed air 
  delay_ms: 0

probe:
  pin: gpio.22:low
  check_mode_start: true

10V:
# Spindle
  direction_pin: NO_PIN
  forward_pin: NO_PIN
  reverse_pin: NO_PIN
  output_pin: gpio.32
  enable_pin: gpio.5:low
  pwm_hz: 5000
  disable_with_s0: false
  s0_with_disable: false
  off_on_alarm: true
#switch off spindle when in alarm state
  spinup_ms: 10000
  spindown_ms: 12000
  tool_num: 0
  speed_map: 0=0% 0=25% 5868=25% 23237=99% 24000=100%
#DLC32 Spindle TTL max output voltage is 4.89v, so it can never reach 24000rpm/400Hz

user_outputs:
  analog0_pin: NO_PIN
  analog1_pin: NO_PIN
  analog2_pin: NO_PIN
  analog3_pin: NO_PIN
  analog0_hz: 5000
  analog1_hz: 5000
  analog2_hz: 5000
  analog3_hz: 5000
  digital0_pin: NO_PIN
  digital1_pin: NO_PIN
  digital2_pin: NO_PIN
  digital3_pin: NO_PIN

start:
  must_home: false
# Pins that could be used: 0(SDA), 4(SCL), 5, 18, 19, 22, 23, 25, 26, 27, 32 (TTL spindle control), 33, 39, I2SO.7
# Pins not currently in use: 25 (TMC_CS_Y), 26 (TMC_CS_X), 27 (TMC_CS_Z), (39 SD card detect), I2SO.7

启动消息

Not to hand right now, but no different to normal.

用户界面软件

UGS

发生了什么?

fluidnc-v3.6.5-pre4-win64
慢跑中途,我听到咔哒声,然后慢跑轴变得非常慢。我尝试了快速 (g0 x150 y150) 并获得了同样的慢速运动。我无法一路慢跑回到物理 x0y0,因为软限制开始起作用,认为它比实际移动得更远。
使用 CTRL+R 重新启动并重试。不久之后发生了同样的事情。慢跑时也是如此。

回滚到
已安装的 3.6.4-local1,但没有对我的控制器(包含步进驱动程序)进行电源循环,它仍然停留在错误的步长状态。
步进控制器本身是否有可能因为收到信号而进入怪异状态?或者更有可能是当 ESP32 进入错误的时序状态时,它需要一个完整的电源循环而不只是 CTRL+R 重置?
在一个完整的电源循环后再次测试:再次发生,中途:
G53 G0 Z0
$J=G53 X0 Y0 F1800

还有一件事让我想到了……我的 PS4 游戏手柄上有嘈杂的模拟电位器,所以偶尔我会听到一个不想要的微小的慢跑。UGS 有一个死区控制,所以我增加了它。
我有一个暗示,也许“慢跑时慢跑”会引发问题。

稍后另一个电源循环…

再次启动机器,四处慢跑,它陷入了一种奇怪的状态,即以极慢的速度向上慢跑 Z 轴。它一直处于这种缓慢移动的状态,不会接受新命令,包括当我按下门开关按钮时。这显然是一个更大的问题。如果有帮助,我有视频。

更有趣的是,在我关闭控制器的主电源开关后,我得到了大约一千条信息:检查门信息
https://pastebin.com/q1pivsuC

我不知道它是否相关,但我不记得在最初的问题被怀疑解决和米奇(?)建议通过将 idle_ms 更改为 255 来禁用电机禁用之间有这个问题。所以现在,我是在最新发布的固件上,idle_ms 为 150。

如果您需要更多信息或希望我运行一些测试,请告诉我。

其他信息

没有反应

错误的步长/步进时间问题仍然存在 #739
合作者
米奇布拉德利 评论了 2022 年 12 月 17 日  

我写了一个 python 脚本,使用面向行的 ok ack 流控制从你的 pastebin 日志中爆破点动命令。使用 DLC32 V1.1 上的配置文件,只要电机在其限制范围内运行,一切都可以正常工作。我连接的其中一个电机不会像您指定的配置和点动命令那样快,并且当速度太高时它会停止。当我将 max_rate 拨回电机可以处理的值时,您的点动序列运行没有明显问题。

我无法复制你的驱动程序/电机/机器设置,所以我无法证明这一点,但我最好的猜测是你可能正在用力推动一些东西,它会进入一种奇怪的状态。

我知道控制器不会掉线,因为我连接了我的新 MKS SERVO57 电机并将 steps_per 设置为 804,将 max_rate 设置为 9000,步进率为 120K,它就像大爆炸一样。

错误的步长/步进时间问题仍然存在 #739

嘿米奇,感谢测试。我不是 100% 确定超过电机/系统限制会如何导致步数/毫米增加,但我会接受你更有经验的说法。

那些 Servo57 板看起来真的很有趣!而且它们似乎可以改装成其他步进电机,所以我正在考虑将它们添加到我的 X 和 Y 电机中。
我需要在 FNC 配置中做些什么不同的事情吗?

错误的步长/步进时间问题仍然存在 #739

配置就像任何其他 standard_stepper 配置一样。您可以通过按钮菜单设置微步级别。

一个考虑因素是 MKS SERVO57 的额定电压为 24V,因此如果您有更高电压的电源,那将是一个问题。伺服板上的电容器是 35V 类型,所以我不想尝试超过 24V 的过电压;你需要一些保证金。可能/可能还有其他组件也有电压限制。

我放在另一台电机上的 MKS TMC2160_57(不是伺服电机)的额定电压为 36V,这就是我在那台机器上的电压。该板有 50V 电容器。

错误的步长/步进时间问题仍然存在 #739

SWOLE 以 24v 运行,所以这对我来说似乎很好。SERVO57 板如此便宜,不添加闭环设施似乎很疯狂。
感谢您将它们放在我的雷达上。

错误的步长/步进时间问题仍然存在 #739

我认为这是我预期的市场转变的交叉点。带有外接控制器的 ST506 磁盘驱动器让位于 SCSI 和 IDE 驱动器,其中电子元件与机械组件集成、匹配和调整。这开辟了许多改进的可能性。在很短的时间内,舷外控制器只是一个糟糕的记忆。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

2名参加者
错误的步长/步进时间问题仍然存在 #739错误的步长/步进时间问题仍然存在 #739

喜欢 (0)