【问题标题】:How do I make smooth curves for a CNC?如何为 CNC 制作平滑曲线?
【发布时间】:2014-08-05 15:15:30
【问题描述】:

我正在制作基于 Arduino 的 X-Y 激光切割机。我已经为它构建了机制并完成了基本运动,但我无法让它绘制直线和曲线。我最终希望能够将 SVG 或 Illustrator 文件转换为 Gcode,或者让 Arduino 直接解释和绘制它们

A picture of my setup.

GRBL 和 Rstepper 等库提供基于 Gcode 的 2 线(步进和方向)指令。问题是我使用 ULN2003 芯片驱动两个步进电机,它使用 4 根线来步进电机的相位。

我可以让这些库中的任何一个用于 4 线控制吗?


如果没有,我将需要找到另一种方法来绘制我的设计。

我目前正在考虑如何为 SVG 或 G 代码样式指令制作函数。

//given a new position to go to and how we want to get there (i.e. curves)
for (i=0;xposition!==newx;i++) //run until x gets to the right spot
{
//get the values for X, Y, NewX, NewY, and any other parameters (e.g. for curves)
//figure out how many steps (say, +1 or -1) x should take for cycle number i
//figure out how many steps y should move given new x
//make the x stepper step the right number of steps
//make the y stepper step the right number of steps
//delay (control speed for adequate laser burning & don't make the steppers angry)
}

会不会太慢了?

【问题讨论】:

    标签: svg arduino cnc


    【解决方案1】:

    已经在这条路上浪费了很多时间,我会强烈建议您以 15-20 美元一个的价格购买一对 Easy Drivers。并使用 GRBL 继续您的项目。这是一个很棒的库,并且有一个不错的基于 Java 的开源激光切割机前端项目,名为Visicut。 Visicut 可以处理 SVG 文件或 gcode。

    如果您必须使用您拥有的芯片,Connecting Grbl 页面会列出此站点Driving stepper motor using ULN2003,但请注意:“它已过时并使用 Grbl v0.7。”

    (但说真的,硬件选择,因为“这就是一个人所拥有的”,而不是可能更容易实现的硬件,真的会像你一样从一个有趣的黑客项目中吸走乐趣) p>

    【讨论】:

    • 如果我有足够的声誉,我会投赞成票。感谢您的评论。至于 Easy Drivers,我也同样担心。 Visicut 是一个很好的领导者。我可能仍会尝试解决 ULN2003 问题的 X-Y 绘图,以避免让我低于 100 美元的项目结束。使用几何学更多地了解工程可能仍然是一种有趣的方式。不幸的是,提供的链接(我在其他几个地方看到过)似乎不包含实际信息。内容必须已被删除或移动。再次感谢!
    • @Corey - 呵呵...好吧,所以你正在进入兔子洞。做笔记! (严重地)。您将需要查看 Bresenham + DDA 线算法(将曲线分解为直线 - 这就是它的完成方式)。 GRBL 源代码中也有很好的 cmets @motion profile(加速控制)。 RepRap 项目有各种开源分支,它们进行运动控制,可能更容易理解/破解(因为它们比 GRBL 更冗长/效率更低)玩得开心! :-)
    • 你早就回复了。你的回答很棒。对于其他人来说,我一直坚持使用 GRBL 进行激光切割机和 3D 打印项目。 GRBL 执行 GCode,各种事物都可以与之交互。我使用 Illustrator 制作 SVG,然后使用 Inkscape 和名为 Unicorn 的 GCode 插件对其进行转换。为了将此 GCode 发送到运行 GRBL 的微控制器,当我有一个文件或 gctrl 用于处理自定义程序(例如在沙画机器人上自动生成禅宗花园图案)时,我使用 UGS(通用 GCode Sender)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2021-11-28
    • 2012-05-16
    • 1970-01-01
    相关资源
    最近更新 更多