当前位置:文档之家› 模拟自动恒温控制系统5

模拟自动恒温控制系统5

模拟自动恒温控制系统5
模拟自动恒温控制系统5

成绩

题目:模拟自动恒温控制系统设计

学生姓名:李跃波

学生学号: 0908020119 系别:电气信息工程学院自动化系

专业:自动化

届别: 2013届

指导教师:苗磊

电气信息工程学院制

2012年5月

模拟自动恒温控制系统设计

学生:李跃波

指导老师:苗磊

电气信息工程学院自动化系

1课程设计的任务与要求

1.1课程设计的任务

恒温控制系统在现今的生活中有很多应用,比如自动保温水壶,热水器豹纹系统,医院恒温箱等等。无论怎样应用,其设计的内涵都是基本一样的。本次设计通过测温元件获取测试对象的实时温度,并把转换成数字值的温度值送入微控制器,然后由微控制器检查其是否与标准温度一致;不一致,则启动相应的升温或降温器件工作。当温度回到正常的标准温度时,温度调整的器件停止工作。如此一来,就可以实现温度的自动调节。

1.2 课程设计的要求

通过测温元件获取实时温度和标准温度做比较,进而进行调节温度使其基本保持在某一个设置的温度范围之内。即高于标准温度时,启动相应的电机,带动风扇转动,进而降温。温度低于标准温度时,启动相应的加热丝,升高温度。这就是设计的基本要求。

1.3 课程设计的研究基础

调节反馈控制原理。通过实时温度与标准温度值的偏差进行控制的过程。

2 模拟自动恒温控制系统方案制定

2.1 方案提出

方案一:测温元件采用热敏电阻,但是实际处理时,需要增加模拟/数字转换电路。

图1 采用热敏电阻的电路原理图

方案二:测温元件采用DS18B20。此元件能够将温度值转换成数字值,性价比高。减少了硬件设计的成本,同时也减少了设计上的难度。

图2 采用DS18B20的温度控制系统原理图

2.2 方案比较

方案二测温元件选择DS18B20,此元件可以自动将温度值转化成数字值。方案一测温元件选择热敏电阻,热敏电阻价格高,不线性,需要复杂的恒流源伺服电路。硬件电路上必须要增加转换电路。

2.3 方案论证

通过以上俩个方案对比,选择方案二。因为他采用的测温元件是DS18B20。自动实现将温度值转换成数字值。降低硬件设计的难度,节约了成本。

2.4 方案选择

选择方案二

3模拟自动恒温控制系统方案设计

3.1各单元模块功能介绍及电路设计

温度采集电路:采用DS18B20,此元件能自动将温度值转换成数字信息,且性价比非常高。显示管:温度值的显示分为俩个部分,其一为实时温度值的显示,

其二为设置的标准温度值的显示。因此,设计时可考虑采用LCD将俩种数据同屏显示,也考虑采用多位16段数码管来分别显示俩种温度值数据。这里采用前一种设计方法。单片机选择采用AT80C51。

温度设置电路:通过按钮,设置标准的温度范围。

显示电路:采用液晶显示屏。

3.2电路参数的计算及元器件的选择

VDD:5V LCD外接驱动电压为-5.0~-14.0V。采用的元件有DS18B20,单片机AT89C51等。

3.3 特殊器件的介绍

测温元件及温度值转换方面的设计。虽然目前一些测温系统中有些是采用如热敏电阻或模拟典雅输出的温度传感器等测温元件,但实际这样处理时,硬件电路上就必须增加模拟或数字转换电路。DS18B20数字是温度传感器能自动将温度值转换成数字信息,且性价比非常高。 3.4 系统整体电路图

XTAL2

18

XTAL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

X1

12MHz

C1

33p

C2

33p

R1

10k

C4

22u

23456789

1RP1

RESPACK-8

10k

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

7.3

DQ 2VCC 3GND

1

U2

DS18B20

R6

4k7

MS

+-

R7

220R

65

4

1

2

U3

OPTOCOUPLER-NPN

R8

1k

R9

10k

Q1

NPN

RL1

12V

D1

1N4001

+220v

+12v

D2

LED-RED

SCK 6SDA 5WP 7

A01A12A2

3

U4

24C02C

RL2

G2RL-1AB-DC5

Heater

T

OV1

OVEN

图3 系统未启动的状态图

4 模拟自动恒温控制系统仿真和调试 4.1 仿真软件介绍

本次设计采用Keil ,Proteus 两种软件。通过编译软件Keil 编写程序并生成.HEX 文件,然后在Proteus 中画好硬件电路图,调用HEX 文件进行虚拟仿真。Proteus 是多功能的EDA 软件,真正实现了虚拟物理原型功能,在目标板还没投产前,就可以对设计的硬件系统的功能、合理性和性能指标进行充分调整,并可以在没有硬件电路的情况下,进行相应的程序设计与调试,可由仿真原理图直接到处绘制成印制电路板[1][3][4]。 4.2 系统仿真实现

打开Keil 程序,执行菜单命令“Project ”-“New Project ”创建“模拟自动恒温控制系统的设计”项目,并选择单片机型号AT89C51。

执行菜单命令“File ”-“New ”创建文件,输入汇编源程序,保存为“模拟控制系统的设计.ASM ”。在Project 栏的File 项目管理窗口中右击文件组,选择“Add File to

Grounp ‘Source Grounp1’”,将源程序“模拟自动控制系的设计.ASM ”添加到项目中。

执行菜单命令“Project ”-“Options for Target 1”,在弹出的对话框中选择“Output ”选项卡,选中“Greate HEX File ”。在“Debug ”选项卡,选中“Use :Proteus VSM Simulator ”。 行菜单命令“File ”-“Build Target ”,编译源程序。如果编译成功,则在“Output Windows ”窗口中显示没有错误,并创建了“模拟自动恒温控制系统的设计.HEX ”文件。

在已绘制好的原理图Proteus ISIS 菜单栏中,执行执行菜单命令“Debug ”-“Use Remote Debug Monitor 将该项选中”,使Proteus 与Keil 真正连接起来,使他们联合调试。下图是系统刚开机没有进行操作时的工作状态图[2][5]。

XTAL2

18

XTAL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

X1

12MHz

C1

33p

C2

33p

R1

10k

C4

22u

23456789

1RP1

RESPACK-8

10k

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6

R W 5R S 4V S S

1V D D 2V E E

3

LCD1

LM016L

7.3

DQ 2VCC 3GND

1

U2

DS18B20

R6

4k7

MS

+-

R7

220R

65

4

1

2

U3

OPTOCOUPLER-NPN

R8

1k

R9

10k

Q1

NPN

RL1

12V

D1

1N4001

+220v

+12v

D2

LED-RED

SCK 6SDA 5WP 7

A01A12A2

3

U4

24C02C

RL2

G2RL-1AB-DC5

Heater

T

OV1

OVEN

图4 系统未运行时的状态图

在Keil 中执行菜单命令“Debug ”-“Start /Stop Debug Session ”,进入Keil 调试环境。同时,在Proteus ISIS 窗口中可看出Protues 也进入了程序调试状态。下图是系统运行后的状态图。

XTAL2

18

XTAL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

X1

12MHz

C1

33p

C2

33p

R1

10k

C4

22u

23456789

1RP1

RESPACK-8

10k

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

32.1

DQ 2VCC 3GND

1

U2

DS18B20

R6

4k7

MS

+-

R7

220R

65

4

1

2

U3

OPTOCOUPLER-NPN

R8

1k

R9

10k

Q1

NPN

RL1

12V

D1

1N4001

+220v

+12v

D2

LED-RED

SCK 6SDA 5WP 7

A01A12A2

3

U4

24C02C

RL2

G2RL-1AB-DC5

Heater

0%

T

OV1

OVEN

图5 系统运行状态图

4.3 系统测试

常温情况下,PC 电脑一台,proteus 软件,保持在5至26度之间。 4.4 数据分析

数据表明,测试的温度与实时温度相差不大,保持在规定的温度范围之内。表明此系统符合规定的设计要求。 5 总结

5.1 设计小结

本次设计以经典低廉的单片机作为微控制器,设计了智能化高等特点模拟自动恒温控制系统。运用了很多知识点。因此要完成课程设计,必须要对知识点进行一个回顾和体会。

5.1 收获体会

本次设计,对proteus 这门课目有了更深层次的理解和运用。在编辑程序时需要全神贯注,不然很容易犯低级错误,打错字符等。在设计过程中,我感触最深的是查阅大量的资料。为了让自己的单片机课程设计更加完美,查阅资料时十分必要的,同时也是必不可少的。我们做课程设计,一切都要有据可依,有理可导,不切实际的构想只能是构想。

5.2 展望

单片机是目本文结合实际应用介绍了用AT89C51单片机实现模拟恒温控制系统设计的工作原理,以及硬、软件的设计方法及实现过程。本文重点论述实验室恒温控制系统控制电路的设计,主要是硬件电路的设计过程及软件的实现。对于单片机应用与控制领域,实现工业生产过程自动化和管理现代化有一定的普遍意义。前控制系统采用最多的器件和芯片,单片机的广泛应用及其产生的效益令人瞩目,在将来的各个领域里,将有着广阔的应用前景。 本设计的优缺点

在软件方面:我们采用模块化编程,思路清晰,使程序简洁、可移植性强。 6参考文献

[1] 楼然苗,等. 51系列单片机设计实例[M].北京航空航天出版社,2003.3. [2] 何立民,等.单片机高级教程.北京航空航天大学出版社,2001. [3] 赵晓安,等.MCS-51单片机原理及应用.天津大学出版社,2001.3. [4] 肖洪兵,等.跟我学用单片机.北京航空航天大学出版社,2002.8. [5] 夏继强,等.单片机实验与实践教程.北京航空航天大学出版社,2001.

7附录

7.1 系统主要功能展示图

XTAL2

18

XTAL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

X1

12MHz

C1

33p

C2

33p

R1

10k

C4

22u

23456789

1RP1

RESPACK-8

10k

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

32.1

DQ 2VCC 3GND

1

U2

DS18B20

R6

4k7

MS

+-

R7

220R

65

4

1

2

U3

OPTOCOUPLER-NPN

R8

1k

R9

10k

Q1

NPN

RL1

12V

D1

1N4001

+220v

+12v

D2

LED-RED

SCK 6SDA 5WP 7

A01A12A2

3

U4

24C02C

RL2

G2RL-1AB-DC5

Heater

0%

T

OV1

OVEN

图6 系统运行状态图

7.2 器件清单

主要元件名称器件个数

AT89C51 1

24C0241

DS18B20 1

BUTTON 3

CRYSTAL 1

CAP 2

RELAY 1

NPN 1

OPPTOCOUPLED-NPN 1

LED-RED 1

MOTOR 1

RESPACK-8 1

RES 5

7.3 C程序如下:

/************************************************************************

模拟自动恒温控制系统,有所谓的自动功能

*************************************************************************/

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define BUSY 0x80 //lcd忙检测标志

#define DATAPORT P0 //定义P0口为LCD通讯端口sbit P1_4=P1^4; //时钟调整

sbit P1_5=P1^5; //时钟加

sbit P1_6=P1^6; //时钟减

sbit DQ = P1^7; //定义ds18b20通信端口

sbit LCM_RS=P2^0; //数据/命令端

sbit LCM_RW=P2^1; //读/写选择端

sbit LCM_EN=P2^2; //LCD使能信号

sbit sda=P2^3; //IO口定义

sbit scl=P2^4;

sbit OUT=P3^7; //控制继电器的闭合与否

sbit IN=P2^6; //发光二极管控制

uchar seconde=0; //定义并初始化时钟变量

uchar minite=0;

uchar hour=12;

uchar mstcnt=0;

uchar temp1,temp2,temp; //温度显示变量

uchar t,set; //工作模式set

uchar TEMH; //温度阈值

uchar TEML;

bit outflag; //温度上溢出

bit inflag; //温度下溢出

bit write=0; //写入24c02标志位

bit decide=0; //小数判断位

uchar code str0[]={"L: C H: C "}; //第一行显示

uchar code str1[]={"N: . C : : "}; //第二行显示

uchar code str2[]={" ERROR ACTION "}; //错误操作

//LCD的函数定义

void delay_LCM(uint); //LCD延时子程序

void initLCM( void); //LCD初始化子程序

void lcd_wait(void); //LCD检测忙子程序

void WriteCommandLCM(uchar WCLCM, uchar BusyC); //写指令到ICM子函数void WriteDataLCM(uchar WDLCM); //写数据到LCM子函数

void DisplayOneChar(uchar X,uchar Y,uchar DData); //显示指定坐标的一个字符子函数void DisplayListChar(uchar X,uchar Y,uchar code *DData); //显示指定坐标的一串字符

子函数//定时器函数定义

void init_timer0(void); //定时器初始化//显示操作void displayfun1(void); //正常情况显示内容void displayfun2(void); //设置小时时候光标闪动void displayfun3(void); //设置分钟时候光标闪动void displayfun4(void); //设置上限温度时候光标闪动void displayfun5(void); //设置下限温度时候光标闪动

void keyscan(void ); //键盘扫描子程序void set_adj(void); //调整温度、时钟子程序void inc_key(void); //加法调整void dec_key(void); //减法调整

//ds18b02

void delay_18B20(unsigned int i); //18b20延时void Init_DS18B20(void) ; //初始化uchar ReadOneChar(void); //18b20读一个字节void WriteOneChar(unsigned char dat); //18b20写一个字节void ReadTemperature(void); //18b20读环境温度//24c02

void delay1(uchar); //24c02延时void start(void); //开启

void stop(void); //停止

void writex(uchar); //写字节uchar readx(void); //读字节void clock(void); //时钟

uchar x24c02_read(uchar); //从某个地址读数据void x24c02_write(uchar,uchar); //向某个地址写数据void flash(void); //相当于一个延时void write24c02(void); //24c02写操作

void panduan(void); //判断温度有没越限/*********延时K*1ms,12.000mhz**********/

void delay_LCM(uint k)

{

uint i,j;

for(i=0;i

{

for(j=0;j<60;j++)

{;}

}

}

/**********写指令到ICM子函数************/

void WriteCommandLCM(uchar WCLCM,uchar BusyC)

{

if(BusyC)lcd_wait();

DATAPORT=WCLCM;

LCM_RS=0; // 选中指令寄存器

LCM_RW=0; // 写模式

LCM_EN=1;

_nop_();

_nop_();

_nop_();

LCM_EN=0;

}

/**********写数据到LCM子函数************/

void WriteDataLCM(uchar WDLCM)

{

lcd_wait( ); //检测忙信号

DATAPORT=WDLCM;

LCM_RS=1; // 选中数据寄存器

LCM_RW=0; // 写模式

LCM_EN=1;

_nop_();

_nop_();

_nop_();

LCM_EN=0;

}

/***********lcm内部等待函数*************/

void lcd_wait(void)

{

DATAPORT=0xff;

LCM_EN=1;

LCM_RS=0;

LCM_RW=1;

_nop_();

while(DATAPORT&BUSY)

{ LCM_EN=0;

_nop_();

_nop_();

LCM_EN=1;

_nop_();

_nop_();

}

LCM_EN=0;

}

/*********LCM初始化子函数***********/

void initLCM( )

{

DATAPORT=0;

delay_LCM(15);

WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号delay_LCM(5);

WriteCommandLCM(0x38,0);

delay_LCM(5);

WriteCommandLCM(0x38,0);

delay_LCM(5);

WriteCommandLCM(0x38,1); //8bit数据传送,2行显示,5*7字型,检测忙信号WriteCommandLCM(0x08,1); //关闭显示,检测忙信号

WriteCommandLCM(0x01,1); //清屏,检测忙信号

WriteCommandLCM(0x06,1); //显示光标右移设置,检测忙信号

WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号}

/****************显示指定坐标的一个字符子函数*************/

void DisplayOneChar(uchar X,uchar Y,uchar DData)

{

Y&=1;

X&=15;

if(Y)X|=0x40; //若y为1(显示第二行),地址码+0X40

X|=0x80; //指令码为地址码+0X80

WriteCommandLCM(X,1);

WriteDataLCM(DData);

}

/***********显示指定坐标的一串字符子函数***********/

void DisplayListChar(uchar X,uchar Y,uchar code *DData)

{

uchar ListLength=0;

Y&=0x01;

X&=0x0f;

while(X<16)

{

DisplayOneChar(X,Y,DData[ListLength]);

ListLength++;

X++;

}

}

/***********ds18b20延迟子函数(晶振12MHz )*******/

void delay_18B20(unsigned int i)

{

while(i--);

}

/**********ds18b20初始化函数**********************/

void Init_DS18B20(void)

{

unsigned char x=0;

DQ = 1; //DQ复位

delay_18B20(8); //稍做延时

DQ = 0; //单片机将DQ拉低

delay_18B20(80); //精确延时大于480us

DQ = 1; //拉高总线

delay_18B20(14);

x=DQ; //稍做延时后如果x=0则初始化成功x=1则初始化失败delay_18B20(20);

}

/***********ds18b20读一个字节**************/

unsigned char ReadOneChar(void)

{

uchar i=0;

uchar dat = 0;

for (i=8;i>0;i--)

{

DQ = 0; // 给脉冲信号

dat>>=1;

DQ = 1; // 给脉冲信号

if(DQ)

dat|=0x80;

delay_18B20(4);

}

return(dat);

}

/*************ds18b20写一个字节****************/

void WriteOneChar(uchar dat)

{

unsigned char i=0;

for (i=8; i>0; i--)

{

DQ = 0;

DQ = dat&0x01;

delay_18B20(5);

DQ = 1;

dat>>=1;

}

}

/**************读取ds18b20当前温度************/

void ReadTemperature(void)

{

unsigned char a=0;

unsigned char b=0;

unsigned char t=0;

Init_DS18B20();

WriteOneChar(0xCC); // 跳过读序号列号的操作

WriteOneChar(0x44); // 启动温度转换

delay_18B20(100); // this message is wery important

Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作

WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度delay_18B20(100);

a=ReadOneChar(); //读取温度值低位,读完地址自动加1

b=ReadOneChar(); //读取温度值高位

temp1=b<<4;

temp1+=(a&0xf0)>>4;

temp2=a&0x0f;

switch(temp2)

{case(0x00): temp2=0x00;decide=0;break; //低4位分别代表着2 的负一次方,2的负二次方,2的负三次方,2的负四次方

case(0x01): temp2=0x00;decide=0;break; //decide为1时候代表十进制的小数第一位为1

case(0x02): temp2=0x01;decide=1;break;

case(0x03): temp2=0x01;decide=1;break;

case(0x04): temp2=0x02;decide=1;break;

case(0x05): temp2=0x03;decide=1;break;

case(0x06): temp2=0x03;decide=1;break;

case(0x07): temp2=0x04;decide=1;break;

case(0x08): temp2=0x05;decide=1;break;

case(0x09): temp2=0x05;decide=1;break;

case(0x0a): temp2=0x06;decide=1;break;

case(0x0b): temp2=0x06;decide=1;break;

case(0x0c): temp2=0x07;decide=1;break;

case(0x0d): temp2=0x08;decide=1;break;

case(0x0e): temp2=0x08;decide=1;break;

case(0x0f): temp2=0x09;decide=1;break;

default : break;

}

temp=((b*256+a)>>4); //当前采集温度值除16得实际温度值

}

/***************液晶显示子函数1正常显示*****************/

void displayfun1(void)

{

WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号DisplayListChar(0,0,str0);

DisplayListChar(0,1,str1);

DisplayOneChar(8,1,hour/10+0x30); //液晶上显示小时

DisplayOneChar(9,1,hour%10+0x30);

DisplayOneChar(11,1,minite/10+0x30); //液晶上显示分

DisplayOneChar(12,1,minite%10+0x30);

DisplayOneChar(14,1,seconde/10+0x30); //液晶上显示秒

DisplayOneChar(15,1,seconde%10+0x30);

DisplayOneChar(8,0,TEMH/10+0x30); //液晶上显示设定的温度上限DisplayOneChar(9,0,TEMH%10+0x30);

DisplayOneChar(2,0,TEML/10+0x30); //液晶上显示设定的温度下限

DisplayOneChar(3,0,TEML%10+0x30);

DisplayOneChar(2,1,temp1/10+0x30); //液晶上显示测得的温度

DisplayOneChar(3,1,temp1%10+0x30);

DisplayOneChar(5,1,temp2+0x30);

if(outflag==1) //显示HIGH

{ DisplayOneChar(12,0,0x48);

DisplayOneChar(13,0,0x49);

DisplayOneChar(14,0,0x47);

DisplayOneChar(15,0,0x48);

}

else if(inflag==1) //显示LOW

{ DisplayOneChar(12,0,0x20);

DisplayOneChar(13,0,0x4c);

DisplayOneChar(14,0,0x4f);

DisplayOneChar(15,0,0x57);

}

else //显示NORM

{ DisplayOneChar(12,0,0x4e);

DisplayOneChar(13,0,0x4f);

DisplayOneChar(14,0,0x52);

DisplayOneChar(15,0,0x4d);

}

}

/************液晶显示子函数2***************/

void displayfun2(void)

{

WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号DisplayListChar(0,0,str0);

DisplayListChar(0,1,str1);

DisplayOneChar(8,1,hour/10+0x30); //液晶上显示小时

DisplayOneChar(9,1,hour%10+0x30);

DisplayOneChar(11,1,minite/10+0x30); //液晶上显示分

DisplayOneChar(12,1,minite%10+0x30);

DisplayOneChar(14,1,seconde/10+0x30); //液晶上显示秒

DisplayOneChar(15,1,seconde%10+0x30);

DisplayOneChar(8,0,TEMH/10+0x30); //液晶上显示设定的温度上限DisplayOneChar(9,0,TEMH%10+0x30);

DisplayOneChar(2,0,TEML/10+0x30); //液晶上显示设定的温度下限DisplayOneChar(3,0,TEML%10+0x30);

DisplayOneChar(2,1,temp1/10+0x30); //液晶上显示测得的温度

DisplayOneChar(3,1,temp1%10+0x30);

DisplayOneChar(5,1,temp2/10+0x30);

WriteCommandLCM(0x0f,1); //显示屏打开,光标显示,闪烁,检测忙信号DisplayOneChar(8,1,hour/10+0x30);

DisplayOneChar(9,1,hour%10+0x30);

}

/**************液晶显示子函数3*****************/

void displayfun3(void)

{

WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号DisplayListChar(0,0,str0);

DisplayListChar(0,1,str1);

DisplayOneChar(8,1,hour/10+0x30); //液晶上显示小时

DisplayOneChar(9,1,hour%10+0x30);

DisplayOneChar(11,1,minite/10+0x30); //液晶上显示分

DisplayOneChar(12,1,minite%10+0x30);

DisplayOneChar(14,1,seconde/10+0x30); //液晶上显示秒

DisplayOneChar(15,1,seconde%10+0x30);

DisplayOneChar(8,0,TEMH/10+0x30); //液晶上显示设定的温度上限DisplayOneChar(9,0,TEMH%10+0x30);

DisplayOneChar(2,0,TEML/10+0x30); //液晶上显示设定的温度下限DisplayOneChar(3,0,TEML%10+0x30);

DisplayOneChar(2,1,temp1/10+0x30); //液晶上显示测得的温度

DisplayOneChar(3,1,temp1%10+0x30);

DisplayOneChar(5,1,temp2/10+0x30);

WriteCommandLCM(0x0f,1); //显示屏打开,光标显示,闪烁,检测忙信号DisplayOneChar(11,1,minite/10+0x30);

DisplayOneChar(12,1,minite%10+0x30);

}

/**************液晶显示子函数4 *****************/

void displayfun4(void)

{

WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号DisplayListChar(0,0,str0);

DisplayListChar(0,1,str1);

DisplayOneChar(8,1,hour/10+0x30); //液晶上显示小时

DisplayOneChar(9,1,hour%10+0x30);

DisplayOneChar(11,1,minite/10+0x30); //液晶上显示分

DisplayOneChar(12,1,minite%10+0x30);

DisplayOneChar(14,1,seconde/10+0x30); //液晶上显示秒

DisplayOneChar(15,1,seconde%10+0x30);

DisplayOneChar(8,0,TEMH/10+0x30); //液晶上显示设定的温度上限DisplayOneChar(9,0,TEMH%10+0x30);

DisplayOneChar(2,0,TEML/10+0x30); //液晶上显示设定的温度下限DisplayOneChar(3,0,TEML%10+0x30);

DisplayOneChar(2,1,temp1/10+0x30); //液晶上显示测得的温度

DisplayOneChar(3,1,temp1%10+0x30);

DisplayOneChar(5,1,temp2/10+0x30);

WriteCommandLCM(0x0f,1); //显示屏打开,光标显示,闪烁,检测忙信号DisplayOneChar(8,0,TEMH/10+0x30);

DisplayOneChar(9,0,TEMH%10+0x30);

}

/**************液晶显示子函数5 *****************/

void displayfun5(void)

{

WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号DisplayListChar(0,0,str0);

DisplayListChar(0,1,str1);

DisplayOneChar(8,1,hour/10+0x30); //液晶上显示小时

DisplayOneChar(9,1,hour%10+0x30);

DisplayOneChar(11,1,minite/10+0x30); //液晶上显示分

DisplayOneChar(12,1,minite%10+0x30);

DisplayOneChar(14,1,seconde/10+0x30); //液晶上显示秒

DisplayOneChar(15,1,seconde%10+0x30);

DisplayOneChar(8,0,TEMH/10+0x30); //液晶上显示设定的温度上限DisplayOneChar(9,0,TEMH%10+0x30);

DisplayOneChar(2,0,TEML/10+0x30); //液晶上显示设定的温度下限DisplayOneChar(3,0,TEML%10+0x30);

DisplayOneChar(2,1,temp1/10+0x30); //液晶上显示测得的温度

DisplayOneChar(3,1,temp1%10+0x30);

DisplayOneChar(5,1,temp2/10+0x30);

WriteCommandLCM(0x0f,1); //显示屏打开,光标显示,闪烁,检测忙信号DisplayOneChar(2,0,TEML/10+0x30);

DisplayOneChar(3,0,TEML%10+0x30);

}

/**************键盘扫描子函数******************/

void keyscan(void)

{

uchar xx; //局部变量

P1=0xff;

if(P1!=0xff)

{

delay_LCM(30);

if(P1!=0xff)

智能温度控制系统设计

目录 一、系统设计方案的研究 (2) (一)系统的控制特点与性能要求 (2) 1.系统控制结构组成 (2) 2.系统的性能特点 (3) 3.系统的设计原理 (3) 二、系统的结构设计 (4) (一)电源电路的设计 (4) (二)相对湿度电路的设计 (6) 1.相对湿度检测电路的原理及结构图 (6) 3.对数放大器及相对湿度校正电路 (7) 3.断点放大器 (8) 4.温度补偿电路 (8) 5.相对湿度检测电路的调试 (9) (三)转换模块的设计 (9) 1.模数转换器接受 (9) 2.A/D转换器ICL7135 (9) (四)处理器模块的设计 (11) 1.单片机AT89C51简介及应用 (11) 2.单片机与ICL7135接口 (14) 3.处理器的功能 (15) 4.CPU 监控电路 (15) (五)湿度的调节模块设计 (15) 1.湿度调节的原理 (15) 2.湿度调节的结构框图 (16) 3.湿度调节硬件结构图 (16) 4.湿度调节原理实现 (16) (六)显示模块设计 (17) 1.LED显示器的介绍 (17) 2.单片机与LED接口 (17) (七)按键模块的设计 (18) 1.键盘接口工作原理 (18) 2.单片机与键盘接口 (19) 3.按键产生抖动原因及解决方案 (19) 4.窜键的处理 (19) 三、软件的设计及实现 (19) (一)程序设计及其流程图 (20) (二)程序流程图说明 (21) 四、致谢 (22) 参考文献: (22)

智能温度控制系统设计 摘要: 此系统采用了精密的检测电路(包刮精密对称方波发生器、对数放大及半波整流、温度补偿及温度自动校正及滤波电路等几部分电路组成),能够自动、准确检测环境空气的相对湿度,并将检测数据通过A/D转换后,送到处理器(AT89C51)中,然后通过软件的编程,将当前环境的相对湿度值转换为十进制数字后,再通过数码管来显示;而且,通过软件编程,再加上相应的控制电路(光电耦合及继电器等部分电路组成),设计出可以自动的调节当前环境的相对湿度:当室内空气湿度过高时,控制系统自动启动抽风机,减少室内空气中的水蒸气,以达到降低空气湿度的目的;当室内空气湿度过低时,控制系统自动启动蒸汽机,增加空气的水蒸气,以达到增加湿度的目的,使空气湿度保持在理想的状态;键盘设置及调整湿度的初始值,另外在设计个过程当中,考虑了处理器抗干扰,加入了单片机监视电路。 关键词: 湿度检测; 对数放大; 湿度调节; 温度补偿 一、系统设计方案的研究 (一)系统的控制特点与性能要求 1.系统控制结构组成 (1)湿度检测电路。用于检测空气的湿度[9]。 (2)微控制器。采用ATMEL公司的89C51单片机,作为主控制器。 (3)电源温压电路。用于对输入的200V交流电压进行变压、整流。 (4)键盘输入电路。用于设定初始值等。 (5)LED显示电路。用于显示湿度[10]。 (6)功率驱动电路(湿度调节电路)

自动控制原理课程设计速度伺服控制系统设计样本

自动控制原理课程设计题目速度伺服控制系统设计 专业电气工程及其自动化 姓名 班级 学号 指引教师 机电工程学院 12月

目录一课程设计设计目 二设计任务 三设计思想 四设计过程 五应用simulink进行动态仿真六设计总结 七参照文献

一、课程设计目: 通过课程设计,在掌握自动控制理论基本原理、普通电学系统自动控制办法基本上,用MATLAB实现系统仿真与调试。 二、设计任务: 速度伺服控制系统设计。 控制系统如图所示,规定运用根轨迹法拟定测速反馈系数' k,以 t 使系统阻尼比等于0.5,并估算校正后系统性能指标。 三、设计思想: 反馈校正: 在控制工程实践中,为改进控制系统性能,除可选用串联校正方式外,经常采用反馈校正方式。常用有被控量速度,加速度反馈,执行机构输出及其速度反馈,以及复杂系统中间变量反馈等。反馈校正采用局部反馈包围系统前向通道中一某些环节以实现校正,。从控制观点来看,采用反馈校正不但可以得到与串联校正同样校正效果,并且尚有许多串联校正不具备突出长处:第一,反馈校正能有效地变化

被包围环节动态构造和参数;第二,在一定条件下,反馈校正装置特性可以完全取代被包围环节特性,反馈校正系数方框图从而可大大削弱这某些环节由于特性参数变化及各种干扰带给系统不利影响。 该设计应用是微分负反馈校正: 如下图所示,微分负反馈校正包围振荡环节。其闭环传递函数为 B G s ()=00t G s 1G (s)K s +()=22t 1T s T K s ζ+(2+)+1 =22'1T s 21Ts ζ++ 试中,'ζ=ζ+t K 2T ,表白微分负反馈不变化被包围环节性质,但由于阻尼比增大,使得系统动态响应超调量减小,振荡次数减小,改进了系统平稳性。 微分负反馈校正系统方框图

温度自动控制系统的设计毕业设计论文

北方民族大学学士学位论文论文题目:温度自动控制系统的设计 北方民族大学教务处制

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

高频炉智能温度控制系统

高频炉智能温度控制系统 摘要GP15-B型高频炉自动控温系统开发的目的是将高频炉旧有的手动控制系统改造成微机监控的自动控制系统,以提高控制质量、生产效率和减轻人的劳动强度。基于工业PC的高频炉自动控温系统具有实时监测、数据处理、操作指导提示、智能控制等功能。该系统的控制算法采用仿人智能控制算法(SHIC),其最主要的优点是不需要事先知道被控对象的精确模型,就能够实现既快速又高精度的控制。 关键词智能控制控制系统高频感应加热 Abstract Temperature in intelligent control system of GP15-B high frequency induction heating furnace is to replace the old hand-control system by computer-control system, and improve the quality of control, increase the efficiency and reduce labor intensity. The temperature automatic control system has some important function, such as real time monitor, data processing, intelligent control, and etc. This system is adept simulating human intelligent control algorithm (SHIC), the most eminent advantage of SHIC is that it can realize quickly and high precision control without the accurate math model of controlled object. Keywords intelligent control control system high frequency induction heating 1 系统结构简介 GP15-B型高频炉自动控温系统是为满足高熔点材料熔化特性测试目的而开发的,对提高高熔点材料性能测试水平和充分利用原系统具有实用意义。本系统的基本组成如图1所示,控制的基本过程是:用光电高温计读取加热设备的温度,输出一个与温度对应的电压信号,此信号经过放大、滤波处理后送到A/D(模/数)转换器,转换成相应的数字量。微机定时地对A/D进行读取,将所得到的数字电压经过电压-温度转换程序转换成数字温度(即实际温度的数字量),将此温度与用户设定温度相比较,得出温度偏差值E,SHIC仿人智能控制器判断E的大小及E的变化趋势(增大、减小或不变),输出一个合适的控制量,控制量经过D/A(数/模)转换器转换成相应的控制电压,控制电压的大小将决定可控硅移相触发电路的触发相位,从而控制了高频感应加热设备的输入功率,进而调节温度。系统的温度控制范围为800~3000℃。

自动控制系统仿真教案

控制系统仿真技术实验指导书 实验课程 专业班级 学生姓名 学生学号 指导教师 年月日

实验报告须知 实验的最后一个环节是实验总结与报告,即对实验数据进行整理,绘制波形和图表,分析实验现象,撰写实验报告。每次实验,都要独立完成实验报告。撰写实验报告应持严肃认真、实事求是的科学态度。实验结果与理论有较大出入时,不得随意修改实验数据结果,不得用凑数据的方法来向理论靠拢,而要重新进行一次实验,找出引起较大误差的原因,同时用理论知识来解释这种现象。并作如下具体要求: 1. 认真完成实验报告,报告要用攀枝花学院标准实验报告册,作图要用坐标纸。 2. 报告中的电路图、表格必须用直尺画。绘制电路图要工整、选取合适比例,元件参数标 注要准确、完整。 3. 应在理解的基础上简单扼要的书写实验原理,不提倡大段抄书。 4. 计算要有计算步骤、解题过程,要代具体数据进行计算,不能只写得数。 5. 绘制的曲线图要和实验数据吻合,坐标系要标明单位,各种特性曲线等要经过实验教师 检查,曲线图必须经剪裁大小合适,粘附在实验报告相应位置上。 6. 应结合具体的实验现象和问题进行讨论,不提倡纯理论的讨论,更不要从其它参考资料 中大量抄录。 7. 思考题要有自己理解实验原理后较为详尽的语言表述,可以发挥,有的要画图说明, 不能过于简单,不能照抄。 8. 实验报告的分数与报告的篇幅无关。 9. 实验报告页眉上项目如实验时间、实验台号、指导教师、同组学生等不要漏填。

目录 目录 实验一:MATLAB语言的基本命令实验二:控制系统模型与转换 实验三:Simulink 仿真应用 实验四:控制系统工具箱的使用实验五:磁盘驱动系统综合分析实验六:单级倒立摆控制仿真设计

温度控制器的工作原理

温度控制器的工作原理 据了解,很多厂家在使用温度控制器的过程中,往往碰到惯性温度误差的问题,苦于无法解决,依靠手工调压来控制温度。创新,采用了PID模糊控制技术,较好地解决了惯性温度误差的问题。传统的温度控制器,是利用热电偶线在温度化变化的情况下,产生变化的电流作为控制信号,对电器元件作定点的开关控制器。电脑控制温度控制器:采用PID模糊控制技术*用先进的数码技术通过Pvar、Ivar、Dvar(比例、积分、微分)三方面的结合调整形成一个模糊控制来解决惯性温度误差问题。 传统的温度控制器的电热元件一般以电热棒、发热圈为主,两者里面都用发热丝制成。发热丝通过电流加热时,通常达到1000℃以上,所以发热棒、发热圈内部温度都很高。一般进行温度控制的电器机械,其控制温度多在0-400℃之间,所以,传统的温度控制器进行温度控制期间,当被加热器件温度升高至设定温度时,温度控制器会发出信号停止加热。但这时发热棒或发热圈的内部温度会高于400℃,发热棒、发热圈还将会对被加热的器件进行加热,即使温度控制器发出信号停止加热,被加热器件的温度还往往继续上升几度,然后才开始下降。当下降到设定温度的下限时,温度控制器又开始发出加热的信号,开始加热,但发热丝要把温度传递到被加热器件需要一定的时候,这就要视乎发热丝与被加热器件之间的介质情况而定。通常开始重新加热时,温度继续下降几度。所以,传统的定点开关控制温度会有正负误差几度的现象,但这不是温度控制器本身的问题,而是整个热系统的结构性问题,使温度控制器控温产生一种惯性温度误差。 要解决温度控制器这个问题,采用PID模糊控制技术,是明智的选择。PID模糊控制,是针对以上的情况而制定的、新的温度控制方案,用先进的数码技术通过Pvar、Ivar、Dvar三方面的结合调整,形成一个模糊控制,来解决惯性温度误差问题。然而,在很多情况下,由于传统的温度控制器温控方式存在较大的惯性温度误差,往往在要求精确的温控时,很多人会放弃自动控制而采用调压器来代替温度控制器。当然,在电压稳定工作的速度不变、外界气温不变和空气流动速度不变的情况下,这样做是完全可以的,但要清楚地知道,以上的环境因素是不断改变的,同时,用调压器来代替温度控制器时,必须在很大程度上靠人力调节,随着工作环境的变化而用人手调好所需温度的度数,然后靠相对稳定的电压来通电加热,勉强运作,但这决不是自动控温。当需要控温的关键很多时,就会手忙脚乱。这样,调压器就派不上用场,因为靠人手不能同时调节那么多需要温控的关键,只有采用PID模糊控制技术,才能解决这个问题,使操作得心应手,运行畅顺。例如烫金机,其温度要求比较稳定,通常在正负2℃以内才能较好运作。高速烫金机烫制同一种产品图案时,随着速度加快,加热速度也要相应提高。这时,传统的温度控制器方式和采用调压器操作就不能胜任,产品的质量就不能保证,因为烫金之前必须要把烫金机的运转速度调节适当,用速度来迁就温度控制器和调压器的弱点。但是,如果采用PID模糊控制的温度控制器,就能解决以上的问题,因为PID中的P,即Pvar功率变量控制,能随着烫金机工作速度加快而加大功率输出的百分量。 有机械式的和电子式的, 机械式的采用两层热膨胀系数不同金属亚在一起,温度改变时,他的弯曲度会发生改变,当弯曲到某个程度是,接通(或断开)回路,使得制冷(或加热)设备工作。

自动控制系统概要设计

目录 1引言 (3) 1.1编写目的 (3) 1.2背景 (3) 1.3技术简介 (4) https://www.doczj.com/doc/da16852502.html,简介 (4) 1.3.2SQL Server2008简介 (5) 1.3.3Visual Studio2010简介 (5) 1.4参考资料 (6) 2总体设计 (8) 2.1需求规定 (8) 2.2运行环境 (8) 2.3数据库设计 (8) 2.3.1数据库的需求分析 (9) 2.3.2数据流图的设计 (9) 2.3.3数据库连接机制 (10) 2.4结构 (11) 2.5功能需求与程序的关系 (11) 3接口设计 (12) 3.1用户接口 (12) 3.2外部接口............................................................................................错误!未定义书签。 3.3内部接口............................................................................................错误!未定义书签。4运行设计.....................................错误!未定义书签。 4.1运行模块组合....................................................................................错误!未定义书签。 4.2运行控制............................................................................................错误!未定义书签。 4.3运行时间............................................................................................错误!未定义书签。5测试 (13)

自动控制原理MATLAB仿真实验报告

自动控制原理实验报告 学 院 电子信息与电气工程学院 实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

自动温度控制系统的设计

上海电力学院电子系统设计实验报告 题目:自动温度控制系统的设计 院系:电子与信息工程学院 专业:电子科学与技术 班级:2013142班 学号:20132481 姓名:当当当

自动温度控制系统的设计 1、任务要求 以单片机为核心控制器件,通过温度传感器进行温度测量,设置温度的上下限。当温度超出正常范围,则由指示灯和蜂鸣器报警提示。当温度低于下限值时,要求通风电机停转,当温度高于上限值时,通风电机转动。 2、设计方案 本设计是对温度进行实时监测与控制,设计的温度控制系统实现了基本的温度控制功能:设定需求的温度为30~60摄氏度,当温度低于设定温度下限30摄氏度时,指示灯和蜂鸣器报警提示并且通风电机停转,使温度上升。当温度高于设定温度上限60摄氏度时,指示灯和蜂鸣器报警提示且通风电机转动,使温度下降。当温度达到设定温度界限时,通风机停止工作。为了实现以上功能首先完成了系统的整体设计,硬件以及软件的设计。在硬件上采用了由DS18B20温度传感器采集温度,送入单片机与设定温度进行对比处理,再通过显示器进行显示使其很直观的了解当前的状态。在软件设计上完成了系统的各个功能程序以及流程图包括系统程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序等,并且采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。 总体设计框图 3.硬件电路设计 3.1最小系统 按键设置 单 片 机 降热 温度采集 显示 加热

3.1.1 AT89C51的单片机 采用STC89C51芯片作为硬件核心。STC89C51内部具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C51可以通过串口下载。 引脚介绍 ①主电源引脚(2根) VCC(Pin40):电源输入,接+5V电源 GND(Pin20):接地线 ②外接晶振引脚(2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 ③控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

智能温度控制系统

摘要 智能温度控制系统 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本系统是以单片机的基本语言汇编语言来进行软件设计编程的,其指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。 根据本温度系统的设计要求,该系统是由单片机和温度传感器与一体的综合设计,由于是用单片机采集温度信号,所以在之前必须对温度信号进行放大和转换,就应该选择放大器和A/D转换器,本系统要实现人工智能化,就必须有对温度进行设定,所以还需要设计键盘与单片机系统进行沟通。 关键字:单片机温度传感器键盘 A/D转换器放大器

目录 摘要 ........................................................................................................................... I 第一章绪论.. (1) 第二章设计要求 (2) 2.1 设计课题工艺过程简介 (2) 2.2 控制任务指标及要求: (2) 第三章系统设计思想 (3) 第四章硬件的选择 (4) 4.1 单片机的选择 (4) 4.2 温度传感器的选择 (4) 4.3 显示器的选择 (4) 4.4 键盘的选择 (4) 4.5 温度控制部分 (5) 4.6 自动推舟控制部分 (5) 4.7 实现方案 (5) 第五章硬件设计 (6) 5.1单片机基本系统: (6) 5.1.1 单片机8051 (6) 5.1.2 8155简介 (9) 5.2前向通道 (13) 5.2.3 温度传感器: (13) 5.2.4 运算放大器 (15) 5.2.5 A/D转换器: (18) 5.3 后向通道.................................................................................... 错误!未定义书签。 5.4 人机对话通道 (20) 5.4.1 显示器: (20) 5.4.2 键盘 (23) 5.4.374922引脚说明及功能 (26) 5.5 其他外围器件 (26) 第六章软件设计 (29) 6.1 软件设计思路: (29) 6.2 程序设计流程说明: (29) 6.3 主程序流程图如下: (30) 6.4 键盘输入中断服务程序 (31) 6.5 温度检测子程序流程图 (31) 6.6 程序清单 (32) 结论 (37) 谢辞 (38) 参考文献 (39)

液位自动控制系统设计与调试

液位自动控制系统设计 与调试 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

课程设计 2016年6月17日

电气信息学院 课程设计任务书 课题名称液位自动控制系统设计与调试 姓名专业班级学号 指导老师沈细群 课程设计时间2016年6月6日~2016年6月17日(第15~16周) 教研室意见同意开题。审核人:汪超林国汉 一.课程设计的性质与目的 本课程设计是自动化专业教学计划中不可缺少的一个综合性教学环节,是实现理论与实践相结合的重要手段。它的主要目的是培养学生综合运用本课程所学知识和技能去分析和解决本课程范围内的一般工程技术问题,建立正确的设计思想,掌握工程设计的一般程序和方法。通过课程设计使学生得到工程知识和工程技能的综合训练,获得应用本课程的知识和技术去解决工程实际问题的能力。 二. 课程设计的内容 1.根据控制对象的用途、基本结构、运动形式、工艺过程、工作环境和控制要求,确定控制方案。 2.绘制水箱液位系统的PLC I/O接线图和梯形图,写出指令程序清单。 3.选择电器元件,列出电器元件明细表。 4.上机调试程序。 5.编写设计说明书。 三. 课程设计的要求 1.所选控制方案应合理,所设计的控制系统应能够满足控制对象的工艺要求,并且技术先进,安全可靠,操作方便。

2.所绘制的设计图纸符合国家标准局颁布的GB4728-84《电气图用图形符号》、GB6988-87《电气制图》和GB7159-87《电气技术中的文字符号制定通则》的有关规定。 3.所编写的设计说明书应语句通顺,用词准确,层次清楚,条理分明,重点突出,篇幅不少于7000字。

自动控制原理及系统仿真课程设计

自动控制原理及系统仿 真课程设计 学号:1030620227 姓名:李斌 指导老师:胡开明 学院:机械与电子工程学院

2013年11月

目录 一、设计要求 (1) 二、设计报告的要求 (1) 三、题目及要求 (1) (一)自动控制仿真训练 (1) (二)控制方法训练 (19) (三)控制系统的设计 (23) 四、心得体会 (27) 五、参考文献 (28)

自动控制原理及系统仿真课程设计 一:设计要求: 1、 完成给定题目中,要求完成题目的仿真调试,给出仿真程序和图形。 2、 自觉按规定时间进入实验室,做到不迟到,不早退,因事要请假。严格遵守实验室各项规章制度,实验期间保持实验室安静,不得大声喧哗,不得围坐在一起谈与课程设计无关的空话,若违规,则酌情扣分。 3、 课程设计是考查动手能力的基本平台,要求独立设计操作,指导老师只检查运行结果,原则上不对中途故障进行排查。 4、 加大考查力度,每个时间段均进行考勤,计入考勤分数,按照运行的要求给出操作分数。每个人均要全程参与设计,若有1/3时间不到或没有任何运行结果,视为不合格。 二:设计报告的要求: 1.理论分析与设计 2.题目的仿真调试,包括源程序和仿真图形。 3.设计中的心得体会及建议。 三:题目及要求 一)自动控制仿真训练 1.已知两个传递函数分别为:s s x G s x G +=+= 22132)(,131)(

①在MATLAB中分别用传递函数、零极点、和状态空间法表示; MATLAB代码: num=[1] den=[3 1] G=tf(num,den) [E F]=zero(G) [A B C D]=tf2ss(num,den) num=[2] den=[3 1 0] G=tf(num,den) [E F]=zero(G) [A B C D]=tf2ss(num,den) 仿真结果: num =2 den =3 1 0 Transfer function: 2 --------- 3 s^2 + s

基于单片机的自动恒温控制系统的设计

关键词STC89C52单片机;PT100;LCD显示电路;ADC0809 第2章系统总体方案设计 2.1 系统总体设计方案 本系统采用了STC89C52作为处理器,以PT100为温度传感器的温度采集系统,并通过ADC0809进行模数转换,该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度采集模块、按键处理模块、实时时钟模块、数据存储模块、报警电路模块、LCD显示模块、通讯模块以及单片机最小系统。 硬件系统原理框图如图2-1。 图2-1 硬件原理框图 2.2.2显示电路 在单片机系统中常用的显示电路有LED显示、LCD显示。 方案一:LED显示屏采用七段码显示时,数码管中的每一段相当于一个发光二极管。对于共阳极的数码管,部每个发光二极管的阳极被连在一起,成为该各段的公共选通线,发光二极管的阴极则成为段选线。对于共阴极数码管,则正好相反,部发光二极管的阴极接在一起,阳极成为段选线。这两种数码管的驱动方式是不同的。当需要点亮共阳极数码管的一段时,公共段需接高电平,该段的段

吉林建筑大学电子信息工程专业毕业论文 选线接低电平。从而该段被点亮。当需要点亮共阴极数码管的一段时,公共段需接低电平,该段的段选线接高电平,该段被点亮。 方案二:LCD显示电路多采用1602液晶。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。 1602LCD是指显示的容为2 16 ,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 液晶显示器以其微功耗、体积小、显示容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。 基于精确显示,拟采用方案二。 2.2.3按键输入电路 一般键盘电路有两种:独立式键盘和矩阵式键盘。 方案一:独立式键盘中,各按键相互独立,每个按键各接一根输入线,每根输入线上的按键工作状态不会影响其它输入线上的工作状态。因此,通过检测输入线的电平状态就可以很容易的判断按键是否被按下了。独立式键盘电路配置灵活,软件结构简单。但每个按键需占用一根输入线,在按键数量较多时,输入口浪费大,电路结构显得很繁杂,故此种按键适用于按键较少或操作速度较高的场合。 方案二:矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上,分别连接到按键开关的两端。行线通过上拉电阻接到VCC上。平时无按键动作时,行线处于低电平状态,而当有按键按下时,列线电平为低,行线电平为高。这一点是识别矩阵式是否被按下的关键所在。因此,各按键彼此将相互影响,所以必须将行、列线信号配合起来并作适合的处理,才能确定闭合键的位置。很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/O口。 由于本系统只需要4个按键,故选择独立式键盘。 第3章硬件电路设计 3.2 单片机最小系统电路 在温度控制系统设计中,控制核心是STC89C52单片机,该单片机为52系列增强型8位单片机,它有32个I/O口,片含4K FLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1μS。使用该单片机完全可以完成设计任务,其最小系统主要包括:复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择),电路如下图

智能温度控制系统毕业设计开题报告

毕业设计开题报告 题目名称智能温度控制系统设计 学生姓名郑如顺专业电气信息工程班级10级一、选题的目的意义 温度控制无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,而当今,我国农村的锅炉取暖等大多数都没有温度监控系统,部分厂矿,企业还一直沿用简单的温度设备和纸质数据记录仪。无法实现温度数据的测量与控制。随着社会经济的高速发展,越来越多的生产部门和生产环节对温度控制精度的可靠性和稳定性等有了更高的要求。传统的温度控制器控制精度普遍不高,不能满足对温度要求较为苛刻的生产环节。 在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。 此次的智能温度控制系统的设计基于此而设计,针对一些大型公共场合,为达到对其温度的良好控制,从实用的角度以AT89C51为核心设计一套温度智能控制系统。其控制温度不是一个点,而是一个范围。系统以AT89C51单片机为核心,组成一个集温度的采集、处理、显示、自动控制为一身的闭环控制系统。利用单片机采集环境温度值,以数字量的形式存储和显示,可以独立作为一种设备对温室温度进行有一定精度的控制,经过简单的运算发出各种控制命令,并能动态的显示当前温度值,设定目标控制温度值。同时,也可以作为数据采集装置,为上位机进行复杂运算决策提供数据来源。 该智能温度控制系统功耗低,本系统运行情况良好且经济可靠。能利用最少的资源对不同温度进行高精度的测量,信息性能可靠、操作便利,复杂的工作通过软件编程来完成,可以方便的获取结果,在实际的使用中获得了理想的效果。

《自动控制系统计算机仿真》习题参考答案

《自动控制系统计算机仿真》习题参考答案 1-1 什么是仿真? 它的主要优点是什么?它所遵循的基本原则是什么? 答:所谓仿真,就是使用其它相似的系统来模仿真实的需要研究的系统。计算机仿真是指以数字计算机为主要工具,编写并且运行反映真实系统运行状况的程序。对计算机输出的信息进行分析和研究,从而对实际系统运行状态和演化规律进行综合评估与预测。它是非常重要的设计自动控制系统或者评价系统性能和功能的一种技术手段。 仿真的主要优点是:方便快捷、成本低廉、工作效率和计算精度都很高。它所遵循的基本原则是相似性原理。 1-2 你认为计算机仿真的发展方向是什么? 答:向模型更加准确的方向发展,向虚拟现实技术,以及高技术智能化、一体化方向发展。向更加广阔的时空发展。 1-3 计算机数字仿真包括哪些要素?它们的关系如何? 答:计算机仿真的三要素是:系统——研究的对象、模型——系统的抽象、计算机——仿真的工具和手段。它们的关系是相互依存。 2-1 控制算法的步长应该如何选择? 答:控制算法步长的选择应该恰当。如果步长太小,就会增加迭代次数,增加计算量;如果步长太大,计算误差将显著增加,甚至造成计算结果失真。 2-2 通常控制系统的建模有哪几种方法? 答:1)机理建模法;2)实验建模法;3)综合建模法。 2-3 用欧拉法求以下系统的输出响应()y t 在0≤t ≤1上,0.1h =时的数值解。 0y y +=, (0)0.8y = 解:输入以下语句 绘制的曲线图

2-4 用二阶龙格-库塔法对2-3题求数值解,并且比较两种方法的结果。解:输入以下语句绘制的曲线图 经过比较两种方法的结果,发现它们几乎没有什么差别。 3-1 编写两个m文件,分别使用for和while循环语句计算200 3 1 k k =∑。 解:第1个m文件,第2个m文件运行结果都是 3-2 求解以下线性代数方程: 1 2 3 1022 1131 3121 x x x ?????? ?????? = ?????? ?????? ?????? 解:输入语句计算结果 3-3 已知矩阵 013 =121 542 ?? ?? ?? ?? ?? A, 218 =414 332 ?? ?? ?? ?? ?? B 试分别求出A阵和B阵的秩、转置、行列式、逆矩阵以及特征值。

智能恒温控制系统设计精编版

智能恒温控制系统设计 精编版 MQS system office room 【MQS16H-TTMS2A-MQSS8Q8-MQSH16898】

无锡工艺职业技术学院 毕业设计(论文) 题目:智能恒温控制系统设计 院系:电子信息系 专业:应用电子技术 学号: 学生姓名:方久磊 指导教师:路红娟 职称:高级工程师 2016年 04 月 25 日 目录 摘要------------------------------------------------------------------------------------------------------3 前言------------------------------------------------------------------------------------------------------4

4 摘要 本课题设计是一个以AT89C51单片机为主控制模块,从而实现了根据温度设定,自动调节相应的温度,这个设计中包括了感应模块、加热制冷装置、单片机模块、存储模块、驱动模块、时钟模块和键盘输入模块,显示模块共同组成。本课题侧重于时钟模块、输入模块和存储模块进行方案论证,该系统电路结构简单、温控效果好、操作方便、智能化程度高。 关键词:AT89C51单片机 DS1302时钟模块 FM24C256 存储器 前言 智能恒温控制系统已在很多生产领域中得到广泛应用。目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。而在国内随着嵌入式系统开发技术的快速发展,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。传统的恒温控制器多由继电器组成,但是继电器的触点的使用寿命有限、故障率偏高,稳定性差、无法满足现代的温度控制要求。而随着计算机技术的发展,嵌入式微型计算机在工业中得到越来越多的应用。将嵌入式系统应用在温度控制系统中。使得智能恒温控制变得更小型,更智能化。在温度控制系统在工业生产环节中,存在惯性大、滞后大、非线性、温度变化缓慢等的不利因素,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量;由于环境的不同恒温控制系统无法改变,无法做到随环境的变化而改变内部恒定的温度值。因而设计一种较为理想的温度控制系统是非常有价值的。

MATLAB控制系统与仿真

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127 指导教师:杨洁昝宏洋

基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器 (至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback 法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid controller design method, design a pid controller of temperature control system and observe the output waveform while input step signal through virtual oscilloscope after system completed. Keywords: PID parameter setting ;PID controller;MATLAB simulation。

恒温箱自动控制系统设计报告

恒温箱自动控制系统设计 组员: 院系: 指导教师:

【摘要】 本组设计的恒温箱自动控制系统主要由中央处理器、温度传感器、半导体制冷器、键盘、显示、声光报警等部分组成。处理器采用AVR Mega128单片机,温度传感器采用DS18B20,利用半导体制冷片一面制冷一面发热的工作特性进行升降温,用LCD12864作为显示输出。温度传感器检测到温度数据传送给单片机,单片机再将温度数据与给定值进行比较,从而发出对半导体制冷器的控制信号,使温度维系在给定值附近(偏差小于±2℃),同时单片机将数据送与显示器。 【关键字】 单片机温度传感器半导体制冷器控制 一、设计方案比较 1.1总体设计方案 这里利用DS18B20芯片作为恒温箱的温度检测元件。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。单片机从外部的两位十进制拨码键盘进行给定值设定,读入的数据与给定值进行比较,根据偏差的大小,采用闭环控制的方法使控制量更加精准。控制结果通过液晶显示器LCD12864予以显示。 系统整体框图如图一所示: 图一、系统整体框图 1)温度检测元件的选择: 方案一:这里所设计的是测温电路,因此可以采用热敏电阻之类的器件利用其感温效应,检测并采集出随温度变化而产生的电压或电流,进行A/D转换后送给单片机进行数据处理,从而发出控制信号。此方案需要另外设计A/D转换电路,使得温测电路比较麻烦。 方案二:上网查得温度传感器DS18B20能直接读出被测温度,并可根据实际要求通过简单的编程实现9~12位的数字值读取方式,它内部有一个结构为8字节的高速暂存RAM存储器。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。与方案一比较更加简单实用,因此我们选择方案二。

相关主题
文本预览
相关文档 最新文档