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.

drv8301-69m kit: does not start the engine and does not recognize the parameters

Other Parts Discussed in Thread: MOTORWARE, DRV8301-69M-KIT

I bought this kit to start running a BLDC motor, but I'm having problems that you surely know solve.
The electric motor has the characteristics that carry, the engine has 6 pole pairs and I would like to run at full speed around 2500 rpm

the gui InstaSPIN_MOTION_F2806xM can not detect the parameters of the engine and during the stage where should run only vibrates and emits a hiss, then I tried with projects in particular with proj_lab02a I found with the suggestions of the various posts that I read in the forum


  (C: \ texasbldc\motorware_1_01_00_13\sw\solutions\instaspin_foc\boards\drv8301kit_revD\f28x\f2806xF\projects\ccs5\proj_lab02a),

but even here I could not even move it like before, I have just a vibration and a hiss even stronger.

I tried to edit the various parameters of the file header user.h following the suggestions of the various forum posts and even those in the guides of the kit, but the result does not change, for completeness I insert it below

/cfs-file/__key/communityserver-discussions-components-files/171/3443.35232.user.h

I hope that some of you know me out of this block otherwise I do not know what to do and what it parameter set.

ps. I do not know if this information is relevant or not when they are in the discovery phase of the flow and the inductance from gMotorVars.EstState EST_State_RampUp my power supply goes into protection despite having set as value 3 A> on the setting in the user file I have attached...

  • 1. how much current can you power supply source at the voltage (12V?) you are using?
    2. you will need to increase your RES_EST_CURRENT and MAX_CURRENT high enough to get the motor to start spinning during RampUp phase, and through the rest of ID. Increasing your MAX_CURRENT is also required for operation...3A is not enough to start-up this type of motor I'm sure. At least 10A peak during no-load and once loaded you will need to max out to 40A.
    3. you need to use proj_lab02c to ID this low inductance motor
    4. I see you put the Rs and Ls values from the datasheet into the USER_MOTOR settings. Actually the values for USER_MOTOR should be half of the datasheet as we use line-neutral and not line-line. You should ID something similar to line-neutral (at least for Rs, the Ls will probably be in the 10-30uH range I would guess).

    you're close, don't give up! I guarantee it will work with this motor!
  • thanks for your answer so fast, I read your answers in many post and I thank you for the support you give to us.

    1 the power supply is not really performing can provide up to 3 A, but I'm afraid to use all this power because I would not fry the motor or the development board, but if you tell me that more power is required for the spin I can think taking a car battery 12v.

    2 definitely having more experience than me advise you of the values for RES_EST_CURRENT MAX_CURRENT and that may be fine.
    If for example, I use the car battery and put 6 A RES_EST_CURRENT like what would happen if the motor it would impose more, the card goes wrong?

    3 I have already tried with this proj_lab02c following the advice you've given to other users, but all I got was a loud hiss and my power is going into protection by lowering its voltage.

    4 is right, as a last resort or I brutally entered the values in the file user.h.
    then I should double the values that I read in the paper that is 31 * 2 = 62mH Ls and Rs 65 * 2 = 130 mOhm? or divide by two values of the sheet?

    If I insert these values in the user, the firmware is only the calculation of voltages and currents that will save and then the engine still has to turn.

    the other parameters of the user files you believe are correct, or do I change them?

    For now I would be happy if only turned, then I will need to kindly explain how do I put the file user changed thanks to the work performed by the laboratory proj_lab02c into gui InstaSPIN_MOTION_F2806xM to proceed with the tuning of the remaining tab.

    thanks again for all your support

  • your power supply shouldn't be going into protection....that doesn't sound good. This is using proj_lab02c and starting motor ID? You are limiting the current to your RES_EST_CURRRENT value in this case. Maybe your power supply can't even handle as much as you suspect...but limiting on 12V/3A= 36W??

    but you very likely need more than 3A peak/burst to start-up a 40A motor. So yes, increase power supply.

    I would try RES_EST_CURRENT (5.0) to and MAX_CURRENT (20.0) to start.

    you divide the datasheet numbers to enter / compare them into user.h USER_MOTOR settings
  • correct, now I use only the proj_lab02c because recommended for low inductance motors.

    This starter kit was purchased from the company where I work Monday so I'll try your advice on the current levels, she assures me that the card is not nothing will happen.

    the power supply when they are at the stage where the motor must start not see the large current draws the lancet current practically does not move and remains on the 500 mA draw card standard, rather than the voltage is lowered and the control cv light control passes to CC

    connections motor phases and details are correct these below?

    OUTA -----> V
    OUTB ------> U
    OUTC ----------> W

    1
      I try with current levels recommended by you, leaving empty the parameters of motor making them recognize the script.
    But I would have to ask for clarification with respect to certain parameters of the file that I am attaching user.h


    I can bring this value to 12 (it's a casual reference than the power of the card)

    #define USER_IQ_FULL_SCALE_VOLTAGE_V (24.0)

    40 is fine, or I have to increase to 60

    #define USER_MOTOR_FLUX_EST_FREQ_Hz (40.0)


    2 if even so I do not have the results I insert the values that are half of those read from the datasheet

    new user.h

  • #define USER_IQ_FULL_SCALE_VOLTAGE_V (24.0)
    set this = the Vdc bus value to start. Only increase if the max_freq * FLUX identified > Vdc-bus

    #define USER_MOTOR_FLUX_EST_FREQ_Hz (40.0)
    Your motor is only ~300 Hz, so 20-30 Hz is fine. But since it's lower inductance running it a bit faster during ID is usually preferred, so 40 should work. If you are having issues still you can try increasing up to 60 Hz.
  • Tomorrow I will try as you suggested.

    I took a car battery and I connected the cables to a breaker with current thresholds settable.

    my engine has a configuration phase delta so I should multiply the values that gives me back the project 2c for three and get those reported in the datasheet of the engine? or we have to multiply by six (X3 Y TO DELTA X2 because the values that returns the code project are between phase and neutral)?
  • if delta it is /3
    see SPRUHJ1 sec 6.8.1.2
    In the motor, if delta connected as opposed to Y connected, then a conversion from delta to Y needs to be
    done to set the resistance value. For example, if the delta Rs (delta) value is known to be 3 Ohms, the Rs
    (Y) value would be Rs (Y) = Rs (delta) / 3 = 1 Ohms.
  • good morning,

    I read the document and the century, but does not specify whether after division by 3 I get a value of Rs (Y) phase to neutral or phase to phase.

    I ask this because running the lab proj_lab02c, this gives me a value suggested by you of R and L of the phase to neutral, and I want to compare the values of the motor nameplate with those that returns me the script.

    Values of the motor plate / 3 and then I can compare with those that calculates the code proj_lab02c, correct?

    thank you
  • correct.
    Rs_Ohm returned by the motor ID function * 3 = Delta configuration nameplate

    should be in a similar range....but I often find nameplates +/- 20% from actual measured. One of the problems with just entering a static value into an algorithm! Important to have real values of that specific motor!!!
  • hello I doubt that I would like to solve, in order expose them:

    1 I tried as you told me putting
    USER_IQ_FULL_SCALE_VOLTAGE_V


    USER_IQ_FULL_SCALE_VOLTAGE_V    24

    USER_IQ_FULL_SCALE_VOLTAGE_V  12

    there are large differences in the movement and what changes only Ls, and possible?

    2 if i use 12 values are altered, to get the correct values have to be multiplied by 2 in the following line
    #define USER_VOLTAGE_SF ((float_t) ((USER_ADC_FULL_SCALE_VOLTAGE_V) / (USER_IQ_FULL_SCALE_VOLTAGE_V) * 2))?


    3 values of Rs and Ls that returns the code are incredibly identical to those reported in the motor plate as you can see, or there are errors or the code works, what should I do

    4
    I'm going on with the tutorial 3 A and B, but at this stage the engine runs and does not vary speed, which can cause?

    5
    my engine at low speeds below 300 rpm and torque-turn shots, I can stop by hand, I missed some configuration?

    5381.user.h

  • in your two images why are the gMotorVars.VdcBus_kv values different?  You should be running at the same bus voltage. 

  • these values are too high
    #define USER_MOTOR_RES_EST_CURRENT (20.0)
    #define USER_MOTOR_IND_EST_CURRENT (-20.0)

    try using
    #define USER_MOTOR_RES_EST_CURRENT (4.0)
    #define USER_MOTOR_IND_EST_CURRENT (-4.0)

    and only increase RES_EST if the motor doesn't start-up during RampUp state. And don't change IND_EST from -4.0


    You say your motor is 6 pole pairs. How do you know this? I don't see this in the datasheet.
  • also try a more reasonable
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (40.0)

    and I would use
    #define USER_PWM_FREQ_kHz (60.0)
    #define USER_NUM_CTRL_TICKS_PER_SPEED_TICK (20)
    #define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK (20)
  • ok in order

    1 will always use the car battery 12V what I've changed is the parameter USER_IQ_FULL_SCALE_VOLTAGE_V ()

    I put in the prim 24
    in the second 12
    this is because perpetrators lower the minimum value of v / hz that I have read.
    raginamento not know if this is correct, but I have probemi to run the engine at low speed below 250 rpm snaps much.

    changing this value also changes gMotorVars.VdcBus_kv values have to rescale
    #define USER_VOLTAGE_SF ((float_t) ((USER_ADC_FULL_SCALE_VOLTAGE_V) / (USER_IQ_FULL_SCALE_VOLTAGE_V)))
    dividing by 2 when I put 12 in USER_IQ_FULL_SCALE_VOLTAGE_V ()


    2
    I put different values of current incremental, but from a certain value then think about 8A then it changed nothing.

    in the datasheet there is 30 steps per revolution 360/30 = 12 positions I thought then 12 magnets and allora6 couples plars, right?

    I put 

    #define USER_MOTOR_FLUX_EST_FREQ_Hz (100.0)

    #define USER_PWM_FREQ_kHz (55.0)

    and these two do not know what they do and what does edit or increase or decrease low?
    #define USER_NUM_CTRL_TICKS_PER_SPEE

    D_TICK (20)
    #define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK (20)

    here is the updated user file I arrived at the lab 5, but I can not reach speeds above 3.5 krpm this engine reaches 5k, and I have some jerky motion at low speed as I can solve them?

    0447.user.h

  • "I put in the prim 24

    in the second 12"

    I have no idea what this means.

    don't change #define USER_VOLTAGE_SF

    don't add in your own /2 when you change the IQ_VOLTAGE. Why would you think to do that??

    if your bus voltage is 12V, simply set this to 12

    #define USER_IQ_FULL_SCALE_VOLTAGE_V      (12.0)

    I updated your user.h for you, but I can't figure out how to attach on this new e2e system...so frustrating.

  • thanks for the file user modified the tried and I think I will use your engine runs better at low speed.

    if I put
    #define USER_IQ_FULL_SCALE_VOLTAGE_V (12.0)

    as you can see the values that I read on

    gMotorVars.VdcBus_kV 0.024967134 and twice as must be why I said to divide by 2

    USER_VOLTAGE_SF ((float_t) ((USER_ADC_FULL_SCALE_VOLTAGE_V) / (USER_IQ_FULL_SCALE_VOLTAGE_V)))

    my problem now is in the extremes of speed, particularly below 200 rpm stutters ie crashes and then makes a turn and so always.

    as you can see from the screenshot instead the engine does not exceed 3.5 krpm although it can get up to 5 krpm thing which parameter must be configured to solve this problem?

  • do NOT change the scale factor!! It affects more than your bus reading. I don't understand why your bus would be reading 24 if it's actually 12...that doesn't make sense.....but do NOT change the #define for the scale factor in user.h!

    Low Speed:
    1. Tune your speed loop using proj_lab05b. If you struggle with this, use InstaSPIN-MOTION to tune the speed loop using 5c+. It makes it much easier.
    2. Low speed performance will be based on the Bemf voltage vs. the voltage scaling. Your Bemf is TINY. Your motor produces 0.016 V for every electrical Hz of speed. Your voltage scaling is 66V. You will NOT be able to run extremely slow with this motor.

    High Speed:
    1. default modulation is set to 1.0 You can get up to 33% more voltage to the motor by using over modulation in proj_lab10
  • hi Chris how are you fine i hope.

    right now i start to use another motor and i want to do all the projects lab in the motorware, for the first one you helped me a lot, but now i restart to have a problem after few months.

    i have reinstall everything
    c.c.s 6.1.1
    motorware_1_01_00_15
    compiler 6.4.9

    but i have the same board than before drv8301hc rev d with the F28069 card.

    i can compile, flash and execute but
    i can't run the motor, and i receive that error ind red (screenshot) and the parameter are complity wrong like vdc bus.

    what you suggest to do ?

    thanks

  • i don't think you imported and built the correct project for this board. recheck the path. it is board specific to drv8301evm_revd
  • hello cris,

    I copied the folder sw located in motorware in lab example in order to have this as a backup and work in lab example.

    This is the project that flash with its path does not see anything strange, but you can tell me.


    regards

    H

  • look at your project path, it uses "hvkit_rev1p1"

    didn't you say you are using the DRV8301-69M-KIT?
    use the projects at

    C:\ti\motorware\motorware_1_01_00_15\sw\solutions\instaspin_foc\boards\drv8301kit_revD\f28x\f2806xF\projects\ccs5