Contact me: hankecnc@gmail.com

Arduino Nano 每一个问题 #1004

推推 grbl 3年前 (2023-01-23) 211次浏览

打开
nikryden 打开了这个问题 2021 年 2 月 17 日 · 10 条评论
打开

Arduino Nano 每一个问题#1004

尼克里登 打开了这个问题 2021 年 2 月 17 日 · 10 条评论

注释

Arduino Nano 每一个问题 #1004

我没有运气从 Windows 10 将十六进制上传到 Arduino Nano Every (ATMEGA4809)
我使用过 avrdude 但它对我不起作用。当我从 Arduino UI 上传任何示例时,它会起作用。
有没有人成功上传到 Nano Every 可以给我任何指示,感觉就像我在谷歌上测试了所有东西一样。

这是我使用的命令行

 "C:\Users\ryden\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" -C "C:\Users\ryden\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -p atmega4809 -c jtag2updi -P COM7 -b 115200 -e -D -U flash:w:"C:\temp/grbl.hex":i -U fuse2:w:0x01:m -Ufuse5:w:0xC9:m -Ufuse8:w:0x00:m {upload.extra_files}

结果:

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\ryden\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM7
         Using Programmer              : jtag2updi
         Overriding Baud Rate          : 115200
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): sign-on command: status -1
avrdude: jtagmkII_getsync(): timeout/error communicating with programmer (status -1)

avrdude done.  Thank you.

Arduino Nano 每一个问题 #1004

在 arduino 用户界面中,选择“工具/处理器”下的“Atmega 328(旧引导加载程序)”

Arduino Nano 每一个问题 #1004
作者

谢谢 109JB 的快速帮助,
但在我的情况下,它没有像Arduino Nano 那样工作,每个人都不使用“Atmega 328”,而是使用“ATMEGA4809”。

但我设法找到解决方案并将其放入 bat 文件中。
在我的案例中,解决方案是在端口 COM(n) 上使用 1200bps 打开/关闭强制重置 COM7。

这是我创建的 Bash(这是针对 Windows 的)

@echo off
c:\windows\system32\mode.com com7: baud=1200 dtr=on
c:\windows\system32\mode.com com7: dtr=off
"C:\Users\ryden\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" -C "C:\Users\ryden\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -p atmega4809 -c jtag2updi -P COM7 -b 115200 -e -D -U flash:w:"C:\temp/grbl.hex":i -U fuse2:w:0x01:m -Ufuse5:w:0xC9:m -Ufuse8:w:0x00:m {upload.extra_files}
pause
Arduino Nano 每一个问题 #1004

如果有人想接受这个,你已经做了什么来为正确的处理器编译。

Arduino Nano 每一个问题 #1004

你好@nikryden,

grbl 在 Nano Every 上是否正确工作?你遇到过任何问题吗?
是否可以使用 Arduino IDE 将 grbl 上传到 Nano Every?

Arduino Nano 每一个问题 #1004
作者

你好@Priedon,

它工作正常,但我没有用 Arduino IDE 上传它,我使用的是 bat 文件。
抱歉,在使用批处理文件解决方案后,我没有尝试使用 Arduino IDE 上传。

我的解决方案是在我的案例 COM7 中使用 1200bps 打开/关闭端口 COM(n) 强制重置。
如果您可以在 Arduino IDE 中做到这一点,抱歉我不知道。

Bash文件: uploadHex.bat

@echo off
c:\windows\system32\mode.com com7: baud=1200 dtr=on
c:\windows\system32\mode.com com7: dtr=off
"C:\Users\ryden\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" -C "C:\Users\ryden\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -p atmega4809 -c jtag2updi -P COM7 -b 115200 -e -D -U flash:w:"C:\temp/grbl.hex":i -U fuse2:w:0x01:m -Ufuse5:w:0xC9:m -Ufuse8:w:0x00:m {upload.extra_files}
pause

bash 仅适用于 Windows。
flash:w:"C:\temp/grbl.hex"是 hex 文件的路径。你在https://github.com/gnea/grbl/releases找到十六进制文件

为了找到通往 avrdude 的路径,我这样做了:
打开 Arduino IDE

  • File > Preferences > Show verbose output during: > compilation(取消选中)> upload(选中)> OK
  • 草图 > 上传
  • 上传完成/失败后(哪个无关紧要),向上滚动 Arduino IDE 窗口底部的黑色控制台窗口,直到找到 Arduino IDE 为上传生成的 avrdude 命令。这将显示位置并提供一个参考命令,您可以根据自己的需要进行调整。
Arduino Nano 每一个问题 #1004

你好@nikryden,

我已经调整了您的脚本以将 GRBL 上传到 Arduino Nano Every 板上,看起来脚本运行正常,但是当我启动 UGS 时它无法识别 GRBL 已连接。我从上面帖子中的链接下载了 .hex 文件,但这是正确的文件,还是需要其他步骤来为 ATMEGA4809 准备 .hex 文件?您有任何故障排除技巧吗?

谢谢

Arduino Nano 每一个问题 #1004
作者

@litherw我不使用 UGS,所以我帮不了你我正在使用 CNCJs 和http://chilipeppr.com/并且它与它们一起工作

我是前段时间所以我不记得我是否专门为 ATMEGA4809 编译了它,但这是我使用的http://gofile.me/4MzNh/CR3u4j2oj。该链接仅在 2022 年 4 月 15 日可用。
文件:
grbl2.hex、upload2.bat
您必须编辑 upload2.bat

Arduino Nano 每一个问题 #1004

@nikryden感谢你能这么快回复。我用 avrdude 脚本上传了你的 grbl2.hex,但仍然得到相同的结果——bCNC、UGS 和 chilipeppr 都连接并识别 Nano Every 板串行端口,但无法连接到 GRBL(无响应/显示离线)。可能我的串口波特率不对…

我会继续排除故障,暂时继续使用我原来的 Nano GRBL。再次感谢你。

Arduino Nano 每一个问题 #1004
作者

@litherw我在我的硬盘上发现了一个 grpl4.hex 文件,它略有不同,更新更小,你可以测试我不记得那是不是我最终使用的文件,我记得那是我使用的 grbl2.hex,但后来我在子文件夹中找到了更新的 grpl4.hex 文件。也许值得一试。
http://gofile.me/4MzNh/p0IsOvObh

Arduino Nano 每一个问题 #1004

我自己在 Linux 上使用 Arduino IDE 遇到了这个问题。@109JB他的回答对我来说几乎是正确的。但对我来说,这与仿真有关。我的修复是“工具 > 注册仿真 > 无 (ATMEGA4809)”

喜欢 (0)