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.

TMS320F28062F: Running Instaspin on 28062 vs 28069

Part Number: TMS320F28062F

Hi,

I have a custom board running Instaspin on a 28069 that seems to mostly work (still working through some startup and tuning issues) running at 7500RPM, 4 pole pairs, 500Hz.  I have several other boards that are supposed be identical (per the electrical engineer) running a 28062 that I can only get up to about 750RPM, at which point the speed feedback becomes inaccurate.

They are running the same code, except for some configuration differences to account for the slightly different memory maps, but I think I have that correct.

Are there any other setup / config / usage differences that I should look into when running Instaspin on a 28062?

I am getting another board populated with a 28069 for comparison.  Is there anything else that would cause my velocity feedback to get messed up and then not be able to drive the motor fast enough?

Thanks

  • Could you please check the current/voltage sampling on F28062F board and ensure the signal is good enough for motor running? Check the .cmd file to set all ISR code is executed in RAM without ISR overflow as in F28069F.
  • New information:

    I got that new 28069 board and I'm still limited.  I think between when I got that first 28069 board and when started getting the 28062 they changed how they're scaling the current feedbacks.  I've tried to adjust for that, but could that be my problem?

    When I auto calibrate my motor I get about .24 V/Hz for flux, and it looks pretty stable the whole time. But when I just run the motor the estimator reports back about .16 V/Hz.  So if I set that for my flux value and run the motor it reports back about .13 V/Hz.  So then I set that for my flux value and run the motor and it reports back .11 V/Hz.  It just keeps dropping.  Does that mean anything?

    Thanks

  • Hello Mr. Luo, thanks for responding.

    I'm not sure what to look for to ensure the signals are good enough for motor control, are there some specifications for that? I'm afraid I'm also not sure where to look for the ISR information. I don't have any .cmd files, but I do have a "appname_linkcmd.xdt" file, perhaps because I'm using XDCTools? It looks like this:

    SECTIONS
    {
    ramfuncs : LOAD = CODE_MEMORY PAGE = 0,
    RUN = SECURE_DATA_MEMORY PAGE = 1,
    LOAD_START(_RamfuncsLoadStart),
    LOAD_END(_RamfuncsLoadEnd),
    RUN_START(_RamfuncsRunStart),
    align = 0x1
    .gUserParamsSection: load = 0xC000
    }

    And I do have calls in main.c looking like this:
    #pragma CODE_SECTION(mainISR,"ramfuncs");
    #pragma DATA_SECTION(gUserParams, ".gUserParamsSection")

    Interesting you should ask about the voltage sampling signal though. We had thought that might be a problem, it looked pretty noisy, so we added more filtering. It turns out that was the difference between the 28069 and 28062 boards. When we took that filtering back out the 28062 boards worked just fine. So the mystery has reduced to: why does filtering the voltage feedback (to what looked like a nice clean signal) make it so I can only go about 10% of my normal top speed? And isn't setting USER_VOLTAGE_FILTER_POLE_Hz supposed to account for any phase lag introduced by filtering?

    Thanks!