我一直在做一个基本上是 2D 打印机(点阵类型)的打印机项目。我们使用螺线管作为执行器在纸上留下印记。我们现在正在设计定制软件。但是我们遇到的一个问题是我们不知道如何设计软件,因为我们是这个领域的一群初学者。
我们正在研究的一个想法是基于位置确认技术。在这种技术中,计算机向控制器发送 G 代码。到达代码中定义的位置后,控制器发送确认,然后计算机发送下一个信号。这是我们目前正在研究的模型。
- 任何人都可以提出任何其他想法来完成这项工作吗?
- 我们的方法对吗?
- 3D 打印机是否使用相同的技术工作?
我一直在做一个基本上是 2D 打印机(点阵类型)的打印机项目。我们使用螺线管作为执行器在纸上留下印记。我们现在正在设计定制软件。但是我们遇到的一个问题是我们不知道如何设计软件,因为我们是这个领域的一群初学者。
我们正在研究的一个想法是基于位置确认技术。在这种技术中,计算机向控制器发送 G 代码。到达代码中定义的位置后,控制器发送确认,然后计算机发送下一个信号。这是我们目前正在研究的模型。
您似乎在询问对计算机提供的 G 代码流进行速率限制,但如果不是这种情况,您的问题中的更多上下文会有所帮助。
打印机往往以两种方式工作。
从本地存储读取 G 代码作为文本文件。在这里,解析器/控制引擎处于完全控制状态。
使用“ack”握手通过串行端口流式传输 G 代码。
3D 打印中使用的 G 代码的参考是RepRap Wiki。在这里,您将找到诸如ok
resend
和 之类的响应fatal
,它们指示何时处理上一个命令并可以发送其他内容,如果上一个消息被识别为损坏,或者是否无法恢复。
这种握手方式的基本规则是,在每次主机到从机事务之后,主机必须在发送另一个事务之前等待某个响应。如果您可以将系统设计为避免或不关心从机到主机方向的溢出,则从机可以发送 ACK 响应或其他异步事务。
在设计这样的握手时,您可以考虑所有可能出现问题的方式(假设界面不完美)。您如何处理丢失的请求并且永远没有 ACK?当超时时,您是否可以发出“良性”请求以查看打印机是否仍处于连接状态等。
3D 打印机固件使用源自 CNC 的 gcode,无需确认。它们向步进电机发送运动命令,例如G1 X10 Y10
将打印头沿 X 和 Y 方向移动 10 毫米。
您可以在 3D 打印板上使用现成的 3D 打印机固件,如 Marlin,并使用 X 轴或挤出机输出耦合到您的螺线管,发送G1 Z0.1
或G1 E0.1
,这将在短时间内启动它。您甚至可以在不同的螺线管上使用 E 和 Z。
您对正确接收指令感兴趣,还是对硬件如何执行指令感兴趣?这个答案不涉及控制器板和从另一个软件/硬件平台发送指令的软件之间的软件通信(见这个答案),这个答案解决定位/移动。
当前的大多数 3D 打印机不跟踪打印头的位置。软件指示头部去某个地方,但它从不检查它是否真的到达了那个确切的位置。未检测到步进机缺少步骤或跳过皮带上的槽口等问题,打印机将继续认为它已到达该位置。
跳过皮带是一个机械问题,不应该发生(除非错过步进器步骤,否则也无法检测到),但跳过步骤是可以被某些类型的步进驱动器(trinamic)检测到的。步进器不使用反馈回路来检查最终位置。与步进器相反,伺服器使用反馈回路,因此能够按照指示到达位置,但这会增加成本,伺服器更昂贵,因此在大多数“更便宜”的 3D 打印机中找不到。
由 3D 机器的设计者来选择定位系统的电机,如果负载不高,您可以选择没有反馈回路的步进电机,或者使用更高负载的伺服电机(基本上是带有一些定位电子设备的步进电机)反馈)。如果是步进器,您希望它到达您告诉它要去的目的地,对于伺服器,您知道它到达了那个确切位置。
回到你的问题的话题上,没有关于到达位置的反馈(你称之为确认),你只需按顺序或在缓冲区中将 G 代码发送到打印机电子设备,该打印机电子设备一次执行语句(这是由固件完成的,这是机器对收到的代码的回复的答案)。您对硬件的选择实际上决定了是否按照指示执行。请注意,大多数机器负载不高(3D 打印头不是很重,通常在 Z 前进时不会在其路径上碰到任何障碍物)证明无需反馈即可使用步进器。CNC 机器,当然是较大的机器,用于定位高负载切削刀具需要这样一个反馈回路,因为定位需要非常精确。您需要考虑打孔机中的作用力,但从我的角度来看,您的机器似乎没有高负载。在这种情况下,您不需要更昂贵的定位系统,也不需要在自定义软件中处理返回/反馈信号。
CNC系统,有意简化,分为几个步骤:
驾驶:它存在几种不同的策略:
g 代码的获取和解析可以软实时执行,但驱动需要硬实时,其精度决定了您的 CNC 可以管理的最大速度。
伺服器/步进器通常无法管理无限加速,这就是系统需要提前读取 g 代码指令以预测闭合角度或方向变化的原因。然后它应该将指示的速度降低到允许下一条指令的速度。
我希望这可以快速介绍该主题,显然,每个方面都需要进一步阅读。