开源改变世界!!

v-绘图仪 VS grbl #884

推推 grbl 2年前 (2023-01-23) 115次浏览

关闭
ps1x 打开了这个issue 2016 年 1 月 19 日 · 4条评论
关闭

v-绘图仪 VS grbl#884

ps1x 打开了这个issue 2016 年 1 月 19 日 · 4条评论

注释

v-绘图仪 VS grbl #884

你好!

我用 cncshield (GRBL)、垃圾打印机步进器和 GT2 皮带构建了壁式绘图仪,但现在唯一的问题是软件,因为我的绘图仪有极坐标。到目前为止我尝试的是 arduino 论坛的德语主题中的这个主题:http: //forum.arduino.cc/index.php? topic=226277.0 有很好的解决方案,但使用旧的 GRBL(我猜是 0.8)。它可以实时工作并转换坐标,但是当 g 代码中有很多点时,GRBL 开始变慢甚至松散步骤。然后我尝试了最新的 GRBL 固件,它在速度和很多方面都完美无缺。但是我找不到如何在代码中实现相同的功能,因为它改变了很多。

在这里,我包括来自德语主题的 planner.c 文件的一部分:

// V-Plotter calculations by 'jurs' for German Arduino Forum
// Details: http://forum.arduino.cc/index.php?topic=226277.0

#define XB 500.0
#define XA XB
#define YB 600.0
#define YA YB

void calc_ab(float x, float y, float &da, float &db)
{
  // db = b - b0
  db= sqrt((XA-x)*(XA-x) + (YA-y)*(YA-y)) - sqrt(YA*YA+XA*XA);
  // da = a - a0
  da= sqrt((XB+x)*(XB+x) + (YB-y)*(YB-y)) - sqrt(YB*YB+XB*XB);
}

void plan_buffer_line(float xx, float yy, float z, float feed_rate, uint8_t invert_feed_rate) 
{
  // Prepare to set up new block
  block_t *block = &block_buffer[block_buffer_head];
  float x,y;
  calc_ab(xx, yy, x, y);
  // Calculate target position in absolute steps


也许有人可以指出我可以在较新版本中实现相同功能的地方,那么它将是完美的。

感谢您阅读到那一行:)

ps 在这里你可以看到壁式绘图仪的基本概念:http: //www.patriciogonzalezvivo.com/2014/vPlotter/

v-绘图仪 VS grbl #884
成员

@ps1x: 我不能肯定地说什么会起作用,因为我不知道旧的 v-plotter 代码在做什么或物理如何变化。(Grbl 假定笛卡尔坐标轴。)但是,听起来他们所做的只是在规划器中将极坐标命令转换为线性命令,如您所示。如果是这种情况,代码的更改应该是相似的。恕我直言,使用脚本转换 g 代码本身并将转换后的代码发送到股票 Grbl 可能会更容易。

v-绘图仪 VS grbl #884
作者

感谢您的快速回复!我将尝试创建某种笛卡尔坐标到极坐标 g 代码转换器并在此处发布结果(如果有的话:)。

v-绘图仪 VS grbl #884
作者

我刚刚意识到没有办法将 G02 G03 代码转换为极坐标,可能更好的方法是将矢量图像转换为极坐标,然后将其转换为 G 代码…

v-绘图仪 VS grbl #884

在 2018 年尝试这个……找不到解决方案 :(

喜欢 (0)