DSP三段式保护综合实验设计.docx
- 文档编号:23986262
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:15
- 大小:157.75KB
DSP三段式保护综合实验设计.docx
《DSP三段式保护综合实验设计.docx》由会员分享,可在线阅读,更多相关《DSP三段式保护综合实验设计.docx(15页珍藏版)》请在冰豆网上搜索。
DSP三段式保护综合实验设计
DSP
三
段
式
保
护
实
验
报
告
电气0904班
李文涛
0906060427
基于dsp的继电保护装置设计
一、实验目的
1.通过DSP程序的设计模拟继电保护跳闸实验,进一步了解DSP在继电保护中的应用。
2.通过实验线路的设计,计算及实际操作,使理论与实践相结合,增加感性认识,使书本中的知识更加巩固。
3.培养动手能力,增强对DSP运用的能力。
4.培养分析查找故障的能力。
5.增加对DSP外围电路的认识。
二、实验设备
DSP板、仿真器、直流电源、吸锡器、电烙铁、万用表,示波器、调压器、灯泡、螺丝刀、导线若干
三、实验原理
1.DSP芯片F2812介绍
DSP2812功能比单片机强大的多,TMS320F2812是美国TI公司推出的C2000平台上的定点32位DSP芯片,适合用于工业控制,电机控制等,用途广泛,应该相当于单片的升级版。
运行时钟也快可达150MHz,处理性能可达150MIPS,每条指令周期6.67ns。
IO口丰富,对用户一般的应用来说足够了。
两个串口。
具有12位的0~3.3v的AD转换等。
具有片内128k×16位的片内FLASH,18K×16位的SRAM,一般的应用系统可以不要外扩存储器。
(1).ADC编程
TMS320F2812带有两个8选1多路切换器和双采样/保持器的12位ADC,模拟量输入范围为0~3V,最快转换速率为80ns,选用10kSPS采样率,并采用EVA的定时器(0.1ms)自动触发方式,可同时采样4个通道,并采用每次转换结束的中断方式来纪录采样结果(右移4位)。
转换结果=(212-1)×(输入的模拟信号-ADCLO)/3
ADC转换时,首先初始化DSP系统,然后设置PIE中断矢量表,再初始化ADC模块,接着将ADC中断的入口地址装入中断矢量表并开中断,然后再启动0.1ms定时器,同时等待ADC中断,最后在ADC中断中读取ADC转换结果,并用软件启动下一次中断。
(2).脉波宽度调变(PWM)
PWM的功能包括:
(1)拥有宽广可程序的Dead-time长度。
(2)PWM载波频率实时的改变。
(3)PWM脉波宽度实时的改变。
(4)可以透过程序来产生非对称、对称及空间向量PWM信号。
(5)提供外部保护接脚PDPINTx来保护功率级板,当这个接脚为地时,PWM信号将会强制变为高阻抗.如图1所示为PWM电路的方块图,其动作流程大致为:
比较器的值(CMPRx)进来与T1CON所设定的对称或非对称之波形比较,然后产生方波PHx输出进入死区时间产生电路产生出两个有
死区时间的信号,再透过输出逻辑电路来设定每个PWM的输出逻辑,如此就可产生所需要的PWM信号。
图1.PWM电路方块图
如图2所示为非对称PWM波形图,其中PWM1、PWM3、PWM5输出逻辑设为ActiveHigh,PWM2、PWM4、PWM6输出逻辑设为ActiveLow,如此设定Dead-time会使得PWMx与PWMX+1两讯号不同时为1,适用于IGBT为ActiveHigh之功率级板。
图2非对称PWM信号波形图(x=1,3,or5)。
2.模拟继电保护原理
为了实现过电流保护的动作选择性,各保护的动作时间一般按阶梯原则进行整定。
即相邻保护的动作时间,自负荷向电源方向逐级增大,且每套保护的动作时间是恒定不变的,与短路电流的大小无关。
具有这种动作时限特性的过电流保护称为定时限过电流保护。
三段式电流保护的作用,是利用不同过电流值下,设置不同的延时动作时间来规避工作尖峰电流和使发生短路故障时,只有事故点最近的断路器动作以减少断电的影响范围。
三段就是三个时限,保护范围不同,一般一段时间最短电流最大(又叫瞬时速断保护)二段(定时限过电流保护)三段(过电流保护)电流比一段小时间稍微长,一般参照一段可以设。
我们利用电压的大小来模拟三段式电流保护中的电流,超过设定的电压值就会跳闸,输入电压小于80V不动作,模拟电路正常工作;输入电压大于160V时立即跳闸,模拟电流速断;输入电压小于160V且大于120V时,经过3秒的延时后跳闸,模拟电流二段;输入电压小于120V且大于80V时,经过5秒的延时后跳闸,模拟电流三段。
3.实验设计原理
本次设计是基于TMS320F2812DSP的交流采样和模拟三段保护的系统。
系统总体负载电压、电流量经过互感器,再经过信号处理电路,变为DSP所要求的信号量,经过DSP自带的交流采样模块,变为CPU能处理的数字量。
然后经过判断(与设定值设定值比较)后,发出跳闸信号,同时显示当前电压,电流的有效值。
4.实验原理图介绍
继电保护模块(主电路)
主电路由电流互感器、电压互感器、微型继电器、和部分电阻组成。
交流采样模块(+-12V双电源供电)
信号处理电路有4个运算放大器、两个电位器、一个104独石电容和部分电阻组成。
从电压互感器出来的信号,首先经过运放D,进行反相偏置处理,然后经过运放C,它是个一阶有源滤波。
运发B的作用是对前两级的信号进行放大,使信号更适合DSP的要求,最后运放A是个跟随器,其作用是减小对信号源的影响,因为理想运放的输入电阻无穷大。
显示模块
四、实验步骤
1、设计硬件电路,根据实验指导书中提供的电路图,自己焊接电路板,在制作之前要认真检查实验电路图是否正确,并计算出电路中的一些参数,理解电路的实现的功能。
2、硬件焊接完成后,通电调试,电压的幅值不能超过3V。
3、编写程序并上机调试。
五、实验结果
1.交流采样结果
用示波器观察得到的波形,基本上和计算值相符,不大于3.3V,不小于2V
2.模拟继电保护动作结果
1)输入电压小于80V不动作,数码管显示当前输入电压,模拟电路正常工作;
2)输入电压大于160V时立即跳闸,数码管显示当前电压值,模拟电流速断;
3)输入电压小于160V且大于120V时,数码管显示当前输入电压,经过3秒的延时后跳闸,数码管显示当前电压值,模拟电流二段;
4)输入电压小于120V且大于80V时,数码管显示当前输入电压,经过5秒的延时后跳闸,数码管显示当前电压值,模拟电流三段;
六、实验心得
通过这次的实验,使我们初步了解了交流电网的数据采集以及数据处理方法和过程,大概的了解了继电保护装置的动作原理以及它的实现方法,但是我们都知道,现在大家做的都是特别简单的一类问题,具体到实际的应用中,我们会遇到更多的问题,比如,数据采集后的精确处理,继电保护动作的配合问题。
还有就是此次做的继电保护动作是在三相(一相)电压和电流的基础上整定的,可是继电保护的种类很多,有电流整定的,电压整定的,还有零序电压电流整定的等等,要想真正学好这一方面还需要我们今后的继续努力,或许在大学里机会不是很多了,但是今后,在我们读研或是工作的时候,我们还是可以继续,对这一些还没有做过的实验来进行了解和编程,这样我们才会真正了解到它的真正方法。
做事情是不能害怕,学的好不好不是凭想象,是要靠实践来检验,一开始就畏畏缩缩,不敢动手去做,那末最终就只能是失败,会与不会不重要,实践也是学习的过程,在实践中学到的东西远比课本上来得重要,动手做了才能找出问题,找到自信,发现自己并不比别人差。
七、实验程序
#include"DSP281x_Device.h"
#include"DSP281x_Examples.h"
interruptvoidadc_isr(void);
voidoutput(intm,intn);
voiddisp(intd);
Uint16LoopCount;
Uint16ConversionCount;
Uint16Voltage1[240];
Uint16Voltage2[240];
Uint16Power_voltage;
Uint16c;
Uint16d;
Uint16e;
Uint16f;
main()
{
InitSysCtrl();//初始化cpu
DINT;//关中断
InitPieCtrl();//初始化pie寄存器
IER=0x0000;//禁止所有的中断
IFR=0x0000;
InitPieVectTable();//初始化pie中断向量表
EALLOW;
PieVectTable.ADCINT=&adc_isr;
EDIS;
AdcRegs.ADCTRL1.bit.RESET=1;
asm("RPT#10||NOP");
AdcRegs.ADCTRL3.all=0x00C8;
AdcRegs.ADCTRL3.bit.ADCBGRFDN=0x3;
AdcRegs.ADCTRL3.bit.ADCPWDN=1;
PieCtrlRegs.PIEIER1.bit.INTx6=1;
IER|=M_INT1;
EINT;
ERTM;
EALLOW;//初始化GPIO
GpioMuxRegs.GPAMUX.all=0x0000;
GpioMuxRegs.GPADIR.all=0xFFFF;
EDIS;
GpioDataRegs.GPADAT.bit.GPIOA0=0;
LoopCount=0;
ConversionCount=0;
c=0;
d=0;
e=0;
f=0;
AdcRegs.ADCMAXCONV.all=0x0001;//设置AD转换的通道
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;
AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1;
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;
EvaRegs.T1PR=0x186A;//设置PWM的周期
EvaRegs.GPTCONA.bit.T1TOADC=2;//选择周期中断
EvaRegs.T1CON.all=0x1042;//设置寄存器
while
(1)//等待中断
{
LoopCount++;
}
interruptvoidadc_isr(void)//AD中断子函数
{
Voltage1[ConversionCount]=AdcRegs.ADCRESULT0>>4;//结果存放在数组中
Voltage2[ConversionCount]=AdcRegs.ADCRESULT1>>4;
if(ConversionCount==239)//取采样后的最大值
{
inti;
for(i=0;i<240;i++)
{
if(Voltage1[0] Voltage1[0]=Voltage1[i]; } Power_voltage=Voltage1[0]; tiaozha();//调用跳闸子函数 ConversionCount=0; } elseConversionCount++; AdcRegs.ADCTRL2.bit.RST_SEQ1=1;//复位等待下次中断 AdcRegs.ADCST.bit.INT_SEQ1_CLR=1; PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; return; } voidtiaozha(void)//跳闸子函数 { inta=0,b=0,i; e++; if(f f=Power_voltage; if(e==10) {e=0; disp(f);//调用显示子函数 f=0; } if(Power_voltage>2800)//一段的判据 { GpioDataRegs.GPADAT.bit.GPIOA0=1; while (1) { output(1,3); output(11,2); output(11,1); output(10,0); for(i=0;i<0xffff;i++) {} } } elseif(Power_voltage>2200)//二段的判据 {a=1; } elseif(Power_voltage>1600)//三段的判据 {b=1; } else GpioDataRegs.GPADAT.bit.GPIOA0=0; if(a==1) c++; if(b==1) d++; for(i=0;i<0xffff;i++) {} if(c==10)//二段的延时 { GpioDataRegs.GPADAT.bit.GPIOA0=1; c=0; d=0; while (1) { output(2,3); output(11,2); output(11,1); output(10,0); for(i=0;i<0xffff;i++) {} } } if(d==20)//三段的延时 { GpioDataRegs.GPADAT.bit.GPIOA0=1; c=0; d=0; while (1) { output(3,3); output(11,2); output(11,1); output(10,0); for(i=0;i<0xffff;i++) {} } } return; } voiddisp(intd)//显示子程序 { floata; intx,i=0,b[3]; if(d<1964) d=1964; a=(d-1964)*235.0/1436;//换算公式 x=a*10;//取百、十、个、小数位各位数字,存入数组 b[i]=x/1000; i++; b[i]=x/100%10; i++; b[i]=x/10%10; i++; b[i]=x-x/10*10; output(b[3],3);//按位输出 output(b[2],2); output(b[1],1); output(b[0],0); } voidoutput(intm,intn)//显示输出子程序 { intb,i; switch(m)//查询数码表 { case0: b=63;break; case1: b=6;break; case2: b=91;break; case3: b=79;break; case4: b=102;break; case5: b=109;break; case6: b=125;break; case7: b=7;break; case8: b=127;break; case9: b=111;break; case10: b=115;break; case11: b=64;break; } if(n==2&&m<10) b=b+128; GpioDataRegs.GPADAT.bit.GPIOA1=1; for(i=7;i>=0;i--)//发送数据 { GpioDataRegs.GPADAT.bit.GPIOA2=b>>i&1;//取每一位的数值 GpioDataRegs.GPADAT.bit.GPIOA1=0; GpioDataRegs.GPADAT.bit.GPIOA1=1; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 三段式 保护 综合 实验设计