基于AVR单片机水温自动控制系统毕业设计.docx
《基于AVR单片机水温自动控制系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于AVR单片机水温自动控制系统毕业设计.docx(57页珍藏版)》请在冰豆网上搜索。
基于AVR单片机水温自动控制系统毕业设计
长春工业大学
毕业设计、毕业论文
题目基于AVR单片机水温控制系统
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
摘要
本文介绍了基于AVR单片机的自动水温控制系统的设计及实现过程。
该系统具有设定、实时显示以及于上位机通信功能。
设定精度0.1℃、控温精度0.2℃、控温范围30~100℃。
而且还具有显示温度曲线及打印功能。
本系统采用ATmgea16单片机为主控制器,温度采集方面采用DS1820高精度数字传感器,单总线接口简单,线性良好。
功率输出部分采用GTJ3-10A固态继电器,电路经济可靠,采用PWM控制可控性好精度高。
控制算法采用PID算法是系统具有快速响应和较小的超调。
该系统通过实验证明具有很高的可靠性和稳定性。
实现温度的设定,并对温度进行实时采集显示及打印。
关键词:
温度控制ATmega16单片机PID算法PWM
Abstract
ThispaperintroducesthedesignandrealizationoftheautomotivewatertemperaturecontrolsystembasingonAVR.Ithasthefunctionofsetting,displaysignalinrealtimeanduppercommunication.Settheprecisionbeon0.1℃、andprecisionoftemperaturecontrolis0.2℃、rangeoftemperaturecontrolis30~100℃.Anditalsohasthepaintandshowtemperaturecurvefunctions.
ThissystemadoptATmgea16SCMasamaincontroller,TemperaturecollectionadoptDS1820highprecisionnumeralsensor.Singlebusinterfaceissimplyandgoodlinearity.ItuseGTJ3-10Asolid-staterelayinthepartofpoweroutput,thecircuitsareeconomicandreliable.ThecontrollabilityandprecisioniswellunderthecontrolofPWM.ItmakessystemwithquickresponseandloweroverswingwhileusingPIDarithmeticasthecontrolarithmetic.Afterthevalidationofexperiment,thissystemhaswellreliableandstability.Thenrealizethesettingoftemperatureandcollectingoftemperatureinrealtimeandpainting.
Keywords:
TemperatureControlATmega16SingleChipComputer
PIDArithmeticPWM
第1章概述
1.1课题研究目的和意义
温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。
特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。
在现代冶金、石油、化工及电力生产过程中,温度是极为重要而又普遍的热工参数之一。
在环境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达到工艺标准,以单片机为核心设计的炉温控制系统,可以同时采集多个数据,并将数据通过通讯口送至上位机进行显示和控制。
那么无论是哪种控制,我们都希望水温控制系统能够有很高的精确度(起码是在满足我们要求的范围内),帮助我们实现我们想要的控制,解决身边的问题。
在计算机没有发明之前,这些控制都是我们难以想象的。
而当今,随着电子行业的迅猛发展,计算机技术和传感器技术的不断改进,而且计算机和传感器的价格也日益降低,可靠性逐步提高,用信息技术来实现水温控制并提高控制的精确度不仅是可以达到的而且是容易实现的。
用高新技术来解决工业生产问题,排除生活用水问题实施对水温的控制已成为我们电子行业的任务,以此来加强工业化建设,提高人民的生活水平。
1.2温度控制系统的研究现状
温度控制系统在国内各行各业的应用虽然已经十分广泛但从国内生产的温度
控制器来讲总体发展水平仍然不高,同国外的日本美国德国等先进国家相比仍然有着较大的差距目前我国在这方面总体技术水平处于20世纪80年代中后期水平成熟
产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制难于控制滞后复杂时变温度系统控制,即是说适应于较高控制场合的智能化自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少备。
现有的一些温度控制设备,如HA168型的温度控制棒,结构比较简单,一般采取的是开关式的控制,即当测量温度低于设定温度时进行加热,其结果是饲养水域内温度不均,控温效果不理想。
目前,国外也开发出了一些基于单片式计算机的温度控制设备,但是价格比较高,且目前其操作系统均为英文,普及性不强。
1.3温度控制系统的发展方向
由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。
在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。
温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。
尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。
由于温度控制具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。
模糊逻辑控制(FLC)是人工智能领域中形成最早、应用最广的一个重要分支,适用于结构复杂且难以用传统理论建立模型的问题。
目前FLC已经成功地应用与各种温度控制上。
模糊控制与一般的自动控制的根本区别是,不需要建立精确的数学模型,而是运用模糊理论将人的经验知识、思维推理,其控制过程的方法与策略是由所谓模糊控制器来实现。
对于多变量、非线性和时变的大系统,系统的复杂性和控制技术的精确性形成了尖锐的矛盾。
模糊控制对那些难以获得数学模型或模型非常粗糙的工业系统,如那些大滞后、非线性等复杂工业对象实施控制有独特优势,但静态误差不易控制.模糊控制偏偏含有大量专家经验,实际实现比较困难,它绝不可以代替经
典的自动控制,而是扩展了一般的自动控制。
在一些实际过程中,人们也常把模糊
控制与一般的自动控制结合在一起应用,并且已研制出神经模糊网络的家电产品,
将模糊控制技术与人工神经网络、专家系统等人工智能中一些新技术相结合,向着
更高层次的研究和应用发展。
采用模糊控制其优点是不需要粗确知道被控对象的数学模型,而且适用于有较大滞后特性的控制对象。
缺点是静态误差不易控制,因含有大量专家经验,实际实现比较困难。
模糊控制比传统的PID控制等方法,在强时变、大时滞、非线性系统中的控制效果有着明显的优势。
将模糊控制技术应用于家电产品在国外已是很普遍的现象。
单片机是家用电器常用的控制器件,把二者结合起来,可使控制器的性能指标达到最优的目的。
基于模糊控制技术的单片机控制的电热水器,是对传统的电热水器开关控制的改造,具有达到设定温度的时间短、稳态温度波动小、反应灵敏、抗干扰能力强、节省电能等优点,将成为以后发展的主流。
1.4题目要求
设计利用AVR单片机,通过外围电路,对1升水进行温度控制。
技术参数:
1.设定精度0.1℃,控温精度0.2℃。
2.控温范围30-100℃。
3.系统具有设定和实时显示功能。
4.上位机通信及打印等功能。
5.根据设计要求自动水温控制系统应该由:
主控制单元、温度采集单元、功率输出单元、实时显示单元、通信单元及打印单元组成。
第2章方案论证
2.1系统整体结构设计方案
此方案采用ATmega16单片机最小系统板(自制)实现,对外围电路来说,比较简单,并且软件采用PID算法实现较为简单。
温度的数据采集采用DS18B20采集,直接转化为数字信号,不需要额外的AD转换电路,完全满足所需温度数据精度。
温度控制采用固态继电器SSR直接控制电加热器的通断进行水温的控制,满足控制精度。
显示模块采用HD7279A显示,较为直观。
另外,AVR单片机使用JTAG来实现软硬件调试非常方便。
图2-1硬件框图
2.2主控单元的论证
方案一:
采用ATmega16
1.AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的
真实情况。
工业级产品,具有大电流(灌电流)10~40mA,可直接驱动可控硅SCR或继电器,节省了外围驱动器件。
2.AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。
ATmega16具有8路10位A/D。
3.部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。
4.AVR单片机可重设置启动复位,以提高单片机工作的可靠性。
有看门狗定时器实行安全保护,可防止程序走乱(飞),提高了产品的抗干扰能力。
方案二:
采用89C51
89C51只支持并行写入,同时需要VPP高压。
89C51系列在低于4.8V和高于5.3V的时候则无法正常工作。
89C51工作频率范围最高只支持到24M。
抗干扰需外接看门狗计时器单元电路。
价格也比较高。
综上我选择方案一。
2.3温度采集单元的论证
方案一:
采用温度传感器DS18B20
美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:
如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与CPU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上可以挂接多个DS18B20,便于多点测量且易于扩展。
方案二:
采用温度传感器AD590
AD590需要模拟转数字电路,成本高,精度低,测温点数量少,电路繁多,对线阻有要求。
综上我选择方案一。
2.4功率输出单元的论证
方案一:
采用固态继电器
固态继电器的优点:
(1)高寿命,高可靠,SSR没有机械零部件,有固体器件完成触点功能,由于没有运动的零部件,因此能在高冲击,振动的环境下工作,由于组成固态继电器的元器件的固有特性,决定了固态继电器的寿命长,可靠性高。
(2)灵敏度高,控制功率小,电磁兼容性好,固态继电器的输入电压范围较宽,驱动功率低,可与大多数逻辑集成电路兼容不需加缓冲器或驱动器。
(3)快速转换,固态继电器因为采用固体其间,所以切换速度可从几毫秒至几微妙。
(4)电磁干扰小,固态继电器没有输入"线圈",没有触点燃弧和回跳,因而减少了电磁干扰。
大多数交流输出固态继电器是一个零电压开关,在零电压处导通,零电流处关断,减少了电流波形的突然中断,从而减少了开关顺效应。
方案二:
采用晶闸管
晶闸管又叫可控硅(SiliconControlledRectifier,SCR)。
自从20世纪50年代问世以来已经发展成了一个大的家族,它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管,等等。
今天大家使用的是单向晶闸管,也就是人们常说的普通晶闸管,它是由四层半导体材料组成的,有三个PN结,对外有三个电极:
第一层P型半导体引出的电极叫阳极A,第三层P型半导体引出的电极叫控制极G,第四层N型半导体引出的电极叫阴极K。
从晶闸管的电路符号可以看到,它和二极管一样是一种单方向导电的器件,关键是多了一个控制极G,这就使它具有与二极管完全不同的工作特性。
固态继电器就是通过光电耦合器隔离并触发可控硅,就算选择可控硅也要通过隔离元件进行隔离才行,两个并没有响应速度的可比较性,用单片机信号来控制,肯定是选择固态继电器,强电和控制信号间隔离。
综上选择方案一。
2.5键盘显示单元的论证
方案一:
采用HD7279A
HD7279A是一种智能键盘和LED专用控制芯片,它带有串行接口,可同时
驱动8位共阴极数码管或64只独立LED。
文中详述了该芯片的工作原理。
工作时序及控制指令,给出了HD7279A与CPU的实际接口电路及设计程序,
同时指出了实际应用中的一些注意事项。
方案二:
采用ZLG9A
ZLG9A具有片选信号,可方便地实现多于8位的显示,或多于64键的键盘接口,仪器仪表工业控制器,条形显示器,控制面板串行接口无需外围元件,可直接驱动LED各位独立控制译码及消隐和闪烁属性循环左移/循环右移指令具有段寻址指令方便控制独立LED64键盘控制器内含去抖动电路。
HD7279A和微处理器之间采用串行接口,其接口和外围电路比较简单,且占用口线少,加之它具有较高的性能价格比,因此,在微型控制器。
智能仪表。
控制面板和家用电器等领域获得了日益广泛的应用。
综上选择方案一。
第3章硬件设计
3.1主控单元的设计
3.1.1ATmega16单片机介绍
ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。
由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
ATmega16AVR内核具有丰富的指令集和32个通用工作寄存器。
所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。
这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。
ATmega16有如下特点:
16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。
工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振
荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。
本芯片是以Atmel高密度非易失性存储器技术生产的。
片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。
引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlashMemory)。
在更新应用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。
通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。
ATmega16具有一整套的编程与系统开发工具,包括:
C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。
3.1.2ATmega16产品特性
高性能、低功耗的8位AVR微处理器
1.先进的RISC结构
2.131条指令
3.大多数指令执行时间为单个时钟周期
4.32个8位通用工作寄存器
5.全静态工作
6.工作于16MHz时性能高达16MIPS
7.只需两个时钟周期的硬件乘法器
8.非易失性程序和数据存储器16K字节的系统内可编程Flash,擦写寿命:
10,000次。
具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的同时读写操作
9.512字节的EEPROM,擦写寿命:
100,000次
10.1K字节的片内SRAM
11.可以对锁定位进行编程以实现用户程序的加密
12.JTAG接口(与IEEE1149.1标准兼容)符合JTAG标准的边界扫描
功能
13.支持扩展的片内调试功能,通过JTAG接口实现对Flash、EEPROM、熔
丝位和锁定位的编程
14.外设特点
(1)两个具有独立预分频器和比较器功能的8位定时器/计数器
(2)一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器
(3)具有独立振荡器的实时计数器RTC
(4)四通道PWM8路10位ADC,8个单端通道,2个具有可编程增益(1x,10x,或200x)的差分通道
(5)面向字节的两线接口
(6)两个可编程的串行USART
(7)可工作于主机/从机模式的SPI串行接口
(8)具有独立片内振荡器的可编程看门狗定时器
(9)片内模拟比较器
15.特殊的处理器特点
(1)上电复位以及可编程的掉电检测
(2)片内经过标定的RC振荡器
(3)片内/片外中断源
(4)6种睡眠模式:
空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式
16.I/O和封装
(1)32个可编程的I/O口
(2)40引脚PDIP封装,44引脚TQFP封装,与44引脚MLF封装
工作电压:
ATmega16L:
2.7-5.5V
ATmega16:
4.5-5.5V
速度等级
8MHzATmega16L
0-16MHzATmega16
ATmega16L在1MHz,3V,25°C时的功耗
正常模式:
1.1mA
空闲模式:
0.35mA
掉电模式:
<1μA
3.1.3ATmega16引脚功能
图3-1AVR单片机管脚图
VCC电源正
GND电源地
端口A(PA7..PA0)端口A做为A/D转换器的模拟输入端。
端口A为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。
端口B(PB7..PB0)端口B为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。
端口B也可以用做其他不同的特殊功能。
端口C(PC7..PC0)端口C为8位双向I/O口,具有可编程的内部上拉
电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复
位过程中,即使系统时钟还未起振,端口C处于高阻状态。
如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。
端口C也可以用做其他不同的特殊功能.
端口D(PD7..PD0)端口D为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。
端口D也可以用做其他不同的特殊功能.
RESET复位输入引脚。
持续时间超过最小门限时间的低电平将引起系统复位。
门限时间见P36Table15。
持续时间小于门限间的脉冲不能保证可靠复位。
XTAL1反向振荡放大器与片内时钟操作电路的输入端。
XTAL2反向振荡放大器的输出端。
AVCCAVCC是端口A与A/D转换器的电源。
不使用ADC时,该引脚应直接与VCC连接。
使用ADC时应通过一个低通滤波器与VCC连接。
AREFA/D的模拟基准输入引脚。
3.1.4ATmega16内核介绍
为了获得最高的性能以及并行性,AVR采用了Harvard结构,具有独立的数据和程序总线。
程序存储器里的指令通过一级流水线运行。
CPU在执行一条指令的同时读取下一条指令(在本文称为预取)。
这个概念实现了指令的单时钟周期运行。
程序存储器是可以在线编程的FLASH。
快速访问寄存器文件包括32个8位通用工作寄存器,访问时间为一个时钟周期。
从而实现了单时钟周期的ALU操作。
在典型的ALU操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。
整个过程仅需一个时钟周期。
寄存器文件里有6个寄存器可以用作3个16位的间接寻址寄存器指针
以寻址数据空间,实现高效的地址运算。
其中一个指针还可以作为程序存储器查询表的地址指针。
这些附加的功能寄存器即为16位