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.

[FAQ] MotorWare v18 Release

Other Parts Discussed in Thread: MOTORWARE, DRV8301, CONTROLSUITE, C2000WARE, MOTORKITSCNCD69MISO, DRV8312, INSTASPINUNIVERSALGUI

Motorware v18 has officially been released. Find some of the changes enumerated below:

  • HAL_setTrigger() change to fix issue where when USER_NUM_PWM_TICKS_PER_ISR_TICK was set to 2 or 3, and ISR execution time was less than half of ISR period, ADC trigger would sometimes be missed
  • Fixed issue in GPIO_setPortData() for F2805x that had incorrect parameter data width
  • Fixed usDelay() issues in all hal.c files, replaced with US_TO_CNT() macro
  • Fixed CMP saturation limit in HAL_WritePwmData() in hal.h for F2805x only, changed lower limit from _IQ(0.0) to 1
  • Update PWM_setSocAPulseSrc() in all pwm.c
  • Remove OVM functions in lab5h and remove svgen_current.c file in project
  • Fixed compiler error in hal.h for 06x projects with HVKit due to an error in #ifdef statement for HALL GPIO pin numbers
  • Fixed LED blinking timing error in main_ISR() for all FOC and MOTION files that have toggle led code (New Enhancement)
  • Changed the argument of CPU_USAGE_setParams() to variable instead of fixed timer period since timer period was changed in hal.c in MW17. Affects labs: 03b, 07, 11a, and 11b (these labs use the legacy CPU_USAGE module)
  • Changed the argument of FEM_setParams() to variable instead of fixed timer period since timer period was changed in hal.c in MW17. Affects labs: 03b, 07
  • Changed motor definition to resolve compiler error when using IPD projects in the below user.h files:
    • \boostxldrv8305_revA\28x\f2806xF\src\user_j1.h
    • \boostxldrv8305_revA\28x\f2806xF\src\user_j5.h

  • All functions running in main_ISR() in lab11x were added to “ramfunc” for reducing cycle time (New Enhancement)
  • Added lab07 and lab09 project for BoostXL-DRV8305 + F2806x  "boostxldrv8305_revA\f28x\f2806xF\projects\ccs"
  • Added Volt/Hertz module in modules/vs_freq/src directory. This module generates an output command voltage for a specific input command frequency according to the specified volts/hertz profile.
  • Added Angle Generator module in modules/angle_gen/src directory. This module generates angle output for a specific input command frequency.
  • Added proj_01b project for all kits and controllers.
  • Added proj_01c project for all kits and controllers.
  • Added gMotorVars[HAL_MTR2].CtrlVersion = version; to lab10d for bug fix
  • Relocated CLK_disableTbClockSync() to before timebase, compare control, action qualifier, dead band and trip zone initialization loops. This was done to fix issue where PWM sync could sometimes be lost when hard-resetting MCU
  • Changed RsRecalc functionality to have initial value of USER_MOTOR_Rs instead of 0, which will allow quicker settling time
  • Offsets removed from user_2motors.h to avoid issue where current/voltage offsets were defined in two separate header files
  • Added definition for updateRsOnLine() for lab11a, takes EST_Handle parameter instead of CTRL_Handle parameter as expected by runRsOnLine() in lab07
  • Added spi.c and drv8301.c source files to all F2802xF LaunchPad projects that were designed for DRV8301 BoosterPack

Sean

  • Why is motorware released as an exe ?
    I find it most user unfriendly on a linux machine. I think the FAST observer is a great piece of work, but 'code composer studio' and motorware are just 'bloatware'
    I spend longer navigating through the maze than in writing new current or speed control loop. It's very frustrating.
    TI is killing it's wonderful FAST estimator thanks to the bloatware called 'motorware' and even bigger bloatware called 'controlsuite'
  • Agree.

    It is better for TI to release libraries in zip format. I use Mac and the exe file format is really inconvenient.
  • Hello,

    I am wondering whether there is something wrong with the appearance of MotorWare.exe for Motorware 18, or this is only happened in my computer (since nobody reported it). I use Windows 8.1 pro for my PC.

     It does not disturb the work anyway, only I can't browse the documents from the Motoware application.

    Thank you!

    Best regards,

    Maria

  • Hi Maria,

    I have not seen the issue that you have shown in your picture above. I will try to find a laptop running Windows 8.1 pro at our office and see if I can replicate the problem.

    Sean
  • Robert and Srinath,

    Mac and Linux installers are not currently supported by Motorware releases; we do not make any claims about their efficacy or fix bugs for these platforms at this time.

    Sean
  • I agree with Robert and Srinath. There's a lot of great things about the InstaSpin system, but the documentation is convoluted. I spent 3 days just trying to figure out the right pdf to read, then I found the instaspin_labs guide which has all the information needed to get started. Lots of the included documentation is years out of date and conflicts with the new documentation.

    The motorware package seems unnecessary. It's just a browser showing you the file system that it installed on your computer. Even if you only officially support Windows, a zip file would still be easier.

    The GUI is fully useless. You can't use the GUI without compiling the code, at which point you might as well just use the user interface in CCS, which is what the labs are written for anyways. All the advertisement about an "easy to use GUI" made me think the system would be very different than it was. The GUI should just be removed, since it makes it massively more complicated, not easier.

    Controlsuite is not necessary for using InstaSpin, and takes up ~6GB of disk space, so I'm not sure why some documents recommend that you install it. I know that the hardware info for the boards is in Controlsuite, but you can also download that for your specific board from the board page on the TI site.

    All of these issues don't inspire confidence in using the system in a product...
  • Whoever is in charge of marketing for TI has got it completely wrong.

    There are some great products in the ROM like FAST, system identification etc...,and all that's needed is API documentation, code and a miniaturised lab guide (Why should the lab guide go into minute CCS details like press this button in top right corner, press that button here etc...?)

    It took me 1 day to write a new current/torque controller using the FAST observer, but it took me 2 weeks to wade through the bloatware called motorware and the 300 page labguide (that could be shrunk to 30 pages), making me wonder if it's really worth the trouble. After all other companies like ST, NXP also offer their own observer's on ROM.

    Coming to "controlSuite", less said the better. Why do i need schematics for every Dev board TI has made since it's inception ? And again, provided as an exe!!

    I think motorware should be renamed bloatware & controlSuite should be renamed as junkSuite.

    You guys are killing a great combination of products called instaSpin with really bad documentation and piling on layer upon layer of irrelevant junk on a customer.

  • Thanks for the feedback.

    I'll try to give you some reasoning...but we know that the overall experience could be improved.

    Why deliver as an .exe?

    - this is just common SW distribution practice. At one point we distributed the .exe in a .zip, but some systems don't like that.

    Why MotorWare.exe?

    - most people have a positive experience with the .exe since it easily lets them browse the contents of the installation. Without it you wouldn't find all available resources (especially when some of the resources are only on-line, some are in controlSUITE, etc.).  In fact, the complaint about not finding InstaSPIN_labs.pdf wouldn't have occurred if you started with MotorWare.exe and browsed the resources.

    Why controlSUITE also?

    - Two reasons. The first is that customers want the HW files for the EVMS, but we didn't want to duplicate them in MotorWare (and have it reach 6GB as well) so we pointed people to controlSUITE.  There has been a transition at TI to putting HW files into their own download though and trying to keep SW distribution products like controlSUITE smaller.  You'll see this as we transition to C2000Ware and C2000Ware + Software Development Kit (SDK) type of process.

    - Second, MotorWare was originally planned to be completely self enclosed, with all necessary software drivers included. Unfortunately this didn't happen for a variety of reasons so we fell back on pointing people to controlSUTIE examples for integrating the software outside of the main motor control system. It isn't a very elegant solution.

    - MotorWare v18 is planned to the be the last release for F2806x/5x/2x enabled InstaSPIN devices.  For new InstaSPIN devices we are moving to C2000Ware for the baseline software infrastructure and then Application SDK (which include a version of C2000Ware) which shows the full application.  So there will be a MotorWare SDK for these next gen InstaSPIN devices. 

    Regarding general comments about just having FAST and a 30pg API guide, etc:

    - I would say you are in the minority on this one and likely have significant motor control expertise. We welcome users like you but understand that MotorWare/InstaSPIN was not initially designed for high expertise customers. We released the proj_lab11 examples to try to fill this gap (in-line code which is more easily adaptable to custom control and just FAST as an estimator) but we did not simplify the rest of the documentation.  In the next version of InstaSPIN the library interface, labs and user's guide will be simplified.

    Regarding the GUI:

    - Your description fits the INSTASPINUNIVERSALGUI accurately, but I still find it much easier to use than the CCS Expressions described in the Lab Guide.  However, for the initial 3 EVMs (HVKIT, DRV8312, DRV8301-69M) there is also a demonstration GUI which is quite extensive to show off the capabilities of InstaSPIN-FOC and -MOTION: motorkitscncd69miso

    Thanks

  • Srinath, Kyle, and Robert,

    The TI C2000 development team follows the forum and appreciates your feedback.  Thank you for taking the time.   As Chris mentions, we know there are a number of things we could do better and are making progress.  

    I wanted to add to Chris’ comments regarding bloat and installer issues.  In January we introduced C2000Ware.  This package will be our platform moving forward for foundation/lowest level software.   These are libraries that would be common across application areas.

    • C2000Ware contains only the latest version of each sub-component in order to greatly reduce size of the download.  
      • Older versions of C2000Ware will also be available for download if needed.  
    • C2000ware also has native installers for windows, linux, mac and the TI cloud tools.  
    • By using the TI cloud resource explorer you can browse through the contents without having to download the whole install.  
    • As Chris mentioned, we will be moving application level software to an SDK format built on C2000Ware.  
      • The idea here is again to reduce the download size and duplication of software and to provide a common base (C2000Ware) for all of our software.
      • Different application areas will be released into different SDKs.  

    Our goal is to make all of our software look similar with an easy out-of-the-box experience.  Unfortunately it will take us some time.  Please continue to send constructive feedback.  I’ve noted additional items you have mentioned in this thread already.  

    Regards

    Lori

  • Lori and Chris,

    Thanks for the clarifications. This legitimate response is very much appreciated.

    I've been programming for over 10 years and I have never needed to use an exe to get access to resources. It's not common practice.

    Also, I did use the Motorware exe to browse the resources, and it still took me 3 days to find the lab manual. I did find the pdf earlier, but I didn't scroll down past the list of labs. I just thought it was a list of labs. I can't be expected to read through a dozen pdfs just to get started.

    I couldn't use the demonstration GUI since I bought the 8305 Boosterpack.

    I understand that most of these issues have slowly arisen over time, but it has gotten messy enough that it is time for a complete rework. SO, I am very glad to hear that C2000Ware will replace Motorware. It sounds like a drastically better setup. Having the motor control system packaged as an SDK would be so much easier than just a bunch of files that need to be tightly woven into your own code.

    Even if the code isn't changed at all, it would become 100x more usable if each user-facing function and variable had documentation. Comments in code are not sufficient documentation.

  • Hi Sean, 

    For the lab01b, does it support and work for instaSPIN HIKIT with F28027F processor ? 

    In the proj01_lab01b.c , it has the following macro #ifndef F2802xF, does that mean this DAC parameter setup won't work for the 28027 processor ? Could you let me know why it has this macro #ifndef ?

    #ifndef F2802xF
    // set DAC parameters

    // gDacData.ptrData[0] = &gPwmData.Tabc.value[0];
    // gDacData.ptrData[1] = &gPwmData.Tabc.value[1];
    // gDacData.ptrData[2] = &gPwmData.Tabc.value[2];
    // gDacData.ptrData[3] = &gAdcData.V.value[0];

    gDacData.ptrData[0] = &angle_gen.Angle_pu;
    gDacData.ptrData[1] = &gAdcData.I.value[0];
    gDacData.ptrData[2] = &gPwmData.Tabc.value[0];
    gDacData.ptrData[3] = &gAdcData.V.value[0];

    HAL_setDacParameters(halHandle, &gDacData);
    #endif

    #ifndef F2802xF
    // Initialize Datalog
    datalogHandle = DATALOG_init(&datalog,sizeof(datalog));

    // Connect inputs of the datalog module
    // datalog.iptr[0] = &gPwmData.Tabc.value[0]; // datalogBuff[0]
    // datalog.iptr[1] = &gPwmData.Tabc.value[1]; // datalogBuff[1]
    // datalog.iptr[2] = &gPwmData.Tabc.value[2]; // datalogBuff[2]

    datalog.iptr[0] = &angle_gen.Angle_pu; // datalogBuff[0]
    datalog.iptr[1] = &gAdcData.I.value[0]; // datalogBuff[1]
    datalog.iptr[2] = &gAdcData.V.value[0]; // datalogBuff[2]

    datalog.Flag_EnableLogData = true;
    datalog.Flag_EnableLogOneShot = false;
    #endif

    // setup faults
    HAL_setupFaults(halHandle);

  • Yinghui, the F2802xF MCU does not support the PWMDAC or Datalog modules that are available for the F2805x and F2806x devices.

    Sean
  • Sean, 

    Thanks a lot. For 28027F processor, on schmatic it has 8 channel PWM signal, we should have one spare PWM channel because we're not using PFC circuit (connect the jumper and bypass this circuit) and it'll give us the PWM-4. (Please see the following picture) 

    Could you please advise me how can I modify the code to use this spare channel? I'm trying to use motorware 11a with 28027F processor. 

    I trace to hal.c void HAL_setupGpios(HAL_Handle handle) , modified the GPIO setup for I/O 6 and 7:

    // PWM1-PFC
    GPIO_setMode(obj->gpioHandle,GPIO_Number_6,GPIO_4_Mode_EPWM4A);

    // PWM2-PFC
    GPIO_setMode(obj->gpioHandle,GPIO_Number_7,GPIO_4_Mode_EPWM4B);

    I think I'm missing something, how the DAC channel signal is correlated to PWM signal ? could you please help advise that ?

    Thanks,

    Yz

  • For the lab01b, I'm confused about how the frequency in HZ covert to the electrical angle (rpm), could you help me understand that ?

    controller_obj->speed_ref_pu = TRAJ_getIntValue(controller_obj->trajHandle_spd);

    //
    ANGLE_GEN_run(angle_genHandle, controller_obj->speed_ref_pu);
    VS_FREQ_run(vs_freqHandle, controller_obj->speed_ref_pu);

    Let's say V/F open loop, we normally command in frequency in HZ, from 0 to 60HZ in our case. But in the lab_proj01b.c, the ANGLE_GEN_run() takes in the speed_ref_pu, which is get from the function TRAJ_getIntValue(controller_obj->trajHandle_spd). 

    1) what's the scaling factor for speed_ref_pu ? is it convert the electrical speed rpm = HZ/(number of Poles *2) ? 

    if I want command 60hz as V/F open-loop command, should I control in the gMotorVars.SpeedRef_krpm = (60HZ)/(8 poles *2) = 3.75 ?

    2) Why it use TRAJ_getIntValue instead of the function of TRAJ_setTargetValue ? what's the difference between these two function ?

  • Is there a roadmap for the next instaspin products or estimated release?
  • Jacob,
    We announced a new Piccolo series in January, F28004x. Superset device is TMS320F280049M and you can read the details on the product folder. There will be an update to the datasheet second half of June which will describe all of the configurations. As you can guess, there will be InstaSPIN-FOC and InstaSPIN-MOTION versions like we've done for F2806x.

    However, we are not releasing MotorWare support for these devices until a future date in 2018, so you can't get started on them with InstaSPIN quite yet. There are some new features that we will describe with the announcement in 2018.
  • Probably a minor question but is there anything that could be done on the motorware side that could fix the compiler issue for CCS?

    We face this problem several times when switching form one environment to the other.

    It would be great if it could be fixed or maybe an error could be prompted using motorWare that we are using 6.2.0 - 6.2.2.

    Thanks for the update !
  • Unfortunately there is nothing we can do for this situation. The CCS team has already moved on to CCSv7 and don't have any sort of "prompt/notify" solution for compilers.

  • Is there a some other  tool-chain and ide for TI processors ?

    I hate "Code composer studio". I don't believe any serious code can be "composed" on it.

  • You must use CCS for C2000.

    Sorry that you don't like it, but thousands of serious customers do compose their code using the tools.

     

  • I just installed motorware 18 on a fresh windows 7 64bit with service pack 1, windows updates all current, etc...  I load motorware 18, and get the same thing... "TI Resource Explorer", and no tree view, etc...

    Please help.

  • DC,

    Please try to delete the .metadata folder within eclipse/workspace

    Here's also a previous post on E2E that may be useful: e2e.ti.com/.../401727

    Sean
  • Sean,

    I just tried deleting the .metadata folder within eclipse/workspace in my motorware 18 folder path. I still ended up with the same "TI Resource Explorer" issue (No tree view). Is there something else I could try?
    I tried it a couple times, and tried a reboot as well.
  • Sean,

    I uninstalled motorware again. Then I installed controlSuite for the first time. It came up with a tree view, no issues. I then installed motorware 18 again. Before running motorware I just went ahead and deleted the .metadata folder within the motorware eclipse workspace path. I then load motorware, and it now has the tree view. Great!

    So, not sure what step actually triggered it to finally work, but at least it is now working.

    Thanks.
  • Hello,

    How can I download old versions of Motorware Software?

    Today the latest MotorWare version is V18(v1.01.00.18)  but I want to download previous versions .... I need to download V16(v1.01.00.16)

    Thank you in advance.

  • Hugo, we generally do not release previous versions of Motorware once we've updated to a new release. Is there some specific item you needed from that previous version?

    Sean
  • Are there any recommendations for or against using the C99 dialect with MotorWare 18 content, along with a recent (>16.12) C2000 compiler? It seems that C89 is default.

    Thanks,

    -- Will
  • I believe we use C99 by default, not C89, and it should be compatible with the recent versions of the C2000 compiler

    Sean
  • Thanks, Sean! On closer inspection, the project files leave the compiler unspecified. For whatever reason, CCS (I'm still on 6.1.2) may be deciding that unspecified projects prefer C89. In case it matters (or the behavior is unknown), I'd recommend specifying projects as C99 in the next C2000Ware release.
  • Same problem here.

    Windows 10 Enterprise

    Thank you.

    Radu

  • I seem to have fixed the problem by uninstalling Motrware and re-installing it taking all the defaults (previously I was specifying the install directory which might be the reason why it couldn't find its projects...)   
    Radu