Smoothieware固件配置文件详解

本文最后更新于:2025年4月15日 下午

前言

本文章主要针对Smoothieware for OpenPnP固件的配置进行记录,不包含所有参数说明,详细说明请查看官方网站:Smoothieware-Website-V1 Configuration Options

Smoothieboard固件引脚配置[1]

修饰符 符号 描述 示例
反转引脚 ! 英文感叹号 2.6!
开漏输出 o 小写字母o 2.6o
上拉 ^ Shift+6 2.6^
下拉 v 小写字母v 2.6v
无上拉 - 减号 2.6-
中断器模式 @ Shift+2 2.6@
无修饰符 默认上拉 2.6

运动控制

机器运动学

1
arm_solution                                corexy            # 默认配置参数:cartesian

机器运动学,可选参数:cartesian, corexy, linear_delta, rotatable_cartesian, morgan。

步进电机

每毫米脉冲数

1
2
3
alpha_steps_per_mm                           80               # alpha/X轴移动1mm所需脉冲数
beta_steps_per_mm 333.3333 # beta/Y轴移动1mm所需脉冲数
gamma_steps_per_mm 1600 # gamma/Z轴移动1mm所需脉冲数

步进电机每移动1mm所需的脉冲数。

电机引脚配置

常用轴电机引脚配置

1
2
3
4
5
alpha_step_pin                               2.2              # STEP引脚
alpha_dir_pin 2.6 # DIR引脚,可以在引脚号后面加 ! 来改变旋转方向
alpha_en_pin 2.1 # EN引脚
alpha_current 0.8 # 电机运行电流,单位:A
alpha_max_rate 12000.0 # 最大速率,单位:mm/min

只列出alpha/X轴电机引脚配置,其他轴可参考。

A/B旋转轴电机引脚配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
delta_steps_per_mm                           160              # delta/A轴移动1mm所需脉冲数
epsilon_steps_per_mm 160 # epsilon/B轴移动1mm所需脉冲数

# A axis
delta_step_pin 2.13 # STEP引脚
delta_dir_pin 0.11 # DIR引脚,可以在引脚号后面加 ! 来改变旋转方向direction
delta_en_pin 2.12 # EN引脚
#delta_current 0.8 # 电机运行电流,单位:A
delta_max_rate 12000.0 # 最大速率,单位:mm/min

# B axis
epsilon_step_pin 1.15 # STEP引脚
epsilon_dir_pin 1.14 # DIR引脚,可以在引脚号后面加 ! 来改变旋转方向direction
epsilon_en_pin 1.16 # EN引脚
#epsilon_current 0.8 # 电机运行电流,单位:A
epsilon_max_rate 12000.0 # 最大速率,单位:mm/min

本次DIY贴片机拥有1个吸嘴单元、2个旋转轴:C1、C2轴;在Smoothieware固件中,当轴定义超过普通的3轴(X、Y、Z)时,开发者对额外的轴分别定义为A(delta)、B(epsilon)、C(zeta)轴,所以需要在配置文件中手动添加A、B轴的电机引脚配置。[2]

配置步进电机电流

1
currentcontrol_module_enable                 true             # 通过配置文件控制步进电机电流

该配置只针对原版smoothieboard主板上的电机驱动(a4982)才有效,各种变种版本如果使用的不是该型号的电机驱动,可以更改为false

LED

板载LED

1
leds_disable                                 true             # 加载配置后禁用板载LED

原版smoothieboard主板板载了4个LED指示灯,占用的引脚分别为:P1.18(LED1)、P1.19(LED2)、P1.20(LED3)、P1.21(LED4),如果使用原版可以启用,各种变种版本视情况可更改为false

播放LED

1
play_led_disable                             true             # 禁用播放LED状态

原版smoothieboard主板才有的功能,其他变种版本视情况可更改为false

挤出机

贴片机不需要使用挤出机,所以请注释掉所有和挤出机(extruder)相关的参数。

激光

贴片机不需要使用激光,所以请注释掉所有和激光(laser)相关的参数。

热端

贴片机不需要使用热端,所以请注释掉所有和热端(hotend)相关的参数。

热床

贴片机不需要使用热床,所以请注释掉所有和热端(bed)相关的参数。

风扇

1
2
3
4
5
6
switch.fan.enable                            true             # 是否启用风扇控制功能
switch.fan.input_on_command M106 # 打开输出执行的M代码
switch.fan.input_off_command M107 # 关闭输出执行的M代码
switch.fan.output_pin 2.3 # 风扇控制引脚
switch.fan.output_type pwm # PWM控制
#switch.fan.max_pwm 255 # 最大PWM值,默认:255

担心主板核心部件过热可以启用散热风扇功能;如果不使用风扇,可以关闭该功能。

限位

硬限位

1
2
3
4
5
6
7
endstops_enable                              true             # 是否启用限位功能
#corexy_homing false # 如果机器运动学为 hbot 或者 corexy,请设置为 true
alpha_min_endstop 1.24^ # alpha/X轴最小限位开关引脚,可以在引脚号后面加 ! 来反转逻辑
#alpha_max_endstop 1.25^ # alpha/X轴最大限位开关引脚,可以在引脚号后面加 ! 来反转逻辑
alpha_homing_direction home_to_min # 归位时alpha/X轴往最小限位(home_to_min)或最大限位(home_to_max)方向移动。
alpha_min 0 # 如果归位时alpha/X轴往最小限位方向移动,那么触发最小限位后,当前位置为0
alpha_max 200 # 如果归位时alpha/X轴往最大限位方向移动,那么触发最大限位后,当前位置为200,请修改实际机器移动的最大距离

硬限位的相关配置,只列出alpha/X轴的配置详解,其他轴可参考。

软限位

1
2
3
alpha_max_travel                             500              # 归位时alpha/X轴最大行程,单位:mm
beta_max_travel 500 # 归位时beta/Y轴最大行程,单位:mm
gamma_max_travel 500 # 归位时gamma/Z轴最大行程,单位:mm

软限位最大移动距离限制,防止限位发生异常情况时,执行归位后主板一直没有收到限位触发信号而造成机器发生撞机,请按实际机器大小配置。

归位速度

1
2
alpha_fast_homing_rate_mm_s                  50               # alpha/X轴归位时最快速度
alpha_slow_homing_rate_mm_s 25 # alpha/X轴归位时最慢速度

alpha/X轴归位先以较快的速度进行移动,触发限位后再以较慢速度二次触发限位,以保证归位时的精度,其他轴可参考。

触发限位后移动距离

1
2
3
alpha_homing_retract_mm                      5                # alpha/X轴限位触发后,轴向前移动的距离
beta_homing_retract_mm 5 # beta/Y轴限位触发后,轴向前移动的距离
gamma_homing_retract_mm 1 # gamma/Z轴限位触发后,轴向上移动的距离

尽量不要设置为0,防止归位时一直挤压限位开关,影响使用寿命。

Z-Probe探针

1
2
3
4
5
6
7
zprobe.enable                                false           # 是否启用Z-Probe功能
zprobe.probe_pin 0.10!^ # Z-Probe连接的引脚,如果为NC(常闭),请移除 !
zprobe.slow_feedrate 5 # 探针进给率,单位:mm/s
#zprobe.debounce_ms 1 # 如果触发不灵敏,可适当设置
zprobe.fast_feedrate 100 # 移动进给率,单位:mm/s
zprobe.probe_height 5 # Z-Probe在距离Bed多高的位置开始探测
#gamma_min_endstop nc # Z轴最小限位距离?

贴片机不需要使用探针,所以可以关闭该功能。

屏幕

屏幕显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
panel.enable                                 false             # 是否启用屏幕显示功能

#panel.lcd reprap_discount_glcd
# 屏幕型号,可选型号:reprap_discount_glcd, st7565_glcd, ssd1306_oled, viki2, mini_viki2 and universal_adapter

#panel.spi_channel 0 # 要使用的SPI通道
#panel.spi_cs_pin 0.16 # SPI片选引脚
#panel.encoder_a_pin 3.25!^ # 旋转编码器A引脚
#panel.encoder_b_pin 3.26!^ # 旋转编码器B引脚
#panel.click_button_pin 1.30!^ # 确认按钮引脚
#panel.buzz_pin 1.31 # 蜂鸣器引脚
#panel.back_button_pin 2.11!^ # 返回按钮引脚

panel.menu_offset 0 # 在某些面板上,此值必须设置为 1;这是在屏幕上偏移菜单行的行数

panel.alpha_jog_feedrate 6000 # X轴慢进给速率,单位为mm/min;此参数用于通过屏幕进行慢进给
panel.beta_jog_feedrate 6000 # Y轴慢进给速率,单位为mm/min;此参数用于通过屏幕进行慢进给
panel.gamma_jog_feedrate 200 # Z轴慢进给速率,单位为mm/min;此参数用于通过屏幕进行慢进给

panel.hotend_temperature 185 # 选择预热时设置的热端温度
panel.bed_temperature 60 # 选择预热时设置的热床温度

贴片机基本上使用电脑进行控制,无需额外的屏幕进行控制,可以关闭该功能。

屏幕菜单

1
2
3
4
5
6
7
custom_menu.power_on.enable                true              # 是否启用屏幕菜单控制功能
custom_menu.power_on.name Power_on # 在屏幕菜单中显示的名称
custom_menu.power_on.command M80 # 执行该操作的G代码

custom_menu.power_off.enable true # 是否启用屏幕菜单控制功能
custom_menu.power_off.name Power_off # 在屏幕菜单中显示的名称
custom_menu.power_off.command M81 # 执行该操作的G代码

屏幕菜单只在启用了屏幕控制功能才有用,没有则可以关闭该功能。

网络

1
2
3
4
network.enable                               false            # 是否启用网络功能
network.webserver.enable true # 是否启用网页WEB服务
network.telnet.enable true # 是否启用telnet服务器
network.ip_address auto # 使用DHCP获取IP地址

原版smoothieboard主板板载了网口,可以通过网口与OpenPNP软件通讯;其他变种版本视情况选择是否启用。

系统

波特率

1
uart0.baud_rate                              115200           # 默认硬件UART串行端口的波特率

第二个USB

1
second_usb_serial_enable                     false            # 是否启用第二个USB串行端口

急停按钮

1
2
kill_button_enable                           true             # 是否启用急停按钮功能
kill_button_pin 2.12 # 急停按钮的引脚

特别鸣谢


Smoothieware固件配置文件详解
https://dongxunz.github.io/2025/04/09/贴片机/Smoothieware固件配置文件详解/
作者
dongxunz
发布于
2025年4月9日
许可协议