《基于单片机的温度控制设计--毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《基于单片机的温度控制设计--毕业设计(论文).doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计(论文)1 绪论11课题背景当今科技发展日新月异,人们生活水平迅速提高,家用电器越来越受到人们的重视。随着科技的进步以及对生活质量要求的不断提高,人们对家电的选择和使用己经从只关心家电的单项功能转向追求家电品位和控制的便捷性,信息技术和网络化技术的发展,为家用电器的智能化提出了更高的要求 。将信息技术与家电控制技术相融合,在更大程度上实现家庭生活的信息化和自动化,满足人们舒适、高节奏的生活需要,正是消费类电子产品下一步的发展趋势。随着科技的进步以及对生活质量要求的不断提高,人们对家电的选择和使用己经从只关心家电的单项功能转向追求家电品位和控制的便捷性,信息技术和网络化技术的发展。当前,
2、世界许多国家家用电器制造商和科研机构都投入了大量人力物力和资金,运用现代高新科技,研制和开发着眼于21世纪的家用电器。有人曾经预言:21世纪将是智能家电的世纪。所谓智能家电,是指运用现代最新科技,通过计算机及其他辅助设备来研制开发的新一代具有智能功能的家用电器,能够尽量带给人们方便,满足人们的需求。 本文就是利用本专业知识,开发出一种适合市场需要的单片机温度控制系统-家用智能电冰箱的主控板。本课题在对家用电冰箱发展状况及其市场调研的基础之上,提出了一种基于PIC16C711单片机的电冰箱主控板的设计方法。12电冰箱的现状电冰箱让鲜货随手可取,人们的生活已经越来越离不开电冰箱。20世纪以前,用冰
3、箱保存食物是不可想象的,20世纪没有电冰箱的生活是不可想象的。时下,家电产品日新月异,家用电冰箱也不例外。近几年,我国电冰箱市场将进入新一轮消费高潮,产品类型新老交替。目前市场销售的双门直冷式电冰箱,含有冷冻室和冷藏室,冷冻室通常用于冷冻的温度为-6-18;冷藏室用于在相对冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,室温一般为010。传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满
4、率、环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温度控制,既难以建立一个标准的数学模型,也无法用传统的PID调节来实现.一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效果。 针对上述的情况,本文给出了一种新型智能电冰箱的设计方法。有效的解决的目前电冰箱使用过程中的一些问题。372 温度控制系统总体设计方案21引言 本章主要提出了温度控制系统的总体的设计思想,画出总体设计框图。详细介绍了单片机温度控制系统的功能特点,为满足上述功能要求,制定了一系列的实施方案。22设计思想 该系统是以单片机为核心实现温度控制的,通过传感器采集外部温度信号,然后把温度信号
5、转变为电信号,再通过A/D转换模块进入单片机,单片机通过运算得出温度值,根据所要求的范围来控制压机、风机、加热丝等外部器件的动作。总体设计框图如图2-1所示。 单 片机信号采样冷藏温度传感器冷冻温度传感器冷藏室冷冻室按键信号状态指示外部器件 图2-1 PIC16C711外部结构图 Figure 2-1 the configuration23 功能特点本装置具有以下功能: 状态指示功能 温度控制功能A 刚上电时,若箱内温度处于开机点与关机点之间,则不开机,直到温度回升到开机点时才能开机。B 冷藏室内开机温度固定不可调,关机温度可调,调节范围为-16-28。 C 冷冻传感器:开机点温度为-10,关
6、机点温度为-15。D 冷藏传感器与冷冻传感器同时控温。当其中有一传感器温度达到开机点时,则开机;当两者温度都达到各自关机点时才关机。 超温报警功能冷冻传感器的温度不能超过-5,超过-5时要求系统自动报警。 低温补偿功能 自动化霜功能:压机累计工作18小时30分钟,自动化霜。从进入自动化霜时开始计时,90分钟内超温报警功能被屏蔽。 强制化霜功能:强制化霜时间为30秒 传感器故障保护功能A 当冷藏传感器出现开路或短路故障时,开关机由冷冻传感器单独控制。B当冷冻传感器出现开路或短路故障时,开关机由冷藏传感器单独控制。C当冷藏传感器和冷冻传感器同时出现开路或短路时,进入开机20分钟,停机20分钟的固定
7、循环状态。D 在传感器故障时,红色指示灯闪烁;当传感器与超温报警条件同时存在时,红色指示灯的传感器故障报警显示功能优先。 延时保护功能: 每次压机关机后,强制停机5分钟1分钟,然后进入正常控制。 掉电记忆功能:掉电60分钟内,记忆自动化霜状态值及压机累计工作时间。24 设计方案为满足上述功能要求,制定了以下方案:一、使用三个不同颜色的发光二极管指示三个不同的工作状态: 绿灯:电源指示灯,工作时绿灯常亮。 黄灯:低温补偿指示灯,进入低温补偿状态时黄灯常亮。 红灯:超温报警及传感器故障指示灯,进入超温报警状态时,红灯常亮,传感器出现故障时,红灯闪烁。二、温度控制功能中的A、C、D点通过软件来实现,
8、而B点的功能通过电位器的调节来实现。三、自动报警采用光报警形式,设定红灯为报警灯,当冷冻传感器温度-5时,系统进入报警状态,红灯常亮,一旦冷冻传感器温度低于-5,红灯熄灭。四、单片机外部加一低温补偿键,当键按下时,单片机进入低温补偿状态,黄灯亮,接通补偿加热丝。再按下低温补偿键,黄色切换指示灯灭,断开补偿加热丝,退出低温补偿状态。五、系统进入自动化霜状态后单片机控制压机风机断开,接通化霜加热丝。工作30分钟后,断开加热丝,接通压机,再过15分钟,接通风机,自动化霜结束,进入正常控制。一进入化霜状态,屏蔽超温报警功能,定时器计时90分钟,90分钟后恢复超温报警功能。六、单片机外加一强制化霜键,键
9、按下时断开压机和风机,接通化霜加热丝,30秒后,断开化霜加热丝进入正常控制。七、传感器故障保护功能的实现关键在于检测故障的方法,我是通过检测温度采样信号来判断的,当信号为0v时,说明传感器开路;为5v时,说明传感器开路。检测故障后置标志位,然后执行相应程序。八、每次压机停机后,屏蔽允许开机标志位,调用延时子程序,延时时间到后,恢复允许开机标志位,再进入正常工作。九、掉电记忆功能:在电源部分加一储能元件,在电源掉电时继续给单片机供电。25其它控制算法 不同的控制对象,所采用的算法有所不同。例如对于热惯性大、时间滞后明显、耦合强、难于建立精确数学模型的大型立式淬火炉,可以采用人工智能模糊控制算法,
10、通过对淬火炉电热元件通断比的调节,实现对炉温的自动控制,也可以采用仿人智能控制(SHIC)算法和PID控制算法的联合控制方案,实际应用时应灵活运用。3 单片机选型及其简介31引言 PIC16C711是一种性能高、价格低、小封装、采用CMOS工艺、全静态设计的8位单片机,它是PIC16C5X系列改进型的第一个新成员。对PIC16C5X系列有了解的读者将会看到它是和PIC16C5X向上兼容的,为PIC16C5X编写的程序很容易移植到PIC16C711中。与PIC16C5X系列相比,PIC16C711增加了4种硬件中断及4路的A/D转换,从而使它成为一种性价比很高的单片机,它所具备的特点可以减少设计
11、中的很多外围部件,从而使设计更简洁、可靠、成本更低。PIC16C711同样具有OTP(一次性可编程型),开发起来很方便。本章详细介绍了选择PIC16C711的原因及其主要特点。32单片机选型 通过总体设计的分析,本系统有六路输入和五路输出,所以需要十一个I/O口;五路输入中有三路模拟输入信号,需要经过A/D转换,所以还需要A/D转换模块。 基于以上要求,在设计之前我查阅了大量的单片机资料,并且进行了大量的考察工作。通过考察我发现PIC系列单片机应用广泛,且具有低功耗、高性能、驱动能力强等多方面的优点,自带A/D转换。由于我的设计需要A/D模块,并且需要的I/O口数量不是很多。所以我选择了PIC
12、16C711芯片,因为:(1) PIC16C71单片机具有4路模拟输入功能,这种特点使之能够满足冷藏传感器、冷冻传感器,以及基准电压的的输入,系统不需要专门的A/D转换装置。(2) PIC16C71单片机自身具有1K容量的程序存储器,考虑到电冰箱控制系统控制功能简单,程序量小,可以不需要为系统扩展大容量的程序存储器。(3) PIC16C71单片机总共具有13路I/O端口,可以满足系统功能的要求,不需另外扩展。(4) 另外,PIC单片机价格便宜,指令简单,非常适合开发此类产品。33 PIC16C711简介331 基本特性 美国Microship公司的PIC16C711单片机是一种CMOS工艺的8
13、位单片机,PIC16C711单片机在仪表、控制领域有着得天独厚的条件,具有高性能RISC结构CPU、8级硬件堆栈、13个双向I/O 口、4 路8 位A/D 、8 位定时/计数器;具有中断功能、上电复位和睡眠工作方式;I/O 驱动吸收电流为25mA;片内RAM 容量为68Bytes;片内EPROM容量为1K14;工作电压3 6 V;此外PIC16C711 单片机片内还具有看门狗电路。因此在利用单片机进行模拟量测量的场合, PIC16C711单片机是一种理想单片机, 由于其指令简单(仅35 条),操作方便,自问世以来倍受欢迎。可以肯定, PIC16C711 单片机在我国近年来将得到广泛应用。然而,
14、在许多情况下,数据还需系统机处理,这样必须通过通讯电路完成数据的传递。由于PIC系列单片机没有串行口, 故为PIC系列单片机设计通讯电路与软件是应用此类单片机的必需条件。一、主要功能特点1、RISC特点的CPU(1)仅37条指令,全部为单字节(14位宽)。(2)除分支跳转指令为双周期指令外,其余指令都是单周期指令。(3)指令周期:4MHZ振荡频率下1us.20MHZ下200ns。(4)数据线和指令线独立分开,分别为8位宽和14位宽。(5)片内102414的程序存贮空间。(6)36个8位通用寄存器(SRAM)。15个特殊功能寄存器。(7)8级子程序堆栈。(8)直接、间接和相对三种寻址方式。(9)
15、4个中断源:外部触发中断INT,定时器/计数器RTCC溢出中断,A/D转换结束中断和四个RB端口引脚电平变化引起的中断。2、外围特点(1)13个双向可编程I/O口。(2)I/O口驱动能力强,其灌/拉电流可直接驱动LED显示。(3)带有8位预设倍率的计数器RTCC。(4)4路A/D输入:能采样及保持;转换时间20us;8位分辨率,精度1LSB;外部参考电压输入Vref(Vref=vdd);模拟量输入范围:vssvref。3、微控制器特性(1)内置上电复位电路(POR)。(2)电源上升定时器,以利稳定电源的建立。(3)振荡起振定时器,以利稳定振荡的建立。(4)自振式看门狗(WDT)。(5)程序保密
16、熔丝,保护片内程序代码不被非法拷贝。(6)低功耗模式(SleepMode)。(7)四种用户可选择振荡方式:低成本RC振荡;标准晶体/陶瓷振荡XT;高速晶体/陶瓷振荡HS;低功耗晶体振荡LP。(8)102414用户可编程程序存贮器。4、CMOS功艺特点(1)低功耗:小于2mA,5V,4MHZ振荡;小于15uA,3V,32KHZ(A/D关闭);小于1uA,3V,Sleep模式(2)工作电压范围3.06.0v。二、外部结构 PIC16C71外部结构很简洁,如3-1所示 VDD:电源 VSS:地OSC1:外部时钟输入腿/振荡器连接腿。OSC2/CLKOUT 振荡器连接腿/RC振荡时的时钟输出腿。MCL
17、R:外部复位腿,低电平有效图3-1 PIC16C711外部结构图Figure 3-1 the configuration三、内部结构 PIC16C71内部结构如图2-2所示RA4/RTCC:开漏输出/输入腿,它也是RTCC的时钟输入腿。RA0/AIN0:双向I/0腿/模拟输入通道0,作为数字输入腿时具有TTL输入电平。RA1/AIN1:见RA0/AIN0。RA2/AIN2:见RA0/AIN0。RA3/AIN3:见RA0/AIN0。RB0/RB7:双向I/O脚/外部中断输入。TTL输入电平。RB1-RB7:双向I/O腿,TTL输入电平。它具备了精简指令集(RISC)结构微处理器的特点,首先它采用
18、了“哈佛”结构,配备独立分开的数据总线和指令总线,从而使所有指令都是单字节,而且执行速度更快。 图3-2 PIC16C71内部结构图 Figure 3-2 the inside 1、数据寄存器 PIC16C71可直接或间接访问它的48个通用和特殊功能寄存器。所有特殊功能寄存器都被映射到数据存贮器中,而且它能在任何寄存器上以任意的寻址方式进行任何一种操作,这使得PIC16C71的编程简单而高效,并且易学。PIC16C71寄存器(数据存贮器)的结构如图3-3所示。 图3-3 寄存器结构图 图3-4 程序存储器结构图Figure 3-3 register Figure 3-4 rom 2、程序存贮器
19、PIC16C71片内有102414的程序存贮器,它不具备外接程序存贮器的机制,PIC16C71的程序计数器PC为13位长,可寻址8K的程序空间,但它只使用了第一个1K(0000-03FF)的空间,寻址大于03FF的单元将导致在第一个1K空间的回绕。复位向量在单元0000H(这点和PIC16C5X不同,应予注意),中断向量在单元0004H。程序存贮器结构如图3-4所示。四、I/O口 PIC16C71有13个I/O端腿,分成RA口和RB口,分别为5位和8位。RA口 RA口(RA0-RA4),寄存器地址为05H,是双向、可编程复用I/0。除了作为可编程I/O外,还可用作4路A/D输入,RA3又进一步
20、和外部参考电压Vref输入端复用,RA4是集电极开路输出,和RTCC输入端复用。RB口是8位双向可编程I/0口,其寄存器地址为06H。RB口的每一引脚均有一弱上拉(其典型电流为250uA),当引腿被置为输出时刚自动无效。也可通过编程位(RBPU)来关闭所有引腿的这个弱上拉。 RB0又与外部中断输入INT复用。 RB4-RB7具备电平变化中断功能。当这些端口置成输入时,引脚上的电平将被采样锁存,当新的采样值和旧的采样值不同时,将引起CPU中断。五、中断PIC16C71有4个可屏蔽中断源,中断控制寄存器INTCON(0BH)的标志位中记录着各种中断请求的状态及屏蔽状态。唯一例外是A/D转换中断标志
21、ADIF是寄存于ADCON寄存器中。1、INT中断外部信号触发中断,INT管脚边沿触发。2、RTCC溢出中断 当RTCC定时器/计数器发生计满溢出时(即由FFH变成0),就产生RTCC中断。这点对PIC16C5X系列的重要改进。3、RB中断RB4-RB7腿的电平改变会引起中断。由于这种特性,以及RB口的弱上拉特性,使用户很容易在RB口上构造一个键盘。这种键盘可以通过按键来唤醒处于“SLEEP”状态下的单片机,使之进入工作状态,这在需要省电的场合,如手持遥控器等应用方面非常合适。4、A/D中断 在一次A/D转换完成后产生的中断,中断逻辑图如图2-7所示。图3-5中断逻辑图Figure 3-5in
22、terrupt六、A/D转换PIC16C71的A/D转换部份有4个模拟量输入通道,这些模拟量输入通过复用一个采样的保持器进入到A/D转换器。参考电压Vref可以来自外部(RA2/AIN3/VREF脚输入)也可以来自内部的VDD。A/D转换器属逐次逼进型,转换结果(8位)存入ADRES寄存器(09H)。在A/D转换前必须选择适当的通道,设置足够的采样时间。转换时间是振荡周期的函数,最短转换时间为20us。用户可以通过设置A/D控制寄存器ADCON0(08H)和ADCON1(88H)来控制其转换过程,同时A/D转换的状态也会在ADCON0中体现出来。A/D转换模拟引脚必须置成输入态,模拟量必须在V
23、SS和VDD之间,模拟源阻抗应在500和10K之间。任何连接到模拟输入引脚的外部元件,例如一个电容或稳压二极管,其漏电流应该非常小。 七、指令系统PIC16C71共有37条指令,每条指令都是单字节,长度为14位,包括操作码和操作数。除分支跳转指令为双周期指令外,其余指令皆为单周期指令。在典型的4MHZ振荡下,每个指令周期为1us。 指令系统是和PIC16C5X向上兼容,指令表见附录。332 PIC 单片机的功能及其优越性1) PIC最大的特点是性能与价格比高,靠发展多种型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。2) 精简指令使其执行效率大为提高。P
24、IC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,速度提高4倍。4) PIC有优越开发环境。PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。5) 其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。6) 彻底的保密性。PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小
25、。7) 自带看门狗定时器,可以用来提高程序运行的可靠性。8) 睡眠和低功耗模式。虽然PIC在这方面已不能与新型的TIMSP430相比,但在大多数应用场合还是能满足需要的。4 系统硬件电路设计41引言选择好了适用的单片机,就要开始着手进行温度控制系统的硬件设计。在电冰箱整个工作流程过程中,先接通电源,通过变压整流得到合适的电压输入到单片机中,通过单片机控制使起动继电器动作,以起动压缩机的电动机;电动机驱动压缩机对制冷系统作功,并通过温度控制器和其他控制装置,确保制冷系统按不同的使用要求自动地安全可靠地运行。 42 硬件电路总体设计在仔细研究了电冰箱的功能要求以后,对系统硬件电路作了如下设计,大体
26、分为以下几个模块:电源部分、上电复位部分、输入部分和输出部分,起重输入部分又包括冷藏传敢器输入部分、冷冻传感器输入部分以及按键输入部分;输出部分包括压机、风机、加热丝、补偿加热丝以及指示灯。大体结构框图如下:指示灯补偿加热丝加热丝风机压机220V按键输入冷冻传感器输入冷藏传感器输入 单 片 机上电复位电路变 压整流稳压电路图4-1 系统硬件设计结构框图 Figure 4-1 the hardware43硬件电路具体设计431 电源部分设计单片机需要+5V直流电源供电,但由于市电为220V,所以需要设计一个+5V直流电源。电源部分由以下几部分组成:一、 变压:由于市电中存在大量的干扰信号,所以在
27、变压器之前先加一个电感来消除共模干扰,再接一个电容滤除干扰。最后通过变压器将220V变为12V。二、 整流滤波整流采用单项桥式整流电路,将交流电压转变为直流电,但是整流后还存在交直流分量,所以要通过滤波去除其中的交流部分。选择了大容量的电解电容作为滤波电容。三、 稳压由于整流后的电压波动很大,所以需要进行稳压,稳压部分选用了78系列三端稳压器。因为稳压后面需要加二极管等元器件,考虑到会有一定的压降,所以稳压器件选78L06。78L06输出的为6V,在稳压器前要加电容,用于抵消输入线较长时的电感效应,以防止电路产生自激振荡,稳压器输出需要加两个电容,一个用于消除输出电压中的高频噪声,另一个需要加
28、电解电容,以减小稳压电源输出端由输入电源引入的低频干扰。四、 掉电保护部分为实现掉电保护功能需要加一个大容量电容,在电源掉电时给单片机供电。电路图如图4-2所示。 图4-2 系统硬件结构图Figure 4-2 the configuration of hardware需要说明的是掉电保护电路,如图3-3所示 图4-3 掉电保护电路Figure4-3 protcetD2为保护作用,在V1正常工作时,D2导通,电容B充电,当掉电时,D2截止,由于电容为法拉电容,电容量很大,储能量很大。V1掉电时,放电,提供给V2电压,可使单片机正常工作。432 单片机外围电路设计一、上电复位及晶振电路图4-4 上
29、电复位电路图Figure 4-4 replacement上电复位电路:当上电瞬间,由于电容两端的电压不能突变,三极管导通,MCLR为低电平,系统复位,而后电容充电三极管截止,MCLR为高电平。 C9、C3的作用是滤除高频干扰。R6起到降压作用。晶振电路:晶振电路采用RC振荡产生外部时钟电源,只要接通电源就能产生一定频率和脉宽的矩形波或方波信号,作为PIC片内时钟信号源使用。RC振荡器频率波动较大,主要与振荡电阻、电容的数值以及环境温度参数有关系,一般在对定时器要求不是很高的场合使用。振荡电阻的取值比较讲究,如果振荡电阻过小,起振困难;若过大,则容易受噪声、湿度等干扰。经验值一般取千欧级比较合适
30、。RC正弦波振荡电路的振荡频率较低,一般在1MHz以下。常用的RC振荡电路的振荡频率f=1/2RC。二、输入电路图4-5 输入电路图Figure 4-5 the input电容E4为电源稳压块,滤波,滤除高频干扰,防止负载变化引起电压波动而影响采样的准确度。F为冷冻传感器,R为冷藏传感器,传感器温度的变化引起电阻的变化,电阻的变化引起电压的变化,再通过A/D转换,与设定开关机点相比较。VR电位器调节冷藏室的强弱档,电位器逆时针旋转到底为弱档,顺时针旋转到底为强档。通过电位器采集进来的信号与冷藏传感器采集进来的相比较,满足条件则关机。瓷片电容C6,C7,C8起到滤波稳压作用。三、按键输入电路图4
31、-6 按键输入电路Figure 4-6 key-pressHS按键为强制化霜,HS按键抬起的时候,RB1为低电平,当HS按键按下的时候RB1为高电平。电阻R23,R22分压,使化霜键在正常工作下满足RB1端口电压为+5V左右,保护端口,使之正常工作。R22同时为下拉电阻,有Vcc*R22/(R22+R23)为端口电压,即12*5.1/(5.1+10),约为5伏。四、输出电路压机、加热丝、补偿加热丝工作原理大体相同,所以下面以压机为例介绍一下。图4-7 压机Figure 4-7 compresser电动机正常工作电流为2A,接通电源的瞬间,电流很大,约为78A,所以继电器的工作电流选10A。当R
32、B5引脚输出高电平(一般为+5V)时,三极管导通,继电器吸和,电动机转动,化霜加热丝工作。二极管D7在N3截止时起到反向续流作用。图4-8 风机Figure 4-8 wind继电器J3位常闭触点,风机不能单独工作,只有在压机上电以后风机才能工作。即风机的工作电压由压机提供。五、指示灯 红色指示灯图4-9 红色指示灯Figure 4-9 the red lamp当RB6为高电平时,红灯亮,说明温度超高或传感器故障,即当冷冻传感器温度-5时,红灯亮;传感器故障时,红灯闪烁。PIC端口输出高电平时电压为+5V,1K电阻起到降压作用,保护发光二极管。 黄色指示灯图4-10 黄色指示灯Figure 4-
33、10 the yellow lampRB7用来检测是否进入低温补偿状态,S和S-1是一组触点,S-1是常闭触点,平时S-1闭合,RB7为高电平;当S-1打开,S闭合时,RB7为低电平。六、总体电路设计图见附录25 系统软件设计51引言 硬件平台结构一旦确定,大的功能框架即形成。软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除故障的重要手段。本章主要介绍了软
34、件的编程思想,设计了软件编程图。52 编程思路 由于PIC单片机的汇编语言指令较少,而且执行速度快,所以本次设计采用汇编语言进行软件设计。为了方便系统的改进,所以在编程时把软件模块化。下面仅就有关温度控制这一方面予以说明。53 软件流程图一、 部分参数定义下面对所用到的标志寄存器进行定义,如表5-1到5-5表5-1 标志寄存器a的定义Table 5-1 flag a definition76543210中断计时用于强制化霜30m中断计时用于补偿按键子程序中断计时 采样用冷藏、冷冻均坏时计时自动除霜30m,15m,40m计时18h计时5m延时计时中断计时,用于强制化霜计时表5-2标志寄存器 b
35、的定义Table 5-2 flag b definition76543210采样次数赋值标志赋45m标志赋15m标志赋30m标志赋5m标志赋强制按键时间标志补偿按键抬起赋值补偿按键赋值标志表5-3标志寄存器c的定义Table 5-3 flag c definition76543210采样结束标志屏蔽报警45m标志风机延时15m标志自动化霜30m标志延时保护5m标志强制化霜30s标志强制化霜结束标志补偿加热丝工作标志表5-4标志寄存器 d 的定义Table 5-4 flag d definition76543210自检标志冷冻故障标志冷藏故障标志全坏关机标志全坏开机标志红灯闪灭标志红灯闪亮标志超
36、温报警标志表5-5标志寄存器e 的定义Table 5-5 flag e definition76543210压机已关标志中断计时用于红灯闪赋掉电检测次数标志掉电记忆标志冷藏关机冷藏开机冷冻关机冷冻开机对端口的定义如下:表5-6 端口a的定义Table 5-6 Port a definition76543210地冷冻传感器冷藏传感器冷藏设定地表5-7端口b 的定义Table 5-7 Port b definition76543210补偿按键红灯压机加热丝补偿加热丝风机强制化霜按键掉电检测二、软件流程图下面主要介绍了温度控制子程序的流程图。1.主程序NYNY调用检测掉电子程序掉电标志e,4=1?无
37、条件跳转到休眠状态调用强制化霜按键子程序调用补偿按键子程序调用强制化霜子程序强制化霜结束标志c,1=1?无条件跳转到main调用压机累计工作18h程序调用延时保护5m程序调用自动化霜30m程序调用风机延时15m程序调用屏蔽报警45m程序开始初始化调用故障处理子程序调用超温报警红灯闪亮子程序调用控制补偿加热丝子程序调用控制压机子程序调用控制风机子程序NY清WDT 初始化采样结束c,7=1?清采样结束标志c,7=0调用检测冷藏传感器程序调用检测冷冻传感器程序调用控制冷藏室温度程序调用控制冷冻室温度程序清WDT 无条件跳转到主程序开始图5-1 主程序流程图Figure 5-1 main 2.温度采样
38、子程序:主要进行温度采样,rcytime为采样次数寄存器,为了减小误差,所以采样25次求平均值。图中rlcsd为冷藏设定寄存器,adres存放A/D转换的结果,rlccg为冷藏传感寄存器,rldcg为冷冻传感寄存器。 返回YNYNNsamaY采样次数赋值?赋25rcytime置赋值标志b,7计时到a,5=1?Sample: 清计时标志a,5选通设定温度通道adres/2+rlcsd/2 rlcsd选通冷藏传感器通道adres/2+rlccg/2rlccg选通冷冻传感器通道adres/2+rldcg/2rldcgRcytime-1=0?清采样次数赋值b,7;置采样结束标志c,7返回返回图5-2
39、采样流程图Figure 5-2 sample3.检测冷藏传感器 该程序主要检测冷藏传感器是否故障,如果传感器坏,则把传感器坏标志位置1。如过传感器正常,则清故障标志和冷藏故障标志位。 返回NY冷藏传感器短路?NY清故障标志d,7清冷藏故障d,5置冷藏传感器坏d,5返回置传感器故障标志d,7Test c:冷藏传感器开路?图5-3 检测冷藏传感器子程序流程图Figure 5-3 Test the refrigeration4.检测冷藏传感器 该程序主要检测冷冻传感器是否故障,如果传感器坏,则把传感器坏标志位置1。如过传感器正常,则清故障标志和冷冻故障标志位。 返回NY冷冻传感器短路?NY清故障标志
40、d,7清冷冻故障d,5置冷冻传感器坏d,5返回置传感器故障标志d,7Test c:冷冻传感器开路? 图5-4 检测冷冻传感器子程序流程图 Figure 5-4 Test the Frozen5.冷藏室温度控制 检测冷藏室的温度是否到达开关机条件,达到条件则置关机标志位置1,否则清标志位。 YYYNNYN返回冷藏传感器温度冷藏开机温度置冷藏开机e,2清冷藏关机e,3冷藏关机e,3=1?返回置冷藏关机e,3清冷藏开机e,2Control:冷藏坏d,5=1?返回冷藏传感器温度冷藏关机温度 图5-5 冷藏室温度控制子程序流程图Figure 5-5 control the refrigeration6.
41、冷冻室温度控制: 检测冷冻室的温度是否到达开关机条件,达到条件则置关机标志位置1,否则清标志位。同时还要判断是否超温报警。注:图中ldcg表示冷冻传感,ldkj表示冷冻开机,ldgj表示冷冻关机,talarm表示超温报警。N返回NNY返回返回YNControl d:返回Y冷冻传感器坏?清超温报警d,0RldcgldkjY置冷冻开机e,0清冷冻关机e,1Rldcgtalarm置冷冻报警d,0清冷冻报警d,0清超温报警d,0Rldcgldgj置冷冻关机e,1清冷冻开机e,0返回图5-6 冷冻室温度控制子程序流程图Figure 5-6 control the Frozen7.故障处理子程序: 检测传
42、感器是否故障,如果有一个传感器故障,则由另一个传感器单独工作,如果两个都故障,调用开关机二十分钟循环程序。返回NYN返回Lcbad:冷冻开机e,0=1?Y置冷藏开机e,2清冷藏关机e,3冷冻关机e,1=1?置冷藏关机e,3清冷藏开机e,2返回注:ldbad与lcbad相同lcbadYNN bad1cdg返回冷藏坏d,5=1?清全坏开机d,3清全坏关机d,4无条件跳转到 ldbad冷冻坏d,6=1?冷藏坏d,5=1?YBad:NY图5-7 故障检测子程序Figure 5-7 test the bad 返回返回YYcdkN返回Y返回YYNYN返回YNN全坏开机d,3=1?全坏关机d,4=1?置全坏
43、开机d,320mrt20m 延时保护=1?置冷冻关机e,1置冷藏关机e,3清冷冻开机e,0清冷藏开机e,2计时a,4=1?清flaga,4Rt20m-1=0?清全坏关机d,4置全坏开机d,320mrt20m 置冷藏开机e,2置冷冻开机e,0清冷藏关机e,1清冷冻关机e,3计时a,4=1?返回N清计时标志a,4Rt20m-1=0?NT20m0rt20m0T20m1 rt20m1清全坏开机d,3置全坏关机d,4返回 8掉电检测子程序 检测是否掉电,掉电则把相应标志位置位。N返回YYNYTestpd:清掉电记忆e,4清掉电检测次数标志e,5赋掉电检测次数标志e,5=120rpd置掉电标志e,5Rpd-1=0?清赋掉电检测次数标志e,5置掉电标志e,4掉电否?b,0=0?图5-8 掉电检测流程图Figure 5-8 test 6 系统改进建议因为温度是缓慢变化的过程,所以在测量过程中存在较大偏差,影响了电冰箱的控制精度。为了改进系统性能我翻阅了大量资料,发现PID在工业控制中应用广泛,而且控制效果相对较好,在温度控制中也有很多