




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、前 言(一)设计任务及要求本文介绍的是一个由PIC16F877为核心的单片机制作的一个水温控制器。实现温度控制系统的设计过程,其中涉及系统结构设计、元器件的选取和控制控制算法的选择、和整体电路的设计以及部分电路的设计。在系统构建时选取了数字温度传感器AD7416测量温度,基于PID温度控制方式实现温度控制。系统设计水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变;能在40摄氏度至90摄氏度范围内设定控制水温,静态控制精度为0.2摄氏度;具有较好的快速性与较小的超调等功能。自70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。在现代冶金、石油、化工及电力生产过程中,温度是极为重要而又普遍的热工参数之一。在环境恶劣或温度较高等场合下,为了保证生产过程正常安全地进行,提高产品的质量和数量,以及减轻工人的劳动强度、节约能源,要求对加热炉炉温进行测、显示、控制,使之达到工艺标准,以单片机为核心设计的炉温控制系统,可以同时采集多个数据,并将数据通过通讯口送至上位机进行显示和控制。那么无论是哪种控制,我们都希望水温控制系统能够有很高的精确度(起码是在满足我们要求的范围内),帮助我们实现我们想要的控制,解决身边的问题提高人民的生活水平。通过本方案的设计,使本系统具有设置水温、实时显示温度,控制温度和报警保温等功能,它具有结构简单、实现容易,成本低,具有实用价值等特点。而且还可以根据自己的需要来进行扩展,具有灵活使用的优点。1. 基本要求具备测量与控制两种工作方式;测量误差0.5度;温控范围20100度;2. 扩展部分 测量误差0.1度; 控制误差0.5度;(二)方案的比较与选择方案一 :采用以单片机PIC16F877为核心,数字温度传感器AD7416测量温度,基于PID温度控制方式实现温度控制。单片机资源丰富,使用方便灵活,易于进行功能扩展。系统的多个部件如,定时器,加热开关,按键设定温度,显示温度等都可利用单片机来实现,可靠性好,抗干扰能力强。方案二:数字温度传感器测量温度,用数字系统来实现温度控制。该电路利用上,下限温度控制,3(1/2)为LED数字表头及电源电路组成。这种方案实现简单,但是这种设计电路器件很多,调试起来很困难,并且对模拟电路的知识要求非常高,只有在特别适合精度要求较高的场合使用,不灵活。 方案三:采用温度传感器铂电阻Pt1000。铂热电阻的物理化学性能在高温和氧化性介质中很稳定,它能用作工业测温元件,且此元件线性较好。在0100摄氏度时,最大非线性偏差小于0.5摄氏度。铂热电阻与温度关系是,Rt = R0(1+At+Bt*t);其中Rt是温度为t摄氏度时的电阻;R0是温度为0摄氏度时的电阻;t为任意温度值,A,B为温度系数。因此从实际情况考虑出发,综合比较各方面因素最终采用方案一来进行系统设计。二、总体设计(一)系统总体设计1设计思想 根据温度控制器的功能要求,并结合对PIC16F87X系列单片机的资源分析,采用此系列中的主流型号PIC16F877作为电路系统的控制核心,数字温度传感器测温,LED显示温度,按键设定目标温度,PID温度控制,保温报警等几个主要模块组成.首先选择相应具体的工作实现元器件及方案。如下:(1)常用温度控制系统分析温度是一个普通而又重要的物理量,在许多领域里人们需对温度进行测量和控制。长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,产生了大批温度控制器,如性能成熟应用广泛的PID调节器、智能控制PID调节器、自适应控制等。此处主要对一些控制器特性进行分析以便选择适合的控制方法应用于改造。PID在温度控制中已使用数十年,是一种成熟的技术,它具有结构简单、易于理解和实现,且一些高级控制都是以PID为基础改进的。在工业过程控制中90%以上的控制系统回路具有PID结构,在目前的温度控制领域应用十分广泛,即使在科技发达的日本,PID在其温度控制应用中仍然占80%的比例。其主要构成如图1所。由图可知PID调节器是一种线性调节器,这种调节器是将设定值w与实际输出值y进行比较构成偏差图1 模拟PID控制并将其比例、积分、微分通过线性组合构成控制量。其动态方程为: (1)其中-为调节器的比例放大系数-为积分时间常数-为微分时间常数PID调节器的离散化表达式为其增量表达形式为: 其中T为采样周期。可见温度PID调节器有三个可设定参数,即比例放大系数、积分时间常数、微分时间常数。比例调节的作用是使调节过程趋于稳定,但会产生稳态误差;积分作用可消除被调量的稳态误差,但可能会使系统振荡甚至使系统不稳定;微分作用能有效的减小动态偏差。在实际使用中,在满足生产过程需要的前提下,应尽量选择简单的调节器,这样既节省投资,又便于维护。常规PID控制调节器是一种应用广泛技术成熟的控制方法,它能满足一般工业控制的要求,其优点是原理简单、使用方便、适应性广。采用PID控制,控制效果的好坏很大程度上取决于PID三个控制参数的确定。对一个控制系统而言, 只要参数选择适当,都能取得较好的控制效果。(2)自动控制方式为了实现温度的自动控制,必须要组成一定的系统结构。该控制系统是把输出量检测出来,经过物理量的转换,再反馈到输入端去与给定量进行比较(综合),并利用控制器形成的控制信号通过执行机构SSR对控制对象进行控制,抑制内部或外部扰动对输出量的影响,减小输出量的误差,达到控制目的。在此控制系统中单片机就相当于常规控制系统中的运算器控制器,它对过程变量的实测值和设定位之间的误差信号进行运算然后给出控制信息。单片机的运算规则称为控制法则或控制算法。常用的控制算法有以下几种 经典的比例积分微分控制算法。 根据动态系统的优化理论得到的自适应控制和最优控制方法。 根据模糊集合理论得到模糊控制算法。自适应控制、最优控制方法以及模糊控制算法是建立在精确的数学模型基础上的,在实时过程控制中,由于控制对象的精确数学模型难于建立,系统参数经常发生变化,运用控制理论进行综合分析要花很大代价,主要是时间。同时由于所得到的数学模型过于复杂难于实现。在实时控制系统中要求信号的控制信号的给出要及时,所以在目前的过程控制系统中较少采用自适应控制、最优控制方法和模糊控制算法。目前在过程控制中应用较多的还是PI控制算法、PD控制算法和PID控制算法。2器件选型(1)传感器的选择 由于本设计是精确控制系统,并且有控制范围上的要求,所以在选择传感器上要着重考虑其精度和测试范围。AD公司的AD590和AD7416都包含一个可以精确测量环境温度的片内温度传感器,但AD590是模拟传感器,需对温度模拟信号进行数字化处理,在调理和放大信号时,又会带来新的误差,影响精度,而AD7416包含一个10位AD转换器,是一个以0.25的分辨力将温度数字化的数字式温度传感器,并且其测温理论范围为-55度到125度,因其精确度高,范围可选这两大特点,故本设计的传感器选为AD7416。可广泛应用于个人计算机、电子测试设备、办公设备、家用电器、过程控制等场合。该系列有:AD7414、AD7415、AD7416、AD7814等四种型号,它们的工作原理相同,主要参数见表,引脚排列如图所示。 表1 主要参数型 号AD7414AD7415AD7416AD7814接口方式I2C /SM BUS SPI / DSP温度测量范围55125408540855512555125超温指示有无有无省电工作方式无有最大并联数3 81工作电压2.75.5V转换时间400s封装SOT-23SOT-23SO-8/RM-8SOT-23/uSOIC图2 AD系列引脚分布(2)单片机的选择现在,市场上的单片机种类繁多,例如51、PIC等。而51系列单片机不具有IIC端口,要对其进行模拟设置;并且相对PIC来说,其指令也较复杂。本设计选用了指令精简、集成度高,并具有IC 接口的PIC单片机,而PIC16F877这一型号的PIC单片机已能够满足系统的需要(图3)。图3 PIC16F877单片机美国微芯公司推出的CMOS 8位PIC系列单片机,采用精简指令集(RISC)、哈佛总线结构、2级流水线取指令方式,具有实用、低价、指令集小、简单易学、低功耗、高速度、体积小、功能强等特点,体现了单片机发展的一种新趋势,深受广大用户的欢迎,已逐渐成为单片机发展的新潮流。PIC16F87X是微芯公司的中档产品。它采用14位的类RISC指令系统,在保持低价格的前提下,增加了A/D转换器、内部E2PROM存储器、比较输出、捕捉输入、PWM输出(加上简单的滤波电路后还可以作为D/A输出)、I2C总线和SPI总线接口电路、异步串行通信(USART)接口电路、模拟电压比较器、LCD驱动、FLASH程序存储器等许多功能,可以方便地在线多次编程和调试,特别适用于初学者学习和在产品的开发阶段使用;它也可以作为产品开发的终极产品。微芯公司还将FLASH芯片做成与OTP芯片价格相近,以致可用FLASH芯片代替OTP芯片。微芯公司的单片机是品种最丰富的单片机系列之一,被广泛地应用于各种仪器和设备中。这种单片机具有如下显著的特点:开发容易,周期短:由于PIC采用类RISC指令集,指令数目少(PIC16F87X 仅35条指令),且全部为单字长指令,易学易用;相对于采用CISC(复杂指令集)结构的单片机可节省30 %以上的开发时间、2倍以上的程序空间。高速:PIC采用哈佛总线和类精简指令集,逐步建立了一种新的工业标准,指令的执行速度比一般的单片机要快45倍。低功耗:PIC采用CMOS电路设计,结合了诸多的节电特性,使其功耗很低;100 %的静态设计可进入休眠(Sleep)省电状态,而不会影响激活后的正常运行。微芯公司的单片机是各类单片机中低功耗设计最好的产品之一。低价实用:PIC配备有OTP(One Time Programmable)型、EPROM型及FLASH型等多种形式的芯片,其OTP型芯片的价格很低。PIC还提供程序监视器(WDT)和程序可分区保密的保密位(Security Fuse)等功能;提供了基于Windows98/NT/2000的、方便易用的、全系列产品开发工具及大量子程序库和应用实例,使产品开发更容易、快捷。3设计步骤系统的工作原理如图4所示, 数字温度传感器将温度测量出来,送给单片机通过软件控制并用LED数码管显示出来,人工设置目标温度通过加热水温,使水温达到目标温度。图4 整体系统框图4系统计算传感器将温度转换成电压,再由A/D转换器转换成10位数字量送温度值寄存器。A/D转换器的一次转换时间约400s,其数字温度传感器的精度为0.25,所以温度测量精度为0.3,通过实验我们的控制精度为0.4。(二)单元电路的功能原理分析 基本硬件电路图如图所示。在本系统中单片机的引脚分布:RA0用于报警,RA1用于控制继电器,RA3 用于启动加热开关,MCLR用于复位,RA2是步进按纽,RD2RD7用于控制LED的扫描,RC3RC4分别是时钟线信号和数据线信号。1温度测量测温元件采用AD公司的单线数字温度传感器AD7416。AD7416提供十位温度读数,测量范围-55+125,采用独IC 总线协议,只需一根口线即实现与MCU的双向通讯,具有连接简单,高精度,高可靠性等特点。在工作时,通过总线向其提供电源,单片机发出指令码读取温度值。每400微秒取样一次,取4次温度值的平均值。每0.5秒刷新一次。2显示电路我们通过实际观察当时当地的温度得知,温度不会达到100度。温度采用三位七段码显示099。9。对温度进行循环扫描显示,二个LED用于当前按键功能设定。3加热控制电路单片机通过光电耦合对继电器进行控制,用来切断或接通加热管电源,从而达到对水温的控制。4按键设定温度本次是采用软件来实现的,每5毫秒检测一次按键,如果连续两次均为按下状态,则置按键状态位有效。此后一直等到按键状态位清零再重新开始检测。5系统总电路图系统总体设计图如图5所示:各个功能模块都在上面。图5 总电路图(三)发挥部分设计PIC16F877本身具有看门狗定时器,当系统出现异常时,能自动进行掉电保护和系统复位。系统采用硬件计数器来计数,提高CPU的工作效率。三、系统软件设计(一)程序的主流程图图6 主流程图在设计程序编写过程中,首先还有一系列的准备工作。在这个程序中涉及到了许多的库和组成文件,主要有:main.c 、isr.asm、 key.asm、hardware.asm、 led.asm、system.asm 、sacm_user_a2000.h。/=/函数: 主程序/语法: main(void)/描述:、键盘扫描、温度控制/参数:无/返回:无/=main(void) int iKeyValue; status = system_temperature_set; guifgSpeechPlay = 0;System_Initial();PIDinit();while(1) System_ServiceLoop(); /键盘扫描、去抖动处理 iKeyValue = SP_GetCh(); /取键值 key_value_process(iKeyValue); /键值处理 if(status = system_temperature_control) display_speech_ADC_temperature();/测量温度显示、温度播报、PID计算 Clear_WatchDog(); /清看门狗 System_ServiceLoop(); /键盘扫描 if(fOutSetPoint*10 - NextPoint; / 偏差 pp-SumError += Error; / 积分 dError = pp-LastError - pp-PrevError; / 当前微分 pp-PrevError = pp-LastError; pp-LastError = Error; return (pp-Proportion * Error / 比例项 + pp-Integral * pp-SumError / 积分项 + pp-Derivative * dError / 微分项 );N初始化开始结束计算E一次启动?C=0计算C记录当温计算U返回U图11 温度控制框图5其他功能模块数据处理、保温、定时计数等其他功能程序都根据程运行时间进行了统筹设计,在此不再进行详述。四、系统测试与调试(一)电路测试电路焊接无误后,先将数字温度传感器放到水里,LED会显示出当前水的温度,再放一支标准温度计与之比较,若几乎相等,则说明电路无误;再设定目标温度,若可以自动加热,使达到目标温度,则说明电路测试无误,实验可以正常进行。(二)仪器的使用 首先连接好相应的电源线,将温度计和传感器放在水里,此时数码管会显示出当前温度值,用户可以根据需要设定目标温度值,按下加热开关可开始加热。当温度达到你所想要的温度时,系统会自动断电,接着系统它又会进入保温系统,进行保温。(三)测试的结果根据测试得到的部分实验数据如表 5-1:实验数据验证说明,测量误差为0.3控制误差为0.4,因此本系统的设计不管是在采样控制显示温度,还是在实时处理显示精度上,都取得了理想的效果。表2 数据测量表当前温度值20.520.53040506050.5131180目标温度值60304050708060402090精确温度值60.330.240.250.070.580.160.34020.389.9实测温度值60.430.340.249.870.480.260.240.220.290.2测量精度0.10.100.20.10.10.10.20.10.3控制精度0.40.30.20.20.40.20.20.20.20.2(四)发挥部分测试当温度达到目标温度后,系统会自动报警提醒用户。这时候,系统会进入保温状态。温度时温度达到的最高温度与目标温度的差值只有0.3的误差。五、结 论本次实验采用了PICC编程方式,实现了温度的测量与控制,完全达到了本次实验的要求,更重要的是该实验的测量误差小于0.3度,控制误差小于0.4度,已基本实现本实验扩展部分的要求。它可以广泛用于温度测量精度要求比较高的场面,实现简单,成本低。综上所示,本系统的方案具有实用推广价值。本系统通过添加一个传感器,将其贴放在电热杯的内壁上,系统开始加热,若温度迅速上升,则说明杯中水不足,很有可能为干烧,为不安全加热,用户请注意,这属于该系统需要改进的地方。致 谢通过这次,基本上掌握了开发一个电子监控控制系统的基本思路和实施步骤。在设计和写作的整个过程中,指导汪光宅教授和刘强老师在各方面都给予了全面的指导和帮助。导师的精深渊博知识、求实创新、勤奋严谨的治学风范、忘我的工作作风时刻熏陶着我;导师的因材施教、诲人不倦的授业精神给学生留下了深刻的印象,这将使我受益终身。在校期间,得到辅导老师的亲切关怀和无私的培养,使我在学习的过程学到了许多做人的道理。在此我向他们道声:您们辛苦了!感谢的老师们多年来在工作、学习上给予的热情关怀、指导与帮助。另外,互联网上一些朋友也给我完成设计提出了很多宝贵的意见和无私的帮助。这对于我以后的学习和工作都有很大的帮助,在此对他们表示由衷的感谢。特别感谢我的姐姐对我的默默奉献,在学习上的理解和大力支持!感谢父母及家人多年来的在生活和学习上的鼓励和支持!附 录附录一 设计总电路图附录二 设计PCB图附录三 设计3D图附录四 程序清单#include /头文件unsigned char s14,s24;/采集温度数据并存储到两个数组中,高字节存到S1中,低字节存到S2中unsigned int counter1,counter2,figure1=2,figure2,flag2;/定时器,目标温度,标志位申明unsigned int num1,num2,flag1=0,i,j,m;/采集温度数据num1:整数位,num2:小数位,启动标志位flag1及延时变量申明double y,temp,e,c,t,u,k;/模糊控制参数申明const char table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/不带小数点笔段码const char table010=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;/带小数点笔段码/*系统I/O端口初始化子程序*/void INITIAL()OPTION=0X0F;ADCON1=0X07;/设定RA口为变通数字端口TRISD=0;TRISB=0;PORTD=0;PORTB=0;TRISA2=1;TRISA3=1;TRISC0=0;TRISA0=0;TRISA1=0;TRISC1=0;RC0=0;RC1=0;RA0=0;RA1=0;/tmr1初始化子程序void tmr1int()TMR1IF=0;PEIE=1;TMR1IE=1;T1CON=0X30;/tmr2初始化子程序void tmr2int()TMR2IF=0;PEIE=1;TMR2IE=1;T2CON=0X7B;PR2=255;/i2c初始化子程序void i2cint()SSPCON=0X08;/初始化sspcon寄存器TRISC3=1;/设置scl为输入口TRISC4=1; /设置sda为输入口SSPSTAT=0X80;/初始化sspstat寄存器SSPADD=19;/设定i2c波特率50khz频率SSPCON2=0X00;/初始化sspcon2寄存器di();/关闭总中断SSPIF=0;/清ssp中断标志SSPEN=1; /ssp模块使能 /5ms延时子程序void delay()for(j=300;-j;)continue;/用户目标温度输出子程序void ledout()PORTB=tablefigure1;RD7=1;delay();RD7=0;PORTB=tablefigure2;RD6=1;delay();RD6=0;PORTB=0X40;RD5=1;delay();RD5=0;/键盘服务子程序int keyserve()RC0=0;RC1=1;if(RA2=0)figure1+=1;RC0=1;RC1=0;if(RA2=0)figure2+=1;if(figure1=10)figure1=2;if(figure2=10)figure2=0;RC0=0;RC1=1;if(RA3=0)flag1=1;RC0=0;RC1=0;i2cin();display();while(1)if(RA2=1)&(RA3=1) /等待键盘松开break;i2cin();/模糊控制算法float control( ) if(flag2=1) /判断是否第一次启动控制c=0; /是,则C设定为0;else c=(float)(num1*100+num2)/100-temp;/否,则C为当前温度与上一采样温度之差u=k*e+(1-k)*c; /模糊控制公式temp=(float)(num1*100+num2)/100;/记录上一时刻温度值return u; /返回控制参数 /冒泡从小到大排序算法void bubblesort(char a,int num)int m,n,flag=1,temp;for(m=1;mnum&flag=1;m+)flag=0;for(n=0;nan+1)flag=1;temp=an;an=an+1;an+1=temp;/led显示部分int display()CLRWDT();bubblesort(s1,4);/S1从小到大排序bubblesort(s2,4);/S2从小到大排序num1=(s11+s12)/2; /滤去最大,最小数再求平均值PORTB=tablenum1/10;/送显RD4=1;delay();RD4=0;PORTB=table0(num1-(num1/10)*10);RD3=1;delay();RD3=0;PORTB=tablenum2/10;RD2=1;dela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026招商银行武汉分行校园招聘备考考试题库附答案解析
- 阅读之旅模板
- 文化公司税务咨询方案
- 本土企业应对策略-洞察及研究
- 油墨厂水性建筑油墨设备操作规定
- 水产养殖过程中病原微生物及污染物的安全性研究-洞察及研究
- 河南省新乡市2025-2026学年高一上学期9月月考历史试卷(含答案)
- 2024-2025学年广东省汕头市澄海区实验学校人教版六年级上册期中素养展示测试数学试卷(含答案)
- 电池厂化成柜配件管理规范规章
- 卷积神经网络驱动的图书馆信息检索-洞察及研究
- 朋友的古诗句
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传海报
- 道路工程交通安全设施施工方案及保障措施
- 征信数据纠正服务合同
- 肝癌超声课件教学课件
- 合规岗位季度工作计划
- 制造业生产管理:Excel2024版高效培训教程
- 漫展嘉宾合同模板
- 药物分析考试题及答案(新版)
- 第一单元 单元检测试卷(一)(解析版)高中思想政治 统编版 必修四
- 小餐饮保证食品安全的规章制度
评论
0/150
提交评论