1. 产品简介
[youbanshan]FLY SHT36 V2是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SHT36 V2适用于36步进电机,其集成了CAN收发器、USB口、TMC2209驱动、ADXL345加速度传感器,两个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。
体积压缩极致,采用6层板设计
支持CAN总线连接,数据传输更稳定,延迟更小,连接更稳定
板载TMC2209驱动,使用UART模式,可用于挤出机
板载ADXL345加速度传感器
支持PT100(MAX31865)
可更换风扇MOS设计,最大输出电流可达1A
支持BLTOUCH、PL08N等调平传感器,集成XY限位开关
支持12-24V电压、15A电流输入
1.1 产品详情
淘宝:FLY 新版3D打印机 Can SHT36 V2.0工具头板DIY KlIpper快接拓展-淘宝网 (taobao.com)
1.2 新增功能
增加支持4.7K电阻(用于ntc热敏)或1.1K电阻(用于PT1000)切换
can接口不再用MX3.0端子,新的连接器支持15A电流,峰值30A
增加5/12/24V风扇电压可选。
增加板载NTC100k电阻,用于测仓温
增加一个电源反接保护
增加ADXL345的INT1接到mcu,给个别用户用于调平。
增大加热棒端口,额定电流10A
增加高压输入限位
更换主控为国产MCU
支持磁编码器(as5047d),Klipper用于运动分析(目前Klipper暂不支持)
新增1米CAN连接线,避免用户无法正确压端子导致信号丢失的困扰
安装尺寸:孔间距43.84mm,M3安装孔径
处理器:GD32F103(2022-10-28日之前购买)、APM32F072(2022-10-28日之后购买)
Tip
重要
1.3 SHT-36
2. 产品SHT36 v2接线
Tip
赠送的蓝色散热片,请粘贴到2209驱动上!!!
2.1 接线图
PB1只支持PWM信号输出,不支持信号输入!!!因此不可用作调平传感器或者限位开关的输入!!!
2.2 终端电阻配置
Tip
使用CAN之前,请正确配置CANBUS终端电阻。
CANBUS总线协议一条总线中必须且只能有两个120欧姆电阻
不管你连接几个USB设备,只要是在一条总线就只配置两个120欧姆电阻。不用为每个设备加一个电阻
在接好CAN H和CAN L信号线之后,使用万用表测量CAN H与CAN L,两者之间的阻值应约为60欧姆
2.3 电源接线
SHTv2的线材颜色
颜色 | 功能 |
---|---|
红色 | 直流12/24v输入 |
黑色 | 直流负极(GND) |
黄色 | CAN H |
白色 | CAN L |
2.4 风扇MOS
风扇mos不分正反,插稳即可
2.5 加热棒接线
加热棒支持最大10A的电流,使用时请注意加热棒的功率!
2.6 普通热敏与PT1000接线方法
下图为普通热敏和PT1000的接线方法。
2.6.1 PT100接线方法
Tip
请确定购买的工具板是否带31865芯片
PT100的接线方法,两线的PT100连接到中间两个引脚
下图为PT100的接线方法。默认两线PT100,只需连接到从左至右第2、3个引脚即可。
2.7 风扇接线
SHT36 v2支持最多两个可控风扇,接线方法如下。
Tip
通电前请选择风扇电压,否则风扇不能正常工作!!!
Tip
VCC为电源电压,即你电源使用多少伏,风扇电压就是多少伏
2.8 RGB接线
RGB灯珠的正负极千万不能接反,否则会损坏CAN工具板。
2.9 挤出机接线
挤出机接线完成后,请注意配置好驱动电流,校准好挤出机电机转向。
2.10 限位开关
PB1只支持PWM信号输出,不支持信号输入!!!因此不可用作调平传感器或者限位开关的输入!!!
限位开关有常开(NO)和常闭(NC)两种。一般在3D打印机上,建议使用常闭(NC), 这样在限位开关线路出现问题时,系统会及时报错,可以避免一些不必要的撞车,避免损坏 打印机。
如果为VORON机型,可以考虑更换限位的安装位置,在打印头滑车上安装X限位开关,A电机座上安装Y限位开关。另外,在SHT36上,建议限位开关前最好加上^
,将信号上拉。例如:
2.11 调平传感器接线
PB1只支持PWM信号输出,不支持信号输入!!!因此不可用作调平传感器或者限位开关的输入!!!
2.11.1 接近开关
VORON 官方建议是使用欧姆龙 Omron TL-Q5MC(之前官方推荐的是 PL08N,两者原 理一样,只是探测距离不一样)传感器来进行热床调平。
2.11.2 Klicky
PB1只支持PWM信号输出,不支持信号输入!!!因此不可用作调平传感器或者限位开关的输入!!!
Klicky 为第三方的调平传感器,能够用极低的成本自己在家制作,且性能稳定,性价比非常高,推荐使用。接线方法如下图所示。
2.11.3 Voron Tap
PB1只支持PWM信号输出,不支持信号输入!!!因此不可用作调平传感器或者限位开关的输入!!!
Voron Tap为Voron团队最新发布的调平传感器方案,有着精度高,稳定性强,适应性好等特点。接线时,请注意正负极不能接反,否则会损坏Tap传感器甚至SHT工具板。
Tip
Voron Tap不建议接 24V ,某些版本使用 24V 有一定概率会导致Tap传感器烧坏,这并非Fly产品的问题,是Voron Tap的设计缺陷,请悉知!!!
2.11.4 Bltouch
BL-touch 一共有五根线,三根为第一组,负责传感器的供电和探针的收放,第二组为地线 和信号线,输出限位信号。BL-touch 接线时请仔细核对接线顺序,错误的接线可能会永久性损坏 传感器和主板!!!接线方法如下图所示。
2.12 SHT36 v2连接UTOC
FLY UTOC是一款USB转CAN总线的模块,通过它将FLY π的USB端口专为CAN总线,通过CAN总线连接3D打印主板、SHT36v2等CAN总线产品。FLY UTOC板上拥有多种端子接口,使用灵活性好,可以适配不同的使用场景。另外,UTOC在出厂时已经刷好固件,到手即用,无需再刷写固件。
USB-IN: USB转CAN输入接口,连接到上位机
12-24v & GND: 电源接口
CANBUS: CAN接口,连接到扩展主板和工具板等(连接到有板载CAN收发芯片的设备)
CANBUS*: CAN接口,连接到扩展主板和工具板等(仅限连接到STM32设备的USB接口[PA11,PA12],请注意购买相应版本的UTOC)
3. 上位机配置
3.1 非FLY上位机检测
Tip
此操作针对非FLY上位机,FLY上位机无需执行这一步操作
非FLY上位机的,请注意检查自己烧录的镜像内核是否支持CAN,如果不支持则无法使用CAN。检测方法如下。
在SSH输入:
输入以上指令后,如果您的内核支持CAN就会返回:您的内核支持CAN
;如果不支持就会返回:您的内核不支持CAN
。
Tip
FLY上位机,FLY已为您完成所有配置工作,您只需确保镜像烧录正确即可。镜像烧录请查看:系统镜像烧录
3.2 非FLY上位机需要创建CAN配置
当前文档不仅适用于树莓派,香橙派等等其他设备同理
Tip
注意:目前收到很多反馈,都是CAN缓冲区设置太小,导致数据无法及时交换。从而导致Klipper报错。请将CAN缓冲区设置为1024
3.2.1 准备
启动树莓派并确保其连接到网络
使用你熟悉的SSH终端工具连接到树莓派
如果登录到了root账户请切换到普通用户
3.2.2 系统配置
Tip
注意:使用SPI转CAN(MCP215)等设备时建议设置bitrate为250000
执行下面的命令安装当前文档所需软件包
sudo apt update && sudo apt install nano wget -y
创建配置文件,复制粘贴到终端并回车
如果您的CAN速率为1M,请将: bitrate 500000
中的500000
修改为1000000
sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF allow-hotplug can0 iface can0 can static bitrate 1000000 up ifconfig \$IFACE txqueuelen 1024 EOF
测试发现在部分设备中无法开机自动启用CAN,所以建议都执行下面操作
开机自动启用CAN
如果您的CAN速率为1M,请将: can0 -b 500000
中的500000
修改为1000000
重启设备
USB转CAN模块在树莓派中无法即插即用
如果树莓派设备插拔过USB转CAN设备请重启设备或者执行下面的命令
确保已完成步骤3
Warning
如果您的CAN速率为1M,请将: can0 -b 500000
中的500000
修改为1000000
3.2.3 连接UTOC
使用Type-c数据线连接树莓派和FLY-UTOC
具体接线可查看文档 连接UTOC
3.2.4 查看uuid
执行下面的命令来查找所有已连接的CAN设备
出现
Found canbus_uuid=11aa22bb33cc
则查找到设备ID其中
11aa22bb33cc
为设备UUID,可直接填入klipper配置文件如果没有出现ID或报错请认真阅读文档并检查接线
4. 固件烧录
Tip
SHTV2预装了CanBoot,只支持CAN烧录,烧录前请使用CAN连接到上位机
4.1 编译固件
Tip
2023年9月20号之前CanBoot固件默认500k
Tip
2023年9月20号之后CanBoot固件默认1M
编译固件前请确保 连接到SSH
这里只简要介绍固件编译参数,详细固件编译步骤请查看:编译klipper固件。 看到第 13 步即可!!!
固件配置方法
修改klipper编译配置
cd && cd ~/klipper && rm -rf .config && make menuconfig
Tip
注意,在2022-10-18 前 购买的主控芯片为GD32F103;在2022-10-18 后 购买的主控芯片为APM32F072;在2023-05-01 后 购买的主控为STM32F072
Tip
注意,在2023-09-20 前 购买的SHT36-V2使用的canboot速率为500K;在2023-09-20 后 购买的SHT36-V2使用的canboot速率为1M
按Q 按Y保存
编译
make clean && make -j4
最后出现Creating hex file out/klipper.bin则编译成功
4.2 查找uuid
Tip
请使用UTOC或者其他支持klipper USB桥接CAN的主板将SHTV2与上位机通过CAN总线连接
Tip
如果已经烧录过klipper并且在正常运行,可跳过查找uuid,使用配置文件中的uuid进行烧录
由于SHTV2预装了katapult,只支持CAN烧录,因此在固件烧录前需要读取uuid后才能烧录固件
首先进入ssh,然后依次输入以下指令
cd && git clone https://github.com/Arksine/katapult
cd && cd ~/klipper && python3 ~/klipper/lib/canboot/flash_can.py -q
请注意,搜索到id后是显示Application: Canboot
前面才是工具板id
下图中高亮部分365f54003b9d
就是这块SHTv2板的uuid,这个uuid每块板子都不一样。同一块SHTv2板烧录固件后uuid是不会变的
Tip
如果找不到CAN ID,请检查:
接线是否正确,例如CANH 和 CANL是否接反或者接触不良
SHT36 V2板上的120Ω跳线帽是否插上
您的镜像内核是否支持CAN
如果确认没有上述问题,则可以尝试在通电状态下强制进入CanBoot来解决。此方法也可以在刷错固件连不上工具板之后尝试。进入CanBoot的方法如下,请小心使用!!!以免损坏SHT工具板!!!
如果成功进入Canboot,下图中的LED灯会以一定的频率闪烁
4.3 烧录固件
将下面命令中的365f54003b9d
替换为查找uuid中查找到的uuid
python3 ~/klipper/lib/canboot/flash_can.py -u 365f54003b9d
如下图,出现CAN Flash Success
则烧录成功
如果需要更新固件可以在klipper连接起来下直接执行下方命令来更新sht36固件
python3 ~/klipper/lib/canboot/flash_can.py -u 365f54003b9d
检查
如果正确配置编译并烧录成功,则SHTv2板的这个灯会常亮
5. uuid读取
如果是FLY-Gemini系列或FLY-π系列主板可参考:查看uuid
Tip
已经识别到的CAN ID是不会被查找到的(即已经写入配置文件printer.cfg中的ID,连接成功并正常运行的,是不会被查找到的)
uuid在前面使用CanBooot烧写固件的时候已经查找过了,具体请查看:查找uuid
[mcu sht36] canbus_uuid: b7c79ec3f948 #将读取到的uuid填写到此处
也可以在SSH中输入下面的命令查找uuid
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
出现Found canbus_uuid=b7c79ec3f948
则查找到设备ID,其中b7c79ec3f948
为设备UUID。
Tip
如果找不到CAN ID,请检查:
接线是否正确,例如CANH 和 CANL是否接反或者接触不良
SHT36 V2板上的120Ω终端电阻跳线帽是否插上
是否正确供电,在刷固件时可以只使用TypeC接口供电
您的镜像内核是否支持CAN
固件编译是否正确
6. 引脚分布
SHT36 v2引脚
通信
CANBUS
功能 | 引脚号 |
---|---|
RX | PB8 |
TX | PB9 |
步进电机驱动部分
E电机
驱动 | 功能 | 引脚号 |
---|---|---|
E | EN | PA15 |
E | STEP | PB4 |
E | DIR | PB3 |
E | UART | PB5 |
E | DIAG | PB6 |
限位
限位 | 引脚号 |
---|---|
1 | PA1 |
2 | PA2 |
加热控制
功能 | 引脚号 |
---|---|
挤出加热 | PA8 |
温度传感器
功能 | 引脚号 |
---|---|
挤出温度 | PA3 |
板载NTC | PA4 |
舵机与探针
功能 | 引脚号 |
---|---|
舵机 | PB1 |
探针 | PC15 |
风扇
功能 | 引脚号 |
---|---|
风扇0 | PB10 |
风扇1 | PB11 |
RGB
功能 | 引脚号 |
---|---|
RGB1 | PB0 |
SPI设备
SPI2
功能 | 引脚号 |
---|---|
MISO | PB14 |
MOSI | PB15 |
CLK | PB13 |
ADXL345-CS | PA9 |
MAX31865-CS | PB12 |
SPI1
功能 | 引脚号 |
---|---|
MISO | PA6 |
MOSI | PA7 |
CLK | PA5 |
AS5047D-CS | PC14 |
7. FLY-SHT36 v2配置参考
Tip
请将[include sht36v2.cfg]添加到printer.cfg下
#####################################################################
# Notes
#####################################################################
## 请将[include sht36v2.cfg]添加到printer.cfg下
## Please add [include sht36v2.cfg] under printer.cfg
## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突
## The tool plate will use the following configurations,
## and if the following configurations are used in other configurations, conflicts may occur.
## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan]
## [probe] && [bltouch] && [stepper_x]
#####################################################################
# Master ID Configuration
#####################################################################
[mcu sht36v2]
canbus_uuid: e51d5c71a901
### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
### can的id需要把serial替换成canbus_uuid: 后面添加id
#####################################################################
# Temperature monitoring
#####################################################################
[temperature_sensor SHT36-V2]
sensor_type: temperature_mcu
sensor_mcu: sht36v2
#--------------------------------------------------------------------
[temperature_sensor Box]
sensor_type: ATC Semitec 104GT-2
sensor_pin = sht36v2:PA4
#####################################################################
# Accelerometer
#####################################################################
## https://www.klipper3d.org/Measuring_Resonances.html?h=adxl#adxl345
[adxl345]
cs_pin: sht36v2:PA9
spi_bus: spi2
#--------------------------------------------------------------------
[resonance_tester]
accel_chip: adxl345
probe_points: 150, 150, 20
# Somewhere slightly above the middle of your print bed
# 在打印床的中间稍微偏上的位置
min_freq: 5
max_freq: 133
accel_per_hz: 75
hz_per_sec: 1
#####################################################################
# Extruder thermal sensitivity
#####################################################################
## Please select the type of thermocouple you want to use.
## 请根据你想要使用的热敏选择
[extruder]
## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2)
## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2)
sensor_type: ATC Semitec 104GT-2
sensor_pin: sht36v2:PA3
###------------------------------------------------------------------
## If using PT1000, please connect the jumper next to the thermal sensitivity.
## 如果使用PT1000请将热敏旁边跳线接上
# sensor_type:PT1000
#pullup_resistor: 1100
#sensor_pin: sht36v2:PA3
###------------------------------------------------------------------
## Using MAX31865 to connect PT100 or PT1000
## 使用MAX31865接PT100或者PT1000
#sensor_type: MAX31865
#sensor_pin: sht36v2:PB12
#spi_bus: spi2
#rtd_reference_r: 430
#####################################################################
# extruder
#####################################################################
## https://www.klipper3d.org/Config_Reference.html#extruder
[extruder]
step_pin: sht36v2:PB4
dir_pin: sht36v2:PB3 # 挤出电机方向引脚设置
enable_pin: !sht36v2:PA15
rotation_distance: 22.44
## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length.
## 校准步进值: 22.44=旧值22*实际值102/目标值100
gear_ratio:50:17
## 减速比(伽利略齿比7.5:1 并且这行注释掉;BMG为50:17,输出轴在前,输入轴在后)
microsteps:16
full_steps_per_rotation: 200
nozzle_diameter:0.400
filament_diameter:1.75
heater_pin: sht36v2:PA8
min_temp: -230
max_temp: 500
max_power: 1.0
min_extrude_temp: 150
pressure_advance: 0.05
##Pressure in advance
##压力提前
##https://www.klipper3d.org/zh/Pressure_Advance.html
pressure_advance_smooth_time: 0.040
#max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片
#喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245
control = pid
pid_kp = 26.213
pid_ki = 1.304
pid_kd = 131.721
step_pulse_duration: 0.000004
#--------------------------------------------------------------------
[tmc2209 extruder]
uart_pin: sht36v2:PB5
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 500
#####################################################################
# FAN
#####################################################################
[fan]
pin: sht36v2:PB11
#--------------------------------------------------------------------
[heater_fan hotend_fan]
pin: sht36v2:PB10
heater: extruder
heater_temp: 50.0
#####################################################################
# X STOP
#####################################################################
# [stepper_x]
# endstop_pin: !sht36v2:PA2
## SHT V2板有PA1,PA2两个限位引脚可用,按照实际接线修改配置
## PA1引脚默认支持高压输入,可用于12v的接近传感器等。可通过跳线帽配置PA1为普通限位引脚
#####################################################################
# Stealthburner LED
#####################################################################
## https://github.com/VoronDesign/Voron-Stealthburner/tree/main
[neopixel sb_leds]
pin: sht36v2:PB0
chain_count: 3
# Number of LEDs
# 灯珠数量
color_order: GRB
initial_RED: 0.4
initial_GREEN: 0.8
initial_BLUE: 1
initial_WHITE: 0.0
#66CCFF
#####################################################################
# TAP && PL08N && BLTOUCH
#####################################################################
## https://www.klipper3d.org/Config_Reference.html?h=probe#probe
#[probe]
#pin: ^sht36v2:PA1
#x_offset: 0
#y_offset: 25.0
#z_offset: 0
#speed: 10.0
#samples: 3
#samples_result: median
#sample_retract_dist: 4.0
#samples_tolerance: 0.010
#samples_tolerance_retries: 3
#--------------------------------------------------------------------
## https://www.klipper3d.org/Config_Reference.html?h=probe#bltouch
#[bltouch]
#sensor_pin: ^sht36v2:PC15
#control_pin: sht36v2:PB1
#x_offset: -26.1
#y_offset: -15.3
#z_offset: 2.1
#####################################################################
# 磁角度传感器
#####################################################################
## 磁角度传感器
## 相关说明请参考https://www.klipper3d.org/API_Server.html#angledump_angle
## https://www.klipper3d.org/Debugging.html#motion-analysis-and-data-logging
[angle my_angle_sensor]
sensor_type: as5047d
#sample_period: 0.000400
#stepper: stepper_x
cs_pin: sht36v2:PC14
spi_bus: spi1
8. 桥接CAN
使用桥接CAN,sht36 v2工具板无需进行任何修改,只需要连接好打印机主板,并重新编译并烧录桥接CAN固件到主板即可。
请参考:Super8桥接CAN
9. 加速度计的使用
9.1 配置
配置如下:
Tip
装加速度计依赖包安装方法如下
Tip
此步骤使用于 非FLY上位机
,如果您为Fly-π
或者Gemini
系列则无需执行!!!
依次执行以下三条命令以安装加速度计依赖包。
sudo apt update sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ~/klippy-env/bin/pip install matplotlib numpy
请注意,根据 CPU 的性能,可能需要很多时间,最多 10-20 分钟。请耐心等待完成 安装。在某些情况下,如果主板的 RAM 太少 安装可能会失败。
9.2 测试
修改配置并保存重启后,在控制台输入指令:
如果出现报错请检查接线及配置,正常的输出如下图。出现下图中的输出后,便可以进行共振测量了。
测试前需要将X,Y,Z全部归位。
测试X轴的命令如下:
测试Y轴的命令如下:
Tip
如果测试过程中打印机震动太剧烈请及时按紧急停止或发送M112
来停止。过高的accel_per_hz
会让振动变得剧烈,可以适当降低。
9.3 使用
Tip
klipper支持自动校准,在校准开始前记得全部归位
SHAPER_CALIBRATE
执行这个命令后打印机将开始自动校准X,Y在校准完成后执行
SAVE_CONFIG
来保存数据也可以使用
SHAPER_CALIBRATE AXIS=X
来自动校准一个轴,在每个轴校准结束后都要先保存数据在校准下一个
校准过程可能会比较长,请耐心等待
10.相关链接
原理图及3D模型:Mellow-3D/Klipper-CAN-Toolboards (github.com))
适用与Stealthburber打印头的模型: GitHub
11.FLY-SHT36-V2 原理图
12.FLY-SHT36-V2 3D模型
13.下载固件-更新CAN BOOT
13.1 下载固件
编译固件前请确保 连接到SSH
13.11 500K的CANBOOT下载链接
https://cdn.mellow.klipper.cn/BL/FLY_SHT36V2_072_CANBOOT_500K.bin
FLY_SHT36V2_072_CANBOOT_500K.bin
13.12 1M的CANBOOT下载链接
https://cdn.mellow.klipper.cn/BL/FLY_SHT36V2_072_CANBOOT_500K.bin
13.2 烧录方法
13.21 STM32F072烧录CANBOOT
请确定36v2的主控是APM32F072或者STM32F072
进入SHT36 V2的USB烧录模式
安装烧录工具
使用Type-C数据线将SHT板连接到Linux设备,请确保连接前已安装短接跳线
执行下面的命令查看是否连接成功,复制蓝色框中的USB ID
烧录固件(烧录前确保已经编译过固件),将下面命令中的0483:df11替换为前面复制的USB ID
没有报错则烧录成功,如果出现报错请重新检查每个步骤操作
出现上图内容则烧录成功
Tip
注意:烧录成功后一定记得拔下来跳线帽
检查
如果正确配置编译并烧录成功,则SHTv2板的这个灯会闪烁
13.22 APM32F072烧录CANBOOT
请确定36v2的主控是APM32F072或者STM32F072
进入SHT36 V2的USB烧录模式
使用Type-C数据线将SHT板连接到Windows电脑,请确保连接前已安装短接跳线
下载并且安装烧录工具与DFU驱动
打开DFUProgrammer并且按下方
点击开始更新固件稍等即可,烧录完即可拔掉type-c与跳线帽
重新插入type-c,如果正确配置编译并烧录成功,则SHTv2板的这个灯会闪烁
还没有评论,来说两句吧...