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.

Piccolo 28069

Expert 1800 points

Other Parts Discussed in Thread: DRV8312, CONTROLSUITE

Could I know the path to download PMSM3_1 (sensored FOC of 3 phase PMSM) on developmental kit tmdxdock28069 which uses CCS V4 and piccolo 28069. Any additional info to implement PMSM is very much appreciated.

thx

  • They DRV8312 kit is dual built for F28035 and F28069. 

    It is probably your best bet for starting a project, even though it is sensorless. You can refer to the sensored projects in the HVKit for those details.

    C:\ti\controlSUITE\development_kits\DRV8312-C2-KIT_v121\PM_Sensorless

     

  • Hi Chris,

    I've tried the projects in the DRV8312-C2-KIT, but they won't build for F28069

    Do you then have a similar project that is targeted only for F28069 (TMDX28069USB?) ?

    Thanks 

     

    Kind Regards,

    Oscar

  • Oscar,

    I just built it with F2803x RAM and then changed active build configuration to F2806x RAM with no build ssues. This is all through a clean controlSUITE installation. 

    What error are you getting?

    -Chris

     

  • Hi Chris,

    now it builds fine : )

    thanks

    I reinstalled controlSUITE, and restarted CCS

    there was an unrelated error (w/c escapes me at the moment) on the first build

     

    next question: will this suffice for incremental build level 1 ?

     

    Kind Regards,

    Oscar 

  • Oscar,

    are you talking about the red text that scrolls by before it completes build? That happens because there are files it is trying to delete/clean from the release directory that aren't there if you have never built the program before. Once you have built once you won't see those.

     

    I built build level 1 and 7 without issue.

     

  • Hi Chris,

    indeed, those texts plus something else

    and yes, build level 1 is functional, except that I only got 3 PWM channels, despite another CCS issue (probably another newbie error)

    EPWM3A - Active, EPWM3B - Low

    EPWM2A - Active, EPWM2B - Low

    EPWM1A - Active, EPWM1B - Low

     

    is TI releasing project versions of;

    HVACI_Scalar

    HVACI_Sensored

    HVACI_Sensorless

    for F28069, in the coming weeks ?

    thanks

     

    Kind Regards,

    Oscar

  • Oscar,

    you only see 3 pwms because the DRV8312 only needs high side PWM, it creates the lowside itself.

     

    For 6 PWM look at the DRV830x examples. That PM_Sensorless project is also dual built for F28069 and runs fine.

    We don't have plans for F28069 on the HVKit at this time.  There is support for the F28335 which is very similar. It would not be difficult to port one of those projects to F28069.

     

  • Hi Chris,

    The DRV830x PM_Sensorless project indeed works

    It outputs a smooth 50 Hz AC, from 10kHz PWM

    However I could only run it properly (per one time run) by cleaning the project folder & workspace everytime... probably due to a different code present on flash

    Therefore, does the project have an entirely separate flash build configuration ?  

    Thanks

     

    Kind Regards,

    Oscar

    ps> unfortunately, I couldn't even imagine how to port F28335 ACI code to F28069, but I'm open to further wikis : )

  • No there isn't, but you can follow the appnotes on how to move from a RAM project to Flash. You will need to learn these things to progress in a project.

    http://www.ti.com/lit/pdf/spra958

    http://processors.wiki.ti.com/index.php/C2000_Flash_Common_Issues/FAQs

     

  • Hi Chris,

    Thanks for the inputs.  I could successfully run the level 1 code with F28069 kit.  However I wanted to migrate to sensored PMSM 3_1 then realised that a lot needs to be changed to use with power boards built similar to DMC1500.  For normal mortals like me it would take a lot of time.

    I checked at the development kits path in controlsuite directory and found codes for BLDC sensored, BLDC sensorless and PMSM sensorless.  But there is no code for PMSM sensored wonder why TI has not considered this application.  I would suggest TI to take up this application also and thus help many more who would like to develop applications based on PMSM3_1.

    Pl review and suggest.

    thx & rgds

  • PM Sensored High Voltage (like DMC1500) available through F28035 and HVKit

    C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v1.6\HVPM_Sensored

  • Thanks Chris for the info.  Could I replace / copy relevant HVPM_Sensored.c into PM_Sensorless.c and start trying the code?. 

    Do you suggest I need to change any other files / settings?.

    Pl advice.

    thx & rgds

     

     

  • Hi Chris,

    I figure this "HVACI-F28069" project would work except for the "SVGEN_MACRO(svgen_dq1)" issue... please see "CCS view" below

    Would you know a straightforward fix for this "build error" ?

    Thanks

    Kind Regards,

    Oscar

     

    C/C++ Projects

    HVACI_Sensorless_2806x [Active – F2806x_RAM]

                    Includes

                                    C:/Program Files/Texas Instruments/ccsv4/tools/compiler/C2000  Code Generation Tools 5.2.11/include

                                    C:/TI/controlSUITE/device_support/f2806x/v100/F2806x_headers/include

                                    C:/TI/controlSUITE/device_support/f2806x/v100/F2806x_common/include

                                    C:/TI/controlSUITE/libs/math/Iqmath/v15c/include

    C:/TI/controlSUITE/development_kits/~SupportFiles/F2806x_headers

    C:/TI/controlSUITE/libs/app_libs/motor_control/math_blocks/v3.1

    C:/TI/controlSUITE/libs/app_libs/motor_control/drivers/f2806x_v1.1

                    ~Docs

                    F2806x_RAM

                    dlog4ch-HVACI_Sensorless.h

                    HVACI_Sensorless.h

                    HVACI_Sensorless-Settings.h

                    DLOG4CHC.asm

                    F2806x_CodeStartBranch.asm

                    F2806x_GlobalVariableDefs.c

                    F2806x_usDelay.asm

                    HVACI_Sensorless.c

                    HVACI_Sensorless-DevInit_F2806x.c

                    28069_RAM_lnk.cmd

                    F2806x_Headers_nonBIOS.cmd

                    Graph1.graphProp

                    Graph2.graphProp

                    IQmath.lib [Excluded from Build]

                    IQmath_fpu32.lib

                    macros.ini

                    rts2800_fpu32_fast_supplement.lib

     

    HVACI_Sensorless_2806x.map

     

    003d7e80   _PartIdRegs

    003f7ff8   _CsmPwl

    ffffffff   ___binit__

    ffffffff   ___c_args__

    ffffffff   ___pinit__

    ffffffff   binit

    ffffffff   pinit

    UNDEFED    __IQdiv2

    UNDEFED    __IQmpy2

     

    [186 symbols]

     

    Console

     

    "../HVACI_Sensorless.c", line 568: warning: function declared implicitly

     

     undefined first referenced     

      symbol       in file          

     --------- ----------------     

     __IQdiv2  ./HVACI_Sensorless.obj

     __IQmpy2  ./HVACI_Sensorless.obj

     

    error: unresolved symbols remain

    error: errors encountered during linking; "HVACI_Sensorless_2806x.out" not built

     

    Problems

    Description

                    Errors (3 items)

                    errors encountered during linking; “HVACI_Sensorless_2806x.out” not built

                    unresolved symbol __IQdiv2, first referenced in ./HVACI_Sensorless.obj

                    unresolved symbol __IQdiv2, first referenced in ./HVACI_Sensorless.obj

                    Warnings (1 item)

                    function declared implicitly

  • 1. I assume you created your own F2806x motor_control/drivers ?

    2. The error is that IQdiv2 and IQmpy2 aren't defined.

    Where are you using these?  They were never used in any project in the HVMTR Kit.

    This is strange though, they are defined in IQMath library.

    maybe something to do with the improper memory location of the ROM table it uses?

     

     

  • __IQdiv2 and __IQmpy2 are macros defined in IQMathLib.h. if its included in HVACI_Sensorless.h it should work fine. The fact that the linker thinks its a callable function seems to indicate that it hasnt been included.....

  • IQmathLib.h is included in HVACI_Sensorless.c along with HVACI_Sensorless.h (true for all HV & DRV projects)... placing it in HVACI_Sensorless.h yields a different set of errors

    The location of the IQ tables in ROM is similar to that of DRV830x - PM_Sensorless project

    IQdiv2 & IQmpy2, I understand, are used in all FOC projects, via SVGEN

    The motor control drivers, on the other hand, are adapted from the F2833x set (or F2803x set)   

     

    this attempt is difficult it feels like REM's losing my religion : )

    perhaps only TI can make HVACI-F28069 work