Connect with us

PWM controlled DC motor using 2n3055: Is it okay? How can be inproved? + Proteus file

Discussion in 'Sensors and Actuators' started by TechQuestion, Jan 23, 2018.

Scroll to continue with content
  1. TechQuestion


    Jan 23, 2018
    Hello, I am building a PWM controlled power stage for a motor.

    I have created a circuit in proteus and it works, kinda cool, but, I have the feeling it has to be inproved and some questions about Integrating the signal and how the transistor 2n3055 works. I would like somebody elses opinions and corrections.

    The target is to regulate the voltage of a load via PWM duty and 2n3305 transistor.

    Proteus files :

    Project schematic:

    A fast brief.

    How to test it: Once downloaded and opened proteus file, Send characters 0 to 5 through the virtual terminal to easyly set the PWM duty, this was done like this for testing purpouses. As shown in this video:

    We work on TTL so:
    Vpwm = 5v

    As output a DC motor with full variable values, current will vary depending on the resistance applyed on the rotor, and voltage by the PWM.
    Motor Voltage Range=0v-12v
    Motor Current Range= 0A-10A


    1. PWM signal.
    No problems with this. An arduino creates a signal via analogWrite, ino file included in sources.

    2. Integration.
    In order to convert incoming signal from PWM into a integrated signal, I built up this Rc filter, I can see is not the best one because R2 is too high and its take to long to become stable.
    I would like to inprove this in order to flaten the signal. Is the way Im using correct?

    3. Amplification.
    A Non-Inverting Operational Amplifier will amplify the voltage of the integrated signal X2 volts aprox, in order to create 0-12 volts from a 0-5 volts range.
    Should I use a BC547 or TIP31 or any BJT transistor? or OPAMP is better, I think the second one is more appropiate but I may be wrong.

    4. Power driver
    I have to use a 2n3055 transistor because i have it, and because due to hardware settings it has to be npn.
    He is able to work in the power range I need as we can see in the table above.
    I reached the resistor values by empirically trying with proteus, thats why i have serious doubts about if its right.
    I dont know how make it safe and be sure. It seems it works, but I dont know if this is the best way.

    2n3055 table

    I would like to read your opinions and critics before I start building it, and I would be very thankful with al advises and proposals.
  2. Harald Kapp

    Harald Kapp Moderator Moderator

    Nov 17, 2011
    Welcome to EP.

    1. Why do you want to filter the pwm signal? You can drive the motor directly with a pwm signal. This will reduce power loss manifold.
    2. Using an NPN transistor as a high side drive is no good technique. With 12 V at the base, the emitter will be at ~11.4 V (0.6 V Vcb voltage drop). This will cause a power dissipation in the transistor of P = Ic*0.6 V.
      If you use the transistor in the low side (emitter to gnd), the transistor can be driven into saturation. The voltage drop Vc can then be as low as 0.1 V (see datasheet for details). Power dissipation is then P = IC*0.1 V which is a factor of 6 less than in your configuration.
    3. A motor is an inductive load. you need a flyback diode to protect the transistor from back EMF generated by the motor coil's inductance when the transistor is turned off.
  3. kellys_eye


    Jun 25, 2010
    Losses in the 2N3055 compared to using a low Rds(on) MOSFET are considerable.
  4. Harald Kapp

    Harald Kapp Moderator Moderator

    Nov 17, 2011
    Right, but the op states that he has to use this transistor, so all he can do is minimize losses on this component.
    kellys_eye likes this.
  5. kellys_eye


    Jun 25, 2010
    Not really questioning the use of the transistor - just pointing out the possible alternatives..... if the OP was prepared to adopt them.
  6. BobK


    Jan 5, 2010
    You completely misunderstand the use of PWM to control a motor. By filtering the output, you have changed it a votage regulator and you are using a varying voltage to control the motor, which results in lower torque and failure of the motor to start at lower settings, when compared to running the motor from the unfiltered PWM.

  7. Audioguru


    Sep 24, 2016
    You do not know about PWM, did not look at the datasheets of the opamp and transistor, and you did not do the math. Also you should never call a 2N3055 a 2N3305.

    The maximium current the motor uses is 10A at 12V. But the 741 opamp design is 50 years old and has a maximum output current of only 25mA. The minimum current gain of the 2N3055 at 10A is only 3.3 so it needs a base current of 10A/3.3= 3A. Then the motor in your circuit will get almost no voltage and no current.

    You should amplify the PWM pulses (without a filter) so that they produce 3A into the base of a common-emitter (emitter is grounded) 2N3055. Since the 2N3055 has a maximum saturation voltage drop of 3V at 3A then the supply should be 15V.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day