1. 项目背景与需求解析
去年底我在设计一个便携式调试工具时,需要为设备配备一个紧凑的输入装置。考虑到传统键盘体积过大,而触摸屏输入在工业环境下不够可靠,最终决定基于嘉立创EDA设计一个定制机械小键盘。这个看似简单的项目在实际落地时却遇到了不少意料之外的技术挑战。
这种20键左右的机械小键盘在创客圈很常见,通常用于快捷操作、宏命令触发或特殊设备控制。我的需求比较典型:需要支持USB即插即用、具备可编程按键功能、且外壳能适配我的主设备尺寸。选择嘉立创EDA主要看中其云端协作和国产化生态优势,但没想到从电路设计到结构装配处处是坑。
2. 硬件设计踩坑实录
2.1 元件选型误区
最初方案选用CH552G作为主控,看中其原生USB支持且价格低廉。但在打样后发现三个严重问题:
- 芯片的USB枚举成功率仅70%左右,插入不同主机时会出现驱动识别异常
- GPIO驱动能力不足,同时扫描4x5矩阵时出现信号抖动
- 官方库文件对机械按键消抖处理不完善
解决方案:
改用GD32E230系列ARM Cortex-M23内核MCU,虽然单价贵3元但带来显著改善:
- 内置硬件消抖电路
- USB协议栈稳定性经过市场验证
- 提供完整的按键扫描例程
经验:不要盲目追求低成本MCU,省下的芯片钱可能加倍消耗在调试时间上
2.2 PCB设计陷阱
矩阵电路布局时犯了两个典型错误:
- 将所有行线平行走线(如图1),导致相邻键位同时触发
- 未在扫描线上串联电阻,EMI测试时出现误触发

改进方案:
- 采用交错式走线布局
- 每个扫描线串联100Ω电阻
- 增加去耦电容阵列(每4个键位1个0.1μF)
实测显示改进后按键误触率从12%降至0.3%以下。
3. 结构设计难题
3.1 轴体固定方式选择
最初采用传统钢板固定结构,导致:
- 1.2mm厚度的FR4定位板易变形
- 轴体引脚与PCB焊盘受力不均
- 多次插拔后出现焊盘脱落
最终方案:
使用三明治结构:
- 上层:3D打印ABS定位板(带卡扣结构)
- 中层:PCB板
- 底层:铝合金底板
这种结构使轴体
