我决定制作更智能的智能电源板,因为担心我的妻子会跳闸电源板上的断路器,为我的所有电子设备(计算机、NAS、电缆调制解调器、路由器、媒体中心、电视、外置硬盘等)供电。用她的头发干燥/卷发的东西。到目前为止,我的妻子还没有设法使断路器跳闸,但我认为她已经接近它了。只要她没有同时使用卷发器、熨斗和加热吹风机,我就安全了,但我不想冒险。
Smarter Smart Power Strip 目前的特点:
我正在使用运行 Android Things 的 PICO-PI i.MUX6 作为电源板的大脑。最初我试图从这个板上运行所有东西,但需要卸载读取传感器和计算电流 RMS 到 Arduino。PICO-PI 从 Arduino 读取数据并确定是否关闭继电器。
由于缺乏资源,这个项目只适用于 2 个插座,因为我手头只有一个 2 继电器板。但我已经编写了代码,只需根据需要进行少量修改即可轻松完成更多任务。
将 Arduino 项目 https://github.com/bbtinkerer/I2C_ACS712/tree/master/Arduino/I2C_ACS712 闪存到 Arduino。如果您愿意,可以更改 I2C 地址。该项目只是不断读取 ADC0 和 ADC1 并计算将连接到这些引脚的 ACS712 20A 的 RMS 值。Arduino 通过 I2C 向其请求数据时返回 4 个字节。前 2 个字节采用 MSB 格式,表示连接到 ADC0 的传感器的电流(以毫安为单位)。第二个 2 个字节是第二个传感器。
为了避免在开发过程中使用带电的电源线,我关闭了带有 10K 电位器的 ACS712 传感器。这些电位器可以模拟 ACS712 传感器报告的内容。
通过 I2C 将 Arduino 连接到 PICO-PI。此外,确保将 PICO-PI 接地引脚连接到 Arduino 的接地引脚。
将 5V 电源连接到 Arduino 5V 引脚。确保您使用的是稳压 5V 电源,因为您通过这种方式为 Arduino 供电来绕过 Arduino 的安全电路。
将 5V 连接到继电器板。
将继电器板的接地连接到 PICO-PI 或 Arduino。
我使用 ULN2803 Darlington 阵列来帮助激活继电器板。我有 2 个相同的继电器板,其中一个可以直接连接到 PICO-PI,另一个不能。与其猜测哪个板可以直接连接,我宁愿只使用一个达林顿阵列。
将电源连接到 ULN2803 芯片。
将 PICO-PI 的引脚(GPIO1_18 和 GPIO4_19)连接到 ULN2803 芯片的输入引脚。将 ULN2803 对应的输出引脚连接到 GPIO1_18 对应继电器 1 的继电器。
如果继电器关闭,按钮将用于重新打开继电器。将 GPIO4_21 连接到按钮的一侧。在第二个按钮上对 GPIO4_22 执行相同操作。在按钮的同一侧与 GPIO 连接一个 10K 上拉电阻到每个按钮的 3.3V。将按钮的其余引脚接地。
使用 Android Studio 用 SmarterSmartPowerStrip 项目刷写 PICO-PI,现在只使用电位器进行测试。
当一切测试正常时,用 ACS712 20A 传感器更换电位器。
从现在开始要格外小心,因为电源线会严重损坏并杀死您。
像往常一样将地线和中性线连接到电源插座。
将火线连接到继电器的常开触点。
将 ACS712 的输入连接到继电器的中间触点。将 ACS712 的输出连接到插座。重复第二个传感器。
仔细检查你的接线。把所有东西都装起来,这样就没有外露的电源线。
我还没有一个盒子,但是当我有的时候,我会确保所有东西都是封闭的,以确保安全,并且电源线尽可能与其他所有东西隔离。
ACS712 20A 读取的最小电流为 100mA,因此如果看起来电流读取不正确,请记住这一点。无论连接什么,都可能无法为 ACS712 吸收足够的电流。
I2C_ACS712 项目包含一个 Atmel Studio 项目,用于将与 Arduino 类似的程序闪存到 Attiny85 上。连接到另一个 Arduino 时可以工作,但连接到 PICO-PI 时会在一两秒后脱落。我将来会使用这些(当我解决了 PICO-PI 错误时),因为它们包含适量的引脚并且很小。
谢谢你的关注。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !