分布式管理控制式计热表
长期以来,我国在热水供暖上实行“小区式集体供暖”、按供热面积结算,与用户是否用
热无关。这种结算方式属"包费制",一方面严重影响了供热方供热积极性,另一方面由
于部分用户缺乏节能意识,造成了资源浪费。计热表作为热力公司向每一位用户收费的
依据和手段,不仅已广泛被用户所接受,而且由于用热量与费用直接相关,加强了用户
的节能意识。
目前计热表的种类有很多,但多数都有着操作复杂、价格高等缺点。本文为大家介绍
一种利用凌阳公司的 SPCE061A 单片机设计出的一款新型的计热表。该计热表不仅将用
热实现了分户式管理,而且用户可对自家的各个房间分别控制;强大的语音发声功能弥
补了人机交互界面单调乏味的缺陷;另外具有结构简单,易于操作,性价比高等优点。
“节能意味着节费”本计热表将工作时间标准分为:上、下班时间、出差时间、假日时
间以满足不同情况的需求;计热表实现“一控五”即一个计热表控制五个房间;每个房间
的温度、控热时间可分别设置;八位 LCD 可显示热量值、流量值、供水温度、回水温度、
剩余费用、累计工作时间等相关数据资料;语音播报各个房间的温度、设置时间等;串
行通讯实现集中抄表,方便管理。
1、 系统组成
如图 中所示,我们可以发现本计热表由计量、控制、显示、低电压保护等几个部
分组成。那么我们就针对不同的功能模块的实现作以详细的描述。
计量部分
总的来说计热表的计量包括热量、费用计算两个部分。具体的计算公式如下:
Q=V*(ρ 入*h 入—ρ 出*h 出) (1)
其中:V 为体积,ρ 为水密度,h 为焓值,Q 为热量
M=k*Q (2)
其中:k 为热量的单价,Q 为热量,M 为费用
水密度、焓值在已知温度的情况下可通过查表获得,那么计量实际上是检测:进、出
水温度,流量等。在实际设计中,每隔 20s 进行一次费用、热量计算。SPCE061A 可支
持 7 路 A/D 转换,A/D 转换的速率最大可达到 96k/s,转换的结果为 10 位数据。在此设
计中由于对进、出水温度精度要求较高,所以选用 2 个 PT100。流量的检测可转化为计
量流速计发送的脉冲数,(100 个脉冲为 立方米)在本设计中,SPCE061A 通过外
部中断 EXT2 来检测流量,流速计每发送一个脉冲便产生一个方波脉冲作为外部中断信
号,通过计算进入中断的次数进而计算出流量。SPCE061A 内部的两个定时器有较宽的
频率选择范围,另外芯片内部的时基发生器可提供更加丰富的定时/计数频率。在设计中
我们采用 2Hz 的定时频率制作万年历,20s 的定时可以通过读取万年历的时间值获得。
每隔 20s 系统将 IC 卡中的费用值刷新一次。
控制部分:
此计热表控制部分包括:各时间标准的设置、各个房间温度的设置、各个房间阀门的
开关、语音输出等。这些控制操作基本是通过遥控器来实现。SPCE061A 对遥控信号的
接收是以 EXT1 引入,每接收完一组数据后便进行相应的判断、操作。设置时间标准指
设置上下班时间,出差时间,假日时间。设置完毕后,系统会按所设标准运行:在上班
期间房间温度保持在所设低温,下班后房间温度保持在所设高温;出差期间房间温度保
持在所设低温;假日时间房间温度保持在所设高温。同样可设置各个房间温度,值得注
意的是房间温度的底线必须大于 4℃——防止管道结冰。SPCE061A 内置双通道发声器,
每个 DAC 通道的输出能力为 3mA。D/A 转换的模拟量电流信号分别通过 AUD1,AUD2
管脚输出。本设计中将其用于播报各个房间的温度、所设的日期时间以及错误提示。
显示、按键操作:
此计热表上设有一个手动按键,通过按键可查询:累计热量值 J、热量、流量、累计
流量、供水温度、回水温度、累计工作时间、剩余费用等。在按键的同时 LCD 会有相关
的数值显示,用户可从此读出相关的信息。SPCE061A 与 LCD 之间的通讯通过 IO 口来
实现。
低电压保护、低功耗:
SPCE061A 内置低电压检测模块,当系统电压低于正常工作电压底线时,为了防止系
统程序运行混乱,系统自动复位。在系统复位前可将重要的数据信息保存到 SPCE061A
的 FLASH 中。系统再次上电运行时将保存的数据读出继续参加运算。SPCE061A 的内核
采用 CMOS 制造工艺同时具有弱振、空闲等方式,极大的降低了功耗。此外 SPCE061A
通常会有工作和睡眠两种状态,在睡眠期间 CPU 停止运行,此间系统的功耗约为 2uA。
当然睡眠可以通过按键、中断等唤醒。
2、 硬件设计
硬件结构原理图如 所示:主体部分采用 SPCE061A,该芯片属于 16 位机,芯片的
设计体现了 SOC 概念,内嵌 32K 的 FLASH 的存储空间,双 16 位的计数器、定时器,14
个中断源,A/D、D/A 转换单元,32 位可编程的多功能 IO 口,LVD/LVR 等部分。SPCE061A
在 ~ 的工作电压范围内的工作速率范围为 ~,较高的工作速
率使其应用领域极其宽广。
系统用到 7 路温度检测,这 7 路模拟信号是通过 IOA0~IOA6 输入到 SPCE061A,通
过 SPCE061A 自身的 A/D 转换单元将其转换为数字信号。其中 2 路用于计量,5 路用于
室温检测。根据不同的精度要求要求分别采用 PT100,热敏电阻。
LCD 采用 8 位 8 段微功耗的液晶显示模块 LCM0826B,它的显示状态功耗为 4uA,省电
模式下为 1uA。SPCE061A 通过 IOA8~IOA10 三个端口和 LCD 连接,其中 IOA8 用于片
选,IOA9、IOA10 分别为时钟和数据接口。
IC 卡采用 AT24C01A,用于存储相关数据。SPCE061A 对 IC 卡的读写是通过 IOB0、
IOB1 两个端口来实现。
SPCE061A 通过外接两个 CC4097 实现对五个房间的电磁阀的控制。IOA13~IOA15 的不
同组合用于选择不同的电磁阀;IOA11 和 IOA12 用于输出高低电平对所选电磁阀进行控
制;IOB11 和 IOB12 是所选的电磁阀的状态输入口。
3、 软件设计
本系统的工作流程如下图 :
首先进行的是故障检测,在此期间主要检测 IC 卡上金额是否大于 0 元,进水温度的检
测,出水温度的检测,进、出水温度的比较,流量检测等。如果出现:卡上无钱,检测
不到进、出水温度,或进水温度小于出水温度,检测不到流量等问题系统都会有相关的
错误信息提示。有错,则关闭所有的阀门,不参加各种计量运算;无错,按照选定的标
准进行阀门控制,接着进行相关的计量。
按键扫描主要针对表上的手动按键,如有按键操作,存储按键次数,在按键处理部分
根据该次数进行相关的显示,其中次数为 0 显示累计热量,次数为 1 显示热量,次数为 2
显示流量,次数为 3 显示累计流量,次数为 4 显示入水温度,次数为 5 显示出水温度,
次数为 6 显示累计工作时间,次数为 7 电源欠压提示,次数为 8 显示剩余费用。30 秒后
无按键操作自动恢复显示累计热量。
在遥控处理部分,用户可以通过遥控器设置出差、假日、循环时间、各个房间的高低
温、即时控制各个房间的开关等