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-HC-C2-KIT: InstaSpin BLDC motor starting problem

Part Number: DRV8301-HC-C2-KIT
Other Parts Discussed in Thread: INSTASPIN-BLDC, DRV8301

I'm unable to start my motor using the DRV8301-HC-C2 kit Rev D and CC2803x ISO DIMM Rev 1.3 control card.  I'm using CCS 6.2 and latest control suite install.

The motor is KDE600XF-530-G3 which is 10 Pole.
I'm using 50V power supply supply limited to 6 amps but have a huge capacitor which will supply startup current no problem..

10 Poles and 15k RPM led me to adjust the Vph filter value.  I removed the 0.1uF and added a 0.018uF capacitors that put the filter at 1864Hz.
The voltage and current sense circuits should be ok with stock values.
I can't find the software variable in the project you're supposed to change like mentioned in the user guides.  Any ideas where USER_VOLTAGE_FILTER_POLE_Hz is? 

I went through the labs etc.  Loaded the code and adjusted  flux threshold to no avail.  I tried different control modes.  I finally used very long startup ramp times and it will stay on at 100 RPM with advanced startup enabled but you can't adjust duty cycle with the dial.

What am I missing? The pole count can't be selected as 10, i thought that only mattered for RPM feedback?
I've noticed many of the documents don't really match the current state of the projects.  Are you supposed to use BLDC_GUI project or just BLDC project that comes with control suite?  One has all the motor parameters commented out.  The other doesn't.  

Thanks!

  • What PWM frequency is using in your project? You need to use lab02b/lab02c to identify correct motor parameters first, and then run other labs with setting accurate motor parameters in user.h.
  • This isn't an InstaSpin FOC project so I'm not using the labs.  I'm using the older InstaSpin BLDC so they only have one project to play with.  No motor identification steps other than resistance and inductance but you don't really even need that just to spin it at some nominal RPM.

  • i tried another hobby motor with lower kV. In the 295kV range and that worked. Why won't the 500kV motor work? Anyone? Chris Clearman????
  • Tyson,
    your original question has words that mid InstaSPIN-FOC and InstaSPIN-BLDC

    if you are using IntsaSPIN-BLDC, the higher the current motor the tougher it's going to be to just commutate the motor. This is because the short circuit current of your motor is so large that it is over-currenting the DRV8301 driver. You will have to better control the current to get this to work, and may need to use a wider current range on your hardware design.

    InstaSPIN-FOC will work much better for this motor, and will give you better performance much more quickly.
  • Thank you Chris, Sorry for the confusion in the initial question. The intent was to use the simplest control algorithms for the best results. I thought that meant InstaSpin BLDC because the Gui was so simple to use. I do notice the fault LED lights everytime i try to startup but since there's no indication what that fault could be I wasn't sure.
    I assumed since the dev kit max current was perfectly matched for the motor then it wouldn't have over current startup issues. That's not the case I suppose. Is there a setting I can adjust on the board to alleviate that? Dig into the 8301 datasheet probably?

    I was hesitant to get into FOC because of all the reading I'd done and the various gotchas involved spinning a motor with that as well under all conditions in a system.
  • the max continuous current of the kit will be much lower than the peak currents seen in a motor that is rated for the continuous current of the kit. especially with a low inductance motor and BLDC switching.

    it will be challenging to get this working on the kit (both HW and SW perspective)

    InstaSPIN-FOC has a learning curve at time 0 -and then certainly is advanced in getting it to production (embedded software driven power electronics) as it is not an ASIC or Arduino type of hobby solution - but once you go through the motor ID process a couple times and realize it's actually very few things you are changing in the user.h, it is very quick and ID, run, and control new motors.

    I just helped an FAE yesterday who has only an analog background and was overwhelmed. By the end he was comfortable at running the projects and demo'-ing the capability on new motors.
  • Thank you Chris for the help. I'll start looking into FOC / Motion. I have a 28069M control card I can start using.
  • I finally solved the original problem. Could be useful info for others using InstaSpin BLDC
    The GUI gives you no indication of fault conditions other than one happened. I noticed it always faulting but assumed that was a "didn't startup error"

    Digging into DRV8301 datasheet about the protection modes yielded some interesting info and settings over the SPI bus
    Read 7.3.4.1 Overcurrent Protection and Reporting (OCP) of the datasheet
    You can go into a latched over current mode that requires a SPI read to reset. That must be what the reset button does in the GUI.
    I noticed another mode of interest called current limit which just limits the current through the phase instead of shutting down.

    Now how to change the chip to that mode?

    I looked through the code and finally found the file that sets these modes and it was VERY easy to change. Comment out one line and comment in another line already there!

    BLDC_Int_GUI_DRV83xx.c
    comment line 564 - DRV8301_cntrl_reg1.bit.OC_MODE = 1; // latched OC shutdown
    uncomment line 563 - DRV8301_cntrl_reg1.bit.OC_MODE = 0; // current limiting when OC detected
    This changes to mode to current limiting

    Recompile and run in realtime mode and the motor started up every time once I tweaked the flux threshold low enough.
  • thanks for posting this tip!