开源改变世界!!

如何使用 328P #158

技术 grbl 2年前 (2022-10-31) 537次浏览 0个评论
关闭
terramir 打开了这个问题 2013 年 1 月 4 日 · 14 条评论
关闭

如何使用 328P#158

terramir 打开了这个问题 on 4 Jan 2013 · 14 条评论

注释

如何使用 328P #158

嗨,我正在考虑使用带有 328P 的自制板,但我不知道要使用什么引导加载程序(328p dip),所以我可以使用并行电缆对引导加载程序进行 bitbang,然后在 arduino ide 中编译代码并通过 USB 串行上传适配器。
还有第二个问题,为什么没有支持论坛?
泰米尔

如何使用 328P #158

您可以使用 Arduino IDE 刻录“正确的”引导加载程序,以便从那里将芯片识别为 Arduino。您将需要另一个 Arduino 来执行此操作,这一切都在文档中进行了描述。

或者,您可以从 Arduino IDE 发行版中手动选择 .hex 文件,然后自己使用 avrdude 进行刻录。

如何使用 328P #158

是的,在我引用的文档中,有一件事让我很困惑:PD0、PD1 和 PD2 是 X 的步进信号,但同时 PD0 和 PD1 被标记为 rx 和 tx 我如何将它们用于串行通信和步进 x?
泰米尔

如何使用 328P #158

你在哪里读这个?X_STEP 是 PD2:https ://github.com/grbl/grbl/blob/master/config.h PD0 和 PD1 被特别留下来使您能够将 G-Code 流式传输到芯片。

如何使用 328P #158

http://dank.bengler.no/-/page/show/5473_connectinggrbl如果您查看此页面,这有点令人困惑,似乎串行端口已被占用,我希望文档更清晰一些,并且有一个引脚。 h 在代码中,以便您可以分配自己的引脚,我猜我被 reprap 软件宠坏了。
泰米尔

如何使用 328P #158

该页面非常古老,可能与当前代码库不太相似。您要求的“pins.h”我在上一次回复(config.h)中指出了您。

如何使用 328P #158

作为@csdexter声明,请在此处参考 github Wiki,因为这是 Grbl 的最新和最新文档。

此外,引脚配置的另一个注意事项,您可以重新分配引脚,但它几乎仅限于在同一端口上重新分配。这是因为许多引脚分配需要分开(限制和运行时引脚更改中断)并作为单个端口(步骤/目录)处理。如果您需要跨端口移动引脚,它可能会破坏某些东西并需要进行一些编码更改来纠正它。

目前,还没有计划让所有引脚和端口的所有内容都可配置。我不认为这在优先级列表中真的很高,因为在我看来这不是很重要,我们希望保留对一些盾牌的传统支持。如果您确实需要大量更改引脚排列,请告诉我您希望如何完成。我很好奇人们需要如何更改它,也许当我有时间时,更新代码以允许这样的事情。

如何使用 328P #158

此外,如果您发现文档令人困惑,请通过更新 Wiki 页面帮助我们保持清晰和简洁。

如何使用 328P #158

好吧,没有大规模的引脚更改,清晰简洁的引脚会很棒。除了磨板之外,我正在从事的项目还有一个问题想要制作激光蚀刻板 z 是否可以重新配置为(假设 z=-1 = 引脚高和 z=1 = 引脚低。这会有所帮助使用我想到的激光蚀刻项目的 cad.py 工具链现在如果 Z 仍被配置为步进电机,在它给出步进脉冲时会有延迟,当然我可以通过设置 z= 来解决这个问题-0.1 和 z=0.1 但我不知道方向销是否保持打开状态。
我先看了一下configuration.h,虽然我看到一些我认为是用于电机启用/禁用引脚的代码,但我不太明白这是如何接线的。在 pololu 上,引脚保持高电平以禁用电机,低电平以启用电机,另一方面,使用东芝芯片,这是相反的,即拉低以禁用,拉高以启用。
定义 STEPPERS_DISABLE_DDR DDRB
#define STEPPERS_DISABLE_PORT PORTB
#define STEPPERS_DISABLE_BIT 0 // Uno 数字引脚 8
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)
你能指出如何改变这个吗?
我今天将开始使用 328p(dip 芯片)和 pololu 步进驱动器设计 3 轴和 2 轴板,尽管这也可以更换为与针兼容的 drv8811 pololu 载体。
我们会看看我能走多远,但如果一切按计划进行,电路板将是可自蚀刻/可铣削的

如何使用 328P #158

对于像您这样的情况,有一个 grbl 用户设置可以反转步进器启用引脚。您在第一次闪烁并连接到 grbl 后更改它。帮助消息或配置 grbl wiki 页面将向您展示如何执行此操作。

在连接的 grbl wiki 页面上还有一个引脚图,config.h 文件应该非常简洁。

您可能需要考虑使用主轴启用/禁用 g 代码命令来控制激光的开启和关闭,而不是使用 z 轴。如果你需要使用 z 轴,与它如何执行相关的大部分代码都在 stepper.c 文件中,但你需要注意 planner.c 文件如何使用任意 z- 规划缓冲区不是物理的轴。无论如何,方向销将始终停留在最后一个方向命令上。

祝你好运!

如何使用 328P #158

谢谢
泰米尔

如何使用 328P #158

@chamnit如果他沿着虚拟 Z 方式走,很容易为 Z 的每毫米步数指定一个已知的特殊值(例如 100),并且只在单独的块中发出 (a) Z0.01 或 Z0 命令 (b)(只需如CNC手册建议:出门先动Z,进去后动Z)。我没有手动检查过规划器,但如果它坚持将单独的 Z 块与最后一个非 Z 块聚合,他可以简单地在虚拟 Z 移动之前注入一个非常小的停顿(G04),它将作为一个序列计划者的点。

当然,明智的解决方案是使用 SPINDLE 线,因为他的激光器是 ON/OFF 类型的。变量控制仅用于调制激光器,为了做到这一点,grbl 应该发展类似 3-D 打印机固件的能力,它目前还没有,IIRC 也不是这个项目的目标。

如何使用 328P #158

问题是我必须编辑 cam.py 的输出以打开/关闭主轴,即找到并替换 z-0.1 与主轴打开和 z1 与主轴关闭当然在这种情况下 z # 将是任意的。
只是想让它更简单。顺便说一句,主轴开/关的 gcode 是什么?
泰米尔

如何使用 328P #158

主轴控制的 M 代码为:M3/M4 为启用 CW/CCW,M5 为禁用。M3 和 M4 只是将主轴方向引脚设置为高或低。两者都设置主轴使能。

@csdexter: 我想你可以这样做。您真的必须注意确保没有带有任何 X 和 Y 目标的 Z 目标以及任何运动命令。否则它应该像你所说的那样工作正常。但是,我认为使用主轴控制方法更清洁,因为它们旨在执行此操作,并且会降低计划者搞砸的风险。无论如何,创建一个简单的脚本来查找和替换 Z 命令应该很容易。无论哪种方式,这两种方法都应该有效。

至于做 3D 打印机固件所做的事情,我并不真正关心它们的固件能力。我更关心运动控制算法的基本操作。大多数 3D 打印机固件的运动控制算法设计非常糟糕,并且经过调整几乎无法正常工作。事实上,大多数不错的版本都是基于 Grbl 的,而且通常是非常旧的版本。一旦安装了进给倍率并且步进器/规划器算法坚如磐石,Grbl 应该是 v1.0 并准备好任何固件类型的能力、HAL 等。

说到这一点,我想出了一个非常好的解决方案,用于在假期进行覆盖,但是需要一段时间来解决细节(当我有时间时)并确保代码是可靠的。如果一切都按计划进行,它应该能够实时动态地改变速率,并且规划器的开销应该会大大减少,这意味着复杂曲线的更高进给率是可能的。

如何使用 328P #158

@chamnit我特别指的是控制沿 XYZ 运动和轨迹规划的辅助过程,即以最简单的形式对构建表面和挤出机温度进行 PID 处理。向核心进一步移动一个档次,我们有实时挤出机(它是一个步进器)控制作为 XYZ 运动和用户指定值(E 字)的函数。
在这个方向上的两个步骤,您可以根据实际零件/喷嘴温度、材料常数(ABS 或 PLA)和沉积层的指数及其结构脆弱性来实时调整挤出机。
三个步骤,我们到达了手电筒/激光控制领域,这是一个不同的野兽,因为它是完全动态的(在最低功率设置下,你会熄灭电弧,可能会产生昂贵的后果,超过最大值,你要么炸掉光学器件,要么熔化/燃烧零件,开始切割时需要更大的功率,而在通过狭窄的角落时需要更少的功率)。

我希望这能让我更清楚我在说什么:-)

 

如何使用 328P #158
喜欢 (0)

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