键盘 pcb 教程
好的,这是一份详细的键盘 PCB 设计制作教程(中文),涵盖从设计到制作的完整流程:
核心目标: 了解并实践设计一块能让机械键盘开关工作的印刷电路板(PCB)。
所需工具/技能:
- 电路设计软件:
- 推荐:KiCad (免费开源,功能强大,社区支持好)
- 备选:Eagle (有免费限制版), Altium Designer (专业付费), EasyEDA (在线,集成制造)
- 电子知识: 基本电路原理、看懂原理图、理解键盘矩阵扫描原理。
- 耐心与细心: PCB 设计需要反复检查修正。
- (可选) 焊接工具: 焊台、焊锡、助焊剂、镊子等(用于组装测试板)。
- (可选) 万用表: 用于测试通断、短路。
? 教程步骤
步骤 1: 设计与规划
- 确定键盘布局:
- 决定键盘尺寸(全尺寸、TKL、75%、65%、60%、40%等)和按键配列。
- 使用在线工具(如 Keyboard Layout Editor)设计你的布局图并导出坐标数据(通常为 JSON 或 KLE 格式)。
- 选择主控芯片 (MCU):
- 常见选择:
- ATmega32U4: 经典,兼容性好(QMK/TMK/VIA),成本较低,速度足够。常用于中小型键盘。
- RP2040: (树莓派 Pico 核心) 新兴热门,性能更强(双核 Cortex-M0+),内存更大,成本低廉,原生支持 USB,易于编程(CircuitPython, C/C++)。支持 QMK/Vial。
- STM32 系列 (如 STM32F072, STM32F303): 性能强,资源丰富,常用于复杂或高端键盘。
- 考虑因素: 所需引脚数量(决定支持的按键数)、USB 类型(Type-C 是主流)、是否支持 RGB 背光/旋钮/屏幕等额外功能、固件兼容性(QMK, Vial, ZMK, KMK 等)。
- 常见选择:
- 理解键盘矩阵扫描原理:
- 按键开关排列成行(Rows)和列(Cols)组成的网格。
- MCU 依次给 Row 线输出高电平(或低电平,取决于设计),同时读取所有 Col 线的电平状态。当某个按键被按下时,对应的 Row 和 Col 线接通,MCU 就能检测到按键位置。
- 关键点: 每个按键开关需要在行线和列线之间连接一个二极管!这是为了防止按键冲突(多个按键同时按下时信号混乱)。二极管方向至关重要!(通常阴极朝向列线)。
步骤 2: 原理图设计 (Schematic Design)
- 创建新项目: 在 KiCad(或其他软件)中创建新项目。
- 绘制原理图:
- 添加元件库: 确保加载了包含你需要元件的库(开关、二极管、MCU、USB 接口、电容、电阻、晶振等)。很多键盘专用库可以在开源社区找到(如
keebio.pretty)。 - 放置元件:
- MCU: 放置主控芯片,连接其电源引脚(VUSB/VCC、GND)、复位引脚(可能需要上拉电阻)、晶振(如果需要)。
- USB 接口: 放置 USB Type-C 或 Micro-B 连接器。必须连接差分数据线(D+, D-)到 MCU 的对应 USB 引脚。 添加 ESD 保护二极管(如 TVS 阵列)和必要的滤波电容(靠近 USB 端口放置)。
- 按键矩阵:
- 放置所有按键开关(符号即可,不是封装)。
- 将开关一端连接到你定义的
Row0, Row1, ..., RowN网络。 - 将开关另一端连接一个二极管(如 1N4148)的阳极。
- 将二极管的阴极连接到
Col0, Col1, ..., ColM网络。 - 确保二极管方向正确! (阳极 -> 开关 -> 行线 / 阴极 -> 列线)
- 其他元件: 添加电源滤波电容(通常在 VCC 和 GND 之间靠近 MCU 放置 0.1uF 和 10uF 电容)、Bootloader 按钮/跳线(用于刷固件)、状态 LED(可选)。
- 连接网络: 使用导线或网络标签将所有元件按照逻辑连接起来。
- 标注网络: 给行线(
Row0,Row1...)、列线(Col0,Col1...)、电源(VCC,GND,VUSB...)、USB 数据线(USB_D+,USB_D-)等关键网络命名清晰。
- 添加元件库: 确保加载了包含你需要元件的库(开关、二极管、MCU、USB 接口、电容、电阻、晶振等)。很多键盘专用库可以在开源社区找到(如
- 电气规则检查 (ERC): 运行 ERC 检查原理图中是否存在连接错误(未连接的引脚、电源冲突等)。修复所有 ERC 报错和警告。
步骤 3: PCB 布局 (PCB Layout)
- 导入网表: 将原理图生成的网表导入到 PCB 编辑器中。
- 板框设计:
- 根据步骤 1 的布局图,精确绘制 PCB 的外形轮廓(Edge.Cuts 层)。确保外形尺寸、定位孔、螺丝孔、USB 开孔位置准确无误。
- 可以利用 KiCad 的“DXF 导入”功能导入 CAD 图纸,或使用“键盘布局编辑器”的插件直接导入坐标。
- 元件放置:
- MCU: 优先放置 MCU,靠近 USB 接口,方便走 USB 差分线。
- USB 接口: 放置在板边合适位置(考虑外壳开口),靠近 MCU。
- 按键开关: 按照布局图的坐标精确放置所有 MX 兼容开关的焊盘(或热插拔插座)。
- 二极管: 紧挨着对应的按键开关放置。选择适合的空间(直立或卧倒封装,如 SOD-123)。确保安装方向与原理图一致!
- 其他元件: 晶振靠近 MCU;电容靠近其服务的电源引脚;电阻/LED 等合理放置。
- 基本原则:
- 走线短、简洁。
- 避免高频信号(如 USB、晶振)靠近敏感模拟电路。
- 考虑焊接方便性。
- 为可能的螺丝柱/定位柱留出空间。
- 布线:
- 设置设计规则: 定义最小线宽(通常 0.2mm-0.3mm 足够)、最小间距(0.2mm-0.3mm)、过孔尺寸(内径 0.3mm,外径 0.6mm 常见)。这些规则影响制造成本和可制造性。
- 电源线: 优先走电源线(
VCC,GND,VUSB)。电源线可以适当加宽(0.5mm-1mm)。确保地线(GND)连接良好,必要时铺铜。 - USB 差分线: 这是关键!
D+和D-线必须平行、等长、紧密耦合走线。- 保持阻抗控制(通常要求 90Ω 差分阻抗?)。如果板厂支持,可在下单时说明。
- 尽量短,避免过孔,远离噪声源(晶振、开关电源)。
- 在差分线对周围包地(用地线隔离)。
- 行线/列线:
- 将同一个 Row 网络的所有开关引脚连接起来(一根线连一串)。
- 将同一个 Col 网络的所有二极管阴极连接起来(一根线连一串)。
- 行线和列线一般用较细的线(0.2mm-0.3mm)。
- 避免行线/列线在未连接开关的地方形成长距离平行走线,可能引起干扰(鬼键)。
- 优先走顶层或底层,避免过多过孔。
- 其他信号线: BOOT、RESET、LED 等按需连接。
- 过孔: 连接不同层的走线。合理使用过孔。
- 铺铜: 在顶层和底层空闲区域大面积铺上地线铜(GND),改善信号完整性和抗干扰能力。铺铜与走线需保持安全间距。
- 丝印设计: 在
F.Silkscreen/B.Silkscreen层添加必要的标注,如:- 二极管方向标记 (
|>或+/-) - USB 接口方向
- MCU 方向标记 (引脚1位置)
- 复位按钮标记
- Boot 模式跳线标记
- 版本号、设计者信息等
- 开关位置的字符标识(可选,通常由键帽提供)
- 二极管方向标记 (
- 设计规则检查 (DRC): 运行 DRC 检查布线是否存在违反规则的问题(短路、断路、间距不足、线宽不足等)。必须修复所有 DRC 错误! 仔细检查警告。
步骤 4: 导出制造文件
- 生成 Gerber 文件: 这是 PCB 制造的标准格式。通常需要导出以下层:
F.Cu(顶层铜箔)B.Cu(底层铜箔)F.Silkscreen/B.Silkscreen(顶层/底层丝印)F.Mask/B.Mask(顶层/底层阻焊层 - 开窗部分露出焊盘)Edge.Cuts(板框轮廓)Drill(钻孔文件 - 包含孔的位置和大小)
- 生成钻孔文件: 通常是 Excellon 格式(
.drl文件)。确保包含所有孔(元件孔、螺丝孔、过孔)。 - 压缩文件: 将所有 Gerber 文件和钻孔文件打包成一个 ZIP 文件。
步骤 5: PCB 打样制作
- 选择 PCB 制造商: 国内主流选择:嘉立创(JLCPCB)、华秋(HQPCB)、捷配(PCBWay)等。它们都有在线下单系统和报价。
- 上传文件: 上传 ZIP 包。系统会自动解析 Gerber 文件。
- 设置参数:
- 层数: 2 层(大多数键盘 PCB 足够)。
- 板厚: 1.6mm 最常用,也最便宜。也可以选 1.2mm 或 1.0mm(更软)。
- 阻焊颜色: 黑色、白色、蓝色、绿色(最便宜)等。
- 丝印颜色: 白色、黑色等(与阻焊对比鲜明)。
- 表面工艺:
- 无铅喷锡 (HASL): 最便宜,焊盘平整度稍差。
- 沉金 (ENIG): 成本适中,焊盘平整、金色、抗氧化好、焊接性好,推荐选择。
- 沉锡/沉银: 也有使用。
- 铜厚: 1oz (35μm) 标准,足够。
- 最小线宽/间距: 按实际设计中设置的值填写(如 0.2mm / 0.2mm)。
- 孔属性: 确认孔是否金属化(过孔必须金属化)。
- 数量: 5片或10片通常起订。
- 确认生产稿: 下单后,制造商会生成生产稿(CAM 图),务必仔细核对每一层! 检查板框、开孔、焊盘、丝印是否正确。确认无误后再通知生产。
- 支付与等待: 支付费用,等待收货(通常一周左右)。
步骤 6: 元器件采购与焊接
- 物料清单 (BOM): 根据原理图导出 BOM 清单。KiCad 可以自动生成。
- 采购元器件:
- 开关插座: 决定是否支持热插拔。购买 Kailh 热插拔轴座(MX Socket)或 Mill-Max 热插拔铜柱。不支持热插拔则只需焊盘。
- 二极管: 1N4148(SOD-123 封装最常用)。
- MCU: 购买焊接好的模块(如 Pro Micro - ATmega32U4, Raspberry Pi Pico - RP2040)或裸芯片(需要焊接技巧)。
- USB 接口: USB-C 或 Micro-B 母座。
- 电容/电阻: 按 BOM 购买合适封装和参数的。
- 晶振: 如果需要(部分 MCU 内置)。
- 其他: 按钮、跳线帽、LED(可选)、排针(用于连接模块)。
- 焊接:
- 准备好焊台、焊锡丝(含松香芯)、助焊剂、镊子、吸锡器/吸锡带、放大镜(可选)。
- 焊接顺序建议:
- 小元件:二极管(方向!方向!方向!)、电阻、电容。
- MCU 模块(或裸芯片,难度高)或 USB 接口。
- 热插拔插座(如果使用)。
- 其他元件。
- 技巧: 使用少量助焊剂;烙铁头保持清洁;控制好温度和时间;焊点圆润光滑;避免虚焊、短路、锡珠;焊接 USB-C 接口需要格外小心,引脚密集。
- 仔细检查: 焊接完成后,用放大镜仔细检查焊点质量和是否有短路、虚焊。用万用表测试关键位置(电源对地是否短路、二极管是否方向正确且通路、USB数据线是否连接)。
步骤 7: 固件刷写与测试
- 选择固件: QMK Firmware 是最强大的开源固件(支持大部分 ATmega32U4 和 RP2040 键盘)。Vial 提供图形化配置界面(基于 QMK)。ZMK 用于蓝牙键盘(RP2040 支持)。
- 环境配置: 根据固件文档安装编译环境(QMK MSYS, Python 等)和工具链。
- 配置固件:
- 复制一个类似键盘的配置文件。
- 关键配置: 定义你的键盘矩阵(
ROW2COL或COL2ROW)、引脚映射(哪些物理引脚对应Row0, Row1...,Col0, Col1...)、USB 参数、布局(按键数量、排列)。
- 编译固件: 运行命令编译生成
.hex(AVR) 或.uf2(RP2040) 文件。 - 进入 Bootloader 模式:
- 通常需短接 PCB 上的
RESET和GND两下,或按住BOOT按钮再插入 USB。 - MCU 会进入等待刷写固件的状态(设备管理器可能显示为未知设备或 Bootloader 设备,如 ATm32U4DFU)。
- 通常需短接 PCB 上的
- 刷写固件: 使用刷写工具(QMK Toolbox, QMK CLI, UF2 Tools - RP2040)将编译好的固件文件刷入 MCU。
- 测试按键:
- 刷写成功后重启键盘。
- 使用在线键盘测试工具(如 Keyboard Tester)或软件(如 Switch Hitter)测试每个按键是否都能正确触发。
- 故障排查:
- 按键不触发:检查该按键的二极管方向、焊接、行/列连线、矩阵定义是否正确。
- 按键连键/鬼键:检查行/列线是否有短路、虚焊;检查矩阵逻辑定义是否正确。
- 多个按键同时触发:通常是二极管方向错误或缺失,导致按键冲突没有被隔离。
- USB 不识别:检查 USB 数据线焊接、差分线阻抗/布线、MCU USB 部分电路(电容、电阻)、固件 USB 配置。
? 重要注意事项
- 二极管!二极管!二极管! 方向反了或漏焊是按键不工作的最常见原因!务必检查原理图、PCB 丝印、焊接方向。
- USB 差分线: 布线不规范是导致 USB 识别不稳定、断开或无法识别的主因。优先保证其质量。
- DRC/ERC: 设计阶段反复检查,制造前再次确认生产稿。
- 元器件采购: 确认封装尺寸(尤其是二极管、电容电阻)是否与 PCB 焊盘匹配。
- 焊接: 小心静电(ESD),避免烫伤,追求质量而非速度。
- 开源资源: 利用开源社区!参考 GitHub 上已有的键盘 PCB 项目(如 ai03 的设计、SonixQMK 项目),学习成熟方案。
- 从简单开始: 第一次设计建议选择 60% 或 65% 布局,避免过于复杂。
- 热插拔设计: 强烈建议使用热插拔插座(Kailh 轴座),极大方便后期调试和换轴。确保焊盘设计支持五脚开关。
- 固件配置: 矩阵引脚定义(
ROW2COL/COL2ROW)必须与实际硬件连接一致!
? 总结
键盘 PCB 制作是一个融合了电气设计、硬件布局、焊接和软件调试的综合性项目。过程需要耐心和细致,但成功点亮并按下自己设计的 PCB 那一刻的成就感是无与伦比的!希望这份中文教程能为你提供一个清晰的路径。祝你
探索 Adafruit Trellis:开源背光键盘驱动系统
最多可以在共享的 I2C 总线上拼接 8 个模块。 Trellis 的 PCB 是专门为适配 Adafruit 4x4 弹性键盘而设计的。每个 PCB
2026-05-10 16:15:09
自制YamPAD机械小键盘
完全开源的廉价、易于构建、功能丰富的数字键盘。特征:- 制造成本低:每件 PCB 的制造成本不到 1 美元。- 易于获取组件。- 易于构建。- 使用*Kailh
PCB设计:蓝牙小键盘资料下载
电子发烧友网为你提供PCB设计:蓝牙小键盘资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
资料下载
佚名
2021-04-10 08:51:19
自制一个AMIGA 600键盘膜PCB
描述AMIGA 600键盘膜 PCB 2021-09-29 (arananet)键盘电路板:层数:2尺寸:318mm*141mmPCB厚度:0.
适用于A600键盘薄膜PCB
描述AMIGA 600 键盘 PCB 膜接头 (arananet)头PCB:尺寸:38mm*23mmPCB厚度: 0.6-0.8取决于
制作ZX频谱键盘的教程
描述ZX频谱键盘我制作这个键盘是为了与 Superfo Harlequin 128、ZX Nuvo 128、ZX Max 128 一起使用。它们是 ZX Spectrum 克隆。它也可以与原始 ZX Spectrum
一个简单的PCB键盘,可轻松用于Arduino项目
一个简单的PCB键盘,可轻松用于Arduino项目。提供了完全可定制的代码! 硬件部件: Arduino UNO × 1个 1N4148 –通用快速开关 × 64
2021-01-27 14:00:56
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机