嘉立创产业服务站群
发作品签到
专业版

[星火计划] 丐 dial

工程标签

3.0w
0
0
138

简介

CH552g主控的旋钮PCB

简介:CH552g主控的旋钮PCB

开源协议

GPL 3.0

创建时间:2022-08-11 12:37:29更新时间:2023-04-18 01:12:37

描述

 

b站视频 :https://www.bilibili.com/video/BV1MK411o7TS/

 

一、描述

1. 基于ch552g芯片设计的surface dial旋钮,带有4颗WS812B灯珠和两个不同封装的振动马达。

2. 接口采用Type-c接口,实现键线分离。

3. PCB带程序下载电路。

4. PCB尺寸为圆形3.6cm*3.6cm,体积小巧,功能齐全,可以免费打板。

5. 硬件成本低,使用元器件种类少,方便各位玩家进行复刻,焊接过程比较友好。

6. 外壳使用3d打印,可以在三维猴免费打印。Type-C开口兼容大部分客制化数据线。

7. 除EC11编码器和马达,其他元件采用贴片形式,电容、电阻采用0805封装。

二、功能介绍


使用CH552模拟Dial旋钮,采用两个不同封装的马达可以在顺时针,逆时针,以及其他操作中,实现不同的操作手感,在旋钮顺时针、逆时针旋转时,灯光方向会随旋转方向改变。Dial旋钮可以实现控制系统音量,屏幕亮度,缩放,滚轮等操作,更多功能及自定义在系统中设置。

 

三、工作原理(生菜编写)

EC11和鼠标滚轮一样,都是增量式编码器,时序如下:

由此可见顺时针旋转时A相超前B相。反之则滞后。
那么怎么来识别呢?如果里用的单片机比较高级,如STM32F103,甚至定时器有专门的编码器功能。
但是现在采用的是51内核的,只能用外部边沿触发中断来实现。

怎么实现?假设取A相的下降沿触发,当进入中断时,如果B相的电平为高就是顺时针,反之逆时针。

就这么简单,自己把情况代入上面波形图分析下。上升沿中断同理反之。

然后翻开PDF,看看寄存器。

由图可知这单片机的中断资源挺丰富的,这里还不包括传统51部分的外部中断INT0,INT1。

但是都有一个坑,就是大多都是下降沿有效(除了RST),

所以先实现双边沿都触发的话(部分编码器为一个刻度翻转一次)就有两种选择:

1. 加非门,三极管也行,把相位翻转过来再输入到另一个引脚

2. 把RST脚和别的中断并联到一起

作为老粉,肯定都知道我想法,不带一丝犹豫,当然方案2,但是有可能未烧录的单片机的RST就是复位功能,

而我们的EC11默认是高电平,这样就可能会导致无法烧录。所以经过权衡,用RST隔壁带中断的引脚作为输入,

当有需要的时就一坨锡短接搞定。

 

因为我在疫区的原因,物流不畅,过程受阻,不然下面这些部分功能早肝出来了。而且距离截止时间还有几天了。

当前目标是完成核心功能,就是dial模拟。至于说当前电机震动效果比较单调,这个必须等到到手才能调试改善。

硬件作者的调试反馈信用就是,强点、弱点,时间长点,短点,比上一个好了差了。视频只听到嗡嗡嗡,我怎么改得下去???

要相信我的项目,一直都在改进,比如两年前开源的【丐17Touch】直到上个月还在更新固件。

对比我的朋友【甘草酸不酸】,焊台和浇花系统都盖棺封顶了,现在专心研究电子书阅读器,谁还记得当初是叫天气墨水屏。

 

后续更新方向:
1. 原生多媒体操作,兼容更多系统,因为dial只能在win10或者win11上使用
2. 震动电机模式配置,现在两个电机是由PWM驱动。强弱变化,持续时间是可以由单片机控制的。
3. OpenRGB灯效接入,这个是小问题,只是如果兼容设备不多你可能不觉得这4个灯有什么意义。如果你想要低成本搭建全套灯光同步可以关注我的其他项目,因为在OpenRGB支持列表里,没有产品比我更便宜的了。
4. 上位机读取按键然后控制其震动,贴在键盘上模拟外接电磁铁/继电器那样的声音和手感

 

面向评委的一段话

首先明确这项目没有低创修改同一比赛刷奖的嫌疑,虽然代码重复率高,受众群体重合度也高。

但是该项目是由硬件作者独立完成初期样机开发,然后开源了。最后苦于程序难写,我才上门求合作,过程也可以看评论区。

对于这个系列的单片机我摸到滚瓜烂熟了,即使主动合作后,也不会投入大量时间在USB协议的学习上。

在我的指导下也进行了一些魔改,加RGB加震动马达,而且是两个震动马达。项目早期读者可以作证。

一开始这个项目没有参加任何比赛,这位同学在我引导下才参加的,而且完成时间很紧迫,留给拉票的时间就一星期左右。

希望各位评委客观打分,别因为这个项目内容和我的小键盘代码,主控,受众相似度高就降低评价,谢谢。

 

四、焊接建议

有条件建议使用加热台或热风拆焊台+锡膏焊接①②③⑤,能够减小焊接难度。

建议焊接顺序为:

① TYPE-C口(记得焊接四个固定角),焊接好后用放大镜观察是否连锡,或者使用万用表进行测试。

②CH552G芯片,焊接完成后注意检查是否连锡。

③ PCB底面贴片电容、电阻、MOS管、二极管(如果不使用C TO C数据线,底面TYPE-C接口两侧的5.1K电阻可以选择不焊接)。

④背面按键开关。

⑤顶面电容及WS2812B灯珠。

⑥EC11编码器(注意观察针脚是否变形,焊接后保持旋钮柄在PCB正中间)。

⑦振动马达(提前对焊盘上适量锡,使用镊子辅助焊接)。

***振动马达需要使用热熔胶或胶水与PCB板进行固定。***

 

焊接电容电阻值对照图

 

五、烧录教程

下载安装WCHISPTOOL。

安装后打开软件,按下图进行操作

 

六、旋钮基础操作

插入设备后,长按旋钮按键可以呼出旋钮功能选择菜单,顺时针或逆时针旋转选择功能,单击旋钮按键确定。

六、旋钮设置教程:
笔者系统环境为WIN11 22H2,插入设备后,在系统设置中蓝牙和其他设备中

可以找到

选项

进入选项可以进行设置和自定义等操作。

点击+号选择自定义工具可以在下方设置快捷键操作

 

2022/11/19更新

外壳文件已测试,可以正常使用。

外壳文件和测试固件已上传。

BOM表以附件为准。

PCB可打板。

上图为外壳和底盖图片。

 

2022/12/12更新

 

马达安装教程

左侧为0408空心杯振动马达,右侧为1027扁平振动马达

 

0408空心杯马达安装:

目前部分店家所售0408马达橡胶套与PCB板开槽不符,不过依然是兼容的,可以正常使用。

如下图,先取下马达橡胶套,放入PCB右侧开槽处,橡胶套的缺口位于正面,缺口朝上。

从底面放入0408空心杯马达,注意马达位置,保持顶部与底部距离相等,否则可能与外壳产生干涉。

1027扁平马达安装:

揭开马达背部白色贴纸

放入PCB左侧开槽即可

 

马达安装后,使用镊子辅助焊接正负极引脚,注意马达导线颜色与焊盘正负极对应,红正蓝负。

焊接完成后,测试马达。测试通过后,使用热熔胶或胶水对马达与PCB接缝处进行加固。

 

七、相关推荐阅读

微软官网对dial协议的描述:Windows 径向控制器设计 |微软学习 (microsoft.com)

早期立创团队的CH554T DIAL旋钮,但是一直断更:USB音量控制器(多媒体小键盘) - 嘉立创EDA开源硬件平台 (oshwhub.com)

八、固件更新日志

Ver1.0:
1. 修改PID,上报名称和版本号
2. 简单开启外部中断来读取旋钮

 

Ver1.1:
1. 修改编码器io
2. 开启PWM给震动电机,当顺时针A电机震动60ms,逆时针B电机震动60ms
3. 开启WS2812彩灯作色环旋转灯效

 

Ver1.11:
1. PWM频率调节到23KHz

 

Ver1.20:
1. 精简1,3端点,降低中断的数量和内存占用
2. 按键回报率设定为1000Hz(多种功能共用)
3. 因栈空间不足,将USB底层的变量分配到idata区
4. 修改EEPROM存储底层,读取比较是否有差异再写入
5. 添加短时间检测到4连击打开开源网的功能

 

Ver1.30
1. 添加RST上升沿中断,可以搭锡实现双倍分辨率(未验证)
2. 六连击切换到常用多媒体模式(会掉电保存)
3. 多媒体模式下实现以下功能:
4. 单击播放/暂停,双击下一首,三击上一首
5. 普通旋转调节音量,摁住旋转快进或者dao带
6. 五连击切换亮度
7. 灯效变动,dial模式为顺时针,常用多媒体模式下为逆时针
8. 修改电机模式

Ver1.32

1. 提高编译优化等级
2. 多媒体模式下8连击切换旋钮旋转方向(默认正向)    20s延迟后掉电保存。

烧录时请勾选

测试视频↓↓↓

音频录制设备较差,视频有些底噪,十分抱歉!

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
旋钮测试视频.mp4
679
2
双马达版本底盖.stl
495
3
双马达版本外壳.stl
514
4
CH552G旋钮测试固件.hex
289
5
CH552G旋钮BOM.xlsx
482
6
丐Dial_V111(逆向旋转).hex
178
7
丐Dial_V120.hex
179
8
丐Dial_V120.zip
462
9
丐Dial_V131.hex
207
10
OpenRGB V0.81 Windows 64-bit.zip
1480
11
丐Dial_V132.hex
365
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航