空调自动控制系统软件设计及调试

空调自动控制系统软件设计及调试

尹海蛟

空调的硬件电路只是起到支持作用。因为作为自动化控制的大部分功能,只能采取软件程序来实现,而且软件程序的优点是显而易见的。它既经济又灵活方便,而且易于模块化和标准化。同时,软件程序所占用的空间和时间相对来说比硬件电路的开销要小得多。同时,与硬件不同,软件有不致磨损、复制容易、易于更新或改造等特点,但由于它所要处理的问题往往远较硬件复杂,因而软件的设计、开发、调试及维护往往要花费巨大的经历及时间。但相比之下,这些代价所取得的功能远优于仅依靠硬件电路所实现的功能。 1. 空调自动控制系统软件程序设计思想

在硬件电路设计好以后,软件设计则是最重要的一个设计部分,由于空调自动控制的大部分智能化功能都是软件来完成,这样就使得硬件电路设计的简化和成本低可以得到实现。然而,8051单片机采用的是与其物理地址联系非常紧密地汇编语言来进行编程的。我们知道汇编语言相对于高级语言而言,它的速度是比较快的,而且它的指令代码也非常简单,但前提是编程人员要对8051单片机内部硬件电路非常熟悉。这对编程人员的要求是比较高的。

在进行软件编程时,我们仍然要采用结构化模块方式编程,从而可以把一些非常大的程序逐步分解为几个小程序,这对于编程人员非常重要的。对于本课题而言,由于它最终要设计成样机形式。因此,我们就得对整机进行监控,这个监控程序中应包括各种芯片的初始化程序、自诊断程序及许多中断子程序等事实上,在对空调器上电后,它应在单片机的控制下自动转入监控程序的执行。我们在编制时把监控程序作为本机的主程序来进行工作。任何故障都会从监控程序的执行中得到响应,而且任何故障给予的响应方式和代码不同,因此这很方便的可以查找到该故障部位。显然,这只对硬件电路的故障有效。对于软件程序的执行故障,我们目前只能通过软件程序的调试安装及仿真来判别它是否正常运行。因为单片机毕竟不是微机或上位机。它所能容纳的程序能力也是有限的。当然,我们可以采用各种技术进行优化,这样就可以最大限度的直至软件程序的出错运行。各种子程序模块都挂接在该主程序上。编制它时,我们尽可能充分利用8051单片机的软件资源及内部寄存器资源,这样可以提高其运行速度。

硬件和软件式空调温度控制的核心设计方面,本课题把研究重点特别投向软件设计,毕竟自动控制功能大部分都要靠软件程序来完成。在本课题设计过程中,软件调试要花大量时间来调试运行,而硬件电路我们只需简单调试。因此可见硬件设计和软件设计有很大区别,而且在总体调试中还要对其进行调整。这都是本课题所研究的内容。我们从总体上把握了空调自动控制系统的设计思路,初步了解到该研究项目主要的研究工作内容和其采用的优点。倘若要具体进行各个细节

方面的工作,我们能够发现这种总体设计思路对具体电路的设计合理程序模块设计的重要指导意义,不管设计研究任何仪器仪表,这种总体设计思路总是必需的,而且是有利于我们从整体上把握该空调控制系统的性能和特点。 2. 主程序的设计及流程图

本课题的主要思想就是检测温度,控制制冷压缩机对室温进行恒定控制。并且将温度显示在七段码显示器上,还可通过键盘控制设定温度的增加和减少。主程序通常包括可编程硬件、输入、输出端口和参数的初始化,自诊断管理模块以及实时中断管理和处理模块等。我们采用“自顶向下”结构化设计,它属于该设计中的第一层次,除了初始化和自诊断外,主程序一般总是把其余部分联接起来,构成一个无限循环图,空调温度的自动控制的所有功能都在这一循环圈中周而复始地、或有选择地执行,除非掉电或按复位键,它不会跳出这一循环圈。对于主程序,由于本设计设有键盘和显示子程序,实验结果一目了然。

本主程序从整个系统的上电复位开始运行,然后对各种可编程器件及单片机堆栈和参数进行初始化。接着对各软、硬件模块进行自诊断,并同时判断有无中断,等待是哪儿硬件或软件出错。一旦发生这种出错情况,则判明后进行相应的服务模块,然后进一步自诊断,以达到运行正常,否则就跳出,进行出错处理;若无中断请求,我们开始进行实时处理状态,调用A/D转换子程序,同时我们采用BCD 码运算,这样进行十六位二进制数转换为BCD 的子程序。这样,进行各种功能处理模块,数据融合技术子程序或多线段逼近温补子程序,处理完毕,我们判断是子程序,恢复二进制数码,同时,判断误差程度,若满足,输出启动D/A子程序。整个测量过程是否结束,若结束,则返回,若误差过大,则重新调用数据融合技术进行计算处理。若没有完成,则回到初始化阶段循环再做。这就是整个空调温度控制的主程序的设计思想。

图 4.1 软件设计流程图

主程序如下:

MAIN:MOV SP,#30H

MOV TEP0L,#08H ; 设定温度低位 MOV TEP0H,#01H ; 设定温度高位 LCALL REST LP: LCALL START

MOV R1,#5CH MOV R0,#2CH MOV R2,#03H LP1: LCALL GET_TEP LCALL IN_TEP DJNZ R2,LP1

LCALL FILTER ; 数字滤波 MOV TEP1L,R7 ; 室内温度低位 MOV TEP1H,R6 ; 室内温度高位 LCALL PID ;PID 运算 LCALL OV_DO LCALL TEP_A JMP LP 3. 温度测量的子程序

温度测量通过DS18B20数字温度传感器测量室内温度,将室内温度值转化为数字量接入MSC-51单片机中,并将对应的数字量储存在TEP1L 、TEP1H 中。在通过与控制温度比较对压缩机运转进行控制。

图4.2 温度测量流程图 温度测量子程序:

GET_TEMP: LCALL INT ;调用初使化子程序 MOV A,#0CCH

LCALL WRITE ;送入跳过ROM 命令

MOV A, #44H

LCALL WRITE ;送入温度转换命令 LCALL INT ;温度转换完全, 再次初使化 MOV A,#0CCH

LCALL WRITE ;送入跳过ROM 命令 MOV A,#0BEH

LCALL WRITE ;送入读温度暂存器命令 LCALL READ

MOV R7,A ;读出温度值低字节存入R7 LCALL READ

MOV R6,A ;读出谩度值高字节存入R6 SETB EA RET 4. 显示子程序

室内温度值和控制温度值都要通过七段码显示器显示出来,显示子程序必不可少,将要显示的室内温度和控制温度所对应的BCD 码存入MSC-51中SEGDATA 储存单元中,通过控制信号显示在相应的显示器上。

显示子程序:

DISPLAY:MOV R0,#TEP0L ;显示内容首地址 MOV R1,#01H ;显示数码管的起始位 MOV R2,#04H ;显示内容位数 MOV DPTR,#TAB_NU

DIS1: MOV A,@R0 ;调用显示内容 MOVC A,@A+DPTR MOV SEGDATA,A SETB SEGD NOP CLR SEGD INC R0

MOV SEGDATA,R1 ;调用显示位数 SETB SEGB NOP CLR SEGB MOV A,R1

RL A MOV R1,A

LCALL DELAY3MS ;防止软件干扰 DJNZ R2,DIS1 RET 5.D/A转换子程序

单片机通过DAC0832得到相应的启动电压,使压缩机能够根据单片机判断出的信号进行运动,从而达到启动空调、降低室温的作用

D/A转换的子程序如下:

D/A_run:MOV DPTR,#FF7FH MOV A,CONTR MOV @DPTR,A RET 6.PID 运算子程序

加入PID 运算可以提高温度测量的准确度和调节的质量,本课题采用PID 运算正是为了提高运算结果,使之更精确,减少外界的干扰。

PID 计算公式:

P (K )=P (K -1)+K P [E (K )-E (K -1)]+K 1∙E (K )+K D [E (K )-2E (K -1)+E (K -2)] =P (K -1)+P P +P I -P D 一、PID 算法子程序

PID 算法子程序详细见附录PID 子程序 下图为PID 算法的流程图

图4.3 PID 算法流程图

二、PID 算法中的求补过程

PID 算法中存在着许多的数学算法子程序,举例说明求补过程是比较关键的一步子程序。

求补程序的设计流程如图4.4

图4.4 求补子程序流程图

7. 数字滤波子程序设计思想及其流程图 一、数字滤波设计思想及流程图

数字滤波是一种克服随机误差的软件算法。因为随机误差是又窜入仪表的随机干扰所引起的,这种误差是指在相同条件下测量同一量时,其大小和符号作无规则的变化而无法预测,但在多次测量中它是符合统计规律的。这样,我们根据

统计规律可消除误差,同时数字滤波还可以对信号进行必要的平滑处理,以保证仪表及系统的正常运行。

数字滤波有以下特点:(1)数字滤波无需硬件,只是一个计算过程,因此可靠性高,不存在阻抗匹配问题;(2)数字滤波实用软件算法实现的,因此可以使多个输入通过共用一个软件“滤波器”,从而降低仪表硬件成本;(3)只要适当改变软件滤波器的滤波程序或运算参数,就能方便地改变滤波特性。

前面讨论到数字滤波的方法有很多,我们在设计智能型压力变送器是采用了较为常用的算术平均滤波法。它就是连续取n 个采样值进行算术平均,其数学表达式为:

1

u =N

∑ui

i =1

N

显然,算术平均滤波对信号的平滑程度完全取决于N 。N 较大时,平滑度高,但灵敏度低;当N 较小时,平滑度低,但灵敏度高。

二、数字滤波子程序 FILTER : MOV A, 2CH MOV R3, 5CH CJNE A, 2DH ,CMP1 CJNE R3, 5DH ,CMP1 AJMP CMP2 CMP1: JNC CMP2 XCH A ,2DH XCH A ,2CH XCH R3 ,5DH XCH R3,5CH CMP2: MOV A ,2DH MOV R3 ,5DH

CJNE A ,2EH ,CMP3

CJNE R3 ,5EH ,CMP3 MOV 2AH ,A MOV 5AH ,R3 RET CMP3: JC CMP4 MOV 2AH ,A MOV 5AH ,R3 RET

建设工程教育

CMP4: MOV A ,2EH

MOV R3,5EH

CJNE A, 2CH ,CMP5 CJNE R3, 5CH ,CMP5 MOV 2AH ,A MOV 5AH ,R3 RET

CMP5: JC CMP6

XCH A, 2CH XCH R3,5CH CMP6: MOV 2AH, A MOV 5AH ,R3 RET

空调自动控制系统软件设计及调试

尹海蛟

空调的硬件电路只是起到支持作用。因为作为自动化控制的大部分功能,只能采取软件程序来实现,而且软件程序的优点是显而易见的。它既经济又灵活方便,而且易于模块化和标准化。同时,软件程序所占用的空间和时间相对来说比硬件电路的开销要小得多。同时,与硬件不同,软件有不致磨损、复制容易、易于更新或改造等特点,但由于它所要处理的问题往往远较硬件复杂,因而软件的设计、开发、调试及维护往往要花费巨大的经历及时间。但相比之下,这些代价所取得的功能远优于仅依靠硬件电路所实现的功能。 1. 空调自动控制系统软件程序设计思想

在硬件电路设计好以后,软件设计则是最重要的一个设计部分,由于空调自动控制的大部分智能化功能都是软件来完成,这样就使得硬件电路设计的简化和成本低可以得到实现。然而,8051单片机采用的是与其物理地址联系非常紧密地汇编语言来进行编程的。我们知道汇编语言相对于高级语言而言,它的速度是比较快的,而且它的指令代码也非常简单,但前提是编程人员要对8051单片机内部硬件电路非常熟悉。这对编程人员的要求是比较高的。

在进行软件编程时,我们仍然要采用结构化模块方式编程,从而可以把一些非常大的程序逐步分解为几个小程序,这对于编程人员非常重要的。对于本课题而言,由于它最终要设计成样机形式。因此,我们就得对整机进行监控,这个监控程序中应包括各种芯片的初始化程序、自诊断程序及许多中断子程序等事实上,在对空调器上电后,它应在单片机的控制下自动转入监控程序的执行。我们在编制时把监控程序作为本机的主程序来进行工作。任何故障都会从监控程序的执行中得到响应,而且任何故障给予的响应方式和代码不同,因此这很方便的可以查找到该故障部位。显然,这只对硬件电路的故障有效。对于软件程序的执行故障,我们目前只能通过软件程序的调试安装及仿真来判别它是否正常运行。因为单片机毕竟不是微机或上位机。它所能容纳的程序能力也是有限的。当然,我们可以采用各种技术进行优化,这样就可以最大限度的直至软件程序的出错运行。各种子程序模块都挂接在该主程序上。编制它时,我们尽可能充分利用8051单片机的软件资源及内部寄存器资源,这样可以提高其运行速度。

硬件和软件式空调温度控制的核心设计方面,本课题把研究重点特别投向软件设计,毕竟自动控制功能大部分都要靠软件程序来完成。在本课题设计过程中,软件调试要花大量时间来调试运行,而硬件电路我们只需简单调试。因此可见硬件设计和软件设计有很大区别,而且在总体调试中还要对其进行调整。这都是本课题所研究的内容。我们从总体上把握了空调自动控制系统的设计思路,初步了解到该研究项目主要的研究工作内容和其采用的优点。倘若要具体进行各个细节

方面的工作,我们能够发现这种总体设计思路对具体电路的设计合理程序模块设计的重要指导意义,不管设计研究任何仪器仪表,这种总体设计思路总是必需的,而且是有利于我们从整体上把握该空调控制系统的性能和特点。 2. 主程序的设计及流程图

本课题的主要思想就是检测温度,控制制冷压缩机对室温进行恒定控制。并且将温度显示在七段码显示器上,还可通过键盘控制设定温度的增加和减少。主程序通常包括可编程硬件、输入、输出端口和参数的初始化,自诊断管理模块以及实时中断管理和处理模块等。我们采用“自顶向下”结构化设计,它属于该设计中的第一层次,除了初始化和自诊断外,主程序一般总是把其余部分联接起来,构成一个无限循环图,空调温度的自动控制的所有功能都在这一循环圈中周而复始地、或有选择地执行,除非掉电或按复位键,它不会跳出这一循环圈。对于主程序,由于本设计设有键盘和显示子程序,实验结果一目了然。

本主程序从整个系统的上电复位开始运行,然后对各种可编程器件及单片机堆栈和参数进行初始化。接着对各软、硬件模块进行自诊断,并同时判断有无中断,等待是哪儿硬件或软件出错。一旦发生这种出错情况,则判明后进行相应的服务模块,然后进一步自诊断,以达到运行正常,否则就跳出,进行出错处理;若无中断请求,我们开始进行实时处理状态,调用A/D转换子程序,同时我们采用BCD 码运算,这样进行十六位二进制数转换为BCD 的子程序。这样,进行各种功能处理模块,数据融合技术子程序或多线段逼近温补子程序,处理完毕,我们判断是子程序,恢复二进制数码,同时,判断误差程度,若满足,输出启动D/A子程序。整个测量过程是否结束,若结束,则返回,若误差过大,则重新调用数据融合技术进行计算处理。若没有完成,则回到初始化阶段循环再做。这就是整个空调温度控制的主程序的设计思想。

图 4.1 软件设计流程图

主程序如下:

MAIN:MOV SP,#30H

MOV TEP0L,#08H ; 设定温度低位 MOV TEP0H,#01H ; 设定温度高位 LCALL REST LP: LCALL START

MOV R1,#5CH MOV R0,#2CH MOV R2,#03H LP1: LCALL GET_TEP LCALL IN_TEP DJNZ R2,LP1

LCALL FILTER ; 数字滤波 MOV TEP1L,R7 ; 室内温度低位 MOV TEP1H,R6 ; 室内温度高位 LCALL PID ;PID 运算 LCALL OV_DO LCALL TEP_A JMP LP 3. 温度测量的子程序

温度测量通过DS18B20数字温度传感器测量室内温度,将室内温度值转化为数字量接入MSC-51单片机中,并将对应的数字量储存在TEP1L 、TEP1H 中。在通过与控制温度比较对压缩机运转进行控制。

图4.2 温度测量流程图 温度测量子程序:

GET_TEMP: LCALL INT ;调用初使化子程序 MOV A,#0CCH

LCALL WRITE ;送入跳过ROM 命令

MOV A, #44H

LCALL WRITE ;送入温度转换命令 LCALL INT ;温度转换完全, 再次初使化 MOV A,#0CCH

LCALL WRITE ;送入跳过ROM 命令 MOV A,#0BEH

LCALL WRITE ;送入读温度暂存器命令 LCALL READ

MOV R7,A ;读出温度值低字节存入R7 LCALL READ

MOV R6,A ;读出谩度值高字节存入R6 SETB EA RET 4. 显示子程序

室内温度值和控制温度值都要通过七段码显示器显示出来,显示子程序必不可少,将要显示的室内温度和控制温度所对应的BCD 码存入MSC-51中SEGDATA 储存单元中,通过控制信号显示在相应的显示器上。

显示子程序:

DISPLAY:MOV R0,#TEP0L ;显示内容首地址 MOV R1,#01H ;显示数码管的起始位 MOV R2,#04H ;显示内容位数 MOV DPTR,#TAB_NU

DIS1: MOV A,@R0 ;调用显示内容 MOVC A,@A+DPTR MOV SEGDATA,A SETB SEGD NOP CLR SEGD INC R0

MOV SEGDATA,R1 ;调用显示位数 SETB SEGB NOP CLR SEGB MOV A,R1

RL A MOV R1,A

LCALL DELAY3MS ;防止软件干扰 DJNZ R2,DIS1 RET 5.D/A转换子程序

单片机通过DAC0832得到相应的启动电压,使压缩机能够根据单片机判断出的信号进行运动,从而达到启动空调、降低室温的作用

D/A转换的子程序如下:

D/A_run:MOV DPTR,#FF7FH MOV A,CONTR MOV @DPTR,A RET 6.PID 运算子程序

加入PID 运算可以提高温度测量的准确度和调节的质量,本课题采用PID 运算正是为了提高运算结果,使之更精确,减少外界的干扰。

PID 计算公式:

P (K )=P (K -1)+K P [E (K )-E (K -1)]+K 1∙E (K )+K D [E (K )-2E (K -1)+E (K -2)] =P (K -1)+P P +P I -P D 一、PID 算法子程序

PID 算法子程序详细见附录PID 子程序 下图为PID 算法的流程图

图4.3 PID 算法流程图

二、PID 算法中的求补过程

PID 算法中存在着许多的数学算法子程序,举例说明求补过程是比较关键的一步子程序。

求补程序的设计流程如图4.4

图4.4 求补子程序流程图

7. 数字滤波子程序设计思想及其流程图 一、数字滤波设计思想及流程图

数字滤波是一种克服随机误差的软件算法。因为随机误差是又窜入仪表的随机干扰所引起的,这种误差是指在相同条件下测量同一量时,其大小和符号作无规则的变化而无法预测,但在多次测量中它是符合统计规律的。这样,我们根据

统计规律可消除误差,同时数字滤波还可以对信号进行必要的平滑处理,以保证仪表及系统的正常运行。

数字滤波有以下特点:(1)数字滤波无需硬件,只是一个计算过程,因此可靠性高,不存在阻抗匹配问题;(2)数字滤波实用软件算法实现的,因此可以使多个输入通过共用一个软件“滤波器”,从而降低仪表硬件成本;(3)只要适当改变软件滤波器的滤波程序或运算参数,就能方便地改变滤波特性。

前面讨论到数字滤波的方法有很多,我们在设计智能型压力变送器是采用了较为常用的算术平均滤波法。它就是连续取n 个采样值进行算术平均,其数学表达式为:

1

u =N

∑ui

i =1

N

显然,算术平均滤波对信号的平滑程度完全取决于N 。N 较大时,平滑度高,但灵敏度低;当N 较小时,平滑度低,但灵敏度高。

二、数字滤波子程序 FILTER : MOV A, 2CH MOV R3, 5CH CJNE A, 2DH ,CMP1 CJNE R3, 5DH ,CMP1 AJMP CMP2 CMP1: JNC CMP2 XCH A ,2DH XCH A ,2CH XCH R3 ,5DH XCH R3,5CH CMP2: MOV A ,2DH MOV R3 ,5DH

CJNE A ,2EH ,CMP3

CJNE R3 ,5EH ,CMP3 MOV 2AH ,A MOV 5AH ,R3 RET CMP3: JC CMP4 MOV 2AH ,A MOV 5AH ,R3 RET

建设工程教育

CMP4: MOV A ,2EH

MOV R3,5EH

CJNE A, 2CH ,CMP5 CJNE R3, 5CH ,CMP5 MOV 2AH ,A MOV 5AH ,R3 RET

CMP5: JC CMP6

XCH A, 2CH XCH R3,5CH CMP6: MOV 2AH, A MOV 5AH ,R3 RET


相关内容

  • 中央空调智能控制系统设计开题报告
  • 广东岭南职业技术学院 毕业论文(设计)开题报告论文(设计)名称:学指 二导级教学生:师:院: 一.同类研究的现状与存在问题分析1.研究意义 中央空调系统的设计通常按建筑物所在地的极端气候条件来计算其最大负荷,并由此确定空调主机的装机容量及空调水系统的供水流量.然而,实际上每年只有极短时间出现最大冷负 ...

  • 机房环境监控方案
  • 机房环境监控系统 解 决 方 案 洛阳畅天科贸有限公司 第一章 项目概述 1.1项目背景 随着信息化程度日益加深,整个社会.各行业.各单位的业务流程都越来越依赖信息系统,服务器上存储着数量巨大的核心信息,而作为信息化载体的计算机.服务器等,其"栖身之所"正是机房.由于机房中的设备 ...

  • 机房环境监控系统
  • 机房卫士AD-800 网络机房动力环境集中监控系统 方 案 书 苏州盾安电子有限公司 二〇一二年十二月 目 录 一.系统概述 ................................................................ 4 1.系统简介 . ........... ...

  • DCS经验总结
  • DCS系统的实践应用与工作经验 一. 系统功能需求的确定 选用DCS之前首先要明确应用的目标,提出对DCS功能的要求,确定系统的规模.一般都需要仪表自动化.工艺负责人及计算机的负责人.设计院项目负责人几方面讨论确定,以达到最大限度地满足生产和操作的要求. 1. 应用DCS的目标 (1)提高装置生产及 ...

  • 监控中心建设方案byPP
  • 液 晶监 控 中 心方案 第一章 设计方案总述 1.前言 随着液晶显示技术.嵌入式硬件拼接技术.多屏图像处理技术.信号切换技术等大屏幕幕墙相关技术的发展,新型拼接幕墙在工程应用的终端大屏幕显示设备中得到迅速普及,特别是嵌入式液晶拼接幕墙,虽推出市场的时间不长,但受到了广泛欢迎.液晶拼接幕墙作为平安城 ...

  • 新-分部分项工程划分
  • 建筑工程的分部工程.建筑工程的分部工程.分项工程划分序号分部工程子分部工程 土方分项工程土方开挖,土方回填,场地平整 灌注桩排桩围护墙,重力式挡土墙,板桩围护墙,型钢水泥土搅拌墙,土钉墙与复合土钉墙,地下连续墙,咬合桩围护墙,沉井与沉箱,钢或混凝土支撑,锚杆(索),与主体结构相结合的基坑支护,降水与 ...

  • 矿井人员定位系统专项设计方案
  • 凉水泉煤矿 人 员 定 位 专 项 设 计 方 案 编制单位:通防科 编 制 人:王一惊 2014年4月日 编制时间:8 矿井人员定位系统专项设计方案说明书 广元市地德矿业有限责任公司凉水泉煤矿位于广元市城区西北方向,至广元市中区直线距离约4.1km ,行政区划隶属于河西办事处杨家浩村六组. 原凉水 ...

  • NB2000动态节流仪介绍
  • NB2000暖通智能控制系统 联系人:谢先生[1**********] 日期:2009-07-31 NB2000暖通智能控制系统 实现空调器机电一体化的方法和特点 方法一:采用DDC(或控制器)+变频器等的方式. 方法一特点: 1. 需要如下采购设备:变频器.传感器.控制器.变压整流器.空气 开关. ...

  • 基于单片机的空调控制器设计
  • 毕 业 设 计 基于单片机的空调控制器设计 指导教师 学院名称 论文提交日期 工程学院 2009年5月 专业名称 论文答辩日期 年 月 答辩委员会主席 ____________ 评 阅 人 ____________ 摘 要 在自动控制领域中,温度检测与控制占有很重要地位.温度测控系统在工农业生产.科 ...