Tool/software:
Hello TI Community,
I'm experiencing persistent audible electrical whirring noise with my PMSM motor control implementation and would appreciate some guidance. I attached my `user_mtr1.h` file below. Here is a recording of me commanding a small current and manually turning the motor slowly:
### System Configuration:
- Microcontroller: F280039CSPZ processor
- Gate Driver: DRV8323HR
- Motor Type: PMSM with 14 pole pairs
- Firmware: Modified version of the Universal Motor Control Lab
- Control Method: Field-Oriented Control (FOC)
- PWM Switching Frequency: 60 kHz
- Control Loop Frequency: 6 kHz
- SVM Mode: Using USER_M1_MAX_VS_MAG_PU (0.5774f - standard SVPWM)
- Software: C2000Ware_MotorControl_SDK v5.2.0.00
- IDE: Code Composer Studio Version 12.4.0.00007
- Position Feedback: Quadrature encoder
### Noise Characteristics:
- Electrical whirring noises occur particularly worse at certain rotor positions when manually rotating the motor with a small commanded current
- Reducing PI gains decreases noise intensity, suggesting control loop instability
### What I've Tried:
1. Implemented a 2nd-order Butterworth low-pass filter on the current signals (700Hz cutoff at 6kHz sampling). Resulted in very jerky current behavior, worse than before filtering
2. Implemented an EMA filter for current signals with alpha values from 0.9 down to 0.1 with no significant improvement in noise even with strong filtering
3. Reduced the voltage vector magnitude (from 0.66 to 0.5774) gives some improvement but noise persists
4. Lowered controller gains reduce noise slightly but still loud
### Specific Questions:
1. What could cause the noise to vary significantly with rotor position? Could this be related to encoder resolution issues or cogging torque?
2. Are there recommended PI controller tuning approaches specifically for position-dependent noise in the C2000Ware MotorControl SDK?
3. Could current sensor bandwidth or noise be contributing to this issue with the F280039CSPZ ADCs?
4. Any suggestions for diagnosing whether this is mechanical resonance vs. electrical control issue, given the position-dependent behavior?
Any other suggestions for tests or other things to try would be appreciated.
Thank you
Hi,
Are you using F280039x LaunchPad + DRV8323HR Boosterpack evaluation boards? Or is it your own custom hardware?
What speeds are you testing the motor at? Does the noise change with speed?
I have some debug / test suggestions below:
Best,
Kevin
Thank you Kevin Allen18
Here is reported current over a serial comm port of Q-axis current at the low current command at stationary. The areas of the plot with lower current noise are the areas that produce much less audible noise.
I will do more testing with a current probe, open-loop, and closed loop control. I do not have the DAC pins output on my board but I will add those for the next board.