温控风扇系统设计.docx

上传人:b****3 文档编号:27439083 上传时间:2023-07-01 格式:DOCX 页数:16 大小:125.98KB
下载 相关 举报
温控风扇系统设计.docx_第1页
第1页 / 共16页
温控风扇系统设计.docx_第2页
第2页 / 共16页
温控风扇系统设计.docx_第3页
第3页 / 共16页
温控风扇系统设计.docx_第4页
第4页 / 共16页
温控风扇系统设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

温控风扇系统设计.docx

《温控风扇系统设计.docx》由会员分享,可在线阅读,更多相关《温控风扇系统设计.docx(16页珍藏版)》请在冰豆网上搜索。

温控风扇系统设计.docx

温控风扇系统设计

RevisedbyChenZhenin2021

 

温控风扇系统设计

自动化系统创意设计大赛作品说明书

作品名称:

温控风扇系统设计

队员:

2015年4月

 

摘要:

本设计是基于STC12C5A60S2单片机技术与温度传感器测量外界温度的设计原理,进行了不同设计方案的比较,给出了设计的硬件电路,同时对各种关键硬件进行较详细的介绍,并且以流程图的方式对系统设计作出介绍。

系统主要通过温度传感器控制不同的PWM占空比输出来控制风扇的档位。

而出于方便、可选择性的考虑,系统也添加了辅助功能,就是直接手动控制风扇的档位。

关键词:

STC12C5A60S2单片机,DS18B20温度传感器,PWM

1、引言

温控风扇在节能环保方面具有一定的作用,其工作原理除了普通的手动档位调节,主要是通过温度传感器感应外界温度,并自主地进行档位的调节,这样在风扇开着的情况下,不需进行手动就可以根据不同的外界温度进行自主调节风力大小,达到节能目的。

2、背景

随着空调机在日常生活中的普遍应用,很容易想到电风扇会成为空调的社会淘汰品,其实经过市场的考验和证实,真实的并不是这样的,在空调产品的冲击下,电风扇产品仍然具有很强大的生命力,电风扇在市场的考验中并没有淡出市场,反而销售在不停的复苏中,具有强大的发展空间。

据市场调查,电风扇的不停复苏主要在以下原因:

一,是电风扇虽然没有空调机的强大的制冷功能,但电风扇是直接取风,风力更加温和,比较适合老年人、儿童以及体质虚弱的人使用。

二,是电风扇经过多年的市场使用,较符合人们的使用习惯,而且结构简单、操作方便、安装简易。

三,是电风扇比起空调产品而言,其价格低廉,相对省电,更易的进入老百姓的家庭。

在目前空调还没有普及,并且并不是所有的情况下空调都适合使用的情况下,智能风扇适合人体对温度的要求,智能风扇还有具有相当作用的。

3、意义与应用

1、普通电风扇的现状及存在的隐患:

大部分只有手动调速,功能单一。

长时间在高负荷工作容易损坏电器,并且造成电量的损失。

2、作品可运用在家庭中,风扇的风力随温度而调节,即可以避免人因温度低吹到冷风而着凉,也可达到节能目的,可见温控风扇更具有优越性。

3、其次将此系统装在产热多,急需排热的设备上,可以帮助它及时散掉大量的热。

比如电脑散热器等。

4、原理简介

1、电源开关,控制系统处于工作还是停止状态。

2、当系统上电之后,通过单片机读取外界温度,然后在液晶显示屏上显示出来。

通过判断温度的范围,控制风扇的停止与转不同的速度。

同时LED给出档位指示。

温度控制的范围可以通过按键进行设置。

3、另外,当不需要温度控制时,可以通过模式切换开关,让系统工作于手动控制模式。

通过按键进行调节风扇的停止,与不同转速。

5、方案设计

方案一:

采用两片STC89C516RD单片机、液晶1602和ds18b20,进行设计,让单片机1进行温度读取操作,另外的单片机2通过定时器,产生占空比不同的PWM。

两单片机通过串口进行通信,这样单片机1可以通过读取外界的温度,然后对单片机2进行控制。

这样就能在不同的温度区间内,单片机2控制直流5v小风扇不同的转速,从而实现温度自动控制风扇。

方案二:

采用STC12C5A60S2单片机、液晶1602和ds18b20。

这也是一款51单片机,但是它的性能比STC89C516RD单片机更强大,而且有独立的双路PWM输出。

这样,采用一片STC12C5A60S2单片机就能实现温度读取和直流5v小风扇的转速控制。

方案三:

采用stm8s105系列单片机、液晶1602和ds18b20,同样可以实现温度读取和直流5v小风扇的转速控制

方案比较:

方案一需要耗费更多的硬件资源。

因此我们直接排除方案一。

方案三,如果采用44脚贴片封装的stm8s105单片,可以在很小的覆铜板上把硬件做出来,这样可以节省一些硬件资源。

但是,因为温度传感器ds18b20的读取是通过单一I/O口读取的,stm8s105的I/O操作需要设置,让其是处于输入或者输出方式。

操作非常麻烦。

方案二需要的硬件资源相对较少,而且其I/O口兼容8051单片机,可以实现I/O口准双向操作,这样编程相对简单。

综上所述,我们选择方案二。

6、STC12C5A60S2单片机

简介

我们采用的单片机为STC12C5A60S2,STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。

内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)针对电机控制,强干扰场合。

其引脚与普通8051单片机基本相同。

PWM寄存器设置

STC12C5A60S2单片机内置两路独立PWM输出,通过设置相应寄存器,可以让占空比改变。

PWM0的输出口在,而PWM1的输出口在相关的设置例子如下面的程序所示:

CCON=0;

单片机基础[M].北京航空航天大学出版社,2001.

[3]模拟电子技术基础[M].高等教育出版社,2001.

[4]数字电子技术基础[M].高等教育出版社,2006.

附录Ⅰ:

实物硬件图

图14实物硬件图

附录Ⅱ:

程序

#include<>

#include<>

#defineucharunsignedchar

#defineuintunsignedint

#defineLCD1602_DATAPINSP0

sfrPCAPWM0=0xf2;;

LcdWriteCom(0x86);//写地址

LcdWriteData('0'+datas[3]);//显示小数点

LcdWriteCom(0x87);//写地址

LcdWriteData('0'+datas[4]);//显示小数

}

/*********************************************

温度控制电机输出占空比函数

***********************************************/

voidcontrol(void)

{

if((a*100+b*10+c)

{

CCAP0H=CCAP0L=0xff;//PWM0口输出0%占空比

LED0=0;

LED1=0;

}

elseif(tem_1<=(a*100+b*10+c)&&(a*100+b*10+c)

{

CCAP0H=CCAP0L=0xB3;//PWM0口输出30%占空比

LED0=1;

LED1=0;

}

elseif(tem_2<=(a*100+b*10+c))

{

CCAP0H=CCAP0L=0x1a;//PWM0口输出90%占空比

LED0=1;

LED1=1;

}

}

/******************************************************************************

*函数名:

keyscan

*函数功能:

键盘扫描

******************************************************************************/

voidkeyscan1()

{

if(0==key1)//温度下限调整按键

{

Delay1ms(20);

if(0==key1)

{

tem_1++;

if(31==tem_1)

tem_1=17;

while(!

key1);

}

}

if(0==key2)//温度上限调整按键

{

Delay1ms(20);

if(0==key2)

{

tem_2++;

if(44==tem_2)

tem_2=23;

while(!

key2);

}

}

if(tem_1==tem_2)tem_2++;//防止两个温度范围一样

if(tem_2

{

tem_2=tem_1+1;

}

}

voidkeyscan2()

{

if(jia_key==0)//加速按键

{

Delay1ms(20);;

if(jia_key==0)

{

num++;

if(num==3)

num=0;

while(jia_key==0);

}

}

}

/*********************************************

电机输出档位选择函数

***********************************************/

voiddangwei()

{

switch(num)

{

case0:

CCAP0H=CCAP0L=0xff;//PWM0口输出0%占空比

LED0=0;

LED1=0;

break;

case1:

CCAP0H=CCAP0L=0x67;//PWM0口输出60%占空比

LED0=1;

LED1=0;

break;

case2:

CCAP0H=CCAP0L=0x1a;//PWM0口输出90%占空比

LED0=1;

LED1=1;

break;

}

}

/****************************************************************************

*函数名:

displayx()

*函数功能:

LCD显示读取到的键盘的数值

*****************************************************************************/

voiddisplay1(intp)

{

unsignedchardatas[]={0,0};

datas[0]=p/10;

datas[1]=p%10;

LcdWriteCom(0x8b);

LcdWriteData('0'+datas[0]);

LcdWriteCom(0x8c);

LcdWriteData('0'+datas[1]);

}

voiddisplay2(intt)

{

unsignedchardatas[]={0,0};

datas[0]=t/10;

datas[1]=t%10;

LcdWriteCom(0x8e);

LcdWriteData('0'+datas[0]);

LcdWriteCom(0x8f);

LcdWriteData('0'+datas[1]);

}

/*********************************************

电机输出寄存器初始化函数

***********************************************/

voidinit_dianji()

{

CCON=0;//初始化PCA控制寄存器

//PCA计数器停止运行

//清除CF标志位

//清除所有中断标志位

CL=0;//重置PCA的16位计数器

CH=0;

CMOD=0x02;//设置PCA计数器时钟源为Fosc/2

//禁止PCA计数器溢出中断

CCAPM0=0x42;//PCA模块0工作在8位PWM模式并且没有PCA中断

CR=1;//PCA计数器开始运行

}

/****************************************************************************

*函数名:

main

*函数功能:

主函数

*****************************************************************************/

voidmain()

{

LED0=0;

LED1=0;

CCAP0H=CCAP0L=0xff;

P1M1=0x00;

P1M0=0x08;//把口定义为强推挽输出,驱动电机

P2M1=0x00;

P2M0=0x18;//把和定义为强推挽输出,驱动LED

LcdInit();//初始化LCD1602

init_dianji();//电机PWM驱动初始化

while

(1)

{

if(1==key_sw)//温控模式

{

LcdWriteCom(0x88);//写地址88

LcdWriteData('C');

LcdDisplay(Ds18b20ReadTemp());//温度读取显示

control();//温度控制电机占空比

keyscan1();//键盘扫描

display1(tem_1);//控制温度数字显示

display2(tem_2);

}

if(0==key_sw)//键控模式

{

LcdWriteCom(0xc2);

LcdWriteData('D');

LcdWriteCom(0xc3);

LcdWriteData('W');

LcdWriteCom(0xc4);

LcdWriteData(':

');

dangwei();//键控电机档位选择

keyscan2();//键盘扫描

LcdWriteCom(0xc5);

LcdWriteData('0'+num);//显示按键档位

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1