10kV线路微机继电保护装置源代码,配套pcb图纸和bom。
适合自己学习的素材,也可作为基础版本工程,缩短开发周期。
商品为源码和pcb图
搞电力二次设备开发的工程师们应该都懂,微机继电保护装置的核心在于软硬件的协同设计。
今天咱们要聊的这套10kV线路保护装置源码+PCB工程,算是行业里比较典型的参考案例。
先看软件架构,主控用的STM32F407,程序里ADC采样部分写得挺有意思。
用DMA搬运数据省CPU资源这点不新鲜,但他们的滑动窗口滤波算法实现得够简洁:
#defineSAMPLE_WINDOW
}
这滤波算法别看简单,在工程现场对付CT二次回路的噪声特别管用。
窗口大小32次采样刚好对应20ms工频周期,除法的位运算处理也省资源。
不过要注意ADC采样率得配置成1600Hz(32*50Hz),这样才能完整覆盖一个周波。
硬件设计上最头疼的是抗干扰问题。
他们的PCB布局里有个细节值得借鉴——模拟量输入部分用了三级防护:入口处TVS管吸收浪涌,RC滤波消除高频干扰,最后用磁珠隔离数字地。
看原理图里这个CT信号调理电路:
CT输入->
RC低通(1kΩ+104电容)
->
AD8479限幅
这个设计既保证了测量精度,又能扛住现场常见的4kV浪涌冲击。
PCB走线时特别注意将模拟地AGND和数字地DGND单点连接,避免地环路干扰。
建议打样时给这部分电路单独做铺铜,和其他数字电路保持3mm以上间距。
/>
10kV线路微机继电保护装置源代码,配套pcb图纸和bom。
适合自己学习的素材,也可作为基础版本工程,缩短开发周期。
商品为源码和pcb图
过流保护逻辑的实现倒是比想象中简单:
voidfloat
}
这里用软件防抖代替传统的时间继电器,20ms的判断周期刚好躲过暂态过程。
定值参数存放在片外FLASH的单独扇区,修改参数时记得先解锁写保护:
voidaddr,
FLASH_EraseSector(FLASH_SECTOR_11,
VOLTAGE_RANGE_3);
}
开发时可以直接用他们提供的上位机配置工具,通过RS485下发整定值,比手动改代码方便得多。
源码包里自带的IEC60870-5-103通讯协议栈已经调通了基本功能,要扩展其他规约直接改protocol.c里的解析函数就行。
硬件BOM表里有个坑得注意——电源模块用的金升阳的URB2405YMD-20WR3,这个型号的爬电距离在潮湿环境下有点悬。
如果用在沿海地区,建议换成URB2405YMD-30WR3,虽然贵五块钱但安全性更靠谱。
PCB上的电源入口布局预留了压敏电阻位置,正式投产时记得补上VDR14D471K这个元件。
这套工程最值钱的地方在于测试用例。
他们用状态机实现的故障模拟器可以自动验证保护逻辑:
typedefenum
}
拿这个当基础框架做型式试验能省不少时间。
不过原程序里的重合闸逻辑没完全实现,需要自己补上检无压/检同期逻辑。
好在他们的任务调度框架写得很清晰,直接在rtos_task.c里加个新任务就行。
/>
总的来说,这套东西当开发模板够用了,但直接商用还得过EMC测试。
建议重点整改开入开出回路,原设计的光耦驱动电流偏小,长时间运行可能出问题。
把TLP521-1换成高速光耦6N137,驱动电阻从10k改成2k,基本就能过脉冲群试验。


