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.

TMS320F2809: Problems achieving stable motor ramp

Part Number: TMS320F2809
Other Parts Discussed in Thread: CONTROLSUITE, TMDSHVMTRINSPIN

Tool/software:

Hello

I’ve been maintaining a C2000 based project where we are attempting to control a motor, and we’re encountering some issues I’m hoping somewhere here can help with.

The project is based on the TMS320F2809 CPU, using the DMC 2.0 library to control the motor. The motor is a BLDC sensorless motor. The motor is being controlled in Velocity mode; no positional data is required; all we require is smooth speed control.

The issue we are having is while going through our motor ramp the motor performance is not smooth, and as we approach around 1200 RPM or so (our Rampgen-Field Oriented Control transition point) we frequently encounter oscillations and/or a motor stall. If the motor manages to make it to Field Oriented Control (somewhat randomly) it performs fine and runs perfectly smooth, but while ramping/transitioning the motor is very unstable.

The code is structured like examples provided for various development kits that use the DMC library, specifically the one that can be found in: C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v1.7\HVACI_Sensorless

To aid us in our debugging we purchased the TMDSHVMTRINSPIN developer board with the TMDSCNCD28069MISO control card for testing. When we configured our motor to run with this kit, motor identification and parameter detection were completed without issues, with all motor parameters (Resistance/Inductance) being in the right ballpark (within +-5% of what we measured in house). When we controlled the motor using either SpeedTAC or the standard PI controller the motor ran smooth through its entire ramp.

One thing we’re still attempting to do ourselves is properly tune the PID controllers in our software for our motor, but we’ve had difficulty as the only high-performance feedback we can get while the motor is running is via the 4CH_DLOG module. We could use some advice for this specifically.

The question is basically this: What’s the best approach we have for getting our motor to run smooth through its ramp? We’d also prefer to not have to modify our HW design if possible.

  • Hi Daniel,

    Are there any waveforms captured by scope can be shared to better understand the unstable ramp pattern?

    Thanks,

    Jiaxin

  • Unfortunately, no.  Our design doesn't have any points we can tap into to get data to a scope.  The best we can do is the 4CH_DLG module, which gets us just over 1000 samples on four parameters, which is less then ideal.  Regardless, we'll try and get some performance data; one thing we can confirm is the output of the SMOPOS module during ramp (which records the measured Rotor Angle) does show some noise in it's output, leading us to think we have a stability problem as we ramp up.

    What I can say so far as performance goes is that the ramp is *very* loud, increasing with RPM, which is notable given the dev board maintains a constant pitch through the motors entire ramp profile.  If we do manage to get into FOC operation the pitch of the motor decreases and roughly matches what we observe with the development board.

  • Using current probe with oscilloscope to capture the real current waveform that could help you to analysis the true running state. You may have to keep tuning the controllers gain. If you are working on the sensorless observer, you also need to tune the related parameters.

    Please try to capture the current waveform to help us to understand your question if possible.