基于单片机的温控器.docx
- 文档编号:25095352
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:21
- 大小:164.74KB
基于单片机的温控器.docx
《基于单片机的温控器.docx》由会员分享,可在线阅读,更多相关《基于单片机的温控器.docx(21页珍藏版)》请在冰豆网上搜索。
基于单片机的温控器
天津理工大学
课程设计报告
题目:
基于单片机的温控器设计
学生姓名李天辉学号20101009
届2013班级电气4班
指导教师专业电气工程及其自动化
说明
1.课程设计文本材料包括设计报告、任务书、指导书三部分,其中任务书、指导书由教师完成。
按设计报告、任务书、指导书顺序装订成册。
2.学生根据指导教师下达的任务书、指导书完成课程设计工作。
3.设计报告内容建议主要包括:
概述、系统工作原理、系统组成、设计内容、小结和参考资料。
4.设计报告字数应在3000-4000字,采用电子绘图、采用小四号宋体、1.25倍行距。
5.课程设计成绩由平时表现(30%)、设计报告(30%)和提问成绩(40%)组成。
课程设计任务书、指导书
课程设计题目:
Ⅰ.课程设计任务书
一、课程设计的内容和要求(包括原始数据、技术要求、工作量)
当今社会,温控器已经广泛应用于电冰箱、空调和电热毯等领域中。
其优点是控制精度高,稳定性好,速度快自动化程度高,温度和风速全自动控制,操作简单可靠,对执行器要求低,故障率低,效果好。
目前国内外生产厂家正在研究开发第三代智能型室温空调温控器,应用新型控制模型和数控芯片实现智能控制。
现在已有国内厂家生产出了智能型室温空调温控器,并已应用于实际工程。
本课程设计要求设计温度控制系统,主要由温度数据采集、温度控制、按键和显示、通讯等部分组成。
温度采集采用NTC或PTC热敏电阻(或由电位器模拟)或集成温度传感器、集成运算放大器构成的信号调理电路、AD转换器组成。
温控部分采用交流开关BT136通过改变导通角进行调压限流达到控制加热丝温度的目的。
温度控制算法采用PID控制,可以采用普通PID或模糊PID。
对控制PID参数进行整定,进行MATLAB仿真,说明控制效果。
进行程序编制。
设计通讯协议,并能够通过RS485总线将数据传回上位机。
2.课程设计的要求
1、选择相应元器件设计温度控制系统原理图并绘制PCB版图。
2、进行PID控制算法仿真,设计PID参数,或模糊PID规则。
3、系统功能要求:
a要能够显示实时温度;b能够进行温度设置;c能够进行PID参数设定;d能够把数据传回上位机;e可以设定本机地址。
F温度控制范围0~99.9度。
4、编制程序并调试通过,并有程序流程图。
二、课程设计参考资料
1单片机的C语言应用程序设计第三版马忠梅等编著
2赵晓安.MCS-51单片机原理及应用.天津:
天津大学出版社,2001.3
3何立民.单片机高级教程.第1版.北京:
北京航空航天大学出版社,2001
4如何使用KEIL8051C编译器(韩)金炯泰著金奎焕等译 (韩)金炯泰著
5相关芯片数据手册。
Ⅱ.课程设计指导书
一、课程设计要点、设计步骤
1、熟练掌握常用EDA设计软件,如protel等,进行原理图、PCB版图设计。
设计温度控制电路。
2、采用MATLAB软件进行PID控制参数的设计。
3、根据功能要求进行软件设计,采用KEIL进行程序调试。
二、主要技术关键的分析、解决思路
1、温度控制电路设计,可以采用无触点交流开关BT136结合光藕MOC3062设计温度控制电路,实现强弱电隔离。
2、与上位机通讯采用RS485,需要加入点评转换芯片如MAX485。
3、为了确保输入信号不损毁芯片,信号调理电路需加嵌位电路。
4、可以选用单片机开发板来进行设计,但要满足任务书要求。
三、课程设计进度安排
起迄日期
工作内容
系统需求分析
器件选型,硬件原理图设计
PID或模糊PID算法设计
软件编制调试
撰写课程设计报告
一、引言------------------------5
二、概述------------------------5
三、系统工作原理----------------5
四、系统组成-------------------6
五、系统硬件介绍----------------16
六、系统软件设计----------------13
七、总结------------------------18
八、课程设计参考资料------------19
引言
在科技飞速发展的今天,计算机技术得到迅猛推广,而单片机由于具有集成度高,体积小,功耗低,处理能力强,可靠性高,系统结构简单,价格低廉,易于推广使用的优点,因此被广泛应用于工业生产和家庭生活中。
温度控制系统则是单片机在家庭生活中的一个典型的应用。
温度控制器是一种温度控制装置,它根据用户所需温度与设定温度之差值来驱动执行机构,从而达到用户所需温度的目的。
各种温控家用电器随着生产技术的发展和生活水平的提高越来越普及,只有一个简单、稳定的温度控制系统才能更好的适应市场需求,更好的满足人民的意愿
一、概述
该温度控制系统是以8051单片机为核心的控制系统。
在硬件电路方面,主要分成了几个模块,即温度数据采集、温度检测电路模块,ADC0809电信号的处理模块,加热控制电路模块,数据处理模块,电压输入模块,LED显示模块,键盘输入模块和温度控制输出模块,并在protel99SE上进行电原理图绘制及双层印制电路板设计。
温度采集采用集成温度传感器、集成运算放大器构成的信号调理电路、AD转换器组成。
温控部分采用交流开关BT136通过改变导通角进行调压限流达到控制加热丝温度的目的。
温度控制算法采用PID控制,采用普通PID或模糊PID。
对控制PID参数进行整定,运用MATLAB进行仿真,说明控制效果。
进行程序编制。
设计通讯协议,并能够通过RS485总线将数据传回上位机。
二、系统工作原理
温度控制系统如下图所示,温度由热电偶检测,经变送器变换成标准电压信号送入A/D转换器,使之变成数字量,送入单片机,经数字滤波后作为本次采样值;控制程序按照设定好的算法,将设定值和采样值进行比较运算,再将运算结果送到触发电路控制交流开关BT136通过改变导通角进行调压限流达到控制加热丝温度的目的,实现温度恒定控制。
另外,本系统还支持温度的设定和显示,当控制系统的温度过高或者过低时,可以触发声光报警信号,提醒工作人员注意。
三、系统组成
温度控制器主要由单片机,时序电路,温度采样电路,A/D转换电路,温度显示电路,温度输入电路,驱动电路等组成.流程图如下:
图1温度控制系统框图
四、系统硬件介绍
4.1、8051单片机介绍
8051单片机由具有数据处理能力的微处理器、只读存储器(ROM)、随机存取存储器(RAM)、定时/计数器、并行接口、串行接口、中断控制和系统时钟电路等几大单元以及数据总线、地址总线和控制总线三大总线组成。
8051属于8位单片机,片内4KB的ROM,128B的片内RAM。
可寻址外部的64KB的数据存储器和程序存储器,16位的地址总线,5个中断源,2个优先级,32根I/O线,1个全双工异步串行口,2个16位定时/计数器。
8051的复位方式有上电复位、手动开关复位和自动复位3种,其中上电复位电路是利用电容充放电来实现的。
其时钟产生方式分为内部振荡方式和外部时钟方式。
内部振荡方式是利用单片机内部的反向放大器构成振荡电路。
8051单片机的40个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
1、电源:
(1)VCC-芯片电源,接+5V;
(2)VSS-接地端;
2、时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
3、控制线:
控制线共有4根:
(1)ALE/PROG:
地址锁存允许/片内EPROM编程脉冲。
ALE功能:
用来锁存P0口送出的低8位地址。
PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
(2)PSEN:
片外程序存储器选通信号。
(3)RST/VPD:
复位/备用电源。
RST功能:
复位信号输入端。
VPD功能:
在Vcc掉电情况下,接备用电源。
(4)EA/Vpp:
片外ROM选择/片内EPROM编程电源。
EA功能:
内外ROM选择端。
Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
4、I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号。
8051单片机由具有数据处理能力的微处理器、只读存储器(ROM)、随机存取存储器(RAM)、定时/计数器、并行接口、串行接口、中断控制和系统时钟电路等几大单元以及数据总线、地址总线和控制总线三大总线组成。
8051属于8位单片机,片内4KB的ROM,128B的片内RAM。
可寻址外部的64KB的数据存储器和程序存储器,16位的地址总线,5个中断源,2个优先级,32根I/O线,1个全双工异步串行口,2个16位定时/计数器
4.2A/D转换电路
4.2.1ADC0801介绍
ADC0801是8位全MOS中速A/D转换器、它是逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接口接。
其主要引脚功能如下:
(1)RD,WR:
读选通信号和选通信号(低电平有效)。
(2)CLK:
时钟脉冲输入端,上升有效。
(3)DB0—DB7是输入信号。
(4)CLKR:
内部时钟发生器外接电阻端,与CLKIN端配合可由芯片自身产生时钟脉冲,其频率为1/1.1RC。
(5)CS:
片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动。
(6)WR:
写信号输入,接受微机系统或其它数字系统控制芯片的启动输入端,低电平有效,
CS、WR同时为低电平时,启动转换。
(7)INTR:
转换结束输出信号,低电平有效,输出低电平表示本次转换已完成。
该信号常作为向微机系统发出的中断请求信号。
(8)CLK:
为外部时钟输入端,时钟频率高,A/D转换速度快。
允许范围为10-1280KHZ,典型值为640KHZ,此时,A/D转换时间为10us。
通常由MCS—51单片机ALE端直接或分频后与其相连。
当MCS单片机与读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片外接的晶振为6MHZ,则1/6为1MHZ,A/D转换时间为64us。
4.2.2A/D转换电路工作原理
A/D转换电路如图2.1所示。
ADC0801的A/D转换结果输出端DB0—DB7与8051的P0.0-P0.7相连,INTR与P2.0口相连,INTR端用于给出A/D转换完成信号,所以通过查询P2.0便可以获知A/D转换是否完成。
RD与8051RD相连,WR也是跟8051WR相连。
CS、VIN+接地。
(低电平有效)
ADC0801的两模拟信号输入端,用以接受单极性、双极性和差摸输入信号,与WR同时为低电平A/D转换器被启动切在WR上升沿后100模数完成转换,转换结果存入数据锁存器,同时,INTR自动变为低电平,表示本次转换已结束。
如CS、RD同时来低电平,则数据锁存器三态门打开,数
字信号送出,而在RD高电平到来后三态门处于高阻状态。
图4.1A/D转换电路图
4.3温度采样电路
4.3.1AD590型温度传感器
AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。
在被测温度一定时,AD590相当于一个恒流源,AD590温度感测器是一种已经IC化的温度感测器,它会将温度转换为电流,由于此信号为模拟信号,因此,要进行进一步的控制及数码显示,还需将此信号转换成数字信号。
它的主要特性如下:
(1)流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数;即:
式中:
(1)
Ir—流过器件(AD590)的电流,单位为mA;T—热力学温度,单位为K。
(2)AD590的测温范围为-55℃~+150℃;
(3) AD590的电源电压范围为4V~30V;
4.3.2温度采样工作原理
因为AD590是将温度转换为电流,而单片机对电压信号更好测量,所以要将电流转化为电压,同时对电压信号进行放大后输入A/D转换ADC0801的VI-端口。
电流转化为电压表达式如下:
(2)
由反相比例运算放大电路,根据“虚断”,“虚短”,集成运放净输入电压为零,净输入电流为零,净输入电流为零等推算出表达式为:
(3)
最后由
(1),
(2),(3)得到:
(4)
图4.2温度采样电路
4.4温度控制电路
8051的RXD的引脚与7404的引脚相连接,从RXD发出的控制信号经7404和ULN2003到达交流开关BT136通过改变导通角进行调压限流达到控制加热丝温度的目的。
温度控制范围0~99.9度。
ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
其中ULN2003是由7个NPN具有用共阴二极管夹紧来转换电感负载的高压输出特征的达林顿晶体管组成。
当前一对单精度型的额定电流为500mA,有比较高的电流容量,它的应用软件包括继电器驱动器、显示驱动器,线驱动器和逻辑缓冲器等。
在本驱动电路中的作用是增大电流驱动能力。
该芯片采用16脚的DIP封装,其中第9为公共输出端COM,有一个输出端为高电平,COM就为高电平。
图4.4温度控制电路
4.5温度显示电路
4.5.1LED驱动
7447介绍:
7447是一块BCD码转换成7段LED数码管的译码驱动IC,7447的主要功能是输出低电平驱动的显示码,用以推动共阳极7段LED数码管显示相应的数字。
相应引脚功能如下:
(1)QA,QB,QC,QD,QE,QF,QG:
7段LED数码输出引脚。
(2)A,B,C,D:
输入引脚。
(3)RBO,BT,LI高电平输出有效。
4.5.2温度显示工作原理
温度显示电路如图2.3所示:
由2片TTL7447和2片七段LED组成,LED采用共阳级接法。
7447的QA-QG接BCD的a-g,段选信号由8051的P1口提供,LED显示数据由7447的输出决定,即由P1口信号的取值决定。
图2.3TTL7447BCD显示电路
五、系统软件设计
5.1软件设计思路
软件设计的任务包括启动A/D转换、读A/D转换结果、设置温度、温度控制等,其中启动A/D转换、读A/D转换结果、设置温度等工作在主程序中完成,温度控制在中断服务程序中完成,即每隔一段时间对比测量温度与设定温度之间的大小关系,根据对比结果给出控制信号,令压缩机的运行或停止,实现温度调控。
5.2程序流程
主程序流程图
图5.1主程序流程图
中断服务程序流程图
图3.2定时器中断服务子程序
图5.2中断服务程序流程图
5.3程序设计
ORG0000H
JMPSTART1;
ORG000BH;定时器/计数器0溢出中断
JMPTIM0;转中断程序
START1:
MOVTMOD,#01H;设定定时器0工作方式1
MOVTH0,#HIGH(65536-50000);设定初值
MOVTL0,#LOW(65536-50000);
SETBTR0;启动定时器0
MOVIE,#82H;定时器0开放中断
MOV24H,#0FFH;
ANLP1,#00H;
MOVR0,#14;延时
START:
MOVX@R0,A;启动A/D转换
WAIT:
JNBP2.1,SET0;检测温度输入
JBP2.0,ADC;检测转换是否完成
JMPWAIT
ADC:
MOVXA,@R0;将转换好的值送入A
LCALLL1;
LCALLDISP;
JMPSTART
L1:
CLRC;清0
MOV20H,#00H;
MOV21H,#00H;
MOVR3,#08H;显示位数
NEXT:
RLCA;将A的内容和Cy左移一位,显示准备
MOVR2,A;
MOVA,20H;
ADDCA,20H
DAA;对A进行十进制调整
MOV20H,A;
MOVA,21H;
ADDCA,21H
MOV21H,A;
MOVA,R2;
DJNZR2,NEXT;R2-1≠0循环计数
L2:
MOVA,20H
ADDA,20H;
DAA;
MOV20H,A;
MOVA,21H;
ADDCA,21H;
DAA;
MOV21H,A;
RET
DISP:
MOVA,20H;显示程序
ANLA,#0F0H
SWAPA;交换高低位
MOV22H,A
MOVA,21H;
ANLA,#0FFH
SWAPA;
ORLA,22H;
MOV23H,A
MOVP1,A;
MOVR7,#0FFH;
DJNZR7,$;是否显示完
RET
SET0:
LCALLDELAY;
JNBP2.1,$;等待按键操作
LCALLDELAY;消除按键抖动
A2:
CJNER0,#0FFH,A1;
MOVR0,#14;延时
A1:
MOVA,R0;
MOVDPTR,#TABLE;数据指针指向表头
MOVCA,@A+DPTR;查表
MOVP1,A;
MOV24H,A;
MOVR5,#4FH;
D4:
MOVR7,#0FFH
D2:
MOVR6,#0FFH
D1:
JNBP2.1,SET1;有按键按下转SET1
DJNZR6,D1
DJNZR7,D2
DJNZR5,D4
JMPSTART;
SET1:
LCALLDELAY;
JNBP2.1,$;等待按键操作
LCALLDELAY;消除抖动
DECR0;
JMPA2;
TIM0:
PUSHACC;保护现场
PUSHPSW
MOVTH0,#HIGH(65536-50000);重装定时初值
MOVTL0,#LOW(65536-50000)
CLRC;进位标志清0
MOVA,24H;比较温度
SUBBA,23H;
JNCOFF;
CLRC;
MOVA,24H;
SUBBA,23H;
JNCOFF;
CLRP3.0;压缩机停止工作
RETURN:
POPPSW
POPACC
RETI;中断返回
OFF:
SETBP3.0;驱动压缩机开始工作
JMPRETURN
DELAY:
MOVR7,#60;延时程序
D3:
MOVR6,#248
DJNZR6,$
DJNZR7,D3
RET
TABLE:
DB20H,21H,22H,23H,24H;
DB25H,26H,27H,28H,29H
DB30H,31H,32H,33H,34H
END
六、总结
作为工科学生,我想PROTEL是我们必须学会的一个软件。
因为,它在工程设计中起到了很大的作用。
以前对什么芯片都只是听到,看到,却不知道他们是怎么做出来的,只觉得有人知道怎么做就行了。
而现在不一样了,因为我们就是需要做芯片的人。
我觉得每次的课程设计,都是对我们在课堂里学的东西的一次大运用。
上课的时候常常感叹,学这些东西干嘛,又不会去用他,但在课设的时候才发觉,原来是这样的。
在现实生活中看到的各种各样多功能的新东西,其实通过我现在所学的,已经可以慢慢的从初级的开始设计了。
这其实真的增加了不少我对课堂学习的兴趣。
我翻阅了不少那里的单protel的资料,学习他们的设计思路,还有一些特殊器件的连接使用方法。
然后又添加了我们自己的设计思路,整合出一套符合我们设计想法的原理图方案。
硬件只是一个骨骼,软件却是血肉。
我们的软件从最开始的一小段软件,到后来每天添一点,
这次课程设计虽然时间不长,但是给我留下了很深的印象。
这次课程设计,我一开始思路很混乱,后来翻看了很多的书籍和网络上的资料,才慢慢有了清晰的思路。
这使我明白了改如何使用前人留下的宝贵的资料。
任何伟大的科学发明,都不是一个人空想出来的,都是结合前人的研究结果,并通过自己的发掘才获得的。
这次课设让我明白了,任何一个简简单单的东西,都是不简单的。
像我们做的数字温度控制器,我想我们在生活中都经常会碰到,但我以前都没有怎么留意过他,觉得这是个挺简单的东西。
但是,这次以后如果我再看到它的话,我真的想把它拆下来好好研究一下,这小东西不好搞啊。
这也让我十分敬佩那些工程设计人员,设计的过程是苦闷的,但是成果却是非常明显的。
本次课程设计是我们大学生涯中是很重要的一步,画图、制作直到完成设计。
每一个过程都是对自己能力的一次检验和充实。
不但回顾了大学三年所学的知识而且提高了自己解决问题的能力。
用8051单片机做成的温度控制器,通过温度采集,A/D转换,CPU控制,然后通过数码管显示等一系列硬件功能和软件功能,共同完成温度的智能控制。
由于MCS-51单片机技术成熟,应用广泛,而且比其他单片机简单,通过此单片机做成的空调温度控制器成本低廉,操作简便,有一定的实用性。
通过这次设计,加深了对单片机的汇编语言编程方法。
同时这次课程设计大大提高了我的动手能力,为我以后的工作和学习奠定了基础,在以后的生活中我们也可以用我们所学的知识和对芯片功能的了解来设计一些日常生活所需的电子产品。
但在设计中也暴露出对自己专业基础掌握不扎实等的不足之处。
比如缺乏综合应用专业知识的能力,对材料的不了解等等。
只能对部分温度进行处理,控制精度不高,反映速度不快等问题等待解决。
使我明白自己知识还很浅薄,在以后的学习中我要更加努力学习专业知识,时刻充实自己。
七、课程设计参考资料
1单片机的C语言应用程序设计第三版马忠梅等编著
2赵晓安.MCS-51单片机原理及应用.天津:
天津大学出版社,2001.3
3何立民.单片机高级教程.第1版.北京:
北京航空航天大学出版社,2001
4如何使用KEIL8051C编译器(韩)金炯泰著金奎焕等译 (韩)金炯泰著
5相关芯片数据手册。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温控
![提示](https://static.bdocx.com/images/bang_tan.gif)