浙江工业大学浙西分校信息与电子工程系毕业设计(论文)
第4章 系统软件设计
4.1 主要程序的框图
4.1.1 主程序框图
系统运行主程序流程的设计思想为:首先要进行一系列的初始化工作,在系统中我们设置了看门狗是为了在系统出现故障时,可在选定的超时周期之后,看门狗以复位信号做出响应,保证系统可靠工作。在系统设置了键盘中断服务子程序,通过键盘送入的信号后,系统开始启动工作。在温度控制方面,设置了恒温,升温,降温和A/D转换等调用的子程序,用以达到控温的功能。
图4-1 主程序框图
4.1.2 键盘中断服务子程序
- 31 -
浙江工业大学浙西分校信息与电子工程系毕业设计(论文) 本系统的键盘设计主要有恒温设置键、升温速率设置键、降温速率设置键、恒温时间拉制设置键、显示设置键等按键。此程序流程的思想为:当需要对某设定参数调整时,通过设定参数菜单键来选择要调整的系统参数;然后利用增加键和减少键对参数进行调整,调整参数确定后系统会自动保存。键盘处理子程序流程图如图4-2。
在按键时,触点闭合与断开的瞬间,会出现电压抖动。在实际的工作中,按键有时灵,有时不灵,实际上可能是在你只按了一次按键,可是计算机却已执行了好几次任务。按键的稳定闭合期,由操作人员的按键动作所决定,一般为十分之几秒到几秒不等。
在去抖动处理上,一般采用软件延时的方法,在单片机获得P1.7口为低的信息后,不是立即认定按键已被按下,而是延时10到20ms时间后再次检测P1.7口,如果仍为低,说明按键的确按下,避开了按键按下是的抖动时间。
图4-2 键盘中断服务子程序
4.1.3 恒温及升温测控子程序
- 32 -
浙江工业大学浙西分校信息与电子工程系毕业设计(论文) 温度信号输入,经过的电路主要由温度传感器,运算放大器和模数(A/D)转换器三部分组成。
程序在初始化后,调用一个温度测量子程序,把测量的的实际温度与给定的温度进行比较,用以判断是否要进行调用升温的子程序。主要的流程图如图4-3。
图4-3 恒温及升温测控子程序
4.1.4 降温测控子程序
- 33 -
浙江工业大学浙西分校信息与电子工程系毕业设计(论文) 在温度的拉制过程中,由于测量阶段的信号滞后性,当受到的温度信号高与给定的温度时,我们在电路中设计的报警电路装置会发出报警信号。报警电路的工作原理是:温度过高时,单片机就从P1.5口发出一个低电平信号,经反向后使发光二极管发光,同时使蜂鸣器发音,从而达到报警的日的。使得检测的工作人员能方便的了解到温度过大的这个温度信号。 此时,系统会调用降温子程序完成降温的拉制。流程图如4-4。
图4-4 降温测控子程序
程序见附录
- 34 -
浙江工业大学浙西分校信息与电子工程系毕业设计(论文) 4.2 模糊自整定PID控制算法
针对电炉温度控制,将采样得到的温度信号与系统的温度设定值进行比较,得到温度误差e、温度误差变化ec,根据电炉温度变化实际情况参考前面的模糊自整定PID控制器设计方法,将它们变化到模糊论域。
温度误差e、温度误差变化ec和 KP 、 KI 、 KD的修正系数的模糊子集为 e =ec={负大、负中、负小、零、正小、正中、正大}
={NB,NM,NS,ZO,PS,PM,PB}
△kp = △ki =△kd ={负大、负中、负小、零、正小、正中、正大}
={NB,NM,NS,ZO,PS,PM,PB}
并将温度误差e、温度误差变化ec的大小量化为 13 个等级,分别表示为
-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,
则论域 E 和 EC 为
E = EC ={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}
将△kp 、△ki、△kd 的大小量化为 11 个等级,
△kp 的论域为{-1.5,-1.25,-1.0,-0.75,-0.5,0.25,0,0.25,0.5,0.75,1.0,1.25,1.5}。
△ki、 △kd 的论域为{-0.3,0.25,0.2,0.15,0.10,0.05,0,0.05,0.10,0.15,0.20,0.25,0.3}。
上述变量的隶属函数曲线图如图4-5如示,隶属度函数按三角分布,三角函数解析式如公式(4-1)
图4-5 隶属函数曲线
???x?b??a?b?????x???c?x??c?a?
?0??
b?x?aa?x?c (4-1) x?borx?c- 35 -