Electronic Design

Bidirectional H-Bridge DC-Motor Motion Controller

In applications requiring absolute accuracy in the speed control of dc servo motors, there’s no substitute for the traditional tachometer-based feedback loop. But for somewhat less demanding situations, adequate accuracy often can be achieved without the complication and expense of a tach. This can be done by taking advantage of the built-in electromechanical constants of the motor itself.

For example, the fact that every permanent-magnet dc motor exhibits a stable relationship between rpm and armature back-EMF implies that a reasonable job of constant-speed operation can be accomplished merely by driving the motor from a well-regulated voltage supply.

Even better speed regulation, sometimes rivaling tachometer feedback, can be achieved by adding armature current to the motor drive voltage. If this term is trimmed to accurately cancel armature resistance equal to motor-rated-voltage/lockedrotor-stall-current, the motor rpm will remain nearly constant over a wide range of loads. Although armature resistance cancellation via positive current feedback is hardly a new idea, the circuit described here gives it a novel twist by combining this trick with a motion-reversing H-bridge circuit topology (see the figure).

The circuit works as follows: A speed-setpoint control voltage is produced by multi-turn precision potentiometer R3, acting in concert with VR1’s 1.25-V reference voltage. The resulting 0-0.75 V is scaled by a factor of 16 by op-amp A1 to produce a 0-12 V no-load M1 target armature voltage.

Speed-stabilizing, current-proportional positive feedback comes from current-sensing R1, is attenuated by R2, and summed by A1 with the speed-setpoint voltage. Optimum adjustment of R2 can produce almost perfect cancellation of M1’s parasitic resistance, resulting in a very “stiff” torque-versus-rpm characteristic. Motor speed-control performance will therefore be nearly independent of mechanical loading up to the voltage limit of the drive circuit.

The regulation of the motor drive in response to the composite control signal output by A1 (speed-setpoint plus current-feedback) is the job of either differential amplifier A3 or A4. It depends on the desired motordrive polarity and consequent direction of rotation as indicated by the state of direction-control flip-flop A2. For positive (clockwise) rotation, A2’s output is low and A4 is in control. This occurs because A3’s low output turns on Q3, which pulls Q5’s gate high, grounding the negative M1 connection via R1. Meanwhile, the same Q3 voltage applied to A3’s positive input causes A3 to rail Q6’s gate positive, holding the p-channel FET off. This prevents the possibility of “shoot-through” conduction between Q5 and Q6. A4 then can accurately sense, via the R5-R6-R7-R8-R9 differential network, the voltage applied to M1 and regulate it via power MOSFET Q4.

Thus, M1 is forced to run at the speed set by R2 until optical retrosensor E2/Q2 senses the arrival of the mechanical load at its clockwise limit. Light reflected into Q2 results in conduction, which overcomes the detection threshold set by feedback pot R4.This pulls A2’s positive input high and toggles the state of the directioncontrol flip-flop. The resulting positive excursion of A2’s output turns on Q7 and forward-biases D1, disabling the A4/Q4 control loop.

Meanwhile, Q3 turns off, releasing Q5 and A3. This results in reversal the motor drive polarity and the initiation of speed-regulated counterclockwise motion. The motor will now continue to run counterclockwise until retro-sensor E1/Q1 senses the arrival of the mechanical load at the counterclockwise limit. Bridge polarity will consequently toggle again, causing the motor to reverse again and so forth ad infinitum (or at least until power is removed!).

Related Articles:

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish