Hello,
our motor equipment requires high acceleration more than 127krpm/s2 (this value is instaSPIN Q24 limitation).
Could you please tell me how to set the acceleration value over 500krpm/s2 ?
Best regards,
ay0689_2
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.
Hello ay,
Interesting question. Can the mechanics of your motor actually support an acceleration this quick?
If a step input is given will the motor actually accelerate FASTER than this rate?
Do you just need this acceleration from start-up or also on variable speed changes while running?
You can certainly go completely around the TRAJ module and just input a step input into the speed controller. But then you are also limited by the bandwidth of the speed controller and how fast it can change the Iq torque reference into the FOC system.
Another idea is to manually saturate the output of the speed controller to just directly set an Iq Torque reference of 1.0pu for maximum torque command = maximum accleration of the current controllers. The speed controller could still regulate to a speed after the accerleration.
For higher accelerations you can just set your speed reference (even if it's a step) in ctrl.h, under CTRL_runOnLine_User function, this is the portion that runs the speed controller. So instead of reading a reference from the trajectory module, just set your own speed reference in whatever acceleration is needed by your application:
if(CTRL_doSpeedCtrl(handle))
{
_iq refValue = YourOwnSpeedReference; TRAJ_getIntValue(obj->trajHandle_spd);
_iq fbackValue = EST_getFm_pu(obj->estHandle);
_iq outMax = TRAJ_getIntValue(obj->trajHandle_spdMax);
_iq outMin = -outMax;
// reset the speed count
CTRL_resetCounter_speed(handle);
PID_setMinMax(obj->pidHandle_spd,outMin,outMax);
PID_run_spd(obj->pidHandle_spd,refValue,fbackValue,CTRL_getSpd_out_addr(handle));
}
-Jorge
To be clear, Jorge's suggestion is this method:
"You can certainly go completely around the TRAJ module and just input a step input into the speed controller. But then you are also limited by the bandwidth of the speed controller and how fast it can change the Iq torque reference into the FOC system."
Hello Chris-san and Jorge-san,
Thank your for your responses.
Today, I modified my lab10a source codes as follows,
----------- ctrl.h -----------------------------------------------
// Line2100 when appropriate, run the PID speed controller
if(CTRL_doSpeedCtrl(handle))
{
// _iq refValue = TRAJ_getIntValue(obj->trajHandle_spd);
_iq refValue =_IQ(0.333); // Target speed newly sets to 8000rpm.
_iq fbackValue = EST_getFm_pu(obj->estHandle);
_iq outMax = TRAJ_getIntValue(obj->trajHandle_spdMax);
_iq outMin = -outMax;
------------------------------------------------------------------
After setting above value, our motor spins so rapidly!
Motor and VBUS(48V) are no problem.
Thanks and best regards,
ay0689_2
Great!
FYI, for even faster acceleration, you can disable the speed control switch (Torque mode proj_lab4 or 5a) and just set an Iq_Ref of 1.0 pu or Iq_Ref_A of your maximum current.
But if you want to control in speed mode, and the acceleration is acceptable, what you have done is simpler.