一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于人体阻抗模型的人体触电保护FPGA实现方法与流程

2023-01-15 05:36:11 来源:中国专利 TAG:

一种基于人体阻抗模型的人体触电保护fpga实现方法
技术领域
1.本发明涉及人体触电保护技术领域,具体为一种基于人体阻抗模型的人体触电保护fpga实现方法。


背景技术:

2.低压配电网中(380v)若发生人体触电,会极大危害广大人民群众的生命安全,目前我国每年因此而受伤的人数仍达上千人,但另一方面若漏电保护设备不能区分人体与一般电阻性漏电,无选择性地跳闸,则会大大降低供电可靠性,所以十分有必要实现准确快速识别人体触电。
3.当前对人体触电的研究状况如下:王清亮提出了一种基于高频暂态分量相关性的保护方法,能实现故障选线,但该方法并不能区分人体触电与一般电阻性漏电;任龙霞提出了一种基于s变换的人体触电识别方法,有较好的选择性,但并没有基于此方法提出一整套硬件实现方案;关海鸥等人提出了一种使用hht对剩余电流提取固有模态分量,再将其作为神经网络输入进行识别,从而有较好的选择型,但该方法若要有较高的可靠性,需要大量的触电数据,这点难以在工程实际中实现。
4.如上文所述,当前技术并没能综合考虑:人体触电识别原理、工程实际以及硬件实现方案,故极少有投入运行的人体触电保护装置。本发明是在《一种基于人体阻抗模型的剩余电流保护方法》(作者已在另一专利中提出)的基础上,提出一种该方法的fpga(xilinx的zynq7015)实现流程。
5.相较于传统的dsp方案,使用fpga实现能做到对多回线路并行计算,能实现更高采样率,更大的计算量。


技术实现要素:

6.(一)解决的技术问题
7.针对现有技术的不足,本发明公开了一种基于人体阻抗模型的人体触电保护fpga实现方法,以解决上述背景技术中提出的问题。
8.(二)技术方案
9.为实现以上目的,本发明通过以下技术方案予以实现:一种基于人体阻抗模型的人体触电保护fpga实现方法,包括采样模块、dft模块设计和阻抗虚部计算:
10.采样模块:
11.采用analog devices公司的ad7606芯片,芯片读取时间上采用转换后读模式,数据模式上采用串行输出;
12.dft模块设计:
13.在原理上需要使用工频分量,所以时间窗选取为从当前时刻到20ms前(结合本文5khz采样率,为100个采样点),对该时间窗使用离散傅里叶变换,具体公式如下:
[0014][0015]
公式中x(n)就是采样值;cos与sin值可由设置为sin and cos功能的cordic模块生成;卷积过程则是通过xbip_multadd实现:
[0016]
当前大多数实现方法是使用100个(求和的个数)ip实例实现卷积过程,实例间连接采用级联方式(即输入采用pcin,输出采用pcout);为减少资源消耗,可令输入输出都使用该ip核的非级联引脚(即输入采用c,输出采用p),再将p与c相连,实现一个实例完成卷积功能;
[0017]
阻抗虚部计算:
[0018]
由采样值计算阻抗虚部公式如下:
[0019][0020]
dft算法无论是按照上文实现,还是使用xilinx的dft ip核,每个电气量的实部与虚部在累加运算时的值是中间量,而并非最后结果,并不能参与阻抗的计算,设置在impedence状态才开放阻抗计算;
[0021]
优选的,所述采样后每个电信号的采样值存储于单端口bram内,bram内数据不断更新,以实现保存最近400个点。
[0022]
优选的,所述采样启动信号adx_convst由fpga按照5khz提供,convst启动后由ad7606文档可知部分引脚的时序。
[0023]
优选的,所述在read状态里fpga与ad7606的数据交互采用spi总线:数据线有两条adx_douta与adx_doutb;由于供电采用3.3v,时钟信号不得高于17mhz,所以对系统时钟采用4分频得12.5mhz作为spi通信时钟。
[0024]
优选的,所述fpga与ad7606串行同行时序。
[0025]
本发明公开了一种基于人体阻抗模型的人体触电保护fpga实现方法,其具备的有益效果如下:
[0026]
1、该基于人体阻抗模型的人体触电保护fpga实现方法,现有技术绝大部分都只是对检测算法仿真验证,少数有硬件实施的也是采用dsp等cpu实现,而本发明是使用fpga实现整套保护流程。
[0027]
2、该基于人体阻抗模型的人体触电保护fpga实现方法,保护方法上需使用工频量即可取人人体触电于一般电阻性漏电;在fpga上实现了整套保护算法,可做到对多回线并行检测人体触电,针对dft与故障选相部分涉及的卷积运算,需使用一个ip实例便可实现,大大节省硬件资源。
附图说明
[0028]
图1为本发明基于人体阻抗模型的剩余电流保护方法流程图;
[0029]
图2为本发明装置上有关ad7606的原理图;
[0030]
图3为本发明ad7606采样后读取模式的时序图;
[0031]
图4为本发明fpga操作ad7606的状态机;
[0032]
图5为本发明fpga与ad7606串行同行时序图之一;
[0033]
图6为本发明fpga与ad7606串行同行时序图之二
[0034]
图7为本发明xbip_multadd接线图。
具体实施方式
[0035]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]
本发明提供了如图1-7所示的基于人体阻抗模型的人体触电保护fpga实现方法:
[0037]
本发明中包含采样、dft、突变量启动、故障选相、阻抗计算,这些都是在一个采样周期内完成的,而本文使用的系统时钟频率为50mhz,采样率是5khz,故一个采样周期是0.2ms。
[0038]
采样后每个电信号的采样值存储于单端口bram内,bram内数据不断更新,以实现保存最近400个点。
[0039]
因算法各部分都需要使用到bram内数据,所以为了避免数据读写冲突,在fpga上使用以下时序;
[0040]
该时序图,给出了各状态的名称以及需要实现的内容。
[0041]
介绍采样、dft、阻抗计算三个模块的设计:
[0042]
采样模块设计
[0043]
采用analog devices公司的ad7606芯片,芯片读取时间上采用转换后读模式,数据模式上采用串行输出。根据这两个模式的要求,设计原理图如下:
[0044]
采样启动信号adx_convst由fpga按照5khz提供,convst启动后由ad7606文档可知部分引脚的时序如下:
[0045]
在fpga采用如下状态机来实现该时序图:
[0046]
在read状态里fpga与ad7606的数据交互采用spi总线:数据线有两条adx_douta与adx_doutb;由于供电采用3.3v,时钟信号不得高于17mhz,所以对系统时钟采用4分频得12.5mhz作为spi通信时钟,通信过程的具体时序图如下:
[0047]
下半部分图是上半部分图中vi(i=1~8)的具体过程,所以整个读过程需要4*16=64个sclk,而每个sclk为4个时钟周期,所以read状态持续64*4=256个时钟周期。
[0048]
(2)dft模块设计
[0049]
因本方法在原理上需要使用工频分量,所以时间窗选取为从当前时刻到20ms前(结合本文5khz采样率,为100个采样点),对该时间窗使用离散傅里叶变换,具体公式如下:
[0050][0051]
公式中x(n)就是采样值;cos与sin值可由设置为sin and cos功能的cordic模块生成;卷积过程则是通过xbip_multadd实现:当前大多数实现方法是使用100个(求和的个数)ip实例实现卷积过程,实例间连接采用级联方式(即输入采用pcin,输出采用pcout);但为减少资源消耗,可令输入输出都使用该tp核的非级联引脚(即输入采用c,输出采用p),再将p与c相连,这样便可实现一个实例完成卷积功能,连接如下图所示:
[0052]
根据上述设置的模式,会导致xbip_multadd的ab-p延时为6拍,c-p延时为3拍,根据xbip_multadd官方文档:级联连接方式下,下一级(ma2)的ab输入要比上一级(ma1)晚k拍:
[0053]
k=ma1.ab_lat ma2.c_lat-ma2.ab_lat
[0054]
具体到本例就是要晚6 3-6=3拍;另一方面将系统时钟的3倍频作为xbip_multadd的输入时钟,这样下级ab的输入只要比本级ab的输入慢一个系统时钟周期即可,便可实现一个系统时钟周期内完成一次乘积的累加,及正弦系数与采样值的读取,一共100个时钟周期即可完成dft的卷积运算。
[0055]
阻抗虚部计算
[0056]
由采样值计算阻抗虚部公式如下:
[0057][0058]
要注意的是,dft算法无论是按照上文实现,还是使用xilinx的dftip核,每个电气量的实部与虚部在累加运算时的值是中间量,而并非最后结果,并不能参与阻抗的计算;
[0059]
所以设置在图2中的impedence状态才开放阻抗计算。
[0060]
流程图中其余模块的fpga直接按照《一种基于人体阻抗模型的剩余电流保护方法》中对应的公式实现即可。
[0061]
实例分析:
[0062]
整套基于人体阻抗模型的人体触电保护方法,都使用硬件语言verilog描述,在vivado软件上进行行为仿真验证,以及synthesis,implement,generate bitstream并最终下载到zynq7015中,在implement后,资源使用情况如下:
[0063]
表1:zynq7015各器件使用情况
[0064]
zynq7015使用情况(数目)使用情况(占比%)lut1530233.12ff1570016.99
brams11.0011.58uram00.00dsp12175.63lutram5493.81io1711.33gt00.00bufg412.50mmcm133.33pll00.00pcie00.00
[0065]
在测试实验中,使用iec推荐的人体阻抗模型接于a相,随机合上开关,以模拟人体触电。
[0066]
可见在故障发生后:57us突变量起动元件动作,3.2ms故障选相元件选出a相,并立刻开放阻抗元件计算的人体阻抗虚部,24ms输出人体触电检测。保护方法上需使用工频量即可取人人体触电于一般电阻性漏电,在fpga上实现了整套保护算法,可做到对多回线并行检测人体触电;
[0067]
针对dft与故障选相部分涉及的卷积运算,需使用一个ip实例便可实现,大大节省硬件资源;
[0068]
现有技术绝大部分都只是对检测算法仿真验证,少数有硬件实施的也是采用dsp等cpu实现,而本发明是使用fpga实现整套保护流程。
[0069]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献