ZHCAD60B May 2011 – September 2023 MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253
在电表中,能耗通常以千瓦时 (kWh) 脉冲的几分之一来测量。此信息可用于准确校准任何仪表或在正常运行期间报告测量结果。为了有效地完成这两项任务,微控制器必须精确地生成和记录这些脉冲的数量。一般要求是生成这些抖动相对较小的脉冲。尽管时间抖动并不表示准确度不佳,但只要将抖动平均化,就会让人对仪表的整体准确度产生负面印象。
样本代码使用平均功耗来生成电能脉冲。每次 SD24 中断时,都会累积平均功耗(由前台进程计算)。此积累过程相当于将功率转化为电能。当累积的电能超过阈值后,便会产生一个脉冲。高于此阈值的电能值将保留下来,然后在下一个中断周期中会有一个新的电能值加到此阈值之上。由于平均功率趋于稳定值,这种产生电能脉冲的方式非常稳定,没有抖动。
该阈值决定了电力公司指定的电能刻度,并且是一个常数,例如,它可以以 kWh 为单位。在大多数仪表中,每千瓦时的脉冲决定了该能量刻度。例如,在此应用中,有功和无功电能每千瓦时产生的脉冲数设置为 1600。在这种情况下的电能刻度 为 1kWh/1600。将生成电能脉冲,也可以通过板上的 LED 进行指示。端口引脚针对脉冲进行切换,并控制每个脉冲的脉冲宽度。
图 5-5 展示了脉冲生成流程图。
平均功率以 0.01W 为单位,1kWh 阈值定义为:
1kWh 阈值 = 1 / 0.01 × 1kW × (每秒的中断数) × (一小时的秒数) = 100000 × 3906 × 3600 = 0x14765AAD400