开源改变世界

缓冲区、最大速度、dpi #329

推推 grbl 3年前 (2023-02-05) 213次浏览
打开
frank8500 打开了这个问题 2022 年 3 月 3 日 · 2 条评论
打开

缓冲区、最大速度、dpi#329

frank8500 打开了这个问题 2022 年 3 月 3 日 · 2 条评论

评论

缓冲区、最大速度、dpi #329

Fluid 3.4.1
起始数据:
激光 c02
mks dlc32、drv8825、(1/4 微步进器)
激光:已
启用引脚 ……… L电源激光器(反相晶体管)
频率引脚…………………. IN 电源激光器
lightburn .. usb
光栅:508 dpi
整洁绘图
速度:90 mm/s
我有 wifi 和 bt 断开连接

Planner.h
BLOCK_BUFFER_SIZE = 250
Config.h
#define RX_BUFFER_SIZE 8192 // ( 1-254 )
#define TX_BUFFER_SIZE 8192 // ( 1-254 )
BAUD_RATE = 921600;

为了找到激光雕刻的最大速度,我发现以下配置显着改善了系统
在这些条件下,速度没有变化,也没有拍摄延迟。

如果我将速度增加到 100mm/s,则在光栅期间观察到速度下降。

串口不是瓶颈。
增加发送/接收缓冲区并不能改善这种情况

修改这些值
const int REPORT_OVR_REFRESH_BUSY_COUNT = 20; //20 (1-255)
const int REPORT_OVR_REFRESH_IDLE_COUNT = 10; //10 (1-255) 必须小于等于忙计数
const int REPORT_WCO_REFRESH_BUSY_COUNT = 30; //30 (2-255)
const int REPORT_WCO_REFRESH_IDLE_COUNT = 10; //10 (2-255) 必须小于或等于忙计数
const int ACCELERATION_TICKS_PER_SECOND = 100;
并没有改善这种情况。

将 block_buffer size 的值增加到 255 以上会产生编译错误

是否可以进一步增加block_buffer的值?

配置.h
const int SUPPORT_TASK_CORE = 1; // 参考:CONFIG_ARDUINO_RUNNING_CORE = 1
是不是只用了micro的一个核心?

是否可以修改任何其他参数以进一步提高速度,或者我们是否处于微控制器的极限?

另一方面,我不清楚这些值之间的差异。

disable_with_s0:真/假
s0_with_disable:真/假

存档 yaml
板:MKS DLC32 2.0
名称:MKS DLC32 FRA
元数据:(01/03/2022) Fran j
步进:
引擎:I2S_STREAM
idle_ms:255
pulse_us:4
dir_delay_us:1
disable_delay_us:0

axes:
shared_stepper_disable_pin: i2so.0
x:
steps_per_mm: 25
max_rate_mm_per_min: 60000
acceleration_mm_per_sec2: 3000.000
max_travel_mm: 5000.000
soft_limits: false
homing:
cycle: 2
positive_direction: true
mpos_mm: 0.000
feed_mm_per_min: 200.000
seek_mm_per_min: 1000.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 5.000

motor0:
  limit_neg_pin: gpio.36
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm:1.000
  stepstick:
    step_pin:  i2so.1
    direction_pin: I2SO.2

y:
steps_per_mm: 25
max_rate_mm_per_min: 60000
acceleration_mm_per_sec2: 3000.000
max_travel_mm: 5000
soft_limits: false
homing:
cycle: 3
positive_direction: true
mpos_mm: 0.000
feed_mm_per_min: 200.000
seek_mm_per_min: 1000.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100

motor0:
  limit_neg_pin: gpio.35
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm:1.000
  stepstick:
    step_pin: I2SO.5
    direction_pin: I2SO.6

z:
steps_per_mm: 39
max_rate_mm_per_min: 5000.000
acceleration_mm_per_sec2: 50.000
max_travel_mm: 300.000
soft_limits: false
homing:
cycle: 1
positive_direction: true
mpos_mm: 0.000
feed_mm_per_min: 100.000
seek_mm_per_min: 800.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100

motor0:
  limit_neg_pin: NO_PIN
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm:1.000
  stepstick:
    step_pin: I2SO.3
    direction_pin: I2SO.4

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

spi:
miso_pin: gpio.39
mosi_pin: gpio.23
sck_pin: gpio.18

sdcard:
card_detect_pin: NO_PIN
cs_pin: NO_PIN

探针:
引脚:NO_PIN
check_mode_start:false

开始:
must_home:假

激光:
spinup_ms:1000
spindown_ms:1000
tool_num:0
pwm_hz:20000
output_pin:gpio.32
enable_pin:gpio.22
disable_with_s0:true
s0_with_disable:false

速度图:0=0.000% 1000=100.000%

冷却剂:
flood_pin:NO_PIN
mist_pin:NO_PIN delay_ms
:0

非常感谢

缓冲区、最大速度、dpi #329 frank8500 添加了 把招工广告 需要额外注意标签 2022 年 3 月 3 日
缓冲区、最大速度、dpi #329
所有者

感谢您测试这些参数。

有些项目可以很容易地改变。其他人更难。大多数缓冲区都有一个索引变量,用于跟踪缓冲区中的位置。在许多情况下,这是一个 unit8_t 变量,因此它被限制为 255。其他事情可能与具有最大大小的基于硬件的功能有关。

最新版本的 devt 分支允许您更改其中的一些内容。请参阅公关 314。这些记录在 wiki 中。高度优化激光器的值可能会对其他类型的机器产生负面影响,因此我们需要保守的默认值,但允许高级用户进行调整。

您正在查看的核心数字显示了分配给哪些核心各种任务。我们通过核心将运动控制与其他任务分开。大多数运动都是通过 ISR 控制的。尝试将运动控制放在多核上是不切实际的。

disable_with_s0:真/假
s0_with_disable:真/假

有单独的引脚用于输出和禁用。这些值允许您将它们联系在一起。例如,如果您发送 M3S1,您将打开使能引脚并打开输出引脚。如果您随后发送 S0,则只有输出引脚会关闭。如果您仅发送 M5,则启用将关闭。

With disable_with_s0: S0 也会关闭使能
With s0_with_disable: M5 也会关闭输出引脚。

缓冲区、最大速度、dpi #329

随着 BLOCK_BUFFER_SIZE 的增加,您是否看到速度持续增加,或者它是否在某个时候达到最大值?

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
把招工广告需要额外注意
项目

还没有

发展

没有分支机构或拉取请求

3人参加
缓冲区、最大速度、dpi #329缓冲区、最大速度、dpi #329缓冲区、最大速度、dpi #329

喜欢 (0)