交流一下USB机械键盘

[复制链接]
3399|22
手机看帖
扫描二维码
随时随地手机跟帖
chenhahaha|  楼主 | 2018-11-2 11:08 | 显示全部楼层 |阅读模式
本帖最后由 chenhahaha 于 2018-11-2 11:08 编辑

大学时同学打游戏人手一个机械键盘,工作后经常写代码,于是想换一个顺手的机械键盘。淘宝看看各家的卖点大致为全键无冲,响应迅速,进口轴体,抗干扰磁环。不同点也只是在流水灯效和外观结构上。网上查了查键盘实现的原理,发现比较简单。加上自己工作上一直在接触USB协议,于是做一个USB机械键盘。


先展示一下半成品,104个键通信正常,外壳还没有做,灯效目前只做了呼吸灯效果,还需要再改善一下。
image001.png              image003.png


硬件选型:
MCU选择了WCH沁恒的8位单片机CH549L,因为公司一直在用他们家CH376T和CH340G芯片,在接口通信方面做得挺好的国产厂家。找原厂申请了几个样品,QQ:18951773258,说一下当天就发了货,后面遇到技术问题支持也挺到位,非常感谢这位FAE!
CH549L,资源大致如下。
                  image005.png   
                                     image007.png

机械轴我选择了青轴,触发键程2.4±0.6mm,压力克数60±1.5g,机械段感落感强,咔哒声音大,打字打游戏都可以。直接在淘宝上买了,65块钱110个按键,便宜质量也还不错。CIY设计的轴体,换轴很方便,手残的必备哈哈。
image009.png



硬件设计:
      键盘采用8×16的扫描矩阵,实际用了104个键,1000HZ的轮询速率,响应迅速挺快。每个按键处加了二极管,实现全键无冲。
                         image011.png
      芯片USB可选择1.5Mbps(LS)的低速模式,也可以选择全速12Mbps(FS)的工作模式,USB信号线直接输出无需添加上下拉电阻,PCB走线注意以下几点即可:
            1)D+/D-平行走线,如果不能确保PCB走线质量,芯片可以放置到角落减少PCB走线;
            2)D+/D-信号线上建议添加ESD保护器件,或者便宜一些的TVS管;
            3)外部的USB线尽量选用带屏蔽的USB信号线,确保信号可以正确传输,如果线材较差,没有屏蔽,可以选用LS模式,对线材要求比较低;
            4)由于采用外部供电,电源上最好加上自恢复保险丝,确保不会因为外部供电造成芯片损坏;

     灯部分就有点偷工减料了,没有采用RGB灯,而是用了单色LED,节约成本鸭。而且觉得炫彩的太浮夸不适合打字用。
          image013.png                image014.png

这是我设计的电路图:
                               image017.png    
PCB:
   image019.png


软件编写:

做USB键盘,不得不把USB HID协议看懂,就不具体展开讨论了。我这里是基于WCH官网CH549模拟键鼠的例程更改实现的,例程已经封装好USB设备模式配置,设备模式启动,收发端点配置和HIDValueHandle()等函数,所以改起来还是挺方便的。代码我贴下面。
                              CompositeKM.rar (21.75 KB)
评论
lihui567 2018-11-30 17:31 回复TA
自己做键盘,牛 
dirtwillfly 2018-11-5 20:53 回复TA
感谢分享 

相关帖子

khgcxz| | 2018-11-3 08:38 | 显示全部楼层
谢谢分享了,学到了很多东西

使用特权

评论回复
caijie001| | 2018-11-5 11:22 | 显示全部楼层
就喜欢楼主这种开源精神,我虽然不用,但是为你点个赞

使用特权

评论回复
lanjackg2003| | 2018-11-5 20:51 | 显示全部楼层
mark

使用特权

评论回复
真大牛

使用特权

评论回复
icecut| | 2018-11-6 09:45 | 显示全部楼层
好玩. 不过我 500院买的樱桃的红轴.

使用特权

评论回复
wcheng13| | 2018-11-6 14:37 | 显示全部楼层
Mark

使用特权

评论回复
我是叨叨叨1| | 2018-11-7 09:23 | 显示全部楼层
不错,学习了,自己DIY太厉害了

使用特权

评论回复
Vansm| | 2018-11-7 10:13 | 显示全部楼层
还真没见过这西洋景

使用特权

评论回复
MinMinMin| | 2018-11-7 15:21 | 显示全部楼层
谢谢分享了,学到了很多东西

使用特权

评论回复
redist| | 2018-11-7 21:35 | 显示全部楼层
要是用全彩led ws2812怎么搞驱动啊

使用特权

评论回复
Mark

使用特权

评论回复
tree844| | 2018-11-9 09:15 | 显示全部楼层
手动点赞。

使用特权

评论回复
chenhahaha|  楼主 | 2018-11-9 09:16 | 显示全部楼层
本帖最后由 chenhahaha 于 2018-12-6 14:21 编辑
redist 发表于 2018-11-7 21:35
要是用全彩led ws2812怎么搞驱动啊

网上很多资料鸭

使用特权

评论回复
slotg| | 2018-11-9 10:45 | 显示全部楼层
很不错,顶一个。

使用特权

评论回复
可乐清风| | 2018-11-10 13:24 | 显示全部楼层
感谢分享,mark下慢慢学

使用特权

评论回复
远梦达| | 2018-11-16 09:14 | 显示全部楼层
感谢分享,电路能再详细一点就好了

使用特权

评论回复
reliXQQ| | 2018-11-28 19:56 | 显示全部楼层
楼主成本下来花了多少钱啦??

使用特权

评论回复
chenhahaha|  楼主 | 2018-11-30 11:28 | 显示全部楼层
reliXQQ 发表于 2018-11-28 19:56
楼主成本下来花了多少钱啦??

按键花点钱,其他都是公司的

使用特权

评论回复
lihui567| | 2018-11-30 17:34 | 显示全部楼层
可以把源码共享一下,大家可以参考,硬件和软件打包供下载

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

1

粉丝