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.
Hi team,
Is it possible to control motors by SVM (space vector modulation) using TMS320F28376D?
If yes, then do we have library or functions for SVM? Also, is there any restrictions (such as output pin must be configured as EPWM) ?
Best regards,
Kurumi
Hi,
I am forwarding the thread to expert. Please expect response by Monday.
Regards, Santosh
SVM (space vector modulation) can be implemented on all of the C2000 controllers including TMS320F28376D.
You can find some of the implementation examples with F2837x for a motor control in motor control SDK as below.
\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\\boostxl_3phganinv\f2837x\
The MotorControl SDK is available for download from https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK. The SDK is also available online via the TI Resource Explorer for C2000 MC SDK.
Hi,
Thank you for the input.
So, I believe there is no restrictions on both HW/SW when implementing SVM, is my understanding correct?
Hi Luo,
Thank you for your confirmation. There is an additional question from the customer. I send you email offline, please check the mailbox.
Best regards,
Kurumi
If the question is not sensitive to customer's product, please keep using E2E for any technical questions. Thanks!
OK, I'm copying the same message here.
For the sample code, we are able to find below line inside fcl_cpu_code_dm.c (Motor Control SDK).
But we cannot find how it works, or what input/output are. Would you please provide additional information for the MACRO, such as how it works and how the input/output data are defined?
As shown in the codes in fcl_cpu_code.c files, the marco function calculates the the PWM duty that is similar as SVGEN function in controlSUITE or the other examples in motor control SDK, just optimize the codes to reduce the execution time.
The inputs are the Valpha and Vbeta from the FOC loop, and the outputs are the value of the CMPA register. Just need to refer to the example to call this marco that doesn't need to change for any motors.
Thank you for additional info.
and the outputs are the value of the CMPA register.
-> Is it OK to assign the outputs to GPIO ports?
Best regards,
Kurumi
-> Is it OK to assign the outputs to GPIO ports?
You need to use the GPIO that can support the EWPM output, not any GPIOs.
If you haven't had a chance to look at the workshop material, I think this will help demystify some of the terminology and architecture, and learn about C2000 MCU to get started developing as well.
OK, so below is my understanding on Space vector control. Is it correct?
Best regards,
Kurumi
Correct. You can find the related document about SVPWM in the folder of controlSUITE as below.
C:\ti\controlSUITE\libs\app_libs\motor_control\math_blocks