树莓派PWM控制降温风扇,基于ubuntu系统

本文章是基于ubuntu的树莓派控制降温风扇,采用python编写,具有开机自启的功能,有很好的降低噪音的功能。其思路是获取cpu温度,并依据不同温度产生不同的pwm来进行控制风扇。具体代码如下:

安装树莓派端口支持库 sudo apt-get install python3-rpi.gpio

import RPi.GPIO as GPIO
import time
FAN=18 #BCM引脚编号
TEMP_MIN=30
TEMP_MAX=50
GPIO.setmode(GPIO.BCM)
GPIO.setup(FAN,GPIO.OUT)
#GPIO.output(FAN,GPIO.HIGH)
GPIO.setwarnings(False)
pwm = GPIO.PWM(FAN, 50)
pwm.start(100)
time.sleep(5)
pwm.stop()
print("风扇防止卡死程序运行结束")
# 设置风扇

while True:
    file = open("/sys/class/thermal/thermal_zone0/temp")
    # 读取结果,并转换为浮点数
    temp = float(file.read()) 
    # 关闭文件
    file.close()
    print("温度: %.1f" %(temp/1000))
    if temp<TEMP_MIN*1000:
        pwm.stop()
        print("温度低于设定值,风扇关闭")
        #set_fan(0)#低电平,为开启风扇
    elif temp>TEMP_MAX*1000:
        pwm.start(100);
        print("温度高于最高设定值,风扇全速运行")
        #set_fan(1)#高电平,为关闭风扇
    else:
        dc = (temp - TEMP_MIN * 1000) * 100 / ((TEMP_MAX - TEMP_MIN) * 1000)
        pwm.start(dc)
        print("PWM duty cycle:%.1f" %dc)

    time.sleep(10)#每隔十秒检测一下温度
GPIO.cleanup()

硬件电路图如下:
在这里插入图片描述
这里点解电容的作用是为了防止噪音产生的。

最后为了防止树莓派每一次开机都要自己去启动脚本,所以我们设置一下开机自启动。
我这里使用的是supervisor来操作,操作流程如下

  1. 安装supervisor sudo apt install supervisor
  2. 打开配置文件目录cd /etc/supervisor/conf.d
  3. 新建配置文件touch pwmfs.conf
  4. 编写配置文件内容 vim /etc/supervisor/conf.d/pwmfs.conf
  5. 配置文件内容如下:
[program:pwmfs]
command = python3 /home/ubuntu/pwmfs.py
autostart = true

注:其中/home/ubuntu/pwmfs.py就是你存放脚本的位置。

  1. 重启服务sudo systemctl restart supervisor
  2. 其他命令
    查看supervisor运行状态:sudo supervisorctl status
    查看后台进程号:ps -aux|grep pwmfs| grep -v grep
  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 基于PWM控制的智能风扇控制系统电路设计,首先需要准备的部件有:ATmega16单片机、LCD液晶屏、蜂鸣器、温度传感器、电机和三极管等。 系统的主要功能是根据环境温度智能地控制风扇的转速。当温度超过设定值时,系统自动开启风扇并将电机转速控制在合适的范围内,以达到散热的目的。具体电路设计如下: 1、ATmega16单片机、LCD液晶屏和蜂鸣器 将ATmega16单片机与LCD液晶屏和蜂鸣器连接,通过单片机输入和输出信号控制LCD显示屏和蜂鸣器,实现系统的主要交互功能,包括风扇状态显示、温度显示、声音报警等。 2、温度传感器 通过温度传感器获取周围环境温度,并将温度数据传送到单片机,单片机通过温度数据进行智能控制风扇速度。 3、电机和三极管 通过单片机控制三极管来控制电机的转速,当温度超过设定值时,单片机向三极管输出PWM信号控制电机转动速度,从而有效地消除过热。 如果还需要增加其他功能,如手动控制等,可以继续对系统进行扩展,但基本的模块需要保证电路的正常运行。此外,在搭建电路过程中,应注意保持线路清洁、电路接触良好,确保系统稳定性和可靠性。 ### 回答2: 智能风扇控制系统电路设计是基于PWM调制电路实现的,主要用于控制风扇的转速和风力大小。电路分为三个部分:输入部分、控制部分和输出部分。 输入部分采用传感器来检测环境温度和湿度,利用单片机来对环境温度和湿度进行实时监测,根据监测结果来调整风扇的转速和风力大小。 控制部分采用单片机控制电路,使用PWM调制电路产生PWM信号,控制风扇的转速和风力大小。通过调节PWM信号的占空比,控制风扇的转速。占空比越大,转速越快;占空比越小,转速越慢。 输出部分采用直流电机驱动芯片作为驱动器,将PWM信号转化为电压信号并输出,控制风扇的转速和风力大小。同时,还配备了显示屏和按键,用于显示温度和湿度,以及手动控制风扇的转速和风力大小。 整个电路设计体现了智能化控制风扇的理念,可以自动调整风扇的转速和风力大小,满足不同环境下的需求。同时,也可以手动控制风扇的转速和风力大小,方便用户进行个性化设置。 ### 回答3: PWM风扇控制器是一种智能风扇控制系统的电路设计,它通过不同占空比的PWM信号控制电机转速,实现风扇转速的控制和风力的调节。PWM风扇控制器的电路结构一般由MCU主控、PWM控制芯片、功率驱动芯片、电机驱动电路、温度传感器和显示屏等组成。 基于pwm控制的智能风扇控制系统电路设计,首先需要选用合适的PWM控制芯片,常用的有NE555、LM358、AT89C51等芯片,然后将PWM控制芯片与MCU进行连接,通过MCU对PWM控制芯片进行编程,控制PWM信号的占空比。 功率驱动芯片是PWM风扇控制器的关键部件,它能将PWM信号转化为电机所需的功率信号。在电机驱动电路中,需要使用可控硅等器件进行电流调节,控制电机的转速和风量。 为了实现温度控制功能,可以在电路中加入温度传感器,通过采样获得环境温度,进而控制风扇的转速和风力。另外,加入显示屏,可以实时显示风扇的功率、转速和温度等参数,提高风扇控制的实用性。 综上,基于PWM控制的智能风扇控制系统电路设计较为复杂,需要充分考虑系统的稳定性、可靠性和实用性等因素,确保系统性能的可靠性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值