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 文件中进行如下配置:
配置步骤:
-
定义输出引脚
首先,你需要找到并定义与你的硬件相匹配的引脚。在配置文件中,可以这样定义一个 PWM 引脚:[heater_fan my_fan] pin: PA8 max_power: 1.0 shutdown_speed: 0这里,假设我们将 PA8 引脚配置为一个风扇的 PWM 输出。
-
选择适当的秒数参数
你可以配置cycle_time以调整 PWM 信号的频率。举例:[fan] cycle_time: 0.010cycle_time参数设定了 PWM 信号的周期时间(单位是秒)。 -
配置一些具体设备
具体设备(如加热器、风扇)的配置示例如下:[heater_generic my_heater] heater_pin: PA9 max_pwm: 255 min_temp: 0 max_temp: 150 # 其他加热器参数... -
风扇配置
对于风扇,你可以使用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,确保在电流过大时保护电路和设备。
注意事项
- 安全第一:在操作和连接电路时,确保电源已断开,以防止意外触电或短路。
- 测试和验证:在实际使用前,先在低电压和小功率条件下测试电路,确保无误后再连接到高电压/大功率负载上。
- 文档和参考:仔细阅读和参考 Klipper 文档和你所使用的硬件(如 STM32 MCU、风扇、加热器)的手册,遵循其中的注意事项和建议。
通过以上配置和硬件要求,你应该能成功配置 Klipper 以便使用 PWM 输出功能了。希望这对你有所帮助!如果有其他问题,建议查阅 Klipper 官方文档或社区论坛获取进一步支持。
驱动舵机
在 Klipper 中配置 PWM 输出驱动舵机需要一些特定的设置,以及合适的电路设计,以确保舵机能够按照预期运行。以下是如何在 Klipper 中配置 PWM 输出驱动舵机的详细步骤,以及电路设计的要点。
软件配置(Klipper)
为了在 Klipper 中配置 PWM 驱动舵机,在你的 printer.cfg 文件中需要进行如下配置:
配置步骤:
-
定义 PWM 引脚:你需要定义一个专用的 PWM 引脚来控制舵机。确保选择的引脚支持 PWM 输出。
-
配置
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度
- 控制舵机的角度:在 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
测试舵机
-
设置舵机角度:使用 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度 -
观察舵机反应: 确保舵机在接收到指令后按预期角度移动。如果移动不准确,检查配置中的周期时间和脉冲宽度设置。
通过上述软件配置和硬件设计,你应该能够成功在 Klipper 中配置 PWM 输出来驱动舵机。如果在配置和调试过程中遇到问题,确保检查舵机规格和 Klipper 文档来获得更多的帮助。
检测3D打印机加热棒(也称为加热器)是12V还是24V的一种常见方法包括以下几种方式:
1. 检查标签和标识
- 物理标签:加热棒上通常会有一块标签,或者在加热棒的金属部分会刻有电压标识。检查上面的电压标识以确定是12V还是24V。
- 包装和文档:有时原厂包装盒或产品手册上也会标注加热棒的电压规格。
2. 检查在线文档和产品页面
- 如果你知道加热棒的具体型号,可以在制造商的官方网站或产品页面上查找相关的规格说明。
3. 用万用表测量加热棒的电阻
- 工具:你需要一只万用表。
- 操作步骤:
- 确保加热棒断电且冷却。
- 将万用表设置为电阻(欧姆)档。
- 将万用表表笔接触到加热棒的两端,记录下电阻值。
根据电阻值可以做初步判断:
- 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线驱动从而实现单线通信。
具体步骤:
-
连接TX引脚:
- 将TMC2209的TX引脚连接到MCU(微控制器)的一个UART引脚上,例如
PA2。
- 将TMC2209的TX引脚连接到MCU(微控制器)的一个UART引脚上,例如
-
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
注意事项:
- 固件支持:确保你使用的Klipper版本支持单线UART模式,并正确配置。
- 硬件方面:
- 确保加了一个合适的上拉电阻。
- 确保正确连接GND,以保证信号完整性。
- 调试与测试:
- 在首次配置和连接后,需进行调试,确保通信正常进行,是否能正确读取和写入驱动器寄存器。
总结:
在特定配置和条件下,TMC2209驱动器可以在Klipper中使用单线UART模式,这时仅需连接TX引脚,但需加上合适的上拉电阻。配置文件需正确设置,并保证连接的硬件条件符合要求。进行这些操作前,建议查阅TMC2209的具体数据手册和Klipper的官方文档,以获得更准确和详细的指导。

浙公网安备 33010602011771号