
3D打印CAN工具头-stm32f446小螃蟹满配工具头
简介
首款使用stm32f446的工具头,小螃蟹工具头, 端子拉满, 并且全部都是xh2.54的端子, 支持usb/串口/can通信切换, 集成ldc1612支持涡流扫床, 集成MAX31865芯片
简介:首款使用stm32f446的工具头,小螃蟹工具头, 端子拉满, 并且全部都是xh2.54的端子, 支持usb/串口/can通信切换, 集成ldc1612支持涡流扫床, 集成MAX31865芯片开源协议
:GPL 3.0
描述
3D打印工具头用于klipper固件, stm32f446小螃蟹满配工具头, 采用stm32f446rct6作为主控, 资源多, 性能强, 支持usb/串口/can通信切换, 想用啥通信就用啥通信, 接线端子全部为XH2.54端子, 端子大好接线
1. 3个限位端口, 2个5V供电, 1个5V/24V供电切换, 其中STOP2有二极管隔离支持高压输入, 可以接入其他三线的设备
2. 2个温控端子, 一个用于热端, 另外一个可以作为扫床线圈的温度补偿使用, 1个板载温控用于测量仓温
3. 3个可控风扇, 1个热床级大功率加热棒
4. 1个4PIN I2C端子引出, 1个4PIN扩展端子, 5V供电输出
5. 1个4PIN CAN端子引出, 可以刷入普通的CAN固件, 当然也可以刷入UTOC固件
6. 集成TMC2226步进电机驱动, 散热好, 容易焊接
7. 集成LDC1612芯片, 直接支持扫床, 配套线圈, 体积小巧, 也可以使用idm的线圈
8. 集成MAX31865芯片, 支持PT100/PT1000温度传感器, 支持两线和三线制
9. 集成ADXL345加速度传感器
10. spi焊盘引出, 共5个IO可用, 扩展性强
期间can芯片TJA1051T/3买到的不是那么好, 导致带电插拔工具头把mcu搞的不正常,无法进入dfu下载程序了, 电路经过改造, 即使can芯片是假的, 也不会影响到mcu, can芯片的第8引脚既可以支持是REF功能如TJA1050T,也能支持是第8引脚是VIO功能的芯片如TJA1051T/3 SIT1051T/3, 如果使用1050系列的旁边的二极管就不要焊接了
可以刷入USB固件, CAN固件, 串口固件, 还可以刷入UTOC固件, 跟上位机或主板通信时接口必须相同
板子只焊接完成正面就可以使用usb转串口下载固件
端子大部分都没有保护, 接线之前看清楚, 尤其是机械的限位开关, 只接IO和GND, 不要接三条线!
关联的高性能全IO保护主板: https://oshwhub.com/cxg01/3d-da-yin-zhu-ban-stm32-gao-xing-neng-mi-ni-8-zhou-zhu-ban-si-ceng-ban
关于涡流线圈看我另外的项目: https://oshwhub.com/cxg01/3d-da-yin-wo-liu-diao-ping
工具头mcu配置
[mcu toolhead]#usb/串口通信# serial: /dev/serial/by-path/platform-xhci-hcd.0.auto-usb-0:1.1:1.0-port0# baud: 500000 # 串口通信波特率# restart_method: command#can通信canbus_uuid: 6cb6cbf28f16
mcu引脚定义
[board_pins toolhead_pins_f446]
mcu: toolhead # stm32f446工具头
aliases:
H1=PB2, # 加热
FAN1=PB3,FAN2=PB4,FAN3=PC2, # 风扇
STOP1=PD2,STOP2=PB5,STOP3=PA2, # 限位 STOP2有二极管隔离
T1=PB0,T2=PC4,T3=PC5, # 温控 T3为仓温检测
EN1=PC12,DIR1=PC10,STEP1=PA15,UART1=PA14, # tmc2226步进电机驱动
ADXL_CS=PC6,ADXL_MOSI=PC9,ADXL_MISO=PC8,ADXL_SCK=PC7, ADXL_INT1=PC3, # ADXL345 软件spi接口
MAX_DYDY=PA3, MAX_CS=PA4, # MAX31865 硬件spi spi_bus: spi1
LDC_SDA=PC0,LDC_SCL=PC1,LDC_INTB=PC13, # LDC1612, 晶振频率40M
WS2812=PA8, # WS2812
LED=PB1, # klipper运行指示灯 高电平亮灯
pt100配置
[temperature_sensor PT100]sensor_type: MAX31865sensor_pin: toolhead:MAX_CSmin_temp: -200max_temp: 300spi_bus: spi1# spi_software_sclk_pin: toolhead:PA5# spi_software_mosi_pin: toolhead:PA6# spi_software_miso_pin: toolhead:PA7rtd_nominal_r: 100rtd_reference_r: 427.27 # ref电阻rtd_num_of_wires: 3
ADXL345配置
# ADXL345加速度计[adxl345]cs_pin: toolhead:ADXL_CSspi_software_sclk_pin: toolhead:ADXL_SCKspi_software_mosi_pin: toolhead:ADXL_MOSIspi_software_miso_pin: toolhead:ADXL_MISO[resonance_tester]accel_chip: adxl345accel_per_hz: 50probe_points: 100, 100, 20
[neopixel my_neopixel]pin: toolhead:WS2812# 连接到neopixel的引脚。# 必须提供此参数。chain_count: 1# 菊链中 neopixel 芯片的数量。# 默认为1(代表有一个neopixel芯片连接到了这个引脚)。color_order: GRB
klipper自带eddy涡流配置
[probe_eddy_current eddy_probe]sensor_type: ldc1612i2c_address: 42i2c_mcu: toolheadfrequency: 40000000i2c_speed: 400000intb_pin: toolhead:LDC_INTBi2c_software_scl_pin: toolhead:LDC_SCLi2c_software_sda_pin: toolhead:LDC_SDAx_offset: 0 #记得设置x偏移y_offset: -15 #记得设置y偏移z_offset: 3 #记得设置z偏移, 不可过低speed: 5 #探测速度samples: 3 #采样次数sample_retract_dist: 5.0 #采样时喷嘴抬升距离samples_tolerance: 0.05samples_tolerance_retries: 2
[temperature_probe eddy_probe]sensor_type: Generic 3950sensor_pin: toolhead:T2horizontal_move_z: 3# 具体使用参考fly-eddy https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/1612# eddy 快速Z调平[gcode_macro Z_TILT_ADJUST]rename_existing: _Z_TILT_ADJUSTgcode:{% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current eddy_probe'].z_offset|float %}# ========== State Save ==========SAVE_GCODE_STATE NAME=STATE_Z_TILT# ========== Environment Preparation ==========BED_MESH_CLEAR # Clear existing bed mesh data# ========== Main Leveling Process =========={% if not printer.z_tilt.applied %}# Initial coarse adjustment_Z_TILT_ADJUST horizontal_move_z=10 retry_tolerance=1{% endif %}# Fine secondary leveling_Z_TILT_ADJUST horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1G0 Z10 F6000 # Use standard G-code commands instead of HORIZONTAL_MOVE_Z
# ========== Post-Processing ==========G90 # Force absolute coordinate modeG0 Z10 F6000 # Raise Z axis to safe heightM117 Z_tilt Completed # Display completion status#G28 # Return to origin# ========== State Restore ==========RESTORE_GCODE_STATE NAME=STATE_Z_TILTM400
# eddy 快速网床扫床[gcode_macro BED_MESH_CALIBRATE]rename_existing: _BED_MESH_CALIBRATEgcode:{% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current eddy_probe'].z_offset|float %}{% set TARGET_TEMP = printer.heater_bed.target %}M140 S0_BED_MESH_CALIBRATE horizontal_move_z={PROBE_Z_OFFSET} METHOD=rapid_scan {rawparams}M140 S{TARGET_TEMP}
焊接完成验证:
焊接完成之后先不要焊接插件端子, 先用usb转串口下载固件,
当然你也可以正反两面焊接完成后, 使用usb下载固件,
如果总是无法使用stm32cubeprograme总是无法连接上, 说明mcu焊接有问题,
这些芯片验证都不用接24V供电, 直接用5V供电即可
1. ADXL345芯片
直接输入 ACCELEROMETER_QUERY 命令 , 在控制台上会出现获取到的加速度数据, // accelerometer values (x, y, z): 9400.615463, 74.020594, -766.095498
2. MAX31865芯片
准备一个pt100传感器, 添加pt100的配置, 出现pt100的温度值即可, 如果有问题, klipper会直接报错
3.LDC1612芯片
接入线圈, 输入 LDC_CALIBRATE_DRIVE_CURRENT chip=eddy_probe 会返回: // probe_eddy_current eddy_probe: reg_drive_current: 19
4.TMC2226芯片
把挤出机[extruder]配置下的, 最小挤出温度设置为 min_temp: -200,不用接挤出机, 也不用24V供电 ,在页面上直接点挤出, 不报错即可
5.热端加热MOS
直接输入温度加热, 加热指示灯亮即可
6.WS2812B灯
添加相关配置, 直接在页面上设置颜色, 能亮就行
LDC1612芯片报错问题:
这个是用klipper自带的涡流, 不是第三方插件, 感觉不是很完善, 刚开始搞不好可能会撞机
当然也可以用第三方插件, 如eddy-ng: https://github.com/vvuk/eddy-ng ,这个我还没用起来, 附件里编译的固件带有这个插件
1. Unable to obtain 'i2c_read_response' response
发送命令LDC_CALIBRATE_DRIVE_CURRENT chip=eddy_probe 就报这个, 说明芯片虚焊
2. Failed calibration - incomplete sensor data
上机测试时, 发送自动校准命令PROBE_EDDY_CURRENT_CALIBRATE CHIP=eddy_probe, 发现也能正常校准, 但是最后保存时提示这个问题, 也是芯片虚焊导致的
3. Failed calibration - frequency not increasing each step
发送自动校准命令PROBE_EDDY_CURRENT_CALIBRATE CHIP=eddy_probe, 前边正常校准, 但是在最后保存配置时提示这个, 说明芯片焊接是没问题的, 是探测到的最前边几个数据有问题, 出现了距离越远频率越高的情况, 可能是热床太重导致距离喷嘴很近时发生了震动所致, 这种需要抬高喷嘴
4. Error during homing z: Eddy current sensor error
这个错误具体解决以及新版的涡流线圈看我另外一个涡流线圈项目: https://oshwhub.com/cxg01/3d-da-yin-wo-liu-diao-ping








设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论