太阳能热水器中辅助电热水装置控制器的开发

[09-12 17:53:54]   来源:http://www.88dzw.com  单片机学习   阅读:8706

文章摘要: 1.2单片机与ADC0809的接口 A/D转换器ADC0809与单片机的连接如图3所示。ADC0809的8个模拟量输入采用了其中的5个通道,分别连接水温、电流、漏电、干烧和水位的测量和变换电路的输出。ADC0809的时钟由AT89C51的ALE信号提供,根据ACD0809对工作时钟的要求和控制器对漏电和短路信号的反应速度的要求,ADC0809时钟频率取为667kHz,则AT89C51的时钟频率选为4MHz,这样,若A/D转换的时间为0.1ms,则控制器循环采样完5个模拟输入信号需要0.5ms时间。这样的采样速度足够满足漏电和短路的保护要求。

太阳能热水器中辅助电热水装置控制器的开发,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

1.2单片机与ADC0809的接口

A/D转换器ADC0809与单片机的连接如图3所示。ADC0809的8个模拟量输入采用了其中的5个通道,分别连接水温、电流、漏电、干烧和水位的测量和变换电路的输出。ADC0809的时钟由AT89C51的ALE信号提供,根据ACD0809对工作时钟的要求和控制器对漏电和短路信号的反应速度的要求,ADC0809时钟频率取为667kHz,则AT89C51的时钟频率选为4MHz,这样,若A/D转换的时间为0.1ms,则控制器循环采样完5个模拟输入信号需要0.5ms时间。这样的采样速度足够满足漏电和短路的保护要求。

1.3单片机与时钟芯片DSl2887的接口和控制输出电路

AT89C51与DSl2887的接口和控制输出电路如图4所示。单片机的P1口为电热水器和报警器的控制输出,对电热水器的控制是通过三极管进行功率放大后驱动大功率继电器然后再驱动电加热丝来实现的,对报警器的控制是通过三极管驱动直流蜂鸣器来实现的,通过控制蜂鸣器的接通和断开时间可以发出不同长短的断续报警声。 DSl2887是内部带有不易失性RAM的实时时钟电路,在控制器中用于进行实时计时并在掉电时保存用户设置参数和故障状态参数等重要参数。图4中DSl2887的MOT脚接地。由于DSl2887与AT89C51的复位信号刚好相反,所以要通过一个反相器进行连接。DSl2887内部有地址锁存器,不需要像82C55那样通过74LS373把地址和数据分开,可以按照图4的方式进行直接连接,通过连接AT89C51的ALE脚和DSl2887的AS脚来进行地址和数据的识别。



2控制器的软件设计

从控制器的功能和硬件设计可以看出,控制器的软件部分可以自然地分成初始化模块、模拟输入和计时模块、故障判断和控制逻辑处理模块、键盘处理和LED显示模块等,这些模块通过单片机的RAM和DSl2887的非易失RAM交换数据。图5为控制器的主程序框图。

初始化模块对单片机的堆栈指针、中断寄存器、全局变量和初始化定时器0等进行初始化。定时器0作为动态显示和键盘扫描定时之用。输出控制子程序把控制逻辑模块的运算结果输出到单片机的P1口,执行电热器的控制和报警功能。

键盘处理和LED显示模块包括键盘处理和LED数码管显示两部分,其程序框图如图6所示。单片机通过82C55的PC口读取按键状态,去除抖动后得到按键状态,根据按键状态得到用户输入的键值,然后根据不同的键值进行散转处理,包括设定参数类型、设置电热器手动开关、参数设置和故障清除等处理。在参数设置部分还根据目前设置参数的种类对参数进行修改和保存(保存在DSl2887的RAM中),按"确认"键后,当前的设定值代替原来的设定值;若不按"确认"键,原来的设定值不改变。当超过20s无键按下,则控制器自动退出设定状态。显示部分根据控制器的工作状态和用户的操作情况进行实时显示,当同时有多个内容需要显示时,故障指示状态优先。

单片机通过模拟输入和计时模块得到温度、电流和时间数据,以便进行显示和保护。图7为模拟输入和计时模块程序流程图。单片机周期地读取A/D转换的值并进行数字滤波,然后根据每个物理量的相应的测量计算公式将其转换成水面温度(用于显示和加热控制)、干烧温度(用于干烧保护)、电热器电流(用于短路保护)、漏电电流(用于漏电保护)和水位(用于显示、报警和低水位加热保护)的具体数值。该模块还通过与DSl2887通信得到实时时间,用于显示和三段时间段内的温度自动控制。

图8为故障判断和控制逻辑处理程序流程图,包括故障判断和控制逻辑处理两部分。当故障判断程序检测到漏电、短路、干烧、低水位等故障,则关闭加热器电源、在故障指示位显示故障代码、发出相应的声音报警、保存故障状态;如果温度低于低温报警温度设定值,并且在三段保温设定时间段内,则显示低温报警,但不进行声音报警,以免过多打扰用户。当不在三段保温时间内时,不进行温度控制。当没有漏电、短路、干烧、低水位故障发生时,控制器根据用户设置的三段保温时间、三段保温时间内的设定温度和当前温度测量值进行温度控制。由于对控制水温的精度要求不高,采用简单的开关控制。其控制算法如下:当水温低于设定温度2℃时启动电热器;当水温高于设定温度2℃时停止电热器加热;当水温在设定温度土2℃时保持加热器原来状态。需要注意的是,该模块的控制输出结果是写入到单片机的RAM中的,在控制输出模块中再把这些结果输出到单片机的P1口,实现真正的输出,这与许多PLC的模块化软件设计是一样的。

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《太阳能热水器中辅助电热水装置控制器的开发》相关文章

分类导航
最新更新
热门排行