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.

Level 6 PM sensorless trials with DRV8301 kit

Expert 1800 points

Other Parts Discussed in Thread: DRV8301, CONTROLSUITE

Hi,

Using DRV8301 kit and PM sensorless code level 6.

I have a problem.  The motor runs smoothly with Isw=1 (closed loop) but it stops the moment I change the Isw to 2 (speed loop).  Tried rotating the speed control knob (DRV8301 HC kit) with no improvement. 

On studying the schematics of the kit the speed control knob is connected to ADC B0.  But is not used in the code and its not initialised too. 

Please suggest how to resolve this.

thx

  • what motor are you using?

    how did it run in level 5?

    Are you on 6A or 6B?  I always recommend 6B - tuning SMO and the current with a fixed Iq ref (make sure you load the motor) is easier.

    correct, the SW we provide does not use the HW knob

  • Hi Chris,

    Pl find below the info requested.

    1) The motor is a customer motor with 40 poles.

    2) I did not try Level 5 as I OK with sensored PMSM i.e., level 6A would do.

    3) I am on 6A level.

    You tmentioned the HW knob is not interfaced, but actually the speedcontrol should be done thru' the knob i.e., similar to automotive app.  How would you recommend the next steps.

    Please review & suggest.

    Thx

  • what did you do to check QEP functionality with your sensor?

    the knob is on the board, we don't use the knob in the example code we provide.  you can certainly add that as needed. we tend to stay digital, doing setpoints through GUI UART or JTAG directly to a memory address/variable.

     

  • Hi Chris,

    I could run Level 5 successfully.  the estimated speed w.r.t to reference speed is within15% while the encoder i.e., speed1.speed is within 0.5%. 

    I am still unable to run the motor in level 6, Isw=2 closed loop while there is no issue with Isw=1.  Could you please suggest how to sort this.

    Q) what did you do to check QEP functionality with your sensor?

    I checked the functionality of QEP in watch window i.e., speed1.speed & speed1.baserpm etc.

    Pl suggest.

    thx

  • there is a disconnect between your rmp_out and SMO Theta.  Your SMO needs to be further tuned until they are synchronized.

    from step 5

    Set lsw to 1. Now the motor is running close to reference speed. Compare smo1.Theta with rg1.Out via
    PWMDAC with external low-pass filter and an oscilloscope. They should be identical with a small phase
    shift.
    If smo1.Theta does not give the sawtooth waveform, the Kslide and Kslf inside the sliding mode
    observer are required to be re-tuned.

  • I just received the DRV8301-HC-C2 developement kit and I've messed around with the initial program loaded in the flash (6-step) but I am more interested in FOC.  The HowToRunGuide instructions are a little confusing.  Do I build each of the 7 levels individually and the run the debug after all 7 rebuilds or do I debug and run after each individual level?  I've tried both and couldn't get my motor to turn or get the program to continuously run.  The program seems to stop approx. 1/2 second after I push the run button and nothing updates on the graph or watch window.

    Also, do I need the serial to be connected to run the PM_Sensorless program?  Is there an output file for this program available anywhere to load into flash like the 2 other sample programs?  I know I've thrown a lot of questions out but if you could point me in the right direction, i'd appreciate it.

  • How to you tune the kslide and kslf.  I only see there parameters in one spot in the software.

    smo1.Kslide = _IQ(0.15);

    smo1.Kslf = _IQ(0.1);

     

    Also, where is VOLT_MACRO located in the project.  In level 2, it says to change one of the variables to 1 if needed but I was not able to locate VOLT_MACRO

  • Kelly Meemken said:

    How to you tune the kslide and kslf.  I only see there parameters in one spot in the software.

    smo1.Kslide = _IQ(0.15);

    smo1.Kslf = _IQ(0.1);

    The documentation in the .\DRV830x-HC-C2-KIT_v104\PM_Sensorless\~Doc has some information in the Level 5 Incremental Build section on the process for tuning Kslide and Kslf.

     

    Kelly Meemken said:

    Also, where is VOLT_MACRO located in the project.  In level 2, it says to change one of the variables to 1 if needed but I was not able to locate VOLT_MACRO

    <CONTROLSUITE_INSTALL_DIR>\libs\app_libs\motor_control\math_blocks\v3.1\volt_calc.h

  • hi Iam using drv8301 development kit(f28035) with sensor less FOC technique for speed control application. I tried with a motor having winding resistance 0.9 ohm.After tuning gains Iam able to rotate in all levels without any problems. But when I tried with a different motor having winding resistance 0.1 ohm, Iam facing a problem when shifting from lsw = 1 to 2 in level 6.The motor just halts. I updated the winding resistance and number of poles.Still the same issue. Anybody please help me..
  • Nikhil,

    lower resistance means higher short circuit current, means larger current ripple. What did you change in your current controller?  Did you increase your PWM frequency? What is your motor inductance?

    You may want to look at using TMDSCNCD28069MISO controlCARD with your DRV8301 kit so you can try InstaSPIN-FOC and InstaSPIN-MOTION.  They allow you to ID your motor parameters, auto tune the current loop, and let you tune the speed loop quite rapidly.

     

  • Hi Chris, I didn't change much in current controller.I only adjusted the gains and IqRef. I tried with changing PWM frequency,but same response.Unfortunately I don't know the inductance of motor.I didn't change the default inductance value. I don't have TMDSCNCD28069MISO control card with me.I prefer to go with what I have.When I checked the current waveform,it is not clear sine wave. I tried by commenting smo1.Theta passing to Park angle when lsw =2. I changed it as park angle = rg1.out. Then lsw = 2 works same as lsw =1. So is halting caused due to wrong smo1.Theta? smo1.Theta looks like sawtooth only. Regards Nikhil
  • Nikhil,

    it's hard to say. If you don't know if you are using the actual motor parameters (you don't know inductance) then you can't say if the SMO module (which is based on a motor model which requires accurate parameters) is giving the correct angle estimation. That's the first problem to solve.

    The second would be looking at the PWM & current control.

    Again, if you don't have experience doing this it is very challenging, hence why we created InstaSPIN-FOC which solves these problems for you.