4.2 执行计量参数计算的算法

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • 4.2 执行计量参数计算的算法
  • 登录
在本培训系列的“使用 独立ADC的单相电表设计软件” 部分的视频中, 我们讨论了可用于 从ADS 131 ML4检测电压和电流样本计算 计量参数的算法。 此幻灯片显示用于计算 计量读数的公式。 对于RMS读数,全帧数据的平方样本的 运行和 - 大约一秒 与最近的零交叉 同步的数据 - 除以样本数。 然后可以从结果量中减去偏移量, 以减去高斯噪声的影响, 以获得更准确的RMS测量值。 随后,执行平方根运算, 并将得到的数量乘以比例因子, 以将结果转换为真实世界单位, 如伏特和安培。 为了计算有功功率, 然后将全帧数据的电压 和电流样本的乘积之和 除以当前帧内的样本计数, 然后乘以比例因子。 然后减去用于补偿电压 电流串扰的偏移。 对于无功功率, 遵循类似的过程,除了90度 移位版本的电压用于乘法 而不是原始电压样本,并且还使用 不同的无功功率偏移。 无功功率比例因子 是根据有功功率比例因子 和所选滤波器的特性在内部 计算的。 通过对计算的有功功率 求平方,将其加到 平方无功功率,然后取结果的 平方根来计算视在功率。 有功功率除以视在功率 以计算功率因数。 GUI采用此功率因数读取 并获取其反余弦, 它告诉您由于客户负载的反应 而产生的电压和电流波形之间的 基本偏移。 频率的计算是通过估计 背景过程中两个0交叉点之间的样本数量 并将ADC的采样率除以 - 在这种情况下为1000赫兹 - 通过该数字来完成的。 用于测试此设计的计量 计算可以分为两个部分 - 前景过程和后台过程。 后台进程主要处理软件中的 时序关键事件。 由于插入了ADS 131 ML4的D 就绪引脚,每次发生端口中断时都会 发生后台进程。 在后台处理中,如果设备 应该处于电流检测模式, 则插入D就绪引脚的唯一方法是, 如果ADS 131 ML4可能 检测到篡改了从仪表移动 中性连接。 如果由此触发了端口ISR, 则通过递增篡改计数变量 来记录此潜在篡改事件。 该变量计算自上次电源故障 以来在当前检测模式中检测到 篡改后发生的篡改次数。 递增变量后,退出ISR。 如果ADS 131 ML4不应处于 电流检测模式, 则插入D就绪引脚 并随后触发端口ISR是因为ADS 131 ML4中 有新的采样。 当发生这种情况时, 先前获得的电压和电流 样本存储在缓冲器中, 稍后将由每个样本dsp函数读取。 存储先前的电压和电流样本后, 触发MSP432 DMA以自动从ADS 131 ML4读取新生成的样本。 在触发DMA以读取 新的电压和电流样本之前 存储先前的电压和电流样本的目的 是使得在使用这些样本 进行计算的过程中不会覆盖 电压和电流样本信息。 触发DMA以读取新的ADS 131 ML4样本后, 将调用每个样本的dsp函数。 该功能负责更新用于计算 计量参数的中间点积量。 接下来,调用每样本能量脉冲处理函数, 其负责输出用于校准能量 和确定能量误差的 能量脉冲。 前台进程负责在重置后 立即设置硬件。 在设置硬件之后,代码 进入循环,首先检查 来自PC GUI的任何新消息, 并检查后台进程是否累积了一帧数据, 大约一秒钟与最近的0 交叉同步。 如果已经累积了足够的数据, 则前台进程使用来自后台进程的 中间点积来使用上一张幻灯片中 显示的公式计算实际单位中的 度量参数。 如果MSP432根据TPS 7878的 电源故障指示接收到进入电流检测模式的触发, 则清除篡改计数变量, 以便此变量仅计算 从上次电源故障实例 检测到篡改的次数, 而不是它计算从上次MSP432重置时 检测到的篡改总次数。 清除篡改计数变量后, 篡改LED将在上次已经 打开时关闭,然后进入当前 检测模式。 如果MSP432根据TPS 7878的 电网指示接收到退出电流检测模式的触发, 则检查篡改计数变量, 以查看ADS 131 ML4在 检测到的过程中 是否存在两个以上的 篡改事件。 最近ML4处于当前检测模式的时间。 如果ML4检测到两个以上的 篡改事件,则电路板上的LED指示灯亮, 表示上次ML4处于电流检测模式时检测到篡改。 基于具有由ML4检测到的两个 以上篡改事件来定义篡改事件的原因 是系统不指示来自 以下两个场景的篡改。 在第一种情况下,即当电源首次丢失时, 当电流尚未低于当前 检测模式阈值时,触发电流 检测模式,尽管已经指示 电源故障事件。 在第二种情况下,电源正在恢复到电表, 感应电流现在高于当前检测模式阈值, 但系统仍然没有足够的 时间退出电流检测模式, 因此这被视为篡改事件。 在检查篡改计数变量 是否大于2之后,如果是,则打开篡改LED, 退出当前检测模式。 然后,我们再次通过检查来自PC GUI的 任何新消息,在前景循环的开始处开始。 在左侧,我们看到每个示例dsp函数的 流程图。 每个样本dsp函数用于计算 中间点积结果,该结果被馈送到 前景过程中以计算 计量读数。 点积基本上是产品的运行总和。 在此功能中,来自ADS 131 ML4的 电压原始样本以及线电流 或中性线电流存储 在缓冲区中, 可用于ADC样本的任何特殊后处理 分析。 如果由于某种原因 需要存储DC滤波的ADC数据, 例如执行谐波分析,则也可以修改软件。 原始ADS 131 ML4样本是边整数, 并且使用DC跟踪滤波器移动 这些转换器上的任何直线DC或偏移值。 使用滤波器,电流样本的电压分别 获得对所有电压和电流的单独 DC估计。 然后从每个电压和电流原始ADC样本中 减去该估计值。 使用直流滤波电压和电流样本, 使用新的DC滤波样本更新方波电压, 平方电流,有功功率和无功功率的 运行总和。 这些运行和产品存储为64位值, 以防止在处理24电压 和电流样本时出现溢出。 请注意,单独的点积变量 用于线电流和中性线电流, 因为电流和功率计算都是 针对线电流和中性线电流进行的。 在累积大约一秒的足够样本之后, 后台过程触发前景过程 以使用来自后台过程的点积 计算VRMS,IRMS,平均有功功率 和平均无功功率的最终值。 此外,前景过程 还计算视在功率,有功, 无功和视在能量,频率和功率因数。 在测试软件中, 我们的阶段有两套产品。 在任何给定时间, 前景使用一个进行计算,另一个用作 背景的工作集。 在后台处理有足够的样本后, 它会交换两个点产品, 以便前景使用后台进程刚刚 计算的新获得的点积,后台进程使用 新的空集来计算下一组点积。 每当在电压信道上存在 对正向转变为负的前导0交叉时, 每样本dsp函数还负责 以每周期的样本为单位 更新相应的频率。 在电表中,负载的能量消耗 通常以几千瓦时的脉冲来 测量。 该信息可用于精确校准任何 仪表以进行精确测量。 通常,测量元件 - 在这种情况下是MSP432控制器 - 负责产生与消耗的能量 成比例的脉冲。 为了有效地完成这两项任务, 脉冲的产生必须准确,抖动相对 较小。 虽然时间抖动并不表示准确性差, 但时间抖动会给出仪表整体 精度的负面指示。 由于这种负面的准确性指示,必须对抖动 进行平均。 该应用使用平均功率来 产生这些能量脉冲,如右侧的 流程图所示。 平均功率在每个D就绪端口ISR中断累积, 从而对于当前一秒时间帧中的 每个中断均匀地扩展来自前 一个第二时间帧的累积能量。 这种积累过程相当于将能量 转换为能量。 当累积的能量超过阈值时, 产生脉冲。 保持高于该阈值的能量的量, 并且在下一个中断循环中在阈值之上 添加新的能量值。 因为平均功率趋于稳定, 所以这种产生能量脉冲的方式 非常稳定并且没有抖动。 阈值确定仪表制造商指定的 能量滴答并且是常数。 刻度通常以每千瓦时脉冲 或千瓦时为单位。 每个能量滴答必须产生一个脉冲。 例如,在本应用中, 对于有效无功电能, 每千瓦时产生的脉冲数被设定为6400。 在这种情况下,能量滴答是超过6,400的1千瓦时。 能量脉冲在集管上产生并可用, 也可通过电路板上的发光二极管产生。
课程介绍 共计10课时,1小时35分59秒

如何使用独立计量 ADC 设计单相分流电表

ADC 电表 分流 独立计量 单相

提供有关分流器和电流互感器特性的详细信息。 讨论了三种不同的架构,用于检测用于计算计量参数的电压和电流样本。 讨论了TIDA-010036参考设计中ADS131M04独立ADC和MSP432计量/主机微控制器的功能。 概述了TIDA-010036参考设计。 讨论了TIDA-010036参考设计中使用的电路,用于将电源电压和电流转换为馈入ADS131M04的电压波形。 讨论了使用TPS7A78交流电压定期实现降压电源的优势。 讨论初始化ADS131M04,从器件获取样本以及计算CRC以检查数据包完整性的过程。 讨论了可用于根据ADS131M04的检测电压和电流样本计算计量参数的算法。 概述了ADS131M04的电流检测模式,用于检测从仪表中移除中性线连接。 显示ADS131M04电流检测模式的电流消耗结果。


展开

推荐帖子

三种蓝牙架构实现方案(蓝牙协议栈方案)
本帖最后由 Jacktang 于 2019-11-7 21:46 编辑  蓝牙架构实现方案有哪几种?我们一般把整个蓝牙实现方案叫做蓝牙协议栈,因此这个问题也可以这么阐述:蓝牙协议栈有哪些具体的架构方案?在蓝牙协议栈中,host是什么?controller是什么?HCI又是什么?       大家都知道,不同的应用场景有不同的需求,因此不同的应用场...
Jacktang 无线连接
运放的电压追随电路详解
本帖最后由 fish001 于 2019-11-13 22:28 编辑         运放的电压追随电路,如图1所示,利用虚短、虚断,一眼看上去简单明了,没有什么太多内容需要注意,那你可能就大错特错了。理解好运放的电压追随电路,对于理解运放同相、反相、差分、以及各种各样的运放的电路,都有很大的帮助。     图1 运...
fish001 模拟与混合信号
MCU调试大法:使用串口实现简单shell功能
MCU程序调试方法有很多,比如软/硬件仿真、添加数据打印等。 像Keil MDK就支持不少单片机的软件仿真,在没有拿到单片机的情况下,就可以先仿真调试部分功能,查看代码逻辑是否正确。硬件仿真则需要借助仿真器,如调试Cortex内核MCU常用的J-Link/ST-Link等。通过watch窗口可以查看变量的值: 在代码中添加数据的打印,则需要借助MCU的串口功能,将运行时的关键数据...
Jacktang 微控制器 MCU
温度传感器MAX6613设计的温度采集系统原理解析
        温度采集系统主要通过温度传感器MAX6613采集得到温度数据,MSP430F149作为CPU从温度传感器读取数据,将得到的数据进行判断然后做相应的处理,比如显示或者报警。温度传感器通过某种关系的换算,就可以得到温度与输出电压的关系,对于MAX6613来说,其输出的电压与温度的关系如图所示。     图 MA...
Jacktang 模拟与混合信号
分享到X
微博
QQ
QQ空间
微信

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved