scottbez1 / smartknob项目介绍

805 阅读10分钟

智能旋钮

SmartKnob是一个开源的输入设备,具有软件可配置的端点和虚拟停顿。

一个无刷的万向节电机与一个磁性编码器配对,提供闭环扭矩反馈控制,使之有可能动态地创建和调整止动器和终点站的感觉。

Build StatusBuild Status

设计

智能旋钮视图

高级SmartKnob体验。正在积极开发中。

特点。

  • 240x240的圆形LCD("GC9A01"),转子上有39.5毫米的手表玻璃保护。
  • 无刷直流万向节电机,有一个空心轴用于机械和电气连接LCD。
  • 由ESP32-PICO-V3-02(Lilygo TMicro32 Plus模块)供电。
  • PCB弯曲度和应变片用于压力检测(通过电机提供触觉反馈)
  • 8个侧向发射的RGB LED(SK6812-SIDE-A)照亮旋钮周围的环形区域
  • 用于5V电源和串行数据/编程的USB-C(2.0)连接器(CH340)
  • VEML7700环境光传感器用于自动调节背光和LED强度
  • 多样化的背板安装--使用4个螺钉,或2个3M中号命令条(有切口,安装后可进入拆除标签)。
  • 前盖卡住,便于接触印刷电路板

目前的状况。 不建议普遍使用(计划对机械和电气进行修改)

演示视频

三维CAD

最新的Fusion 360模型:a360.co/3BzkU0n

自己建造?

虽然这是一个 "DIY "开源项目,但它还不是一个成熟的即插即用的项目。如果你打算自己制作,请注意它需要高级的焊接经验 - 需要非常小间距的表面贴装焊接(建议使用回流焊或热风焊),而且组装相当耗时和精细。请带着这样的期望去做,你几乎肯定需要能够自己解决一些硬件和固件的问题--我建议在加入之前回顾/理解原理图和基本的固件。

更多关于BOM和你需要订购的部件的文件将在未来推出--非常感谢你的兴趣在Twitter上关注我,了解这个项目和其他项目的最新进展。

查看最新的自动生成的(未经测试的)基础PCB交互式BOM屏幕PCB交互式BOM(或者,合并的BOM csv)的电子/硬件零件清单。⚠️这些都是从GitHub上最新的未经测试的版本中自动生成的。对于经过测试的/稳定的/推荐的工件,请使用发行版来代替。

在此期间有一些杂项说明。

  • 可能是一个经过良好调整的打印机的FDM 3D打印,但视频/照片中显示的零件是用尼龙MJF打印的,以获得严格的公差和更好的表面处理。
  • 如果你想要一个更简单的构建,你可以省略LCD,只需将模型中的旋钮和玻璃合并成一个STL,就可以得到一个封闭的旋钮。
  • LCD支架内用于布线的空间有限,8根电线需要穿过中间的孔。我使用了30AWG的绕线线。漆包线可能也能用。
  • 应变仪是BF350-3AA,用CA胶水粘好(我将来会把这个过程的视频放进去,但基本上我是用卡普顿胶带把应变仪拿起来,在固化过程中把它固定住的)。这必须在回流焊接后进行,如果出现错误,将很难移除/修复,所以在PCB上尝试之前,一定要练习将应变片粘在其他物品上!这是很重要的。
  • TMC6300很小,而且有一个底板,所以我会认真考虑在订购PCB的同时购买一个钢网。即使使用模板,我也需要在事后手动清理一些桥接;我强烈推荐Chip Quik NC191凝胶助焊剂,可在亚马逊(或使用这个非附属链接)或你选择的电子经销商处购买。在将LCD带状电缆焊接到屏幕PCB上时,助焊剂也非常有用。
  • 对于面包板上的原型设计,TMC6300-BOB非常棒,如果你只是想玩玩低电流的无刷直流电动机,它比裸芯片更容易操作。
  • 对于阿里巴巴的采购。我强烈建议使用AliExpress标准运输(在美国购买)。我曾有过多次使用财付通或其他低价运输方式购买时,需要花费数月时间或从未送达,而根据我的经验,阿里速卖通标准运输非常可靠,而且通常速度较快。
  • 一定要检查开放的问题--这个设计还不 "稳定",所以要小心一切可能不顺利。在稳定版v1.0里程碑完成之前,我不建议自己订购这些零件,因为在目前的修订版中存在一些机械干扰问题。

未来的计划

  • 考虑改用ESP32-S3-MINI-1模块(一旦Arduino核心支持完成),因为这样可以直接支持USB HID(用于向计算机提供操纵杆/微动板类型的输入)。

  • 蓝牙HID支持?

  • 获取wifi配置和工作(可能是MQTT?)目前内存是全显示帧缓冲器精灵的一个问题。PSRAM可能会解决这个问题(需要较新的ESP-IDF和未发布的Arduino核心,从一个简短的测试来看,我在启用PSRAM时得到了可怕的性能),或者下一个项目可能有助于减少内存。

  • 迁移到LVGL,以获得更好的显示效果和对菜单的简单支持,等等。在内存中应该不需要一个完整的240x240x24b的帧缓冲器,为WIFI等释放一些。

  • 集成nanopb,用于结构化的串行数据(例如见splitflap protobuf协议)。

  • 集成家庭助理,或其他现实世界的应用

  • 利润😉

基础PCB

订购说明:使用白色阻焊层,用于反射旋钮周围RGB LED环的光线。应该是1.2毫米厚(不是 "标准 "的1.6毫米)。

最新的自动生成的(未经测试,很可能是坏的!)神器⚠。

原理图

交互式BOM

PCB包

绘图仪

对于经过测试的/稳定的/推荐的工件,请使用版本

屏幕PCB

订购说明。根据机械设计,必须是1.2mm厚(不是 "标准 "1.6mm)。

最新的自动生成的(未经测试的,可能是坏的!)工件。

原理图

交互式BOM

PCB包

绘图仪

对于经过测试的/稳定的/推荐的工件,请使用版本

迷你智能旋钮

计划在未来推出。

常见问题(FAQ)

它的成本是多少?

我希望我现在能告诉你,但我实际上不知道我的想法。请尽快回来看看--到目前为止,我只做了一个,这是在很长一段时间内进行修补和原型设计的结果,所以我还没有把所有的费用统计出来。当然,零件费不到200美元,也许接近100美元?

它能与XYZ一起使用吗?

还没有。到目前为止,我只为视频中的演示实现了足够的固件,所以你还不能真正使用它来做任何有意义的事情。基本的棘轮配置API在那里,但没有其他的东西。很多固件工作仍有待完成。如果你造了一个,我希望你能帮助我增加对XYZ的支持。

我可以买一个套件或已经组装好的吗?

也许不能?或者至少,我自己没有任何直接的计划来销售它们。这并不是说我不希望你高兴,但硬件是一个艰难的行业,而我只是在空闲时间从事这个东西。

虽然它是开源的,有一个相当宽松的许可,所以理论上任何人都可以开始提供套件/组件。如果有人真的走这条路来销售它们,请注意需要注明出处(如果你有捐赠的心情🙂,我不会拒绝版税/建议/感谢)。

一般组件信息

磁性编码器

MT6701 (MagnTek)

优秀的传感器,价格合理--强烈推荐。比TLV493D噪音小,使用SSI时反应更灵敏(控制回路更稳定)。

  • 大量的IO选项--SSI、I2C和ABZ--应该能提供良好的响应延时。
  • SSI包括CRC来验证数据
  • 没有断电或低功耗选项--对于电池供电的设备可能不是很理想
  • 美国经销商(Mouser、Digi-Key)没有提供。

数据表

订购 (LCSC)

TLV493D (Infineon)

一个平庸的选择。使用Adafruit的QWIIC突破板很容易制作原型。

在我的测试中,它有点嘈杂,需要过滤/平滑,这可能会减缓响应速度,损害控制环路的稳定性。或者,如果过滤较少,噪音很容易被PID电机扭矩控制器中的导数组件 "放大",造成可听(和触觉)的嗡嗡声/嗡嗡声。

显然,还有一个已知的硅问题,导致内部ADC有时完全锁定,需要完全复位和重新配置。见《用户手册》中的第5.6节

In the Master Controlled Mode (MCM) or the Fast Mode (FM) the ADC conversion may hang up. A hang up can
be detected by:
 - Frame Counter (FRM) counter stucks and does not increment anymore.

根据我测试4个不同的Adafruit分线板的经验,其中2个(50%)在使用的一两分钟内经常出现这种锁定行为。检测和自动复位是可能的(项目中也有代码可以做到),但速度很慢,如果传感器经常锁定,可能会导致不理想的跳转/延迟。

数据表

AS5600 (AMS)

一个平庸的选择。廉价的分线板很容易得到。

在我的测试中,它的噪音相当大(据说比TLV493d的噪音大),需要过滤/平滑,这可能会减缓响应速度,损害控制环路的稳定性。此外,与我测试的其他传感器相比,它在较低的磁场强度下就会饱和,当与Radial Magnets 8995这样的强钕直径磁铁一起使用时,需要很大的气隙(8-10mm)。

数据表

电机驱动器

TMC6300-LA

这是一个相对较新的IC,它是一个完美的匹配!一般来说,没有任何其他的驱动器(集成了FET)能够满足本项目中使用的低电压和低电流电机的要求(DRV8316可能会起作用,但还没有测试过)。

亮点。

  • 2-11V直流电机电源输入
  • 高达1.2A RMS
  • 小巧(3x3mm QFN)

数据手册

产品页面

电机

32mm转子,空心轴,二维磁铁

  • 32mm转子
  • 15mm总高度(包括磁铁),12.75mm高度(不包括磁铁),9mm转子高度
  • 低/零齿槽--对于完全平滑的输入来说是非常好的。
  • 5.9毫米的空心轴
  • 用于编码器的内置直径磁铁
  • 经过验证的选项

这是总体上最容易上手的电机。低齿槽和内置的直径磁铁是非常好的!

遗憾的是,现在似乎已经没有了。

固件

TODO: 记录这个

还有一件事:实现更多的固件。

鸣谢

这个项目受到了Jesse Schoch的视频"触觉纹理和虚拟支点"以及SimpleFOC社区的相应讨论的极大启发。说真的,如果不是那段视频,这个项目就不会存在--谢谢你,Jesse!

许可证

本项目采用Apache v2(软件、电子、文档)和知识共享署名4.0(硬件/机械)许可(见LICENSE.txt知识共享)。

Copyright 2022 Scott Bezek

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.