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.

DRV10970: Motor Speed Control using Direction Control(FR) pin

Part Number: DRV10970

I am using DRV10970 for precision speed control of a three phase BLDC motor (FaullHauber 2610B). The motor has the following specifications:

 

Motor Torque Constant: 8.8 mNm/A

Rotor Inertia: 7.9 gcm^2

Phase to phase Resistance: 6.97 ohm

Phase to phase Inductance: 486 uH

 

The voltage provided to the driver is 5V and the exact configuration can be seen in the schematic attached.

Current Limit : 100mA

Retry Time = 250ms

 

Fig. 1: Schematic of DRV 10970

During our preliminary testing, it was observed that if we toggle FR (Direction Reversal) pin when the motor was running braked instantly (Dynamic Braking). According to the datasheet, the driver should brake the motor based on the BRKMOD setting and then reverse direction which we were able to observe correctly.

We intend an extended use of the FR pin for speed control since the PWM has a resolution of 0.4% duty cycle and has a deadband in the region +-10% duty cycle. We were planning to overcome this limitation by applying either a 100% or a floating voltage to PWM pin and applying a PWM signal to the FR pin to modulate motor speed keeping the BRKMOD to dynamic braking. Plan was to achieve low motor rpm and fine control by toggling FR at a suitable frequency like a Class-A chopper. We attempted the same at a wide range of frequencies, 100Hz to 50kHz. At 100 Hz the motor didn’t respond to duty cycles above 0 and 100%, effectively in high and low states for FR. At higher frequencies, the RPM stayed constant in one direction from duty cycles 0 to 30(for 50 KHz) and in other direction from a Duty Cycle of 70 to 100 but didn’t respond in the intermediate range.

 


Fig.2: 50 KHz – 10 DC at FR

Fig.3: Hall switching Frequency with FR at 10% DC

Fig 4. 50 KHz – 70 DC at FR

Fig.5: Hall Switching Frequency with FR at 70% DC

Fig.6: 50 KHz-90%DC on FR

Fig.7: Hall Switching Frequency with FR at 90% DC

 

 

In our actual system, a flywheel of significantly higher MOI than the rotor would be attached to the motor shaft and any ripple in the rpm due to the toggling would be significantly reduced. Could you guide or point to what we did wrong, or if we cannot use FR for such implementations?

  • Hey Avish,

    If my understanding is correct, you are changing FR pin direction so that you can drive and brake repeatedly to get lower speed operation. Are you not able to get the lower speed operation through PWM duty cycle? To make sure you have constant speed you can use the FG pin.

    sincerely,
    Sanmesh U.
  • "We intend an extended use of the FR pin for speed control since the PWM has a resolution of 0.4% duty cycle and has a deadband in the region +-10% duty cycle". We don't want this deadband and require full control over the entire speed range from +5000 to -5000 rpm.

    I did not get this part "To make sure you have constant speed you can use the FG pin."

    Thanks,

    Avish

  • Hi Sanmesh,

    Reference for PWM resolution : e2e.ti.com/.../2837508

    Reference for the deadband of operation

     

    Waiting for your reply.

    Thanks and Regards,

    Avish

  • Hey Avish,

    Thanks for the clarification on deadband. My understanding is you are trying to go to speeds below ones you can achieve with the minimum 10% duty cycle by alternating between braking and spinning the motor through putting a pwm signal on the FR pin.

    1) The DRV10970 FR pin wasn't made to continuously oscillate between directions so we dont have application information for this. I can go over my concerns, but I think there is an easier alternative if you just want to alternate between spinning and braking. On the PWM input pin, you can alternate between pwming the min 10% and GNDing the pin to brake. Let me know if this solution works for you.

    2) I want to clarify the problems you are having.

      a) You say "At 100 Hz the motor didn’t respond to duty cycles above 0 and 100%, effectively in high and low states for FR.". im confused when you say duty cycles ABOVE 0% and 100% as there is no duty cycle above 100%. Did you mean motor didnt respond when FR pin is completely 0% pwm or 100% pwm?

      b) You say "At higher frequencies, the RPM stayed constant in one direction from duty cycles 0 to 30(for 50 KHz) and in other direction from a Duty Cycle of 70 to 100 but didn’t respond in the intermediate range.". When you say the motor didnt respond, does it mean it didnt move?

    3) It could be that for the motor with the flywheel load, the motor wont even start to spin with less than 10% duty cycle because of the load torque, so maybe it is not worth looking into gettings speeds lower than the ones you can with 10% duty cycle. I would recommend testing this.

    Let me know if this helps.

    Sincerely,

          Sanmesh U.

  • Hi Sanmesh,

    Thanks for your reply,

    Replying in reference to the order of concerns raised by you

    1) We did try a pwm of a pwm and it works fine. We were able to achieve as low as 0.25% effective speed with that. The only problem is the number of resources required by such a solution. We require two hardware timers on a micro-controller, one for the high frequency pwm and another for the low frequency envelope. Assigning 3 timer resources(2 for PWM + 1 for measurement) for speed control is not feasible for us. We'll still brainstorm a workaround to wrap it up using 2 timers. A possible solution maybe toggling between 100% and 0% at frequencies like 50-200Hz but probably risk hitting the current limit . Do suggest an alternate solution if you have something in mind.

    2)
    a) Apologies for that vague description. I meant motor only rotates at 0 and 100 PWM. At any other PWM motor doesn't rotate.
    b) And at 50 KHz, the line "motor doesn't respond" means that motor doesn't rotate

    3) We're yet to test with the flywheel attached. We were carrying out tests to check our speed control schemes and circuit layout now. I do understand your concerns on motor startup, but it will be mitigated when operating in closed loop. That's what my understanding is.

    Thanks and regards,
    Avish

  • Hey Avish,

    Let me think about this and get back to you. My quick comments are:

    1)
    a) When you say "A possible solution maybe toggling between 100% and 0% at frequencies like 50-200Hz but probably risk hitting the current limit", you can stop overcurrent limit from stopping the motor by using the cycle-by-cycle current limiting feature controlled through the CS pin so that the pwm duty is automatically moderated such that current doesnt exceed a threshold.

    b) lowering your Vcc voltage will also allow you to go to lower speeds at the 10% minimum duty cycle.

    3) Regarding "We're yet to test with the flywheel attached. We were carrying out tests to check our speed control schemes and circuit layout now. I do understand your concerns on motor startup, but it will be mitigated when operating in closed loop.", even in closed loop, having duty less than 10% might not be enough to spin the motor sufficiently so maybe it is not worth looking into gettings speeds lower than the ones you can with 10% duty cycle. Its just a suggestion to check this.

    Sincerely,
    Sanmesh U.

  • I accidentally clicked the resolved button, apologies for that. You can click unresolved, unless you were able to figure out a solution or one of my previous suggestions helped. Let me think about this further and get back to you. 

  • Hi Sanmesh,

    Thanks for your reply,
    Replying in reference to the order of concerns raised by you

    1) I have a few Oscilloscope captures of the CS pin voltage.

    At 50%pwm input

    At 100% pwm input; it hits the hard limit of 1.5V and then shuts down for 2ms. The motor used to vibrate like anything during this particular case

    2) I'm already operating at 5V Vm, can't go lower or else I would end up hitting the UVLO threshold.

    3) I will attempt testing that once the flywheel is mounted which should be in a day or two.

    The problem statement still remains the same, we're unable to figure out why continuously toggling FR won't give us a speed control mechanism. Can you check with the state machine related to the FR pin and convey if something like that is possible or not. Not asking for any practical verification from your end, just wanted to know if its a limitation built into the silicon itself.


    Thanks and Regards,
    Avish

  • 1) The concerns I have with FR are when you switch FR once, the device should technically brake, then take tLOCK_EX time before reversing the direction. I dont know how long it should respond to toggling FR rapidly.
    2) Let me comment on the CS pin tomorrow.
  • I have verified on bench that when changing FR pin, regardless of the times you toggle FR pin, the device always enters brkmod, waits until motor stops, waits Cretry time, then starts the motor according to FR pin direction. Since the motor always goes back to zero speed before restarting when toggling FR pin, I dont think you can use FR pin to modulate speed. You will have to use the pwm pin method to get low speed I believe.
  • Sanmesh Udhayakumar said:
    I have verified on bench that when changing FR pin, regardless of the times you toggle FR pin, the device always enters brkmod, waits until motor stops, waits Cretry time, then starts the motor according to FR pin direction. Since the motor always goes back to zero speed before restarting when toggling FR pin, I dont think you can use FR pin to modulate speed. You will have to use the pwm pin method to get low speed I believe.

    Thanks for the explanation. I guess I'll have to play around with the PWM pin only. Thanks for your help.