注释
您可以使用 Arduino IDE 为芯片刻录“正确的”引导加载程序,以便从那里将其识别为 Arduino。您将需要另一个 Arduino 来执行此操作,所有内容都在文档中进行了描述。 或者,您可以从 Arduino IDE 发行版中手动选择 .hex 文件,然后自己使用 avrdude 将其刻录。 |
是的,在我引用的文档中有一件事让我非常困惑:PD0、PD1 和 PD2 是 X 的阶跃信号,但同时 PD0 和 PD1 被标记为 rx 和 tx 我怎么能将它们同时用于串行通信和阶跃 x? |
你在哪里读这个?X_STEP 是 PD2:https ://github.com/grbl/grbl/blob/master/config.h PD0 和 PD1 专门单独保留,使您能够将 G 代码流式传输到芯片。 |
http://dank.bengler.no/-/page/show/5473_connectinggrbl如果您查看此页面,它有点令人困惑,似乎串行端口已被占用,我希望文档更清晰一些并且有一个引脚。 h 在代码中,这样你就可以分配自己的引脚,我猜我被 reprap 软件宠坏了。 |
该页面非常非常旧,可能与当前的代码库不太相似。你要求的“pins.h”我在上次回复(config.h)中指出了你。 |
作为@csdexter说明,请在此处参考 github Wiki,因为这是 Grbl 的最新文档。 此外,另一个关于引脚配置的说明,您可以重新分配引脚,但它非常限于在同一端口上重新分配。这是因为许多引脚分配需要分开(限制和运行时引脚更改中断)并作为单个端口(step/dir)处理。如果您需要跨端口移动引脚,它可能会破坏某些东西并需要进行一些编码更改才能更正它。 目前,还没有计划让所有引脚和端口的所有内容都可配置。我不认为这在优先级列表中真的很重要,因为在我看来它不是很重要,我们希望保留对某些盾牌的遗留支持。如果您确实需要进行大规模的引出线更改,请告诉我您希望如何完成。我很好奇人们需要如何更改它,也许当我有时间时,更新代码以允许这样的事情。 |
此外,如果您发现文档令人困惑,请通过更新 Wiki 页面帮助我们保持文档的清晰和简洁。 |
很好,不是大规模的引出线改变,清晰简洁的引出线会很棒。对于我正在从事的项目,除了想要制造激光蚀刻板之外,还有一个问题是可以将 z 重新配置为(假设 z=-1 = pin high 和 z=1 = pin low。这会有所帮助使用我想到的用于激光蚀刻项目的 cad.py 工具链。现在,如果 Z 仍配置为步进电机,则在它提供步进脉冲时会有延迟,当然我可以通过设置 z= 来解决此问题-0.1 和 z=0.1 但我不知道方向销是否保持打开状态。 |
有一个 grbl 用户设置可以为像您这样的情况反转步进器启用引脚。你在刷机后更改它并第一次连接到 grbl。帮助消息或配置 grbl wiki 页面将向您展示如何执行此操作。 在连接 grbl wiki 页面上还有一个引出线图,config.h 文件应该非常简洁。 您可能想考虑使用主轴启用/禁用 g 代码命令来控制激光的开启和关闭,而不是 z 轴。如果您需要使用 z 轴,大部分与它如何执行相关的代码都在 stepper.c 文件中,但您需要警惕 planner.c 文件如何使用任意 z- 规划缓冲区非物理轴。无论如何,方向引脚将始终停留在最后一个方向命令上。 祝你好运! |
感谢 |
@chamnit如果他沿着虚拟 Z 的方向走下去,很容易为 Z 的每毫米步数指定一个已知的特殊值(例如 100),并且只在单独的块中发出(a)Z0.01 或 Z0 命令(b)(只是像CNC手册推荐的:出门先走Z,进门最后走Z)。我没有手动检查规划器,但如果它坚持将单独的 Z 块与最后一个非 Z 块聚合在一起,他可以在虚拟 Z 运动之前简单地注入一个非常小的停留(G04),这将作为一个序列为计划者点。 当然,明智的解决方案是使用 SPINDLE 线,因为他的激光器是 ON/OFF 类型的。可变控制仅用于调制激光器,要做到这一点,grbl 应该增加 3-D 打印机固件之类的能力,目前它还没有,IIRC 也不是这个项目的目标。 |
事情是然后我将不得不编辑 cam.py 的输出以打开/关闭主轴,即找到并替换 z-0.1 与主轴打开和 z1 与主轴关闭当然 z # 在这种情况下是任意的。 |
主轴控制的 M 代码为:M3/M4 使能 CW/CCW,M5 使能。M3 和M4 只是将主轴方向引脚设置为高电平或低电平。两者都设置主轴使能。 @csdexter: 我想你可以这样做。您真的必须注意确保没有带有任何运动命令的 X 和 Y 目标的 Z 目标。否则它应该像你所说的那样工作正常。但是,我认为使用主轴控制方法更清洁,因为它们旨在执行此操作并且会降低计划者搞砸某些事情的风险。创建一个简单的脚本来查找和替换 Z 命令应该很容易。无论哪种方式,两种方法都应该有效。 至于 3D 打印机固件的功能,我并不真正关心它们的固件能力。我更关心运动控制算法的基本操作。大多数 3D 打印机固件的运动控制算法设计得很差,并且经过调整几乎无法工作。事实上,大多数体面的都是基于 Grbl 并且通常是它的一个非常旧的版本。一旦安装了进给率覆盖并且步进器/规划器算法是坚如磐石的,Grbl 应该是 v1.0 并且准备好任何固件类型的功能,HAL 等。 说到这里,我想出了一个非常好的假期覆盖的解决方案,但需要一段时间来制定细节(当我有时间时)并确保代码是可靠的。如果一切按计划进行,它应该能够实时动态更改速率,并且规划器的开销应该会大大减少,这意味着复杂曲线的更高进给率将成为可能。 |
@chamnit我特别指的是控制沿 XYZ 运动和轨迹规划的辅助过程,即以最简单的形式对构建表面和挤出机温度进行 PID 处理。进一步向硬核移动一个档次,我们有实时挤出机(这是一个步进器)控制作为 XYZ 移动和用户指定值(E 字)的函数。 我希望这能让我更清楚我在说什么 |
嗨,我正在考虑使用带 328P 的自制电路板,但我不知道要使用什么引导加载程序(328p dip)所以我可以使用并行电缆对引导加载程序进行 bitbang,然后在 arduino ide 中编译代码并通过 usb 串行上传适配器。
还有第二个问题为什么没有支持论坛?
地拉米尔