使用Bash脚本控制Raspberry Pi冷却风扇

描述

在之前的一篇文章中,我在 Raspberry Pi 单板计算机的上下文中对 Bash 脚本的世界做了一个非常简短的介绍。这是一个非常强大的工具,能够执行批处理文件重命名、决策等管理任务。虽然此脚本接口适用于任何 Linux 系统,但 Raspberry Pi 的 GPIO 引脚使其功能更加强大,允许它直接控制物理设备,例如 LED,甚至可以通过晶体管间接控制电机和其他更高电流的设备。

碰巧的是,Raspberry Pi 没有任何类型的主动甚至被动冷却解决方案,而且很常见的是简单地将风扇连接到其 5V 电源上以始终运行。这似乎工作正常,但是当我注意到运行我的 3D 打印机(在佛罗里达州炎热的车库中)的 Pi 过热时,一直运行它似乎有点傻。毕竟,树莓派一直在通电,但当我打印某些东西时,它实际上是在非常间歇的基础上使用的。

pcb

( GitHub 上提供的脚本和 PCB 设计)

为了使风扇功能也间歇性地运行,我使用了上面显示的 bash 脚本,设置为每分钟通过 cron 运行一次。触发时,它使用vcgencmd measure_temp获取 Raspberry Pi 处理器的温度。然后,它使用 if/then/else 语句比较此温度,以使用gpio -g write 3 1行打开风扇或使用gpio -g write 3 0关闭风扇。它不是响应速度最快的解决方案,每分钟只能打开或关闭一次,但它比我迄今为止在程序方面看到的任何其他东西都要简单得多。

为了直接为风扇本身供电,我通过 Pi 的一个 5v 引脚使用了一个 2N2222 NPN 晶体管。在这里,GPIO 引脚 3 被馈送到晶体管的基极,允许电流流过风扇,然后通过晶体管的集电极和发射极,最后到地。在 GPIO 和基极之间使用一个电阻器来限制电流输出。我还在设计中添加了一个反激二极管,以解决风扇关闭时的电压尖峰问题,尽管它是可选的,并且实际上并未在我当前的设置中使用。

一个简单的PCB

pcb

(显示的是 1K,但实际使用的是 500 欧姆电阻)

如果使用冷却风扇和大型散热器组件还不够大(一个小的无源铝冷却器可能就可以了),我决定制作一个 PCB 来容纳晶体管、电阻器和二极管。该设计由 KiCad制作,由OSH Park制造。它看起来不错,而且效果很好,而且 PCB 比我预期的要小得多。在这种特殊情况下,每批 3 个不到一美元,如果您可以等待一两个星期来尝试,我肯定会推荐这种东西。

下面的视频显示了一切都已实现,包括对软件设置的评论。该视频介绍了如何在 PCB 或面包板上使用组件和热缩管实现晶体管/风扇设计。这是一个有趣的项目,作为额外的奖励,风扇组件上有一个 RGB 灯,当它实际运行时,它会以多彩的方式告诉你。

Bash 的部分强大功能以及通常使用 Raspberry Pi 的外壳,是您可以远程登录并通过 SSH 做任何您需要做的事情。为了提供帮助,我在这篇文章中写了一个关于这样做的一些更好点的指南。如果您在 Pi 之旅中相对较新,或者到目前为止您可能错过了一两种技术,这可能会很有帮助!

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分