三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Torn Keyboard开源项目深度解析:KiCad设计文件与QMK代码结构详解

Torn Keyboard开源项目深度解析:KiCad设计文件与QMK代码结构详解

Torn Keyboard开源项目深度解析:KiCad设计文件与QMK代码结构详解

【免费下载链接】tornTorn keyboard项目地址: https://gitcode.com/gh_mirrors/to/torn

Torn Keyboard是一款采用通孔元件构建的分体式机械键盘套件,其设计灵感源自Corne、Plaid和Discipline等经典键盘。该项目使用ATmega328P微控制器运行QMK固件,支持VIA在线配置,是开源键盘爱好者的理想选择。本文将深入剖析其KiCad PCB设计文件与QMK代码结构,帮助新手快速掌握项目核心技术。

KiCad PCB设计全解析

Torn Keyboard的PCB设计基于开源EDA工具KiCad完成,项目提供了完整的原理图和PCB布局文件,方便用户学习和二次开发。

设计文件结构

项目的PCB设计文件主要分布在以下路径:

  • 左侧PCB:torn_left/torn_left.kicad_pcb
  • 右侧PCB:torn_right/torn_right.kicad_pcb
  • 底板设计:case/PCB Case/base/torn_base.kicad_pcb
  • 定位板设计:case/PCB Case/plate/torn_plate.kicad_pcb

这些文件包含了完整的元件布局、布线和3D模型信息,用户可直接用于生产制造或修改定制。

特色设计亮点

Torn Keyboard的PCB设计具有以下特色:

  1. 通孔元件设计:所有主要元件均采用通孔封装,降低焊接难度,特别适合电子制作新手。

  2. 双控制器架构:左侧PCB搭载ATmega328P主控制器,右侧使用MCP23017 I/O扩展芯片,通过TRRS接口实现左右半键盘通信。

  3. 模块化布局:支持MX和Kailh Choc两种开关类型,用户可根据喜好选择不同高度的键盘方案。

Torn Keyboard的PCB布局图,展示了清晰的元件排列和合理的布线设计

制造文件生成

项目提供了自动化脚本用于生成生产文件:

  • scripts/kiplot.yml:KiCad批量输出配置文件
  • scripts/release.sh:生产文件打包脚本

通过这些工具,用户可以轻松生成Gerber文件、BOM清单和钻孔文件,直接提交给PCB制造商进行生产。

QMK固件架构详解

Torn Keyboard运行QMK(Quantum Mechanical Keyboard)开源固件,支持丰富的自定义功能,包括按键重映射、宏定义和OLED屏幕显示等。

固件目录结构

QMK固件相关文件在项目中的位置:

  • 官方固件仓库:QMK firmware
  • 引导程序:USBaspLoader
  • 键盘布局定义:keyboard-layout-editor.json

核心功能实现

  1. 键矩阵扫描:采用行列扫描方式检测按键状态,支持最多44个按键和2个旋转编码器。

  2. OLED显示:默认固件支持OLED屏幕显示键盘状态、层信息和自定义图形,相关代码位于keymap.c中的oled_task_user()函数。

  3. VIA支持:通过VIA协议实现免编程按键重映射,用户可使用VIA配置工具实时调整键盘布局。

编译与烧录

编译和烧录QMK固件的步骤如下:

  1. 安装QMK开发环境:
git clone https://gitcode.com/gh_mirrors/to/torn cd torn
  1. 进入引导模式:

    • 连接TRRS线缆和USB-C线
    • 先按住RESET键,再按住BOOT键
    • 先释放RESET键,再释放BOOT键
  2. 编译并烧录固件:

make torn:via:flash

![QMK固件烧录过程](https://raw.gitcode.com/gh_mirrors/to/torn/raw/792336b2ae7b4a04c52391f7fc98bb688039218f/case/HiPro Case/img/PXL_20210714_175756116.jpg?utm_source=gitcode_repo_files)

使用QMK MSYS工具烧录固件到Torn Keyboard

实战案例:从设计到成品

3D打印外壳制作

项目提供多种3D打印外壳设计,包括:

  • 楔形外壳:case/wedge/
  • 旅行外壳:case/Travel Case/
  • 3D打印基础外壳:case/3D Printed Case/

以3D打印外壳为例,用户可直接使用STL文件进行打印:

  • torn-case-v2.stl

![3D打印外壳组装效果](https://raw.gitcode.com/gh_mirrors/to/torn/raw/792336b2ae7b4a04c52391f7fc98bb688039218f/case/3D Printed Case/torn - 1.jpeg?utm_source=gitcode_repo_files)

3D打印的Torn Keyboard外壳,支持MX和Choc两种开关

完整组装流程

  1. 焊接PCB:按照PCB组装指南焊接所有元件
  2. 安装开关:根据选择的开关类型安装MX或Choc轴体
  3. 组装外壳:将PCB固定到3D打印外壳中
  4. 烧录固件:使用QMK工具链烧录默认或自定义固件
  5. 配置键盘:通过VIA工具进行按键映射和功能设置

总结与扩展

Torn Keyboard开源项目为机械键盘爱好者提供了一个理想的学习平台,通过KiCad设计文件和QMK固件的深入分析,我们可以看到其设计的灵活性和可定制性。无论是电子设计新手还是有经验的开发者,都能从这个项目中获得宝贵的实践经验。

项目的开源许可证允许个人非商业使用和修改,如果你有兴趣进一步扩展Torn Keyboard的功能,可以考虑:

  • 添加蓝牙模块实现无线连接
  • 设计RGB背光系统
  • 开发自定义QMK功能层

希望本文能帮助你更好地理解Torn Keyboard项目的技术细节,鼓励你动手制作属于自己的定制化机械键盘!

【免费下载链接】tornTorn keyboard项目地址: https://gitcode.com/gh_mirrors/to/torn

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表