一种智能散热器的设计与实现
2018-10-19胡瑞
胡 瑞
20世纪80年代以风扇为代表的散热器开始在我国兴起,传统的散热器在家庭、医院、办公等公共场所广泛应用[1].然而传统散热器无法自动根据环境温度转换档位,改变风速,造成了资源的浪费.基于此,本文设计了一种新型智能散热器,可以由实际使用者预设各个档位的开启温度,此智能散热器能够根据环境温度的变化自动转换到不同的档位,改变风速.
1 系统设计原理
本系统采用AT89C51为控制核心.此时,若环境温度低于所有档位的开启温度,散热器不启动.当环境温度处于某个档位温度范围时,散热器在相对应的档位工作.根据外界环境温度的不同,散热器自动进行档位选择.散热器档位的不同,对应的风速也不同.散热器各个档位的开启温度可以通过按键电路由用户自行输入.系统处于开启还是关闭状态、环境温度、各个档位的开启温度、当前所处的档位可以显示在显示器上.系统整体框图如图1所示.系统整体原理图如图2所示.
图1 系统整体框图
图2 系统整体原理图
2 系统硬件电路设计
系统硬件电路的设计可分为4个部分,包括:按键模块电路设计,温度采集模块电路设计,电机驱动模块电路设计,显示模块电路设计.
2.1 按键模块电路设计
本文对各个档位的开启温度的设定是通过按键电路来设定的.本文使用非编码键盘,其结构相对简单.由于本文所需按键相对较少,只需要4个按键,所以采取独立按键的形式.每个按键均占有一个I/O口,按键之间不会相互影响.
2.2 温度采集模块电路设计
本文采用数字式温度传感器DS18B20对环境温度进行采集.DS18B20以其功耗小、微型化、性能高、抗干扰能力强的优点,在实际生活中得到越来越广泛地应用[2].DS18B20具有“单线总线”接口,具有传输距离远,接口简单,体积小等特点.其测温范围为-55℃~125℃,可通过一根接线实现与微处理器的双向通信.
2.3 电机驱动模块电路设计
本文使用L298驱动芯片,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载[3].L298驱动芯片内部包含4信道逻辑驱动电路,内含2个H-Bridge的高电压、大电流的双全桥式驱动器.单片机输出的电流一般无法带动电机正常工作,所以需要驱动电路将电流信号放大.
本文只需要带动一个直流电动机,所以只使用 ENA 接口.ENA 接口控制 IN1、IN2、OUT1、OUT2.当IN1为高/低电平时,OUT1的输出为高/低电平.同理,当IN2为高/低电平时,OUT2输出也为高/低电平.当OUT1与OUT2输出有电平差时,电机转动.
本文通过控制IN1与IN2的导通时间,来改变电机的转速.由PWM知识可知,定频调宽方法中,一个周期中,开关开通时间不同,以及占空比不同,输出的平均电压也不同,由此,可以改变电机的转速.
2.4 显示模块电路设计
显示元件一般有发光管、LED数码管、液晶显示器.根据本文所要显示的内容,选择液晶模块LM016L.
LM016L液晶模块采用HD44780控制器.HD44780具有简单且功能较强的指令集,可以实现字符移动、闪烁等功能.LM016L中VSS接地,VDD接+5V电源,VEE接一个10K的电位器来调节对比度,D0~D7与单片机的P0.0~P0.7相连,P0口需要接10K的上拉电阻.
3 系统软件设计
本系统的软件设计主要分为温度采集、按键电路、液晶显示、直流电机驱动.本系统采用C语言进行编译和调试[4].系统上电后,首先进行初始化设置,初始化后温度传感器DS18B20会将环境温度发送给单片机,单片机将环境温度与预设的档位温度进行比较,判断散热器处于什么档位,然后调节占空比来改变PWM的脉宽,输出对应的风速.按键电路可以用来改变各个档位的开启温度,各人可以根据自己的喜好来预设各个档位的开启温度.这里一共划分为三挡,其中一档对应的占空比为20%,二挡为50%,三挡为80%.
按键电路程序设计主要采用按键的扫描形式来判断被按下的键并作出相应的反应[1].要想改变档位的开启温度,首先需要按下设定按键,当检测到设定按键按下一次时,此时对应的是三挡预设温度选项,P1.0输出低电平,可以改变三挡的预设温度,此时按下温度加键一次,P1.1输出低电平,三挡预设温度增加一度,同理,按下温度减键一次,P1.2输出低电平,三挡温度减少一度.此时,若再按设定按键一次,可以进入二挡预设温度选项,再按一次可以进入一挡预设温度选项,再按一次又回到三挡预设温度选项.按下退出按键,P1.3输出低电平,按键电路不再起作用,直至重新按下设定键.各个档位预设温度选择流程图如图3所示,主程序流程图如图4所示.
图3 各个档位预设温度选择流程图
图4 主程序流程图
以下为按键电路的部分程序:
Void key(){if(k1==0){if(k1==0){delay(10);flag++;if(flag>3)flag=1;while(k1==0);}}{...}}
4 系统仿真与硬件调试
首先在Keil中编写本设计所需要的程序,然后在Keil中将该程序生成“**.hex”的文件.打开在Proteus中已画好的本设计的电路原理图,双击单片机,在弹出来的属性对话框中找到“Pro⁃gram File”将“**.hex”文件加载到单片机中进行仿真.通过仿真可以观察散热器在不同的温度环境下的转速特性.
在进行硬件电路的调试的时候要注意实际元器件的各引脚排列与Proteus中元器件并不完全一致[5],避免出现不必要的错误.本设计的实际电路通过调试实现了预定功能.
5 结束语
本文通过Proteus仿真与硬件调试相结合的方式对智能散热器进行设计.通过仿真与实物验证实现了本设计的各项功能.单片机、DS18B20温度传感器、LM016L液晶显示器等硬件设备组成了该系统的硬件电路,并采用PWM技术,实现了在不同温度环境下散热器转速自动变化的功能.本设计具有智能化、结构简单、成本降低、操作简单等优点.可以在多种场合下应用.同时,只要对硬件设备和程序作出修改便可以在调速系统、温度检测系统、通风系统等其他系统下使用,具有一定的市场前景.