My background is mechanical engineering (robotics). I apologize in advance.

I have a sensitive torque ripple (Vibrations) application and would like to use sinusoidal drive to run a 3 phase BLDC motor instead of trapezoidal for low speeds. This is for a speed controller (just inferring torque).

12V motors, 8W peak, estimated 2W Steady state. Unfortunately, I am forced to use the UC1825 pwm controller chip. Can the UC1825 PWM controller output to 6 mosfets (inverter) portion, whereupon it has 3 phase output and 1 for direction?What are comparable sinusoidal drive chips?

Datasheet, UC1825: http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=uc1825&fileType=pdf

Alos, if I could implement this using DSP inside an fpga, would I still need a pwm controller (UC1825) or just an 3-phase inverter ?


  • 3
    \$\begingroup\$ From personal experience - buy a ready made all-in-one BLDC controller. You will end up with it anyway after a significant time struggling with homebrew ones... \$\endgroup\$
    – Eugene Sh.
    Oct 11, 2017 at 18:49
  • \$\begingroup\$ "Unfortunately, I am forced to use the UC1825 pwm controller chip". This is nonsense. Make an investigation around FOC - Field Orientated Control with PMSM. BLDC isn't even the right choice for your problem and forget the UC1825, there's nothing you can do with it. \$\endgroup\$ Oct 11, 2017 at 20:16
  • \$\begingroup\$ Thank you for your comments! Jack, I will check out your link tonight. The UC1825 has outputs for 3 phases? Why can I not drive the 3phase BLDC? Also, if a dsp generates the sinusoidal wave, can I use 3 half bridges as an inverter and avoid the UC1825? \$\endgroup\$
    – user165514
    Oct 12, 2017 at 2:24
  • \$\begingroup\$ @user165514 Because, different things are designed for different uses and if its too specialized you can't use it for something else. Just because a cement mixing truck is a truck with 4 wheels doesn't mean it can be used as a general purpose truck. Too specialized. Read the first sentence of the datasheet and look at the highly specialized inputs on the block diagram which are irrelevant for a motor. \$\endgroup\$
    – DKNguyen
    Jan 7, 2020 at 15:14
  • \$\begingroup\$ If using a DSP or FPGA, you would need to add gate drivers add transistor switches and a feedback mechanism. But it is not as simple as it sounds but informative. Expect to basically forget your original project for some time while building this one. \$\endgroup\$
    – DKNguyen
    Jan 7, 2020 at 15:21

1 Answer 1


A single UC1825 is not capable of driving a 3 phase motor. You could perhaps build a controller with 3 * UC1825, with one for each phase of the BLDC. However the complexity of using such an solution would seem hardly worth the efforts.

I'd suggest you read this great application note from TI using an MSP430 to generate the PWM signals as a starting point.
How you proceed will depend on whether you have Hall Effect sensors on your current motors, or are constrained to build a sensorless driver solution.

You would definitely be better purchasing a BLDC integrated servo to simplify your task.
I'd recommend you look at Teknic's Clearpath-SDSK servo as a potential plug in replacement for your BLDC motors. This gives you a simple Step/Dir interface and would relieve you of much work designing your own solution.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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