基于单片机的智能散热器的设计与实现.docx
《基于单片机的智能散热器的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能散热器的设计与实现.docx(35页珍藏版)》请在冰点文库上搜索。
基于单片机的智能散热器的设计与实现
附录A17
附录B21
附录C22
附录D27
致谢30
基于单片机的智能散热器的设计与实现
摘要:
在众多工业控制中,温度控制是必不可少的组成部分,散热器则是其中最重要的一环。
本设计介绍了基于单片机AT89C52的智能散热器的设计与在工业领域的实现,采用了DS18B20温度传感器测量温度数据,LCM1602液晶显示实时温度,按键设定温度。
当温度高于设定的上限值时,单片机控制继电器启动抽风机;当实时温度低于温度上线值时自动停止降温。
本散热器具备能耗低可靠性强,抗干扰能力强,方便使用等特征。
关键词:
温度控制;散热器;液晶显示
TheDesignandImplementationofIntelligentRadiatorBasedonMCU
Studentmajoringinautomation
Tutor
Abstract:
Inmanyindustrialcontrol,temperaturecontrolisanessentialcomponent,theradiatorisoneofthemostimportant.ThisdesignintroducedtheintelligentdesignbasedonMCUAT89C52radiatorandimplementationinindustrialfield.ThetemperaturedataofDS18B20temperaturesensorformeasuring,LCM1602liquidcrystaldisplayreal-timetemperature,temperaturesettingbybutton,whenthetemperatureishigherthanthesetthresholdvalue,SCMcontrolrelaystartfan;whenthetemperatureislowerthanthetemperaturethevalueofreal-timeon-lineautomaticstopcooling.Theradiatorhaslowenergyconsumptionandhighreliability,stronganti-interferenceability,easytousefeatures.
Keywords:
Temperaturecontrol;Theradiator.Liquidcrystaldisplay
引言
近年来,随着社会的发展,工业化进程加快,机器广泛应用于工厂。
测量以及控制温度的变化越来越关键,而散热器则是其中的重要环节。
为了解决工厂机器长时间工作导致温度升高,工作效率下降而严重影响产品成本这一系列问题,设计了基于单片机的智能散热器。
使机器工作的温度环境得到了稳定,不但降低了能源消耗的成本而且提高了工作效率。
在工业生产中,机械内部多数使用集成的电路。
大家都知道,持续的高温是集成电路的问题。
温度长时间过高不光会致使机器运转不稳定,缩短使用寿命,毁坏某些部件,甚至会引发火灾,对生命财产造成很大危害。
因此,一套稳定的散热系统就尤为重要。
温度是消费生活中最根本的物理量,它代表的是物体的冷热水平。
在生产过程中,一些物理和化学反应都和温度严密联系在一起。
一般在车间的生产过程中,如何避免过度的温度一直是重要的研究课题,都非间接地关系到生产效率的提高、产品质量的进步、能源的节约等重大技术经济指标相联系。
因此,智能散热器在社会各个领域中都受到了很大的重视与欢迎。
在实际的生产中,因为系统内部与外界热传递是不容易控制的,其他外部条件的影响也是不容易计算的,所以,温度的升高往往受到很多外部条件的影响。
依据热力学第二定律,两个温度不异的物体之间是实现热平衡的,而在生产中,由于机器工作产生的大量热量远远高于其本身所处环境,利用这一特点,我们只需加快系统内部温度与外部环境的热传递即可,所以本设计采用抽风式散热,既节约了成本又达到了高效散热的功能。
测量温度在理论上发展相对比较成熟,但是在实际生活中,如何确保快速地对温度进行收集测量,确保数据精确,并且对所测机器内温度进行可靠的控制,目前还是需要解决的问题。
所以,温度散热技术包含测量温度和控制温度两类。
在测量温度,接触温度发展的早期,恒温控制对象的温度恒定在一定范围内,且要求稳态误差不能超过某特定值,因此本设计温度传感器选用广泛应用的DS18B20,它能够准确的测得系统内部真实温度,非常适合散热器使用,这个检测方法的特点是:
容易、可靠、便宜、测量准确。
控制温度的技术也可分为两种:
动态与非动态温度的控制,跟踪达成非静态温度的控制目标是实现被控制对象的温度变化的数据按照以前设定好的弧线进行转变。
本文所阐述的基于单片机的智能散热器就是要实现对机器系统内的散热,因此,本设计仅讨论恒值温度的控制。
本散热器应用的是以AT89C52单片机为主的芯片,最终完成了温度实时显示、智能散热的功能。
单片机AT89C52可以按照温度传感器所采集的温度数据来控制抽风器散热,从而成功处理了机器温度过高而引起的生产效率低下、使用寿命缩短等问题。
在温控开关被开启的情况下,当温度过高时,控制模块会自动启动抽风器进行抽风散热;若温度继续升高则亮起红灯,与此同时进行语音报警,提示散热系统故障,散热器自动切断机器电源避免烧毁部件。
1智能散热器系统总体设计
1.1智能散热器系统的设计原则
在智能散热器硬件与软件设计的同时,首先应考虑的是以后方便操作与维护,由于散热器的工作环境非常苛刻,对本系统的抗干扰性有很大要求,于是我们采用DS18B20作为衡量温度的元件。
在工作人员的日常工作中,应尽量减少对工作人员专业知识素养的要求,这样就有利于该散热器的推广与使用,大大增强了使用价值,因此,在设计时尽量减少人机交互接口,使用时尽量避免人为操作。
所以本散热器设计按照以下原则:
(1)系统抗干扰能力强
基于本散热器应用范围为工厂机器内部,工作环境非常苛刻,对系统的每一个模块都应以高抗干扰性为原则,而单片机AT89C52的高抗干扰性毋庸置疑,在其余模块中均使用稳定高抗元件。
(2)系统操作性高
由于散热器应用于工厂应尽量增强其操作性能,方便工作人员维护与操作。
增加系统的内置操作使用时多采用简化的方法。
(3)系统性价比高
单片机之所以被广泛应用,最重要的是因为其体积小、功耗低,性价比非常高。
在设计时能保证较高性能外,又降低了成本,增强了市场竞争力。
在设计时应尽量让电路简单,在保证机能的前提下用软件功效取代硬件功能。
1.2智能散热器系统的总体方案设计
本系统的温度检测传感器选用DS18B20,控制中枢利用AT89C52单片机最小系统,散热方式为抽风式散热,温度显示则应用1602液晶显示屏。
智能散热器系统主要包括控制模块、温度测量模块、人机显示模块、温度上线设置模块、电机驱动模块、警报模块等六大部分。
本智能散热器的总体方案设计如图1-1所示。
图1-1系统总体方案设图
2智能散热器的主要元件选型及参数
2.1温度传感器DS18B20
DALLAS半导体公司推出的第一片服从“一线总线”的温度传感器,它有很多特色,其中耗能低,体积小,抗干扰能力强尤为突出,容易搭配微处理器,广泛应用于社会的生产生活中。
DS18B20把温度信号转换为数字信号传输到处理器,它的测温误差在0.5℃左右,可以测量-55~125℃的温度范围。
DS18B20可编程分辨率为9~12,对应的温度分辨率为0.5℃,0.25℃,0.125℃和0.0625℃。
与热电偶传感器相比可以实现高精度的温度测量,温度测量中占据主要地位,因此,本智能散热器利用DS18B20进行温度的实时监控。
DS18B20里面有一个9字节高速存储位,用于储存传送回来的温度数据。
在传感器之中,前面两个是测到的温度数据,第1、2字节分别是温度的低八位和高八位,第3个则是温度的上限值TH,第4字节是温度下限TL,第5字节是传感器的结构寄存器,在每一次上电过程中,这些字节会被单片机刷新,第6、7、8这三个字节用于内部计算,第9个字节是测验字节,用来确保通讯的准确性。
总线数据传输方式是DS18B20的传输方式,这就要求我们必须按照严格的时序要求读写数据。
它包括:
按顺序初始化时序,读写时序。
只有当处理器启动写时序时DS18B20才会最先传输数据,若要求DS18B20向处理器输送数据,处理器只有开始读时序接管数据。
读取温度数据是比较便宜的,当温度为正时,将16进制数转换成10进制数;为负,将16进制计数器反加1后,再转换成10进制。
2.21602液晶显示屏
在工业字符型液晶中,1602液晶显示屏是其代表作,它能同时显示32个字符,有32个字符点阵组成,每个字符点阵块由5×7个点阵组成,可以显示ASCII码表中的所有字符。
1602内置了RAM字符产生器、ROM产生器和RAM数据显示。
ROM中具备192个惯用字符字模,用户可以存储自定义字符,驱动器用于存储部分的字符代码将被显示。
显示器采用了日益普及的LCD显示器。
LCD也叫做液晶显示器,LCD的结构是在两片平行的玻璃基板之中搁置液晶显示盒,下面的基板玻璃上配置TFT,上面的基板玻璃上放置多种色彩的滤光片,经过TFT上的暗记与电压改变来管控液晶分子的滚动方向,从而管制偏振光出射与否,而实现显示指标。
它具有可视角大,价格低廉,寿命长等优点。
它的道理是利用液晶经过电极通电后能够转变光的传输方向的特性来实现显示信息的功能。
根据液晶显示器的性能分为三类:
节段型,字符点阵,点阵。
分段式和点阵字符可以显示各种符号和其他简单的图形数字罗马。
复杂点的图形点阵式液晶显示器可以恣意显示汉字、图形,达到图文并茂的显示成果。
显示字母、数字、符号等的点阵的字符型LCD显示器是有很大优势的。
点阵之间距离有一定的间隔,以此来起保证字符显示的间距和行距。
LCD显示器分二行显示,分别显示实时温度和最高温度两部分。
第一行外部环境的实时温度,第二行显示机器所能承受的最高温度。
我们使用的LCD显示器的各引脚接口说明,如表2-1所示:
表2-1显示器引脚接口说明表
编号
符号
引脚说明
编号
标记
引脚声明
1
VSS
电源地
2
VDD
电源正极
3
VL
液晶显示偏压
4
RS
数据/命令选择
5
R/W
读/写选择
6
E
使能信号
7
D0
数据
8
D1
数据
9
D2
数据
10
D3
数据
11
D4
数据
12
D5
数据
13
D6
数据
14
D7
数据
15
BLA
背光源正极
16
BLK
背光源负极
2.3单片机STC89C52
51系列单片机的有一个型号是STC89C52,它是由STC公司生产的非常典型的一款单片机。
这个单片机是一个低电压,性能很高,并且有CMOS8位的这样一种单片机。
它包含8K的片上随机存取数据和可擦除只读存储器FLASH程序的256K存储空间,材料选用STC,非易失性存储器,高密度生产技术,并且能够兼容标准得MCS-51指令系统。
STC89C52单片机可提供许多较复杂系统控制运用的场合。
本智能散热器采用的单片机的引脚图如图2-1示。
图2-1STC89C52引脚分布图
2.4固态继电器(SSR)
继电器被叫做电驿,一种电子装置,它的输入电路和输出电路,控制电路等被广泛应用,它本质上是一种“自动开关”,来控制大电流器件的,使用很方便。
因此在电路中可以起到自动调节、转换电路、安全保护等作用。
固态继电器有交流和直流两种。
本智能散热器选用常开型继电器。
如果依照隔离型式可以分成隔离变压器型、混合型和隔离光电型。
目前,在生产过程中,光电隔离型占据了比较大的地位。
固态继电器是通过使用发光二极管发光元件和一个光晶体管做成的光耦合器件。
因此可以接受低压信号的输入,从而驱动高压直流电机的输出,所以它有隔离输出输入以及能够控制高功率输出的成效。
这是一种非接触式的开关式电子开关的使用,它有四个设备,其中有两个控制输入,其他两个是控制输出。
材料采用超高耐压的光耦合器完成了输入与输出的隔离的艰巨任务,它有很多优点,其中开关速度快、使用寿命长、工作频率高、抗干扰能力强等方面尤为突出,经常用于防爆场所,本设计选用固态继电器能更好的发挥其抗干扰能力强的特点。
通过它控制大功率抽风器能更好的达到散热的效果,并且其抗干扰能力强也适用于工厂机器等外界干扰大的恶劣环境。
其内部结构图如图2-2所示。
图2-2SSR内部结构图
3智能散热器的硬件设计与实现
3.1单片机控制模块
智能散热器的控制模块是整个设计的核心,本次设计选用51系列单片机最小系统作为控制核心。
它可以控制对温度的采集,包括处理与显示温度的数值以及温度超过上限时电机的启动,由此实现智能散热。
本智能散热器采用AT89C52当做整个系统的控制芯片。
其最突出的特点是可以便宜地擦写900次以上。
并且它的价格不贵、指令又多、编译工具也多。
因此收到社会生产等各个领域的欢迎。
在本智能散热器中,控制系统电路包含复位电路、时钟电路和P0口外接上拉电阻。
当程序崩溃或异常时,通过复位电路使散热器回到正常的工作状态。
MCS-51系列单片机的复位引脚为第九脚,当接收到2个机器周期或高于往常,复位操作由处理器控制执行。
但如果有一个高水平的连续采集,单片机将在一个周期的复位状态循环,并影响散热器的正常工作。
复位操作一般有两种方式:
开关复位和非开关自动复位模式。
本散热器中采用开关复位形式,复位按键并联在电容两端,当复位按键没有关闭时,单片机正常工作;当它被操作人员按下时,RST管脚出现高电平,单片机开始复位。
若果单片机给RST脚通入长时间的高电平,将导致有效的单片机复位。
单片机复位是让处理器和机器中的其他功能模块都重新进入一开始的初始形态,然后始于这个零状态。
无论是在单片机启动时连接到电源,或电源复位失败后,处理器都会进行复位操作。
在RST为高电平期间就是复位期间,高电平信号P1、P2、P3,则P0就变为高组态;PSEN外部选通信号程序储存处读失效。
被配置成石英晶振的片内振荡器的时钟电路是它独立输入和输出的反相放大器。
在XTAL1、XTAL2的引脚上连接晶体和电容,内部振荡器就能迸发自激振荡。
在散热器中采用11.0592MHz的石英晶振和晶振并联的两电容型号的大小对于振荡频率而言,并会有很大的影响,足以起到频率微调作用。
本智能散热器的控制模块的电路连接图如图3-1所示。
图3-1单片机最小系统
3.2温度检测模块
我们就是运用温度传感器的电阻会因为温度的变化而立即发生变化这一特性,设计了机器里面的温度测量电路。
DS18B20使用的是Wire总线协议方式,便是由一根数据线完成温度数据的双向传输,在这次散热器设计过程中,我们使用单总线时序仿真对DS18B20芯片的读取。
因为DS18B20是在I/O线上读写数据,所以,传输信号时必须按照严格的时序图进行读和写。
如果我们想要完成对温度读数,这是必不可少的过程,协定所定义的信号时序为:
初始化程序、读取温度传感器的时序、写入温度传感器的时序。
全部时序都是以主机为主设置的,而把单总线器件当作附属设备。
只有当主机启动写时序,才可以发送命令和数据,如果需要单总线器件发送数据到单片机,在写指令输入完成后,系统必须立即开始读时序以此来接收,因为无论是传输数据还是命令都是低位在先的。
因此,本散热器的温度检测电路如图3-2所示。
图3-2温度检测电路
温度测量传感器DS18B20总共有三个引脚,第一个是GND接地,第二个是DQ脚,我们用它来向单片机传输数据,VDD是它的使能端,我们给它加到电源接口。
因为温度传感器的硬件电路非常简单方便,便于和单片机进行数据交流,我们使用单片机AT89C52的P2.1引脚作为和温度传感器交流的管脚。
在采集温度过程中,只需通过P2.1采集温度传感器测量的数据即可。
3.3温度显示模块
液晶显示器作为显示模块有很多电子产品,在生活中都可以看到,主要显示的是数字、公用图形和符号。
1602型LCD显示模块不仅体积小,它的功耗也不高,可以作为散热器温度的显示装置,它所体现的数据也是很丰富的。
为了提高温度显示的显示效果能力。
只要按下键盘上的开启按键,显示器就会处于开启状态。
不然显示器将不停的处于初始化状态,当需要对温度上线调整重新设定时,只要按下键盘上的设定温度键,然互增加或降低限制散热温度即可,便于操作人员的使用。
如下图所示,驱动LCD需要二组5V电压,一是给液晶供电,另一部分需要给背光模块供电。
改变LCD的黑白对比度可以通过改变R3的阻值来实现,从而达到更好的显示效果。
若进行的是数据操作则RS引脚电平变为高;若是命令操作则为低。
读写端引脚是RW,液晶进行读操作只需使该引脚电平为高即可实现;进行写操作要是它变成为低信号。
散热器的温度显示使用LCD能更好的作为人机交换的界面,第一行显示操作人员所设定的最高上限温度值,第二行显示实时温度测量值,直观的显示了温度的变化情况。
本智能散热器温度显示模块的温度显示电路连接图如图3-3所示。
图3-3温度显示电路
3.4电机驱动模块
考虑到散热器工作环境的恶劣,常常会面对持续的高温,因此,散热器最关键的抽风散热式散热的电机,我们选用高转速大功率的直流式电动机,此电动机转速高能更好的较快机器内部与外界的热传递,增加了散热的效率。
由于本设计选用的是高转速的大功率抽风式直流电机,而单片机最小控制系统为弱电供电,因此,对于电机的驱动,我们采用固态继电器来控制驱动强电。
当实时温度高于设定上限值时,处理器发出散热信号,继电器的常开开关就会闭合,相当于强电路中开关闭合从而使电机上电工作,进行快速散热。
本散热器继电器外围电路图如图3-4所示。
图3-4继电器外围电路
3.5温度设定模块
智能散热器可以人为设定散热的上限温度,这样既可以减少持续散热所带来的资源浪费,并且降低了成本。
因此,温度设定模块是不可忽视的。
本设计中温度设定模块使用应用较广的独立式按键。
可是矩阵式键盘的按键数量很多,它是为了降低I/O口的占用率,所以才将键盘排列成矩阵的形式。
在系统所须要的键的数目很多时,才可以采用矩阵键盘,但是本设计中只有四个按键,故采用独立式键盘设计。
本散热器独立式键盘的电路如图3-5所示。
图3-5独立式键盘电路
3.6报警模块
报警模块在整个智能散热器系统中是必不可少的,因为操作人员往往会忽视散热器的工作状况,但是一旦散热器的散热出现状况,轻则导致生产效率下降、机器运行缓慢,重则烧毁元件,引发火灾对生命财产安全造成重大威胁。
所以必须要有一个稳定并且抗干扰能力强的报警模块来保障机器安全。
本设计中的报警模块,会提示散热器故障,危急情况下会自动切断机器电源,以此来保证人员的安全。
报警部分通电后却不会发声,只有当散热器启动但是实时的温度值不下降甚至持续升高的情况下,它才会发声,提示操作人员应当关闭机器检查故障。
本散热器的报警电路图如图3-6所示。
图3-6报警电路
如上图所示,我们用单片机的P2.2口作为散热器正常工作提示灯的信号发出口,P2.3作为散热器故障时的提示灯的信号发出口,P2.4作为控制报警器的端口,首先设定一个临界值,当散热器正常工作时,温度持续下降,散热器为正常状态,绿色指示灯亮起。
当温度持续升高不下降时,红色指示灯开始闪亮,绿色指示灯随即熄灭。
紧接着PWM脉冲被单片机发向端口,如果温度持续升高不下降,PWM脉冲的占空比也会变小,以使蜂鸣的频率加剧,声音变大,以此来提示操作人员散热系统出现故障,应立即断电保护机器元件不受损坏。
4智能散热器的软件设计与实现
4.1编写语言选择
在目前单片机系统的设计中,C语言程序和汇编语言程序应用最广。
但是汇编语言使用机器指令,不是很符合人的思考习惯。
汇编具有程序执行效率高的优点,并且占用系统资源少。
可移植性差的缺点,对不同的处理器会有差别。
但C语言程序设计的结构,具备汇编语言的功能,并在同一时间照顾到了很多种高级语言的长处,所以更具有可读性、方便移植,可以直接控制硬件,并且方便使用者增添和修正,特别符合人的思考习惯。
由于上述两种语言的差异明显,因此,本散热器选用C语言的编写方法。
本智能散热器的软件设计由主程序、各个模块初始化程序、温度显示程序、温度键盘设定程序和延时程序等组成。
4.2主程序流程图
整个程序的命脉就是主程序流程图,结构性个阐述了程序的运行过程。
首先接上电源,程序会自动进入初始化设置,然后操作人员可以在键盘上设定温度上线,若他们不进行设定,系统则会默认最高温度设定值,处理器会进行实时温度测量传送给LCD,显示出来,若数值越线会开始抽风式散热。
散热器系统主程序调用5个子程序,分别是处理按键扫描程序、LCD显示程序、判断温度超限程序、采集温度子程序和驱动电路的程序。
其液晶屏幕上,显示操作人员所设定的温度上线值和实时温度;通过按键扫描程序,系统会及时发现温度上线值是否被改变,由此实现对按键的识别、按键的输入;DS18B20所收集到的现场温度数据会被传送到指定的数组中,让控制中心处理;判决程序会决定是否应启用散热器对机器进行散热。
若启动散热器首先要对继电器输出闭合信号,之后继电器控制抽风式电机的转动。
报警模块程序会一直监测温度连续变化的情况,若温度升高越线后抽风机未启动,报警器响起;若温度升高越线后抽风机启动,但此时温度却持续上升没有下降趋势,报警器报警。
整个散热器设计的关键是对温度进行测量的,然后通过单片机来处理测量数据。
单片机能及时的处理数据,并且能精确的实现温度的测量。
在温度测量中,各种信号对元件的影响都将干扰到测温的准确性,我们使用的DS18B20能很好的克服各种干扰,准确的测得外部环境温度。
智能散热器的主程序流程图如图4-1所示,初始化及显示程序见附录A。
是
否
是
否
是否
图4-1主程序流程图
当智能散热上电工作时,在完成各个模块初始化之后就进行温度的测量,与此同时单片机扫描独立式键盘是否被按下,若有键盘输入则进入上限值温度设定程序,温度加键每按一下温度上限自动加1,温度减键每按一下温度上限自动减1,LCD显示屏可以显示上限温度的变化和实时温度的测量值,待操作人员修改上限温度完毕后,最后按下温度确认键即可。
本设计主程序见附录B。
4.3按键软件设计
智能散热器的温度上限值是能够进行调节的,能够更好地适应市场的要求。
本设计一共有4个按键,在按键当中,有与设定、温度增键、温度减键与确认键相对应的按键。
当散热器的最高上限值需要变动时,需要操作人员进行温度上限数值设置,按下温度调节设定键,则上线温度进入设定状态,再按下温度增或温度减键从而进行温度上限值的修改,最后按下确认键完成上限温度设定。
本散热器的按键软件设计流程图如图4-2所示,温度上限设定子程序见附录C。
是
否否
是
否
是
否
是
图4-2按键软件设计流程图
4.4温度采集软件设计
DS18B20温度传感器作为本智能散热器所使用的传感器,有三个引脚,并且有严格的读写时序,因此我们必须按照时序指令进行温度的读取。
初始化时序、读时序和