【思兼 】Makerbase MKS SKIPR 船长板 简要使用记录
前言
原创文章,转载引用请务必注明链接,水平有限,如有疏漏,欢迎指正交流。
文章如有更新请访问 DFRobot 社区 或者 cnblogs 博客园。
欢迎对 Klipper 固件感兴趣,以及对改版 CNC 加工的 Voron 三叉戟、v0、v2.4 感兴趣的朋友加群交流(QQ Group:490111638)
近日朋友发给我一块 另一位朋友推荐给我,我又推荐给他使用的二合一主板用于装机,也就是今天的主角:MKS 船长。既往我对 RockChip 的芯片不了解,之前用过 Fly-Gemini、BQ-M4P,而 MKS-SKIPR 没实际接触过,所以借此机会研究研究。
【2023年2月2日 更新】
- CAN2 使用的问题新版 Klipper 已解决
- 取消 TypeC 是因为以防此接口供电不足导致主板不稳定
- USB 无线网可以正常使用,问题出在我家的无线网(天生和螃蟹卡相克吧,具体原因有待探究)
一、资料地址
二、硬件概览
【主板接口图】淘宝中文版的是半截图,就直接使用英文版了
2.1 硬件接口图分析
- 6个可调电压风扇接口(3可控+3常开),使用一个挤出加热时,额外多两个 VIN 可控风扇接口,有空余驱动插槽时,通过模块亦可拓展可控风扇接口
- 支持 3Dtouch 和高压 Probe 调平器
- 接口丰富:6个限位开关接口、4个测温接口、6个预留IO引脚
- 保留 EXP1 和 EXP2
- 提供 MAX 31865 接口
- 提供驱动外接信号引脚
- 提供 CAN 通讯接口,板载收发器
2.2 具体分析与讨论
Pros:
- RK3328 CPU性能强,实测快于 Amlogic S905L,体验好
- STM32F407VET6,168Mhz
- 1GB 内存满足舒服使用 Klipper 全家桶功能的需要
- 支持 Pi-TS35 触摸屏,内置驱动,连接设置方便,KlipperScreen 方案性价比高
- 启动后可以通过 host-usb 连接电脑,实现串口访问控制,注意波特率1500000,hostSERIAL:CH340——UART2——host_DEBUG
Cons:
-
RK3328 原生仅支持3个USB接口,数量少,【后续是否增加USB-HUb】
-
Pi-TS35 默认FPS给的20帧,能用但是能否给到更高的帧率提高使用体验,类似 ili9488 高刷 SPI 屏
fb_ili9341 spi0.0: fbtft_property_value: fps = 20
-
目前看host和mcu的TypeC 接口都无法给主板供电,导致测试非常麻烦,如果是为了避免5v、vin信号干扰,是否可用增加跳帽切换的方式
-
MPU-MCU默认使用UART通讯,原因应该是受限于原生USB数量。是否存在Klippy与Firmware通讯带宽问题,之前一块主板在 VzBot AWD 四驱上出现过高速打印超出传输带宽的情况,这个官方可以参考Klipper文档测试一下,我这里就不进一步探究了
-
eMMC转microSD适配器做工有待提高,出现有的读卡器插不进、读不出、卡不住的问题。希望端子座增加防呆设计。
-
安装eMMC模块时,务必注意方向!安装MPU散热片时,先插入eMMC模块并留有一定空间,防止干涉!
-
默认UART连接实现无SD卡线刷升级固件时似乎比较麻烦,对于滚动升级的Klipper,拆机升级固件太麻烦了
三、软件探析
3.1 基本状况:
- eMMC 模块中已经烧录了操作系统
- 默认用户 root/mks 密码:makerbase
- MCU 默认无 Klipper 固件
- Klipper 默认编译选项:
stm32f407 48KiB USART1 PA10/PA9 ,同时改名为 mks_skipr.bin 拷贝到 mSD 卡,插入 MCU-TF 插槽后按 RESET 进行更新,更新成功则后缀名会变为 cur
- 默认还是使用
MJPG-Streamer ,有条件升级为 crowsnest
3.2 杂记:
-
系统基于 Armbian Buster,希望能升级到最新稳定版的 Bullseye( Win7——> Win10)
-
内核采用 5.16.20,是否使用 5.15 LTS 长期维护版
-
Klipper 全家桶(Klipper、Moonraker、Fluidd、KlipperScreen)落后一个版本(printer_data打来的一系列问题,以及crowsnest),希望在大版本更新时,官方能跟进。目前发布的系统日期为20220726 ,逾半年之久,不过根据MKS的既往印象,应该以ToB为主,第一版系统、固件的后续更新会比较那啥。而Klipper开发活跃且滚动更新,带来额外技术支持压力。
-
官方文档提示:因为MKS PI的系统文件是基于Armbian桌面系统进行移植的,直接更新Armbian桌面系统会存在一些问题,所以暂不建议更新系统。那么:
- 有必要安装 xfce 桌面环境吗?占用空间和系统资源,且多数情况下用不到桌面。
- 目前冻结了 kernel、dtb、u-boot、firmware 等,进行升级后使用没出现无法启动和功能不正常的问题
3.3 无线网络问题
这个专门说一下吧
-
为了实现 ms 下修改配置文件添加网络的方法,卸载了 nm,导致启动后添加、修改网络比较麻烦,也可能有更好的方法我不知道。而且新版KScreen支持nm作为后端。这个添加修改网络的方法希望优化。
-
套餐中的 USB 无线网卡(RTL8188EU)出现了连接不稳定的情况,无法正常访问
-
换用我自己的 RT3070 联网稳定、完美
-
RTL8188EU 连接我另一个台Linux设备时,启动时直接干 Kernel panic 了,硬件故障?
-
编译时使用 lwfinger 最新的稳定版驱动是否可以解决?
filename: /lib/modules/5.16.20-rockchip64/kernel/drivers/staging/r8188eu/r8188eu.ko.xz
version: v4.1.4_6773.20130222
-
因为我家无线网络的问题?但是 3070稳定
-
希望使用 NetworkManager 等进行网络管理,否则启动后的网络管理不方便
四、其他主板连接方式
查看原理图可知,MCU 可用的通讯引脚包括:
通讯方式 |
引脚1 |
引脚2 |
UART(Default) |
PA9 |
PA10 |
USB |
PA11 |
PA12 |
CAN |
PB12 |
PB13 |
4.1 USB-Serial连接
可以用于可能的默认 UART 通讯带宽不足时。占用一个USB接口,使用数据线连接到 mcu-usb typeC 接口即可
4.2 连接 CAN 工具板
SKIPR 使用 MCU CAN2 (PB12/PB13)进行通讯,而CAN2需要同时启用CAN1,既往无法正常使用,具体见讨论:MKS SKIPR CAN Bus。目前Klipper更新之后可以正常使用:stm32: Fix CAN2 handling in can.c
4.2.1 CAN 桥接模式
由于 SKIPR 板载 CAN收发器,可以启用 CAN 桥接模式连接 CAN 工具板,节省一个 USB转CAN 模块。接线方法同上,使用 板载CAN接口连接工具板。编译参数如下:
4.2.2 使用 USB转CAN模块
传统方式,产品如图:
编译选项如图,此时需要USB接口连接CAN模块,CAN模块再连接板载CAN接口和工具板CAN接口。
- 部分 MCU 支持
USB to CAN bus bridge(USB转CAN总线桥接模式) ,此时此 MCU 既是 USB转CAN 适配器,又是一个 Klipper 节点
- MCU 在 Linux 中会显示为 USB CAN Bus Adapter,同时作为节点可以被
canbus_query.py 查询到 uuid,也可以充当普通的 CAN MCU 节点进行控制。当然,也可以被其他位于 CAN 总线上的节点看到。
- 注意:
- 进行桥接的 mcu 实际上并不在 CAN 总线上(虽然可以被看到),因此传入及传出的数据包并不占用总线带宽。此外,此 mcu 无法被总线上的其他 CAN 适配器看到。
- 需要在 Linux 系统中配置 can0 端口。但是 Linux CAN 总线速度和 CAN bus bit-timing 选项会被 Klipper 忽略,目前 CAN 总线频率只有在编译固件指定指定,Linux中指定的总线速度会被忽略(都是如此?)。
- 桥接 mcu 重置时,Linux 会禁用对应的 can0。一般情况下,这需要使用诸如
ip up 等命令来重启此接口,因此,Klipper 的 FIRMWARE_RESTART 命令或者 RESTART 命令需要重启 can0 接口
六、番外:线刷升级固件功能的可能性
- canboot
- 3.3v serial
- dfu
- sd_update
默认烧录固件可以使用 3.3v Serial,按住 boot0 按钮,短按 reset 后,松开 boot0 ,此时即可通过 /dev/ttyS0 访问stm32F4。
目前测试无法进入DFU模式。
七、他山之石
此主板采用 RK3328 处理器,dtb 参考的 ROC-RK3328-CC。我们再找一些其他采用此 CPU 的资料丰富主板进行参考。
总结
MKS SKIPR 主板目前来看
- 硬件性能(MPU & MCU)好
- 接口非常丰富,满足绝大多数使用场景
- 价格相对较低的同时有足够的保护电路
建议:
- 改善 eMMC 适配器
- 通过 usb-hub 等方式拓展 usb 接口数量
- 增加 USB 供电功能方便测试、调试
- 如有可能提升 SPI 屏幕的帧率
虽然软件系统有待优化,但整体来看是仍然是比较推荐的一款产品,毕竟现在才是第一版。
|