温度控制器的设计与制作.docx

上传人:b****6 文档编号:3017047 上传时间:2022-11-17 格式:DOCX 页数:22 大小:80.84KB
下载 相关 举报
温度控制器的设计与制作.docx_第1页
第1页 / 共22页
温度控制器的设计与制作.docx_第2页
第2页 / 共22页
温度控制器的设计与制作.docx_第3页
第3页 / 共22页
温度控制器的设计与制作.docx_第4页
第4页 / 共22页
温度控制器的设计与制作.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

温度控制器的设计与制作.docx

《温度控制器的设计与制作.docx》由会员分享,可在线阅读,更多相关《温度控制器的设计与制作.docx(22页珍藏版)》请在冰豆网上搜索。

温度控制器的设计与制作.docx

温度控制器的设计与制作

温度控制器的设计与制作

一、功能要求

设计并制作一个温度控制器,用于自动接通或断开室内的电加热设备,从而使室内温度达到设定温度要求,并能实时显示室内温度。

当室内温度大于等于设定温度时,控制器断开电加热设备;当室内温度比设定温度小2时,控制器接通电加热设备。

控温范围:

0~51

控温精度:

≤1

二、硬件系统设计

1.硬件系统由七部分组成,即单片机及看门狗电路、温度检测电路、控制输出电路、键盘电路、显示电路、设置温度储存电路及电源电路。

(1)单片机及看门狗电路

根据设计所需的单片机的内部资源(程序存储器的容量、数据存储器的容量及I/O口数量),选择AT89C51-24PC较合适。

为了防止程序跑飞,导致温度失控,进而引起可怕的后果,本设计加入了硬件看门狗电路IMP813L,如果它的WDI脚不处于浮空状态,在1.6秒内WDI不被触发(即没有检测到上什沿或下降沿),就说明程序已经跑飞,看门狗输出端

将输出低电平到手动复位端,使复位输出端RST发出复位信号,使单片机可靠复位,即程序重新开始执行。

(注:

如果选用AT89S51,由于其内部已具有看门狗电路,就不需外加IMP813L)

(2)温度检测电路

温度传感器采用AD590,它实际上是一个与绝对温度成正比的电流源,它的工作电压为4~30V,感测的温度范围为-550C~+1500C,具有良好的线性输出,其输出电流与温度成正比,即1μA/K。

因此在00C时的输出电流为273.2μA,在1000C时输出电流为373.2μA。

温度传感器将温度的变化转变为电流信号,通过电阻后转变电压信号,经过运算放大器JRC4558运算处理,处理后得到的模拟电压信号传输给A/D转换部分。

A/D转换器选用ADC0804,它是用CMOS集成工艺制成的逐次逼近型模数转换芯片,分辨率8位,转换时间100μs,基准电压0~5V,输入模拟电压0~5V。

(3)控制输出电路

控制信号由单片机的P1.4引脚输出,经过光耦TLP521-1隔离后,经三极管C8550直接驱动继电器WJ108-1C-05VDC,如果所接的电加热设备的功率≤2KW,则可利用继电器的常开触点直接控制加热设备,如果加热设备的功率>2KW,可以继电器控制接触器,由接触器直接控制加热设备。

(4)键盘电路

键盘共有四个按键,分别是S1(设置)、S2(+)、S3(-)、S4(储存)。

通过键盘来设置室内应达到的温度,键盘采用中断方式控制。

(5)显示电路

显示电路由两位E10501_AR数码管组成,由两片74LS164驱动,实现静态显示,74LS164所需的串行数据和时钟由单片机的P3.0和P3.1提供。

对于学过“串行口”知识的班级,实习时,可以采用串行口工作于方式0,即同步移位寄存器的输出方式,通过串行口输出显示数据(实时温度值或设置温度值);对于没学过“串行口”知识的班级,实习时,可以采用模拟串行口的输出方式,实现显示数据的串行输出。

(6)设置温度存储电路

为了防止设定温度在电源断电后丢失,此设计加入了储存电路,储存器选用具有I2C总线功能的AT24C01或FM24C01均可。

每次通过键盘设置的室内设定温度都通过储存器储存起来,即使是电源断电,储存器存储的设定温度也不丢失,在电源来电后,单片机自动将设定温度从储存器中读出,一方面避免了断电后的更新设置工作;另一方面也保护了控制器控制的安全性,可靠性。

(7)电源电路

电源采用了串联型集成稳压器电路,电源有两路输出,一路由L7805CV稳压输出+5V,除JRC4558、AD590外,电路的其它部分均由+5V供电;一路由MC78L12和LM79L12稳压输出±12V,给JRC4558、AD590供电。

当然这里还可以选择现成的开关型稳压电源,但它的价格相对来说要高一些。

2.硬件系统电路原理图:

3.材料表

型号

数量

对应元件序号

种类

330Ω

1

R26

电阻

470Ω

19

R1~R17、R28、R29

820Ω

2

R20、R25

1K

2

R22、R23

2K

1

R27

3K

2

R21、R24

10K

2

R18、R19

2K

2

RP3、RP4

电位器

5K

2

RP1、RP2

10P

1

C9

瓷片电容

30P

2

C17、C18

100μ/25V

4

C1、C2、C3、C4

电解电容

470μ/16V

2

C5、C6

1N4148

2

D2、D3

整流二极管

3.9V/1W

1

D1

稳定二极管

红色、φ3

2

D4、D5

发光二极管

DB107

1

ZLQ1

整流桥

KBP206

1

ZLQ2

C8550

1

Q1

三极管

12M

1

Y1

晶振

74LS164

2

U11、U12

IC

AD590

1

U9

ADC0804

1

U5

AT24C01

1

U6

AT89C51

1

U4

IMP813L

1

U7

JRC4558

1

U8

L7805CV

1

U3

LM79L12

1

U2

MC78L12

1

U1

TLP521-1

1

U10

E10501-AR

2

DS1、DS2

数码管

WJ108-1C-05VDC

1

K1

继电器

220V/8V/

2×15V/2.5W

1

T1

电源变压器

VH-2

2

CN1、CN2

连接座

三、软件系统设计

1.温控系统采用模块化程序结构,可分为四大模块:

(1)系统初始化模块:

完成变量的设定、中断入口的设定、各变量赋初值、堆栈设定、读设置温度、定时器T0工作方式及初值的设定并启动、开中断。

(2)循环模块:

完成A/D转换及温度值的换算、温度值显示、温度比较、看门狗的触发。

(3)定时器T0中断模块:

完成1秒的定时。

(4)外部中断INT1中断模块:

完成键盘对温度值的设定。

2.软件流程框图:

3.参考程序:

;----------------------------

;温度控制器源程序

;----------------------------

s1bitp1.0;s1按键控制口位

s2bitp1.1;s2按键控制口位

s3bitp1.2;s3按键控制口位

s4bitp1.3;s4按键控制口位

wdkzbitp1.4;温度控制口位

wdibitp1.5;看门狗触发端

sdabitp1.7;AT24C01的数据线

sclbitp1.6;AT24C01的时钟线

drxdbitp3.0;74LS164数据

dtxdbitp3.1;74ls164时钟

intrbitp3.2;A/D转换结束信号控制口位

szledbitp3.5;设置LED

sbzbit00h;秒标志位

swwdequ30h;十位温度的BCD码存储单元

gwwdequ31h;个位温度的BCD码存储单元

adpjequ32h;A/D转换后的平滑滤波值存储单元

szwdequ33h;设置温度值存储单元

adwzequ34h;5次A/D值的初始位置,即34h~38h

mjszequ39h;1秒记数值(50ms次数)

smjszequ3ah;3秒记数值(200ms次数)

shmjszequ3bh;10秒记数值(200ms次数)

org0000h

ljmpstart

org000bh

ljmptimezd;T0中断

org0013h

ljmptemszzd;INT1中断

org0030h

start:

clrsbz

movmjsz,#20

movsmjsz,#15

movshmjsz,#50

movsp,#60h

;--------------赋初值

;lcalldurom

movszwd,a

;--------------读设置温度

movtmod,#01h

movth0,#3ch

movtl0,#0b0h

setbtr0

;--------------定时器T0的设定及启动

setbit1

setbex1

setbet0

setbea

;--------------开中断(INT1和T0中断)

cyc:

lcalladzh

mova,adpj

lcallbcdzh

lcalldisp

lcalltembj

jnbsbz,$

clrsbz

lcallwdog

sjmpcyc

;---------------------------

;模数转换子程序名:

adzh

;入口参数:

;出口参数:

adpj

;---------------------------

adzh:

pushpsw

pushacc

movr1,#adwz

movr2,#5

adzh1:

movx@r0,a

jbintr,$

movxa,@r0

mov@r1,a

incr1

djnzr2,adzh1

;--------------5次A/D值完成

movr0,#adwz

movr2,#5

lcallpaix

;--------------5次A/D值排序

movr5,#00h

movr6,#00h

movr7,#3

mova,#adwz

adda,#1

movr1,a

jiafa:

mova,@r1

adda,r5

movr5,a

mova,r6

addca,#0

movr6,a

incr1

djnzr7,jiafa

;--------------去极值后,余下的3个值求和(和在r6r5中)

chufa:

movr3,#16

movr4,#30

movr7,#0

mova,r5

adda,r5

movr5,a

mova,r6

addca,r6

movr6,a

mova,r5

adda,#15

movr5,a

mova,r6

addca,#0

movr6,a

;--------------为"四舍五入"作准备即和值乘以2加上15除以30

chufa1:

clrc

mova,r5

rlca

movr5,a

mova,r6

rlca

movr6,a

mova,r7

rlca

subba,r4

jncchufa2

adda,r4

sjmpchufa3

chufa2:

incr5

chufa3:

movr7,a

djnzr3,chufa1

movadpj,r5

;-------------完成温度平均值

popacc

poppsw

ret

;--------------------------------

;排序子程序名:

paix(从大到小)

;入口参数:

R0指向数据存储区的首地址,R2存放数据长度

;--------------------------------

paix:

pushpsw

pushacc

paix0:

mova,

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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