开源改变世界!!

MPCNC 板上的 PWM 问题 #294

推推 grbl 2年前 (2022-10-19) 131次浏览 0个评论
关闭
ericspooner 打开了这个问题 on 16 Nov 2019 · 14 条评论
关闭

MPCNC板上的PWM问题第294章

ericspooner 打开了这个问题 on 16 Nov 2019 · 14 条评论

注释

MPCNC 板上的 PWM 问题 #294

问候,

我最近买了一块 MPCNC 板,就在我看到一篇关于这块板的帖子https://github.com/bdring/4_Axis_SPI_CNC之前。我正在使用该板来控制我制造的二极管激光器和机器。机器与 Uno/CNC Sheild 配合使用效果很好,虽然我遇到了速度问题,因为当激光器开启 PWM 时,我只能从 atmega 获得大约 1550 mm/m。我一直在尝试获得一台能够在使用 PWM 时速度达到约 6000 mm/m 的机器,而 ESP32 看起来非常有前途。上面带有 TMC 驱动程序的另一块板会很棒,因为我想为我的项目添加无传感器归位。电线越少越好。

也就是说,该激光器已关闭 ebay,并且具有 3Pin 电源/PWM 连接。PWM 为 5v,我使用 cnc 屏蔽上的 Z+ 引脚。这完全符合预期。根据您输入到 grbl 的 0-255,电压从 0-5v 上升。现在我还是新手,还在学习,但这似乎是 TTL 和 PWM 的组合行为。我没有示波器,所以我无法检查引脚输出的占空比,但是当我对 MPCNC 板上的 ESP32 做同样的事情时,我基本上得到了开/关。M3S1 给我 100% 的功率,这与 M3S255 M5 关闭它的效果相同,S0 不会关闭它。我错过了一步吗?我真的很期待为 TMC 驱动程序内置 SPI 的 4 轴板。当您出售它们以帮助支持时,我很可能会得到一个玩。

谢谢!

MPCNC 板上的 PWM 问题 #294
所有者

婚戒 评论 2019 年 11 月 16 日

PWM 问题可能是几件事。

我的第一个猜测是你有它或有它的USE_SPINDLE_RELAY模式。这会将默认的最大 RPM 更改为 1。这意味着 1 或更大的所有“S”值都是全开的。这是因为,如果您尝试对继电器进行 PWM 操作,您会很快将其断开。

查看您使用的 cpu 映射并确保#define USE_SPINDLE_RELAY 已注释掉。还要检查你的 30 美元设置。我建议 30 美元 = 1000 美元。

MPCNC 板上的 PWM 问题 #294
作者

爱立信 评论 2019 年 11 月 17 日  

非常感谢您的回复。
$30=255.000 是我目前的配置。

在下面

#ifdef CPU_MAP_MPCNC  // all versions...select below

我有

// Note: if you use PWM rather than relay, you could map GPIO_NUM_2 to mist or flood 
	//#define USE_SPINDLE_RELAY

调整这些设置中的任何一个都能让我类似于 arduino 上的 CNC 防护罩吗?

	#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 8   // be sure to match this with SPINDLE_PWM_MAX_VALUE
	#define SPINDLE_PWM_OFF_VALUE     0
	#define SPINDLE_PWM_MAX_VALUE     255 // (2^SPINDLE_PWM_BIT_PRECISION)
	
	#ifndef SPINDLE_PWM_MIN_VALUE
			#define SPINDLE_PWM_MIN_VALUE   1   // Must be greater than zero.
	#endif

我也发现了这篇文章。/问题是否需要或应该使用这个亚马逊链接?有趣的是,当我将万用表放在 PWM 引脚上时,M3S0 的电压与 M3S255 相同,约为 1 伏。在我开始测试/播放以了解更多信息之前,我所做的唯一修改是将 config.h 中的 CPU MAP 更改为 CPU_MAP_MPCNC,因为那是板子。我立刻注意到我一直在获得 5v,并且在您的一张屏幕截图中,Intlk 被跳线,在这样做之后,我在运行 m3 命令后才得到电压,并且 m5 正确地将其关闭。

再次感谢您提供了这么棒的项目!!

MPCNC 板上的 PWM 问题 #294
所有者

婚戒 评论 2019 年 11 月 18 日

你的价值是 30 美元吗?

发送 $$ 以获取所有 $ 设置并在此处发布。

MPCNC 板上的 PWM 问题 #294
作者

爱立信 评论 2019 年 11 月 18 日  

不,我根本没有固定到 255,这只是我在 Uno 上的默认设置。我正在将 lightburn 用于软件,因此也很容易在此处更改该设置。驱动程序是 DRV8825 的。编辑:不确定是否重要,但这是我购买的 ESP32 开发板的亚马逊链接。如果有不同的我应该得到我也愿意接受。

$$
$0=3
$1=250
$2=0
$3=0
$4=0
$5=1
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=0
$23=3
$24=200.000
$25=2000.000
$26=250
$27=1.000
$30=255.000
$31=0.000
$32=1
$100=160.000
$101=160.000
$102=160.000
$110=6000.000
$111=6000.000
$112=3000.000
$120=2000.000
$121=2000.000
$122=1000.000
$130=375.000
$131=375.000
$132=300.000
MPCNC 板上的 PWM 问题 #294
所有者

婚戒 评论 2019 年 11 月 18 日

它连接了一个 MPCNC 控制器,当前的固件似乎工作正常。我还有一些其他问题和建议

  1. 你有什么版本的 MPCNC 控制器。查看板的底部进行修订
  2. 测量时电路板是否连接到激光器?
  3. 在这些测量期间,电路板是外部供电还是仅通过 USB 供电?
  4. 尝试发送rst=重置所有设置。
MPCNC 板上的 PWM 问题 #294
作者

爱立信 评论 2019 年 11 月 18 日  

当然,

  1. 版本 1.2.1
  2. 当显示 ~5v 已连接时,当显示 ~1v 未连接时。当电源进入电路板/电路板启动后,尝试连接激光。
  3. 两个都。我有外部电源,我使用 pronterface,没有 USB,只尝试了 web 界面。两个测试的结果相同。我在那里有外部电源,所以我可以确保司机工作,他们像冠军一样工作。
  4. 我会试一试!重置后,行为相同。只有更改的设置是 $32=1,所以我不会忘记 $100、101、102。

没有连接激光,M3S0 给出 ~0.65v 然后运行 ​​s1000 给出相同的 ~0.65v。连接激光后,使用 M3S0 获得约 5.1v 的电压,对于 S1000 也保持在该值。M5 将其正确关闭。以防万一,我也会重建/刷新固件。

MPCNC 板上的 PWM 问题 #294
所有者

婚戒 评论 2019 年 11 月 18 日

看来激光可能正在拉低信号。控制器是 3.3V,所以它使用了一个 3.3V 到 5V 的转换器。那不能通过下拉来驱动某些东西,因为它使用一个上拉电阻来提供 5V。

激光模组TTL能否接受3.3V信号并达到全功率?我们也许可以重新路由信号。

您是否打算同时使用主轴和激光。如果是这样,Grbl 是通过继电器还是 PWM 控制主轴?

MPCNC 板上的 PWM 问题 #294
作者

爱立信 评论 2019 年 11 月 18 日  

不,此板仅用于激光,没有任何计划在此板上使用主轴。这是激光模块,它是 5500mw Ebay 链接它没有关于他们使用什么板等的太多信息。据我所知,3.3V 似乎无法使其达到全功率,曾尝试使用BigTree Tech SKR 1.3 但 PWM 引脚仅为 3.3v,无法使用它进行相同的切割。我愿意使用其他硬件来驱动,但老实说,我在这方面的知识确实缺乏使用诸如光隔离器上拉/下拉之类的东西来获得我们需要的东西。我仍然在这里学习,遗憾的是我找不到太多东西(作为我的应用程序的示例),并且不想在我正在用它制作圣诞礼物时魔术抽我的激光驱动板: )。

编辑:激光 12v 直接来自 20A 电源,而不是通过电路板。它们都共享相同的 20A 12V 电源。Uno 的设置相同。

MPCNC 板上的 PWM 问题 #294
所有者

婚戒 评论 2019 年 11 月 19 日

我认为光隔离器可以工作。它需要是推拉式的,这样才能在 5V 侧驱动电流。大多数反相,因此最好“向后”驱动 LED,因此低输出是高输出。

Grbl_ESP32 也可以反转 PWM 信号。

MPCNC 板上的 PWM 问题 #294

MPCNC 板上的 PWM 问题 #294

太感谢了。我要订购其中的一些,并尝试进行设置。如果我有问题可以在这里发布吗?如果您不想要混乱,我可以继续尝试解决:)。又是一个很棒的项目,感谢您分享您的知识!

MPCNC 板上的 PWM 问题 #294
所有者

婚戒 评论 2019 年 11 月 19 日

这里很好,或者 Slack

MPCNC 板上的 PWM 问题 #294

附带说明一下,我从激光模块的销售中发现:频率:<15khz,PWM/TTL:控制器的 0-5V,因此 3.3v 不会使其满功率。这对我们的图表有帮助吗?

MPCNC 板上的 PWM 问题 #294

把零件放进去。我仍然是失败军队的一员,连线了,我现在仍然只能得到 0 或 4.81v,中间没有。

所以决定再次尝试正常,但是现在我什至无法重新上传固件,它不会在引脚上反转。我认为我的 ESP32 可能有些问题。您不会碰巧拥有指向您用于 ESP32 开发板的开发板制造商的链接吗?我在想这可能是我的问题一直是一个糟糕的董事会。

谢谢!

MPCNC 板上的 PWM 问题 #294
所有者

婚戒 评论 2019 年 11 月 22 日

尝试将其从控制器 PCB 上取下。将此 CPU MAP 粘贴到 cpu_map.h 中。这是一个超级简单的映射,将主轴指向某些板上的 LED。您也可以将 I/O 引脚更改为其他引脚。

#ifdef CPU_MAP_SPINDLE_TEST
	/*
	This is a simple cpu_map to test spindle function.
	
	Feel free to change the I/O pin, but GPIO_NUM_2 is often an
	LED on dev boards, so you can see it glow bright with high speeds
	and dim with low speeds
	
	send $rst=$ to reset all settings. RPM will be 0-1000
	
	*/
	#define CPU_MAP_NAME "Spindle Test Only"	
	
	#define SPINDLE_PWM_PIN    	GPIO_NUM_2
	#define SPINDLE_PWM_CHANNEL 0
	#define SPINDLE_PWM_BIT_PRECISION 8

	
	#define LIMIT_MASK 0  // no limit pins		
#endif

更改 config.h 以使用此 cpu 映射

#define CPU_MAP_SPINDLE_TEST

MPCNC 板上的 PWM 问题 #294
 
添加标题文本添加粗体文本,<Ctrl+b>添加斜体文本,<Ctrl+i>
添加引号,<Ctrl+Shift+.>添加代码,<Ctrl+e>添加链接,<Ctrl+k>
添加项目符号列表,<Ctrl+Shift+8>添加编号列表,<Ctrl+Shift+7>添加任务列表,<Ctrl+Shift+l>
直接提及用户或团队引用问题、拉取请求或讨论

添加已保存的回复

喜欢 (0)

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