I have a servo controller that outputs a +-10 V velocity command for a motor. How can I take this signal and turn it into a pair of PWM outputs to drive an H-bridge?

A value of 0 to 10 V will control duty cycle on the forward output, and a value 0 to -10 V will control the duty cycle on the reverse output.

  • \$\begingroup\$ you could feed it to a class D amplifier. \$\endgroup\$
    – Jasen
    Jan 20 '20 at 1:13
  • \$\begingroup\$ You need to do a lot more than Class D \$\endgroup\$ Jan 20 '20 at 4:59


simulate this circuit – Schematic created using CircuitLab

Using a CMOS full bridge with Vcc logic level inputs for direction and PWM speed control ( no load speed = kV/RPM)

These open collector hi-speed comparators perform the offset and gain control to convert the analog +/-10V Velocity control to high speed logic level Direction on HI drive and 0~100% PWM on LO drive using Vcc logic levels into a full CMOS bridge.

Careful R Ratios were designed to balance and get as close to 0 and 100% PWM but noise reduction is imperative on the supply and layout with suitable filters.

Theory of Operation

U3 is simply a 0V comparator to determine direction of the input velocity control signal.

U2 is a 40kHZ Astable Osc. which can be tuned with C1 (also R7 and R10) for a desirable efficient low frequency that minimizes Eddy current losses in the motor yet is ultrasonic.

The triangular wave of U2 is fed into U1 to create the PWM comparator using a scaled Speed signal to convert from +/-10 to match the peak to peak triangle wave created from the hysteresis of the positive feedback ratio of (R8//R9) / R10.

All the comparators could be a quad comparator IC that require a pullup R to Vcc that suits the logic levels of your "H-bridge" except for U2 which demands a precise 10.0V swing to make the near 0 and 100% PWM possible. A 10.0V precision LDO is not shown but assumed to be necessary and trivial. The comparators can run off 12V or the 10.0V single supply. The full bridge power is chosen to match your motor requirements.

You might be able to find an IC to do this, but I did it the hard way.

  • \$\begingroup\$ this seems to have a mazout output discontinuity at 0V input \$\endgroup\$
    – Jasen
    Jan 20 '20 at 7:33
  • \$\begingroup\$ when i try to run the simulation, i get no pwm output, and direction is a triangle wave from -6 to 45 kilovolts \$\endgroup\$ Jan 21 '20 at 1:38
  • \$\begingroup\$ It ran perfectly on my Falstad simulator but you would need some deadband around 0V to avoid the inevitable dither. \$\endgroup\$ Jan 21 '20 at 2:25
  • \$\begingroup\$ I did not simulate the Full bridge or motor but only the conversion from +/-10Vpp PWM to direction and Unipolar PWM 0 to Vcc with a variable frequency PWM controlled Astable clock , you are responsible for the rest of the undefined cct \$\endgroup\$ Jan 21 '20 at 2:32
  • \$\begingroup\$ can you export your falstad project? i recreated it on there but i'm just getting a triangle wave out \$\endgroup\$ Jan 21 '20 at 3:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.