[在线研讨会] 交流一下USB机械键盘

[复制链接]
1087|17
 楼主 | 2018-11-2 11:08 | 显示全部楼层 |阅读模式
本帖最后由 chenhahaha 于 2018-11-2 11:08 编辑

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


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


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

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




硬件设计:
      键盘采用8×16的扫描矩阵,实际用了104个键,1000HZ的轮询速率,响应迅速挺快。每个按键处加了二极管,实现全键无冲。
                        
      芯片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,节约成本鸭。而且觉得炫彩的太浮夸不适合打字用。
                        

这是我设计的电路图:
                                 
PCB:
  


软件编写:

做USB键盘,不得不把USB HID协议看懂,就不具体展开讨论了。我这里是基于WCH官网CH549模拟键鼠的例程更改实现的,例程已经封装好USB设备模式配置,设备模式启动,收发端点配置和HIDValueHandle()等函数,所以改起来还是挺方便的。代码我贴下面。
                             


先写这么多吧,打字很累,有兴趣的朋友可以再深入交流一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评论

dirtwillfly 2018-11-5 20:53 回复TA
感谢分享 
| 2018-11-3 08:38 | 显示全部楼层
谢谢分享了,学到了很多东西
| 2018-11-5 11:22 | 显示全部楼层
就喜欢楼主这种开源精神,我虽然不用,但是为你点个赞
| 2018-11-5 20:51 | 显示全部楼层
mark
| 2018-11-6 08:41 | 显示全部楼层
真大牛
| 2018-11-6 09:45 | 显示全部楼层
好玩. 不过我 500院买的樱桃的红轴.
| 2018-11-6 14:37 | 显示全部楼层
Mark
| 2018-11-7 09:23 | 显示全部楼层
不错,学习了,自己DIY太厉害了
| 2018-11-7 10:13 | 显示全部楼层
还真没见过这西洋景
| 2018-11-7 15:21 | 显示全部楼层
谢谢分享了,学到了很多东西
| 2018-11-7 21:35 | 显示全部楼层
要是用全彩led ws2812怎么搞驱动啊
| 2018-11-8 20:46 | 显示全部楼层
Mark
| 2018-11-9 09:15 | 显示全部楼层
手动点赞。
 楼主 | 2018-11-9 09:16 | 显示全部楼层
redist 发表于 2018-11-7 21:35
要是用全彩led ws2812怎么搞驱动啊

网上很多资料鸭 http://bbs.21ic.com/forum.php?mo ... p;page=1#pid9709608
| 2018-11-9 10:45 | 显示全部楼层
很不错,顶一个。
| 2018-11-10 13:24 | 显示全部楼层
感谢分享,mark下慢慢学
| 2018-11-16 09:14 | 显示全部楼层
感谢分享,电路能再详细一点就好了
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /5 下一条

快速回复 返回顶部 返回列表