开源改变世界!!

grbl CO2 激光控制

推推 grbl 3年前 (2022-06-10) 655次浏览 0个评论

我喜欢你的工作,我想用这个控件而不是 Arduino Mega 进行 CO2 激光切割。
我做了一个测试台。我设置了激光模式和我找到的信息。但是当 gcode 运行时,激光并没有打开。我在 80% 时测量并输出 0.15 伏特。
如果我直接运行命令(gcode sender),那么它工作正常。

有什么方法可以连接 nextion 显示器吗?我想尝试一下。

谢谢
对不起,我的英语不好。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 5 日

您是用示波器或逻辑分析仪检查 PWM 吗?您可能需要将电压从 3.3v 转换为 5v。

没有计划添加显示器。电话或网络浏览器是目前的计划。

话虽如此,我认为添加显示器并不难。

grbl CO2 激光控制

谢谢回复!
我确定你必须切换到 3.3 伏。因为激光器的电源是5路,所以是PWM工作的。这就是为什么我想我会尝试一个平滑的 Led。
有趣的是,它只是在工作期间无法正常工作。试运行或直接命令效果很好。你建议改变什么?

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 5 日

@gflaser-au他的 CO2 激光器取得了巨大的成功。他对 PWM 进行了一些更改以获得最佳性能。我不记得确切的变化,但他确实通过电平转换器更改为 5V。

grbl CO2 激光控制

非常感谢您的帮助!
不幸的是,现在是 2 点钟,我没有太多选择。
我使用 NPN 晶体管来解决移位问题。您对 PWM 设置是正确的。现在您可以在每个程序上打开激光。但是你不能超过80%。如果我在上面设置此值,请不要打开激光。或者我不能低于 2。(有这么多 S1 命令)

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 5 日

最大 RPM 设置为 1000 这里是 S950 (95%)

grbl CO2 激光控制

使用 S10 (1%)

grbl CO2 激光控制

这些是我的设置

#ifdef CPU_MAP_ESP32
	// This is the CPU Map for the ESP32 CNC Controller R2	
	
	  // It is OK to comment out any step and direction pins. This
    // won't affect operation except that there will be no output
		// form the pins. Grbl will virtually move the axis. This could 
		// be handy if you are using a servo, etc. for another axis.
		#define X_STEP_PIN      GPIO_NUM_12
		#define Y_STEP_PIN      GPIO_NUM_14
    #define Z_STEP_PIN      GPIO_NUM_27		
		
		#define X_DIRECTION_PIN   GPIO_NUM_26
		#define Y_DIRECTION_PIN   GPIO_NUM_25  
		#define Z_DIRECTION_PIN   GPIO_NUM_33 
		
		// OK to comment out to use pin for other features
		#define STEPPERS_DISABLE_PIN GPIO_NUM_13		
		
		// *** the flood coolant feature code is activated by defining this pins
		// *** Comment it out to use the pin for other features
		#define COOLANT_FLOOD_PIN 	GPIO_NUM_16			
		//#define COOLANT_MIST_PIN   	GPIO_NUM_21
		
		// If SPINDLE_PWM_PIN is commented out, this frees up the pin, but Grbl will still
		// use a virtual spindle. Do not comment out the other parameters for the spindle.
		#define SPINDLE_PWM_PIN    GPIO_NUM_17 
		#define SPINDLE_PWM_CHANNEL 0
		// PWM Generator is based on 80,000,000 Hz counter
		// Therefor the freq determines the resolution
		// 80,000,000 / freq = max resolution
		// For 5000 that is 80,000,000 / 5000 = 16000 
		// round down to nearest bit count for SPINDLE_PWM_MAX_VALUE = 13bits (8192)
		#define SPINDLE_PWM_BASE_FREQ 5000 // Hz
		#define SPINDLE_PWM_BIT_PRECISION 12   // be sure to match this with SPINDLE_PWM_MAX_VALUE
		#define SPINDLE_PWM_OFF_VALUE     0
		#define SPINDLE_PWM_MAX_VALUE     4096 // (2^SPINDLE_PWM_BIT_PRECISION)
		
		#ifndef SPINDLE_PWM_MIN_VALUE
				#define SPINDLE_PWM_MIN_VALUE   1   // Must be greater than zero.
		#endif
		
		#define SPINDLE_PWM_RANGE         (SPINDLE_PWM_MAX_VALUE-SPINDLE_PWM_MIN_VALUE)		
		
		// if these spindle function pins are defined, they will be activated in the code
		// comment them out to use the pins for other functions
		//#define SPINDLE_ENABLE_PIN	GPIO_NUM_16
		//#define SPINDLE_DIR_PIN			GPIO_NUM_16		
		
		#define X_LIMIT_PIN      	GPIO_NUM_2  
		#define Y_LIMIT_PIN      	GPIO_NUM_4  
		#define Z_LIMIT_PIN     	GPIO_NUM_15 	
		#define LIMIT_MASK      	B11
		
		#define PROBE_PIN       	GPIO_NUM_32  
		
		#define CONTROL_SAFETY_DOOR_PIN   GPIO_NUM_35  // needs external pullup
		#define CONTROL_RESET_PIN         GPIO_NUM_34  // needs external pullup
		#define CONTROL_FEED_HOLD_PIN     GPIO_NUM_36  // needs external pullup 
		#define CONTROL_CYCLE_START_PIN   GPIO_NUM_39  // needs external pullup    		
		
#endif```


grbl CO2 激光控制
贡献者

gflaser-au 评论 2018 年 12 月 5 日

我可以稍后发布我的设置,但是:
1,npn 将反转信号,除非您使用两个。
2、大多数激光电源需要20kHz以上的pwm频率。
3、激光器不会在低于 10% pwm 左右发射。为了解决这个问题,grbl 有一个最小的 pwm 设置。(你可以在我稍后发布时看到我的设置)

4、我用高速光耦代替了npn,把esp32和激光psu隔离开来。

Esp32 grbl 非常适合 Co2 激光器。我的 100w 和我确实遇到了一些噪音干扰问题。我已经通过硬件和固件更改的组合解决了这些问题,但现在效果不佳!

grbl CO2 激光控制

我试图将负极与晶体管连接。我用2个晶体管尝试了正极。但是一直没有出现任何迹象。当 Gcode 运行时,几乎没有任何东西。现在我将看到几乎恒定的接地正在发出输出信号。所以你不能蜂蜜它。但是正极纤维的直径是3v买的。
不幸的是,我无法测量范围,因为它坏了。
我认为这对这种控制也很好。到目前为止,我做了 Arduino Uno,但我不喜欢它,所以我把它换成了 Arduino Mega。拥有这种控制权会很棒。我要做。但是我被卡住了。:-(

grbl CO2 激光控制
贡献者

gflaser-au 评论 2018 年 12 月 6 日

我建议向发件人输入一些 g 代码命令。然后您可以更轻松地进行测试。(我使用LaserGRBL)
(归零后,或设置零位)
手动输入:
M3S500
G1x1y1

如果最大速度为 1000,您将看到 50% 的 PWM 输出 – 只要您不使用任何其他会导致激光关闭的命令。(例如 G0)。
然后您可以使用:
M3S250 设置为 25%,M3S750 设置为 75% 等。

如果你没有’范围,这将很困难 – 但尝试使用直流万用表并检查平均直流值(如果你的仪表有频率,则检查频率。)
尝试在 ESP32 PWM 引脚上不连接晶体管。然后从那里继续。

我很高兴检查您的设计。你能贴一张你的电路原理图,上面有 NPN 晶体管和所有部件名称和电阻值吗?

记得设置:
#define SPINDLE_PWM_BASE_FREQ 20000 //Hz
以获得 20kHz。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 6 日

@gflaser-au

你能提供你所有的主轴#defines吗?

grbl CO2 激光控制
贡献者

gflaser-au 评论 2018 年 12 月 6 日

我可以——只是不能马上。我离我的家庭办公室有点远。
如果我们能找到一种将特定于机器的 cfg 文件添加到 repo 的方法,那就太好了;)

作为起点,默认值 + 20kHz 应该没问题。
我将设置保持在 8 位分辨率,但默认设置应该可以很好地测试硬件设置。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 6 日

我在主分支 cpu_map.h 中添加了一些额外的机器。看看我是怎么做的,看看你是否可以添加你的机器。

grbl CO2 激光控制

我正在使用laserWeb(和其他)不幸的是,您输入的说明没有打开激光。仅用于程控控制。现在我有一个万用表。明天我想找一个scopot。板子输出(17pin)为3.3m:
Feed 0,S 1000=2.31v输出
feed 1000,S 1000=0.0v输出
Feed 1000,S500=0.8v输出
Feed 0,S500=1.15输出
Feed 10,S1000= 0.15v 输出
Feed 10, S500 = 0.0v 输出
对任何程序中输入的 M3 指令均不响应。(打印“OK”)运动命令没有问题。
明天我将测试一些晶体管设置并绘制图纸。
我查看文件 cpu_map.h。根据你的示意图,我编织了所有的腿。但是为了测试,我不是在做 PCB。
除了提议的 20,000 Hrz 之外,所有东西都在工厂#defines 中。

grbl CO2 激光控制
贡献者

gflaser-au 评论 2018 年 12 月 6 日

M3 只是将主轴控制状态设置为开启。S 设置速度 它不会移动任何轴。
您是否在 grbl cfg 中启用了激光控制?
如果您在重置后没有进行任何 g1 移动,请使用
G1x1y1F1000
(需要设置进给率,但如果您错过了,您应该会看到警告。)

在激光模式下,实际启动 pwm 需要 G1 cmd – 作为一项安全功能,除非处于运动状态,否则激光 pwm 会禁用。G0 将强制 PWM = 0,即使仍然设置了 M3S500。

grbl CO2 激光控制
作者

pityuka3d 评论 2018 年 12 月 6 日  

激光控制已启用。
但是PWM的实力不行!!!
我试图让它更简单。

如果轴移动,它们会取消该值。但在直立位置它只有 2.15 伏和 3.3 伏。

我关闭了安全最小移动。这就是 M3 命令现在的工作方式。
但到目前为止,LaserWeb 已经能够开启激光测试。即使G0

更新:
我从 D17 上移除了所有硬件。如果轴不移动,它们在 100% (M3S1000) 时有 3.3 伏电压,在 50% (M3S500) 时有 1.64 伏电压。
如果任何轴移动(例如:M3S500 G1x1y1),该值将降至 0.15 伏或以下!

对不起,我的英语还是不好!

grbl CO2 激光控制
作者

pityuka3d 评论 2018 年 12 月 6 日  

我遇到了一个带有 GRBL 的 Arduino Mega。基本上,它也适用于 5 V PWM。所以没有必要提高水平,但这不是重点。
在 100% 50% 的情况下为 4.75 伏特
为 2.41 伏特
轴在运动和不运动时是相同的。

但是这里没有停机监控功能,和你做的固件相差甚远!

grbl CO2 激光控制
贡献者

gflaser-au 评论 2018 年 12 月 6 日

你读过这个页面吗?
https://github.com/gnea/grbl/wiki/Grbl-v1.1-Laser-Mode

它解释了 grbl 的激光模式,以及 M3 / M4 的工作原理。

您在 s1000 / s500 对 pwm 的描述是可以的。
我不知道为什么它会在轴移动时发生变化(g1 命令)

画出你的电路并上传。我们将为您检查。

此外,请确保您的电源足够强大,可以运行步进电机和具有一些额外容量的控制器。我将 10A 12V 用于 2 nmea 17 步进器(~ 2A 额定值)

grbl CO2 激光控制

我在这里读到的最多的是与 m3 相关的 M4 的描述。这是我建立的第三个激光切割机。虽然它对我来说从来都不是 M4,但它是 M3-在我使用它。目前还没有电子电路,因为我完全清理了它,不打扰任何东西!

这里有几张来自问题的图片:
如果轴移动会带​​走 PWM 性能。
(我不能更简单地写下来)
grbl CO2 激光控制
grbl CO2 激光控制
grbl CO2 激光控制
grbl CO2 激光控制

PWM水平赢得了一个与网络迈出的一步,我尝试了一些。这里是一个例子:
https ://www.incrediblediy.com/2013/02/simple-33v5v-level-shifter.html
https://www.google.hu/search?q=3v3+pwm+to+5v&source=lnms&tbm =isch&sa=X&ved=0ahUKEwjohaefuovfAhWNyqQKHWR-A20Q_AUIDigB&biw=1931&bih=1267

我试了很多,但是3.3voltos有一个标志有问题。
你会如何把它和什么样的设置联系起来?发送,我试试看。

grbl CO2 激光控制

我忘记了 12v 10A 我使用营养 2 可能 3 Nema 和 17 台发动机(一个接一个 1.7 安培)
来自单独电源的泵我操作它。
现在应该只给出一个输出符号,或者控制一个led。
我不明白这是怎么回事。我将它重新排列到 cpu_map.h 禁令的另一个输出上。并且出现了这种现象。我已经想好了,董事会错了

grbl CO2 激光控制

这可能会有所帮助: 我知道这个乐器有一个游戏,但现在这个。 控制器板现在什么都没有,只有范围
grbl CO2 激光控制

grbl CO2 激光控制

 表哥 评论 2018 年 12 月 7 日  

grbl CO2 激光控制

我不希望它处于这种状态,+3v3 就这样吧。但是 3.26v/100% 对我来说已经不错了!
我希望它在工作期间通过该标志(雕刻,切割)而不是在火灾情况下进行测试。
目前,如果他认为它可以控制引擎,那么与工作期间的测试相比,您运行的任何其他 gcode 都比他的十分之一少。

grbl CO2 激光控制

我不能将此错误消息发送到包含 M4 指令的 gcode 吗?

错误:20 – 块中发现不支持或无效的 g 代码命令。

M3 没有这样的错误消息。
GRBL_Mega 适用于 M4。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 7 日

仅当您定义了主轴方向销时,才启用 M4。它没有在基本 cpu_map 中定义。如果未定义引脚,您将收到该错误。

我对 M4 做的不多。M4有特定的激光功能吗?

grbl CO2 激光控制

有区别,但它们都应该工作。M3 是连续的激光性能,而 M4 是动态变化的。对于二极管激光器,一种优于 CO2 激光器。然而,在这里,它将利用 PWM 的力量将固件链接到 gcode 运动。
让我知道如何登录。
我尝试每一个想法!:-D 或者在哪里找到故障?
如果您还设置了 esp 板,这是激光的错误吗?

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 7 日

我从未将 M4 模式用于激光。我认为代码是 ESP32 版本,但由于引脚定义而被禁用。过几天就可以查了

我可以验证 PWM 在激光模式下移动期间保持打开状态。

我不明白为什么你的 PWM 看起来像正弦波而不是方波。I/O 上是否有一些电容或负载。

grbl CO2 激光控制
贡献者

gflaser-au 评论 2018 年 12 月 7 日  

M4 有效 – 我在雕刻时使用它。@bdringgrbl 激光模式页面有说明。“动态电源模式”。- 在加速/减速过程中调整功率,这样您在移动开始/结束时就不会燃烧更多。

@pityuka3d在我看来,您的示波器是交流耦合的 – 或者通过电容器连接到 PWM。尝试 DC Coupled,或其他您可以访问的示波器。

另外,不要使用 S1000 测试…先使用 S250 / S750(检查 PWM 极性是否正确),然后将它们移至 S100 / S900。
S1000 将提供 100% PWM = DC ;)

此外,进给速度 F10 非常慢(我假设您使用的是公制设置?)。尝试 S1000 或更高版本,但请记住,测试 gcode 中的任何 G0(快速)移动都会关闭激光 – 因此,如果 gcode 混合了 G1 和 G0,您将看到较低的直流电压。

您应该在文本编辑器中手动制作 g 代码文件。仅使用 M3 然后 G1 命令。

我已经像您一样进行了测试(仅限 esp32),并且可以轻松地在 PWM 引脚上看到正确的直流电压。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 7 日

我也看到了类似的问题。移动时 PWM 关闭。当 LaserGrbl 发送具有大量 Sxxx 值的 gcode 时,PWM 会保持打开状态,但简单的 gcode 会出现问题。

这一定是最近在代码中出现的。我会试着弄清楚发生了什么。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 7 日

我想我可能找到了问题所在。我最近做了一个改变,将 PWM 分辨率提高到 12 位。某些地方的 PWM 计算是一个 uint8_t。

@pityuka3d在 cpu_map.h 中尝试更改为这些值并重新编译。

#define SPINDLE_PWM_BIT_PRECISION 8
#define SPINDLE_PWM_OFF_VALUE     0
#define SPINDLE_PWM_MAX_VALUE     256
grbl CO2 激光控制

@bdring
看来这解决了问题。非常非常非常非常非常感谢!!!!!!!!!
PWM 正弦信号是由错误的仪器引起的。这些中国“自己动手”的设备并不可靠。如果我不希望它在方向变化的边缘弯曲,我必须切割熔化或雕刻的材料时使用 M4。
我继续测试并分享每一个经验。

@gflaser-au
我们仍然不了解对方。可能是我的英语知识差和谷歌翻译是原因!
示波器处于 DC 模式,没有任何东西连接到 PWM 信号!这仪器太差了。
PWM 信号不稳定。这甚至可以在一个简单的 LED 上看到。
进给速率和 PWM 强度无关紧要。我测试 S100 到 S1000 和 F10 到 F5000。不管
它仍然是最终结果。只上传了这些照片。看来我们没有使用相同的固件版本。
例如,您写道您有 M4。这个错误没有发生在你身上,但在 bdring 我发生了。你可以发送你正在使用的固件版本吗?
在 Bdring 建议的更改之后,我在移动时已经收到了该信号。如果有问题,那么肯定是 Gcode 错误。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 7 日

@pityuka3d很高兴听到它解决了您的问题。我会尽快推动修复。我可能会在周末查看 M4 问题。@gflaser-au正在使用限制分辨率的 20kHz,所以我认为他使用的是 8 位分辨率。

grbl CO2 激光控制

我将
#define SPINDLE_DIR_PIN GPIO_NUM_16中的 cpu_map.h 文件
禁用并转到 M4。
如果我记得地板的脚,我会看看它。现在 M4 也将正确打开激光,但我会用它敲响并雕刻一下,你会发现…..
20 Khz 是 CO2 激光的标准频率。通常,每个电源都需要此频率或更高频率的 PWM 信号。
我正在做一个切片以使激光不适合并提高 5v 电平。此外,我释放了自由腿以供进一步开发(液晶显示器、控制器等)。
如果我有兴趣,如果我准备好了,我会发送它。

grbl CO2 激光控制
贡献者

gflaser-au 评论 2018 年 12 月 8 日  

听上去像@bdring解决了吗?我没有看到这个问题,因为我使用的是 8 位分辨率。
我的版本非常接近 WebUI 分支的最新版本。

示波器上的波形看起来与交流耦合完全一样,所以它可能已损坏。尝试检查另一个范围以验证它。

我之所以选择 8 位,主要是因为它在您添加更高分辨率之前已经仔细调整了最小 pwm 计数……这当然会改变最小值……而 8 位是足够的分辨率。这意味着我没有看到错误@bdring现在已修复。

grbl CO2 激光控制

问题已解决。我非常感谢您的帮助。
我认为控制 CO2 激光器几乎是 8 位分辨率。
不幸的是,这款中国 DSO138 示波器成功地获得了如此之快的速度。有时它甚至会显示自己的正弦参考信号。:-D
光耦合器是一个非常好的主意,它可以将接地与控制断开连接。我还没有想过这个。我正在努力。到目前为止,这个控件最喜欢我尝试过的所有东西。

grbl CO2 激光控制
所有者

婚戒 评论 2018 年 12 月 9 日

更新了主分支以修复 M4 命令。

如果定义了 SPINDLE_DIR_PIN 或打开了激光模式,现在支持 M4。

我要关闭这个问题。如果出现新问题,请开始一个新问题。

grbl CO2 激光控制

极好的!非常感谢!!!

喜欢 (0)

您必须 登录 才能发表评论!