PWM DC Motor Speed Controller Circuit Using PIC16F877A Microcontroller
In our last PIC online tutorial we have covered PWM generation using PIC Microcontroller. As I told earlier PWM has wide application in electronics and robotics engineering.In this article I’m gonna show you one of the important applications of PWM in Robotics, it is called Pulse Width Modulation motor speed control.
The method of generation of PWM signal is the same as before and this signal is applied to the Enable terminal of L293 motor driver IC. L293 is an H bridge motor controller IC capable of driving 2 Motor loads at a time.
Why We Need PWM For Speed Controlling Of DC Motor?
You may wonder why we need PWM signal for controlling DC motor speed when a resistor in series with the motor can simply do this job.
It’s because this method is not recommended in practical and also you don’t get enough torque to drive the motor with the help of resistor.
Limitation of using resistor
- DC motor needs more power during the operation, also it draws more current from the supply.
- If we use resistors, the motor will not get enough power to rotate because some of the power is dropped across the resistor (Low current).
- Also the current will be very low.
- With the help of PWM it is possible to control the average power delivered to a load and by thus we can easily regulate the speed of the DC Motor.
- When the width of pulse is high, the motor will rotate with full speed.
- Obviously with low pulse width, speed of motor gets reduced.
- In both cases full current reaches the motor and only the average power changes, thus we get better torque in each case.
- Basically in this method we are chopping the DC voltage at regular interval.
We recommend EasyEDA for electronic circuit design.
From Schematic to PCB Production, Just Need One Tool
Free Circuit Design Software: learn to use Editor quickly and easily
Cheapest PCB: 10pcs 2-layers 10cm×10cm only $8.21, 3-day build time, 100% E-test
Current Project / Post can also be found using:
- DC motor movement with PIC16F877A using PWM
- pwm L293 with picmicro controller
- two dc motor control using pic16f877a
- mplabx code for dc motor driving pic16f877a with simulation