图9 数据存储电路图
3.6 温度控制电路
温度控制电路由继电器控制电路、放大电路、光电耦合器件等组成。其中光电耦合是为了防止信号干扰,使信号能够正确无误地传递。当水温过高时,单片机控制继电器使RL1的开关与开关2的相连,使其停止加热,同时RL2的开关与开关3相连,开启降温模式,电动机转动,开始吹风;而当水温低于想要的温度时,控制继电器RL1开关与开关1闭合,开始加热,同时RL2开关与开关4闭合,停止降温,从而使水温达到要求。本系统的温度控制电路如图10所示:
图10 温度控制电路
4. 软件系统设计
本设计采用循环查询的方式对水温进行控制和温度的显示,在软件设计时必须考虑水温控制的工作过程和操作过程,然后再进行软件的设计。本设计的程序分为两个部分:通电或复位后的开启加热,主要是键盘设定温度程序和对温度显示程序的编写。另一部分就是对温度的实时控制,根据检测结果控制相关控制器,对水温进行控制。
4.1 主程序设计
在主程序中首先给定PID算法的参数值,再通过循环程序对当前温度进行显示,等待中断并且使键盘输入处于最高优先级,外部中断为高优先级,使得主程序能及时响应键盘的处理。在程序设计过程中,采用模块划分来设计编程,这些模块主要是:液晶显示模块,温度采集模块,键盘输入模块,报警模块等。程序运行时,先进行初始化,然后调用温度采集子程序,再调用键盘扫描子程序,调用显示子程序对当前温度和想要的温度进行显示。然后对设置温度和当前温度进行比较,经单片机分析后,调用PID算法子程序控制继电器的操作。限于篇幅在此只对主程序流程图进行解释,主程序的编写和设计见附录。本设计的主程序设计流程图如图11所示: