0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DIY 流体模拟吊坠(一):理论与第一个吊坠的制作

KiCad ? 来源:KiCad ? 作者:KiCad ? 2025-09-07 17:49 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者手工打造了一款独特的镀金吊坠,它内置了一块定制设计的电路板,能够实时运行流体模拟。文章记录了从复杂的软件实现、电子设计到精细的金工和组装的整个过程。

我打造了一款流体模拟吊坠,这是一件能够实时运行 FLIP 流体模拟的手工珠宝。外壳镀金,显示屏由一片表镜保护。

观看以下视频,您可以了解整个设计与制作过程:

简介

我一直想实现一个实时的流体模拟程序,最终目标是创造一个 3D 虚拟雪花球。这个项目已经取得了一些进展,但在此过程中,构思了Simsim(https://mitxela.com/projects/simsim)这个概念,而眼前的这个吊坠正是基于它制作的。

在制作过程中,我涌现出了一系列很酷的想法,并由此衍生出好几个其他项目。可以说,这个吊坠是它们的“起源”。它不仅关乎流体模拟本身,还带来了一些意想不到的收获,比如“对角线查理复用”这种显示驱动方式的巨大优势。

技术概述

FLIP 模拟基于 Matthias Müller 的工作,可以看看他的网站Ten Minute Physics:
https://matthias-research.github.io/pages/tenMinutePhysics/index.html

特别是“如何编写一个 FLIP 水模拟器”教程

我的流体模拟不是直接移植,而是遵循教程的重新实现。

硬件方面,我使用了一颗 STM32L432KC(带 FPU 的ARM Cortex-M4,超频至100MHz)、一个 ADXL362 超低功耗加速度计、一个用于 LiR2450 电池的 MCP73832 充电控制器、一个 TPS7A02 稳压器(功耗极低)和一个TPS3839监控器。所有这些都集成在一块0.8mm厚的四层PCB上。

这个项目的主要技术亮点如下:

与传统的矩阵布线相比,对角线查理复用布线所需的过孔数量减少了一半。对于小间距的LED显示屏来说,过孔数量往往是设计的瓶颈,所以这一改变意义重大。这种排列方式还将同一网络的LED引脚端对端地放置,因此即便出现焊桥也不会影响性能。考虑到这一点,我们甚至可以故意将LED排得更紧密。

利用DMA的循环模式,可以零开销地驱动一个显示矩阵。通过巧妙地处理两个DMA数据流,这种方法同样可以零开销地驱动查理复用矩阵。

虽然需要一个查找表来将LED映射到对应的像素位置,但这也意味着改变映射关系没有任何额外成本。换句话说,我们可以将矩阵的任何信号线连接到微控制器端口的任意引脚上。这使得PCB布线变得出奇地简单,尽管有些非主流。

直接用GPIO驱动大尺寸显示屏通常会遇到亮度不足的问题,因为输出FET的导通电阻限制了电流。但查理复用在任何时刻都只点亮一个像素,这意味着导通电阻的影响被消除了,因为它只会均匀地调暗所有像素。你甚至可以通过改变芯片的供电电压来控制整个屏幕的亮度。借鉴这个思路,我们可以通过强制每次只点亮一个像素(而不是一整行)来解决传统矩阵的亮度问题。通常这会增加驱动显示屏的开销,但如果完全由DMA处理,这个开销也就迎刃而解了。简直太酷了!

编写流体模拟器

再次说明,我参考了“Ten Minute Physics”的教程,但为了真正理解其原理,我尽量不直接看源代码,而是自己重新实现了一遍。这是一段非常有趣的经历。 在欧拉流体模拟中,流体的运动是通过一个叫作“平流”(advection)的过程来实现的。但在FLIP算法中,我们省略了这一步,转而让粒子的运动来带动流体。

视频里有些地方没有讲得足够详细,比如粒子碰撞。最初我并没有费心去实现哈希网格(hashgrid),因为一开始是在台式机上开发的,这属于可以留到后面再做的优化。但即便使用朴素的碰撞检测,当粒子碰撞时究竟发生了什么?它们会被一个与距离成反比的脉冲推开,但模拟的稳定性取决于这个脉冲是否恰到好处。这与求解不可压缩性时,那个“过松弛”步骤能奇迹般地修正结果非常相似。我确实有过一个疑问:既然我们已经求解了不可压缩性,并且欧拉网格的速度会反馈给粒子,那为什么还需要单独处理粒子间的碰撞呢? 事实证明,如果没有碰撞这一步,整个流体就会坍缩成一团混乱的重叠物,所以这一步绝不是多余的。

哈希网格有不小的开销(无论是计算上还是脑力上)。在我最终的代码里,我设置了一个开关,可以在朴素碰撞和哈希网格碰撞之间切换。即便是在8x8这样微小的尺寸下,两者的区别也十分显著,哈希网格算法带来了明显的提速。

在此过程中,我创造了大量奇怪的、不完全算是流体的模拟效果。当粒子被渲染出来时,它们中的大多数看起来都像是各种各样的青蛙卵。我收集了一堆当时的怪异截图,现在已经忘了具体是怎么回事了,比如我已经不记得是什么导致了这个甜甜圈的出现……

wKgZPGi6VuKAY9d4AAG_PSv0fxc133.png

“Ten Minute Physics”的示例代码在左边界的边界条件上有一个小 bug,导致流体永远无法静止。当边界条件正常工作后,整个流体和粒子团块仍然不会完全停止运动(因为除了墙壁之外没有粘度或摩擦力),但它确实会以一种让我想起晶体结构的方式凝结,通常在规则排列的粒子群之间出现位错或晶界。这是一张早期的截图:

wKgZPGi6VuKACDD7AAJohv8_TZ4707.png

我们看到当流体被推入一个角落时,出现了一种类似三角力量(triforce)的形状:

wKgZPGi6VuKAM4_aAAHdH-mM_n0767.png

黄色的图是粒子密度图(即每个网格单元中重叠的粒子数量),这帮助我创造了一些非常酷的可视化效果。如果我们将流体聚集到一个角落,然后突然将重力方向改为指向另一个角落,当流体撞击墙壁时,我们会得到一个冲击波。

wKgZPGi6VuKAMQULAACaot9X4eA285.png

这个效果只持续一两帧,眨眼即逝,但我发现那个由密集粒子组成的圆形波纹是一种非常赏心悦悦目的效果,特别是因为它是从 FLIP 算法的规则中自然涌现的。如果你在恰当的时刻定格画面,你甚至可以直接在粒子的位置上看到冲击波。下面这张图中,我刚好错过了角落,两个相互竞争的冲击波正在传播:

wKgZPGi6VuOAGdYJAAPHfvG1bF0311.png

在发布Simsim概念后不到两周,我制作了Simsimsim演示程序。它相当于一个内部测试工具,用来验证我们可以将LED的密度降低到什么程度,而它看起来仍然像流体。

wKgZPGi6VuOASJpZAAWIlmaaCmQ319.png

它还让我大致估算出了当我们将程序移植到裸机上时需要多少内存。很多问题都可以通过增加查找表来解决,但随着模拟直径的增加,所有这些表格所需的内存会呈爆炸式增长。STM32L432KC 有 64KB 的内存,不算多,但一个直径为 16 的模拟只需要 26KB。尽管如此,这绝对是在投入硬件制作前值得确认的事情。

第一个吊坠的制作

在开始设计PCB之前,我必须说服自己,查理复用显示屏的方案是可行的。市面上有很多查理复用显示屏的布线方案。我找到了关于一种叫作“twistyplexing”排列方式的资料,它为手工焊接电路做了优化。但随着对角线交叉布线方案的优势逐渐显现,我开始产生怀疑,觉得有必要先做一个能工作的原型出来。

制作这个小小的显示屏花了很长时间。我用一张激光切割的卡片来固定 LED,还用了一个 MCH2022 的纪念品来支撑整个装置。

wKgZPGi6VuOAC5BEAA_CqsGihHQ930.png

这让我想起了一篇我曾经读过但怎么也找不到了的关于绳结的论文。《阿什利绳结大全》(The Ashley Book of Knots)被誉为绳结领域的“圣经”,收录了大量使用了几个世纪的绳结。但是,当人们用数学符号来描述这些绳结的拓扑结构时,发现其中一些实际上是相同的,至少从拓扑学的角度来看是这样。它们之所以被分开收录,是因为当时没有一种严谨的语言来描述它们,而在头脑中将一个绳结的形态转换成另一种,是极其困难的。

我想事情并没有那么简单。如果你打结的方式不对,可能会影响其性能,所以可以说一个重构后的结可能有不同的应用场景,但你至少会认为同一个结的不同变体应该被归为一类。我想表达的是,人脑在理解绳结这类拓扑结构时,能力出奇地有限。

wKgZPGi6VuSAaN-GAAaLeVdzROE982.png

我们将这个8x9的矩阵连接到了L432开发板上。右边那根蓝色的线是芯片的BOOT0引脚,它没有被引出,但在很久以前调试闪存合成器时需要用到。

手焊这些漆包线的痛苦经历,让我下定决心,必须尽快设计一块 PCB。我打算先设计一个通用的、对角线布线的查理复用 LED 阵列,以避免将来再受这份罪。你可以认为这是某种不那么隐晦的铺垫。但在紧急关头,没有什么比一个手工接线的原型更能毫不延迟地验证你的想法了。

wKgZPGi6VuSAOTc-AAciDeR88io364.png

我让FLIP模拟程序在L432上跑了起来,先是一个小小的8x8正方形,然后是一个想象中的流体吊坠的左上角。

当我们思考查理复用显示屏可能的布线方式,以及这种新颖的布线模式是如何一直摆在眼前却被忽视时,我们不禁好奇,还有多少其他的布线方案尚未被发现。人们很自然地会想,能不能用计算机算法来寻找新的可能性。

通常来说,自动布线器(Autorouters)是出了名的不好用。在不久的将来,当人们将巨大的神经网络模型投入到这个问题上时,情况可能会改变。但要让自动布线成为一个可行的选项,我们需要准确地描述约束条件。比如,某些元件必须放在某些位置。一个更重要的约束是布线必须匹配网表(也就是原理图)。但在我们的案例中,那个原理图并不是固定的:由于有查找表,我们不关心哪个显示网络最终连接到哪个GPIO引脚。但搜索空间远比这要大得多。我们希望将所有LED限制在显示屏的网格内,但我们不关心哪个LED放在哪个位置。“传统”查理复用矩阵的查找表,与对角线交叉布线的版本是截然不同的。

约束可以减少搜索空间,有了足够的约束,通过暴力破解来解决问题就成为可能。但我们这里想要自动化的约束是如此宽泛,远少于其他电路设计的约束,以至于我认为我们短期内还无法自动布线出一个更好的查理复用显示屏。还有一些我没有提到的更深层次的“非约束”。在后续的一个项目中,由于空间极其紧张,我最终将一些走线穿过了微控制器上未使用的GPIO焊盘,从而打破了“不同网络不应相互接触”这一隐性约束。在芯片的固件中将那些引脚设置为三态是举手之劳,但意识到这一点会进一步扩大我们的搜索空间。

总之,我们还是说回吊坠的电路吧。

提醒一下,“传统”的查理复用矩阵遵循这样的模式:

wKgZPGi6VuSAKn09AAJnLHxZMHE110.png

在两条边上添加标签有助于理解,但严格来说只需要一条边,因为连接可以沿着对角线进行。这种排列方式,每个LED至少需要一个过孔。

而对角线排列,在挤压成类似圆形的形状后,看起来是这样的:

wKgZPGi6VuSAGZgyAAPjmDVM3UM892.png

在16个GPIO引脚上,最多可以驱动240个LED,而我们只需要216个来填满显示屏,但有一条边必须由缺失的角落拼凑而成。我当时有些随意地做了这件事,删除了未使用的LED,并将最近的移到了空位上。在这个过程中,我们得到了一些与原有模式不匹配的LED。这后来给我带来了麻烦,因为那条边上的一个焊桥现在成了问题——你猜得没错,焊桥恰好就发生在那里……如果布局再周到一点,我想我们可以让整个显示屏都具有端到端的连接特性,从而使其免受焊接错误的影响。

显示屏本应是一个圆形,但巧合之下最终成了一个八边形。对于Simsimsim程序,我只是简单地根据到中心的距离来放置LED,一个从第一性原理出发构建的圆形。碰巧在直径为16时,根据你是向下取整还是向中心取整,你可能会得到一个八边形。我曾考虑过删除一些角落的LED使显示屏更圆,但后来放弃了这个想法。

总的来说,吊坠的第一个PCB设计比我预期的要容易。我们没有从GPIO获取大电流,所以背面真的不需要放太多东西,而且减少的过孔数量让事情变得简单得多。我们也有足够的空间根据需要移动那些过孔。

wKgZPGi6VuWAVoTCAARROSMiVKg751.png

给PCB的内层做圆角可以通过一个插件完成。

我手动进行了拼板(panel),因为我需要一种方法来将板子固定在贴片机中。你可以让板厂为你拼板,但那样你就得接受他们的布局,而且元件坐标文件也需要相应调整。我手动制作了邮票孔,只需在边界上放置两个钻孔,再画一圈阻焊环来标记PCB的边缘。记住,通常用于切割这些板的铣刀直径是2mm。给大部分内部边缘做圆角相当容易,但在邮票孔处,我们要与另一个弯曲的轮廓相配合。

每个邮票孔之间的四分之一圆弧在KiCad中制作起来真的很麻烦。回想起来,我可能应该在其他软件中画好然后导入一个DXF文件。在KiCad中,我首先放置了板子的圆形轮廓,然后用拼板的支撑臂与之相交。我把视图放大很多倍,微调相交线的末端以精确地与圆相接,然后用它们作为圆弧的起点和终点。整个过程非常繁琐。

为了挂链子,我用一根弯曲的金属丝来压住电池。功能上没问题,但有点简陋。如果你想找PCB安装的镀金弹簧端子,正确的搜索词是“RFI屏蔽弹片”(RFI shield finger)。

wKgZPGi6VuWAcx82AAXFYDhGAzs412.png

我后来将弹片升级成了一个更大、行程更长的型号,但没有费心去更新3D模型。

LiR2450 纽扣电池周围有足够的空间。最初的设计要小一些,但在我努力寻找磁吸充电接口时把它增大了。早在 2023 年,速卖通上出现了一堆非常便宜的“智能戒指”,其中一些使用了 4mm 的磁吸充电接口。我最初订购它们是因为想拆下里面的弧形电池,这种电池到目前为止还无法小批量购买。但对这个吊坠来说,一个磁吸充电接口的吸引力是不可否认的,前提是我能找到货源。

搜索 “4mm 磁吸充电接口”或类似词条,返回了一堆伸入外壳比我能接受的要深得多的接口。它们显然是作为通孔元件设计的,而戒指的总厚度可能只有 3mm。

wKgZPGi6VuWAFCmQAAOO_tel_ys201.png

在写这篇文章的时候,市面上可用的接口种类已经急剧增加,我花了很长时间寻找的4mm接口现在确实出现在了搜索结果的第一页,所以它可能只是一个当时尚未被索引的新发布产品。以备将来参考,零件号是WNRE的cx-4mm-jz。

wKgZPGi6VuWAGoWNAAMQUHwyFac512.png

顺便说一句,不同 4mm 接口的充电线是不兼容的。尽管它们的极性相同,甚至是磁极性也相同,但其中一根的线缆无法牢固地吸附在另一个接口上。我认为较大的接口磁场更强,相应地线缆上的磁场较弱,可能是为了减少它吸附到附近金属物体上造成短路的可能性。

金属加工

视频完整地展示了整个过程,基本上就是钻一些黄铜并制作几个凹槽。制作一个压入式的后盖,绝对比加工一个精细的螺纹要快得多。对于如何制作压入式后盖,我没有任何明确的尺寸参考,只是做了一些有根据的猜测。最终的压入式后盖测试件确实能扣合在一起,但有点松,无法在张力下保持固定。然而,加入一个O型圈后,完全消除了松动,并且顺便提供了一个防水密封。O型圈的存在意味着所需的公差可以宽松得多。

拍摄这个过程也挺有意思的,因为这台车床比我习惯用的那台大Colchester要小。这是一台Hardinge车床,我的磁性三脚架太大了,用不上。而且,主轴箱上也没有平坦的表面可以安放。

几个魔术臂(magic arms)救了场。

wKgZPGi6VuaAMnRqABGX0-vkzuQ726.png

这样放置相机非常不方便,使得整个过程耗时更长。理想情况下,我可以用一个大支架来固定它,但车床马达的振动意味着如果相机不是从多个位置支撑,拍出的画面就会晃动。如果我能像我希望的那样,在这台车床上做更多的项目,我必须想出更好的拍摄办法。

在金工进行到一半时,我决定制作第二个吊坠,这次带一个表镜来覆盖显示屏。市面上有各种直径的表镜,厚度、平面或曲面等选择也很多。但我努力寻找,却找不到任何关于其尺寸公差的信息,或者说,找不到任何关于容纳它的金属部分的尺寸信息。

我切了一个小的测试件,选择了一块直径为27.5mm的玻璃。我想象着在某个地方应该有一些关于如何制造手表以容纳这种玻璃的说明,但我能找到的只有关于在手表维修期间更换玻璃的信息。在玻璃和金属之间有一个垫圈(gasket)。垫圈厚度为0.45mm,那么安装槽的总直径将是28.4mm。

wKgZPGi6VuaAahAkAAMCDPOWIJ0877.png

玻璃确实完美地压了进去,用力恰到好处。测试的直径似乎很完美。玻璃的破裂是后来才发生的,当时我对自己不用特殊工具就能轻松压入玻璃变得过于自信。有时候测试这些极限来校准自己的判断力是件好事。

总之,那些平面玻璃很便宜,所以没什么损失,我便毫无顾忌地继续制作第二个吊坠外壳。当要钻正面的 28.4mm 凹槽时,通常在切断零件后重新夹持会很麻烦。但大量的软爪夹头(soft collets)让这不成问题。软爪夹头的理念是,你可以对它们进行加工,以定制适合你正在处理的零件,但显然是巧合,架子上的几个软爪夹头已经能匹配我 28mm 的内径了。

wKgZPGi6VueASGTAAAsX1LC_w5o390.png

我真的很喜欢这些微型硬质合金镗杆。

铣削过程平淡无奇,我想我当时过于谨慎了。对于后续的吊坠,我飞快地完成了这一部分。方形夹头座里的塑料心轴工作得很好(并且可以为后来的吊坠重复使用)。

wKgZPGi6VueADaOxAAp25mfwdu8189.png

这是一个非常令人愉快的小凹槽。O型圈为压入式后盖增添了一些轮廓感,我喜欢它的外观,把它变成了一个设计特色。另一种选择是试图隐藏它,但这需要更严格的公差,并且也使打开它更加困难,因为没有空间插入开表刀。

连接环是用“硬”黄铜焊料焊接的。珠宝商使用多种不同等级的焊料,尽管即使是“软”珠宝焊料也比普通的电子焊料要硬。其原理是,你可以用最硬(熔点最高)的焊料焊接第一个接头,然后用较软的焊料焊接后续的接头,而不用担心之前的接头会熔化。

我的直觉是,我可能可以用最硬的焊料完成两个接头,但到目前为止,对于所有的吊坠,我都用软焊料焊接第二个接头。这是电子焊料,在之前一个项目收到一些负面评论后,我特意用了无铅焊料。这本意是一个微妙的玩笑,因为黄铜合金本身就含有大量的铅。

wKgZPGi6VueAUFzPAAi5371SZRY446.png

我后来才意识到,这种无铅焊料与镀金完全不兼容,它就是无法附着在表面上。我并不觉得这看起来很糟糕,但在过去,银铅焊料能够毫无问题地接受电镀。对于最初的几个吊坠,我把焊角做得尽可能小,但后来担心可能会有缝隙影响整体密封性,于是把焊角做得更突出了。

wKgZPGi6VuiABjRqAAm-0BlEBmQ324.png

我用电镀刷给这些零件镀了金。对于前两个吊坠,我的表面处理工作做得非常糟糕,刀痕被电镀过程凸显了出来。我当时有点急于完成,因为PCB很快就要到了。

有时候在电镀过程中会出现这些棕色斑点。我不太确定是什么原因造成的。

wKgZPGi6VuiAGa33AAuJNZl5GG8960.png

电镀过程的一个预期步骤是之后用非常细的研磨剂(珠宝商红蜡)抛光零件。这可以去除这些痕迹,并给我们一个完美的表面,或者至少在没有刀痕的情况下会是完美的。

wKgZPGi6VumAYQtHAAtMp-YLbEQ845.png

完成这部分比较仓促,但谁在乎呢?电路板已经到了。首先从贴片机上下来的是这个样子:

wKgZPGi6VumAN1U4AAqnS1G3Or8622.png

焊桥比我预期的要多。我用了一种与平时不同等级的焊膏(只是为了试验),我想如果钢网上的开孔小一些会更好。0402的LED非常小,修复它们之间的焊桥相当棘手。如前所述,它们中的大多数对性能没有影响,因为端到端的LED大多属于同一个网络,除了边缘上我重新定位的那几个。然而,这有损美观,所以我感到必须清除这些显眼的错误。

一个疏忽是,我忘了把微控制器的复位引脚给引出来。显示屏占用了整个A端口,而SWDIO/SWCLK调试线也位于A端口上。对于一般使用,这不成问题,因为我们可以在软件中禁用它们。但对于开发来说,这使得我们无法将新程序刷入板子。诀窍是在编程之前立即复位芯片,但在这里那意味着要加一根飞线(bodge wire)。

wKgZPGi6VumALO2WAA3LXKRaHpg133.png

第一块电路板成了我的开发板。在这个阶段,我仍然没有找到心仪的磁吸接口,但旧的磁吸接口证明了充电电路是工作的。用一个3D打印的纽扣电池座,我也能用电池为开发板供电了。

wKgZPGi6VuqAFI8nAAaM21TUt08471.png

加速度计中断线上的总线保持器(bus keeper)引起了几个显示故障。在走线上飞焊了一个电阻,情况有所帮助。

wKgZPGi6VuqASEySAA1r69Zbb0w981.png

最终我在那里加了一个二极管,彻底解决了问题。之前我用一个LED替换了那个电阻,这还有一个额外的好处,就是当我轻推板子时可以看到信号的变化。

我在视频中快速展示了一些我应用到电路上的其他飞线修正,主要是为了确保电路不会被“骗”进软锁定状态。电池欠压检测是在软件中实现的,这让我们的电路更简单,但也让我感到足够不安,以至于下一个版本的PCB在硬件中实现了它。简单的外壳设计,没有按钮,也没有简便的打开方式,这带来了一定程度的偏执。我真的很想要一种在需要时复位芯片的方法,于是构建了监听充电接口的电路。

wKgZPGi6VuuAA5MqABU8ZVnjWOY568.png

一些数据手册或开发板建议总是在STM32芯片的复位线上加一个100nF的电容。我不确定是否需要,但我认为我宁愿在引脚上有一个可预测的、合理的电容,而不是少量未知的寄生电容。连接充电器的脉冲通过一个NPN晶体管基极上的小电容,该晶体管放大电流以拉低复位引脚。上图中未显示的是,我按照建议在复位线上加了一个100nF电容,并在信号电容的晶体管侧加了一个下拉电阻,以尝试在充电器连接时最大化脉冲电压。

在充电接口靠近时很容易短路,在这种情况下,自恢复保险丝(polyfuse)会发热并降低输出电压。尽管当电压恢复时它会开始充电,但缓慢上升的电源不足以触发复位电路。我觉得这没关系,因为如果你真的需要复位它,只需先连接线缆的磁吸端,然后再插入USB。而且,在重新设计的PCB中,硬件欠压检测意味着复位芯片永远不会是必需的,这个电路只是为了安抚我的偏执。

跳过一些步骤,我们用环氧树脂将磁吸接口固定到位,并且也用环氧树脂填充了充电LED的小孔。在显微镜下,那里有一个微小的树脂弯月面。

wKgZPGi6VuuAEHDTAAVRMDHSqbc209.png

电路板直接焊接到外壳上,以保证机械稳定性和与电池地线的电气连接。

wKgZPGi6VuuATdtDAAhFcJ7kFXA491.png

经过几次组装和拆卸,泡沫垫被修正,弹簧针换成了更高的,整体显示亮度被降低,以及各种其他显示故障被纠正。

wKgZPGi6VuyAA2-KAAgzMwYJFFU613.png

合上后盖并且除了那个充电接口外无法接触任何东西,这有点吓人。该设备的唯一输入是加速度计的数据。我曾计划通过在链子末端旋转吊坠来激活“深度睡眠”模式——这与大多数手势相比非常容易检测,只需Y坐标在一段时间内超过某个阈值即可。如果这也是唤醒它的方式,那将会很潇洒。不幸的是,那将意味着更复杂的唤醒逻辑。我们需要先唤醒,然后检查条件,如果不满足则返回睡眠。

但我很高兴地想到了一个简单的办法,就是提高加速度计运动检测中断的阈值。通过将其设置为6g,它不太可能意外唤醒,但轻轻摇晃一下又能足够容易地让它恢复工作。“摇晃唤醒”(Shake-to-wake)。这是一个很好的解决方案,因为它使用的电量并不比常规睡眠多。

wKgZPGi6VuyAGqhPAAWsXhwC8Mk199.png

最终效果还算不错。

但我们还能做得更好!

原文转载自https://mitxela.com/projects/fluid-pendant,经过翻译、校对

注意:如果想第一时间收到 KiCad 内容推送,请点击下方的名片,按关注,再设为星标。

常用合集汇总:

和 Dr Peter 一起学 KiCad

KiCad 8 探秘合集

KiCad 使用经验分享

KiCad 设计项目(Made with KiCad)

常见问题与解决方法

KiCad 开发笔记

插件应用

发布记录

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路板
    +关注

    关注

    140

    文章

    5176

    浏览量

    104071
  • Flip
    +关注

    关注

    0

    文章

    10

    浏览量

    10031
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    重量仅70克迷你变焦模组——腾龙MP3010M-EV,光电舱领域的革新突破

    其仅70克的重量与紧凑设计,为光电舱的应用开辟了全新可能。 、轻量化设计:重新定义光电舱的便携性 光电舱作为集成摄像头、稳定云台和图像处理系统的精密设备,其重量直接影响搭载平台
    的头像 发表于 07-03 09:57 ?244次阅读

    索尼FCB-EV9520L:无人机光电舱的视觉核心

    当无人机翱翔于天际,执行侦察、监测或救援任务时,其“眼睛”——光电舱的成像能力,直接决定了任务的成败。索尼FCB-EV9520L,这款专为严苛环境设计的全高清摄像机模组,正以其卓越性能重新
    的头像 发表于 04-15 15:57 ?386次阅读

    正方欧荷5C快充24S大载重运无人机电池亮相

    在无人机行业蓬勃发展的当下,大载重运无人机凭借其强大的承载能力与高效的作业效率,在物流运输、农产品运、建筑工地、应急救援等众多领域大放异彩。然而,电池续航与充电效率直是制约其作业效能的关键因素。今天,正方带着全新的解决方案
    的头像 发表于 04-09 16:06 ?638次阅读

    索尼4K模组赋能无人机光电舱:开启高清侦察新纪元

    。 索尼4K模组的卓越性能 索尼4K模组以其出色的成像质量和稳定的性能在无人机领域崭露头角。这些模组采用了先进的4K传感器技术,能够捕捉到细腻且真实的画面。4K分辨率,即3840x2160的像素点,使得画面中的每一个细节都得以清晰呈现
    的头像 发表于 03-17 16:53 ?672次阅读

    免费分享篇《机械设计与制造》网络首发论文——种光电舱转台电机驱动装置设计与实现

    这里基于某机电科技公司的永磁无刷直流力矩电机和Microchip公司 dsPIC30F4012芯片设计了种光电舱转台电机驱动装置。点击附件查看详情!*附件:种光电舱转台电机驱动
    发表于 03-10 16:23

    PieX AI发布情绪追踪挂,革新心理健康管理

    近日,PieX AI公司宣布了项令人瞩目的创新成果——款基于人工智能(AI)的情绪追踪挂传感器。这款挂融合了先进的感应技术与AI算法,旨在为用户提供
    的头像 发表于 01-08 13:51 ?957次阅读

    大载重无人机运注意事项

    在进行运作业前,必须对作业场地进行细致的勘察,了解地形、地貌、风向、风力等环境因素,评估其对无人机飞行及运作业的影响。
    的头像 发表于 01-06 13:35 ?2549次阅读

    正方欧荷智能电池开启大载重无人机运新纪元

    在科技日新月异的今天,无人机技术正以前所未有的速度渗透到各行各业,而在农业领域,大载重无人机的应用更是为农产品的运输方式带来了革命性的变化。特别是在农产品的运作业中,大载重无人机以其高效、灵活
    的头像 发表于 01-02 10:58 ?723次阅读

    ADS1299在DAISY-CHAIN模式下只能配置第一个AD吗,那后面几个都是要怎么配置寄存器,都和第一个样吗?

    大家: 1ADS1299在DAISY-CHAIN 模式下只能配置第一个AD么,那后面几个都是要怎么配置寄存器,都和第一个样么? 2 手册上写了有关时钟配置的问题,ADS1299在
    发表于 12-20 06:47

    Epson ColorWorks C8030打造彩色标签及牌的全能新纪元

    近日,爱普生推出高速行式彩色标签及牌打印机Epson ColorWorks C8030(以下简称CW-C8030)。在追求高效与品质并重的今天,标签与牌作为产品身份的重要标识,其打印品质与设计感
    的头像 发表于 12-05 10:46 ?1138次阅读
    Epson ColorWorks C8030打造彩色标签及<b class='flag-5'>吊</b>牌的全能新纪元

    基于安信可UWB模组——BU03开发智能

    ? ? ? ? 智能 能对手机进行精准测距! ? 前言 基于安信可新品 UWB 模组——BU03 开发的款智能,它能够对手机进行精
    的头像 发表于 11-28 09:13 ?962次阅读
    基于安信可UWB模组——BU03开发智能<b class='flag-5'>吊</b><b class='flag-5'>坠</b>

    倍加福接近开关在集装箱正面中的应用

    在集装箱正面的作业过程中,具的安全锁是否正确锁定是保障作业安全的关键。旦安全锁未能到位,就可能引发意外脱落或移动,后果不堪设想。为此,我们在具上加装了电感式接近开关,用以监测安
    的头像 发表于 11-22 15:06 ?723次阅读

    采用智能化舱 实现高效大楼外立面安检

    高空物已经成为城市安全的大威胁,方面来自于人,而另方面则来自于建筑物本身。以前的楼房大都是马赛克墙面,然后在外面再涂层亚士漆作为保
    的头像 发表于 09-25 08:05 ?675次阅读
    采用智能化<b class='flag-5'>吊</b>舱 实现高效大楼外立面安检

    变焦与稳像:无人机光电舱摄像机的技术亮点

    定范围内调整焦距,从而改变拍摄画面的视角和细节程度。在无人机光电舱摄像机中,变焦镜头能够实现对远距离目标的清晰观测,同时保持图像的细腻度和色彩还原度。 2. 技术特点 高倍率变焦:部分无人机光电舱摄像机具备高倍率变焦能力
    的头像 发表于 09-10 15:44 ?1420次阅读
    变焦与稳像:无人机光电<b class='flag-5'>吊</b>舱摄像机的技术亮点

    无人机“智慧之眼”:光电舱摄像机的全面解析

    、监测与拍摄能力带来了质的飞跃。 、光电舱摄像机的定义与组成 光电舱摄像机是种集成了多种光电传感器设备的综合探测系统,通常包括可见光摄像机、红外热像仪、激光测距仪等多种传感器。
    的头像 发表于 09-10 15:38 ?2801次阅读
    无人机“智慧之眼”:光电<b class='flag-5'>吊</b>舱摄像机的全面解析