查看: 15304|回复: 1

[原创] 树莓派温控风扇改进版2-shell模拟PWM实现风扇转速随温度变化

[复制链接]

该用户从未签到

发表于 2015-8-3 22:32:39 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 blueanima 于 2015-8-3 22:43 编辑

上次做了一个树莓派2温控风扇,使用的是继电器,随后我发现继电器还是太大了,影响散热,于是改用了L239D作为控制芯片。连接图附后。

之前的代码中,我设定是超过某一个特定温度,比如45度,风扇启动,但是这个2.5CM的风扇噪音巨大,于是想到了PWM,网上查资料树莓派2已经没有硬件PWM了,都是soft pwm,也就是软件模拟,我理解的思路是在一个周期,比如0.1秒内,控制GPIO端口在0.03秒输出电压,0.07秒停止输出,则可以输出全功率的30%,其他以此类推。网上的都是python的代码,我自己喜欢用shell脚本,于是自己用shell脚本编写了一个。代码简陋,大家指正哈。

其中由于shell脚本只能做整数运算,而我发现要使用毫秒级的控制才能使风扇转速流畅,于是我使用了bc进行浮点运算。
为了控制输出,我的笨办法是,我想实现41-49度的风扇转速随温度变化,50度以上则全功率运行,笨办法就是49减去温度除以100得出不输出的时间,精确到小数点后3位;然后0.1-不输出时间就是输出时间。工作得还可以,呵呵。

代码

#!/bin/bash

cpu_tmp=`/opt/vc/bin/vcgencmd measure_temp | awk -F '=' '{print $2}'| awk -F '.' '{print $1}'`

#echo $cpu_tmp

echo 26 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio26/direction

while (($cpu_tmp>=41));do
        i=0
        x=`echo "scale=3;(49-$cpu_tmp)/100" | bc`
        y=`echo "scale=3;0.1-$x" | bc`

        while (($i<50));do
                echo 1 > /sys/class/gpio/gpio26/value
                sleep $y
                echo 0 > /sys/class/gpio/gpio26/value
                sleep $x
                i=$(($i+1))
#               echo $i,$x,$y,$cpu_tmp
                cpu_tmp=`/opt/vc/bin/vcgencmd measure_temp | awk -F '=' '{print $2}'| awk -F '.' '{print $1}'`

                        while (($cpu_tmp>=49));do
                                echo 1 > /sys/class/gpio/gpio26/value
                                sleep 10
                                cpu_tmp=`/opt/vc/bin/vcgencmd measure_temp | awk -F '=' '{print $2}'| awk -F '.' '{print $1}'`
                        done
        done

done

IMG_0409.JPG
之前使用继电器的照片,有点大
IMG_0417.JPG
自己焊接一个简单的电路板
L239D.jpg
我自己加上注释的电路图,L239D的

评分

参与人数 1与非币 +5 收起 理由
loveeeboard + 5 三周年铜板双倍!

查看全部评分

回复

使用道具 举报

  • TA的每日心情
    慵懒
    2015-8-11 09:37
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2015-8-13 14:35:22 | 显示全部楼层
    写的不错感谢分享,相互加个QQ吧方便以后的联系2716493599
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 11:41 , Processed in 0.133625 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.