Close

Theory of operation: Controller

A project log for DC Motor Controller for CNC Router

DC motor rotational speed controller for Chinese CNC3040 spindle motor without any kind of encoder

sufSUF 03/11/2015 at 10:260 Comments

I needed a switching MOSFET driver for the motor. From the first look it looked simple, but finally it came out that I need DC to drive the motor, with the least possible amount of noise and clearly high side switching. The circuit come out is closer to a buck regulator then a simple MOSFET switch.
I chosen a P-Chanel MOSFET for switching, because the required maximum current (~8.5A) can be easily handled with a relatively low cost MOSFET and eliminate the rather tricky circuit or specialized driver IC needed for driving an N-Chanel MOSFET on the high side.
When the incoming PWM signal get high, the Q2 start to conduct and pull down the gate of the MOSFET 10V below the 48V rail (restricted by the D3 zener) and the FET start to conduct. The 50mA what can flow here is enough to fill the gate capacitor of the FET. At the same time Q1 transistor's base pulled down keeping the Q1 in nonconducting state (the D2 is used to protect Q1 base to not go bellow the BE diode rated voltage). When the PWM signal goes low, the Q2 stop conducting allowing the FET gate to go high, but because of the high gate capacitance the FET would not switch off fast enough. Here come the role of the Q2. When the Q1 stop conducting the Q2's base is pulled up to the rail through R1-D2. The Q2 start to conduct and the FET's gate capacitor gets discharged through Q2.
The high energy square wave generated by the MOSFET is fed to the L4-C8-D4 buck network creating a DC signal proportional to the PWM signal.

Discussions