智能温控电脑散热器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序如下:
/************************按键检测***************************/
char key_scan()
{
if(K1==0)
{
delay(2000);
if(K1==0)
return 1;
}
if(K2==0)
{
delay(2000);
if(K2==0)
1
8051
8051
U1
DIP-40
8051
1
DS18B20
Header, 3-Pin
U2
HDR1X3
Header 3
1
74HC245
U4
DIP-20
74HC245(DIP)
1
22.1184M
Crystal Oscillator
Y1
R38
XTAL
1
1)按键设计
按键S2、S3、S4分别连接P3.2、P3.3、P3.4。S4为设置键,S3为报警温度上限值,S2为报警温度下限值。当按S4键,可以切换当前温度值、报警温度上限值、报警温度下限值。如图所示:
{
menu_1 = 0;
smg_i = 3;
}
}
if(menu_1 == 1)
{
smg_i = 4;
if(key_scan() == 2)
{
t_high++;
if(t_high > 990)
t_high = 990;
}
if(key_scan() == 1)
{
t_high--;
if(t_high <= t_low)
t_high = t_low + 1;
}
dis_smg[0] = display_code[t_high % 10];
dis_smg[1] = display_code[t_high / 10 % 10] & 0x7f;
dis_smg[2] = display_code[t_high / 100 % 10] ;
Q1
TO-92A
2N3906
1
Res2
Resistor
R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11
AXIAL-0.4
Res2
11
SW-PB
Switch
S1, S2, S3, S4
SPST-2
SW-PB
4
SW DPDT
Switch
SW1
SOTΒιβλιοθήκη Baidu3-6_L
SW DPDT
二、设计思路
为了给笔记本散热,达到智能控制笔记本散热器(风扇)的目的,在设计中按照以下思路进行:
①.通过51单片机(STC12C5A60S2芯片)来控制四位数码管(共阳极数码管)的显示。数码管可以显示:当前笔记本温度值、高温报警温度值以及低温报警温度值;
②.用PWM的原理(占空比的不同)控制风扇的转速,使不同的温度有不同的转速;
}
}
2)风扇控制
在本次设计中采用的是PWM来实现直流电动机的调速,通过占空比的不同来控制风扇的转速,使用定时器1来控制PWM(P1.7)的开与断,从而可以达到控制风扇转速的目的。优点:控制原理简单,输出波动小,线性好,对邻近电路干扰小;缺点:功率低,散热问题严重。
PWM调速原理:
输出电压
其中: 称为占空比。
void write_18b20(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
dq = 0;
_nop_();
dq = dat & 0x01;
delay_uint(45);
_nop_();
_nop_();
dq = 1;
dat >>= 1;
}
}
/***********************读18b20内的数据***********************/
ALARM SEARCH告警搜索ECH
WRITE SCRATCHPAD把字节写入暂存器的地址2和3 4EH
READ SCRATCHPAD读取暂存器和CRC字节BEH
COPY SCRATCHPAD把暂存器内容拷贝到非易失性存储器中48H
CONVERT T开始温度转换44H
RECALL E2把非易失性存储器中的值召回暂存器B8H
t_low = 10;
}
dis_smg[0] = display_code[t_low % 10];
dis_smg[1] = display_code[t_low / 10 % 10] & 0x7f;
dis_smg[2] = display_code[t_low / 100 % 10] ;
dis_smg[3] = 0xc7;
{
TR1 = 0;
pwm = 1;
}
}
/*******************定时器1用于单片机PWM调节*****************/
void Timer1() interrupt 3
{
static uchar value_l;
TH1=0x0f;
TL1=0xec;
if(pwm==1)
{
value_l+=3;
本次的原理图设计中,所用的器件具体信息如下表所示:
Comment
Description
Designator
Footprint
LibRef
Quantity
Cap Pol1
Polarized Capacitor (Radial)
C1
RB7.6-15
Cap Pol1
1
Cap
Capacitor
C2, C3
RAD-0.3
占空比D表示了在一个周期T里开关管导通的时间与周期的比值。D的变化范围为0<=D<=1。当电源电压U不变的情况下,输出电压的平均值U取决于占空比D的大小,改变D值也就改变了输出电压的平均值,从而达到控制电动机转速的目的,即实现PWM调速。
程序如下:
/*************************风扇控制函数***********************/
READ POWER SUPPLY读电源供电方式:0为寄生电源,1为外电源 B4H
DS18B20数字温度计的初始化子程序、写子程序、读子程序如下:
/**********************18b20初始化函数***********************/
void init_18b20()
{
bit q;
Cap
2
Dpy Red-CA
7.62 mm Black Surface HER 7-Segment Display: CA, RH DP
DS0, DS1, DS2, DS3
A
Dpy Red-CA
4
Header 2
Header, 2-Pin
P2, P3
HDR1X2
Header 2
2
2N3906
PNP General Purpose Amplifier
low = read_18b20();
value = read_18b20();
value <<= 8;
value |= low;
value *= 0.625;
return value;
}
四、设计总结
本次设计以STC12C5A60S2单片机为核心,单片机控制各个子模块独立协调的工作。DS18B20主要完成对当前电脑温度信号的采集、处理;风扇主要完成通过PWM调速控制的开与断(转与不转);数码管主要完成各个温度值的显示等。用Altium Design软件绘制电路原理图及PCB电路印刷板图,利用MCS-51 C语言编制。
运行程序该系统的主要特点是:
(1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户对最适合温度的要求,实现对最适温度的实时监控。
随时可以根据软件编写新的功能加入产品。操作界面可扩展性强,只要稍加改变,即可增加其他按键的使用功能。
根据DS18B20数字温度计进行初始化时序、读时序和写时序分别可编写3个子程序:初始化子程序、写子程序、读子程序。
DS18B20芯片功能命令表如下:
命令说明协议
READ ROM读取激光ROM64位33H
MATCHROM匹配ROM55H
SKIP ROM跳过ROMCCH
SEARCH ROM搜索ROMF0H
uint read_temp()
{
uint value;
uchar low;
init_18b20();
write_18b20(0xcc);
write_18b20(0x44);
delay_uint(400);
init_18b20();
write_18b20(0xcc);
write_18b20(0xbe);
uchar read_18b20()
{
uchar i,value;
for(i=0;i<8;i++)
{
dq = 0;
value >>= 1;
dq = 1;
if(dq == 1)
value |= 0x80;
delay_uint(36);
_nop_();
}
return value;
}
/**************读取温度的值,读出来的是小数******************/
void fengshan_kz()
{
if(temperature >= t_high)
{
TR1 = 0;
pwm = 0;
}
else if((temperature < t_high)&& (temperature >= t_low))
{
f_pwm_l = 60;
TR1 = 1;
}
else if(temperature < t_low)
③.采用DS18B20数字温度计来检测当前的笔记本温度,通过读取当前笔记本温度值,确定当前笔记本温度值处于不同的温度区间范围,从而控制风扇的转速,从而达到智能控制风扇的目的。
三、设计过程
在本设计中,采用了51单片机(STC12C5A60S2芯片)来进行智能风扇散热器的控制,其设计原理图如下图所示:
从原理图中可以看出,设计分为了以下几个部分:USB接口、电源接口电路、风扇接口电路、DS18B20温度传感器电路以及数码管显示电路等。
if(value_l > f_pwm_l)
{
value_l=0;
pwm=0;
}
}
else
{
value_l+=3;
if(value_l > 100 - f_pwm_l)
{
value_l=0;
pwm=1;
}
}
}
3)DS18B20数字温度计的设计
如下图所示,主机控制DS18B20数字温度计完成温度转换工作必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。单片机所用的系统频率为22.1184MHz。
dq = 1;
_nop_();
dq = 0;
delay_uint(530);
_nop_();
dq = 1;
delay_uint(100);
_nop_();
_nop_();
_nop_();
q = dq;
delay_uint(180);
dq = 1;
}
/***********************写18b20内的数据***********************/
dis_smg[3] = 0x89;
}
if(menu_1 == 2)
{
smg_i = 4;
if(key_scan() == 2)
{
t_low++;
if(t_low >= t_high)
t_low = t_high - 1;
}
if(key_scan() == 1)
{
t_low--;
if(t_low <= 10)
return 2;
}
if(K3==0)
{
delay(2000);
if(K3==0)
return 3;
}
}
/********************按键处理数码管显示函数******************/
void key_with()
{
if(key_scan() == 3)
{
menu_1 ++;
if(menu_1 >= 3)
智能温控电脑散热器
设计书
一、设计目的
当今社会,笔记本的普及率逐渐递增;对于大学生,几乎人人都拥有自己心爱的笔记本电脑。当笔记本处于工作状态时,温度是一个重要指标,笔记本温度越高,对笔记本的性能产生的影响随之变坏。那么,对笔记本进行降温处理显得尤为重要。在笔记本中,虽然有内置的散热器,但是有时候并不能达到对笔记本散热降温的要求,如:笔记本每天长时间不断的工作,外界环境温度的提高(夏季)等。于是,通过对笔记本加外部散热器来达到降温的目的不失为一种好方法。所以,在本次设计中,提出了智能温控电脑散热器的想法,以达到对笔记本降温的目的。
相关文档
最新文档