共享 协作 服务

专业服务

您的位置:首页 > 专业服务

ku娱乐真人游戏.两万字纯干货!DIY自制68键机械键盘

来源:ku酷游官网入口 作者:ku游网页登录浏览:14次更新:2024-03-19 08:38:09

  最近码字比较多,手头的键盘有些不给力了。于是动了心思想换一套键盘。看了一圈,发现有很多人选择客制化,有着更大的自由度和可玩性。于是决定自己做一下玩玩。

  其实我很早就接触机械键盘了,家里还收藏了一套90年代的IBM机械薄膜键盘。读大学的时候,也买了第一把机械键盘,那个时候,cherry的专利还没到期,所以市场上能选的只有cherry的轴和静电电容,而且非常的昂贵。毕业以后退坑了,弄了一把电容退烧。现在十年过去了,重新入坑发现国产轴已经百花齐放。

  自制机械键盘的目的,除了有个人兴趣以外。也正好可以把我的一些技能做一个阶段性整合。最近正好在学习机电软相关的技术,机械键盘这个项目,难度不高,但从无到有,机电软都有涉及,正好作为一个练习项目。同时做好的东西也是可以作为生产力工具的存在。

  从计划来说,我打算第一把键盘采用市面上的主流方案和设计,先跟着别人做一遍,快速跑通。然后再第二版上增加更多其他的定制功能。

  作为第一把练手的键盘,功能上尽量做到简单够用,采用目前已经经过验证的方案是最保险的,这样在遇到问题后也会有大量的资料和参考。

  目前市面上主流的方案是QMK固件,采用的主控是ATmega32U4。这是一款自带USB的AVR单片机,单芯片方案,成本足够低。作为有线方案来说功能足够好用。

  既然自制键盘,配列部分自然是按照自己的需求来做定制。第一版的想法是做一把类似GH60的键盘。

  尺寸方面我想尽可能的小,考虑过40的配列,那个确实可以做到极致的紧凑,但是功能键需要用组合键实现,办公使用不是很方便。68配列是我综合考虑下来比较适合我的一种配列,紧凑布局右边留了四颗功能键,是我最常用的四颗。

  这些键位后面都可以通过软件修改,可以在实际使用过程中逐步达到最合适的配置,这也是客制化的优点,即满足高度个性化和定制化的需求。

  实际组装下来,隔音棉效果有限,主要的声音还是刚性连接的问题,也就是敲击过程中钢定位板的声音,后面考虑换用材质的定位板再试试。

  对键盘声音的调试,即客制圈所谓的“HiFi”效果,这个其实优点玄学。主要的方法是:1、不同轴体的选择。2、对轴体的调校,比如厚润的方式。主要是减少弹簧音,也会增加手感,降低一些噪声。3、堆叠方式。比如采用Gasket方式。其主要方式是通过硅胶垫或者弹片的方式,减少整体刚性,吸收振动。4、隔音设计。增加隔音棉等、增加填充等。

  如上都是减轻声音的方法,还有一些反向的操作,比如加上电磁阀或者蜂鸣器,增加声音风味的等等。键盘HiFi有很多的玩法,但这不是我感兴趣的点,这里就不再多说了。

  一般自己做外壳,能选择的只能是3D打印或者亚克力板切割拼接。我想法还是第一次搞,结构方面不是重点,买现成的外壳就可以,68配列的外壳有很多。海鲜市场找便宜的购买即可。但这里要注意一下,买的外壳尽量找货源多的,因为你的PCB设计和外壳还有定位板相关,虽然是同样的68配列,但不同的品牌螺丝定位孔并不相同。所以,一旦你确定了外壳品牌,就不容易适配其他品牌了。

  关于键帽的高度,我考虑采用xda高度的键帽,价格实惠一些,而且组合度相对自由。如下图,XDA键帽的高度是登高的,也就是说每个按键的高度一致,这样整套键帽就只需要开很少的几套模具,价格就会便宜很多。另外,因为高度都一致,所以键盘组合的自由度也是最高的,不用考虑不同行列键帽高度不匹配的问题。当然,从手感上来说,XDA会差一些,这块只能说有所得必有所失吧。

  如果买其他的高度,比如OEM高度,在68配列中最右边的功能键可能会出现高度不合适的情况,比如我的page up和pagedown的高度适配会有些问题。

  键帽的长宽,是按标准单位的,一般普通字母键,1个单位宽,一个单位长。像有些功能键,比如shift、回车、空格等都有不同的长度。所以设计配列的时候尽量在成熟的配列中改,这样不容易出现键帽无法适配的情况。然后再购买键帽的时候,也最好和卖家沟通一下各种功能键的长度信息。如果实在找不到合适的,就可以考虑用其他花字符的替代。比如下图,就有很多个性键帽,这种也可以用来解决某些功能键没有合适大小的情况。

  轴体也是一个巨大的坑,自从樱桃轴专利过期以后,国内各种轴百花齐放。体验不同轴体,也是现有客制键盘最大的卖点和可玩性的部分。

  第一块练手设计的键盘,我选用的是灰木轴 v3,性价比很高,实际效果用起来还可以。后续有需要也可以更换其他的轴体,体验不同的感觉。

  卫星轴是用在大键中的,一般按键长度超过2个单位以后,都会考虑增加卫星轴,保持按键的手感和稳定性。

  卫星轴也有非常多的选择,贵的便宜的都有,我选的是光头哥 黑卫,性价比高,用起来也还不错。调教主要就是两点:1. 钢丝需要在一个平面上,如果不在一个平面需要调平。一般买卫星轴都会送两个金属套管,那个就是用来调平的。2. 安装之前需要用润滑脂润一下钢丝还有轴体,可以提升手感顺滑度。

  (2023-2-22 更新)原理图根据layout走线调整了一下管脚定义,同时usb部分增加了防静电设计。

  (2023-2-13 更新)考虑到结构部分是我比较不熟的,所以可能会花很多的时间。考虑到进度问题,我想把这块解耦。所以分为两步走。第一步,先采购市面上现成的外壳、定位板。基于这个定位板,先做一版结构设计。已采购相关零部件。第二步,在第一版验证成功的基础上,重新设计结构,定制相关结构件。

  (2023-2-16)已收到一款客制键盘的外壳、定位板,还有一块报废的PCB用来抄板适配结构。目前PCB的结构设计已经完成。

  (2023-2-16)电路板重新进行了一次布局,适配目前买到的外壳。测绘花了一些功夫。目前开始走线是新学的,很多地方先学现用,卡了很多地方。现在磕磕绊绊算是基本可以画板子了。

  (2023-2-24 更新)今天把PCB投板了,投板了发现开孔有误,于是又重新整了一下。具体的原因是,开孔需要再机械1层进行绘制,而不能只是简单的用cutoff,否则会造成识别不了。用原件的3d查看并不准确,最终还是要通过gerber文件查看。这也算是一个小的学费吧。

  电子器件采购因为种类比较多,可以找淘宝上的电子bom配单浮服务,价格比自己买稍微高一些,但不用自己一个个找比较省心,出错了也能找到退货的。主控我自己买的,Atmega32U4-AU的价格现在降一点了,之前都要近百元一颗了,离大谱。但这里我踩了坑,后文令表。

  轴座,LED灯最好自己买,那个数量多,价格水分很大,可能会差不少钱。有一定经验的也可以咸鱼上购买报废的键盘pcb拆灯和轴座。能省不少钱。但容易踩雷。

  焊接这块,推荐买一台热风枪,表贴的器件方便一点。整体焊接难度不大,我大概花了两个多小时弄完第一块板子。ATmega32U4-AU管脚密度不高,容易焊。但还是出现了虚焊和短路的情况。短路的是电源和地,好在发现及时用万用笔检查的时候发现了。虚焊是row 0的管脚,烧固件以后发现最上面一排按键没反应才发现的。type-C USB略微难焊一点,没有USB 3.0 hub等需求的,可以考虑替换那种4pin的表贴USB type-c接插件,会简单很多。

  组装发现了一个bug,电路板上的一个按键的位置错了,导致和定位板不对应,无法安装轴体。查了一下,布局的时候还是对的,应该是我layout的时候,没有锁定器件位置,造成移位。投板前也没有检查出来。这个只能想办法工匠了一把,拆掉轴座,磨掉轴体的定位柱。然后引飞线从孔中穿出来,直接焊接到板子上。最终结果是可用,但是因为磨掉了定位柱,轴体内部进灰,所以手感有些涩,但因为这颗是不常用的PageUp按键,也就随它去了。

  上电比较顺利,第一次就能正确识别到mcu,也能正确烧入。但是遇到一个很奇怪的问题就是,重新上电以后无法退出dfu模式,就无法正常启动。网上搜了好久,很少有提到,即使有提到的也大多是焊接问题。最后无奈,只好重新烧一下bootloader,手头正好有之前烧Arduino的烧写器,就烧了个leonardo的bootloader,没想到这个问题就解决了。后来debug了一下,可能问题出在熔丝位上,我这颗mcu熔丝位是无法修改的,所以就一直停在DFU。现在刷了leonardo的bootloader还是会一开始就进dfu,然后大约二十几秒才会启动正常。所以,其实问题还有,但不影响使用就算了。

  测试固件的生成可以用在线QMK固件生成器,并不复杂。具体过程网上教程很多就不赘述了。但这个在线工具已经很久没人维护了,代码已经很老了,问题也不少,可以用来做简单的测试固件或者demo。后面我主要讲下编译的方法。

  算下来其实血亏。不算工具,这个价位,其实也能淘到双模的68位机械键盘了。当然,客制化的乐趣并不在于节省成本,而在于自己从无到有的制作。

  这把键盘算是我第一把自己设计的客制化键盘。其实也给自己降低了难度,外壳和定位板部分采用了现成的零件。只是自己设计了PCB,调了软件代码,烧写了固件。但前前后后,也花了将近20多天的时间。但收获不少,学会了用AD软件,了解了机械键盘的构成和工作原理,学会了客制化键盘的组装调试方法等等。

  使用过程中发现了一些问题,还有一些奇怪的bug。比如我的CAPS Lock按键莫名奇妙不能用了,按下以后左ctrl响应,然后右Alt也突然不能用,按下以后win键响应。排查了半天,发现是软件问题,因为如果我把CAPS按键映射到别的键位,也还是左ctrl响应。我尝试在qmk在线生成firmware的网站上反复重新生成固件,但问题仍然无法解决。

  无奈之下,只能自己想办法编译。这块相关信息不是很多,我尽量写的详细一些。该部分编程经验为零的小白(比如我)也能实现。

  就会自动安装编译环境,但是在国内下载很不方便。我始终无法配置成功。这里是我参考的一些配置qmk编译环境的文章:

  1、b站这篇应该能解决大部分问题。但是在我这里还是不行,我不知道为啥卡在python环境报错中。

  2、装备前线有一篇利用docker拉镜像的方法实现编译。但是我下载镜像后,始终跑不起来,遂放弃。

  3、最终解决我的问题的是如下这个视频但是我没有用他的方法,只是拉了一下他的镜像文件到本地文件夹。接下来在QMK MSYS 中将改目录设置为home。设置home目录的命令是: qmk setup -h 目录地址。然后就能正常编译了。

  如果出现类似下面的提示符,最后生成一个clueboard_66_rev3_default.hex固件,表示编译成功了!

  QMK已经是一个封装的非常好的项目了,常规的键盘应用,基本上只要做一些配置就好了,与其说是写代码,不如说是改改配置。我这里简单讲一下整个代码编写的流程。其实要写的文件就这么几个(hg68是我键盘的名字),首先需要在前面设置的home目录中,找到keyboards文件夹,在该文件夹中新建如下几个文件。其中需要再建立一个keymaps\default两级子文件夹放置keymap.c文件, 文件结构如下图:

  MCU 我用的是atmga32u4, bootloader 填 atmel-dfu,其他都是一些大的功能开关,打开一下全键无冲啥的,LED矩阵的支持,LED的类型等等。最后一句是via 支持的语句,要用via在线改键,需要加上这一句。

  按照你设计的按键矩阵,填入layout中。基本也很容易理。

ku娱乐真人游戏 上一篇:智迪科技:公司积极践行“工业 4 下一篇:模拟电路 自制FM收音机一看就会

 

相关服务
  • RC低通滤波器-IC电子元器件
  • 艾睿、安富利、大联大、文晔等电子元器件分销商202
  • 增量式编码器-IC电子元器件
  • 关于邀请参加2024年慕尼黑国际电子元器件博览会的
  • 涨停雷达:航空航天+军工+电子元器件+超级电容 火
产品中心
ku游网页登录

联系电话:028-62556551 86675179
传真号码:028-62556551
办公地址:四川省成都市青羊区三桂前街49号6楼613号、612号

ku娱乐真人游戏| ku酷游官网入口| 新闻中心| 产品中心| 专业服务| 会员风采| ku游网页登录| 网站地图|
联系电话:028-62556551 86675179 传真:028-62556551 办公地址:四川省成都市青羊区三桂前街49号6楼613号、612号
版权所有:ku娱乐真人游戏-ku酷游官网入口网页登录 技术支持:仕航软件 备案号:蜀ICP备150198717号-18
Copyright © 2020  ku娱乐真人游戏-ku酷游官网入口网页登录All Rights Reserved.