前言
原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正交流。
【 如需查看文章更新请访问本文链接 -> DFRobot社区 】
Fly3D Gemini 主板越用越顺手,新版本可能会采用 SDIO 板载 WiFi 模块,减去那个突兀的 USB 无线网卡,美滋滋。现在的问题就是默认只支持 4 个步进电机驱动,2路可控风扇,而实际上除了小体积的 Voron V0 等机型,多数玩家的机器都是双 Z 轴以上,至少 3 个可控风扇(模型、喉管、主板+驱动)来降低噪音,初始配置远不够用,继而导致 Gemini 的普及受到限制。虽然官方会出新的拓展板,但是貌似是采用一块额外的 MCU 小主板、或者 CAN 通讯的挤出头板来缓解这一问题,那我们有没有办法提前低成本解决这一问题呢?答案是肯定的,就是我在互联网冲浪的时候,发现了 MKS 的两款产品:
【图1】MKS EXP-MOT3 主板驱动拓展模块 和 插拔式3路风扇扩展模块
本文介绍如何在 Gemini 以及其他兼容 Ramps EXP1、EXP2 拓展插槽的 3D 打印主板上使用多种模块,拓展驱动以及利用富余的插槽。
1、使用 EXP-MOT3 驱动拓展模块
我们知道,MKS 和 Fly3D 多数主板都有 EXP1、EXP2 插槽,兼容最早的 Arduino ramps 3D打印机盾板的引脚定义,此引脚常用于连接 12864 或者 2004 LCD屏幕。
【图 2】ramps 引脚定义,注意有 5v (AVR) 和 3.3v (32bit boards) 区别,以及 KILL 信号引脚空置和连接 5V (MKS) 的区别。所以各位购买拓展模块时,建议购买同一厂家。
1.1 EXP 槽口方向区别与排线购买
由于 MKS 历史遗留问题,其主板该拓展插槽槽口方向和 Fly3D 相反,导致两者的模块都无法直接使用。
那么如果想要使用该拓展模块,临时使用可以把 FC 灰排线一头凸点切掉,正常需要购买对应排线。我们用表笔测得 MKS 为 10P 同向凸点相反的排线,由于 Fly3D 和 MKS 顺序相同槽口相反,所以我们需要购买的排线规格为 【同向凸点相同(朝内或朝外)】或者 【反向凸点相反】,第二种更灵活。同时由于 SPI 信号为独立的,可以尝试购买 30cm 长的,方便连接屏幕。
- 10P
- 【同向凸点相同(朝内或朝外)】或者 【<u>反向凸点相反</u>】
- 30cm
1.2 EXP-MOT3 模块接线
该拓展模块原理图及引脚图可以在 MKS Github 项目页面 找到。
我们发现如下几个细节:
-
需要额外的 12/24V 供电,和主板共地
-
提供两路常开 VCC 输出
-
默认无法使用 SPI 通讯的步进电机驱动,如 TMC2130、TMC5160,需要额外引入 SPI 的 MISO/SCK/MOSI 信号脚,CS 则和 UART 脚通用
-
EXP1全部引出用于步进电机的 EN、DIR、STEP 引脚,其中三个电机 EN 共用 BEEPER 脚。同时注意 Gemini v1.0 的 BEEPER 引脚是空置的,此时 EN 悬空,保持使能状态。v1.1 则没有此问题
注意:
-
我们知道通常 EXP2 的 1、2、6 引脚通常连接在主芯片的硬件 SPI 脚上,这里 MKS 选择空置不引出,询问技术后得知是“因为有些主板的 SPI 跟 RAMPS 不一样”,为了兼容更多主板。
-
虽然提高了兼容性,但是需要独立的 SPI 信号输入,对于没有其他 SPI 的主板,反而造成了麻烦。
-
如果后续利用该硬件 SPI 引脚,则建议购买 10cm 以内的排线,减少阻抗和信号干扰。
-
建议驱动和主板对应,因为不同驱动的 UART 引脚顺序有区别,特别注意 Fysetc 的。
1.3 EXP-MOT3 配置文件
基于我的 Klipper-Box 项目配置文件格式,直接添加到主板配置文件中的引脚部分。
[board_pins]
aliases:
# Stepper drivers, Defalut X-Y-Z-E
MOT0_EN=PB2, MOT0_STEP=PC13, MOT0_DIR=PC1, MOT0_UART=PB11, # MOTOR_X
MOT1_EN=PD2, MOT1_STEP=PC14, MOT1_DIR=PC4, MOT1_UART=PB9, # MOTOR_Y
MOT2_EN=PC12, MOT2_STEP=PC15, MOT2_DIR=PC5, MOT2_UART=PB8, # MOTOR_Z
MOT3_EN=PC11, MOT3_STEP=PC3, MOT3_DIR=PC8, MOT3_UART=PB7, # MOTOR_E0
# 请添加以下部分引脚定义
# Extended Stepper drivers | MKS EXP-MOT3
eMOT1_EN=EXP1_1, eMOT1_STEP=EXP1_3, eMOT1_DIR=EXP1_4, eMOT1_UART=EXP1_2, # eMOTOR_1
eMOT2_EN=EXP1_1, eMOT2_STEP=EXP1_5, eMOT2_DIR=EXP1_6, eMOT2_UART=EXP2_3, # eMOTOR_2
eMOT3_EN=EXP1_1, eMOT3_STEP=EXP1_7, eMOT3_DIR=EXP1_8, eMOT3_UART=EXP2_5, # eMOTOR_3
这里使用 Fysetc TMC2209 v2 步进电机驱动,测试效果如下:
2、插拔式3路风扇扩展模块
一下子多了 3 个可控 MOS 输出,上位机、仓室风扇有着落了,美滋滋,一般低于 1A 以下的负载问题都不大(本人不对此负责)。
可见 3 个控制脚分别是 EN/STEP/DIR,采用的 MOSFET 型号为 CJ3400
。示例配置如下:
[fan] # Print Cooling Fan | 模型冷却风扇
# 可由切片软件控制
pin: eMOT1_EN
kick_start_time: 0.500
[heater_fan hotend_cooling_fan] # Hotend cooling fans | 喉管散热风扇
# 根据挤出头温度自动启停
pin: eMOT1_STEP
kick_start_time: 0.500
heater_temp: 50.0 # 默认读取挤出头温度,设置 50℃ 开关
fan_speed: 0.5 # 设置风扇转速,max_power:咋回事
[controller_fan board_cooling_fan] # Controller cooling fan | 主板散热风扇,支持风扇速度监控
# 对应的挤出头开始加热或者步进电机运动后自动启停,可用于主板+驱动散热
pin: eMOT1_DIR
kick_start_time: 0.500
fan_speed: 1.0
# tachometer_pin: # 四线风速监测引脚,可选
3、其他模块
- 外置驱动转接模块 | 可以连接大电流外置驱动,已使用 57 步进电机等。普通的采用 5v 信号电压,如果传输距离较远,可以使用此高电压模块。
- 测温模块 | 使用 PT100+MAX31865 ,支持高温高精度测温,方便没有板载 MAX 信号放大电路的主板。
总结
此外置驱动模块可以方便地拓展 Gemini 主板的驱动插槽,但是用在 Gemini 上可以做一些优化(例如 SPI 信号),希望 Fly3D 公司可以出配套的产品。
由于此模块占用 exp1 和 exp2 引脚,导致无法使用原来的 12864 等 lcd 屏,但是其实彩色触摸屏价格合适且更好用,所以无关紧要了。