基于单片机的水温控制系统初_第1页
基于单片机的水温控制系统初_第2页
基于单片机的水温控制系统初_第3页
基于单片机的水温控制系统初_第4页
基于单片机的水温控制系统初_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、引言基于单片机的水温控制系统集美大学诚毅学院信息工程系自动化专业 2014届 龚孟卿 学号:2010926010 摘要:本文详细介绍了基于单片机的水温控制系统,温度控制,无论在生产中,还是在日常生活中,都起着非常重要的作用,随着经济的越来越快的发展,越来越多的的企业生产环节中,对温度控制精度的可靠性和稳稳定性有了更高的要求。然而传统的温度控制器控制的精度不够高,不能够满足对温度要求苛刻的生产环节。本文通过软件和硬件两个方面来简述单片机水温控制系统。在控制过程中主要元器件有,AT89S52、变压器、二极管、三极管、DS18B20数字温度传感器、继电器、LCD1602、按钮等等。本设计主要通过DS

2、18B20温度传感器检测水温,用按钮设置温度,以单片机为核心控制器件,利用PID算法控制水温,通过LCD1602显示设置温度与当前温度。软件方面采用C语言来进行程序设计,C语言是嵌入式系统中一种通用的程序设计语言,其数据类型以及运算符丰富,有较好的移植性和丰富的功能函数,并具有良好的程序结构,适用于各种应用的程序设计,简单易懂。关键词 单片机系统 温度 PID 数据采集 显示I引言Microcontroller-based temperature control systemGong mengqing2010926010,Electrical Engineering and Automatio

3、n,2010Dept. of Information Engineering, Chengyi College of Jimei UniversityAbstract:This paper describes a microcontroller-based temperature control system,temperature control , whether in production or in everyday life , plays a very important role , along with the increasingly rapid economic devel

4、opment, more and more of enterprise production processes , the temperature control precision reliability and stability of stability have higher requirements .However, the accuracy of the temperature controller traditional high enough temperature can not meet the demanding production processes . In t

5、his paper, both software and hardware to briefly SCM temperature control system. The main components in the control process there , AT89S52, transformers, diodes, transistors , DS18B20 digital temperature sensors, relays , LCD1602, buttons , and so on . This design mainly through DS18B20 temperature

6、 sensor detects the temperature , set temperature using the buttons to control the device microcontroller as the core , the use of PID algorithm to control the water temperature , set temperature by LCD1602 displays the current temperature. Software using C language for programming , C language is a

7、 general-purpose embedded systems programming language , rich data types and operators , better portability and rich feature functions , and has a good program structure for a variety of applications, program design, simple and understandable. Key words: Microcontroller system ;Temperature ;PID;Data

8、 Collection;display目录目录引言- 1 -第一章 AT89S52单片机介绍- 2 -1.1 AT89S52主要性能及概述- 2 -1.2 单片机AT89S52引脚功能介绍- 3 -第二章 电源与稳压电路的设计- 6 -2.1 整流电路的介绍- 6 -2.2 滤波电路的介绍- 8 -2.3 稳压模块W7805的介绍- 9 -2.4 水温控制系统中电源的设计- 10 -第三章LCD1602介绍及其应用- 12 -3.1 基本介绍- 12 -3.2 引脚说明- 13 -3.3 内部RAM地址和字符映射关系- 13 -3.4 1602指令系统- 14 -3.5 LCD1602与AT8

9、9S52连接电路图- 17 -第四章 数字温度传感器DS18B20数据采集及介绍- 18 -4.1 温度传感器DS18B20选取及特点- 18 -4.2 DS18B20的介绍- 19 -4.3 DS18B20的数据处理以及电路图- 22 -第五章 基于单片机的水温控制PID算法- 24 -5.1 模拟PID控制器- 24 -5.2 数字PID控制器- 24 -5.3 温度控制系统PID调节参数及采样周期的确定- 25 -第六章 基于单片机的水温控制系统的整体实现及功能- 28 -6.1 水温控制系统的硬件实现- 28 -6.2 水温控制系统的软件实现- 29 -结论- 31 -致谢- 32 -

10、参考文献- 33 -附录A:基于单片机的水温控制系统程序- 34 -III引言引言 自动化技术在工业、农业、科技以及人们的日常生活中都发挥着重要的作用。自20世纪90年代,作为信息科学的重要分支,自动化技术本身及其应用领域得到了迅速的提高和发展。自动化技术作为国家高科技的重要组成分支,其水平高低已成为衡量国家科技实力和各行业现代化水平的重要标志。无论是在工业、农业、还是我们日常生活中,温度都起着非常重要的作用。随着科技的迅速发展,在各个行业中对于温度控制的精度也不断提高,传统的控制方法由于控制精度不高,响应速度慢,已经远远满足不了人们的需求。然而随着计算机技术的进步,人们可以用计算机技术可以完

11、成常规控制技术无法完成的任务,我们可以通过计算机更有效的控制温度,能达到控制精度高,响应速度快等标准。本设计就是一个基于单片机的水温控制系统,本设计采用单片机为核心控制器件,利用数字温度传感器DS18B20读取温度、温度转换,利用独立按键作为输入,如设定温度,温度加减,还有确定。利用LCD1602分别显示当前温度和设定温度。整个水温控制系统采用PID算法,可以满足对精度的控制和快速性,通过三极管驱动继电器,来控制加热装置。从而构成了一个单片机的水温控制系统,可以实现对水温的自动控制,并显示。软件方面,本设计采用C语言作为设计编程语言。C语言是嵌入式系统中一种通用的程序设计语言,其数据类型及运算

12、符丰富,代码率高,有较好的移植性和丰富的功能函数,并有良好的程序结构,适用于各种应用程序设计,是目前使用较为广的编程语言。本文以下将继续详细介绍单片机AT89S52、数字温度传感器DS18B20、LCD1602液晶显示器以及电路的基本设计方案和水温控制系统是如何实现自动控制的。1第一章AT89S52单片机介绍第1章 AT89S52单片机介绍1.1 AT89S52主要性能及概述AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 储存器使用Atmel 公司高密度非易失性储存器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序储存器在系

13、统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用,如图1所示AT89S52。 图1 AT89S52 引脚图AT89S52主要性能包括以下几种:1、与MCS-51单片机产品兼容;2、8K字节在系统可编程FLASH储存器;3、1000次擦写周期;4、全静态操作:0Hz-33MHz;5、三级加密程序储存器;6、32个可编程I/O口线;7、三个16位定时器/计数器;8、8个中断源;9、全双工UART串行通道;10、低功耗空闲和掉电模式;11、掉电后中断可唤醒;12、看门狗定时器;13、双数据指针;14、掉

14、电标识符。1.2 单片机AT89S52引脚功能介绍1.2.1 I/O端口介绍1、P0口: 即P0.0P0.7,输入/输出脚,可以用作8位的并行I/O接口或者分时复用为地址总线和数据总线,P0口作为输出的时候,每个引脚可以驱动8个TTL;在定义为I/O口时,需要外接上拉电阻,为准双向I/O口。在程序中向P0端口写入1后,该端口成为高阻抗输入端口。2、P1口: 即P1.0P1.7,输入/输出脚,8为双向并行I/O端口,在P1口内部已经具有上拉电阻,不用再外接上拉电阻。此外,此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0)和定时器/计数器2 的触发输入(P1.1)。 在fla

15、sh编程和校验时,P1口接收低8位地址字节。P2 口: 即P2.0P2.7,输入/输出引脚,8为双向并行I/O接口,P2口内部已经具有上拉电阻,不需要外接上拉电阻,可以驱动4个TTL,当访问外部的存储器是,定义为高8位地址总线。如果只需要8位地址线,它将输出特殊功能寄存器里面的内容。3、P3 口即P3.0P3.7,输入/输出引脚,8位双向并行I/0接口并且内部已经具有上拉电阻,能驱动4个TTL,每个引脚都具有第二功能,引脚P3.0(RXD)和引脚P3.1(TXD)可以用作为串行数据的传输,分别为串行数据的接受和发送的端口;P3.2和P3.3为外部的中断请求,分别用于INT0和INT1的中断输入

16、;P3.4(T0)和P3.5(T1)分别为定时/计数器0和定时/计数器1的外部计数输入端口;P3.6(WR)和P3.7(RD)用作读/写单片机的外部RAM,分别是外部数据写选通信号还有读选通信号。1.2.2控制、复位和选通引脚1、RST:单片机内部的复位信号的输入端口,在单片机的振荡器启动后,该引脚置2个机器周期以上的高电平,就可以实现复位。对于AT89S52其内部包含定时监视器电路。在定时监视器的定时输出后,该引脚置高电平,并且持续96个振荡周期,也可以实现复位。2、ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,AL

17、E仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。3、PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此

18、期间,当访问外部数据存储器,将跳过两次PSEN信号4、EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。1.2.3 电源引脚及外接晶振活外部振荡器1、VCC:电源端。正电源接4.05.0V电压,正常工作电压为5V。2、GND:接地端。3、XTAL1:时钟XTAL1脚,片内震荡电路的输入端。

19、4、XTAL2:时钟XTAL2脚,片内震荡电路的输出端。AT89S52的时钟有两种方式,一种是片内时钟震荡方式,在18和19脚外接石英晶体(033MHZ)和震荡电容,震荡电容一般1030pF。另外一种是外部时钟方式,将XTAL2悬空,外部时钟信号(033MHZ)从XTAL1脚输入。- 3 -第二章 电源与稳压电路的设计第二章 电源与稳压电路的设计2.1 整流电路的介绍 在电路电子设备中,一般都需要稳定的直流电源供电。而常用的电压是220V,50Hz的交流电源,本设计中单片机AT89S52、LCD1602、所需要的电压为5V左右的直流电。所以单相交流电要经过电源变压器、整流电路、滤波电路、稳压电

20、路转换成稳定的直流电压。在整流电路的设计中,我们采用二极管作为整流元器件。首先看一下单相半波整流电路,电路如图2所示。 图2 单相半波整流电路图 对其工作原理进行分析: u2的正半周,D导通, ADRLB,uO= u2 。 u2的负半周,D截止,承受反向电压,为u2; uO=0。波形图如图3所示。 图3单相半波整流波形图利用二极管的单相导通性可以进行整流,从单相半波整流电路中可以看到,它只能利用交流电压的半个周期,所以输出电压低,交流分量大,效率低。为了克服单相半波整流电路的缺点,在实际电路中多采用单相全波整流电路,最常用的就是的单相桥式整流电路。如图4所示。 图4 桥式整流电路对其工作原理进

21、行分析: u2的正半周,AD1RLD3B,uO= u2。 u2的负半周,B D2RLD4 A,uO= -u2。波形如图5所示 对于二极管的选择:考虑到电网电压波动范围为±10,二极管的极限参数应满足: 图5 整流波形图 2.2 滤波电路的介绍由以上整流电路可以看出,整流电路的输出电压虽然是单一方向的,但是含有较大的交流成分,不能适应大多数电子电路及设备的需要。因此,一般在整流后,还需要用滤波电路将脉动的直流电压变为平滑的直流电压。电容滤波电路,是最常见也是最简单的滤波电路,在整流电路的输出端并联一个电容构成电容滤波电路,如图6所示,滤波电容容量较大,一般采用电解电容。 图6 整流滤波

22、电路滤波原理的分析: 在变压器副边电压u2处于正半周期且数值大于电容两端的电压uc时,二极管D1,D3导通,电流一路流经负载RL,另一路对电容C充电。在理想情况下,变压器副边无损耗,二极管导通电压为零,所以电容两端的电压uc与u2相等,如图7中曲线ab段。当u2上升到峰值后开始下降,电容通过负载电阻RL放电,其电压uc也开始下降,趋势与u2基本相同,如图7中bc段所示。但是由于电容按指数规律放电,所以当u2下降到一定数值后,uc下降的速度小于u2下降的速度,使得uc大于u2从而使二极管D1,D3反向偏置而变为截止。此后,电容C继续通过RL放电,uc按指数规律缓慢下降,如图7中cd段所示。 当u

23、2的负半周幅值变化到恰好大于uc时,D2,D4因加正向电压变为导通状态,u2再次对电容C充电,uc上升到u2的峰值后又开始下降,下降到一定数值时D2,D4变为截止,C对RL放电,uc按指数规律下降;放电到一定数值时D1,D3变为导通,重复以上过程。从图7中我们可以看出,经过滤波之后的输出电压不仅变的平滑,而且平均值也得到了提高。 图7 整流滤波波形图2.3 稳压模块W7805的介绍 虽然整流滤波电路能将正弦的交流电变换成较为平滑的直流电压,但是一方面由于输出电压平均值取决于变压器副边电压有效值,所以当电网电压发生波动时,输出电压的平均值也会产生波动;另一方面,由于整流滤波电路中内阻的存在,负载

24、发生变化,内阻上的电压降也会发生变化,于是输出电压平均值也会发生变化。为了获得稳定性好的直流电压,还要采取稳压措施。 7805三端稳压集成电路,电子产品中,常见的三端稳压集成电路有正电压输出的78 ×× 系列和负电压输出的79××系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管。如 下图8所示实物图。 图8 W7805实物图主要参数介绍:在温度为25条件下W7805主要参数如表1所示。表1 W7805主要参数参数名称符 号测试条件单位W7805(典型值)输入电压U1V10输出电压U

25、0I0=500mAV5最小输入电压UminI01.5AV7电压调整率SuI0=500mAmV7电流调整率SiI01.5AI010mAmV25输出温度变化率StI0=500mAmV/1输出噪声电压Uno10HZf100KHZV40从表中参数可知,W7805输入端和输出端之间的电压允许值为313V,输出电流噪声很小,温度稳定性良好。2.4 水温控制系统中电源的设计 综合以上的整流滤波稳压电路的设计,在本设计的水温控制系统中电源先由220V电源通过变压器连接整流电路,然后通过按钮连接滤波稳压电路,然后再连接发光二极管,当按钮被按下时,就可以将220V电压转化成稳定的直流5V左右的电压为电路供电,并且

26、指示灯亮,只是电路处于有电状态。具体电路图如图9所示。 图9 水温控制系统电源及稳压电压对于水温控制系统电源电路图中元器件说明:P1为220/12V变压器,D1,D2,D3,D4为整流二极管,电容C2为滤波电容,电容C5为瓷片电容,作用是用于抵消输入线较长时的电感效应,电容C6用于消除输出电压中的高频噪声,其电容量都较小,小于1F。7805为集成三端稳压器。综上所述,基于单片机的水温控制系统采用220V电源,通过220/12V变压器副边产生12V电压,然后通过整流电路编程直流电源,再通过W7805稳压模块输出5V直流电为单片机和LCD1602进行供电,而变压器的原边的220V电压做为加热装置的

27、电源。充分利用了变压器从而简化了电源的设计只需要一个220V电源就可以让整个水温控制系统正常工作。- 9 -第三章 LCD1602介绍及其应用第三章LCD1602介绍及其应用3.1 基本介绍1602液晶模块是一种专门用于显示数字、英文字母和符号的点阵式液晶模块。1602液晶模块可以显示两行字符,是一种应用广泛的液晶显示设备,1602液晶模块使用5X7点阵图形显示一个字符,其中16代表每一行最多可以显示16个字符,02代表总共可以显示两行字符,如图10所示LCD1602尺寸图以及表2所示1602液晶模块的技术参数。基于本设计的水温控制系统,需要显示设置温度和当前温度,所以选择LCD1602作为显

28、示元件。 图10 LCD1602尺寸图表2 LCD1602 基本参数参数取值工作电压4.55.5V工作电流2.0mA显示字符尺寸2.95(W)X4.95(H)mm 3.2 引脚说明LCD1602液晶模块引脚采用标准的单列直插接口方式,带背光的为16个引脚。引脚功能参考表3所示。表3 LCD1602引脚功能引脚编号电路符号引脚功能引脚编号电路符号引脚功能1VSS电源接地9D2数据2VDD电源正极10D3数据3VL显示偏压10D4数据4R/S数据/命令12D5数据5R/W读/写13D6数据6E使能14D7数据7D0数据15BLA背光灯正极8D1数据16BLK背光灯负极引脚说明:1、VSS和VDD是

29、1602液晶模块电源引脚,VL引脚液晶对比度调整引脚。2、RS引脚是寄存器选择引脚,给定高电平选择数据寄存器,给定低电平选择指令寄存器。3、 R/W引脚为读写选择信号线,高电平为读操作,低电平为写操作。4、E为使能引脚,由高电平变为低电平的时候会最后写入的命令。5、D0D7是数据引脚,1602数据引脚是双向的,可以写入数据也可以读取数据。6、BLA和BLK为背光灯正极和负极的引脚。3.3 内部RAM地址和字符映射关系 1602液晶的驱动芯片内自带了一个RAM内存,这个内存区域与液晶屏上显示的字符有对应关系,当向RAM指定地址写入数据的时候,会在液晶上显示出写入的字符。在显示字符的时候,首先要告

30、诉芯片字符要写入的地址,然后告诉控制芯片写入字符的代码,就可以再指定的地方显示指定的字符。其中液晶模块的RAM地址映射关系如图11所示。 图11 内部RAM地址与字符映射关系如图可知,1602显示的第一行第一个字符的地址为00H,第二行第一个字符地址为40H,但是因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是在显示时的具体地址为80H+显示位置的地址,如:第二行第一个字符显示为80+40H=C0H。3.4 1602指令系统对于1602液晶模块的所有操作都是通过指令系统来完成的,通过设置R/S,R/W可以控制1602液晶模块进入指令模式,然后在数据总线上写入对应的指令,最

31、后设置E执行指令。1602内置控制指令参考表如表4所示。表4 LCD1602控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置数据存贮器地址001显示数据存贮器地址8写数到CGRAM或DDRAM)10要写的数据内容9从CGRAM或DDRAM读数11读出的数据内容下面对上述控制详细指令说明:指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指

32、令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:DDRAM

33、地址设置。指令8:写数据。指令9:读数据。具体操作时序见表5(附操作时序图,如图12、13)表5 基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无 图12 读操作时序 图13 写操作时序3.5 LCD1602与AT89S52连接电路图如图14所示LCD1602与单片机具体连接图:图14 LCD1602与单片机连接电路图在水温控制系统中,单片机的PO口上拉10K组排,连接到LCD1602的

34、D0D7数据端上作为数据的传输,并且连接好电源和地,通过软件编程根据写操作时序,可以向1602写指令和写数据,从而可以显示当前温度和设置的温度。- 15 -第四章 数字温度传感器DS18B20数据采集及介绍第四章 数字温度传感器DS18B20数据采集及介绍4.1 温度传感器DS18B20选取及特点本设计是基于单片机的水温控制系统,所以需要一个读取温度的传感器,将读取到的温度送入单片机进行控制,然而传统的温度传感器只是将温度信号转化成了电流或者电压的模拟信号,而单片机能识别的是数字信号,所以如果使用一般的温度传感器还需要配合A/D,D/A转换电路,先将测量的温度值的电压或电流信号进行A/D转换,

35、将模拟信号变为数字信号由单片机进行控制,然后通过D/A转换将数字信号转换成为模拟信号显示具体的温度。通过以上对传统的温度传感器进行分析,在硬件方面要加入数模和模数转换电路,在软件方面还需要设计相关的转换程序,增加的设计复杂程度和成本。经过综合考虑,本设计选用美国达拉斯公司的单线数字温度传感器芯片DS18B20作为温度传感器,与传统的热敏电阻有所不同,DS18B20可以直接将被测温度转化成串行数字信号,以供单片机处理,它还具有微型化、低功耗、高性能、抗干扰能力强等优点。通过编程,DS18B20可以实现912位的温度读取。信息通过单总线接口送入DS18B20或从DS18B20送出,因此从单片机到D

36、S18B20仅需连接一条信号线,和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部增加电源。总而言之,DS18B20具有以下特点: 1、采用单总线技术,与单片机通讯只要一个引脚。 2、将12位的温度值转换为数字量所需的时间不超过750毫秒。 3、可以通过数据线提供电源,电压范围为35.5V。 4、测量范围为-55+125,在-10+85范围内误差为±0.5。 5、数字温度计的分辨率用户可以从9到12位选择,可以配置实现912位的温度读取。 单总线技术适用于单主机系统,单主机能够控制一个或者多个从机设备。主机可以是微控制器,从机可以是单线器件,他们之间的数据交换,

37、控制都是由这根线来完成。单总线通常要求外接一个月5K的上拉电阻,这样当总线闲置时,其状态都为高电平。所有的单线器件都要遵循严格的协议,以保证数据的完整性。单总线协议有复位脉冲、应答脉冲、写1、写0、读1、读0这几种信号类型组成,这些信号从了应答脉冲其他均由主机发出,并且所有命令和数据都是字节的地位在前。4.2 DS18B20的介绍 DS18B20是美国达拉斯公司的单线数字温度传感器,采用单总线技术,可以通过一根总线完成温度的读取转换以及传输。如图15所示DS18B20引脚图。 图15 DS18B20引脚图引脚功能说明: NC(1、2、6、7、8脚):空引脚,悬空不使用。 VDD(3脚):可选电

38、源脚,电源范围为35.5V,当工作在寄生电源时此引脚必须接地。 DQ:数据输入/输出引脚,漏极开路,常态下高电平。如下表7所示DS18B20储存器结构图: 表7 DS18B20储存器结构寄存器内容字节温度值低位字节0温度值高位字节1TH/用户使用字节12TL/用户使用字节23配置字节4保留字节5保留字节6保留字节7CRC字节8由上表可以看出,储存器的头两个字节为测得温度信息的低位和高位字节;暂存器的第五个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下表8:表8 温度转换分辨率配置0R1R011111MSB LSB 其中R1和R0是温度值分辨率,可以按下表9进行配置:表9 温度转换分

39、辨率配置R1R0分辨率最大转换时间009位93.75ms0110位187.50ms1011位375ms1112位750ms DS18B20的核心功能部件是它的数字温度传感器,如上所述,它的分辨率可以配置为9、10、11、12位,出厂默认设置是12位分辨率,他们对应的温度值分辨率分别为0.5, 0.25、0.125、0.0625。温度信息的低位、高位字节内容中还包括了符号位S(是正温度还是负温度)和二进制的小数部分,其形式如表10所示表10 温度值配置表低位232221202-12-22-32-4高位SSSSS262524这是12位分辨率的情况,如果配置为低的分辨率,则其中无意义为为0。实际温度

40、和数字输出对应的关系如表11所示。表11 数字输出与实际温度对应表温度数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 110

41、0 1001 0000FF6FH 4.3 DS18B20的数据处理以及电路图4.3.1 DS18B20初始化单线总线上的所有操作都要从初始化开始,初始化过程如下:主机通过拉低(DQ=0)单线480s以上,产生复位脉冲,然后释放总线(DQ=1),进入Rx接受模式。主机释放总线时,会产生一个上升沿。单线器件DS18B20检测到该上升沿后,延时1560s,通过拉低总线60240s来产生应答脉冲。主机接受到应答脉冲后,说明DS18B20在线。4.3.2 DS18B20数据处理DS18B20要求有严格的时序来保证数据的完整性。在单线DQ上,存在复位脉冲、应答脉冲、写1、写0、读1、读0几种信号类型。而数

42、据位的读和写则是通过使用读、写时隙来实现的。首先写时隙,当主机将数据线从高电平拉至低电平时,产生写时隙,其中有两种类型的写时隙:写1和写0。所有的写时隙必须再60s以上,即由高拉低后持续60s以上,各个写时隙之间必须保证最短1s的恢复时间。DS18B20在DQ线变低后的1560s的时间内对DQ线进行采样,如果是高电平就写1,低电平就写0,对于主机产生写1的时隙的情况,数据线必须先被拉低,然后释放,在写时隙开始后的15s,允许DQ线拉至高电平。对于写0时隙的情况,DQ线必须被拉低电平至少保持低电平60s。再看读时隙,当主机从DS18B20读数据时,把数据线从高电平拉至低电平,产生读时隙。数据线D

43、Q必须保持低电平至少1s,来自DS18B20的输出数据在读时隙下降沿之后15s内有效,因此,再次15s内,主机必须停止将DQ引脚置低。在读时隙结束时,DQ引脚将通过外部上拉电阻拉回至高电平。所有的读时隙最短必须保持60s,各个读时隙之间必须保证最短1s的恢复时间。所有的读写时隙至少需要60s,且每两个独立的时隙之间至少需要1s的恢复时间,在写时隙中,主机将在拉低总线15s内释放总线,并向DS18B20写1,若主机拉低总线后能保持至少60s的低电平,则向DS18B20写0。DS18B20仅在主机发出读时隙时才向主机传输数据,所以,当主机向DS18B20发出读数据命令后,必须马上产生读时隙,一边D

44、S18B20能传输数据。4.3.2 DS18B20连接电路图DS18B20电路图如图16所示 图16 DS18B20连接图- 21 -第五章 基于单片机的水温控制PID算法第五章 基于单片机的水温控制PID算法5.1 模拟PID控制器 在某些工业控制系统中,常常采用PID可控制,其控制规律为: 式中Kp为比例增益,Ti为积分时间常数,Td为微分时间常数,u(t)为控制量,e(t)为偏差。比例控制能迅速反应误差,从而减小误差,但比例控制不能消除稳态误差,kp的加大,会引起系统的不稳定性;积分控制的作用是,只要系统存在误差,积分控制作用就不断地积累,输出控制量以消除误差,因而,只要有足够地时间,积

45、分控制将能完全消除误差,积分作用太强会使系统超调加大,甚至使系统出现振荡;微分作用可以减小超调量,克服振荡,使系统地稳定性提高,同时加快系统地动态响应速度,减小调整时间,从而改善系统地动态性能。5.2 数字PID控制器 在计算机控制系统中,PID控制规律地实现必须用数值逼近地方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。 (1)数字PID位置型控制算法为了便于计算机实现,必须把式(认为初始控制量为零)变换为差分方程,为此可作如下近似: 式中,T为采样周期,K为采样序号。根据模拟PID控制规律,可得出数字PID位置型控制规律为: (2)数字PID增

46、量型控制算法由可看出,位置型控制算式不够方便,这是因为要累加偏差e(i),不仅要占用较多的存储单元,而且不便于编写程序,为此可对式进行改进。由位置型PID算法可写出u(k1)的表达式,即 将和式相减,即得数字PID增量型控制算式为 u(k)u(k)u(k1) KPe(k)-e(k-1)KIe(k)+KDe(k)-2e(k-1)+e(k-2) 其中Kp1/称为比例增益;KiKpT/Ti称为积分系数;KdKpTd/T称为微分系数。 根据式可知:u(k)= u(k)+u(k1)那么u(k)=KPe(k)-e(k-1)KIe(k)+KDe(k)-2e(k-1)+e(k-2)+u(k1)这就是位置型控制

47、算法的地推算法,与增量型的控制算法相似。5.3 温度控制系统PID调节参数及采样周期的确定 简单控制系统的品质,与被控过程的特性,干扰信号的形式大小、控制方案及调节器的参数等因素密切相关,一旦控制方案确定,受工艺条件和设备特性的限制的广义对象特性、干扰因素就完全确定,不可能随意改变。这时控制系统的控制品质就取决于调节器的参数调整。 根据过程控制中调节器参数的工程整定方法中,介绍了四种调节器的参数整定方法有:稳定边界法,衰减曲线法,相应曲线法和经验法。本设计中调节器的参数整定主要是用经验法确定相关的PID参数。由经验法给出如表12所示不同控制对象时,调节器的参数经验数据。表12 不同控制对象调节

48、器参数表被控参数过程特点及常用调节规律比例度P积分时间Ti/min微分时间Td/min液位(P调节)过程时间常数较大,一般不用微分,精度要求不高可用P调节。2080流量(PI调节)过程时间常数小,被控参数有波动,一般选择PI调节,P大一些,Ti要短,不要微分。401000.11压力(PI调节)过程有容量滞后,不大,一般选用PI调节,不要微分。30700.43温度(PID调节)过程容量滞后较大,被控参数受干扰后变换迟缓,需要加微分,一般选择PID调节,P应小,Ti要长。20603100.53数字PID控制与一般的采样控制有些不同,它是用计算机对模拟PID控制进行数字模拟的准连续过程控制。这种控制

49、方式要求相当短的采样周期,与系统时间常数相比要充分小。采样周期越小,数字模拟越精确,其控制效果就越接近于连续控制系统。但影响采样周期的选择的因素是多方面的,采样周期T的选择受各方面因素的影响,有时甚至是相互矛盾的,因此,必须根据具体情况和主要的要求做出折中的选择。表13列出了常见被控量的采样周期T的经验数据,以供参考。在具体选择采样周期T时,可参照表13所示的经验数据,再通过现场实验,最后确定合适的采样周期T。表13 不同控制对象采样周期表被控量采样周期Ts备注流量15优先选用l2s压力310优先选用68s液位68优先选用7 s温度1520优先选用7 s 成分1520优先选用18 s 根据以上

50、分析,水温控制系统采用PID算法控制,采样周期T设置为10s,参数Kp=5,Ki=0.05,Kd=30。下图所示PID控制加热算法流程图。如图17所示。 图17 PID加热控制流程说明:t为当前水温度,set_temp为设置的水温,ek、ek1、ek2为偏差,u-k为PID增量,uk、uk1为控制量,继电器控制加热。- 27 -第六章 基于单片机的水温控制系统的整体实现及功能第六章 基于单片机的水温控制系统的整体实现及功能6.1 水温控制系统的硬件实现以上前五章都分别介绍了控制芯片AT89S52、电源和稳压电路、数字温度传感器DS18B20和用来显示的LCD1602、现在我们来讲一下整个水温控

51、制系统是如何实现的,如下图18所示,水温控制系统单片机最小系统及按钮的连接电路图。 图18 单片机最小系统及按钮连接图 如上图所示,K2为复位按钮,作为整个系统的复位开关;P3口作为独立键盘的输入口,通过独立键盘的设置输入,四个按钮分别为:“设置”、“加”、“减”、“确定”,通过这四个按钮可以设置要这只的水温,然后按确定按钮开始加热;由P0口上拉10K电阻接液晶显示LCD1602、作为显示,通过编程可以显示当前温度和设置的温度、DS18B20的DQ段接单片机的P3.4口(第四章中已经讲过)。利用P1.1作为输出,控制驱动电路从而控制加热设备,电路图如图19所示。由图可以看出220V电压通过继电器连接了加热装置,P1.1连接电阻接三极管来控制继电器线圈的得电。当P1.1输出高电平三极管不导通,继电器线圈不会得电,继电器开关不会闭合,然后不会加热。当P1.1输出低电平时,三极管导通5V电压加到线圈两端,线圈得电,继电器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论