雷竞技注册
项目

Wi-Fi眼,第4部分:电源系统和新像素灯

2017年7月28日经过杰里米·李

在我们的Wi-Fi Eye项目的第4部分,我们将处理我们的电源

在我们的Wi-Fi眼睛项目的第4部分中,我们3D打印了一些机器人机构,并将我们的伺服,灯光和电池加入我们之前准备的控制器。

欢迎回到Wi-Fi眼睛项目!在继续之前,请查看本系列的上一部分。

目录

此外,请在DIY黑客签出这些文章,这将指导您通过3D打印自己的案例:

如果在本系列的前几部分中一切顺利,您应该有一个微型微控制器,它包含了我们需要的所有固件,您应该能够通过Wi-Fi配置它。但它不是真正的“机器人”,除非它在身体上挥舞着什么东西。而且,每个人都知道机器人有发光的光,尤其是眼睛。(不,我也不知道他们是怎么看出来的。)

我们可以使用直接的远程控制,但这意味着我们必须坐在那里手动操纵我们的机器人。如果我们在循环中给它一组预先编程的动作,它很快就会过时,并且不能传达很多信息。为了真正获得“角色”,电子动画需要一点随机性和目的性。

此外,机器人的状态应该受到外部刺激的影响——在我们的例子中,就是Wi-Fi信号的存在——所以这些动作有一定的意义。你会惊讶于人类是多么擅长从闪烁的灯光和不规则的抽搐中提取意义。这是我们之间的事。

电源供应

ESP-12更喜欢干净的3.3V @ 150mA电源,当Wi-Fi无线电发射器打开时,可以处理300-500mA的高电流突发。切换模式耗材有时不喜欢这些条件(脉冲令人困惑),所以LDO(低掉输出)线性稳压器在这里是理想的。我们只需要刮掉伏力,所以我们不会消散大量的力量。

我对此感到非常满意AMS1117 3.3 v调节器,您可以从互联网上获取预构建的模块,以少于一美元。他们对所规定的1-AMP容量具有可怕的散热,但这对我们的目的很好。它们也没有电压调节,因此它们基本上是万无一失的。我得到了一个红色的导致让你知道他们的工作,我倾向于过了一段时间。

这个调节器有一个1V的dropout(所以,不是低),这意味着即使使用完全充电的4.2V电池,我们也只能获得3.2V到微控制器(最佳),而不是完整的3.3V。当电池排水时,这将低至2.2V。幸运的是,ESP8266在标准的80MHz时钟速率下跨越2.5-3.3V范围。

ESP多于3.3V的优先效果远远超过3V - 随着5V的增加,它会过热,慢慢地将自身陷入死亡。(猜猜我是怎么知道的?)较低的电压,另一方面只能阻止您可靠地超频。

人们对esp8266的大多数问题似乎来自于电力系统中导致“棕色外出”的无线电发射器突发,导致腐败的串行数据或错误的PWM信号。这可能导致伺服到毛刺或LED被错误地更新(然后可以导致自己的小功率尖峰)。电源可以发生问题只有为ESP提供平均100-200mA的电流,在这种情况下,你需要巨大的“旁路”电容器来存储足够的电流以应对无线电爆发。

确保您的电源具有OOMPH(即技术术语)至关重要的是,同时为ESP-12提供一半的AMP它在高扭矩移动期间将另一半放大到伺服件。供应不需要维持它,但它最终会发生一次,并且能够通过所有电池(甚至电力适配器)应对的东西“爆发”。只有在更多的LED和伺服系统上开始堆叠堆叠(即:如果您没有规格,那么您的电源是在设备的生命中最糟糕的时刻,这就是它将崩溃的那一刻)。

锂电池,无论是锂离子电池还是锂电池,都非常擅长提供10倍于基本负载的突发电流。他们为这种应用提供了理想的电池。我个人喜欢重新利用“USB电池库”,你可以得到几个美元的原因:

  • 它们通常包含一个受保护的1800-2400mAh锂离子25500单芯电池。
    • 加上5V直流转换器。
    • 还有USB充电器。
  • 他们廉价,因为他们实际上对他们的目的非常可怕(充电手机)。
  • 以后很容易用相同的形状因数替换或升级它们。
  • 在产品内运输的电池不那么麻烦,因为某些载体不会接受标记为“锂电池”的数据包了。

所以我建议你从网上或便宜货商店买一对。他们可以为像阿戈莫托之眼这样的项目连续供电超过20个小时不管你得到什么样的伺服系统。

您需要某种方式充电(或交换)电池。我直接将USB充电器模块直接安装在我的Wi-Fi的背面,以便我可以在假设我做一个单独的充电器时插入USB电缆,我会失去它。这里有很多选择。

连接Neopixels.

唯一棘手的选择是是否从生的权力侧或监管权力侧。这里的问题是WS2812B“Neopixels”不喜欢被赋予控制信号“1”位,这些控制信号“1”位超过其电源轨以下的Volt。

除非我们想要添加逻辑电平转换器(我们没有),否则如果ESP在3.3V上,我们无法使用超过4.3V的LED。如果我们从4.2V电池运行,但没有更高,这是完美的。

具体来说,如果你以5V(它们的“名义”电压)运行一个Neopixel,它们将不再可靠地接受来自ESP的数据。幸运的是,如果你有5V可用,AMS1117稳压器将提供全3.3V,这是足够好的一对灯。

换句话说,这里不一定更好的伏特。我们不能漂移到微控制器的电源轨或LED将奇怪。

电路图显示了连接到调节器的新像素输出(相同的轨道为ESP-12提供推送),因为这应该在所有情况下工作。但是,如果要使电池电量的超高效使用(或获得最大亮度),则从电池/电源路由电源/输入相反,就像servos一样。这实际上是如何有线的Agomotto的眼睛 - 并相信我,这太棒了!

如果您希望多个灯相同,您可以并行连接它们。如果将相同的序列数据发送到许多Neopixels(或条带),则它们将以相同的方式行动,您甚至不必告诉软件。

醒着姿势

固件具有一组内部状态,它选择以响应事件。其中许多国家都有关联的姿势。以下是激活姿势时的广泛概述:

每个姿势都存储在SPIFFS (SPI文件闪存系统,嵌入式设备的闪存文件系统),并包含一组属性,可以在提供新值的情况下修改当前输出。如果没有提供值,则将其留给最后一个姿势设置为此。所以姿势是渐进的。姿势可以改变LED的脉冲速度而不改变其颜色,反之亦然。

简而言之,可以为Neopixels分配一个基色,它将在短时间内过渡到短时间(以秒为单位)。它也可以随机闪烁,通过第二种颜色过滤。这样,你可以有一个绿灯,闪烁着一点蓝色。

新偶像也可以脉冲。它们将从通常的颜色昏暗到最小亮度,使用伽马曲线调节线性斜坡,使其有更多的性格。脉冲速率通过完成一个周期的时间来定义,以及基于当前跟踪接入点的RSSI(接收信号强度指示符)的量。这意味着一些状态(例如,空转)可以以恒定速率定义为脉冲,而其他状态(例如,检测)可以根据从跟踪目标接收的信号强度以速率脉冲。

每个伺服都有它应该移动到的位置(以度为单位),速度大致以每秒度为单位。伺服角度也可以有一个随机数量的抽动添加到它。

抽搐行为同时适用于所有选定的伺服系统,它将在给定的时间内随机发生。所以"8"的抽搐时间意味着你会至少每八秒钟一次抽搐。

有一件事要注意:姿势编辑器使用不同的方式将数据传输回服务器。它实际上使用HTTP帖子将文件直接写入Flash文件系统,而不是使用专门的AJAX调用或更新命令,因为大多数其他事情都已。这可以节省大量复杂的JSON在固件中重新解析(客户端浏览器完成所有工作,并且它有更多的内存),但这意味着姿势编辑器在一些缺少一些HTML5功能的较旧/移动浏览器上不起作用。此外,当您保存姿势(第一次)时,您将被要求使用用户名和密码(系统配置中设置的密码)进行HTTP认证。

群体行为

LED和Servos数量的限制可能似乎排除了更大且更复杂的animatronics,但可以划分任务并具有多个ESP-12S侦听相同的事件。它们不会完全同步(可以添加角色),但您将通过“分发”接收器围绕大型服装或安装来保存电线。

记住,你可以建造一个没有任何伺服器或灯的Wi-Fi设备,当它被打开时,它将充当信标。它的存在就像是其他设备的远程开关。

在一些未来的版本中,可以有趣的是让节点根据他们的心情重命名。这将充当到其他节点的信令信道,而无需任何其他幻觉TCP协议。

的局限性,进一步

老实说,ESP8266不是最好的实时伺服控制器,我不相信它能运行任何关键的、尖锐的或任何需要安全的东西。PWM信号是由软件中断产生的,而不是专用的硬件,它很容易受到干扰中断的任何东西的影响。

如果你想要可靠地控制多个伺服系统(如果你增加SERVO_COUNT,四个应该是可能的),有像PCA9685这样的专用芯片,它将在I2C总线上驱动16个12位精度的伺服系统。这些都是我将来要探索的。这里的目的是看看我们能在没有额外硬件的情况下单独使用ESP-12做多少事情。

在软件中,延长Neopixels的数量(只需增加固件和Web界面中的LEDS_Count),但即使是WS2812B的短链条也是非常有力的,并且我不想让那个焦点在这里。一个足以展示原则并给你一个起点。

希望该软件能够超越通常的“最低限度”方法,同时提供几个先进技术的完整示例,包括身份验证和实时通信。改变它应该更多的是去除你的东西需要。

我认为我已经将web服务器推向了它的极限,即当浏览器通过初始页面加载设备时,它能同时提供多少文件。它已经需要同时提供页面html、jQuery和bootstrap (css、js和font)文件,所以我不愿意把html文件的一部分分解成更小的css和javascript文件。实际上,将所有的javascript组合到一个文件中可能是个好主意。

有巨大的范围来提高动画系统的复杂性,排队或定时姿势或预先记录的运动捕获。ESP-12的Flash文件系统具有兆字节的空间,可以保持动画文件,但这将将固件绑定到特定的Animatronics /编辑器软件,因此我没有拍摄该路线。

确认

巨大的谢谢拿俄米吴(制造商Extraordinaire和3D打印Luminary),他介绍了我的Openscad并帮助了一些设计元素。她的耐心和鼓励不仅仅是我应得的。你可以在推特上跟着她@RealSexyCyborg如果你能跟上她的脚步的话。

原本的医生奇怪电影道具《阿加莫托之眼》由亚历山德拉·伯恩和巴里·吉布斯设计,漫威的许多标志性道具和英雄服装都是他们设计的。这是一件艺术品,我试图向它的许多元素和微妙的层次致敬,而不是直接复制。(你注意到我把名字改了一个字符吗?)

还要感谢比尔和布里特·多兰惩罚道具@Chinbeard@LadyLongShanks)让我着迷命运,以及amie d.d(@amiedoubled.特别是让我意识到一个只是一个会飞的眼机器人。我希望我能想到这一点。

最后,感谢3D打印社区中许多了不起的人,包括Thomas Sanladerer (@toms3dp),Joel Telling(@joeltelling),Angus Deveson(@makersmuse.),而Naomi Wu谁在互联网上放了如此多的有用信息,并让我们所有人都比以往任何时候都更容易进入这个有益的爱好。