开源改变世界

Sanguino 上的 grbl #129

推推 grbl 3年前 (2023-01-21) 127次浏览

关闭
Greta-du-Velay 打开了这个问题 2012 年 10 月 26 日 · 14条评论
关闭

Sanguino 上的 grbl#129

Greta-du-Velay 打开了这个问题 2012 年 10 月 26 日 · 14条评论

注释

Sanguino 上的 grbl #129

你好,

我尝试在 Sanguino (ATmega644p) 上使用 grbl。有人报告说它有效(#87),但不适合我……

这是我的工作流程:

  • 我更改了 Makefile:DEVICE = atmega644p(也尝试过 328p)
  • 我没有配置任何关于 CNC 本身的东西。
  • 制作没问题
  • make flash 由于某些原因失败(-c avrisp2 不工作)。

我用过:avrdude -cstk500v1 -P/dev/ttyUSB0 -b38400 -D -Uflash:w:./grbl.hex:i -pm644p

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x1e960a
avrdude: reading input file "./grbl.hex"
avrdude: writing flash (18560 bytes):

Writing | ################################################## | 100% 6.24s

avrdude: 18560 bytes of flash written
avrdude: verifying flash memory against ./grbl.hex:
avrdude: load data flash data from input file ./grbl.hex:
avrdude: input file ./grbl.hex contains 18560 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 5.57s

avrdude: verifying ...
avrdude: 18560 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

当我连接到 arduino 控制台并输入“$”时,没有任何反应。我在 mac 和 linux 上都试过了。我尝试使用命令行等进行手动连接。

我想念什么?任何的想法?

谢谢,
J。

Sanguino 上的 grbl #129

一个 ATmega644p 有两个 UART。(UART0 和 UART1)我认为你必须在 serial.c 的代码中改变这个

Sanguino 上的 grbl #129
贡献者

我上传使用:
avrdude -p m644p -c arduino -P /dev/ttyUSB1 -b 38400 -D -U flash:w:grbl.hex:i

当然,您需要为 atmega644 应用我的补丁。

Sanguino 上的 grbl #129

谢谢大家的回答。

我们在哪里可以找到 atmega644 补丁?

Sanguino 上的 grbl #129
成员

我推@daapp的补丁到边缘分支。没什么大不了的,只需在发送和接收 USART 中添加一个 0(例如,USART0_UDRE_vect)

Sanguino 上的 grbl #129
贡献者

我正在尝试将 grbl 上传到 sanguino,但我无法让 avr-dude 工作。什么版本@daapp你正在用吗?

Sanguino 上的 grbl #129
贡献者

avrdude -p m644p -c arduino -P /dev/ttyUSB0 -b 38400 -D -U flash:w:grbl.hex:i

我使用 Debian/testing 和 avrdude 版本 5.11.1

Sanguino 上的 grbl #129
贡献者

我想让 grbl 在 sanguino 上工作。我已经将它上传到电路板上,它通过串行响应命令,直到步进电机移动我发送的每个命令,就好像驱动程序正在接收串行命令一样。有没有关于管脚分配的提示?比如什么别针不能用?

Sanguino 上的 grbl #129
贡献者

如 config.h step 和 dir 中所述,默认情况下引脚位于 portb 中,因此对于 sanguino 有引脚 10-15:
10 step x
11 step y
12 step z
13 dir x
14 dir y
15 dir z
查看 Atmega644 的数据表了解更多信息信息。

Sanguino 上的 grbl #129
成员

还要确保限制引脚和运行时控制引脚位于不同的寄存器上。否则我认为就是这样。

Sanguino 上的 grbl #129
贡献者

谢谢。我现在似乎能够将命令发送到步进驱动器,除了我在电子设备设置上的一些抖动,它在一些条板上有点自制,所以我认为它会吸收很多噪音。

Sanguino 上的 grbl #129
贡献者

我想报告我已经成功地让我的设置工作。谢谢你的帮助。

Sanguino 上的 grbl #129
成员

伟大的!感谢更新。除了重新分配引脚之外,您还需要对代码做些什么吗?我很好奇。

Sanguino 上的 grbl #129
贡献者

除了重新分配引脚外,还需要调整步进驱动器上的限流电位器。现在我只需要设置限位开关。哦,关于那个的问题。grbl 是否设置为处理每个轴的一个或两个限位开关?因此,一个开关将在 x、y、z = 0 处“归位”,而另一个将是每个轴最大行程处的“极限”。

Sanguino 上的 grbl #129
成员

它可以处理每个轴所需的数量。您需要做的就是将它们与引脚和地并联,这样如果其中任何一个触发,它就会将限位引脚接地。您可以设置归位循环的方向以使用归位掩码设置进行搜索。

喜欢 (0)