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.

ACIM operation in lab 13b for InstaSPIN

With my ACIM motor identified correctly, I cannot reach my desired speed reference. (I am sure that it is identified correctly, because it works in lab 12b with no problem) 

I set gMotorVars.MaxVel_krpm to 1.36 krpm but I can only reach 32% of it (0.43 krpm), similarly when I set this reference to 0.68 krpm again I can only reach 32% of it (0.215 krpm)

gMotorVars.MaxAccel_krpmps, gMotorVars.MaxDecel_krpmps and gMotorVars.MaxJerk_krpmps2 are set to maximum allowed limits as it is defined in your Lab User's Guide.

In Debug window I read gMotorVars.Speed_krpm 32% of gMotorVars.MaxVel_krpm as I have described above. Also physically I measure the speed from motor shaft with a tachometer, it is also 32% of desired level. So InstaSPIN knows that it did not reach to reference, but why doesn't InstaSPIN increase the speed to gMotorVars.MaxVel_krpm level? I think there is a parameter limits the speed to that level.

On the other hand there is not a problem in position control, when I enter the parameters to 41.5 revolutions, it is exactly 41.5 revolutions. Problem is speed here.

Can you recommend me a solution to that problem?

  • When running lab 13b what value are you setting for gMotorVars.PosStepInt_mrev when you do a positive move?

    Also what values are you setting for gMotorVars.MaxAccel_krpmps, gMotorVars.MaxDecel_krpmps, and gMotorVars.MaxJerk_krpmps2?

  • gMotorVars.MaxAccel_krpmps = 75 , gMotorVars.MaxDecel_krpmps = 75, and gMotorVars.MaxJerk_krpmps2 = 400. I know that those are the max allowed values as it is described in Lab User's Guide.

    I tried lots of different gMotorVars.PosStepInt_mrev values. 1, 40, 120 etc. The result is the same, It cannot reach max speed (1360 rpm) It reaches only 32% of it.

    But there is no physical limit, I tried to set the reference to 4.25 krpm. Then I saw that motor speed is 1.36 krpm. So I think that there is not a physical limit for the system to reach 1.36krpm. There is sth wrong with scalings or sth limits current or speed reference inside the controller. This is my comment actually, I am waiting for your recommendations.

     

  • Those aren't the true maximum allowed values.  The maximum allowed values are described in the API.  

    The maximum values should be able to be set much higher.  Look at the API and ensure that you are setting the true maximum.

    Since you are running lab 13b you should look at the maximum value in st_obj.pos.move.VelRef and see what the maximum value of this signal is.  Since that value is in pu make sure that you convert it into krpm.

  • Ok I have found the problem, the problem was ST_SPEED_PU_PER_KRPM parameter. I have set it again and now it reaches desired speed, but up to 1200 rpm. I cannot reach nominal 1360rpm speed. Motor phase current is smaller than max current. So it should not limit me to increase speed. Again I think there is a point I miss, do you have any advice for me to look at? Which parameters can limit the speed?
  • Since you are not running into the current limit when running your motor, you are running into the voltage limit.  There are a couple ways to mitigate this with an ACIM.  Since the amount of flux can be controlled the easiest way to is to reduce the magnetizing current.  You could also try increasing the dc bus in order to raise the voltage limit.

  • I have found second missing item, USER_IQ_FULL_SCALE_FREQ_Hz was wrong somewhat. So that I could not reach final speed. I have corrected the value, now there is no problem with max speed.

    But now I see that there is a limit on acceleration. There is no problem until I increase acceleration up to 0.3 krpm/sec. But when I increase it more than this, motor speed starts to oscillate. I think the error on position feedback increases somehow. I think at that acceleration rate motor cannot run exactly at desired speed reference, so error in position increases with time, so that the position controller manipulates the operation and speed oscillation occur. I see that ST_POS_ERROR_MAXIMUM_MREV is 2 in default and during operation position error exceeds this value. Do you think that this comment is reasonable?

    I will turn back to lab 13a and try to retune the position regülator. But afterall, our product is a motor driver for elevators and in the field it will be dangerous for the application if it oscillates like that in case of an error in position. Instead, I need to recalculate the new desired reference for a high position error.
  • I'm glad you were able to get it resolved.  

    If you think the motor has a hard time running at the desired sped reference, you should decrease the maximum velocity in the position profile.  Than see how the motor responds to the increased acceleration rate.

    If the position controller cannot reach the desired speed it shouldn't go into oscillation, it should go into saturation.  What I think it happening is that the position error limit is being hit and due to the windowed position operation, it will enter and exit the position error limit as it goes through the different windows.  The position controller as not designed to operate with a large position error.  It is important to make sure that your profile limits are achievable.

    Part of the error could be coming from the slip estimation (which is done in the SpinTAC Position Converter), make sure that your motor electrical parameters are correct.

    CagdasC said:
    I will turn back to lab 13a and try to retune the position regülator.

    You should be able to adjust the tuning in lab 13b as well.

    I think the root of the issue is the profile limits.