Klipper 配置记录

http://www.myxiaowu.cn/index.php/2024/03/16/ercf_v2_kuai_le_tu_diao_shi_zhi_nan/

https://www.printables.com/model/490761-v6-adapter-from-g18-bowden-fitting-to-direct-drive

https://github.com/Annex-Engineering/Belay/blob/main/docs/Quick_Start.md

RP2040 display ssd1306 0.96 屏幕

屏幕接线

param pin
GND GND
VCC VCC
SCL
SDA

编码器接线

param pin
GND GND
EN1 VCC
EN2
CL

klipper 配置

#显示屏及旋钮
[display]
lcd_type: ssd1306
#i2c_bus: i2c0d
encoder_pins: ^gpio24,^gpio23
encoder_steps_per_detent: 2
click_pin: ^gpio22

在 Klipper 中配置 PWM 输出,可以用于控制加热器、风扇、LED等设备。正确配置 PWM 输出不仅需要在软件中进行配置,也要确保硬件电路的正确性和安全性。

软件配置(Klipper)

要在 Klipper 中配置一个 PWM 输出,需要在 printer.cfg 文件中进行如下配置:

配置步骤:

  1. 定义输出引脚
    首先,你需要找到并定义与你的硬件相匹配的引脚。在配置文件中,可以这样定义一个 PWM 引脚:

    [heater_fan my_fan]
    pin: PA8
    max_power: 1.0
    shutdown_speed: 0
    

    这里,假设我们将 PA8 引脚配置为一个风扇的 PWM 输出。

  2. 选择适当的秒数参数
    你可以配置 cycle_time 以调整 PWM 信号的频率。举例:

    [fan]
    cycle_time: 0.010
    

    cycle_time 参数设定了 PWM 信号的周期时间(单位是秒)。

  3. 配置一些具体设备
    具体设备(如加热器、风扇)的配置示例如下:

    [heater_generic my_heater]
    heater_pin: PA9
    max_pwm: 255
    min_temp: 0
    max_temp: 150
    # 其他加热器参数...
    
  4. 风扇配置
    对于风扇,你可以使用 fan 模块:

    [fan]
    pin: PA8
    max_power: 1.0
    shutdown_speed: 0
    kick_start_time: 0.5
    

示例完整配置:

以下是一个完整的风扇配置例子:

[mcu]
serial: /dev/ttyUSB0

[fan]
pin: PA8
cycle_time: 0.010
shutdown_speed: 0
kick_start_time: 0.5

[heater_generic hotend]
heater_pin: PA9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 300
max_power: 1.0

硬件电路要求

在定义好 Klipper 的配置后,也需要确保硬件部分的正确连接和配置。以下是一些需要注意的硬件电路要求:

1. 引脚电流能力

MCU 引脚的驱动能力有限,通常在数十毫安以下,不能直接驱动大功率设备(如风扇、加热器)。

2. 需要使用晶体管或 MOSFET

为了驱动更高功率的负载,可以使用 NPN 晶体管或 N-channel MOSFET:

  • NPN 晶体管电路

    MCU PWM Pin - 1kΩ 电阻 - 晶体管的基极
    晶体管的集电极 - 连接到负载(如风扇)的负极
    晶体管的发射极 - 接地
    负载的正极 - 连接到电源正极(例如 +12V 或 +24V)
    
  • N-channel MOSFET 电路

    MCU PWM Pin - 10kΩ 电阻 - MOSFET 的栅极 (Gate)
    MOSFET 的漏极 (Drain) - 连接到负载的负极
    MOSFET 的源极 (Source) - 接地
    负载的正极 - 连接到电源正极(例如 +12V 或 +24V)
    

3. 电源电压和电流规格

确保负载使用的电源电压和电流在安全范围内,且电源能提供足够的电流。

4. 保护措施

考虑电路保护措施,例如使用飞轮二极管(Freewheeling Diode)保护 MOSFET 或晶体管,以防止感性负载(如电机)产生的反向电流损坏元件。

电流保护设计

使用电流保护措施,例如保险丝或电流保护 IC,确保在电流过大时保护电路和设备。

注意事项

  1. 安全第一:在操作和连接电路时,确保电源已断开,以防止意外触电或短路。
  2. 测试和验证:在实际使用前,先在低电压和小功率条件下测试电路,确保无误后再连接到高电压/大功率负载上。
  3. 文档和参考:仔细阅读和参考 Klipper 文档和你所使用的硬件(如 STM32 MCU、风扇、加热器)的手册,遵循其中的注意事项和建议。

通过以上配置和硬件要求,你应该能成功配置 Klipper 以便使用 PWM 输出功能了。希望这对你有所帮助!如果有其他问题,建议查阅 Klipper 官方文档或社区论坛获取进一步支持。

驱动舵机

在 Klipper 中配置 PWM 输出驱动舵机需要一些特定的设置,以及合适的电路设计,以确保舵机能够按照预期运行。以下是如何在 Klipper 中配置 PWM 输出驱动舵机的详细步骤,以及电路设计的要点。

软件配置(Klipper)

为了在 Klipper 中配置 PWM 驱动舵机,在你的 printer.cfg 文件中需要进行如下配置:

配置步骤:

  1. 定义 PWM 引脚:你需要定义一个专用的 PWM 引脚来控制舵机。确保选择的引脚支持 PWM 输出。

  2. 配置 servo 模块

printer.cfg 文件中添加以下配置,假设我们使用 PB6 引脚来控制舵机:

[servo my_servo]
pin: PB6
# 配置周期参数,一般舵机使用20ms周期(50Hz)
cycle_time: 0.020
# 配置舵机的最小和最大脉冲宽度,根据舵机要求调整(单位是秒)
# 这些数值通常为0.001到0.002秒
minimum_pulse_width: 0.001  # 1ms 对应 0度
maximum_pulse_width: 0.002  # 2ms 对应 180度
  1. 控制舵机的角度:在 G-code 命令中,你可以使用以下命令来控制舵机的角度。例如,假设你要把舵机转到 90 度的位置,可能的 G-code 命令如下:
SET_SERVO SERVO=my_servo ANGLE=90

硬件电路设计

舵机通常通过PWM信号进行控制,并且需要单独的电源供电。下面是硬件电路设计的一些要点:

1. 电源要求

  • 舵机通常需要5V或6V的电源供电。确认你的舵机的具体电压要求。
  • 不要直接使用MCU的电源引脚给舵机供电,因为舵机可能需要较大的电流。

2. 连接方式

  • PWM信号引脚: 连接到STM32的PWM引脚(如PB6)。
  • 电源引脚: 连接到外部电源(如5V或6V电源)。
  • 地引脚:连接到MCU地和电源地,确保共地。

3. 电路图示例

                   +----------+
                   |          |
                   |   MCU    |  <- PWM 引脚 (PB6)
                   |          |
                   +----+-----+
                        |
                        |
                        |
                  ______V______
                 |            |
                 |   Servo    | <- 舵机
                 |            |
                 |            |
                 +------------+
                 |   电源地   |-连接到 MCU 接地和外部电源地
                 |     +5V    |-连接到5V或6V外部电源

4. 电源和电流保护

  • 电源保护: 考虑在电源线上加保险丝,以防止舵机过流。
  • 电流保护电路: 可使用电流保护IC来确保电流不超过舵机和电源的额定值。

代码示例

以下是一个完整的 printer.cfg 配置片段,假设你已经知道如何配置其他部分:

[mcu]
serial: /dev/ttyUSB0

[servo my_servo]
pin: PB6
cycle_time: 0.020
minimum_pulse_width: 0.001
maximum_pulse_width: 0.002

[output_pin beeper]
pin: PA5
value: 1
shutdown_value: 0
cycle_time: 0.001

测试舵机

  1. 设置舵机角度:使用 G-code 命令控制舵机角度。例如:

    SET_SERVO SERVO=my_servo ANGLE=0    ; 转到0度
    SET_SERVO SERVO=my_servo ANGLE=90   ; 转到90度
    SET_SERVO SERVO=my_servo ANGLE=180  ; 转到180度
    
  2. 观察舵机反应: 确保舵机在接收到指令后按预期角度移动。如果移动不准确,检查配置中的周期时间和脉冲宽度设置。

通过上述软件配置和硬件设计,你应该能够成功在 Klipper 中配置 PWM 输出来驱动舵机。如果在配置和调试过程中遇到问题,确保检查舵机规格和 Klipper 文档来获得更多的帮助。

检测3D打印机加热棒(也称为加热器)是12V还是24V的一种常见方法包括以下几种方式:

1. 检查标签和标识

  • 物理标签:加热棒上通常会有一块标签,或者在加热棒的金属部分会刻有电压标识。检查上面的电压标识以确定是12V还是24V。
  • 包装和文档:有时原厂包装盒或产品手册上也会标注加热棒的电压规格。

2. 检查在线文档和产品页面

  • 如果你知道加热棒的具体型号,可以在制造商的官方网站或产品页面上查找相关的规格说明。

3. 用万用表测量加热棒的电阻

  1. 工具:你需要一只万用表。
  2. 操作步骤
    • 确保加热棒断电且冷却。
    • 将万用表设置为电阻(欧姆)档。
    • 将万用表表笔接触到加热棒的两端,记录下电阻值。

根据电阻值可以做初步判断:

  • 12V加热棒的电阻值通常较低。
  • 24V加热棒的电阻值通常较高。

常见电阻范围(仅供参考,具体数值可能因品牌和型号不同而有所差异):

  • 对于40W加热棒来说:
    • 12V加热棒的电阻大约在3至4欧姆。
    • 24V加热棒的电阻大约在12至16欧姆。

【计算】
- 功率公式:( P = \frac{V^2}{R} )
- 例如,40W,12V:
( R = \frac{V^2}{P} = \frac{12^2}{40} ≈ 3.6\Omega )
- 例如,40W,24V:
( R = \frac{V^2}{P} = \frac{24^2}{40} ≈ 14.4\Omega )

4. 检查电源和控制板输出

  • 安装加热棒的电路会有指定的电压,比如电源适配器的输出、电源座、控制板的加热端口等。
  • 如果调节错误电压,你可能会烧坏加热棒或其所在的加热器电路,因此在接入之前最好确认电源输出的规格。

5. 查看你购买的3D打印机的规格

  • 通常来说,购买的3D打印机手册或技术规格表格中会提及机器使用的加热棒电压。如果有疑问,请查看这些文档来确认。

总结

以上方法可以帮助你确定3D打印机加热棒是12V还是24V。较明确的信息来源是标签和文档,但如果无法获得,那通过电阻测量法也是很有效的手段。在进行任何连接和操作之前,确保电源关闭并确认使用正确电压,以避免损坏设备或发生安全事故。

Klipper 用2209驱动电机 在uart模式下 可以只链接TX吗

在使用TMC2209步进电机驱动器与Klipper固件进行配置时,UART模式下需要进行正确的连接以确保通信的稳定性和功能的完整性。对于UART通信,通常需要连接TX(发送)和RX(接收)引脚,但在一些特殊情况下,可以仅连接TX引脚。

常规连接:

通常情况下,TMC2209驱动器的UART接口的连接方式如下:

  • TX:传输数据(通常连接到MCU的RX引脚)。
  • RX:接收数据(通常连接到MCU的TX引脚)。
  • GND:地线,用于信号回路。
  • VCC:供电引脚(与电源模块连接)。

单线UART通信(仅连接TX):

在一些特定配置中,TMC2209驱动器支持单线UART通信模式,此模式下,只需要连接TX引脚。这种配置下,TX引脚需要被拉高,MCU通过控制TX线驱动从而实现单线通信。

具体步骤:

  1. 连接TX引脚

    • 将TMC2209的TX引脚连接到MCU(微控制器)的一个UART引脚上,例如PA2
  2. Pull-up电阻

    • 在使用单线UART时,需要在TX引脚上加一个上拉电阻(一般为10kΩ左右)。

配置示例:

假设你使用的是MCU的PA2引脚作为UART引脚,对Klipper的配置文件(printer.cfg)进行如下设置:

[stepper_x]
step_pin: PA1
dir_pin: PA3
enable_pin: !PA5
step_distance: .0025
endstop_pin: ^PA4
position_endstop: 0
position_max: 235
homing_speed: 50
# UART configuration:
uart_pin: PA2                      # TX pin connected to stepper driver
driver: tmc2209

注意事项:

  1. 固件支持:确保你使用的Klipper版本支持单线UART模式,并正确配置。
  2. 硬件方面
    • 确保加了一个合适的上拉电阻。
    • 确保正确连接GND,以保证信号完整性。
  3. 调试与测试
    • 在首次配置和连接后,需进行调试,确保通信正常进行,是否能正确读取和写入驱动器寄存器。

总结:

在特定配置和条件下,TMC2209驱动器可以在Klipper中使用单线UART模式,这时仅需连接TX引脚,但需加上合适的上拉电阻。配置文件需正确设置,并保证连接的硬件条件符合要求。进行这些操作前,建议查阅TMC2209的具体数据手册和Klipper的官方文档,以获得更准确和详细的指导。

posted @ 2024-06-24 10:34  DyanBlog  阅读(1170)  评论(0)    收藏  举报