前言:
其实做这个东西,也是无聊中发现有一个Can的板子,但是Can我个人觉得有点麻烦,又要编译内核,还需要在上位机上加装组件,所以我就没啥兴趣了,无意间发现klipper支持树莓派的RP2040,所以就想着自己做一个,就有了今天这个玩意,不过我也没打算量产,今天是纯属做一个笔记留存在此,如果大家的确需要这类东西,可以联系我少量制作。
本人不是专业制作PCB工作人员,纯属于爱好者,制作如有不合理地方,可以在下面留言或者Q群交流。
教程:
- 板子是USB 与上位机链接的,供电和数据都是USB的
- 输入电压5-24v,就可以工作,但是实际上大部分打印机都是12-24v。
- 支持一路热敏电阻,1路PT100的,2-4线都可,注意:因为RP2040 ADC问题,热敏电阻会有一些波动,不是很稳定,所以才会出现外挂MAX31865
- 支持两路风扇,电压随着输入而改变
- 支持一路3D touch或者bltouch调平,或者金属接近传感器调平,接口提供5V和12v-24v选择
- 板载ADXL345 加速度传感器,用于klipper功能支持。
- 两路限位,其中有一路和3d touch公用一个接口。
- 板载TMC2209 步进驱动,0.4A电流 可以不贴散热片,超出需要贴散热片。
固件构建:
按住板子上的BOOT键接入电源连接线,然后使用lsusb来查看链接到上位机的MCU
lsusb
返回的结果,会有个Raspberry Pi RP2 BOOT字样,因为过程我没截图,以后看情况给补。
使用lsblk查看磁盘
lsblk
返回结果会有一个128M的空间磁盘,因为主板外挂了一个128M存储器。
创建路径,这一步方便一会挂载128M的存储到我们创建的路径。
mkdir -p ~/rp2
注意:~/rp2 需要修改为你自己的路径。
挂载128m存储到~/rp2
sudo mount /dev/sdx1 ~/rp2
注意命令中的dev/sdx1 是lsblk得到的 ~/rp2 是我们创建的路径。
挂载完成后,可以使用df -h 或者lsblk 查看是否成功。
进入klipper 目录,我们开始编译。
cd ~/klipper
进入配置界面
make meunconfig
配置图待补充。。。。。
编译
make
编译完成后,进入out路径找到klipper.uf2 复制到我们挂载的~/rp2
cp -rv ./out/klipper.uf2 ~/rp2
注意路径,如果提示权限不足可以加sudo。
复制完成后rp2040会自动重启并连接,我们可以使用命令获取链接ID 方便我们在配置中添加与RP2040 进行链接。
ls -la /dev/serial/by-id
上位机配置:
配置printer.cfg,我这里因为上位机使用的是fluidd,所以直接可以在页面编辑,其他编辑方式请自行百度。
增加扩展板的链接配置
[mcu ex]
serial: /dev/serial/by-id/usb-Klipper_rp2040_E6625887D369992B-if00
usb-Klipper_rp2040_E6625887D369992B-if00要替换成为你的,请勿照抄 每个人的都是不一样的。
ADXL345 配置:
[adxl345] cs_pin: ex:gpio1 spi_bus: spi0a axes_map: x,z,y [resonance_tester] accel_chip: adxl345 probe_points: # 中间坐标点,自行计算你自己的,当前配置是我的机器 115,115, 15
BLtouch 调平配置:
[bltouch] sensor_pin: ex:gpio9 control_pin: ex:gpio12 x_offset: -38 y_offset: 0 #z_offset: 0 speed: 10.0 samples: 3 samples_result: median sample_retract_dist: 3.0 samples_tolerance: 0.02 samples_tolerance_retries: 3
这俩比较有代表性,因为有些功能我做了也没用的上,惭愧惭愧!!!
后期,其他配置在进行补充。
引脚定义:
- 热敏与加热棒接口,热敏是场面两个出点,加热棒是下面两个,50W以内测试OK ,50-100w未测试,控制MOS 可以支持。
- 步进电机接口,推荐36电机,电流0.4a以内免散热片。
- 限位开关,可以接微动,如果也提供供电5/24。
- 风扇接口
- 风扇接口
- MAX31865接口,可以接2-4线PT100 或者PT1000(基本用不上)
- 提供5/24 电压供电,两路GPIO引脚,可以接bltouch 或者微动/pl08 一些金属接近开关,或者一些后续其他调平接近功能的组件,目前测试bltouch 3dtouch 和pl08 都可。
注意:5v供电不可超过2A,超过会烧坏DCDC 芯片。
结尾:
这个东西做好有一段时间了,无奈我很懒,所以有些东西让我给忘记了,后期我在使用中增加配置了,在进行更新。