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.

TMS320F28069M-Q1: Bandwidth change.

Part Number: TMS320F28069M-Q1

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/509441/dynamic-inertia-and-bandwidth-tuning?tisearch=e2e-sitesearch&keymatch=Motor%2525252520bandwidth#

Please tell us how this is done. I tried changing bandwidth as part of the setup of the PLAN code (after command issued to implement the PLAN before running motor) and it does not seem to work after the motor stopped in standby mode. Do I need to rerun RsOnline?

STPOSCTL_setBandwidth_radps(stObj->posCtlHandle, StepPlan.Bandwidth); 
zprintf("BW: %Q20\n",STPOSCTL_getBandwidth_radps(stObj->posCtlHandle));

which is same as 

STPOSCTL_setBandwidth_radps(obj->posCtlHandle, _IQ20(USER_SYSTEM_BANDWIDTH));

When I change from 100 to 10, it confirmed change but does not impact the operation, it seems to stuck on 100 settings, ignoring the bandwidth change. 

Query 2:

I note the tuning of the bandwidth from the Lab is based on the velocity ID process which is an open loop, it easy to change the value without becoming unstable.

Running the PLAN with Encoder position feedback. I have adjusted the USER_SYSTEM_BANDWIDTH for each reset run and found significant instabilities for 1.0, 10, 50 but become stable at the previous setting 100. I could not explain why it doing this and wondering if this adjustment impacted by the closed-loop system, or perhaps need new inertia and friction readout. Is there a relationship between inertia and friction setting and the bandwidth?

  • You can change and tune the control bandwidth, but you must identify the motor/system inertia and friction using lab02c or lab12a for other instaspin-motion labs. Make sure the inertia and friction are identified successfully. There is no clear rule on how much bandwidth is exactly set for your system. You might set the bandwidth to 20 first, and increase it per the system response requirement.