Nomar记录一段历史
较低的波特率有什么影响?

我使用的波特率为 115200,因为我无法以建议的 250000 速率连接到我的打印机。较低的波特率是否有我之前达到的任何缺点或限制?

您是否遇到任何您怀疑可能与波特率有关的问题,或者您只是在问一般问题? :)
3D 打印机的波特率对速度的回报递减。您的打印机只能走得这么快。发送数据的计算机需要大量等待您的打印机跟上。 115200 的速度是如此之快,除非您的打印机速度超快,否则不会产生很大差异。

3个回答

波特率是信息在通信信道中传输的速率,以每秒位数 (bps) 表示。因此,250000 的波特率最多能够传输 250000 位/秒(31250 字节/秒)。使用串行端口时,通信线路的两端必须以相同的速度(相同的波特率)“交谈”以相互理解。

因此,当使用 11520 的波特率时,理论上您将被限制以大约 25000 的一半速度传输数据。如果您正在传输大量数据,这可能是您的应用程序的限制因素,但如果您不推动您的串行端口的限制,它可能根本无关紧要。

看起来我写的答案有点太长了:)
@darthpixel,不过,我认为您对低波特率的影响提出了一些好处! :)
谁-1这个,请评论为什么...
所以这主要取决于指令/时间。是否有一般的经验法则,例如,“如果您的模型有很多方向变化,您只能达到 xx mm/s 的速度”,或者已记录的单个案例? (我也对downvote的原因感兴趣, - 这是一个很好的答案)
我认为您不太可能将波特率降低到比实际机器慢的程度。如果信号中有很多噪声,例如使用廉价电缆可能会发生这种情况,则较低的波特率可能是一件好事。这就像说得更慢,以帮助别人了解你。我更喜欢简单地在我的打印机上使用 SD 卡并将我的 PC 排除在外。
@kamuro,在某些 delta 打印机上,如果您在打印机进行计算密集型移动时尝试导航菜单,您会注意到明显的延迟,在我的情况下,由于 CPU 有限。 :) John,增加的信噪比非常有趣!感谢分享。我也停止了从 USB 打印,因为您目前不需要 3D 打印机的额外变量.. :)
感谢您的洞察力。 Delta 打印机和缓慢的 LCD 响应是非 32 位 Arduino 处理器的已知问题。本质上,我认为如果我保持在 200 毫米/秒以下和超级复杂的模型,我就不需要担心较低的波特率;)
嘿伙计们 - 我想 LCD 的增量计算和滞后与低波特率无关,不是吗?这是小cpu管理一切的结果。或者 - 更准确地说 - 这是我会说的 CPU 缓慢和错误(或缺乏)中断处理的结果。
@darthpixel,这是真的,尽管如果不知道波特率是多少,有些人可能会怀疑它是相关的! ;-)
@kamuro,如果波特率仅与通过 USB 传输 gcode 相关,我怀疑您是否永远不必担心波特率:移动打印头的计算是由打印机硬件而不是您的计算机执行的(gcode 由每个个人打印机/固件)!
...这就是为什么我们必须选择一个固件来生成 gcode
@TormodHaugene:我知道,它仅用于传输 gcode。但是如果我们永远不需要担心它,为什么选择非标准波特率而不是标准 115200?
@kamuro,这是个好问题。显然你可以从 16MHz Arduinos 中挤出 [baud 2000000](http://forum.arduino.cc/index.php?topic=21497.0)(注意上一篇文章中的 hack),尽管参考文献 [states a max of 115200 ](https://www.arduino.cc/en/Reference/SoftwareSerialBegin)。另一方面,波特率 250000 显然用于 DMX,甚至还有一个 [外部 Arduino 库](https://github.com/mathertel/DmxSerial)。

如果您的打印机没有 SD 卡,那么计算机和 arduino 之间的整个通信都是“实时”执行的。有一些 arduino 可以吞下的数据缓冲区。然后它需要处理它(然后可以向您的应用程序发送一些报告),然后 arduino 准备好获取新的“一组”指令来处理。

现在。如果波特率太低,则可能会出现 arduino 完成其工作并不得不等待新数据的情况。在这种情况下,您可以看到打印机在等待来自 arduino 的信号和来自计算机的数据时暂停打印。这或多或少是低波特率的缺点。

如果你有一张 SD 卡,那么数据会从它那里被吸收,但报告仍然通过端口发送以在屏幕上显示结果。在这种情况下,您可以看到屏幕更新稍晚。

屏幕意味着实时预览的乐趣,但破坏打印过程(由延迟数据发送引起)意味着您的热喷嘴停留在同一位置,这可能会破坏表面甚至有点炸毁塑料。它还会渗出并因此产生持久的文物。

恢复 - 低波特率是邪恶的;)

所以这主要取决于指令/时间。是否有一般的经验法则,例如,“如果您的模型有很多方向变化,您只能达到 xx mm/s 的速度”,或者已记录的单个案例?
当然,如果您的切片器将曲线切割成太多块,那么它可能会出现,但是...如果您没有过多地调整(或者更确切地说是混乱)切片器/固件/波特率,那么我认为它不会出现。我找不到我读过的文章:(

如果 GCODE 行大约有 30 个字符(这大约是规范),那么您每秒最多可以以 115200 bps 的速度发送 420 个字符。

如果每个 GCODE 打印 0.15 毫米(例如在圆弧中),则圆弧/圆中的打印速度将被限制为 63 毫米/秒(直线不是问题)。

如果这对您有限制,那么您应该找到一种设置 250 kbps 的方法。

你没有提到你使用的固件,但如果你使用 Klipper,它通过串行线路压缩数据,连接速度不是问题。

我希望看到一个定量的答案。太棒了!请记住,切片器可能会生成短于 0.25 毫米的 gcode 行,以避免超过最大偏差。 0.1 到 0.5 毫米范围内的任何地方都是典型的,具体取决于模型分辨率和切片器设置的组合,因此这确实可能是速度明显低于 64 毫米/秒的限制因素。
50 字节也是相当长的一行: G01 X247.951560 Y11.817060 Z-1.000000 F400.000000
Z 过大(实际上,除了花瓶模式外,不会有任何明显的 Z 移动),但您忘记了 E 分量。根据我的经验,打印(拉伸和移动)行每行大约 30 个字符,所以我会说应用 3/5 的因子。它们的格式为`G1 Xxxx.xxx Yyyy.yyy Eee.eeeee`。

随机文章