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.

Digital PFC

Other Parts Discussed in Thread: UCC28070EVM

I use UCC28070EVM/Piccolo controller and TI-DigiPFC software (Power Factor Correction on UCC28070EVM Using C2000 Piccolo A , released on Nov. 2009) to learn TI digital PFC, we will modify it from 300W to 1000W.

There is a file " PFC2PHIL-Caculations.xls" in TI DigiPFC software stack, which scaling all signals MCU will deal with. ( I don't know if  I succeeded in attaching it to this post after I use "Options' tab /File attachment):

On Vac spreadsheet:

VfsvADC 3.3 volts   Gadc 1241
ADC res 12 bits      
Left Shift 3 bits   Gshft 8
VacMax(Not Scaled) 453.30 volts   q 6
  Kv 0.8854 - iKv 1.1295
  X 15 - Y 14
        KvQX 29011 - iKvQY 18506

What do Gadc(1241); Gshft(8); q(6) mean? and how are their values determined?

I guess Kv is voltage gain, how is its value 0.8854 determined?  guess X(15) is Q15, so KvQX is the Q15 value of Kv(0.08854). guess iKv is current gain, How to determine its value 1.1295(=1/0.8854), 18506 is the Q14 value of 1.1295.

and what  does "Vltg@ADC I/P   2.93418896' stand for?

 

On Vac spreadsheet: what  does Gfb stand for, and how is its value 0.007 determined?

 

On Ipfc spreadsheet :

10-bit DAC Calculations for TZ - with 0.2V offset on UCC board
VfsvDAC 3.3 volts   Gadc 310
ADC res 10 bits      
Left Shift 5 bits   Gshft 32
IpfcMax 4.5000 Amps   DACval * 2^5 31655.8739
   
  DACval 989
           

 

IpfcMax  DACval*2^5, why the DAC value needs to multiply 32? and how is 31655.8738 got? (989*32=31648)

I am expecting someone to help me out?

Thank in advance.

Chang Cao

PFC2PHIL-Calculations.xls
  • I figout the last question: DACval*2^5.

    DAC input is Q15, while DAC output is Q10 analog signal.

    Still need to know all other questions.

     

  • I somehow figure out some questions I asked before. I don't know if I understand correct. I expect some experts to confirm my understand.

    Take Ipfc spreadsheet as an example:

    VfsvADC 3.3 volts   Gadc 1241
    ADC res 12 bits      

    3.3V:2^12=1V:x

    x=1241

    so Gadc 1241 is the ADC results for 1V signal.

    Left Shift 3 bits   Gshft 8
    IpfcMax 4.9699 Amps   q 12
      Kv 0.6212 - iKv 1.6097
      X 15 - Y 14
            KvQX 20357 - iKvQY 26373

    left Shift 3 means Gshft x8.

    so 4.9699/8=0.6212

    20357 is the Q15 value of 0.6212

    and q=X-left Shift=15-3=12

     

    Still don't understand why the speadsheet gives IpfcMax=4.9699A (I calculate from L* dI/dt = 285 * 1.4142; where dI = Ipfc1_Max - I(current flowing on load during switch off); I don't know the minimium duty rate so can't figure out dt; Is this the right way to figure out Ipfc1_Max?)

    Ipfc1_Max (ADC) 4.9699 Amps Ipfc2_Max (ADC)

    4.9699    Amp

    Another question: what does ikv stand for? why iKv = 1/Kv?

  • iKv probably means "inverted" Kv. 

    The program probably makes use of "1 / Kv", and you save a lot of CPU time if you calculate it once and use multiplication in your program, rather than a division.

     

  • SJU:
    It makes sense to save CPU time for using iKv.

    Thanks.

    Anybody can help me out why the IpfcMax =4.9699A?