Speed Control of DC Motor by Android Application

Interfacing DC motor to the microcontroller is a very important concept in many industrial and robotic applications. By interfacing DC motor to the microcontroller, we can control the direction of the motor, control the speed of the motor. This article describes you, Speed Control of DC Motor using 8051microcontroller with the help of Bluetooth Android controller. The block diagram is shown below.

Block Diagram of Speed Control of DC Motor by Android application
Block Diagram of Speed Control of DC Motor by Android application

Speed Control of DC Motor by Android Application

Speed Control of DC motor using Android mobile has many applications like industrial applications, escalators, elevators, Robotic applications, and security systems application. The user needs to install an android application on his/her Android smartphone.

The user can send directions to control the speed of DC motor. Bluetooth Wireless communication is used to send commands to the user and the controller. The main hardware components of the circuit are 8051 Microcontroller, motor driver L293D IC, DC motor, Bluetooth module, and Android smartphone.

Please refer this link to know more about 8051 Microcontroller History and Basics

The maximum output current of the microcontroller pin is 15mA at 5V but, it does not make the DC motor function and even the back EMF (electro motive force) which is produced by the motor may harm the microcontroller.

Therefore, it is not worthy to interface DC motor directly to the microcontroller. So motor driver circuit (L293D IC) is used to interface DC motor and the microcontroller.

Motor Driver (L293D)

L293D is a dual H-bridge motor driver integrated circuit (IC). Motor drivers act as current amplifiers since they take a low-current control signal and provide a higher-current signal. This higher current signal is used to drive the motors. L293D contains two inbuilt H-bridge driver circuits. In its common mode of operation, two DC motors can be driven simultaneously, both in forward and reverse direction. The motor operations of two motors can be controlled by input logic at pins 2 & 7 and 10 & 15.

Input logic 00 or 11 will stop the corresponding motor. The Logic 01 and 10 will rotate it in clockwise and anticlockwise directions, respectively. Enable pins 1 and 9 (corresponding to the two motors) must be high for motors to start operating. When an enable input is high, the associated driver gets enabled.

As a result, the outputs become active and work in phase with their inputs. Similarly, when the enable input is low, that driver is disabled, and their outputs are off and in the high-impedance state. The pin diagram and internal structure of L293D IC are shown below.

Pin Diagram and Internal Structure of L293D IC
Pin Diagram and Internal Structure of L293D IC

What is Android?

The Android operating system works based on Linux, it is designed primarily for touchscreen mobile devices such as smart phones and tablet computers. One of the most widely used mobile OS these days is Android. The android is software that was founded in Palo Alto of California in 2003.

Android Mobile
Android Mobile

The Android is a powerful operating system and it supports a large number of applications in Smartphones. These applications are more comfortable and advanced for the users. The hardware that supports android software is based on ARM architecture platform.

The android is an open source operating system means that it’s free and any one can use it. The android has got millions of apps available that can help you manage your life one or other way and it is available at low cost in the market at that reasons Android is very popular.

Schematic Diagram Explanation of Speed Control of DC Motor

Schematic diagram of DC motor speed control circuit and operation explanation has given below.

Schematic Diagram
Schematic Diagram

The circuit uses standard power supply comprising of a step-down transformer from 230V to 12V and 4 diodes forming a bridge rectifier that delivers pulsating dc which is then filtered by an electrolytic capacitor of about 470µF to 1000µF.

The filtered dc being unregulated, IC LM7805 is used to get 5V DC constant at its pin no 3. The regulated 5V DC is further filtered by a small electrolytic capacitor of 10µF for any noise so generated by the circuit.

The control signal from Android device will be sent through Bluetooth. This signal will be communicated with the microcontroller with the help of transmitter and receiver of both the devices. This signal will be signified by a single letter which controls the speed and direction of the motor.

How to control the speed of dc motor? In this project, the main working principle is the PWM pulses are generated from the programmed microcontroller to enable pin 1 of L293D for increasing and decreasing the duty cycle of pulses. These duty pulses can lead to driving the DC motor in the proper direction with specific speed.

Pulse Width Modulation

Pulse width modulation is achieved from the output of a micro controller which is duly programmed to take data so received by a Bluetooth device interfaced to it. One Bluetooth module is duly interfaced to the microcontroller for bi-directional data flow while the program is executed for developing the PWM pulses.

The android application from any smart phone communicates through the in-built Bluetooth of the phone to the Bluetooth module which is connected to the microcontroller for operations as required. The pulse width modulation duty cycle is shown below.

PWM Duty Cycle
PWM Duty Cycle

Up touch button on the smart phone running the Android program is used for increasing the on time duty cycle of the PWM while the down touch button is for reducing the duty cycle.

Android Application for DC Motor Speed Control
Android Application for DC Motor Speed Control

The DC motor runs through L293D motor driver IC with varying duty cycle applied to enable pin-1 of L293D being fed from the micro controller for speed control. The LCD data pins connected to the microcontroller to display the percentage of speed at which the motor is running.

Hence speed control of dc motor using android application is a cost effective, practical and the safest way to save power. A simple PWM (Pulse Width Modulation) technique can be used to control the speed of the motor.The duty cycle of the wave controls its speed. By interchanging output ports, it will effectively change the direction of the motor.

Furthermore, any queries regarding this article please give your valuable suggestions by commenting in the comment section below. Here is a question for you, what are the applications of DC Motor interface to a Microcontroller?


  1. amruthagonchikar says:

    hello….i am much intrested in this project, plz can u people get me more details and practical pesentation …as soon as posiible, good concept

    1. Hi amruthagonchikar
      I sincerely appreciate your kind response regarding my article
      As per your requirement, I can suggest you that please go through our website link you can get exact information
      And once again please visit our domestic website http://www.edgefxkits.com/ and international website http://www.efxkits.com/
      For more details please contact to Mr. Sathish on +91 8885507011 or you can email us on info@edgefxkits.in

Add Comment