过度曝光1
软件参考:Klipper-WS281x_LED_Status https://github.com/11chrisadams11/Klipper-WS281x_LED_Status
硬件参考:448-superslim-led-bar-with-simple-bracket https://www.teamfdm.com/files/file/448-superslim-led-bar-with-simple-bracket/?tab=details
上位机:树莓派3b+Klipper
其他材料:
1. WS2812 LED 全彩灯带1cm宽,1mx2根
2. 地板铝合金一字平板压条1.2cm宽,0.9mx2根
3. 2020型材卡扣打印件 20个 链接: https://pan.baidu.com/s/1bK8Rfk5hoXHd8M-oG_ea3g 提取码: 9527
cura切片
硬件安装:
硬件部分主要参考了 jlauer 的 448-superslim-led-bar-with-simple-bracket
WS2812 可编程 LED 全彩灯带、一字铝合金条都是在TB买的,买铝合金的一字条主要是为了方便固定灯带同时也能方便散热。
我买的灯带是 1m 60 灯,根据 Voron 2.4 300mm 的框架尺寸可以分成 前后各 22 灯,左右各19 灯,共 82 灯。同时铝合金条前后长 36 cm,左右各长 32cm。
将灯带裁剪成 2 条 22 灯,2 条 19 灯,之后按照 19 灯-22 灯-19 灯-22 灯的顺序焊接好,也就是在机器上的放置顺序右-前-左-后。
灯带之间的接线长度预留大概 10cm 左右方便从Z轴张紧轮后面穿过,
灯带之间的接线长度预留
电源信号线从右后框架柱的中缝到后正下方的框架柱中缝走到电气仓孔即可。
LED走线
灯带部分安装好的样子
LED安装效果1
LED安装效果2
电源正负极和树莓派共用都接到5V电源即可,信号线接到 GPIO10,如下图
树莓派3b+引脚图
软件介绍:
使用的软件是11chrisadams11开源的 Klipper-WS281x_LED_Status,
主要改动了加热部分,把热床和热端加热合并到了一个进度,同时精简了用不上的参数。
软件详细安装步骤
安装配置相关依赖
sudo apt update && sudo apt install -y git
sudo pip3 install requests PyYAML RPi.GPIO rpi_ws281x adafruit-circuitpython-neopixel
新增步骤1:在 /boot/config.txt 文件末尾中添加这行代码 core_freq=250
sudo nano /boot/config.txt,在末尾添加一行后,按 CTRL+O 写入,再按 CTRL+X 退出编辑器。
新增步骤2:开启 SPI interface
sudo raspi-config
依次选择 Interfaceing Options->P4 SPI->Yes(enable this spi interface)-> Ok -> Finish
reboot
重启后检查 SPI 状态
lsmod |grep spi_bcm
输出信息里有以下信息表明配置成功
spi_bcm2835 7596 0
克隆项目
cd /home/pi
git clone https://github.com/11chrisadams11/Klipper-WS281x_LED_Status.git
可选项:也可以克隆我调整好的代码 https://github.com/lulee007/Klipper-WS281x_LED_Status.git
cd Klipper-WS281x_LED_Status
更改脚本权限,设置为可执行
chmod 744 ./klipper_ledstrip.py
测试灯带 ./klipper_ledstrip.py 红 绿 蓝 亮度
全白-最高亮度:./klipper_ledstrip.py 255 255 255 255
全白效果
红色-默认亮度:./klipper_ledstrip.py 255 0 0
红色效果
4. 修改 settings.conf 配置文件中的 LED pin, brightness, timeout
可选项: 修改待机、暂停、错误等效果和颜色
5. 可选项:如果想测试下效果可以先手动启动脚本,然后再打印,或者按照下面的方式配置成服务方式自启动
./klipper_ledstrip.py
6. 以系统服务方式运行
复制 ledstrip.service 到 /etc/systemd/system/ledstrip.service
cp ledstrip.service /etc/systemd/system/ledstrip.service
按需修改 Modify User, Group, WorkingDirectory, 和 ExecStart,这里用的默认配置即可。
重新加载来启用服务: systemctl daemon-reload
设置开机自启动: systemctl enable ledstrip
启动服务:systemctl start ledstrip
7. 修改settings.conf里的相关配置后需要重启服务
systemctl restart ledstrip
注意: 如果 shutdown_when_complete 设置了 True 那么需要对 [power printer] 部分进行修改,否则将出现错误,详细配置见文档: https://moonraker.readthedocs.io/en/latest/configuration/#power
[power printer]
这里接入的是 homeassistant 智能家居系统的插座开关
token 需要从 homeassistant 系统中获取
type: homeassistant
address: 192.168.0.1
port: 8123
device: switch.wifi_socket_2
token: ha_token_xxxxxx
domain: switch
- 可选项:使用GCODE调用
安装 gcode shell commands
下载插件:https://github.com/th33xitus/kiauh/blob/master/resources/gcode_shell_command.py
放入 /home/pi/klipper/klippy/extras文件夹下
重启kilpper
添加如下配置到 printer.cfg
[gcode_shell_command led_off]
command: /home/pi/Klipper-WS281x_LED_Status/klipper_ledstrip.py 0 0 0
timeout: 2.
verbose: True
[gcode_shell_command led_white]
command: /home/pi/Klipper-WS281x_LED_Status/klipper_ledstrip.py 255 255 255
timeout: 2.
verbose: True
[gcode_shell_command led_purple]
command: /home/pi/Klipper-WS281x_LED_Status/klipper_ledstrip.py 255 0 255
timeout: 2.
verbose: True
[gcode_macro LED_OFF]
gcode:
RUN_SHELL_COMMAND CMD=led_off
[gcode_macro LED_WHITE]
gcode:
RUN_SHELL_COMMAND CMD=led_white
[gcode_macro LED_PURPLE]
gcode:
RUN_SHELL_COMMAND CMD=led_purple