基于单片机的风扇温控仪设计

收藏和点赞,您的关注是我创作的动力

概要

  基于单片机的智能控制,本文设计了一款新型智能风扇温控系统,可以自动控制风速。通过感知和检测周边现场的环境温度,风扇会适当的调节自身的转速和频率,根据环境温度也会做出启动,停止等动作,不需要人为操控,具备很强的便捷性。该智能电风扇的控制系统运用的是以STC89C52单片机作为系统控制的核心;房间温度采用温度传感器DS18B20收集。此项设计弥补了传统风扇的种种不足,一方面在日常生活中运用智能温控技术,另一方面可以达到自动调控节省了自然资源。

关键词:单片机,交流电机,温度传感器DS18B20

一、系统设计总体思路

1.1 本设计任务和主要内容

  本文通过对智能电风扇按键模块的精准控制,能够借助数字化温度传感芯片,对外部环境的温度进行精准地采集与处理,从而形成一个良性循环的温度控制中心系统,再通过识别到的温度值来智能化地控制电风扇的档位,从而达到室内温度较低时采取减弱风力,而室内温度较高时则此案去强劲风力的档位。这种智能化的温度传感芯片能够非常精准地采集温度数据,如果把电风扇的气温最低值和气温的最高值设置完成,那么既可以实现智能控温的效果。
本设计主要内容如下:
(1)可以设定室内温度的最高值以及最低值,通过电风扇按键来实现这个功能。
(2)当温度传感系统识别到室内温度上升时,自动把电风扇的档位调高
(3)当温度传感芯片采集到室内温度达到最低值,那么自动关闭电风扇
(4)当温度传感系统识别到室内温度达到中间值时,自动把电风扇的转速降低。

1.2 硬件设计的综述

220v交流电给传统电风扇提供能量,电风扇的电机分为几个档位,为了完成风速变化的目标需要运用人工手动来调节电动机的频率,即每改变一次风力,必须需要人工来完成操作,这样就会造成人力的极大浪费。
本毕业设计介绍基于STC89 C52微控制器的风扇温控仪设计,为了实现智能控制风速的效果,本文所研究的课题大量地运用了温度传感系统、无级调速技术以及单片机器件等等相关智能制造技术,这些智能控制技术能够为电风扇工业制造带来前所未有的变革,不但抛弃了以往陈旧的温度控制技术,而且通过数字智能化的控温技术,能够实时自动调整风扇电机的速度。

在这里插入图片描述

图3-1 系统总体结构框图

二、系统软件

本系统的操作程序采用C语言编写,采用模块化设计[15]。课程设计仿真调试采用的是Protues仿真软件,按照原理图将各器件画在软件中。程序编写采用Keil软件,用C进行语言编写。

4.1 主程序

在这里插入图片描述
图4-1主程序流程图
系统软件设计的整体流程图如图4-1所示,启动风扇的最低温度为t0,读取转换后的温度值及风扇运行模式并作出相应处理:自动模式下,当温度高于t0时,风扇电路开启,风扇转动并温度变化;当温度低于t0时,风扇电路不通电,风扇不转[16]。

三、系统的调试与仿真

5.1 硬件调试

硬件设计完成,然后接线到焊接安装完毕,开始进行硬件调试,主要调试有以下几个步骤:
(1)检查电路
在电路焊接完成后,首要的工作是必须先仔细的检查电路的连线是否正确。对照电路图,按照一定的顺序逐个进行检查,排除相应的问题[26]。比较重要的一点是,应该重点检查系统电源的方向,接地端口与大地接地是否正常,注意检查别接反二极管方向和电解电容的极性,具体集成电路和晶体管的引脚是否接错,观察焊点是否牢固,电源系统是检查的重点,要避免电源短路和极性错误,如果有需要时可以运用万用表来检测线路是否短路[27]。
(2)排除电源故障
在通电前,如果电源电压的幅值和极性错误非常容易造成集成块损坏。通电后检查各个引脚上的点位是否处在正常数值,VCC与GND之间确保输出电压在 5V~4.8V之间。
(3)通电观察:
再给电路接通电源之前需要确保电路板的电源端无正常短路现象。一旦开启电源,不要急于使用仪器观察波形和数据,而是要观察是否有异常的现象,如冒烟、异常气味、放电的声光、元器件发烫等[28]。如果是这样,不要恐慌,首要应该快速切断电源,只有等到排除故障后才可以再一次开启电源,紧接着测量每个歧管的电源引脚上的电压,以查看集成电路是否开启[29]。
(4) 指标测试
在电路正常调试之后,电路将根据设计要求进行测试。测试并记录测试数据,分析测试数据,最后作出测试结论以确定电路是否满足设计要求[30]。如有不符,则应仔细检查问题所在。因此,在整个设计过程中需要谨慎细致,并且要更全面的考虑这个问题[31]。
具体系统PCB图如下:
在这里插入图片描述

5.2实现温度的检测和显示

课程设计仿真调试采用的是Protues仿真软件,按照原理图将各器件画在软件中。程序编写采用Keil软件,用C语言编写[32]。这里我们设定环境温度为27℃进行仿真,仿真结果如图5-1所示。

在这里插入图片描述

图5-2温度检测和显示的仿真

原理图

在这里插入图片描述

程序

#include <reg51.h>	         
#define uchar unsigned char 
#define uint  unsigned int	
	
uchar code smg_du[]={
   0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
				  	 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};	 
uchar code smg_we[]={
   0xef,0xdf,0xbf,0x7f};
uchar dis_smg[4] = {
   0};	
uchar smg_i = 3;    
sbit dq   = P2^4;	

bit flag_lj_en;		 
bit flag_lj_3_en;	 
uchar key_time,key_value;     
bit key_500ms  ;
sbit pwm = P2^3;  
uchar f_pwm_l ;	  

uint temperature ;  
bit flag_300ms ;
uchar menu_1;     
uint t_high = 250,t_low = 200;	 

/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
   
	uint i,j;
	for(i=0;i<q;i++)
		for(j=0;j<120;j++);
}

/***********************小延时函数*****************************/
void delay_uint(uint q)
{
   
	while(q--);
}


/***********************数码显示函数*****************************/
void display()
{
   
	static uchar i;   
	i++;
	if(i >= smg_i)
	 i = 0;	
	 P3 = smg_we[i];	 	 
	 P1 = dis_smg[i];		 
     P1 = 0xff;				        
     P3 = 0xff;           
}

/***********************18b20初始化函数*****************************/
void init_18b20()
{
   
	bit q;
	dq = 
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值