Part Number: LAUNCHXL-F280049C
Other Parts Discussed in Thread: BOOSTXL-DRV8320RS
Oddly if we set the current ramp time +30 (below) then rated OL 17 Amps PTP for several seconds lab5, until we enable=0 it never leaves state assume is OL. But if ramp wait time is reduced to say +5, Rated Flux OL shows up in CCS watch window after it trips DC fault every time. Otherwise it seems to run in the background but the state machine CCS debug watch window is stuck on current ramp up 60HZ.
This same 24v 14.6A SMP works same motor, only 4.2A via 6 step sensorless commutation. So it has to be some issue how rated flux OL enter with PWM drive set very high duty cycle. Also have the DC filter count set very high to exceed SMP peak current shown below. This SDK has issues not to easily ID motors or even run from previous user.h parameters via BoostXL-drv8320rs. How can this be such an efficient way to run motor when 10x as many amps? I suspect the user FS amps some part and feel 84mV/A shunt PGA gain (x12), ADC FS is more close to 35A Peak.
Note (motorVars.flagEnableUserParams = true) does not get motor parameters from user.h. It only gets user.c time wait and sets a few parameter values near bottom user.c. The GUI has the same flag check box and it is supposed to use online motor settings as user enters for user.h. So to run the motor and skip motor ID, motor goes online from user.h settings, not user.c some kind of mix up there?
1.What needs to be changed so rated flux can soft start from state machine control loop?
OL ramp up time wait is missing or was never added.
2. What determines the PWM duty cycle for current ramp up and rated flux OL?
Perhaps 17A PTP ramp up is a bit excessive (60Hz) as 20Hz stalls rotor every time.
3. How will a 48v 20A SMP make any difference if rated flux OL is tripping DCA/B faults very close 1/2 FS?
There has to be a better solution as SDK past ID this same SPM motor (42v 10A SMP) with stalled rotor (20Hz). Can not duplicate with DC-A/B (OSHT) protecting BoostXL. The 3 CCMPx were not functional and nFault pin via VDS set 15.6A is not tripping faults as it should, DCA1/B1 (OSHT) knows better.
pUserParams->estWaitTime[EST_STATE_RAMPUP] =
(int32_t)((USER_MOTOR_FLUX_EXC_FREQ_Hz / USER_MAX_ACCEL_Hzps +
(float32_t)30.0) * USER_EST_FREQ_Hz);
3856, /* +17.32A/805µV, 3856-2048=1808*805µV=1.46v/84mV, dacValH */
-3856, /* -2.30A/805µV, 4096-3856=240*805µV=.1932/.084, dacValL(invert) */
2048, /* dacaVal */
-2048, /* dacbVal */
//
// initialize the user parameters
//
USER_setParams(&userParams);
This function is not updating motor.parameters from (user.h) values for later online motor runs after the ID process completes. Seems someone has used flag to load values from user.c when it should load from user.h. Perhaps another flag must be added. The GUI does not load user.h values (check box) and we have to save motor.parameters with GUI context. It still did not run motor from past session with user.h values entered after motor ID with user.h box selected. How motor ran closed loop is a great mystery but it only run via Online CCS real time debug session that same day, never able to test user.h very next day.
true, /* flagEnableUserParams */

