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.

DRV8884: Driving unipolar stepper motors

Part Number: DRV8884
Other Parts Discussed in Thread: DRV8847

I have an existing product using a motor driver from another vendor, but need to switch, and am considering the DRV8884 (or similar).  The main application is for small, bipolar stepper motors (~5V models), but there is a desire to drive 12V unipolar stepper motors also.  I have seen designs where this is done without changing the way the motor is wired (just changing the drive current and step rate).  That is, the common center tap on the unipolar motors is left open.  I have tested this, and it works, but it seems to me that it cannot be driving it optimally since (1) it is putting 12V across 2 coils in series instead of the intended single coil, and (2) the coil on the other side of the center tap is also being driven at the same time, although it is effectively driven with reverse polarity (+6V on 1 coil and -6V on the other).  I'm a little baffled at how this could work at all, but the real question is whether there is a better way to do it.  Specifically, shouldn't the center taps (from both sets of coils) be connected to the +12V supply?  A coil that is driven to 12V by the drv8884 chip is then effectively OFF, while the GND side coil has the full 12V across it, as intended.

Thanks,

Greg

  • Greg,

    By checking datasheet Figure 12, it works. But, I agree with you that may not be optimized by driving both side of the center tap.

    I am checking DRV8847 (www.ti.com/.../drv8847.pdf) to see if it can handle unipolar motor better because of its independent mode.
  • Wang,

    Thanks.  Are you referring to figure 12 of the drv8884 datasheet?  Perhaps we have different versions, but I didn't see anything there that would help.  I did look at the drv8847, and see that it is a bit more general (gives you more control), but I'm not sure that it helps because it doesn't (as far as I can tell) allow you to drive one side of the coil while the other side is high impedance.  There is also a concern for the number of control signals needed.

    Do you have any thoughts on my idea of connecting the center taps to Vm (motor voltage source - 12V in my case)?  In terms of the steady state it certainly looks right, but I'm uncertain of the secondary effects.  Specifically, if both ends of one half of a coil are effectively connected to Vm, wouldn't that act as a brake?  

    Thanks,

    Greg

  • Greg,

    Yes. I refer to figure 12 of the drv8884 datasheet. After consult our senior engineer, I understand it more. Now, we want to know do you have 6 wire unipolar motor or 5 wire unipolar motor (two center tap wires are connected together)?

    If you have 6 wire unipolar motor, the 12V connection is not needed. DRV8884 H-bridge outputs can be connected to the two coil terminals. It is like drive a single coil bipolar motor. Just two coils in series could have a high inductance.
    If 12V is added to 6 wire unipolar motor's center tap, the motor may work with full step setting and correct decay mode setting. If it is not full step setting, it is complicate and may not optimized.

    The 5 wire unipolar motor should not work.

    I agree with you DRV8847 independent mode needs more control signals.
  • Wang,

    The motor could be either 5 or 6 leads, but when it is 6 the 2 center taps are tied together, so it is effectively 5. They are always tied together because of a defacto standard we have to follow.

    We are using only full step mode, so that is not a problem, but I'm confused by some of your statements. In normal operation (normal for a bipolar motor, that is), both coils are always driven. Even though the polarity changes, both coils are driven with Vm on one side and GND on the other, so both center taps are at the same potential, or very nearly so, so it shouldn't matter if they are connected together or not. Likewise, you said that adding the Vm connection to the center taps of a 6 wire motor might work. But this connection is applied to both center taps, so they are connected together, effectively making it a 5 wire motor.

    When I get a chance I will test connecting the center taps to 12V supply.

    The other possibility is to find a driver chip that provides the flexibility to control all 4 switches in the H bridge, but as with the drv8847, this would require a much larger set of control signals.

    Regards,
    Greg
  • Greg,

    If you use full step setting and no coil current regulation, DRV8884 should work with both 5 wire or 6 wire unipolar motors.
  • Wang,

    I assume you mean that it should work if the center taps are left unconnected, right? And when you say "no coil current regulation" you mean that the reference voltage is set high enough that regulation is not triggered, so the full Vm (12V) is applied across each pair of coils, right? When the motor is not moving I would reduce the current to hold the position, so regulation would be used only then.

    You previously mentioned that my original assumption that driving a unipolar motor this way would not be optimal is probably correct. Is that still your opinion?

    Thanks,
    Greg
  • Greg,

    "I assume you mean that it should work if the center taps are left unconnected, right? "
    If you use full step setting and no coil current regulation, DRV8884 should work with both 5 wire or 6 wire unipolar motors. Doesn't matter of center taps are connected or not.

    "And when you say "no coil current regulation" you mean that the reference voltage is set high enough that regulation is not triggered, so the full Vm (12V) is applied across each pair of coils, right?"
    Yes. If running into current regulation mode, the decay mode kicks in which may give unexpected H-bridge FET control.

    "When the motor is not moving I would reduce the current to hold the position, so regulation would be used only then."
    In such case, both low side FETs could be turned on when the current reaches the regulation point and slow decay is selected. That may not be what you want. If not, the current regulation still need to be disable.

    "You previously mentioned that my original assumption that driving a unipolar motor this way would not be optimal is probably correct. Is that still your opinion?"
    The "hold position" case can tell us, it is not optimal. If you don't connect the 6 wire unipolar motor's center tap to 12V. It should be Ok.
  • Wang,

    Thanks.  I will proceed as you suggest.

    May I ask some other questions regarding the DRV8884?

    My current design (using a non-TI driver) uses a PWM output from the uP to control motor current.  Page 18 of the DRV8884 datasheet illustrates using a DAC or PWM (filtered) for the same purpose, and provides an equation to calculate motor current for given DAC/PWM voltage and RREF value.  However, in the case of the PWM it is not clear what impedance is needed in the divider network.  Since the series RREF value is part of the equation, the impedance of the voltage source must also matter.  When a DAC is used we can assume that the impedance is very low compared to RREF, but that is not necessarily the case with the PWM output.  Assuming a GPIO output that swings between 0 and 5 volts, what are the appropriate values for the divider network, R1 and R2?

    Also, I'm not sure what decay mode to use.  In my application the motor is idle most of the time, but a reduced current is applied to provide braking to hold the motor position.  Currently, I use only full step mode, but might want to use half step or smaller in the future.  Given these parameters, can you say which of the 4 possible decay modes would be best?

    Regards,

    Greg

  • Greg,

    Don't worry about RREF pin internal impedance because the Vrref is constant if the effective resistance is between 27 to 132 kΩ. Please use Kirchhoff laws to get the effective external resistance And assume the resistor network is linear system; C1 can filter out the ripple between R1 and R2, use Kirchhoff laws to calculate out the voltage between R1 and R2.

    If you want the 5 lead unipolar stepper motors always work, we don't have other choice: please use full step setting and no coil current regulation. Since no coil current regulation, we don't worry about the decay mode.