cancel
Showing results for 
Search instead for 
Did you mean: 

How to run high voltage PMSM with STEVAL-HKI001V2 board?

DJusz.1
Associate II

Hello,

I try to run PMSM motor with Steval-HKI001V2 board. Unfortunately, this board does not support motor profiler software, so I measured the motor parameters manually.

I watched all the Motor Control online video courses and configured the drive parameters, sensors, and start-up parameters. After many days of trying to spin the motor with different start-up parameters I have achieved the following result: I'm able to align the rotor and spin it smoothly to the final ramp speed of 700rpm but then the motor just stops with "start-up" failure.

As I noticed in FAQ start-up failure often occurs when the current is too low, but after increasing the current to 8A, the motor is clogging near 600rpm and then a "speed feedback" error occurs.

What could be the reason for such behavior?

I attach .stmcx project file.

My motor parameters:

  • 3 pole pairs
  • 2400 rpm
  • 16A current
  • 205V DC Voltage
  • Rs = 0,6 Ohm
  • Ls = 0,62 mH
  • E-Emf constant = 57 V/krpm
4 REPLIES 4
DJusz.1
Associate II

I observed phase current from DAC output signal and it looks ok. There is some noise but I think It's from the control board external power supply. Is there any debug method to find out what causes a problem? "Speed feedback" error or "start-up" error tells me nothing. Solutions from ST FAQ do not work. I will try to make auto-tune with a different board to make sure that motor parameters are measured correctly (Motor Profiler doesn't support STEVAL-HKI001V2)

KSzul.1
Associate III

Hi, I was going through a similar situation.

I'm completely the beginner but I think I managed to figure it out, it works for me now.

  1. First configure Iq PID gains Kp and Ki as ST suggests, with current probe and oscilloscope. That took me most of the time (few days?)
  2. Then, what actually they don't say, you have to reset the Monitor (disconnect and connect USB) to get programmed values in Monitor's Configuration tab
  3. Found values for Kp and Ki put into Iq PID and Id PID (the same) and try to start motor
  4. Playing with C2 observer I had either speed feedback or start-up failure.
  5. What I have found is that I thought that my motor is 2.5A, and 1.2A (around 50%) in 5-steps start-up parameters was giving me around 2000 torque in Monitor's Configuration tab. This number you can calculate according to the formula (pic below).
  6. I had to lower the torque value from ~2000 down to ~400, which gave me about 0.25A in start-up parameters, I had massive speed overshoots in startup procedure
  7. Then I played with C2 lowering it down. Too small value gave me speed feedback error.
  8. Then I played with PLL Kp and Ki to stabilize start-up procedure
  9. Finally I have found optimal values for speed controller PID Gains (middle of Monitor Advanced tab) and that gave me the final acceptable result
  10. I have found interesting explanation how PID controller is working:

youtube watch?v=fusr9eTceEo

Let us know how you going with that.

0693W00000QNOVwQAP.png

DJusz.1
Associate II

Hi,

thank you for your answer. Your solution sounds good and I think it will help many beginners. After weeks of trials and errors, I came to similar conclusions. The most significant factors are Iq, Id PID Gains, and Speed controller PID Gains. But for me, the first solution for start-up errors was making an auto-tune by IMP-15 + NucleoF303 boards. I put motor parameters from Motor Profiler to a new project with the target power board and MC workbench automatically calculated the PID gains.

Based on STM solutions and experiences with MC Workbench, my team developed a motor controller for ROV thrusters. It works pretty well but for now, we have a problem with "Speed feedback" error when a certain torque (near 20Nm) is reached. Maybe you had a similar problem?

KSzul.1
Associate III

Hi,

I did not get that far yet in my learning and discovering what MC can do.

Your problem sounds like there is not enough power to keep desired speed.

What I have found recently is that playing with PWM frequency and dead time for driver and power stage, cranking PWM up and lowering dead time, motor's max speed lowers down.

However, lowering values for G2 (C2) AND G1 (C1) (this with negative value) I can get some speed back. Observer does not measure the B-EMF but calculate the value and G1 and G2 is a factor for this calculations.

Maybe rising 'Speed sensing -> 'Variance threshold' could help? Default value I believe is 10%.