电子说
工程名称:Dactyl-HelloWord人体工程学键盘
工程作者:Dimsmary
工程描述
这是一个使用了瀚文HelloWord固件的Dactyl人体工程学键盘,其继承了瀚文键盘的基本功能:按键、RGB灯效,支持热插拔,并使用了Dactyl生成器所生成的外壳。
为了最大程度适配瀚文固件所产生的一些设计,导致本项目的复刻难度可能较高,详细情况将在后续内容提及。
电路设计说明
本项目的PCB一共包括三块:轴板(Keyboard),主控板(LeftBoard)、扩展板(RightBoard)。
由于Dactyl的异形结构(每个轴都不在一个平面上),按键轴的安装并不能用一块PCB完成。在其他的Dactyl项目中,轴与轴之间的连接通过手工飞线实现。
01轴板
本项目采用了每个按键使用单独一块PCB的方案。
轴板PCB图
每块PCB上焊有:RGB灯珠、轴座、FPC排线连接座。PCB之间以及与主控板的连接通过FPC软排线实现。
为了节省打板费用,我将25个按键PCB拼板到了一个10x10cm的PCB上。这25个PCB并不相同,因此分为了3号PCB、2号PCB、1号PCB。
实物到手后需要用铁皮剪剪好,再依次焊接并组装到一起。具体组装方式如下:
对于1号PCB,其右边的FPC连接座为6P,从上至下的线序为(KEY1/KEY2/KEY3/GND/DIN/5V),而左边的FPC连接座为5P,从上至下的线序为(KEY2/KEY3/GND/DOUT/5V)。右边的6P座直接与主控连接,负责获取RGB灯珠的电源、信号以及传递按键连接。左边的5P座与2号PCB的5P座连接,将RGB电源、信号传递以及按键连接线的中继。
对于2号PCB,其右边的FPC连接座为5P,即与1号PCB相连。左边的FPC连接座为4P,从上至下的线序为(KEY2/KEY3/GND/DOUT/5V),与3号PCB相连。
对于3号PCB,其右边4P座与2号相连,左边的4P座定义为(GND/DOUT/DOUT/GND),即将RGB灯珠的输出信号传回至主控板。
1、2、3号PCB构成一个按键PCB组,由于RGB灯珠的信号是逐级传递的,故每个PCB组的3号PCB需要传回主控板,主控板再走线将信号输出至下一个PCB组的RGB信号输入。
轴板的焊接工作量巨大,如果经济实力允许,建议使用SMT服务。4P座的排线连接方向是反的,但不影响使用,如在意,可自行调整。
02主控板
主控板的电路完全参考瀚文键盘,在移位寄存器的数量上进行了删减。
主控板PCB图
其上一共有四个连接器:
RJ45:负责给扩展板提供电源和传递信号;
Type-C:连接电脑;
SWD:程序下载接口;
UART:预留接口,可进行瀚文键盘其他功能的扩展。
主控板被安装在左手键盘。
03扩展板
扩展板上仅有:移位寄存器、连接座、LDO。其与主控板的连接通过RJ45实现。
拓展板PCB图
在USB连接上电脑前,需要保证主控板和扩展版的连接通畅。
如果两块板之间的连接断开,由于单片机缺少移位寄存器的回传信号,会导致按键误判。表现为随机输出按键信息至电脑。
04外壳构建
附件中的3D打印子文件
SolidWorks文件夹:其内包括了承载电路板的结构件。
STL文件夹:其内的STL文件可直接进行3D打印。
OpenSCAD文件夹:其内包括了Dactyl外壳的OpenSCAD源文件以及生成器的Json文件。将Json文件导入外壳生成器的网站可以加载我的设置并进行修改。
注意1:由于空间问题,承载电路板的结构件与外壳之间的卡口处需要打磨。
注意2:由于设计问题,两块电路板的底面需要是平整的,需要使用锉刀锉去凸起,否则无法安装仅承载电路板的结构件。
05固件上传
附件中的固件工程文件
通过STLINK或其他下载器,将Firmware>Release中的bin文件上传至STM32即可。
若需要进行键位的修改,可自行编译HelloWord-keyborad-fw中的文件。
设计图
轴板原理图
轴板PCB
主控板原理图1
主控板原理图2
主控板原理图3
主控板PCB
拓展板原理图1
拓展板原理图2
拓展板原理图3
拓展板PCB
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !