Other Parts Discussed in Thread: BOOSTXL-DRV8301, MOTORWARE
Hello! My name is Lucas Paiva, and I am an undergraduate student working with a Formula Student team. I have been developing a three-phase inverter using InstaSpin. Initially, I began with LAUNCHXL-F28069M + BOOSTXL-DRV8301 to validate the idea. Recently, I designed my own custom board (still utilizing the LAUNCHXL-F28069M) with the following specifications:
- 6 isolated gate drivers
- PWM at 15kHz (capable of reaching at least 20kHz)
- Current sensitivity: 3.52 mV/A (with USER_ADC_FULL_SCALE_CURRENT_A set to 937.5 using LEM HO 150-S-0100 with a 5V to 3v3 divider)
- Voltage sensitivity: 32.35 mV/V (with USER_ADC_FULL_SCALE_VOLTAGE_V set to 102.0 using an isolated voltage divider + filter)
Currently, I am testing it with the following motor specifications:
- ACIM motor
- 4 poles (2 pole pairs)
- Nominal voltage: 65.5 V
- Nominal current: 122 A
- Power factor (Cos(theta)): 0.5
- Nominal RPM: 3530
- Nominal frequency: 120Hz
I have successfully completed Lab1b with open-loop control, and signal integrity appears satisfactory (verified with an oscilloscope and by plotting variables from Lab1b). However, I encountered difficulties implementing closed-loop control (Lab1c).
I am facing challenges during the motor identification process in Lab2a (also in 2c). I am not using the nominal currents and voltages. Currently, I am powering the system with a 30V battery limited to 10A DC input current (protected by a fuse). To work with lower currents, I modified my current transducer by increasing the number of turns to five, resulting in a sensitivity of 17.6 mV/A (with USER_ADC_FULL_SCALE_CURRENT_A set to 187.5).
Despite extensive parameter tweaking, I managed to complete the motor identification, but the motor fails to run afterward. The estimator appears to become unstable, causing the motor to behave erratically and stall. Additionally, I obtained inductance values (Lsd/Lsq) in the order of e-10, indicating significant inaccuracies.
I utilized the motorware_selecting_users_variables spreadsheet to tune my values, but it did not yield satisfactory results.
Some specific questions:
-
Where should I begin troubleshooting? Despite trying various approaches and consulting similar topics on forums, I still feel lost due to lack of progress.
-
Would it be advisable to attempt motor identification with currents and voltages closer to their nominal values?
-
Is there an alternative method to verify my current and voltage gains? Despite triple-checking, I suspect I might be overlooking something.
-
Should I configure offsets or biases for my current and voltage sensors? My understanding is that these are calculated and applied in Lab2a (and 2c), with the option to reuse them later.
Attached are my user.h, user_j1.h, and motorware_selecting_users_variables.xls files.
motorware_1_01_00_18 and CCS 12.6.0.00008 (arm, MacOS)
thanks you