开源改变世界!!

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

推推 grbl 1年前 (2023-01-22) 140次浏览
关闭
fhollermayer 打开了这个问题 2017 年 12 月 28 日 · 71 条评论
关闭

更新 Woodpecker CNC GRBL 0.9 至 1.1f#336

弗勒迈耶 打开了这个问题 2017 年 12 月 28 日 · 71 条评论

注释

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

你好,我最近决定将我的中文“啄木鸟数控板”更新到最新的 grbl 版本 1.1f。

我找到了Mariano Gaston 的 YouTube 视频,该视频保证了此过程的可行性并显示了必要的连接。我还阅读了有关将限位开关连接到该板(#123)的问题,并且如那里所述,我重新检查了接头中关于那里映射到 328P 的所有引脚。出于某种原因,我无法在与 MISO 相关的引脚与其在芯片本身上的对应引脚之间建立直接连接。连接似乎被某种东西桥接了——也许是二极管?尽管如此,我还是尝试连接我的程序员(usbasp-clone 和 ArduinoISP)。- 长话短说,经过我们的几次摆弄,我终于成功地把我的控制器板弄坏了。

我知道这很可能不是 GRBL 本身的问题,因此不应将其作为问题发布,但我不知道到哪里寻找有关此特定问题的支持。对此深表歉意,但非常感谢您的帮助!

首先是我为终止董事会所做的工作,然后是我试图将其恢复的工作。

如上所述,我使用usbasp-cloneArduino Nano 作为 ArduinoISP。从一开始我就在使用 usbasp-clone 连接 Woodpecker 时遇到问题,所以我主要尝试使用 avrisp 进行更新。所有连接就位并连接外部电源后,我从 avrdude 那里得到了类似的东西:

`$ avrdude -c avrisp -p m328p -P com6 -b 19200 -B 100

avrdude.exe:AVR 设备已初始化并准备好接受指令

阅读 | ################################################## | 100% 0.02s

avrdude.exe:设备签名 = 0x0fca07
avrdude.exe:ATmega328P 的预期签名是 1E 95 0F
仔细检查芯片,或使用 -F 覆盖此检查。

avrdude.exe 完成。谢谢。`

几个小时后,我认为修改 Arduino 的 avrdude 配置以期待此设备签名是个好主意。我点击了“Burn bootloader”条目,它做了一些事情然后崩溃了。我没有从该过程中获得任何日志,但现在,该板不再在启动时串行打印其版本号。

从那时起,我尝试了许多不同的配置,使用 windows 和 linux 主机使用和不使用外部电源,使用其他 328p 芯片测试我的程序员,等等。
我当前的测试只是一个 avrdude 调用来查询设备签名。两个程序员都在工作,我用另一个芯片验证了这一点。出于这个原因,我假设程序员端的接线也是正确的。我多次检查了啄木鸟板的接线,对于通过未知组件连接的 MISO 引脚,我还尝试通过将电线直接连接到 atmega 引脚来绕过它。
使用 usbasp-clone 我总是得到“初始化失败”(windows 和 linux 主机)。使用 ArduinoISP,我得到两种不同的响应,具体取决于程序员 VCC 线的连接 – 尽管有外部电源 – 它是0x0fca07(连接 VCC)或0x1f9f0f(断开 VCC)但从来没有 0x1e950f 它应该是什么。我为 -B 参数尝试了不同的值,但没有成功。

那么,有什么建议吗?

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336
贡献者
香奈儿 评论了 2017 年 12 月 29 日  

从我可以从你的帖子中收集到的信息,它看起来不适合你。那个 youtube 视频没有提到刻录 v1.1 的具体细节,只是说这是可能的。它也没有说明必须更改 Arduino 配置才能使其正常工作。

根据我的经验,我从来没有遇到过通过编程器闪烁的任何问题。我只是确保一切都与控制器断开连接,因为编程引脚在 328p 上共享。我也只是使用命令行来编译和刷新,通常使用“-F”来覆盖签名检查,这可能对你有帮助,也可能没有帮助。

无论如何,关闭这个问题,因为它不是 Grbl 软件问题,但你和其他人仍然可以在之后发表评论。

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

非常感谢您的快速回复。“[…],通常使用‘-F’来覆盖”,而且我的电路板已经变砖这一事实让我有信心重试更新程序并且它成功了;)

我使用了 Arduino IDE、外部电源、断开的步进电机和主轴。我按照上一篇文章中的描述连接了一个 Arduino Nano,并更改了 avrdude.conf 中的设备签名

 RST       MISO
 |SCK      |MOSI
ooooooooooooooooo
ooooooooooooooooo
GND
更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

嗨 fxh1357!
好成功!

我不知道如何开始!你能帮我么?
我可以知道一步一步的程序吗?是否可以将实际的 .hex 作为备份?
您是否使用 IDE 创建 .hex 然后上传?
你有从你的 Nano 到啄木鸟板的连接图片吗?
IDE 中的哪些选项?“Arduino 作为 ISP”?
外部电源。在哪里?5伏?

谢谢!

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

所以我是个彻头彻尾的白痴,忘记在刷这个东西之前从 grbl 中复制设置。有没有人碰巧保存了这些设置,或者有这个装置的正确设置?

另一方面,我的电路板已经安装了 Arduino 引导加载程序,并且可以通过 Arduino 软件正常闪烁。我只需要选择 Arduino Uno 作为开发板,它就可以完美运行。现在,如果我能恢复设置….

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

好吧,您的设置取决于您的机器……不知道那是什么会让您很难得出合理的值。
另一方面,在我的 1610 的原始设置中唯一设置正确的是每毫米设置的步数…无论如何从头开始可能更好

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336
X3ms蛇 评论了 2018 年 1 月 13 日 通过电子邮件
更新 Woodpecker CNC GRBL 0.9 至 1.1f #336
作者

@X3msnake您能否提供从何处获取“原始固件”的链接?我认为对于使用略有不同的电路板和组件的各种 ebay 和全球速卖通卖家来说,这将是相当困难的 –

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336
作者

@VirtualEnder找到以下我当前使用的设置 –

#ifdef DEFAULTS_MINI_1610
  // Grbl generic default settings merged with the values present in the MINI 1610 CNC stock firmware (GRBL 0.9 on a WOODPECKER CNC board).
  #define DEFAULT_X_STEPS_PER_MM 800.0
  #define DEFAULT_Y_STEPS_PER_MM 800.0
  #define DEFAULT_Z_STEPS_PER_MM 800.0
  #define DEFAULT_X_MAX_RATE 5000.0 // mm/min
  #define DEFAULT_Y_MAX_RATE 5000.0 // mm/min
  #define DEFAULT_Z_MAX_RATE 800.0 // mm/min
  #define DEFAULT_X_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
  #define DEFAULT_Y_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
  #define DEFAULT_Z_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
  #define DEFAULT_X_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
  #define DEFAULT_Y_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
  #define DEFAULT_Z_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
  #define DEFAULT_SPINDLE_RPM_MAX 7000.0 // rpm
  #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
  #define DEFAULT_STEP_PULSE_MICROSECONDS 10
  #define DEFAULT_STEPPING_INVERT_MASK 0
  #define DEFAULT_DIRECTION_INVERT_MASK 5
  #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
  #define DEFAULT_STATUS_REPORT_MASK 3 // MPos enabled
  #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
  #define DEFAULT_ARC_TOLERANCE 0.002 // mm
  #define DEFAULT_REPORT_INCHES 0 // false
  #define DEFAULT_INVERT_ST_ENABLE 0 // false
  #define DEFAULT_INVERT_LIMIT_PINS 0 // false
  #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
  #define DEFAULT_HARD_LIMIT_ENABLE 0  // false
  #define DEFAULT_INVERT_PROBE_PIN 0 // false
  #define DEFAULT_LASER_MODE 0 // false
  #define DEFAULT_HOMING_ENABLE 0  // false
  #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
  #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
  #define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min
  #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
  #define DEFAULT_HOMING_PULLOFF 1.0 // mm
#endif

具体变化是 steps_per_mm、max_rate、spindle_rpm_max、direction_invert_mask 和 status_report_mask

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336
作者

@FelisucoVFR

我可以知道一步一步的程序吗?是否可以将实际的 .hex 作为备份?

查看grbl wiki中提供的指南。要获得正确的设置,您还需要检查“高级用户”部分以更改我在上一条评论中提到的配置。
要将 Arduino 用作程序员,也有一个指南,请参阅将Grbl 闪烁到 Arduino
要使用 Arduino Nano,请参阅Arduino Nano 作为 ISP 程序员

最重要的是,您需要调整预期的设备签名以欺骗 Arduino IDE 来刷新固件,而不管设备签名检查是否失败。(我还移除了连接到电路板和步进驱动器的所有电缆,以尽量减少副作用。)
要更改签名:

  • 尝试上传草图,avrdude 将打印出预期值和实际值。
  • 复制那个实际的设备签名并放入你的 avrdude.conf 中描述 m328p ( id = “m328p”) 的部分。只需在原始设备签名前添加一个 # 即可在之后轻松恢复它并添加一个新行,例如signature = 0x0f 0xca 0x07;该文件可以在以下位置找到%localappdata%\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9\etc\avrdude.conf
  • 您现在应该可以刷新固件了。

我在测试期间对读取设备签名进行了一些更改,因此您的第一次尝试可能会失败。只需重试,或再次更改签名。请注意,avrdude 将无法验证写入的固件,很可能是由于更改读取签名的相同原因!因此,预计上传后控制台会出现错误。

我不认为,有可能获得当前保留的 *.hex 文件,因为一些外围设备似乎干扰了下游,因此设备签名错误和校验和失败。那时我可能是错的。*.hex 文件本身不会带你到任何地方,因为问题本身就是把它放到板上。

您是否使用 IDE 创建 .hex 然后上传?

Arduino IDE 在上传时即时创建 *.hex 文件。

你有从你的 Nano 到啄木鸟板的连接图片吗?

看看将 ArduinoISP 连接到 WOODPECKER CNC

IDE 中的哪些选项?“Arduino 作为 ISP”?

更正“Arduino as ISP”并确保使用 Sketch->Upload using Programmer。否则你只会将固件上传到你的程序员

外部电源。在哪里?5伏?

正如两周前我在评论中提到的,我终于成功地将 WOODPECKER CNC 板连接到它的 12V 电源。但是在没有连接电源的情况下,arduino 的 5V 连接也应该没问题。

我花了几个小时摆弄,让我的 CNC 再次运行。并且您有可能使控制器变砖。当您需要尽快使用您的机器时,我不建议进行此更新,因为新板会通过邮件到达。

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

@fxh1357

您能否提供从何处获取“原始固件”的链接?我认为对于使用略有不同的电路板和组件的各种 ebay 和全球速卖通卖家来说,这将是相当困难的

我不能,不知道用户板是什么,也不是卖家,如果是我的板,我会搜索规格和/或向卖家索要原始十六进制文件以重新上传。

它可能最终会变得太麻烦,我可能只是将数据表拉到电机上并测量轴距并使用重新计算器找到最接近我手头机器的设置

https://www.prusaprinters.org/calculator/

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

感谢@fxh1357,

我已经开始重建配置。我认为我们的机器基本相同,只是我的是 3018 版本。方向反转掩码是相同的,但我仍然对步数/毫米感到困惑。我达到了 750,但奇怪的是 Y 轴似乎与 X 轴和 Z 轴略有不同。我需要让它沿着每个轴以固定深度切割一些线并进行一些测量,但它非常接近。

不幸的是,电路板在切割过程中一直在重启,我仍在调试。这就是我尝试升级的部分原因,但它并没有解决问题。希望我能弄明白。

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

@fxh1357 非常
感谢!我会尽快尝试!
感谢所有的笔记。我花了一些时间研究 Arduino 作为 ISP,但我明白了。
我按照你描述的做了所有的事情,除了签名,因为我在 avrdude 使用了 -F 选项。我只是复制了 IDE 编写的长 avrdude 文本,并在 cmd 中添加了 -F。它覆盖了签名但得到了不同的错误。我现在不记得确切的错误了,抱歉。
我将更新有关失败的更好信息。
我有用作 ISP 的 UNO 和其他 CNC 防护板,所以我不担心电路板,但我想使用这个。

再次感谢!

更新 Woodpecker CNC GRBL 0.9 至 1.1f #336

我无法成功@fxh1357 我又
试了很多次,但没有办法。我得到以下信息:

C:\Users\3Dsuco>C:\Users\XXX\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\XXX\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:\Users\XXX\Documents\Arduino\Build_Folder/grbl11f.ino.ino.hex:i -F

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

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

喜欢 (0)