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 speed limitation

Other Parts Discussed in Thread: DRV8301, INSTASPIN-BLDC, DRV8312, MOTORWARE

Hi,

I will try to describe my problem,
I'm working with the drv8301 -HC-C2-KIT and runnig a U8 motor that can reach up to speed of 3000 RPM.
For some reason i can't rotate the motor faster than 1000 rpm with the instaspin gui.
Iv'e tried changing the speed with all of the control methods. The motor exerts the right voltage and current by the U8 spec sheet and yet it does not pass 1000 rpm no matter how much current or voltage it exerts.
Are there additional things u know of the we can try to fix the problem?

Thanks!!

  • how do you know it's really at 1000 RPM? Do you have the correct poles set in the InstaSPIN-BLDC GUI? All the estimations are done in Hz, and it is the # of poles which calculates an RPM. If your poles are wrong the estimated RPM will be wrong.
  • Hi Chris,

    We know its 1000 RPM because we have measured the speed with a tachometer.
    Also we are sure it's the right number of poles and we ran the motor with a hobbyking and it worked just fine and got us up to 3000 RPM.
    Is there anything else we can check?
  • the Bemf voltage sensing on the DRV8301 EVM has a low filter pole (~350 Hz) because it is required for operation with InstaSPIN-FOC. For InstaSPIN-BLDC with high speed motors you will need to increase this pole to greater than your maximum required speed. I'd try raising to about 1.5 KHz or so.
  • hi Chris.
    if I understood you correctly, I set the poles and freq. in the GUI (see attached photo).
    I can get to 1200RPM now, but when I hit 1200 rpm, it won't go faster, just exert more current.
    in velocity mode, after 1200 RPM when trying to increase speed, the GUI returns a fault.
    Is this what you meant? if so, is there anything else we can do / look for?
    thanks,
    Nadav
  • my last post was about changing the hardware. The phase voltage sensing circuits on the EVM have a pole created at about 350 Hz. As I mentioned, this is used for the observer technique in InstaSPIN-FOC. If using InstaSPIN-BLDC and trying to run your motor faster, you need to increase the pole of this filter to be larger than the frequency of your machine.

    Is your machine really 36 poles?

    1200 RPM * 36 poles / 120 = 360 Hz, right about the limit of the hardware pole of the voltage sensing.

    Increase this pole by changing the capacitor in these circuits.
  • Regarding the poles: 
    a. The gui speed reading and my external tachomter readings are the same.
    b. We counted 36 poles and spec says so also..

    Before tinkering with the hardware is there any software adjusment we can make? (because I also intend to run BLDC-FOC on the same evm)

    thanks! (=

  • I'm pretty sure this is the problem.

    Can you skip ahead to InstaSPIN-FOC and verify proper operation first? -FOC is a much easier to use and better control technique anyways....
  • I'm just about to order the FOC piccolo so it will take a few weeks until i could try it /:
    In mean time can you address me to where i can learn the transfer function and its connection to the capacitor (and which capacitor)?
    Or is it possible to explain it through this forum?

    Thank u!

  • The DRV8312 (and DRV8301/2) hardware are also built for our FOC techniques which rely on specific filtering of the phase voltage signals
    This phase voltage filtering is a NEGATIVE for InstaSPIN-BLDC

    For many motors it will never be noticed
    For smaller, lower inductance motors at HIGH SPEED (~15kRPM+) it will matter (and limit max RPM)

    Also note that these types of motors typically require VERY low Vth values, be sure to use small Vth values at start-up
    If it is a high current motor you will also probably benefit from using the Advanced Start-up features

    By changing the capacitors to 10nF you will see an immediate improvement in performance
    DRV8312: C50, 55, 56; Currently 47nF, change to 10nF
    DRV830x: C67, C68, C69; Currently 100nF, change to 10nF

    regarding the equation for calculating the pole, you can see SPRUHJ1 chapter 5.2.4
  • First of all thank u again for a great support.
    I tried a motor with less poles and it worked perfectly so I now know it's definitely the hardware filter.

    I saw in the chapter (5.2.4) that the filter is defined: " #define USER_VOLTAGE_FILTER_POLE_Hz (714.15) ".
    So After changing the capacitors is there a change in code I need to do? or does changing the "base frequency value" inside the GUI is enough?
     

    Thanks,
    Nadav.

  • Could I use the capacitors C67,C68,C69 with values of 10nF and still get results from the FOC?
    I'm trying to think of a common ground regarding the capacitors values, working with INSTASPIN and the FOC on the same board and still get reasonable performance?
  • Chapter 5.2.4 refers to two things
    1. the general calculation for the voltage filter pole
    2. where to update this in software for the InstaSPIN-FOC solution in MotorWare. You need to do this as we compensate for this pole inside the algorithms.

    since you are testing InstaSPIN-BLDC there are no software changes to make. There is no compensation done for this pole.
  • "Could I use the capacitors C67,C68,C69 with values of 10nF and still get results from the FOC?"
    No you can not. This will set the pole for FOC too high. The larger the pole used in the FOC solution the more any error in the real pole values will effect the algorithm. For the FOCs solution it is actually best to keep between 200-500 Hz. Over 500 Hz you will start to see more instability introduced into the estimations from FAST.

    It doesn't mean it won't work (the DRV8312 kit has a too high pole of 714 Hz) but it diminishes the estimations a bit.

    I haven't done the calculation with 10nF caps....what is the pole? If it's around 1 KHz you can give it a try for testing purposes (change the value in user.h) but certainly don't design your end product with this high of a pole.
  • Hi Chris,
    As to your question our calculation yields a pole around 3.3Khz (same Req  =4.4kohm,, c=10nF}.. 
    a pole at half that frequency should be enough for us, and BLDC should work OK (correct me if i'm wrong), the the pole is too high for FOC, even at 1.5-1.8Khz.
    Our  lab team want to try and work with FOC despite the limitations and see if we can get more flight time with FOC compared to BLDC (our motor should propel a quad-copter type craft), so I would appreciate your input on the following questions:
    1. They had a suggestion to set the caps to 10nF  (or caps that will bring the pole to 1.5-1.8Khz) and try to implement an application IIR filter before the FAST estimator, thus the signal that enters the estimator / observer will will be filtered, but we could spin the motor faster (we need to reach about 4000rpm). is that idea feasible ? meaning, could the analog filter with a pole @3.3Khz / 1.5-1.5Khz have any other negative effects on functionality / performance of the FOC solution?
    2. Regading the FOC-FAST estimator - the specs mention 60usec as the FOC calculation time, is this figure accurate? how many clock cycles the field orientation calculation takes?
    Can you provide any other ideas for spinning our 36 pole motor @4000rpm with FOC? can it be done at all?
    As usual, I am most grateful for your response and helpful replies.
  • 1. No, do not do this. We can not handle the delay of the signal in our system. It is critical to filter with a known pole, and best to keep it below 500 Hz. Recall that there is a limitation that the USER_IQ_FULL_SCALE_FREQUENCY_Hz <= Pole * 4. And this full scale frequency is typically > your maximum rotor frequency, but it can be set to a value < 2 * maximum rotor frequency. For 36 poles @ 4KRPM that's 1200 Hz. So a filter pole of ~350 Hz will be nice for InstaSPIN-FOC
    2. all of the CPU cycles are documented in the TRMs for each device. Ex: www.ti.com/.../spruhi9 see chapter 8


    "Can you provide any other ideas for spinning our 36 pole motor @4000rpm with FOC? can it be done at all?"

    Absolutely! 100% guaranteed! This will work with no problems. I've spun many similar and we have products in production.

    "and see if we can get more flight time with FOC compared to BLDC (our motor should propel a quad-copter type craft), "

    The answer is you will, but it will probably be 5-10% increase in time. Customer did some bench testing and calculated about 15%, but once averaged over real flying (dynamics where FOC gets increases, but holding speed where the gains diminish) it dropped. There are additional benefits to FOC regarding lowered harmonics, emissions, etc. but the main advantage is just better dynamics. Faster acceel/decal and response to external loads, etc.

    For high performance flying InstaSPIN-FOC is certainly the premium solution.