开源改变世界

使用 PWM/TTL 激光 #186

推推 grbl 2年前 (2023-02-08) 596次浏览
关闭
Demitrius 打开了这个问题 2022 年 9 月 9 日 · 8条评论
关闭

使用 PWM/TTL 激光#186

Demitrius 打开了这个问题 2022 年 9 月 9 日 · 8条评论

评论

使用 PWM/TTL 激光 #186

不是真正的问题,更多的是寻求帮助。

尝试设置激光切割机/雕刻机。
激光模块有 VCC、GND 和 PWM 引脚。
正如我想象的那样,激光 PWM 引脚可以连接到 FAN 或 E0(挤出机)板端口。

将 Laser 与 grblHAL 一起使用的简单/更好方法是什么?

使用 PWM/TTL 激光 #186
贡献者

我相信激光 PWM 输入将连接到主轴 PWM 端口。

在你的 BTT SKR3 板上——主轴输出应该是 EXP1 接头上的引脚 9。

// Define spindle PWM output pin.
#define SPINDLE_PWM_PORT_BASE       GPIOB_BASE
#define SPINDLE_PWM_PIN             0                           // EXP1 - PB0, pin 9

(另请注意,您可以使用$pins命令检查引脚分配,但这并不能真正帮助您了解它连接到电路板上的哪个连接器。我已尝试将它们记录在地图文件中)。

使用 PWM/TTL 激光 #186
贡献者

@terjeio我没有激光模块,但只是想检查逻辑分析仪上的输出是否正常。

我在旧的 repo 上找到了这个laser_mode页面,它解释了恒定和动态 PWM 模式。PPI 插件在哪里适合所有这些?谢谢..

使用 PWM/TTL 激光 #186
贡献者

PPI 模式是激光功率控制的第三种选择,它根据移动的距离打开/关闭激光。IMO 它为切割提供了最佳的功率控制,因为它在输送到切割的功率与进给率之间具有接近线性的关系。
CO2 激光器在 PWM 输出电压和输送功率之间具有相当非线性的关系,不知道二极管激光器的性能如何。

使用 PWM/TTL 激光 #186
贡献者

谢谢,已经检查了逻辑分析仪上的输出并且有意义..

不过,我在 PPI 插件中观察到的一件事是,指定的每英寸脉冲数仅在低进给率时才正确。除了 H7 之外没有测试过任何东西,但对我来说它开始下降到 400 和 500 毫米/分钟之间的某个地方?

哦,注意到 F7 代码中有一个小错字;

diff --git a/Src/driver.c b/Src/driver.c
index 947d3c2..e4a4480 100644
--- a/Src/driver.c
+++ b/Src/driver.c
@@ -1899,7 +1899,7 @@ bool driver_init (void)
         .get_pwm = spindleGetPWM,
         .update_pwm = spindle_set_speed,
   #if PPI_ENABLE
-        .pulse_on = spindlePulseOn;
+        .pulse_on = spindlePulseOn,
   #endif
  #endif
         .config = spindleConfig,
terjeio 添加了对引用此问题的 grblHAL/STM32F7xx 的提交 2022 年 9 月 12 日

使用 PWM/TTL 激光 #186

我相信激光 PWM 输入将连接到主轴 PWM 端口。

在你的 BTT SKR3 板上——主轴输出应该是 EXP1 接头上的引脚 9。

// Define spindle PWM output pin.
#define SPINDLE_PWM_PORT_BASE       GPIOB_BASE
#define SPINDLE_PWM_PIN             0                           // EXP1 - PB0, pin 9

(另请注意,您可以使用$pins命令检查引脚分配,但这并不能真正帮助您了解它连接到电路板上的哪个连接器。我已尝试将它们记录在地图文件中)。

乔恩,第 9 针是 pwm,最大 3.3v。可以配置为5v吗?

激光模块是5v吧?

使用 PWM/TTL 激光 #186

使用 PWM/TTL 激光 #186

我找到了额外的信息。激光器可以通过 BTT 手动连接到 HE0/HE1 (PB3/PB4) 端口中的任何一个。

使用 PWM/TTL 激光 #186

我正在尝试这样做。

1 – 配置端口

#define SPINDLE_PWM_PORT_BASE       GPIOB_BASE
#define SPINDLE_PWM_PIN             3                           // HEAT0 - PB3

2 – 将电压表而不是激光连接到 HE0

使用 PWM/TTL 激光 #186

3 – 测试 HE0 输出。

M3 S200;
G1 F750.0 X65.666083 Y168.686816;

方式 A – 带跳线。电压表显示 S200
方式 B 的输出约为 6V – 跳线已移除。电压表始终显示 HE0 上的 0V 输出

根据 BTT 手册,方式 B 是正确的方式,但不起作用或者我的线路有误?

使用 PWM/TTL 激光 #186
贡献者
德雷斯科 评论了 2022 年 9 月 12 日  

我找到了额外的信息。激光器可以通过 BTT 手动连接到 HE0/HE1 (PB3/PB4) 端口中的任何一个。

好发现!

根据 BTT 手册,方式 B 是正确的方式,但不起作用或者我的线路有误?

我认为只是接线错误,请尝试从移除跳线的下部连接器(红色方块中的那个)获取信号。一旦它通过 5V 缓冲 IC,它应该是 PWM 输出。

编辑:如果你想使用其中一个螺丝端子连接,FAN 看起来更灵活一点电压(只需查看其 GitHub 页面上的原理图)。默认情况下,VFAN 连接到 VBB(直流输入电压)——但可以跳接到 VOT。看起来 VOT 的目的是由一个可选的 DC-DC 转换器提供,但不明白为什么你不能直接将板载 5V 跳接到 VOT。但是请不要相信我的话,双如果你想尝试这种方式,请检查原理图!

使用 PWM/TTL 激光 #186

移除跳线的下方连接器

乔恩,这行得通!谢谢你!