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.

CCS/LAUNCHXL-F28069M: PWM PID Control

Part Number: LAUNCHXL-F28069M
Other Parts Discussed in Thread: CONTROLSUITE, , C2000WARE

Tool/software: Code Composer Studio

Hello all,

I have designed an inverter and it controls an igbt h-bridge to generate 1 phase 1000Hz waveform. I use this to control welding operations so I have a current feedback like current transformer or a hall effect sensor. The feedback comes as voltage to my adc channel. According to my adc feedback values, I control ePwm duty cycles.

The thing here is, I build the program structure by taking the ideas of your examples.

C:\ti\controlSUITE\device_support\f2806x\v151\F2806x_examples_ccsv5

I use c (or c++) language, not Matlab, not Simulink.

So I have a reference value and a feedback value that comes from the adc channel and I compare them, increase or decrease the duty cycle. For my adc feedback, I use an analog op-amp integrator.

I think I need to integrare PID (anti-windup, etc) and digitalise the PID process.

You also have a PID library (DCL):

C:\ti\controlSUITE\libs\control\DCL\v1_00_00_00\docs

Is this suitable for LaunchXL-F28069M? Do you create PID applications and use this library, because the document was not clear enough at first look.

I know that LaunchXL F28069M has dual motor control system and instaspin motion stuff. You create PID blocks at Simulink and use them but I don't know anything about those.

Maybe I'm on the wrong path. Maybe these are easier.

Thank you for your attention.

  • Troodon,

    Sure you can use DCL on F28069 device.

    If you install latest version of c2000ware to the default location, you should be able to find an PID example in the path below:

    C:\ti\c2000\C2000Ware_3_02_00_00\libraries\control\DCL\c28\examples\F28069_PID

    In the Simulink diagram, you only had a gain instead of PI controller, which is only a P control.

    Please feel free to ask follow up questions if you need additional help. Thanks.

    Han

  • Hello Han,

    Thank you for your answer. Actually, I am not sure if PID library is necessary for my current control operation. I can compare ref and adc feedback values and according to the error amount, I can increase or decrease the duty cycle. Increasing and decreasing speed (I guess it is P for PID) is another story. I will understand if those will be enough during testing.

    I will check the example but I need to ask about its "ALL RIGHTS RESERVED" part. 

    /* Example_F28069_PID.c
     *
     * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
     * ALL RIGHTS RESERVED  
     *
    */

    Some files do not mention anything about it at all, some says:

    // $TI Release: F2806x Support Library v2.05.00.00 $
    // $Release Date: Tue May 26 17:12:03 IST 2020 $
    // $Copyright:
    // Copyright (C) 2009-2020 Texas Instruments Incorporated - http://www.ti.com/
    //
    // Redistribution and use in source and binary forms, with or without 
    // modification, are permitted provided that the following conditions 
    // are met:
    // 
    //   Redistributions of source code must retain the above copyright 
    //   notice, this list of conditions and the following disclaimer.
    // 
    //   Redistributions in binary form must reproduce the above copyright
    //   notice, this list of conditions and the following disclaimer in the 
    //   documentation and/or other materials provided with the   
    //   distribution.
    // 
    //   Neither the name of Texas Instruments Incorporated nor the names of
    //   its contributors may be used to endorse or promote products derived
    //   from this software without specific prior written permission.

    and here at some files "ALL RIGHTS RESERVED" is written directly.

    Yes example files make us understand how the systems work or inspire us, give us ideas but from this expression, I understand that I cannot use this code or I can't use any lines of code anywhere else. Or if I need, who should I contact with or how much should I pay for the license. These make me nervous, I like using TI microprocessors for development and my experiments but I don't want to do anything wrong.


    It would be good if the authorities enlightened this detail. :) Thank you.

  • Hello Troodon,

    In the root directory of C2000Ware, there is a manifest file.  This lists all of the licenses for content within C2000Ware.

    (ex: C:/ti/c2000/C2000Ware<version>/C2000Ware_<version>_manifest.html )

    Any of the content listed as "TI Commercial" falls under the click-wrap license that you accepted when downloading C2000Ware.   For example, the library that Han mentioned:

    The second license you show in your post is a BSD-3-Clause license.  This is a standard open-source license.   If somehow "all rights reserved" is also included, that is a mistake.  

    If you take a look at the manifest you will also find some other licenses that we have passed through from 3rd parties. 

    Best Regards

    Lori