承载我所有幻想的键盘
简介
支持WIFI的4模机械键盘(USB、蓝牙、WIFI、2.4G接收器),搭载可拆卸FOC旋钮屏,支持SurfaceDial,支持多功能磁吸扩展(例如小键盘等),支持语音交互。
简介:支持WIFI的4模机械键盘(USB、蓝牙、WIFI、2.4G接收器),搭载可拆卸FOC旋钮屏,支持SurfaceDial,支持多功能磁吸扩展(例如小键盘等),支持语音交互。开源协议
:CC BY-NC-SA 3.0
描述
实物展示
项目说明
该项目最初起源于满足我懒着用电脑的需求,然而制作过程中随着灵感越来越多,最终演变成了现在这个状态。
演示视频
【开源】历时9个月,我终于完成了承载我所有幻想的机械键盘。_哔哩哔哩_bilibili
项目相关功能
支持WIFI的4模机械键盘(USB、蓝牙、WIFI、2.4G接收器),支持转发鼠标数据,搭载磁吸FOC旋钮,支持SurfaceDial,支持多功能磁吸扩展(例如小键盘等),支持语音交互。
项目进度
硬件:
2024-07-23 完成主板、音频板第二版设计,打样。
2024-07-24 完成旋钮主板第四版设计,打样。
2024-07-28 完成主板第三版调试,磁吸接口的保护电路部分还存在一些问题。
2024-07-29 完成音频板第二版调试50%。
2024-07-30 完成主板第四版设计,打样。
2024-08-04 完成旋钮主板第二版调试,已OK。
2024-08-04 完成主板第四版调试,已OK。
2024-08-05 完成PCB制板说明。
2024-08-05 完成电子料BOM。
2024-08-07 完成音频板第二版调试播放OK,录音还存在问题,要再调一下。
2024-08-07 更新BOM,删除接收器天线物料(该天线是板载天线)。
2024-08-12 音频板第二版调试OK。
2024-08-21 更新BOM中旋钮主控内存描述。
2024-10-15 更新BOM中音频板U9,U10,U12,U13的规格。
结构:
2024-08-04 完成上传所有结构图纸。
2024-08-05 完成上传结构制作说明(在3D文件压缩包中)。
2024-08-05 完成上传定位板的2D图纸(在3D文件压缩包中)。
2024-08-05 完成上传结构BOM。
2024-08-07 更新BOM,增加键盘电池,补全旋钮天线规格。
2024-08-07 发现底壳文件有问题,更新一下。已经按照之前文件做好的小伙伴装配磁铁时可以用胶水粘一下。
2024-08-21 更新BOM中旋钮电机链接描述。
2024-10-15 旋钮BOM中增加一颗M3螺丝.
软件:
2024-08-05 已上传基础测试程序。
2024-10-15 更新键盘程序(除转发鼠标功能外都已完成)。
设计原理
1.主控选择ESP32S3,自带WIFI、蓝牙、USB、ESP-NOW、IIS等。
2.音频部分使用ES7210做ADC,使用ES8311做DAC,功放是NS4150B(参考ESP-BOX硬件设计)。
3.下载电路使用CH342F,它有两个通道的USB转TTL,这里分别对应键盘主控和旋钮主控。
4.USB HUB芯片使用SL2.1A,模拟U盘的控制芯片是GL823K。
5.磁吸接口支持IIC通信,为避免环境对IIC总线的影响,每个接口都做了保护电路,在没有正确识别有效设备时裸漏的触点与内部总线断开。
6.按键检测参考稚辉君的瀚文键盘项目使用移位寄存器的方式。
7.键盘按键灯光使用WS2812,键盘后面的格栅灯光使用横流LED驱动IC加灯条。
8.旋钮屏幕驱动为GC9A01
9.旋钮电机驱动为TMC6300,磁编码为AS5047P。
10.旋钮压力传感器为HX711加应变计。
键盘硬件框图如下图所示:
旋钮硬件框图如下图所示:
个别功能原理解析:
1.键盘转发鼠标数据功能
鼠标可以插在键盘的TYPE-A接口上,这个接口通过模拟开关U6、U7可以与ESP32S3主控的USB连接,如下图所示。连接后ESP32S3就可以通过USB读取鼠标的数据再通过自身的无线功能转发出去。主控在WIFI、蓝牙、ESP-NOW三种连接模式下可以携带着鼠标数据一并转发给电脑,在WIFI模式下可以大大增加鼠标的传输距离。
当键盘在使用USB连接电脑时,键盘内部的模拟开关U6、U7会将TYPE-A接口和ESP32S3的USB都连接在USB HUB上,这时候TYPE-A接口相当于直连电脑USB,如下图所示。不仅可以支持鼠标还支持其它任何USB外设。
2.键盘扩展接口电路:
扩展接口的功能主要是与扩展模块建立电源和数据连接,支持对扩展模块供电,电源类扩展模块也可以给键盘充电,键盘与扩展模块可以通过IIC总线进行数据。电路支持扩展模块的身份识别功能,由U35与U37两个电压监控芯片实时检测FPC 6脚上的电压,当扩展模块端的FPC 6脚接20K电阻到GND时,FPC 6脚的电压为20K/(20K+10K)×5V ≈3.3V,此时U35为高电平,U37为低电平,异或逻辑芯片U132的4脚输出高电平,此时整个扩展接口电路关闭对内充电、打开对外供电、打开IIC连接,此时可以连接小键盘扩展模块等。当扩展模块端的FPC 6脚电阻悬空或者接接其它大小的电阻到GND,总之不满足异或逻辑芯片U132的4脚输出高电平时,此时整个扩展接口电路打开对内充电、关闭对外供电、关闭IIC连接,此时可以连接充电扩展模块。扩展接口电路如下图所示。
硬件制作说明
PCB制板要求:
1.键盘-主控板V4:板材FR-4,板厚1.2mm,四层板,层压结构JLC04121H-3313(免费),阻抗管控+/-20%(免费)。
2.键盘-方向键小板:板材FR-4,板厚1.2mm,双层板
3.键盘-音频板V2:板材FR-4,板厚1.0mm,四层板
4.键盘-指示灯板:板材FR-4,板厚1.0mm,双层板
5.键盘-磁吸接口:板材FR-4,板厚1.6mm,双层板
6.键盘-旋钮磁吸转接板:板材FR-4,板厚1.0mm,双层板
7.键盘-圆灯板:板材FR-4,板厚1.0mm,双层板
8.键盘-USB板:板材FR-4,板厚1.0mm,双层板
9.旋钮-主控板V4:板材FR-4,板厚1.0mm,4层板,手动焊接建议焊盘表面沉金处理
10.旋钮-电池灯光板:板材FR-4,板厚1.0mm,双层板
11.旋钮-屏幕排线转接板:板材FR-4,板厚1.0mm,双层板
12.接收器:板材FR-4,板厚1.0mm,4层板,手动焊接建议焊盘表面沉金处理
PCB物料清单:
见附件BOM,键盘-主控板V4、旋钮-主控板V4 可以使用原理图或者PCB标注的物料,其它的板子一定要以BOM为准。
软件说明
1.键盘部分软件使用ESP-IDF开发环境,包含语音,4种模式通信,按键扫描等。
2.旋钮部分软件使用vscode+platfromio开发环境,包含lvgl,SimpleFOC等。
结构组装示意
1.旋钮部分:
2.键盘部分:无
参考项目
1.将无刷电机应用在键盘上的想法和使用移位寄存器检测按键的用法来源于稚辉君的瀚文键盘项目。【瀚文】HelloWord-Keyboard - 嘉立创EDA开源硬件平台 (oshwhub.com)
2.将SmartKnob与SurfaceDial相结合的想法来源于叮叮木石的X-Knob项目。GitHub - SmallPond/X-Knob: X-Knob - A smart knob based on LVGL UI library, supports Smart Home(MQTT) and Surface Dial (BT) // LVGL UI 框架下的力反馈智能旋钮 (smartknob + X-TRACK)
评论