Problem in Building the project of DRV8312 Stellaris kit

Hi,

I have the Stellaris DK-LM3S-DRV8312 Kit and I am building it. The problem is when I reach level 7, i got a probelm which is the motor starts spinning then the fault LED goes on!! I read in the forum someone asked the same question but with no answer. Please Help!

Thanks,

Ahmad

  • I think you are over currenting with your motor

    try upping this

    	else if(BUILDLEVEL == 7)
    RampDelay = 25;
    
    
    Is this a very small, high current motor with high inductance?
  • In reply to ChrisClearman:

    Chris,

    I am using the motor attached with the kit itself.

    I have a question. when I build level 6 or 7, if I want to change the SpeedRef or DFuncStartup, there is a relationship between the Speed RPM and these variables as an equation or so? Can I know where can I find it??

    Correct me if I am wrong. RMP3 is used for first when Enabling the flag, then changing the speed controlled by RMP.

    Thanks,

    Ahmad

  • In reply to Ahmed Yousif:

    Chris,

    The motor is NEMA17 with 8 poles, with 1.2 mH inductance

    Here is the datasheet.

    Ahmed4540.nema17.pdf

  • In reply to Ahmed Yousif:

    Ahmed,

    I'll try to build this myself with HW tomorrow.

    As for relationship:

    Speed RPM = (Max speed used for scaling in Hz * Speed per unit) * 120 / # poles

    DFuncStartup = duty cycle of PWM during start-up.  The average of this duty cycle will correlate to an average voltage applied to the motor which can roughly equate to a % of max unloaded speed of the motor.

    RMP3 controller is used at startup to control the "open loop / stepper" ramp rate and time (by setting an end target speed) to get the motor turning before you close the commutation loop with InstaSPIN-BLDC.

  • In reply to ChrisClearman:

    Chris,

    It iw working now after i changed the Kp and Ki of the speed. Try it and you will see that the Kp and Ki values are too high.

    Ahmed

  • In reply to Ahmed Yousif:

    Chris,

    My Kp and Ki values are 0.75 and T/4.2 respectively.

    My End Rpm is 60 only from settings.h

    Rampdelay is 1

    Thank you for your help.

    Ahmed

  • In reply to Ahmed Yousif:

    Hi Chris,

    I am having another problem. I am trying the InstaSpin SandStorm GUI on the Cascade mode, i enabke the motor on a speed of 0.3 PU. I am trying to stop the motor by changing the speed to 0 PU but then I get an error. I know that when the speed is zero then all three phases must be ON to stop the rotor of the motor.

    Another question is, i saw in the GUI that the speed Ki is 3 but how can I change it to  IQ PU?? because i want to use it in the build level program.

    Thanks,

    Ahmed

  • In reply to Ahmed Yousif:

    it depends on what the PI controllers of your speed and current loops are tuned to.

    look at the outputs of the two PI controllers.

    Are you getting a fault from the DRV chip?  Moving fast from one duty cycle to 0 is probably the culprit as it can cause over current issues depending on your motor. You need to ramp these down.

  • In reply to ChrisClearman:

    Chris,

    I didn't change the values of the GUI comes with the kit.

    The fault is coming from the DRV as the red led turns on. I am running the motor on 1500 RPM = 0.5 PU and then I turn off the motor by putting the speed to zero. The motor vibrates a bit then I have the error. Should I change the PI parameters for the current (i.e. torque) ??

    In the build level program I changed the PI parameters and my response is fine but I have a very little vibrations at the beginning and have the same problem with 0 rpm.

    In my program, the ramp delay is 1, the currentstartup, DFuncstartup are IQ(0.1). I increased the gain of the speed, and decreased the integrator. I changed the current integrator parameters a bit because I think the vibration problem comes from high torque (i.e. High current).

    I hope you can help me.

    Ahmed

  • In reply to Ahmed Yousif:

    setting the speed to 0 doesn't turn off the motor, it just sets a speed ref command of 0 to the input of the speed PI regulator.  Remember that your control loop is stil running, and especially if you have a cascade current loop that current loop will be getting a command from the speed loop to apply negative torque to try to drive it to 0 speed.  And then even when you are close to 0 speed, any variance away from a 0 speed estimation will produce a torque command to the current loop (depending on how aggressive your PI controllers are tuned)

    what are you using for your power supply?  one thought is that at high speed when you stop driving the motor it becomes a generator and puts power back onto the bus.  This could cause an issue with your power supply, which could cause an issue with the DRV. 

    did you try using the DRV8301 SPI commands to see which fault was set?