OpenPNP里程碑配置

本文最后更新于:2025年4月15日 凌晨

前言

由于OpenPNP软件功能较为复杂,所以开发人员想到了一个好方法来解决上手困难的问题,那就是问题与解决方案(Issues and Solutions),俗称里程碑,软件会一步步指导你完成操作,走完里程碑,贴片机基本上就可以开始工作了。

里程碑界面(Milestone)

里程碑欢迎界面

转到问题与解决方案选项卡中,此页面就是软件的里程碑界面。

吸嘴单元(ReferenceHead H1)

本次DIY的贴片机使用2个吸嘴单元,由Z电机使用皮带传动控制2个吸嘴进行上下往复运动,所以按照如下图进行配置:

吸嘴单元配置

点击接受(Accept)后会有一个警告(Warming)弹窗,这是OpenPNP会根据你选择的吸嘴单元数量及传动方式在贴片机配置选项卡中生成相应的配置,一般情况选择“是(Y)”即可,可以看到ReferenceHead H1主题内容的当前状态由“Open”变为“Solved”,接下来按照下图步骤完成当前里程碑。

完成当前里程碑

顶部相机(ImageCamera Top)

底部相机(SimulateUpCamera Bottom)

驱动器定义(NullDriver NullDriver)

新建驱动器

对于Marlin固件,使用GcodeDriver即可。

新建GcodeDriver

点击接受(Accept)后,OpenPNP会自动在贴片机配置选项卡的驱动定义下生成一个GcodeDriver驱动器;以下简单说明一下OpenPNP中各驱动器类型的功能:

NullDriver
系统模拟的虚拟驱动器。

GcodeDriver[1]
同步驱动器,每次发送命令后会等待硬件返回ok才会发送下一条命令。

GcodeAsyncDriver[2]
异步驱动器,通过队列机制管理命令,无需等待硬件确认,可提高执行效率。

NeoDen4Driver

配置GcodeDriver驱动器

主板接通电源,并用USB数据线连接上电脑,将GcodeDriver驱动器中的串口号设置成电脑识别出的主板COM口,波特率和Marlin固件里的BAUDRATE参数保持一致。

配置GcodeDriver

再转到驱动配置选项卡,点击检测固件查看是否能成功显示固件信息,否则在进入下一里程碑时,OpenPNP会提示未检测到固件的警告:

未检测到固件

再回到查找问题和解决方案选项卡,按照如下图操作,会出来一个错误事件,提示当前固件不支持ABC轴(旋转轴),这是由于我的Marlin固件除了基础的XYZ轴,另外2个轴分别为E0,E1,所以会提示不支持,在后续配置中会将E0、E1定义为相应的旋转轴,此处我们选择拒绝(Dismissed)即可。

固件不支持ABC轴

设置串口流控制

设置串口流控制

点接受(Accept)击后,OpenPNP会将串口的流控制由Off改为RtsCts;接着完成当前里程碑即可。

分配各轴字母

X轴字母缺失

OpenPNP软件自动为x轴分配了轴字母:X,所以直接点击接受(Accept),将会为贴片机配置选项卡中的 -> x轴字母分配为X,其他的y、Z1轴也以此类推即可。

为X轴分配轴字母

对于C1、C2、C3、C4旋转轴,软件无法自动分配轴字母,所以我们手动改为E,然后点接受(Accept)即可:

C轴手动分配轴字母

执行上述操作后再次点击 查找问题与解决方案 按钮,会看出来一些新的主题内容,其中有2条错误事件,显示C1、C2轴使用了相同的轴字母,我们都选择拒绝(Dismissed)即可。

重复轴字母

再次点击 查找问题与解决方案 按钮,还是存在2条关于C1、C2轴的警告主题,显示尽量避免使用E作为轴字母,我们都选择拒绝(Dismissed)即可。

避免E轴字母

配置驱动器的Gcode

点击 查找问题与解决方案 按钮,往下翻可以看到OpenPNP建议配置驱动器对应的Gcode,我们都选择接受(Accept)即可,OpenPNP会自动填写对应的Gcode。

命令确认

Gcode 正则表达式
COMMAND_CONFIRM_REGEX ^ok.*

命令确认

报告位置

Gcode 正则表达式
POSITION_REPORT_REGEX ^.*X:(?<X>-?\d+\.\d+)\s*Y:(?<Y>-?\d+\.\d+)\s*Z:(?<Z>-?\d+\.\d+)\s*E:(?<E>-?\d+\.\d+)\s*E:(?<E>-?\d+\.\d+).*

报告位置

连接命令

Gcode 正则表达式
CONNECT_COMMAND G21 ; Set millimeters mode
G90 ; Set absolute positioning mode

连接命令

归位命令

Gcode 正则表达式
HOME_COMMAND {Acceleration:M204 S%.2f ; Initialize acceleration}
G28 ; Home all axes

归位命令

全局偏移量命令

Gcode 正则表达式
SET_GLOBAL_OFFSETS_COMMAND G92 {X:X%.4f} {Y:Y%.4f} {Z:Z%.4f} {E:E%.4f} {E:E%.4f} ; reset coordinates

全局偏移量命令

获取位置命令

Gcode 正则表达式
GET_POSITION_COMMAND M114 ; get position

获取位置命令

移动命令

Gcode 正则表达式
MOVE_TO_COMMAND {Acceleration:M204 S%.0f }
G1 {X:X%.4f} {Y:Y%.4f} {Z:Z%.4f} {E:E%.4f} {E:E%.4f} {FeedRate:F%.0f} ; move to target

移动命令

移动完成命令

Gcode 正则表达式
MOVE_TO_COMPLETE_COMMAND M400 ; Wait for moves to complete before returning

移动完成命令


OpenPNP里程碑配置
https://dongxunz.github.io/2025/04/09/贴片机/OpenPNP里程碑配置/
作者
dongxunz
发布于
2025年4月9日
许可协议