复刻稚晖君的“瀚文”键盘:从PCB到软件调试纯手搓

全文3980字,阅读约需12分钟,帮我划重点

划重点

01复刻稚晖君的“瀚文”键盘,包括硬件PCB设计、物料采买、焊接、硬件测试等工程。

02由于原工程采用0402封装,部分器件不利于焊接,因此将0402封装更改为0603,部分QFN封装的芯片更改为SOP封装。

03硬件测试包括键盘主体和拓展功能,计划至少调通键盘主体功能,拓展板的功能算作功能发挥部分。

043D外壳的打样放在最后,采用树脂或光固化打印材料,预计花费较高。

05时间安排在工作周周末进行,目前已完成硬件加工,后续进行软件调试。

以上内容由腾讯混元大模型生成,仅供参考


初步工作规划


工程都是开源的,浏览了一下开源工程大概需要做以下事情:
1、硬件PCB设计,这部分虽然稚晖君大佬都开源了工程,但是很多器件都采用了0402等较小的封装,个别芯片的封装也不利于焊接,所以这部分内容打算将0402的封装换成0603,以及个别QFN封装的芯片尽量换成SOP封装的,防止手残导致复刻失败,并且尽量将器件都放到PCB的其中一面以简化焊接过程。这不风工作虽然前期需要花点时间,但是磨刀不误砍柴工。板子的打样可以去JLC较小的板子直接用每个月的两次打样机会,键盘主体PCB只能花钱打样了。
图片
2、物料采买,开源的工程中也有boom表,但是由于PCB有替换封装,boom表需要仔细核对一遍。物料采买可以在立创商城采购,优点是方便,一家就能买齐;缺点比某宝贵;第二中选择是可以在某宝上买,优点是会便宜一些,确定是需要到不同店才能买齐。
3、焊接,焊接工作采用人工烙铁焊接和加热焊台相互结合的方式,就是焊台比较小5cm*5cm,焊台主要焊接元件比较密集的部分以及引脚较多的芯片(比如MCU主控芯片),插件或者器件尖稀疏的地方采用人工焊接的方式。
4、硬件测试,焊接好PCB之后先进行测试,确保功能能实现再做后续步骤,因为后续步骤的成本较大,如果功能都没调通复刻失败的话以降低复刻成本。该键盘功能主要分为键盘主体和拓展功能,计划至少调通键盘主体功能,拓展板的功能算作功能发挥部分。
5、3D外壳的打样,这次复刻成本最高的部分,外壳主体部分个头也很大,所以3D外壳的打样放在最后。打印的材料有树脂,光固化,CNC等,CNC手感较好,但是很贵,预计使用树脂或光固化打样。
图片
6、时间安排,由于平时要工作,所以时间安排在每周的周末,键盘做来自用的所以没有时间上的压力和紧迫感,有时间就做没时间就做其他事情。


PCB更改以及打样



这个阶段的复刻主要是将封装较小的元器件更改为较大的封装,便于焊接,目前的工具加工小封装的期间b8ushi很友好。另外虽然PCB源文件是开源的,但是也存在一些问题,瀚文键盘经过这么多人的复刻也有人罗列出了这些小问题,可以说是“前人栽树后人乘凉”了。
1、主控板该PCB板修改主要修改了小封装的阻容件,0402更换成0603,手头也只有一本0603封装的电阻本和电容本。    
图片
此外还需要修改的bug是有16个RGB灯照射的方向是PCB板的下方,原版的灯照射的方向都朝向键轴。RGB灯照射的方向共分为两种,一种是向键轴作为按键的背光;另一种是照向PCB的下方作为氛围灯。需要修改的RGB灯都已标注出来了,这个错误是通过网上前人复刻的踩坑记录发现的。 
图片
此外还有部分热拔插轴座的焊盘超出板框限制的问题,由于外壳还没有做,没有实物尺寸所以不敢擅自加大板框,以免PCB过大无法放进外壳中。
图片
2、集线器,该部分PCB实现拓展坞的功能,这块板的修改主要是替换0402封装的阻容件并把大部分件都放到了同一面以降低加工难度。
图片
3、拓展版,该部分PCB实现墨水屏显示和电机的扩展功能,修改的部分主要是替换较小的封装便于后续的加工,该部分其中一个芯片封装从QFN换到了SOP,所以改动较大,整板重新布局了一遍(当然一些接口位置为了和外壳衔接没有改动位置,重新布局时只能改动元器件的位置,对外的接口一律不能动)。
图片
4、拓展版OLED该部分PCB用于驱动OLED屏幕,这里的改动是替换0402的阻容原件。
图片
5、扩展板encoder该部分PCB是电机的磁编码器芯片,更改了一个0402封装的电容。
图片
板子的打样时间刚好卡在三月底和四月初,在JLC打样了四块PCB并另外付费打样了键盘主体PCB,正好是这次帖子提到的5块PCB。键盘主体PCB长宽大于10*10所以只能付费打样了,这次成本主要是键盘主体PCB打样花费161元,本来只要111,后来工作人员说槽孔太多加了50打孔的费用。


物料采买



名称
型号
封装
数量
单价
总计
主控芯片
STM32F103CBT6
LQFP-48
1
6.1
6.1
主控芯片
STM32F405RGT6
LQFP-64
1
18.4
18.4
磁编码器芯片
AS5047P
TSSOP-14 
1
8.2
8.2
USB拓展器IC
HS8836A
SOP-16
1
1.1
1.1
锂电充电芯片
TP4056
SOIC-8
1
0.49
0.49
升压
XL6019E1
TO263-5
1
1.75
1.75
降压
ME3116AM6G 
SOD-23-6
1
5.5
5.5
LDO稳压器芯片
SPX3819M5-L-3-3/TR
SOT-23-5
1
0.39
0.39
三相栅极驱动器
FD6288Q
QFN-24
1
1.59
1.59
电容式触摸芯片
XW06A
SOP-16
1
3
3
移位寄存器
74HC165D
SOIC-16
11
0.61
6.71
线性稳压器芯片
XC6210B332MR
SOT-25
1
0.5
0.5
晶振
8MHZ晶振
3213-3P-33PF
2
2.96
5.92
MOS芯片
EMB12P03V
EDFN3×3
1
1.1
1.1
MOS芯片
EMB09N03V
EDFN3x3 
6
0.8
4.8
MOS管N型
AO3400A
SOT23
1
2
2
三极管NPN
S8050
SOT23-3
1
1.2
1.2
肖特基二极管
B5819WS
SOD-323_L1.8-W1.3-LS2.5-FD
5
1.4
1.4
肖特基二极管
SS14
SOD-323
3
1.5
1.5
肖特基二极管
SS34
DO-214AB-SMC 
1
2
2
幻彩LED灯珠
WS2812B-6028 
反贴灯珠-6028
89
22
22
插头插座接口类
USB母座
USB 3.0 9脚 沉板
2
7
7
Type-C接口16P
卧贴 4脚 16P
1
0.43
0.43
6P弹簧针
备注5号针
2
6
6
FFC/FPC-0.5-8P-连接器
卧贴
5
0.25
1.25
FFC/FPC-0.5-8P-连接器
交叉立贴  
3
0.32
0.96
FFC/FPC-0.5-24P-连接器
卧贴(看买的屏是上接还是下接)
3
0.28
0.84
FFC/FPC-8P-排线
0.5间距-反向 150MM
4
0.18
0.72
FFC/FPC-24P-排线
0.5间距-同向 100MM
1
0.22
0.22
MX1.25MM 1x2P 卧贴
1.25mm 1x2P 卧贴
1
2.11
2.11
HDR1x4_1.27mm
1*4P  1.27MM间距
1
0.35
0.35
直插针2*5P 1.27mm
2*5P   1.27MM间距
2
0.75
1.5
排母1*1P 1.27mm 
1*4P   1.27MM间距
2
0.9
1.8
HDGC1002WR-S-3P
1.0mm 3P 卧贴
1
2.2
2.2
SH1.0-3P STAND
1.0mm 3P 立贴
1
2.4
2.4
电感
33UH
1040IND-SMD_L11.5-W10.0 
1
0.38
0.38
6.8UH
L2520
1
4.4
4.4
47UH
L2520
1
4.4
4.4
电容
100UF
1206
5
3.5
17.5
其他
墨水屏
2.9寸 带微雪驱动的
1
50
50
1.1寸oled显示屏
128*36
1
21.5
21.5
径向磁铁
直径4*长度3
1
9
9
电池
40*43*128
1
37
37
无刷电机
2204  KV250以内
1
55
55
按键-圆形6*6
6*6*4.3
2
4.5
9
热插拔轴座

82
28
28
卫星轴

1
33.9
33.9
机械键盘轴体




键帽




外壳




定位板

1
95
95
底棉
夹心棉
轴下垫
辅助工具
烧录程序下载器
USB口
1
17.8
17.8

其中外壳还没买,以及键轴和键帽还未采购,键轴和键帽种类较多后续考虑买哪种的。这里一共花费506.31。


硬件PCB加工



本来预计9月份做完但是由于工作原因以及键盘外壳定制两个事情一直拖着进度,一直没有更新完,键盘实际上9月中旬就已经做出来但是没空更新。现在稍微空闲了一点所以简单记录一下复刻过程。
1、转接板加工,瀚文键盘有不少转接板,之前还花了点功夫去研究这些转接板怎么连接的,给人的感觉还是有点复杂转接板有点分散,有些转接板还是可以合并一下,减少转接板简化接线。以下是所有只为转接功能的转接板。
图片
这些转接板基本上都有fpc母座,直接手工焊接可能还得费点功夫,这里直接用锡膏更快捷,为避免连焊直接上下交错点上锡膏。
     图片
2、USB hub加工,板子器件较少,加工难度还是在fpc母座的焊接上,实际加工下来也没碰上什么问题。
图片
3、电机驱动模加工这块板子是器件最多的一块,加工难度也是最大的,锡膏有点久没用了好像有点问题出现了挺多虚焊的地方。事先将0402封装换成0603以及将部分QFN封装的芯片换成了SOP封装的操作降低了不少加工难度,唯一缺点就是封装变大了板子布局变得比之前紧凑了。好在最终也成功加工完成。
图片
4、键盘主体加工,键盘主体加工主要是工作量,键盘轴座的焊接将近有100个,加工的时候使用锡膏,配合加热台,加热台有点偏小分成好几次加热。这次加工也因为锡膏出现了好多虚焊的地方,后面又用烙铁将轴座重新补焊了一遍。另外在加热板子时由于键盘主体较大,有大部分pcb悬空在焊台外面,一加热由于重力作用导致PCB主体变形,最终加工完成后又重新加热将板子形状尽量复原了一下。 
图片
加工完成之后的样子:
图片  图片
图片
确认好硬件焊接没什么问题后安装隔音棉、定位板、键轴等。
图片
图片
图片
至此硬件已经全部加工完成,后续进行软件的调试,瀚文键盘现在处理原版的固件网上已经有好多固件可以用,后续直接使用网络上的固件进行调试。


软件调试(键盘主体)



之前已经将硬件全部加工完成,现在使用网络上找到的固件进行调试,键盘主体前期在硬件上只做了阻容元件封装上的变动原理上不会出什么问题,主要查看硬件加工上是否存在问题。输入相应的固件后马上就能看到键盘的led灯珠亮起,虽然有进行补焊但还是出现了虚焊的问题,明显能看到部分灯珠没有点亮,由于键盘的灯珠都是串联的所以不亮的地方都是成片出现的,只需要找到最前面那个不亮的灯珠进行补焊就好,补焊完成之后灯珠全部亮起。
图片
测试完灯珠还需要检测按键是否都正常,这里的时候可以不用万用表一个个去测试,直接使用在线键盘测试网站进行测试。你点击哪个按键网页上的相应按键就会被检测到被按下。在线键盘测试,经过测试按键全部正常。
图片
连接电脑后成功识别到键盘,以下为使用效果:


软件调试(扩展板)



键盘主体功能已经没问题,剩下扩展板功能,该功能也调通后就可以进行最后键盘外壳的安装。扩展板改动较多,所以不要排查硬件加工问题,由于之前原理图上使用的电机驱动芯片的封装使用了QFN,所以事先将芯片换掉了,原理有做修改。
刷固件前先通电测试各部分电源供电正常后接上各种外设,该扩展键盘需要接上一个OLED屏幕、一个墨水屏、一个电机。
图片
待刷入固件后可以通过上位机向扩展板传输需要显示的图片,这里随便照一张图片试下效果,图片可以正常显示。
图片
按下按键能够切换OLED屏的菜单显示,OLED也能正常工作。
图片

OLED演示效果
测试电机时发现电机的回弹功能存在失效的问题,检查完硬件焊接已经原理都没问题后尝试更换了一个电机的霍尔芯片后发现功能正常应该是买到的芯片良品率不太行估计是翻新件。这个问题排查了较久因为原理图上有做一些修改。以下为最终电机功能的演示效果:
机演示效果
至此瀚文键盘的功能已经验证完成,还剩最后外壳的包装工作就能完成复刻了。


键盘组装(完工)



经过不懈的努力终于来到了最后的外壳组装环节。
外壳的组装主要分成三块,分别为USB hub底座的组装、扩展功能部分的组装和键盘主体的组装。
1、 USB hub组装这部分主要是hub板子和锂电池充电板以及锂电池的组装。最后组装时没有使用之前的USB hub板子,之前的板子分散转接板较多,现在使用的绿色板子有做合并,绿色板子是复刻键盘过程中认识的朋友给的,我之前那个板子功能也能正常使用。
图片
2、键盘主体组装键盘主体的之前有安装好键轴、隔音棉、定位板等这里就只要安装好和USB hub的转接和触摸条的转接,最后装上下盖,安装键帽即可。
图片
3、扩展部分安装,这部分的安装算是最复杂的部分,细小零件相对多一点,使用的螺丝种类也较多。以下是安装完成后的效果。
图片
最终安装完的效果:
键盘全貌:
图片
演示视频:
完工演示效果

看完EEWorld网友@1nnocent 做的键盘,你觉得怎么样?欢迎留言或跟帖说出你的想法。

最近树莓派也发布了一款类似的键盘产品,比这个可能要复杂一丢丢,但有异曲同工之妙。树莓派发布的是第二代键盘产品 Raspberry Pi 500 ,其内部搭载博通 BCM2712 处理器,采用 4 核 Cortex - A76 架构,主频高达 2.4GHz。其配备 8GB 的 LPDDR4X 内存以及 32GB 的 microSD 存储,这一配置有效提升了处理能力与存储空间,能够出色地应对多任务处理及存储需求。相较于前代产品,Raspberry Pi 500 在设计层面更为关注用户体验,其键盘采用无小键盘的类 75%配列,十分契合日常办公与学习场景的使用。

图片

此外,Raspberry Pi 500 支持 Wi - Fi 5 双频、蓝牙 5.0,且兼容 BLE 标准。在接口方面,配备 2 个 USB - A 5Gbps 接口、1 个 USB 2.0 接口、2 个 mini HDMI(最高 4Kp60)接口、1 个千兆 RJ45 网口,以及水平 40Pin GPIO。

为与 Raspberry Pi 500 协同使用,树莓派还同步推出 15.6 寸便显示器 Raspberry Pi Monitor。该显示器采用 IPS LCD 面板,色域覆盖达 45% NTSC,亮度典型值为 250nits,典型功耗 7.5W。

图片

该产品与一体机仅差一块屏幕,定价 90 美元(约合人民币 655 元),并附赠一张 32GB 系统卡。

针对 Raspberry Pi 500 的设计,有网友提出了犀利的疑问:既然键盘 PC 与显示器能够整合为一体,为何不直接加入触控功能?如果树莓派这款键盘与网友复刻的“瀚文”键盘功能融合一下,是否会创造出一款更具魅力与实用性的产品,从而在市场上获得更高的认可度与更广泛的欢迎度呢?

毕竟,“瀚文”键盘在某些特定功能领域有着独特的优势与特色,若能与 Raspberry Pi 500 键盘有机结合,或许能够取长补短,为用户带来更为丰富和便捷的使用体验。


· END ·


欢迎将我们设为“星标”,这样才能第一时间收到推送消息。

和电子工程师们面对面交流经验