This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Deadband Variation based on load, PSFB

Other Parts Discussed in Thread: CONTROLSUITE

Hi,

I am going through a PSFB code in ControlSuite/development kits/HPSFBv1.1. In this particular code they are adjusting DeadBand on basis of Load by sensing Current Output(Gui_Iout).So can anyone please tell me the calculations for the change in DeadBand.

I am attaching the code snippet of that particular code

void DBadjust(void)
{
if (auto_DB == 1)
{
switch (range)
{
case 0:
if (Ifdbk < 640) // 5A
{
dbAtoP_leg = 36;
dbPtoA_leg = 44;
range = 0;
}
else range = 1;
break;
case 1:
if (Ifdbk > 512 && Ifdbk < 1024) // 4A & 8A
{

dbAtoP_leg = 32;
dbPtoA_leg = 42;
range = 1;
}
else
{
if (Ifdbk > 1024) range = 2;
else range = 0;
}
break;

case 2:
if (Ifdbk > 896 && Ifdbk < 1408) // 7A & 11A
{


dbAtoP_leg = 27;
dbPtoA_leg = 22;
range = 2;
}
else
{
if (Ifdbk > 1408) range = 3;
else range = 0;

}
break;

case 3:
if (Ifdbk > 1280 && Ifdbk < 1792) // 10A & 14A
{
dbAtoP_leg = 22;
dbPtoA_leg = 22;
range = 3;
}
else
{
if (Ifdbk > 1792) range = 4;
else range = 0;
}
break;

case 4:
if (Ifdbk > 1664 && Ifdbk < 2176) // 13A & 17A
{
dbAtoP_leg = 20;
dbPtoA_leg = 21;
range = 4;
}
else
{
if (Ifdbk > 2176) range = 5;
else range = 0;
}
break;


case 5:
if (Ifdbk > 2048 && Ifdbk < 2560) // 16A & 20A
{
dbAtoP_leg = 20;
dbPtoA_leg = 18;
range = 5;
}
else
{
if (Ifdbk > 2560) range = 6;
else range = 0;
}
break;
case 6:
if (Ifdbk > 2432 && Ifdbk < 2944) // 19A & 23A
{
dbAtoP_leg = 18;
dbPtoA_leg = 18;
range = 6;
}
else
{
if (Ifdbk > 2944) range = 7;
else range = 0;
}
break;
case 7:
if (Ifdbk> 2816 && Ifdbk < 3328)
{
dbAtoP_leg = 18;
dbPtoA_leg = 14;
range = 7;
}
else
{
if (Ifdbk > 3328) range = 8;
else range = 0;
}
break;

case 8:
if (Ifdbk > 3200 && Ifdbk < 4096) // 25A & 32A
{
dbAtoP_leg = 16;
dbPtoA_leg = 14;
range = 8;
}
else
{
if (Ifdbk > 4096) range = 9;
else range = 0;
}
break;


case 9:
if (Ifdbk > 3968 && Ifdbk < 4864) // 31A & 38A
{
dbAtoP_leg = 15;
dbPtoA_leg = 13;
range = 9;
}
else
{
if (Ifdbk > 4864) range = 10;
else range = 0;
}
break;

case 10:
if (Ifdbk > 4736 && Ifdbk < 5632) // 37A & 44A
{
dbAtoP_leg = 14;
dbPtoA_leg = 12;
range = 10;
}
else
{
if (Ifdbk > 5632) range = 11;
else range = 0;
}
break;


case 11:
if (Ifdbk > 5504) // 43A
{
dbAtoP_leg = 12;
dbPtoA_leg = 12;
range = 11;
}
else range = 0;
break;
}
}
}