数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 5993|回复: 173

[Arduino] 使用 Arduino 监测电网 50Hz 工频,实现人类活动观察与预警(原创)

    [复制链接]
发表于 2023-12-8 13:46:58 | 显示全部楼层 |阅读模式
首先感谢大家的支持和版主的悉心维护,坛子才能有今天的热闹。

这次还是从原理讲起,写一个旁门左道的测试,并推导出很不专业的结论,供大家参考。


【背景】

在各种自然意外发生以前,生活在城市的人们并不习惯于基础资源的防灾备份:电力。

可能是一场夏天的暴雨,就能让全城停电停水停运停摆好几天;
也可能是一次冬日的冻雨,你就不得不在室内翻出尘封多年的蜡烛,苦等来电或是解封。

冰城小区普遍老旧,有阵子停水停电简直家常便饭:夏天太热超负荷停电,冬天供暖前太冷超负荷停电。
虽有锂电护体,但完全没征兆的停电还是很不让人省心,因而迫切需要一套停电预警系统。


【交流输电】

停电预警,在明面上的 APP 就不用奢望了。
一来根本就是公益投入,回报率不高;二来电厂能预警的,早就不算意外停电。

索性就得自己干,先大致铺垫下电网工作原理。以单相交流为例,三相类似:



发电机一端,蒸汽叶轮、水利涡轮等原动机带着磁体以 ω 速度旋转;
磁体旁边的线圈 L 捕获不停变化方向的磁场,产生交流感应电动势,频率 f=ω/2π.
在用户一端,直接将负载 R 接入供电回路,实现电力利用与消耗。

所谓停电,除人为拉闸检修外,基本可以简化为供电回路上某保险 F 爆了,如图:



能否正确识别 F 爆掉的前兆,成为预测突发停电事件的关键。
对于上图,最为直观的思路就是检测 R 中电流,电流太大则认为容易爆保险,即跳闸。


【电网故障预测】

然而电厂不是给一家用的,实际供电结构更类似下图:



发电机 L 的输出经过总保险 F0 后,由多台变压器 T1-T3 分配给多个用户 R1-R3,
并且每个用户都有自己的保险 F1-F3.

以用户 R1 为例,单纯监测 R1 自身用电负荷,并不能准确反映用户 R2、R3 状态。
到头来就算能预警,监测范围也只停留在 F1 回路,无法预测更为严重的 F0 回路故障。

常规的交流电压测试,如下图所示在 R1 处测量交流电压 Vpp(1):



Vpp(1) 虽在一定程度上可以反映电网的整体负荷,但需要图中红色回路负载近似恒定。
在城市中则要求 R1 及附近并联住户负载恒定,可操作性不高。到头来对远端 F0 故障预测还是不准。

既然竖着测电压不灵敏,索性横过来测时间,如图所示:



这回敞亮了,只是在 R1 房间里测了个角频率 ω,能一路追回到电厂转子转数,
物理时间的穿透力,果然比电压电流啥的强太多。

当然本文仅考虑电网中不存在变频站的情况。
对于用上了变频站这种等级的电网,也没必要三天两头担心停电了。

回到主线任务,测试 ω 怎么就能预测电网故障了? 做个动图示意下:



依据能量守恒,不同的负载状态,会一直反馈到电厂发电机一端。
当负载较轻时(例如R2、R3离线),发电机转子电磁阻力下降,转速 ω 略微提升,所谓转更溜;
当负载较重时(例如R2、R3在线),发电机转子电磁阻力上升,转速 ω 略微下降,所谓转不动。

虽然国标规定我国交流电频率 50Hz,即要求发电机转子有一定的恒速机制,
但实际不可能也没必要做到 50.00000 这样的频率精度,性价比不高。

通过适当的方法,在 R1 处测得足够精确的频率数值,是可以观测到 R2、R3 这些周边负载工作情况的。

当频率明显低于 50Hz 额定数值,可以认为电网负载过重,爆保险跳闸的几率上升;反之下降。


【Arduino可行性分析】

按照国标 GB/T 15945-2008《电能质量 电力系统频率偏差》的要求,我国电网频率偏差不超过 ±0.2Hz .
对于 50Hz 标称频率而言,相当于 ±0.4% 的相对误差:

https://openstd.samr.gov.cn/bzgk ... 431859BC6A83B2E7F45



感谢科技的发展,手头几毛钱的石英晶振就可以有 ppm 等级的时间精度。
最最不济情况下达到 ±100ppm 也仅相当于 ±0.01%,仍远胜于 50Hz 测频所需。

从时基的角度,Arduino 精度足够测量 50Hz ±0.2Hz 工频所需。



实际操作过程中应注意 Arduino 晶振有两种版本,如上图所示:
长条铁壳的是石英晶振,有着 ppm 精度,可用于测量;
迷你小壳的是陶瓷晶振,精度只有千分之几,达不到测量要求。

对比左侧 USB 通信芯片可以看到,USB 基本全是铁壳石英晶振,就是时序精度要求高所致。

至此,已从电网原理、时间基准上验证了 50Hz 测频的可行性。


【硬件搭建】

使用 Arduino 测量电网频率,第一步就是过零采样。对多个交变零点进行间隔计时,即可换算频率。

然直接拿电路板往插座里怼,左零右火雷公助我,显然不是什么好办法。请出核心科技:



没错,看过我早期帖子的朋友大致能认出这个玩意:剃须刀交流变压器。
写作 AC/DC ADAPTOR,实际却是 AC 交流输出,整流+恒流单元被做进了剃须刀内部。

将市电进行隔离降压,再行测量交变零点,安全性蹭蹭往上涨。
一来变压器隔离了火线高压危险,二来光耦二次隔离电路可以简化很多。

低压部分直接上 PC817 进行隔离,输出丢给 UNO 的中断脚 D3 即可:



理论上低压整流、光耦延迟、上拉延迟都会造成零点测量滞后;
但实际测量的是零点间隔,只要滞后量恒定或者缓慢变化,并不会对测量结果造成太大影响。

CAD 稍微走个线,UNO 专用洞洞板焊起来:



和 UNO 以及一众堆叠板连接好,功能互不干扰:



至此,已完成 50Hz 工频测量平台的硬件搭建。


【软件编写】

测量零点间隔有两种算法:对零点间高频时基计数,或对窗口内零点计数。

前者只要固定数目零点,就可以测得频率,测试响应快,但要求时基频率远高于工频;
后者不需要高频时基,但为了精度就需要长测量窗口,测试响应很慢。

考虑到被测频率 50Hz 远低于 Arduino 工作主频 16MHz,
即使在 Arduino 套壳下仍然有 micros( ) 这种精度达到 ±4us (250kHz) 的时基接口,
果断选择高频时基计数法进行测量。



实际测量采用 5T 方式,即对第1个到第6个交变零点,进行时间采样。
按照 micros( ) 的 4us 误差计算,采样引入的量化误差不超过 ±4us/100ms = ±0.004% .

至此,已有完整的 50Hz 测试平台及固件,只等上电默默记录。


【人类观察】

市电电网的 50Hz 工频频率在 49.8~50.2Hz 区间内缓慢波动。
因此测试系统适合丢角落里,由串口助手一连几天不间断存储,并同步记录样本时刻以备查阅。

原始的串口文件大致长这样:



经过正则表达式抽取、EXCEL排版,可以很方便生成一条频率波动曲线:



从纵轴来看,频率基本集中在 49.90 - 50.10Hz 区间,说明即使在大东北的冰城,电网也严格按标准运行。

但如果结合了横轴时刻数据,图表立即升级为有趣的人类观察:



这张图表来自于某工作日(2021-9-29)凌晨到下午的数据,可以很明显看到电网轻载(频率高)、重载(频率低)的周期变化与人类活动密切相关。

选择该测试时间段的另一个好处是,可以连续测到 10-1 当天,三段图线对比下:



在每天 7:00-19:00 时间段内,9-29 与 9-30 两天走势接近,而 10-1 当天走势风格突变。
显然人类在 10-1 当天活动规律发生了巨大的变化,以至于电网频率测试都能看出区别。


【结论展望】

以电网频率作为切入口,测试结果与已知的人类活动高度相关,从侧面证实了频率评估电网状态的有效性。

实际在电力维护领域,过低的频率就是预示着电网负载过重,发电机出力不足。
参考这里的讨论:https://www.zhihu.com/question/493683079

一般当频率低于 49.7Hz 时,预示着主备发电机都已马力全开;
如果继续下降到 49.5Hz 甚至更低,基本就是电网崩溃:
电压严重不稳、变压器感抗下降发热上升,变电站冒烟、用电器冒烟。

从这个角度,如果监测到频率过低(<49.8Hz),就是明显的电网恶化信号,应提升备用电源蓄电量;
同理如果监测到频率快速大幅波动,提示电网调功不稳,考虑断开部分贵重电器以对抗风险。

----------------------------------------------------------------------------------------

以上,从电网供电原理出发,分析了 Arduino 监测 50Hz 工频的可行性。
连续的测试记录表明,电网工频与人类活动高度相关,证实了以频率评估电网状态的有效性。

通过精确测试电网频率,在实现人类活动观察的同时,建立了电网危险状态预警机制,自行预报停电风险。

最后祝大家永不停电!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 12家元 +281 收起 理由
cat_li + 30
微醉 + 30 優秀文章
a2432061667 + 12 優秀文章
sunnyquan + 30
aping365 + 30 優秀文章
vip2128 + 10 優秀文章
cushion + 30 優秀文章
jf201006 + 30 原創內容
nokia5320 + 15
闻太师 + 30 原創內容

查看全部打赏

 楼主| 发表于 2024-9-2 23:18:10 | 显示全部楼层
lileisgns 发表于 2024-2-23 08:54
太厉害了,小设备测出重要的事件

严格来说,这些设备的数据,都要注意不能被敌方听了去
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-2 23:17:07 | 显示全部楼层
my_digital_2 发表于 2024-2-27 13:41
胖虎想问下:高压输电会不会影响频率测试?

传统高压输电不影响频率: 都是变压器升压、降压的,拿来的不同频?

现代高压乃至于 DC 高压输电就不行了,中间过了逆变器,这频率只取决于最近一级的晶振+软件了
回复 支持 反对

使用道具 举报

发表于 2024-2-29 10:20:11 | 显示全部楼层
楼主资料非常给力,感谢分享。
回复 支持 反对

使用道具 举报

发表于 2024-2-27 13:41:36 | 显示全部楼层
胖虎想问下:高压输电会不会影响频率测试?
回复 支持 反对

使用道具 举报

发表于 2024-2-23 08:54:13 来自手机浏览器 | 显示全部楼层
太厉害了,小设备测出重要的事件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-18 11:08:12 | 显示全部楼层
榕小榕 发表于 2024-1-22 11:42
未曾设想的道路,居然可以用这种方法观察电网

side channel attack 就是这个原理。 你的活动规律会体现在用电变动上,然后就有望分析出 CPU 的指令
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-18 11:06:48 | 显示全部楼层
bigbell 发表于 2024-2-18 02:32
这都是采集基础数据进行大数据分析了,厉害吖

所以用电数据,也是要注意保护的
回复 支持 反对

使用道具 举报

发表于 2024-2-18 09:50:45 | 显示全部楼层
大咖之作,软件硬件一起来
回复 支持 反对

使用道具 举报

发表于 2024-2-18 02:32:57 来自手机浏览器 | 显示全部楼层
这都是采集基础数据进行大数据分析了,厉害吖
回复 支持 反对

使用道具 举报

发表于 2024-1-22 11:42:21 | 显示全部楼层
未曾设想的道路,居然可以用这种方法观察电网
回复 支持 反对

使用道具 举报

发表于 2024-1-19 16:14:07 | 显示全部楼层
tomyluo 发表于 2023-12-8 23:23
电网可以载波通讯,但范围不大(百度百科上看到的)

电力波通信,好像有这种设备,同一个电表下实现网络共享
回复 支持 反对

使用道具 举报

发表于 2024-1-19 15:10:23 | 显示全部楼层
arduino又多了一种新玩法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-19 06:33:58 来自手机浏览器 | 显示全部楼层
烙印疤子2020 发表于 2024-1-17 10:55
学到知识了非常感谢,充了值才下载到了代码,然后下载了以后,往下翻,居然被贴出来了。
不过即使如此,还 ...

感谢支持,祝DIY愉快!
回复 支持 反对

使用道具 举报

发表于 2024-1-17 10:55:09 | 显示全部楼层
学到知识了非常感谢,充了值才下载到了代码,然后下载了以后,往下翻,居然被贴出来了。
不过即使如此,还是要感谢
回复 支持 反对

使用道具 举报

发表于 2024-1-5 10:14:03 | 显示全部楼层
大咖之作,软件硬件一起来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-26 19:15:46 | 显示全部楼层
tomyluo 发表于 2023-12-26 18:46
VC也能解微分方程

本质都一样,Win32 多线程计算而已
回复 支持 反对

使用道具 举报

发表于 2023-12-26 18:46:15 | 显示全部楼层
t3486784401 发表于 2023-12-26 18:36
自编写的一些vc,在迭代解一些微分方程

VC也能解微分方程
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-26 18:36:40 | 显示全部楼层
tomyluo 发表于 2023-12-26 18:04
后台计算,是BOINC吗?

自编写的一些vc,在迭代解一些微分方程
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-24 15:33 , Processed in 0.187201 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表