|
首先感谢大家的支持和版主的悉心维护,坛子才能有今天的热闹。
这次还是从原理讲起,写一个旁门左道的测试,并推导出很不专业的结论,供大家参考。
【背景】
在各种自然意外发生以前,生活在城市的人们并不习惯于基础资源的防灾备份:电力。
可能是一场夏天的暴雨,就能让全城停电停水停运停摆好几天;
也可能是一次冬日的冻雨,你就不得不在室内翻出尘封多年的蜡烛,苦等来电或是解封。
冰城小区普遍老旧,有阵子停水停电简直家常便饭:夏天太热超负荷停电,冬天供暖前太冷超负荷停电。
虽有锂电护体,但完全没征兆的停电还是很不让人省心,因而迫切需要一套停电预警系统。
【交流输电】
停电预警,在明面上的 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
打赏
-
查看全部打赏
|