Other Parts Discussed in Thread: BOOSTXL-3PHGANINV, INA240
Tool/software:
I'm using BoostXL3PhGaN with LAUNCHXL-F28P55X. The project is dual_axis_servo_drive.
I am following these steps:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1) Set 'motorVars[0].speedRef' to 0.3 pu (or another suitable value if the base speed is different) .. 'motorVars[0].speedRef' helps only until the QEP index pulse is received. Thereafter, the motor is controlled based on its rotor position.
Tell me if I have understood correctly: after the encoder calibration (so when lsw = ENC_CALIBRATION_DONE) motorVars[0].speedRef no longer has any effect, so I no longer need it. Right?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2) If I have understood point 1) correctly ... how do I adjust the speed? Can it be done in FCL_LEVEL3? Or does it remain fixed?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3) Gradually increase voltage at DC power supply to, for example, 20% of the rated voltage.
Is this step necessary? 20% is a value below the minimum threshold that triggers fault undervoltage ... why can't I debug and start directly with rated Vdc? I currently do this with Vdc=30V and have no problems.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4) Set 'motorVars[0].IdRef_run' to zero, and 'motorVars[0].IqRef' to 0.05 pu (or another suitable value) and all these things:
This is what I get:
4a) Setting "motorVars[0].IdRef_run" improves (becomes more sinusoidal) and increases the waveform amplitude of the motor phase current and:
- "motorVars[0].IdRef" follows IdRef_run
- "motorVars[0].pi_id.fbk" follows IdRef_run
..so I'd say everything is OK, right?
4b) Instead, by setting, "motorVars[0].IqRef":
- "motorVars[0].ptrFCL->pi_iq.fbk" does NOT follow IqRef
Why? Can you help me investigate this problem or what variables I should play with?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5a) Test different values of "pMotor->FCL_params.wccD" and "pMotor->FCL_params.wccQ":
pMotor->FCL_params.wccD = M1_CUR_LOOP_BANDWIDTH; pMotor->FCL_params.wccQ = M1_CUR_LOOP_BANDWIDTH; M1_CUR_LOOP_BANDWIDTH = (2.0F * PI * M1_SAMPLING_FREQ / 100) = (2.0F * PI * M1_PWM_FREQUENCY * 1000 / 100) = (2.0F * PI * DM_PWM_FREQUENCY * 1000 / 100) = 628kHz using DM_PWM_FREQUENCY=10kHz
"The default setting for the bandwidth is 1/18 of the sampling frequency" but as you see in the code I get 638kHz .. which is not 1/18 di 10kHz
5b) I cannot find or set the parameters that the pdf asks me to change: