注释
在下一版本的 LaserGRBL 中,我将添加一个选项,将设置分辨率设置为每条线之间的步长,而不是每毫米线数。 对于最终用户(需要了解有关其硬件的更多信息)来说,它变得稍微复杂一些,但肯定会产生更准确的结果和更少的伪影 |
@arkypita 我一直在玩一个 inkscape 插件,前段时间我添加了一个分辨率优化选项,您只需输入在 GRBL 中输入的步进电机每毫米的步数。然后调整分辨率以确保每个 X 和 Y 移动都是整数步。我使用以下公式。 分辨率 = 11 像素/行
因此,使用每毫米 10.666666667 行的新分辨率,您将在每个像素之间获得完美的 15 步。 希望你能使用这个公式。 |
@arkypita我认为我们可以在易用性和精确性之间取得平衡。我们可以允许用户输入浮点数而不是整数(默认为整数)。它对用户来说有点复杂,但它可以通过一些指南解决用户问题。 |
我正在考虑通过读取 $100、$101 参数并将它们存储在 LaserGRBL 中来从 arduino 获得分辨率(这样就可以使用它们而不必每次都从设备重新读取)。 然后提供可以由硬件管理的一系列分辨率之间的选择,作为最小间距的倍数。 |
在v2.6.0中实现并解决 |
@dungjk如果你想为图像分辨率编写 wiki,包括说明和示例图像,我会把你的工作放在这里: http: //lasergrbl.com/usage/raster-image-import/setting-reliable-resolution/ |
@arkypita 分辨率助手似乎没有达到预期的效果。如果我每毫米的步数为 80,而所需的分辨率为每毫米 11 行,则计算出的分辨率仍为 11。但是 11 是 7.27 步。如果将其降回每行 7 步,则分辨率应为 11.4286。 |
你是对的@mayhem2408我没有使用你建议的公式,我写的算法是错误的。现在应该是正确的。 请记住,关于您的公式,我必须考虑最小/最大值和误差(除以零等),因此该函数稍微复杂一些。 实际代码:
|
惊人的。2.6.1 工作正常,但你也可以将步数从 100 增加到 200 毫米限制吗?我有 5 台机器,其中 2 台超过了你的最大值 100。
|
我当然可以,我没想到有这么高分辨率的硬件:-) |
@arkypita惊人的。谢谢。就高分辨率而言,我的 Stepcraft 机器的分辨率为每毫米 133.3333 步,步进驱动器只有 1/2 步微步。如果我将它们设置为 1/16,则每毫米为 1066.66666 步。但这太过分了,GRBL 每秒只能处理 30,000 步,这会将我的提要限制在大约 F1800。拥有如此高的分辨率并牺牲如此多的速度似乎毫无意义。 |
@arkypitaV2.6.2 很好用。我会尽快发布一些照片。随着这段代码的发展,我的 inkscape 插件变得越来越冗余。做得好。 |
你好, 请问如何将质量设置为 30 线/mm – 我有最后一个 LaserGRBL,我的设置将我限制为 20 线/mm …. 我有 UV 激光二极管,我的 PCB UV 打印机上的实际轨迹约为 0.03 / 0.04 mm .. 先感谢您, 埃米尔 |
@emilvv 我知道有很多人在 PCB 上使用 LaserGRBL 但要使 LaserGRBL 适合这项任务是否有必要重新考虑我现在无法制作的大代码 |
你好, 谢谢您的回答 ! 是否可以使用另一个步长为 0.04 / mm 的 g 代码生成器,然后将其上传到 lasergrbl 并执行它?万一硬件支持此分辨率… 问候, 埃米尔 |
是的,lasergrbl 基本上是一个 G 代码流媒体,它的主要用途是加载 gcode 文本文件并将其发送到您的控制器(通常是带有 grbl 固件的 arduino),因此您可以将它与其他应用程序生成的任何 gcode 文件一起使用(如果它们尊重 gcode 标准!)。 光栅导入/矢量化是次要功能,适用于需要一种简单方法来雕刻图片并且不声称能够与“精确”任务竞争的人,例如雕刻技术图纸、pdb & co 需要对生成的 gcode 进行非常精细的控制. 在我看来,从一个矢量信息出发,本质上就是电子轨道的设计,将其转化为栅格jpg图像,然后通过矢量化操作将其重新转化为线条和路径,在精度方面肯定不能产生可靠的结果线和孔。 更好的解决方案是拥有一些软件,而不是可以从电子 cad 的原始文件格式生成 gcode,但我不知道是否存在 |
你好, 因为 UV PCB 打印正在“填充”PCB 轨迹区域….它是光栅雕刻… 逐行……它比矢量……雕刻..快得多 示例视频 .. https://www.youtube.com/watch?v=l4BX2r0ZkjI 谢谢您的回答 .. 埃米尔 |
一些用户报告说图像上出现膛线和网格问题
我的假设是,这可能是由于电机步长和所需分辨率之间的非完美重合。如果步进电机的步长为 0.21mm,那么硬件只能在这些地方产生线:0.0 – 0.21 – 0.42 – 0.63 – 0.84 – 1.05 等。当 LaserGRBL 产生 gcode 时,它对具体硬件一无所知,所以如果你问对于 5 行/mm,它为 0.0 – 0.2 – 0.4 – 0.6 – 0.8 – 1.0 等处的行生成 gcode
这意味着 arduino 上的 grbl 不能准确地重现这个位置,所以它会接近最近的一步。这可能会导致某些行以略有不同的间距(更大或更小)进行复制,并根据小数点的剩余方式进行模块化重复。
如果硬件可以达到 40 线/毫米(这是非常高的分辨率!),则近似值太小以至于无法看到,但如果硬件的分辨率更低或与分辨率相抗衡,则可以解释这种行为。