基于QMK的87键复古机械键盘 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 基于QMK的87键复古机械键盘

简介:87键复古机械键盘,设计特点是将Function键拆分移动到主键区域的左右两边。主控为Teensy 2.0+,固件基于QMK,加入了VIA,底座和上盖使用OpenSCAD绘制。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

工程来源: 克隆自 基于QMK的87键复古机械键盘

创建时间: 2022-01-20 22:16:48
更新时间: 2023-08-30 20:33:27
描述
## 制作动机 以前一直用 BFACE 的84键,但发现两个问题:一个是 Fn 键与 shift 键按下有先后差别,另一个是84键的 F1-F12 离主键区域太近,容易误触。于是想 DIY 一个类似IBM 3278、IBM5100、Fortune、Zenith Z100 的 Function 键在左右两边造型复古的机械键盘。 ![forturn.png](//image.lceda.cn/pullimage/mPeIZJSsjdp85iFcV6RnVLOn9EKwHWYSzE1FDHdu.png) ## 配列 借助 [KLE](http://www.keyboard-layout-editor.com/) 网站绘制键盘配列。 ![截屏2022-01-19 下午6.02.57.png](//image.lceda.cn/pullimage/FvLv19NYHrFkOvLpfg7WOG7M4Uafh6jfe38lmRtN.png) 左下和右下两个键可以去掉,更有老键盘的味道;如果补上,则可多设置4个功能键。 ## PCB ![微信截图_20220211200655.png](//image.lceda.cn/pullimage/ohGSFAwm8Yjo86ibeBt8ZQGhH3ysHS1vEomncmig.png) 1. 不想自己焊贴片元件,不想花钱SMT,所以二极管和电阻均采用插针式,二极管方向采用 Col_to_Row; 2. 不想自己焊主控芯片,不想自己折腾 bootloader,所以直接将 Teesy 2.0+ 系统板焊接到 PCB 上; 3. 不想要光污染,所以最后只添加了 Caps Lock 一个灯。 ## 定位板 借助 [Plate & Case Builder](http://builder.swillkb.com/) 网站生成 DXF文件。不想纠结各种材质定位板的手感和价格对比,直接在立创做一个无电路的 PCB 当定位板。 事实上,虽然定位板并无电路也不铺铜,但因为需要激光切割方形孔,所以加工成本反而比PCB板还要贵(PCB上虽然也有密密麻麻的孔,但全是圆形通孔,用钻头即可)。 ![plate.png](//image.lceda.cn/pullimage/gDORWDnT2Mx6XqouDLnObRXWYfAaebYYoTafYddQ.png) ## 轴体 采用 TTC 金粉轴和腹灵卫星轴。金粉轴确实非常轻,很适合打字。卫星轴没有调明白,大键有点肉。 ## 外壳 使用 [OpenSCAD](https://openscad.org/index.html) 绘制,纯代码建模。定位板和键帽的预览功能参考了 [kbl2scad](https://bitbucket.org/afqueiruga/kbl2scad/src/master/) 的工作。 ![my87keys_full.png](//image.lceda.cn/pullimage/OMRngpPvsFkNmx4WLMTu4Hzw0XQ7kQJaDOq9dwQR.png) 底座采用光固化 3D 打印,上盖用橡木加工制作,这两种材质均难以攻出耐用的螺纹,因此需要挖六边形槽以嵌入螺母。 不想使用 Teensy 上的 mini USB 接口,所以购买了一个带定位孔的 Type-C 模块,自制了一根 mini USB 转 Type-C 的线,并在底座上设计了用于固定 Type-C 模块的结构。 ![typec.png](//image.lceda.cn/pullimage/hVxUyWeVoCIkpFly7RT8kNFxAYca3BHQ6xLTABFH.png) ## 固件 1. 利用 [Keyboard Firmware Builder](https://kbfirmware.com/) 网站生成源码; 3. 修改 config.h 文件中 `VENDOR_ID` 和 `PRODUCT_ID` 的值; 4. 在 rules.mk 文件中添加 `VIA_ENABLE = yes`; 5. 在 QMK_MSYS 中编译生成固件; 注:需要根据错误提示修正 keymap.c 及 kb.h 文件中“陈旧”的代码 7. 使用 [Teensy Loader](https://www.pjrc.com/store/teensy.html) 烧写固件; 8. 编写 via.json 文件,使用 [VIA](https://www.caniusevia.com) 软件实时修改键值。 ![微信截图_20220211211431.png](//image.lceda.cn/pullimage/RpmL331rNVss7NjTCTeOQVTekQb7ROdQ8ZWm2ePl.png) ## 组装 1. 焊接 Teensy 2.0+ 系统板,**并把针脚剪短**(否则会抵住定位板); 2. 把 Teensy 2.0+ 系统板上的 **LED 灯拆焊掉**(因其连接到了PD6端口,不拆会导致 5、T、G、B、空格这一列连带着旁边 4、R、F、V 键连击) 3. 焊接二极管(可惜当时 PCB 上的封装画反了,所以不得不**反着焊**,当然也可以将错就错按封装的方向焊二极管,在固件中改成 Row_To_Col 就可以了), 3 个 2X 卫星轴附近的二极管必须**焊到 PCB 背面**,否则卫星轴安不上; 4. 用镊子测试所有按键; 5. 安装调试卫星轴(这一步最好**在焊轴体之前**); 6. 焊接轴体; 6. 在外壳与上盖的六边形槽中滴上 502 胶,将螺母嵌入其中,风干固定后即可拧螺丝组装。 ![微信图片_20220211172031.jpg](//image.lceda.cn/pullimage/2ermdACLcbydHx4nRA4CeoWkMr6uNCOZn1YDwr4c.jpeg) ![nocase.jpg](//image.lceda.cn/pullimage/WPoNLOd4sVzRAl79GysTC7V5wjlqxWuAd53aAEGM.jpeg) ![微信图片_20220218134816.jpg](//image.lceda.cn/pullimage/68RGnGQRzvNtKw6i80thA0w3yM6bDlYFlC2eZG0r.jpeg) ## 总结 1. 这是我首个自主设计的键盘工程,感谢立创提供良好的软件生态和开源的社团氛围,可以快速找到可参考学习的相似方案,同时很容易获取各种元器件的封装,免去了自己手工测量绘制; 2. 首个版本必有遗憾和疏漏,比如二极管封装画反、主控板端口没有做认真筛选、六角孔尺寸偏大、底座斜坡角度不够、底部的主控按钮洞可以设计成脚垫孔等等,如有创客 fork 本项目,一定注意文档中加粗体的部分,避免制作错误及返工。 3. 虽然在 3D 打印前已使用 AutoCAD 完成了外壳和底座设计,但本着开源和挑战精神,自学了 OpenSCAD,采用“代码”方式重构了整个设计方案,避免了 AutoCAD 三维设计中由“非参数化”而导致的各种问题,400多行的设计代码也一并开源,供后来者参考。 ## 附件说明 1. my87keys.scad 文件由 kbl2scad.py 生成,主要包括键位信息; 2. my87keys_full.scad 为绘制键盘各部件的文件,它调用了 my87keys.scad; 3. via.json 文件用于 VIA 软件导入配列; 4. my8387-qmk.zip 为修改后的键盘源码,解压后放在 qmk 路径下的 keyboard 文件夹中进行编译。
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

my87keys_full.scad

21
2

my87keys.scad

14
3

via.json

15
4

my8387-qmk.zip

28
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP