Fly Klipper Docs
参考文件:为qq群:786561979中的pdf教程
文件提供时间:2022年.5.1
本文相关软件与镜像,编译好的klipper固件,一次下载方便
百度网盘:https://pan.baidu.com/s/1V6gni_IzDXY6-8wLxWOtpg?pwd=fb6b提取码:fb6b
阿里网盘:「GeminiV2_CAN」https://www.aliyundrive.com/s/FY1KDXQxaiS 提取码: 8y0b
1.物品准备
硬件类:
Gemini v2
utoc
sht42
线材类:
18awg x 5m 黑色,
18awg x 5m 红色
叉冷压端子(如图所示)
(长度按要求)
线材主要用于:
a.UTOC的CAN头供电2根线(24V/GND)
b.SHT42与UTOC 的CAN通讯的4根线(CAN L /CAN H /24V/ GND)
工具类:
4.2mm 5557 端子 压线钳
ot 冷压端子 压线钳
2.电气接线部分
接线方式有很多种,这里只展示一种情况,其他的可以根据CAN类比功能。
2.1 制作can4线通信线(以utoc和sht42 为例)
2x2p的5557 端子,在购买sht如图所示:
5557 一定要压好,不要让vcc虚连
VCC和 GND,CAN H 和 CAN L 对应好的位置
接线端子的实际效果:
连接的实际效果:
不要接错线序
2.2 CAN的VCC取电
连接can需要有工具头vcc在这里接入utoc 取电为例
2.3 UTOC 与Gemini 连接
到目前为止,接线部分已经完成
3.固件刷写
对于购买sd朋友卡套餐,请直接看3.2
3.1 linux镜像的刷入
一定要根据官网提供的最新固件如图:
镜像下载链接:Fly Klipper Docs
下载后的镜像文件:
通过工具balenaEtcher给sd卡入镜像:
下载链接:balenaEtcher - Flash OS images to SD cards & USB drives
拔出等待5分钟,直接插入linux的sd卡接口。
windows 不管提示的格式化,直接拔出。
至此linux带有klipper 系统镜像已经完成
3.2 通电测试
插入内存卡
上电测试:请注意,这里使用的是usb( ch340 )连接方式。
如果使用12~24V 的vcc 取电方式,usb 必须断开连接。
有些朋友不从事嵌入式开发,可能需要:windows下的ch340驱动,应单独下载,并在文章开头的软件包中提供。
终端连接gemini:
下载MobaXterm:MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download
通过MobaXterm的session里面的serial连接,首先,确保没有接入vcc
具体步骤:
Windows 设备管理器:记住com号 COM3
打开MobaXterm添加新的session,选择serial
配置波特率115200,连接端口号是设备管理器刚刚记住的端口
这个效果就ok了。
配置wifi
输入
nmtui
激活连接
输入密码连接,带星号表示连接成功,退出
配置好WiFi后建议通过ssh ip连接获得更好的体验
MobaXterm 字体可以更简单地设置,如图所示:
ps:由于MobaXterm每一个都需要单独的特殊性session与字体和配置相关的设置
如果想使用ohmyzsh外观状态一定和我的设置一样。
ohmyzsh美观参考-以gemini为例:给mobaXterm通过ssh的linux 开发板美化ohmyzsh_KeyBordkiller的博客-CSDN博客
3.3 下位机和CAN头的配置
3.3.制作下位机固件 刷写
MobaXterm例如,如果使用putty 还需要winscp,所以这里推荐MobaXterm
连接ssh,以Mobaxterm为例:
新建一个session,ip查看路由器,用户名fly 密码mello (都是小写)
连接
下面开始编译klipper的固件
在linux 命令行中输入(复制后在终端中右键即可粘贴)
依次执行下面的3条命令,
cd ~/klipper/
回车
make clean
回车
make menuconfig
出现klipper 的编译界面下面直接按照我途中所示进行设置:
总共有5个选项通过上下左右键 和回车键进行选择,最后的配置页面和图中所示完全一致。
输入
Q
输入
Y
输入
make -j4
开始编译
首先看到hex file 通过左边的sftp 后进入相应目录
右键klipper.bin 文件 download 到电脑上,建议对这个固件所在文件夹命名为Gemini_stm32f405,用于区分和can头不一样的固件。
准备好一个内存卡,将其格式化为FAT32
推荐使用DiskGenius的格式化功能(windows下不能直接格式化为FAT32)
将文件拖入到内存卡中,并且重命名为firmware.bin
将内存卡从电脑拔下,将gemini断电,插入内存卡,
通电等待1min后,断电拔下内存卡插入到电脑中
这样Gemini板载的STM32F405 的klipper固件也烧录成功了
最后重要的一步:拨码 3.4
断电插入内存卡,重新通电后 登录fluidd 也就是ssh的ip
在没有接入任何一种热敏电阻的情况下,这就是正常状态,继续配置 can头固件
3.3.2 CAN头固件制作+刷写
和配置板载下位机固件的方式一样进入klipper 编译界面
输入
cd ~/klipper/
make clean
make menuconfig
更改配置为图中圈出的状态
输入
Q
输入
Y
输入
make -j4
下载klipper.bin 到文件夹中
下载软件 STM32CubeProgrammer
下载地址:STM32CubeProg - 用于STM32产品编程的STM32CubeProgrammer软件 - STMicroelectronics
准备1个跳线帽
确保插入后 typec 连接电脑
打开软件
usb刷写方式,打开刚刚在Gemini上编译好的用于can工具头的固件
这样才是成功了。
注意klipper.bin 的目录中不能有中文,防止刷写失败
务必务必务必将跳线帽拔下,并且将上面的两个条线帽安上
务必务必务必将跳线帽拔下,并且将上面的两个条线帽安上
务必务必务必将跳线帽拔下,并且将上面的两个条线帽安上
如图:
接下来进行接线,一定要断电操作。确保每个端子和螺丝都是牢靠的,没有虚连的状态
如图:
至此硬件电气接线和固件都已经弄好了
4. klipper的can部分的软件的设置
进入fluidd 如果有如图报错,可以这样解决
打开ssh输入
cd ~/moonraker/scripts
./set-policykit-rules.sh
sudo service moonraker restart
进入你ssh ip中的9999端口,如图:
分别查看串口的id 以及can的id
复制到 print.cfg文件中如图所示:
MCU部分
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f405xx_320029000450314335393220-if00
[mcu sht42]
canbus_uuid: d43795f92c3e
can部分的配置本文以sht42 为例
示例具体可以参考官网:Fly Klipper Docs
[extruder]
step_pin: sht42:PB4
dir_pin: sht42:PB3
enable_pin: !sht42:PA15
microsteps: 256
rotation_distance: 33.5
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: sht42:PA8
sensor_pin: sht42:PB0
sensor_type: ATC Semitec 104GT-2
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: -273 ###手动屏蔽温度ADC错误
max_temp: 350
[heater_bed]
heater_pin: BED_OUT
sensor_pin: BED_TEMP
sensor_type: ATC Semitec 104GT-2
control: watermark
min_temp: -273 ##手动屏蔽温度ADC错误
max_temp: 200
fluidd的全部状态都可以显示
配置klipper限位的时候建议大家拔掉wifi,通过usb 进行配置,如果配置有误wifi容易烧掉