注释
我测试并使用了 2000000 winth arduino nano 克隆板和 CH340G(USB<-> 串行芯片),最大为 2000000。Atmega 上的工作精细错误百分比为 0%(对于 115.2k 错误为 2.1%)。正如 CH340G 数据表所说,误差不得超过 2% :)。 |
@mentyl最大值 未指定波特率。datasheet是这样写的: ‘CH340 supports common baud rate: 在 2015 年 2 月 15 日星期日下午 1:12,mentyl notifications@github.com写道:
|
是的,你说得对,但我认为没有为未列出的速度指定错误,并且可能大于数据表中的 0.3%。 |
我做了一次吞吐量计算。我记得,250000 波特不应该给你任何好处。Grbl 处理 gcode 的速度不能超过以 115200 波特发送的速度。 |
是的,除非你以高进给率发送很多非常短的移动命令(比如一条弧线分成几条线),否则你不太可能让 Grbl 在 115200 波特率下工作。此外,您更有可能在高波特率下出现通信错误。协议中没有校验和或类似的东西来检测坐标中丢失数字之类的东西,所以如果它对你没有好处,就没有必要使用更高的波特率。 |
在最坏的情况下,Grbl 可以每 4-5 毫秒处理和执行一个 g 代码块。这意味着在最高速率下每个块大约平均有 40-45 个字符。有实验通过@tbfleming(JScut) 在 YouTube 上展示了 Grbl 的高速加工性能。它受限于 g 代码解析、规划和执行,而不是 115200 波特。 我想在某些情况下,通过提高 250000 波特率,您可能会获得稍微更好的高端性能,但由于 115200 波特率是几乎所有东西都支持的标准波特率,我认为对于一般情况坚持使用它是安全的发布。 |
我用我的 arduino nano 和 CH340 USB 芯片测试了三个边界速率 115200、250000、20000000。使用简单的 C# 代码发送简单的 G 代码 |
更多测试,所有波特率上的更多错误。我只是在命令结束后使用 DJB2 算法添加一个散列;($H;21900)。但我将其添加到 protocol.c 。实时命令:Reset、Feed hold stile 有时会出现,因为它们在 serial.c 中解释时没有经过任何检查。 |
是否有任何理由支持没有可靠通信的 Arduino 克隆?为什么不直接使用真实的东西呢? |
价格 :),我认为“原始”arduino 板和 FTDI 芯片不能保证 100% 安全通信没有错误。 |
原来是什么?25 美元 还记得不久前的 FTDI 驱动程序崩溃吗? |
我想开始谈论波特率。
我已经将我的波特率设置为 250000 一段时间了,我得到了很好的结果。
如果您查看数据表http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete的表 20-7 .pdf它显示了常用的波特率和错误%。
我认为不改变的唯一原因是可以使用 Arduino 串行监视器。(反正我不用这个)。
我使用 GRBL-Panel(用于一般用途)和 Realterm(用于快速测试)这两种都可以调整波特率。