过度曝光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

  1. 可选项:使用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

myxiaowu

作者 myxiaowu

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注