stm32 薄膜键盘原理_stm32 diy 机械键盘

stm32 薄膜键盘原理_stm32 diy 机械键盘_第1张图片

但是HHKB的空格键很长,Fn组合键不好按,上下左右与vim不统一。受minila的启发,我决定自己做一个机械键盘。

minila键盘图片:

stm32 薄膜键盘原理_stm32 diy 机械键盘_第2张图片

自制机械键盘使用59键布局,以小为美(便宜)采用短空格,充分利用大拇指,将fn放在大拇指位置,不仅实现被省略按键的组合(兼容vim习惯),还实现一些常用功能,如shift+del、alt+printscreen等。还加入了鼠标功能,由组合键实现。当然,既然自己做了,就把键盘灯也加上,每个按键有一个LED,可实现20级亮度调节。

stm32 薄膜键盘原理_stm32 diy 机械键盘_第3张图片

使用stm32f103vbt6作为主芯片,led使用压降3v的高亮管,1k限流电阻,大约1ma电流,59键大约60ma,主芯片单片可承受。

stm32 薄膜键盘原理_stm32 diy 机械键盘_第4张图片

网站 http://builder.swillkb.com/ 可转换为dxf文件,直接导入pcb软件,大大简化了设计。这种按键配置的键帽肯定是没有现成的,只能买无刻键帽凑合一下。甚至有些按键的长度和高度也找不到匹配的,所以最后空格键选用了很长的右shift,左右各留了一点空隙。实际按键的键帽与设计不符,自己用自己知道就好。就是别人用我的键盘的时候会很麻烦

此键盘的按键并不是扫描键盘,而是每个轴体都有一个引脚。通过一个引脚时分复用,实现led亮度调节和按键状态传感。这是此键盘与众不同之处。我没看过其他键盘的方案,自己的机械键盘也没有拆解过,所以全凭自己想象来了。部分按键原理图:

stm32 薄膜键盘原理_stm32 diy 机械键盘_第5张图片

这一版用的3.3V电,走asm1117-3.3线性稳压,效率低。下一版应该改成usb 5V直接给LED供电,改大限流电阻,或者找更高导通电压的led

扫描和灯的控制共用0.5ms的时隙,10ms为一组,每个时间组首先扫描按键,扫描完成后按照灯的亮度设定设置引脚是否需要输出。10ms后重新设置为输入模式扫描按键。所以按键扫描频率为100Hz,led的PWM频率为100Hz,占空比为20档。

USB描述符配置申请500mA电流,使用100mA时,键盘容易掉。

我的焊工并不专业,凑合看吧。一开始使用的助焊剂有问题,未洗板上电短路,废了2块板子。后来改用松香助焊,看着磨叽,好使。

 

stm32 薄膜键盘原理_stm32 diy 机械键盘_第6张图片

芯片还好焊,主要是按键定位孔开大了,按键左右摆,要焊完把歪的轴体扭正。usb线本来是要用microusb接口,但是可能买的接口质量太差,插两次就接触不良。后来改用飞线将usb引到外置转接板上,再用热熔胶固定到壳体上,这样插拔时的侧向力能够得到缓冲,就好使了。再后来直接将usb线焊接到电路板上,壳体打孔引出,加热熔胶固定。

stm32 薄膜键盘原理_stm32 diy 机械键盘_第7张图片

一般人第一眼看到这键盘都会说,你这怎么空了一块,不能补上吗?我就会说:这就是diy的个性风格(不会补)。主要是担心裸露的PCB吃灰进水。这是使用两年效果:

stm32 薄膜键盘原理_stm32 diy 机械键盘_第8张图片

还不算脏,但轴体吃灰会导致不灵敏,所以长期放置需要套袋,或者盖布。另外,吃外卖的时候会溅到油,弄到电路上没事,弄进按键里边就不好擦了,不过所有键盘都是这样的。

刨去diy过程中个性定制的logo、LED图案和新奇感,使用时带来了不少便利,是很实在的,偶尔换回普通键盘感觉还是很明显:

1、优先使用大拇指,实现组合键

2、将Ctrl移动到caplock处,取消caplock,减轻了小拇指负担

3、方向键使用vim风格,home end pageup pagedown也使用hjkl实现

4、使用键盘模拟鼠标,用于连贯动作,减少键鼠切换,主要鼠标操作仍通过实体鼠标实现

5、键盘尺寸小,降低空间占用,减少手的移动范围,便于携带

6、无段落感的红轴,减缓手部疲劳,易于使用组合键并通过按键时长实现光标鼠标移动以及滚屏的连续控制

7、使用消音胶垫,进一步让感觉变软、变轻,降低噪音

最后给个开源的链接:包括pcb图和基于keil的源码,未使用固件库

自己做键盘看似简单实际上挺折腾,关键是麻烦,各种小物件要分别采购,而且非标键盘很难配件,还要焊接。所以有很多朋友要做都没有做成。但是如果习惯了vim体系的操作,不妨花些功夫定制一套,会离不开的

你可能感兴趣的:(stm32,薄膜键盘原理)