西安科技大学基于DSP的三段式过流保护文档格式.docx
- 文档编号:19020812
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:14
- 大小:148.01KB
西安科技大学基于DSP的三段式过流保护文档格式.docx
《西安科技大学基于DSP的三段式过流保护文档格式.docx》由会员分享,可在线阅读,更多相关《西安科技大学基于DSP的三段式过流保护文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
12个
100Ω电阻
TLC2274
7.5k电阻
104独石电容
3.接插件图元件:
元件清单
34位IDC座
4.显示图元件:
74HC164移位寄存器
一位共阴数码管
330Ω电阻
32个
四、实验设计原理:
为了实现过电流保护的动作选择性,各保护的动作时间一般按阶梯原则进行整定。
即相邻保护的动作时间,自负荷向电源方向逐级增大,且每套保护的动作时间是恒定不变的,与短路电流的大小无关。
具有这种动作时限特性的过电流保护称为定时限过电流保护。
三段式电流保护的作用,是利用不同过电流值下,设置不同的延时动作时间来规避工作尖峰电流和使发生短路故障时,只有事故点最近的断路器动作以减少断电的影响范围。
三段就是三个时限,保护范围不同,一般一段时间最短电流最大(又叫瞬时速断保护)二段(定时限过电流保护)三段(过电流保护)电流比一段小时间稍微长,一般参照一段可以设。
我们利用电压的大小来模拟三段式电流保护中的电流,超过设定的电压值就会跳闸,输入电压小于100V不动作,模拟电路正常工作;
输入电压大于180V小于200V时立即跳闸,模拟电流速断;
输入电压小于150V且大于180V时,经过3秒的延时后跳闸,模拟电流二段;
输入电压小于150V且大于100V时,经过5秒的延时后跳闸,模拟电流三段。
五、实验要求:
本次设计是基于TMS320F2812DSP的交流采样和模拟速断的系统。
系统总体结构框图如下图:
负载(灯泡)电压、电流量经过电压、电流互感器,再经过信号处理电路,变为DSP所要求的信号量,经过DSP自带的交流采样模块,变为CPU能处理的数字量。
然后经过判断(采样值与设定值比较)后,发出跳闸信号,同时显示在4位当前电压,电流的有效值。
六、实验原理图:
1.主回路电路图:
主电路由电流互感器、电压互感器、微型继电器、和部分电阻组成。
图中电压互感器实质是一个电流互感器。
当正常工作时,一次侧的电流等于二次侧的电流。
R1为限流电阻,那么这个电流型电压互感器的变比计算如下
因为
所以变比为
电流互感器TA1015的变比
。
主电路中,三极管基极电阻R5关系到DSP能不能跳闸,同时又要保护基极与集电极件的PN结不被击穿。
因为继电器的吸合电压为3.8V,为了能让继电器可靠吸合,则三极管必须工作在饱和导通状态。
则电阻R5的阻值为:
选择R5阻值大小为为1K。
2.信号处理回路
信号处理电路有4个运算放大器、两个电位器、一个10nf独石电容和部分电阻组成。
从电压互感器出来的信号,首先经过滤波回路进入运放1,经电压跟随器2进入运放3进行偏置处理,然后经过运4对信号进行调整,使信号适合DSP的要求,从而决定继电器动作情况。
七、调试波形结果:
信号处理回路电压(电流)波形:
一级运放(滤波):
二级运放(跟随):
三级运放(电压偏置):
四级运放(波形幅值调整为0.5v~2.5v):
八、程序流程图:
九、实验程序:
#include"
DSP281x_Device.h"
//DSP281xHeaderfileIncludeFile
DSP281x_Examples.h"
//DSP281xExamplesIncludeFile
math.h"
stdlib.h"
//Prototypestatementsforfunctionsfoundwithinthisfile.
//////////////////////////功能函数//////////////////////////////////////
interruptvoidadc_isr(void);
voidsuanfa(void);
voidtiaozha(void);
voiddelayns(Uint16);
voiddisplay_init(void);
voiddisplay(Uint16);
voidoutput(Uint16);
////////////////////////////////////////////////////////////////////////
//Globalvariablesusedinthisexample:
Uint16ConversionCount;
Uint16Value;
floatmin,max,average,Vmax;
Uint16display_code[20]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7};
floatVoltage[240],Voltage1[240];
floatCurrent[240],Current1[240];
voidmain(void)
{
InitSysCtrl();
//初始化cpu
DINT;
//关中断
InitPieCtrl();
//初始化pie寄存器
IER=0x0000;
//禁止所有的中断
IFR=0x0000;
InitPieVectTable();
//初始化pie中断向量表
//Interruptsthatareusedinthisexamplearere-mappedto
//ISRfunctionsfoundwithinthisfile.
EALLOW;
//ThisisneededtowritetoEALLOWprotectedregister
PieVectTable.ADCINT=&
adc_isr;
EDIS;
//ThisisneededtodisablewritetoEALLOWprotectedregisters
//////////////////////////////////AD配置/////////////////////////////////////////////
AdcRegs.ADCTRL1.bit.RESET=1;
//ResettheADCmodule
asm("
RPT#10||NOP"
);
//Mustwait12-cycles(worst-case)forADCresettotakeeffect
AdcRegs.ADCTRL1.bit.RESET=0;
AdcRegs.ADCTRL1.bit.SUSMOD=3;
//仿真暂停时,序列发生器和其他数字电路逻辑立即停止
AdcRegs.ADCTRL1.bit.ACQ_PS=8;
//采样窗口大小,SOC脉冲宽度为9个ADCLK
AdcRegs.ADCTRL1.bit.CPS=0;
//内核时钟预定标器,等于0,未将时钟进行2分频
AdcRegs.ADCTRL1.bit.CONT_RUN=0;
//运行于启动/停止模式
AdcRegs.ADCTRL1.bit.SEQ_CASC=1;
//单序列发生器模式,级联模式
AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;
//Powerupbandgap/referencecircuitry
DELAY_US(8000);
AdcRegs.ADCTRL3.bit.ADCPWDN=1;
//PoweruprestofADC
DELAY_US(20);
AdcRegs.ADCTRL3.bit.ADCCLKPS=15;
//ADCLK=HSPCLK/30
AdcRegs.ADCTRL3.bit.SMODE_SEL=1;
//并发采样模式
AdcRegs.ADCMAXCONV.all=0x0000;
//最大采样通道数为1,一次采样2个通道
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;
//采样A0和B0
AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;
//清除SEQ1中的中断标志位INT_SEQ1
AdcRegs.ADCST.bit.INT_SEQ2_CLR=1;
//清除SEQ2中的中断标志位INT_SEQ2
AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ=0;
AdcRegs.ADCTRL2.bit.RST_SEQ1=0;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;
//使能SEQ1中断
AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0;
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;
//允许EVA启动触发SEQ1/SEQ
AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=0;
AdcRegs.ADCTRL2.bit.RST_SEQ2=0;
AdcRegs.ADCTRL2.bit.SOC_SEQ2=0;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0;
AdcRegs.ADCTRL2.bit.INT_MOD_SEQ2=0;
AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ2=0;
AdcRegs.ADCTRL2.bit.SOC_SEQ1=0;
////////////////////////////GPIO配置////////////////////////////////////
EALLOW;
GpioMuxRegs.GPBMUX.bit.PWM7_GPIOB0=0;
//跳闸输出;
GpioMuxRegs.GPBMUX.bit.PWM8_GPIOB1=0;
//串行数据输出
GpioMuxRegs.GPBMUX.bit.PWM9_GPIOB2=0;
//CLK
GpioMuxRegs.GPBMUX.bit.PWM10_GPIOB3=0;
//按键信号输入
GpioMuxRegs.GPBDIR.bit.GPIOB0=1;
//输出
GpioMuxRegs.GPBDIR.bit.GPIOB1=1;
GpioMuxRegs.GPBDIR.bit.GPIOB2=1;
GpioMuxRegs.GPBDIR.bit.GPIOB3=0;
//输入
///////////////////////////EVA配置///////////////////////////////////////
EvaRegs.T1CON.bit.TMODE=2;
//计数模式为连续增计数
EvaRegs.T1CON.bit.TPS=1;
//T1CLK=HSPCLK/2=37.5MHz
EvaRegs.T1CON.bit.TENABLE=0;
//暂时禁止T1计数
EvaRegs.T1CON.bit.TCLKS10=0;
//使用内部时钟
EvaRegs.GPTCONA.bit.T1TOADC=2;
//周期中断启动ADC
EvaRegs.EVAIMRA.bit.T1PINT=1;
//使能定时器T1的周期中断
EvaRegs.EVAIFRA.bit.T1PINT=1;
//清除定时器T1的周期中断标志位
EvaRegs.T1PR=0x0c35;
//周期为83.3us
EvaRegs.T1CNT=0;
//初始化计数器寄存器
ConversionCount=0;
//EnableADCINTinPIE
PieCtrlRegs.PIEIER1.bit.INTx6=1;
IER|=M_INT1;
//EnableCPUInterrupt1
EINT;
//EnableGlobalinterruptINTM
ERTM;
//EnableGlobalrealtimeinterruptDBGM
EvaRegs.T1CON.bit.TENABLE=1;
//启动T1计数
while
(1)
{
tiaozha();
Value=(Uint16)(Vmax*10);
output(Value);
delayns(5000);
}
}
//////////////////////////////AD中断子序//////////////////////////////////////////////
interruptvoidadc_isr(void)
Voltage[ConversionCount]=((float)(AdcRegs.ADCRESULT0>
>
4));
Current[ConversionCount]=((float)(AdcRegs.ADCRESULT1>
if(ConversionCount==239)
suanfa();
elseConversionCount++;
AdcRegs.ADCTRL2.bit.RST_SEQ1=1;
//ResetSEQ1
AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;
//ClearINTSEQ1bit
PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;
//AcknowledgeinterrupttoPIE
return;
/////////////////////////////算法处理///////////////////////////////////
voidsuanfa(void)
{
Uint16N,M,K;
max=Voltage[0];
min=Voltage[0];
Vmax=Voltage1[0];
for(N=0;
N<
240;
N++)
{
if(max<
Voltage[N])
max=Voltage[N];
if(min>
Voltage[N])
min=Voltage[N];
average=(max+min)/2;
for(M=0;
M<
M++)
Voltage1[M]=(fabs(Voltage[M]-average)/4095.0*2.0*311.0);
for(K=0;
K<
K++)
if(Vmax<
Voltage1[K])
Vmax=Voltage1[K];
}
//////////////////////////跳闸处理程序/////////////////////////////////////////
voidtiaozha(void)
if(GpioDataRegs.GPBDAT.bit.GPIOB3==0)
GpioDataRegs.GPBDAT.bit.GPIOB0=1;
//else
//GpioDataRegs.GPBDAT.bit.GPIOB0=1;
if(Vmax>
180&
&
Vmax<
200)
elseif(Vmax>
150&
180)
{
delayns(15000);
//延时3秒
if(Vmax>
100&
150)
delayns(25000);
//延时5秒
//else
//GpioDataRegs.GPBDAT.bit.GPIOB0=0;
////////////////////////数码管显示子程序////////////////////////////////////////
voidoutput(Uint16value)
display_init();
display(value%10);
display(value/10%10+10);
display(value/100%10);
display(value/1000);
voiddisplay_init(void)
Uint16len2;
for(len2=0;
len2<
32;
len2++)
GpioDataRegs.GPBDAT.bit.GPIOB2=0;
GpioDataRegs.GPBDAT.bit.GPIOB1=0;
GpioDataRegs.GPBDAT.bit.GPIOB2=1;
}
voiddisplay(Uint16m)
Uint16temp,len1;
temp=display_code[m];
for(len1=0;
len1<
8;
len1++)
if(temp&
0x01==1)
GpioDataRegs.GPBDAT.bit.GPIOB1=1;
else
temp>
=1;
/////////////////////////////////////////////////////////////////////////////
//////////////////////////延时程序///////////////////////////////////////////
voiddelayns(Uint16k)
Uint16ii,jj;
for(ii=0;
ii<
k;
ii++)
for(jj=0;
jj<
1000;
jj++);
//////////////////END////////////////////////////////////////////////////////
十、试验中遇到的问题及解决方法
1.按照书中的信号处理原理图进行仿真时,发现输出的波形超出了要求范围,另外,输出波形的相位和输入波形的相位是相反的。
解决方法:
对各个电路模块中运算放大器的作用及其传递函数进行计算,发现第3三极的运算放大器起到的是放大作用,不能缩小幅值,因此决定更改电路。
相位相反由于第3极的运放为反相放大器,导致波形发生了反相,故相位差了180度。
2.电路板焊接完成后,用示波器测到的波形不是正弦波,发现有正弦波的下边有一部分被消掉了。
仔细检查电路板有无漏焊,虚焊,接地,线路与线路短路等问题,确定无误后。
在用示波器测其输出波形,若还无波形,通过查找运预算放大器应用相关的书籍,发现由于运算放大器的线性区有范围,当放大的幅值过大会出现失真现象。
故通过调节电位器,降低幅值以调整波形,得到满意的结果。
3.用最后自行设计的信号处理原理图进行仿真后,实际波形与理论值相差不大满足要求,但实焊接好后,又是波形发生了失真。
考虑的是运放供电电源的问题,由于电源不对称造成的,将原先供运放芯片工作的+5v电源换成双电源供电,在双电源供电的情况下,实际输出的波形与理论值相符,并且没有失真现象,调节范围也变大了。
4.编程在编显示这一部分程序时,用DSP实现的方法和单片机实现的方法一样,但是单片机控制能显示出来数据,但是DSP控制不能显示显示,基本操作时序都一样。
首先考虑是DSP引脚的问题,换了一块DSP板实验,结果仍然出不来。
因此排除了DSP的硬件问题,考虑软件的延时,结果加延时也不行。
重新编测试程序还是不行。
最后看见一个同学连线时发现他用DSP板自带的5V电源供电,就这样试了试,结果好了。
这才明白是电源没有共地造成的。
5.跳闸出口三极管连接的不合理,导致跳闸后不能断开复位。
分析实验指导书上的原理图发现原理图中的接线合
理,再三极管导通的情况下不能断开,也就是三极管没有工作在开关状态。
之后在网上找资料,找到了三极管驱动5V继电器的电路图。
分别用PNP和NPN实现,用NPN时高电平跳闸,继电器线圈接于集电极,用PNP时低电平跳闸,继电器线圈接于发射极。
最终对焊接好的板子进行了小范围改变,符合满足了要求。
十一、实验心得。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安 科技大学 基于 DSP 三段式 保护