4862|8

3226

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

【树莓派Pico测评】六,Pico做的简单温度控制 [复制链接]

 

我的树莓派的Pico测评进入最后一个测试了。在前几个测评中,我单独测试了IO,LCD1602,四线风扇,DS18B20温度传感器,现在我要将这几个分立的功能连接起来,Pico连接LCD1602显示片内温度,然后输出PWM信号控制风扇转数。做一个简单的温度控制系统。

 

硬件连接:

四线风扇的PWM引脚接到PicoGP15

LCD1602R/W直接接GNDLCD驱动电压连接10K可调电阻后接GND。其他的管脚在程序中定义就可以。

 

图片:

软件:

import machine

import utime

from machine import Pin, PWM

 

#PWM

pwm = PWM(Pin(15))

# Set the PWM frequency to 25Khz.

pwm.freq(25000)

 

#CPU TEMP

sensor_temp = machine.ADC(4)

conversion_factor = 3.3 / (65535)

reading = sensor_temp.read_u16() * conversion_factor

temperature = 27 - (reading - 0.706)/0.001721

print('%.1f' % temperature+"")

#LCD1602

rs = machine.Pin(0,machine.Pin.OUT)

e = machine.Pin(1,machine.Pin.OUT)

d4 = machine.Pin(2,machine.Pin.OUT)

d5 = machine.Pin(3,machine.Pin.OUT)

d6 = machine.Pin(4,machine.Pin.OUT)

d7 = machine.Pin(5,machine.Pin.OUT)

 

def pulseE():

    e.value(1)

    utime.sleep_us(40)

    e.value(0)

    utime.sleep_us(40)

def send2LCD4(BinNum):

    d4.value((BinNum & 0b00000001) >>0)

    d5.value((BinNum & 0b00000010) >>1)

    d6.value((BinNum & 0b00000100) >>2)

    d7.value((BinNum & 0b00001000) >>3)

    pulseE()

def send2LCD8(BinNum):

    d4.value((BinNum & 0b00010000) >>4)

    d5.value((BinNum & 0b00100000) >>5)

    d6.value((BinNum & 0b01000000) >>6)

    d7.value((BinNum & 0b10000000) >>7)

    pulseE()

    d4.value((BinNum & 0b00000001) >>0)

    d5.value((BinNum & 0b00000010) >>1)

    d6.value((BinNum & 0b00000100) >>2)

    d7.value((BinNum & 0b00001000) >>3)

    pulseE()

def setUpLCD():

    rs.value(0)

    send2LCD4(0b0011)#8 bit

    send2LCD4(0b0011)#8 bit

    send2LCD4(0b0011)#8 bit

    send2LCD4(0b0010)#4 bit

    send2LCD8(0b00101000)

    send2LCD8(0b00001100)

    send2LCD8(0b00000110)

    send2LCD8(0b00000001)

    utime.sleep_ms(2)

 

while True:

    setUpLCD()

    rs.value(1)

    for x in 'CPU TEMP:':

        send2LCD8(ord(x))

    for x in '%.1f' % temperature:

        send2LCD8(ord(x))

    if temperature>20:

        pwm.duty_u16(30000)   

    utime.sleep(2)

 

总结:

感谢EE给我们网友提供这次测评的机会,让我们第一时间体验了树莓派Pico的各个功能和特性,希望以后EE可以给我们提供更多的测评机会。希望EE以后越办越好。

 

最新回复

看见风扇用pwm控制的,就联想到PID了 有温度,能调速,那这方案就冲这PID去的   详情 回复 发表于 2021-5-10 09:47
点赞 关注
 

回复
举报

2万

帖子

71

TA的资源

管理员

沙发
 

给个总结性发言呗,总体使用感受啥的 ,嘿嘿

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

好的,我总结一下。然后新发一个贴子。  详情 回复 发表于 2021-4-25 14:46
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

3226

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
soso 发表于 2021-4-25 14:15 给个总结性发言呗,总体使用感受啥的 ,嘿嘿

好的,我总结一下。然后新发一个贴子。

点评

谢谢:)  详情 回复 发表于 2021-4-25 14:47
 
 
 

回复

2万

帖子

71

TA的资源

管理员

4
 
tagetage 发表于 2021-4-25 14:46 好的,我总结一下。然后新发一个贴子。

谢谢:)

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

379

帖子

0

TA的资源

一粒金砂(高级)

5
 

看标题以为要做PID

点评

风扇控制散热,阈值判断就可以了。不用PID吧?  详情 回复 发表于 2021-4-29 11:26
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

6
 

风扇看起来直接从IO出来的?

点评

我以前的测评有PICO驱动四线风扇的详细说明,是PICO的IO连接四线风扇的PWM控制管脚。  详情 回复 发表于 2021-4-29 11:27
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

3226

帖子

0

TA的资源

五彩晶圆(中级)

7
 
LeoMe 发表于 2021-4-26 17:02 看标题以为要做PID

风扇控制散热,阈值判断就可以了。不用PID吧?

点评

看见风扇用pwm控制的,就联想到PID了 有温度,能调速,那这方案就冲这PID去的  详情 回复 发表于 2021-5-10 09:47
 
 
 

回复

3226

帖子

0

TA的资源

五彩晶圆(中级)

8
 
freebsder 发表于 2021-4-26 17:19 风扇看起来直接从IO出来的?

我以前的测评有PICO驱动四线风扇的详细说明,是PICO的IO连接四线风扇的PWM控制管脚。

 
 
 

回复

379

帖子

0

TA的资源

一粒金砂(高级)

9
 
tagetage 发表于 2021-4-29 11:26 风扇控制散热,阈值判断就可以了。不用PID吧?

看见风扇用pwm控制的,就联想到PID了

有温度,能调速,那这方案就冲这PID去的

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表