2 系统软件设计
根据系统要求,除了需要实时检测和显示水箱温度和水位外,还需要控制淋浴温度、上水阀、节流阀、辅助加热控制装置等,所有这些功能由AFS600内部嵌入 8051内核完成。控制器软件设计采用模块化结构,除主程序外,还包括键盘与显示子程序、温度与液位采集子程序、以及淋浴水温控制子程序和上水控制子程序等。系统的主程序接收控制指令,调用子程序完成温度、水位检测等。下面重点介绍淋浴温度控制和上水控制子程序流程。
2.1 上水控制
热水器控制器具有智能化上水控制功能,可以起到保护热水器的作用。例如,水位较低时,淋浴时或高温日照下禁止自动上水;居家长时间无人时,需要考虑自动上水问题;水位传感器失灵时,防止上水溢出等。对此,系统预置最低水位和最高水位,并根据时间系统预置自动上水时段。程序中设有计时器,检测上水时的水位变化与上水时间关系,以此检测水位传感器失效问题,并可防止上水溢出问题。具体流程如图5所示。
2.2 淋浴温度控制
淋浴温度控制是热水器控制器的关键,是舒适度的重要指标。本系统将传统的手动控制改为自动控制,并引入了适合步进电机控制的增量式PID控制算法。其差分方程式如下:
式中:u(k)是控制量;e(k)是系统的控制偏差;Kp是比例增益;Ti是积分时间;Td是微分时间;T为采样周期。PID运算的输出增量为相邻两次采样时刻所计算的位置值之差,综合式(5)、(6)有:
根据预置的温度和采集的淋浴温度进行参数正定,确定PID参数q0、q1、q2,其调节方法可参考相关文献。具体流程如图6所示,实际的淋浴水温可控制在设置温度的上下2℃范围内。
结语
采用Actel公司usion系列的AFS600芯片,通过嵌入8051内核来实现太阳能热水器控制器功能。该太阳能热水器具有集成度高、成本低和操作方便的优点,特别是淋浴温度的自动调节,以及上水过程的智能化、人性化控制等功能,较好地弥补了目前相关产品的不足,有一定的推广和经济价值。