评论
所有者
感谢您测试这些参数。 有些项目可以很容易地改变。其他人更难。大多数缓冲区都有一个索引变量,用于跟踪缓冲区中的位置。在许多情况下,这是一个 unit8_t 变量,因此它被限制为 255。其他事情可能与具有最大大小的基于硬件的功能有关。 最新版本的 devt 分支允许您更改其中的一些内容。请参阅公关 314。这些记录在 wiki 中。高度优化激光器的值可能会对其他类型的机器产生负面影响,因此我们需要保守的默认值,但允许高级用户进行调整。 您正在查看的核心数字显示了分配给哪些核心各种任务。我们通过核心将运动控制与其他任务分开。大多数运动都是通过 ISR 控制的。尝试将运动控制放在多核上是不切实际的。 disable_with_s0:真/假 有单独的引脚用于输出和禁用。这些值允许您将它们联系在一起。例如,如果您发送 M3S1,您将打开使能引脚并打开输出引脚。如果您随后发送 S0,则只有输出引脚会关闭。如果您仅发送 M5,则启用将关闭。 With disable_with_s0: S0 也会关闭使能 |
合作者
随着 BLOCK_BUFFER_SIZE 的增加,您是否看到速度持续增加,或者它是否在某个时候达到最大值? |
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
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
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
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
非常感谢