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.

electrical angle in Instaspin F28027

Other Parts Discussed in Thread: MOTORWARE

hi,

i am using a F28027 MCU with CCS6 and Motorware Proj_lab5b.

i am running a motor with F28027 and i need a electrical angle in my functions.

i searched the forum and see the this link :

but it didn't help me much. because this discussion is about getting electrical angle from encoder, but i don't use encoder. i use sensorless FOC in F28027?

how can i get a electrical angle from FOC without encoder?

  • Hi,

    Have you seen this thread: e2e.ti.com/.../333915 ?

    Also, take a look at Lab11. The structure is simplified and it uses the function EST_getAngle_pu(estHandle) to get the electrical angle of the rotor generated by the FAST observer.

    Jeff
  • hi,
    i have a problem and no one helped me.

    i designed and make a pcb based on a hvkit_rev1p1(with a few differences) but with F28027 MCU, for driving a 0.75hp ACIM, 220v, 3 phase motor and i am using a CCS6.1 and motorware15.

    the max speed of the motor is 1.5krpm. the motor receive to this speed when rotating in NO Load state. but when the load apply to motor, the speed decrease (to about 1.1krpm) and doesn't go to max speed. in the other word, i am driving the motor with maximum 65% efficiency but i expected to receive to 80%.


    i also tried proj_lab10a. the over-modulation is in max value(0.6666) but it didn't make any change.
    the MAGNETIZING_CURRENT is in optimum value(i change it from the identified value and received to optimum value).

    i changed and increased the MAX_CURRENT but no change has been made to speed.

    i finally i tried to re-identify the motor but it stopped in the middle of identifying(EST_idrated).

    i stocked in here and confused.

    how can i deliver the speed to speed_ref?

    where is the problem? how can i solve this problem?
  • Hi Msadegh,

    I'm sorry to hear you are having problems obtaining the speed you need under load.  Let's see if we can figure out where the problem is:

    1.  Can you achieve higher speeds with the HVkit?

    2.  What is the rated voltage of your machine (Vrated_line-to-line_RMS)?

    3.  What is the rated frequency of your machine (Hz)?

    4.  What is your bus voltage when the motor is loaded and unloaded?

    5.  What is your Id rated magnetizing current set to?  It should be close to sqrt(2/3)*Vrated_line-to-line_RMS / (2 * pi * rated_frequency(Hz) * Ls).  This assumes that you know the equivalent Y-connected stator inductance of your machine from a datasheet. or from MotorID.

    6.  When you load your motor at full speed, what are the max and min duty-cycle values of your motor PWM waveforms?

    Regards,

    Dave

     

  • hi,

    thank you for your attention and sorry about my delay. i was testing what you have said.

    1- i test my designed pcb and circuits. yes it can go to higher speed but under heavy load it can't reach to speed_ref. 

    2- Vrated_line-to-line_RMS is 207v.

    3- rated frequency of my machine is 50Hz(1.5krpm). it could been higher than this value without heavy load, but the destination speed in full load is 1.5krpm or some times the current output waveform exit from sinusoidal state.

    4- the bus voltage is 304V in unloaded and 299V to 302V with load.

    5- the MAGNETIZING_CURRENT set to 0.9(this is not the value extracted from ID process. that value was 1.85 and i test and reduced it to 0.9. this is the optimum value).

    6- when the speed set to 2.0krpm and , the Approximate Duty Cycle  is min:22% and max 76%. when the speed is lower than this value,the Approximate Duty Cycle is min:35% and max 62%

    however i tested this motor with a V/F inverter. the motor work fine with rated speed under heavy load and nothing bad happened. 

    i think this problem is because of bad identification. but the ID process doesn't work. could it be the problem?  

    how can i solve this problem?

    thank you.

    this is my user.h file :

    7230.user.h

  • beside the mentioned test, the ID process make error in my inverter and i can't identify the motor. in the middle of identification process, the motor stop and CTRL_State_Error and EST_State_Error display in debug mode.
    i use the proj_lab2b and projlab_2c.
  • Hi Msadegh,

    Thanks for your reply.

    Let's focus on question # 6.  If you are not reaching your commanded speed, your speed loop will saturate, which outputs the maximum current possible to the input of the q-axis current controller.  If the current is not achieving this maximum current limit, then the q-axis voltage output will saturate, resulting in PWM min and max values very close to 0% and 100% respectively.

    Please check and report the value of the following variables:

    USER_IQ_FULL_SCALE_VOLTAGE_V

    USER_ADC_FULL_SCALE_VOLTAGE_V

    USER_IQ_FULL_SCALE_CURRENT_A

    USER_ADC_FULL_SCALE_CURRENT_A

    USER_MOTOR_MAX_CURRENT

    USER_MAX_VS_MAG_PU

     

    Also, can you use a current probe and measure the phase current in the motor when it is under load?  How does this compare to

    USER_MOTOR_MAX_CURRENT?

     

    Thanks,

    Dave

     

     

  • hi,

    this is my user.h value that you want:

    #define USER_IQ_FULL_SCALE_VOLTAGE_V      (450.0)

    #define USER_ADC_FULL_SCALE_VOLTAGE_V       (410.6) 

    #define USER_IQ_FULL_SCALE_CURRENT_A          (10.8)

    #define USER_ADC_FULL_SCALE_CURRENT_A        (21.6) 

    #define USER_MOTOR_MAX_CURRENT          (5.0)

    #define USER_MAX_VS_MAG_PU        (1.0)

    i used the current probe. each phase current didn't go above the 3.1A. they always below the USER_MOTOR_MAX_CURRENT.

    is there any difference between proj_labs? i usually use the proj_lab5b. is it necessary to use another lab, such as proj_lab10a?

    thanks.

    Msadegh

  • helllo? anybody hear me? i need help??

  • Could you please try lab 11a, using MotorWare 15, and the parameters that you identify?

    Also, when you are running lab 11a, please enable PowerWarp, which will actually deflux the motor, to do two things in one, make it more efficient, as it will magnetize it just enough for a given load, and it also provides field weakening, so the motor should spin faster than running it with full flux.

    Let me know how the test go. I suggest running at your desired speed reference with no load, then slowly increase the load, until the speed starts dropping. At that point, let me know what that speed is, what that flux is, and what the Id is.

    If the speed starts dropping at lower loads than expected (assuming your motor can move that load at that speed) then try reducing the inductance you are using in user.h by decrements of 5%, and try it again.

    -Jorge

  • i exactly done what you have said in addition that i re-identify the motor and the result was like this:
    my desire speed was 1.5krpm in no load. i slowly increased the load to 2.5Nm. the real speed(checked with tachometer) is below this value(about 1.48krpm) but the estimated speed in debug mode(speed_krpm) is 1.5krpm(wrong number). meanwhile the flux was 1.82, and the magnetizing_current was 0.9.

    this is my new parameters:

  • OK, so I suggest tweaking Rr slightly to get your tachometer speed match the estimated speed when the load is applied. Also, please change the rated flux to what you measured, 1.82. (I am assuming the units of what you measured is also in V/Hz, so the units match to what you enter in user.h).

    #define USER_MOTOR_RATED_FLUX (1.82)

    -Jorge

  • i will test the slowly decreasing the Rr and will report to you. thank you?
    i have another question.
    i have a motor and tested it with direct 3-phase in full load with the efficiency of 76%.
    is it possible to reach to efficiency above this value using inverter(my designed inverter based on texas hvkit_rev1p1)?
  • Well, that's kind of hard to predict. Using inverter you have drops in the rectifier, in the FETs switching, in the sense resistors, etc. But, you have a better orientation of the field, as opposed to simply driving three phase inputs. Is the "direct 3-phase" approach use any kind of intelligence? or is it simply three phase input connecting the three phases of the motor with nothing in between?

    -Jorge
  • the "direct 3-phase" is simply three phase input connecting the three phases of the motor with nothing in between.
    beside i will test and report it.
    thanks.
  • hi Jorge,
    i have a another question.
    i tested what you have said.
    now i can drive a motor with my designed inverter (based on TI hvkit_rev1p1 with F28027 MCU).
    i write some program to cut the PWMs to protect the inverter by software when over current or High Voltage Module faults happens.
    but i have a problem.
    when i increase the speed in full load(sometimes overload), the motor make some bad noises and shaking widely for a few second and after that the motor Halts and stops. during this seconds, the phase current(measured by current probe) is not sinusoidal and have a strange shape.
    the strange point is, the motor stop without any MCU software command. i am sure and i tested it and after that the MCU is not in Halt, reset or any bad situation.
    is it possible that the motor HALT because of over current or the hardware stops the motor?
    i know this is the strange question, but i have this problem and don't know how to solve it?
    thank you.

  • I think what's happening is that when you speed up the motor with load, the duty cycles get pretty high, leaving little to no time on the low side output which is critical for current sensing using shunt resistors. So that causes the distortion of the currents and the noise, followed by an over current I am sure.

    So, what I suggest is to use one of the labs that deal with overmodulation. These labs deal with changing the current measurement trigger point depending on the time available to sample the currents. Those labs are lab 10a and 11a, of MotorWare 15.

    -Jorge

  • hi,

    all the errors happened in lab10a.

    the lab11a gives so many error referred to "header missing".

    how can i use lab10a and lab11a?