0% found this document useful (0 votes)
103 views27 pages

H Bridge Speed Control of DC Motor Using L293D in Conjugation With Arduino UNO R3

The document outlines the design and implementation of an H-Bridge speed control system for DC motors using an L293D motor driver IC integrated with an Arduino Uno R3. It details the components required, their functions, and the programming necessary for controlling motor speed and direction through PWM signals and serial commands. The project aims to provide precise motor control for applications in robotics and automation.

Uploaded by

Tuhin Saha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views27 pages

H Bridge Speed Control of DC Motor Using L293D in Conjugation With Arduino UNO R3

The document outlines the design and implementation of an H-Bridge speed control system for DC motors using an L293D motor driver IC integrated with an Arduino Uno R3. It details the components required, their functions, and the programming necessary for controlling motor speed and direction through PWM signals and serial commands. The project aims to provide precise motor control for applications in robotics and automation.

Uploaded by

Tuhin Saha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

- - Index - -

1. Introduction Pg. - 01

2. H-Bridge Speed Control of DC Motor Pg. – 02

3. H-Bridge Speed Control of DC Motor using L293D IC Integrated with Arduino Pg. - 03
Uno R3

4. Components Required & Their Functions and Apparatus Table Pg. - 04

5. Arduino Uno R3 Programing (in C++) Pg. - 12

6. Observation of Variation in Output Voltage with PWM Signal Pg. - 15

7. Observation Tables & Waveforms of Variation in Output Voltage with PWM Pg. - 17
Signal

8. Observation of Variation in the Speed of DC Moto with Serial Command and Pg. - 19
Output Voltage

9. Observation Tables & Waveforms of Variation in the Speed of DC Moto with Pg. - 21
Serial Command and Output Voltage

10. Price Chart Pg. - 23

11. Advantages & Drawbacks Pg. - 24

12. Application & Future Scope Pg. – 25

13. Conclusion Pg. – 26

14. References Pg. - 26


1. Introduction: -

Fractional Horsepower (FHP) DC motors are widely used in various applications, including robotics,
automation, and industrial machinery, due to their ability to provide precise speed control in both
direction (i.e. clockwise and counter clockwise). Control of DC motor is a fundamental aspect of
various precise and delicate application. There by H-bridge Speed Control System, which is an
efficient and effective speed control system provides precise speed control in both the direction.

The H-bridge speed control system can be created by using a Motor Driving IC (L293D) in
conjugation with a Microcontroller (Arduino Uno R3). Where the motor driver is used to achieve
bidirectional control and the microcontroller is used for Pulse Width Modulation signal generation
and other signal monitoring like serial command and analog input. This conjugation pair enables H-
bridge speed control of a DC motor.

Objectives –

This project aims to…

1. Implementing an H-Bridge circuit using the L293D motor driver to achieve bidirectional
control.
2. To design and implement a DC motor speed control system using an H-Bridge circuit with an
L293D motor driver IC and Arduino Uno R3.
3. Generation of PWM (Pulse Width Modulation) signals from Arduino to regulate motor speed.
4. Enabling motor control through serial communication and analog signal through a
potentiometer for manual speed adjustments.
5. Understanding the configuration of microcontrollers with motor drivers, and sensors for precise
motor speed control.

Page - 1
2. H-bridge Speed Control of DC Motor: -

An H-Bridge is a widely used electronic circuit that enables bidirectional control of a DC motor. It
allows the motor to rotate in both forward and reverse directions and also enables speed control. The
circuit consists of four switching elements (usually transistors or MOSFETs) arranged in a
configuration resembling the letter “H”, with the motor connected in the center between the two legs.

The direction of motor rotation is controlled by turning on diagonally opposite pairs of switches,
which reverses the current through the motor terminals. This ability to change polarity makes the H-
Bridge essential for applications requiring directional control, such as robotics, automation, and
embedded systems.

For speed control, the H-Bridge works in conjunction with Pulse Width Modulation (PWM). PWM
is a technique where the supply voltage is switched on and off rapidly at a fixed frequency. The duty
cycle of the PWM signal (i.e., the percentage of time the signal remains ON in each cycle) determines
the average voltage supplied to the motor. A higher duty cycle increases the average voltage and
hence the motor speed, while a lower duty cycle reduces it.

Microcontrollers like Arduino can generate the PWM signal and logic levels required to control the
H-Bridge for change in direction in conjugation with motor driving IC. This setup allows for smooth
acceleration, deceleration, and precise bidirectional speed control of the DC motor. H-Bridges are
widely used in robotics, automation, and other applications where reliable and flexible DC motor
control is required.

Diagram of an H-Bridge Circuit for DC Motor Control

The diagram shows an H-Bridge circuit for DC motor control. It uses four transistors (Q1-Q4: two
PNP, two NPN) and four flyback diodes (D1-D4). The motor is connected in the middle. Control
signals ("Transistor1-4") applied via resistors (R1-R4) switch the transistors. Activating diagonal pairs
(e.g., Q1 & Q4 or Q2 & Q3) reverses the motor's direction. PWM on these signals controls the motor's
speed. VCC powers the circuit, and it's connected to ground. The diodes protect the transistors from
voltage spikes.

Page - 2
3. H-Bridge Speed Control of DC Motor using L293D IC Integrated with Arduino Uno R3: -

In DC motor applications, control over both speed and direction is essential, especially in automation,
mechatronics, and robotics. To achieve bidirectional speed control, an Arduino Uno R3 is integrated
with an L293D motor driver IC to enable H-bridge setup. This setup enables bi-directional control of
a DC motor with speed modulation via Pulse Width Modulation (PWM).

Arduino’s External Source


5V

Potentiome
ter

Micro DC
Brushed
Motor
DSO

Gnd

Circuit Diagram of Integration of Arduino Uno R3 & L293D Motor Driver IC

The motor driving IC (L239D) essential acts as interface between the low-power control signals from
the Arduino and the higher power requirements of the DC motor. The IC contains two internal H-
bridge circuits, each capable of driving a DC motor independently. It features separate power inputs
for its internal logic (typically 5V) and for the motors themselves (ranging from 4.5V to 36V), enabling
compatibility with various motor types. The external motor power supply is connected to a common
ground to ensure proper signal referencing and circuit stability.

The Arduino Uno is programmed to generate the necessary control signals. Its digital pins are
connected to L293D IC’s IN1 and IN2 inputs for controlling motor's direction. For speed control, a
PWM signal generated from Arduino (pin D5) is given to the L293D’s Enable pin (Enable 1, 2), while
its pulse width from arduino allows to vary the effective voltage delivered to the motor. With A
higher duty cycle corresponds to faster rotation, while a lower duty cycle slows down the motor.

This control is featured from a 10kΩ potentiometer or via serial commands. Where analog signal is
received from the wiper of potentiometer in analog input pin (A5) of the Arduino, while the serial
commands is received from Serial Monitor to override the potentiometer input. The input signal from
0 to 1023 received from 10kΩ potentiometer or via serial commands, mapped into the 0–255 PWM
range for changing the pulse width of PWM signal.

Ultimately, The L293D serves as a power amplifier, converting Arduino's low-current logic into high-
current motor-driving pulses. Its OUT1 and OUT2 outputs connect to the motor terminals. The
internal H-bridge, directed by Arduino’s input and enable signals, manages current flow from the
external supply to achieve the desired motor speed and direction. This integrated system provides a
reliable solution for dynamic DC motor control in various applications.

Page - 3
4. Components Required & Their Function and Apparatus Table: –

List of Components Required -

Sl. No. Name of Item Specification Quantity

Microcontroller Type: ATmega328P (8-bit AVR RISC-based


microcontroller).
Operating Voltage: 5V.
Input Voltage: 7-12V (recommended), 6-20V (limit).
Digital I/O Pins: 14 (6 capable of 8-bit PWM output).
Analog Input Pins: 6 (10-bit resolution, 0–5V)
Maximum Current per Pin: 20 mA (40 mA absolute max)
Total I/O Current Limit: 200 mA
3.3V Pin Current: 50 mA
1 Arduino Uno R3 DC Current for 5V Pin: ~500 mA (USB-powered), ~500–800 1
mA (externally powered)
Flash Memory: 32 KB (0.5 KB used by bootloader).
SRAM: 2 KB.
EEPROM: 1 KB.
Clock Speed: 16 MHz.
USB Interface: ATmega16U2 for USB-to-serial
communication
Power Options: USB or external power via a barrel jack.
Dimensions: 68.6 mm x 53.4 mm.

Type: 16-pin dual in-line package (DIP)


Operating Temperature: -40°C to +150°C
Maximum Power Dissipation: 4W at Tpin = 90°C
Output Current per Channel: 600 mA continuous, 1.2A peak
(100 µs, non-repetitive)
Supply Voltage (VC, Pin 8): 4.5V to 36V
Logic Supply Voltage (VCC, Pin-16): 5V
Input Voltage (Pins 2, 7, 10, 15): -0.3V to 7V (High 2.3V to VCC
, LOW: - 0.3V to 1.5V)
Enable Voltage (Pins 1, 9): -0.3V to 7V (High 2.3V to VCC ,
LOW: - 0.3V to 1.5V)
Quiescent Supply Current (Pin 8): Typ. 2–16 mA, Max. 24
L239D Motor mA (depends on input/enable state)
2 Quiescent Logic Supply Current (Pin 16): Typ. 16–44 mA, 1
Driving IC
Max. 60 mA (depends on input/enable state)
Switching Frequency: Up to 5 kHz
Thermal Resistance (DIP): Junction-to-ambient 80°C/W,
Junction-to-case 14°C/W
Clamp Diode Forward Voltage: Typ. 1.8V at 600 mA
Switching Times:
o Rise Time: Typ: 250 ns
o Fall Time: Typ. 250 ns
o Turn-on Delay: Typ. 750 ns
o Turn-off Delay: Typ. 200 ns
Protection Features: Internal clamp diodes, over temperature
protection
RoHS Compliant

Page - 4
Type: Micro DC brushed motor for DVD/CD players
Rated Voltage: DC 9V–12V
Rated Current: 0.03A at 9V
Speed: 2400 RPM (scales with voltage up to 12V)
Micro DC Brushed Body Size: 25 mm x 13 mm (Diameter x Height)
3 1
Motor Total Height: 22 mm (including shaft)
Shaft Size: 7 mm x 2 mm (Length x Diameter)
Operating Temperature: -10°C to +60°C (typical for micro
motors)
RoHS Compliant

Type: Multiturn cermet trimpot potentiometer (3296W series)


Resistance at 25°C: 10 kΩ ±10%
Maximum Power Rating: 0.5 W (500 mW) at 70°C
Adjustment Turns: 25 ±2 turns
10k Potentiometer Operating Temperature: -55°C to +125°C
4 1
(3296 W103) Pin Configuration: 3-pin (two outer pins for resistive element,
center pin for wiper)
Dimensions: 9.53 mm x 4.83 mm x 10.03 mm (L × W × H,
approximate)
RoHS Compliant

Type: Carbon film or metal film resistor


Resistance at 25°C: 1 kΩ ±5% (950 Ω to 1050 Ω)
5 1kΩ Resister 10
Power Rating: ¼ Watt (0.25 W) at 70°C
Operating Temperature: -55°C to +155°C

Type: Solderless prototype PCB breadboard (MB102 model)


Terminal Strips: 63 rows x 10 columns (2 sets of 5 columns,
separated by 0.3" gap for DIP ICs)
Power Rails: 4 buses (2 per side, 100 holes each, marked
6 Breadboard red/blue for polarity) 1
Contact Material: Nickel-plated phosphor bronze
Contact Current: 2 A maximum
Wire Compatibility: 20–29 AWG
Body Size: 165 mm x 54.5 mm x 8.5 mm (L x W x H)
RoHS Compliant

Type: Solderless breadboard jumper wires (male-to-male,


male-to-female, or female-to-female)
Wire Gauge: 22 AWG
Breadboard Conductor Material: Tinned copper
7 Connecting Wires Insulation Material: PVC As Required
Pin Type: Square pin headers (0.6 mm x 0.6 mm cross-section)
Current Rating: 1 A maximum (typical for 22 AWG at short
lengths)
RoHS Compliant
Type: Single-core tinned copper wire
Cross-Sectional Area: 0.5 sq.mm
Conductor Material: Tinned copper
Conductor Stranding: 16/0.2 mm (16 strands of 0.2 mm
diameter)
8 Connecting Wires As Required
Current Rating: 1.5 A maximum (at 25°C, typical for 0.5
sq.mm copper)
Voltage Rating: 300 V maximum (typical for low-voltage
applications)
Insulation Material: PVC

Page - 5
Function of Components -

1. Arduino Uno R3 -
The Arduino Uno R3 is a popular open-source microcontroller board
based on the ATmega328P microcontroller that serves as a brain for
electronics projects and it’s known for its simplicity, affordability,
and versatility. It's designed to be user-friendly for beginners, and
professionals alike in electronics and programming.

In Arduino Uno R3, the term "Uno" means "one" in Italian and was
chosen to mark the release of Arduino Software (IDE) 1.0 and "R3"
stands for Revision 3 which is the third enhance version of the board.
Arduino Uno R3

The board allowing users to connect sensors, actuators, and other components to read inputs (e.g.,
temperature, light, buttons) and control outputs (e.g., LEDs, motors, displays) with USB interface
(using an ATmega16U2 chip). It is programmed using the Arduino Integrated Development
Environment (IDE), which supports a simplified version of C/C++ and a vast library ecosystem.

Features and Functions of Arduino Uno R3 -

(i) Microcontroller Core -

The Arduino Uno R3 is powered by the ATmega328P, an 8-bit AVR microcontroller with a 16 MHz
clock speed, 32 KB flash memory (0.5 KB for bootloader), 2 KB SRAM, and 1 KB EEPROM. This chip
executes the program that a programmer write and upload to the board using the Arduino IDE
(Integrated Development Environment). It can perform logic operations, calculations, and manage
input/output functions. Example includes reading a temperature sensor and adjusting a motor's
speed accordingly.

(ii) Digital Input/Output Pins -

The board has 14 digital I/O pins (labeled from 0 to 13), which can be used to connect and control
various digital devices like LEDs, push buttons, relays, and other components. Out of these, 6 pins
can generate PWM (Pulse Width Modulation) signals with 8-bit ADC (0 – 255 resolution), useful
for controlling output level and out of 14 pins, pins 2 & 3 support external interrupts. Each pin provide
current capacity of 20 mA (40 mA absolute maximum).
(iii) Analog Input Pins -

The Arduino Uno R3 has 6 analog I/O pins (labeled A0 to A5), which can be used to read analog
signals from sensors such as potentiometers, thermistors, light sensors, or other analog devices. These
pins has a 10-bit ADC (0 – 1023 resolution), for measuring voltages between 0V and 5V. Each pin
provide current capacity of 20 mA (40 mA absolute maximum).
(iv) Power Supply Options -

The Uno R3 can be powered via USB (5V) or a barrel jack (7-12V recommended, 6-20V limit). It
provides 5V and 3.3V outputs for external components and includes a voltage regulator (NCP1117)
for stable power. Ground pins handle return currents for connected devices. The 5V Pin provides a
current capacity 500 mA of power and 3.3V Pin provides a current capacity 50 mA.

Page - 6
(v) USB Communication via ATmega16U2 -

The Arduino Uno R3 uses an onboard ATmega16U2 chip to handle USB-to-serial conversion,
allowing the board to connect directly to a computer. This enables users to upload code, perform
serial monitoring, and exchange data for debugging or data logging. It is essential for programming
the board through the Arduino IDE and provides reliable communication with PCs and laptops.

(vi) UART Serial Communication (Pins 0 and 1) -

The board supports UART (Universal Asynchronous Receiver-Transmitter) communication using


pins 0 (RX) and 1 (TX). These pins allow the Uno to interface with external serial devices such as
Bluetooth modules, GPS receivers, or other microcontrollers. Each pin can handle up to 20 mA,
making it suitable for low-power data exchange in various embedded and IoT applications.

(vii) Open Source and Expandable -

The Arduino Uno R3 is an open-source platform, meaning its hardware design and software are
freely available for anyone to use, modify, and improve. It’s also easily expandable through plug-
and-play shields - stackable add-on boards that provide extra features like Wi-Fi, Bluetooth, and
motor control, making it ideal for building more advanced or customized projects.

2. L239D Motor Driver IC -


The L293D is a 16-pin dual H-bridge motor driver IC designed to control
the direction and speed of DC motors or stepper motors, particularly
in robotics and automation. It acts as an interface between low-power
microcontrollers (like the Arduino Uno R3) and motors. It taking low-
power control signals from the microcontroller and delivering higher
current to motors enabling precise control over motor direction and
speed.

Working of the L293D Motor Driver IC - L293D Motor Driving IC

The L293D is a 16-pin dual in-line package (DIP) IC, with pins organized
to control two DC motors or one stepper motor. Its pins are categorized
based on their function, enabling bidirectional motor control and speed
adjustment while handling currents up to 600 mA per channel. The pin
function along with their category includes, power, input, output,
ground, and speed control (enable). The detailed pin configuration with
their respective categories and functions are written below.
L293D Pin Diagram
(i) Power Pins -

The L293D has two power supply pins to operate its internal logic and drive connected motors.

 Pin 16 (VCC1): supplies 5V for the IC’s logic circuitry, typically connected to the Arduino Uno
R3’s 5V pin and its limited to ~500 mA, if USB-powered or externally powered ~500-800 mA.
 Pin 8 (VCC2): provides power for the motors, supporting voltages from 4.5V to 36V and currents
up to 600 mA per channel (1.2A peak). VCC2 is usually connected to an external power source,
such as a 12V battery, to meet motor requirements without overloading the Arduino’s power
limits.

(ii) Ground Pins -

The L293D includes four ground pins (Pins 4, 5, 12, & 13) that connect to the common ground of the
Arduino, motor power supply, and motors. These pins handle the return current for both the logic
Page - 7
(VCC1) and motor (VCC2) circuits, with a total current capacity up to 1.2A peak across both channels.
They also serve as a heat sink, dissipating heat generated during high-current operation to maintain
IC stability.

(iii) Output Pins -

The L293D has four output pins to connect to motor terminals i.e. Pin 3 (Output 1) and Pin 6 (Output
2) for Motor A, and Pin 11 (Output 3) and Pin 14 (Output 4) for Motor B. These pins deliver the
motor’s operating voltage (from VCC2) and current up to 600 mA per channel. They directing current
through internal H-Bridge circuit to control the motor. The pins are protected by internal flyback
diodes to handle back EMF of motors.

(iii) Input Pins -

The L293D features four input pins for controlling motor direction i.e. Pin 2 (Input 1) & Pin 7 (Input
2) for Motor A, and Pin 10 (Input 3) & Pin 15 (Input 4) for Motor B. These pins accept logic-level
signals (high or low) from the Arduino Uno R3’s digital pins. The input pins determine the H-bridge’s
switching state, directing current flow to rotate the motor clockwise or counterclockwise.

Input 1 Input 2 Direction of Rotation


Low(0) Low(0) Motor OFF
High(1) Low(0) Clock Wise (CW)
Low(0) High(1) Counter Clock Wise (CCW)
High(1) High(1) Motor OFF

(iv) Speed Control (Enable) Pins -

The L293D has two enable pins i.e. Pin 1 (Enable 1, 2) for Motor A and Pin 9 (Enable 3, 4) for Motor
B. These pins enable or disable the respective H-bridge and support PWM (Pulse Width Modulation)
signals for speed control. When connected to Arduino PWM pins, the duty cycle of 8-bit, 0-255
resolution adjusts motor speed, with HIGH (5V) enabling full speed and lower duty cycles reducing
speed. The enable pins require minimal current (<1 mA), compatible with the Arduino’s 20 mA per-
pin limit.

Hear is The Waveform of Different Duty Ratio Representing Voltage Level

Page - 8
3. Micro DC Brushed Motor -

The Micro DC Brushed Motor acts as an actuator in an H-Bridge speed


control system, allowing precise control over both the speed and direction
of the motor. By switching the polarity and voltage magnitude applied to the
motor, it is possible to achieve bidirectional movement and variable speeds.
This type of control makes the motor ideal for robotics, automation, and
small electronic projects where dynamic motion is required.

The motor works by using a brushed commutator to pass current through


internal coils on the armature, generating a magnetic field. This field Micro DC Brushed
interacts with permanent magnets, causing the motor shaft to rotate. Its Motor

primary role is to provide controlled mechanical motion, such as rotating


wheels or components in a system.

4. 10k Potentiometer (3296 W103) -

The 10K Potentiometer (3296 W103) is a multiturn variable resistor used to


control the speed of a DC motor in an H-Bridge speed control system. It is
connected as a voltage divider, with its outer pins across Arduino’s 5V and
GND, and the wiper (middle pin) to an analog input pin (e.g., A5). As the
potentiometer is turned, it adjusts the voltage on the wiper from 0V to 5V,
which the Arduino Uno R3 reads using its 10-bit ADC (0–1023 range). The
Arduino maps this value to a PWM signal (0–255) and sends it to the L293D
Motor Driver IC’s Enable pin (e.g., Pin 1), controlling the duty cycle of the 10K Potentiometer
voltage applied to the DC motor. (3296 W103)

The potentiometer’s purpose is to provide a user-adjustable input for precise speed control of the
motor, enabling applications like robotics or automation where variable speed is needed.

5. Resistor -

Resistance is a property of a substance to oppose the flow of current in a closed


circuit. It is measured in Ohms and which is symbolized by the Greek letter
omega (Ω). The resistance determined by the material's properties, dimensions,
and. Resistance plays a crucial role in controlling the current in electrical
circuits.

6. Breadboard - Resistance

A breadboard is a tool used to build and test electronic circuits, breadboards are
used to quickly create temporary electronic circuits or prototypes. They are also
used for experiments with circuit design. Breadboards are rectangular plastic
boards with many tiny holes that allow user to insert electronic components or
wires. The holes are connected by spring clips underneath the board, allowing
user to easily connect components or wires. Breadboards are reusable because it
don't require soldering iron to connect electronic components. Vero Board

Page - 9
7. Breadboard Connecting Wires -

Breadboard Connecting Wires (jumper wires, 22 AWG) enable solderless


electrical connections on the MB102 Breadboard in an H-Bridge speed control
system. They link the Arduino Uno R3’s input/output pins to the L293D
Motor Driver IC’s inputs & enable pins, potentiometer. Additionally, 0.5
sq.mm 1.5A tinned copper wires connect the external 9V–12V power supply
to the L293D’s VCC2 pin and the Arduino’s 5V to VCC1, ensuring proper
Breadboard
power and signal flow for motor speed and direction control.
Connecting Wires
8. Connecting Wires -

The wires are used to connect the circuit elements together. Connecting wires
are one of the most important components in an electrical circuit because these
are the components through which electricity flows from one electrical
component to another. The gauge of wire depends upon the current rating of
the circuit elements and the insulation of the wire depends upon the voltage
level. The wire may be stranded or single cored.

Connecting Wires

Apparatus Table -

Sl. No. Name of Item Specification Quantity

Type: Digital Storage Oscilloscope (DSO), 2-channel


Bandwidth: 100 MHz
Sampling Rate: 1 GSa/s (real-time, single channel)
Memory Depth: 10 Mpts per channel
Display: 7-inch LCD, 800 x 480 resolution, 256-color
gradient
DSO PTPL9000 100 MHz Vertical Resolution: 8-bit
1 Digital Storage Vertical Sensitivity: 2 mV/div to 10 V/div 1
Oscilloscope Time Base Range: 2 ns/div to 50 s/div
Trigger Types: Edge, Pulse, Video, Slope, Alternate
Waveform Capture Rate: Up to 30,000 wfms/s
Input Impedance: 1 MΩ ±2% || 15 pF ±3 pF
Maximum Input Voltage: 400 V (DC + AC peak)
Operating Temperature: 0°C to 40°C
RoHS Compliant

Type: 14-inch business laptop


Processor: Intel Core i3-1215U 12th Gen (up to 4.4 GHz,
10 MB L3 cache, 6 cores, 8 threads)
RAM: 8GB DDR4 (3200 MT/s)
Storage: 512GB PCIe NVMe SSD
2 HP Laptop 240G9 Display: 14-inch HD (1366 x 768), anti-glare 1
Graphics: Intel UHD Graphics
Operating System: Windows 11 Pro
Ports: 1 USB Type-C (5Gbps), 2 USB Type-A (5Gbps), 1
HDMI 1.4b, 1 RJ-45, 1 headphone/microphone combo
RoHS Compliant

Page - 10
Type: Non-contact and contact digital tachometer
Measurement Range (Non-Contact): 2.5 to 99,999 RPM
Accuracy: ±(0.05% + 1 digit)
Resolution: 0.1 RPM (2.5 to 999.9 RPM), 1 RPM (above
1000 RPM)
4Sampling Rate: 1 time/second
MetroQ MTQ 234 Measuring Distance (Non-Contact): 50 mm to 500 mm
3 Tachometer Display: 5-digit LCD with backlight 1
Laser Type: Class 2, <1 mW (for non-contact
measurement)
Operating Temperature: 0°C to 50°C
Body Material: ABS plastic
Accessories: Reflective tape, contact adapter, rubber
tips
RoHS Compliant

Type: Auto-ranging digital clamp meter


Display: 3½ digit LCD, 2000 counts, with backlight
AC Current Range: 0–400 A (auto-ranging)
AC Voltage Range: 0–600 V
DC Voltage Range: 0–600 V
Resistance Range: 0–20 MΩ
Accuracy: ±(0.8% + 3 digits) for AC current, ±(1.0% + 3
MECO 27 T AUTO
digits) for voltage
4 Digital Clamp Meter 1
Features: Data hold, audible continuity, diode test, auto
power-off, NCV (non-contact voltage detection with
LED/buzzer)
Sampling Rate: 3 times/second
Operating Temperature: 0°C to 50°C at <70% relative
humidity
Body Material: ABS plastic, red color
RoHS Compliant

Type: USB Type-A Male to Type-B Male cable


Length: 30 cm
USB Version: USB 2.0 (backward compatible with USB
1.1)
Data Transfer Rate: Up to 480 Mbps (USB 2.0 standard)
Power Delivery: 5V, up to 500 mA
USB Cable A-Male to
5 Conductor Material: Tinned copper 1
B-Male Wire Gauge: 28 AWG (data), 24 AWG (power)
Shielding: Foil and braid shield for EMI/RFI protection
Connector Material: Nickel-plated brass
Insulation Material: PVC jacket
Outer Diameter: ~4.5 mm (typical)
Operating Temperature: 0°C to 50°C
RoHS Compliant

6 Electrical Tool box NA 1

Page - 11
5. Arduino Uno R3 Programing (in C++): -

To program the Arduino, a flowchart is first created to represent the overall process logically. This
flowchart helps in visualizing the sequence of operations, decision points, and control flow, making
it easier to structure and implement the code effectively.

Page - 12
// C++ Arduino code
//analog & digital IO pins and variables _ _ _ _
int AIO = A5; // Analog input pin connected to potentiometer
int speedPWM; // Variable for PWM value (integer)
int motorEnable = 5; // L293D Enable pin (PWM)
int motorInput1 = 2; // L293D Input 1 for direction control
int motorInput2 = 3; // L293D Input 2 for direction control
int LED = 4; // LED output signal
int potValue; // Variable for potentiometer reading
int previouspotValue = 0; // Previous value of the pot
int SerialIntData = -1; // Variable to store serial input as an integer
String SerialStringData = ""; // Variable to store serial input as a string
void setup()
{
pinMode(motorEnable, OUTPUT);
pinMode(motorInput1, OUTPUT);
pinMode(motorInput2, OUTPUT);
pinMode(LED, OUTPUT);
pinMode(AIO, INPUT);
Serial.begin(9600); // Start serial communication _ _ _
}

void loop()
{
// Potentiometer reading _ _ _
potValue = analogRead(AIO);
// Check for serial input _ _ _
if (Serial.available() > 0)
{
SerialStringData = Serial.readString(); // Read the incoming serial data as
a string
SerialStringData.trim(); // Remove leading and trailing whitespace
// Try to convert the string to an integer
if (SerialStringData.toInt() || SerialStringData == "0")
{
SerialIntData = SerialStringData.toInt(); // Store integer value
} else {
SerialIntData = -1; // Reset integer data if the input is non-numeric
}
}
// Check for string commands to stop the motor _ _ _ _
if (SerialStringData.equalsIgnoreCase("stop"))
{
digitalWrite(motorEnable, LOW);// Stop the motor
Serial.println("Motor stopped.");
return; // Exit the loop early
}
// Control based on Serial input (integer) _ _ _ _

if (SerialIntData >= 0 && SerialIntData <= 1023)


{
if (SerialIntData < 512)
{
digitalWrite(motorInput1, LOW); // CCW rotation _ _ _
digitalWrite(motorInput2, HIGH);
speedPWM = map(SerialIntData, 0, 511, 255, 0);
} else{
digitalWrite(motorInput1, HIGH); // CW rotation _ _ _
digitalWrite(motorInput2, LOW);
speedPWM = map(SerialIntData, 512, 1023, 0, 255);
}
analogWrite(motorEnable, speedPWM); // PWM signal is given to enable pin
based on serial command _ _ _

Page - 13
} else {
// Default control based on potentiometer reading if SerialIntData is
invalid _ _ _
if (potValue < 512)
{
digitalWrite(motorInput1, LOW); // CCW rotation _ _ _
digitalWrite(motorInput2, HIGH);
speedPWM = map(potValue, 0, 511, 255, 0);
} else {
digitalWrite(motorInput1, HIGH); // CW rotation _ _ _
digitalWrite(motorInput2, LOW);
speedPWM = map(potValue, 512, 1023, 0, 255);
}
analogWrite(motorEnable, speedPWM); // PWM signal is given to enable pin
based on potValue _ _ _
}

// Change in Pot Value _ _ _


if (abs(potValue - previouspotValue)> 4)
{
SerialIntData = -1;
previouspotValue = potValue;
}
// Print debug information to Serial Monitor _ _ _

Serial.print("Potentiometer Value: ");


Serial.println(potValue);
Serial.print("Mapped PWM Value: ");
Serial.println(speedPWM);
Serial.print("Serial Integer Data: ");
Serial.println(SerialIntData);
delay(100); // Delay in milliseconds
}

Page - 14
6. Observation of Variation in IC’s Output Voltage with Arduino’s PWM Signal: -

Experimental Setups -
To observe the variation in the output voltage of a motor driver IC (L293D) with changes in PWM
signal generated by an Arduino Uno. The Arduino produces PWM signals on its digital pin, which is
connected to the Enable 1, 2 pin of the L293D IC. The PWM duty cycle is controlled via serial input
(0–1023) from a laptop through the Arduino IDE, which the Arduino maps to 8-bit PWM (0–255) and
sends to the L293D’s Enable pin. Alternatively, a potentiometer allows real-time manual adjustment.

The L293D is powered by a 12V DC supply (Vcc2) and 5V logic (Vcc1) from the Arduino. The motor
output terminals of the IC are left open to avoid loading effect, and the output voltage is measured
using a multimeter. The PWM signal generated by the Arduino is observed using a Digital Storage
Oscilloscope (DSO). The direction control pins are managed by the Arduino, and its logic levels
changes during the transition from 511 to 512 allow observation of both positive and negative voltage
ranges.

As the duty cycle increases, the corresponding output voltage is recorded. The DSO and multimeter
is used to capture both the average voltage and waveform shape at various PWM input, helping to
visualize how the IC converts pulse width into effective DC output.

Arduino’s 5V External Source

Potentiometer

Voltmeter

DSO

Gnd

Theoretical Circuit Diagram

Simulation -
A simulation of the setup is created using Tinkercad Circuits to visualize and test the behavior of the
PWM-controlled motor driver circuit. In the virtual setup, the Arduino Uno is programmed to output
a PWM signal to the Enable pin of the L293D motor driver IC, which is powered by a 12 V DC power
supply (Vcc2) and 5 V logic from Arduino (Vcc1). A digital oscilloscope is connected across the
Enable pin to observe the PWM waveform, while a virtual multimeter measures the average output
voltage at the IC's output terminal.

Page - 15
The Arduino IDE’s serial monitor sends values (0–1023), mapped to 8-bit PWM (0–255) for real-time
duty cycle control. A potentiometer is also available for manual adjustment in Tinkercad.
As PWM increases, the IC’s output voltage rises accordingly, it’s confirmed by longer high pulses on
the oscilloscope and higher average readings on the multimeter.

Simulation on Tinkercad Circuits

Practical Setups -
In this practical setup, the Arduino Uno is connected to an L293D motor driver IC mounted on a
breadboard. Connections are made from the Arduino and an external 12V power supply. The output
terminals of the motor are connected to the L293D’s output pins. The Arduino communicates with a
laptop via USB, allowing numeric values (0–1023) to be entered through the Serial Monitor. These
values are mapped to 8-bit PWM signals (0–255) and sent to the Enable pin of the L293D.

The IC’s output voltage is recorded at multiple duty cycle steps and PWM signal generated by
arduino are captured using a DSO

Practical Measurement of Variation in IC’s Output Voltage with


Arduino’s PWM Signal

Page - 16
7. Observation Tables & Waveforms of Variation in Output Voltage with PWM Signal: -

Observation Table - Measurement of Variation in Output Voltage with PWM Signal

Calculated Output
PWM Value IC’s Output Voltage
Sl. No. Duty Ratio (𝜶) VCC2×𝜶
(8-Bit) (V)
(V)
1 255 100 - 12.55 -12.56
2 240 94.12 - 12.55 -11.82
3 224 87.84 - 12.46 -11.03
4 208 81.57 - 12.30 -10.25
5 192 75.29 - 12.07 -9.46
6 176 69.02 - 11.78 -8.67
7 160 62.75 - 11.42 -7.88
8 144 56.47 - 11.02 -7.09
9 128 50.2 - 10.58 -6.3
10 112 43.92 - 10.10 -5.52
11 96 37.65 - 9.54 -4.73
12 80 31.37 - 9.02 -3.94
13 64 25.1 - 8.44 -3.15
14 48 18.82 - 7.83 -2.36
15 32 12.55 - 7.20 -1.58
16 16 6.27 - 6.53 -0.79
17 0 0 - 0.01 0
18 16 6.27 6.54 0.79
19 32 12.55 7.20 1.58
20 48 18.82 7.83 2.36
21 64 25.1 8.45 3.15
22 80 31.37 9.03 3.94
23 96 37.65 9.58 4.73
24 112 43.92 10.10 5.52
25 128 50.2 10.59 6.3
26 144 56.47 11.04 7.09
27 160 62.75 11.44 7.88
28 176 69.02 11.79 8.67
29 192 75.29 12.09 9.46
30 208 81.57 12.32 10.25
31 224 87.84 12.48 11.03
32 240 94.12 12.56 11.82
33 255 100 12.56 12.56

Page - 17
PWM Signal vs. Output Voltage Curve -
This PWM Signal verses Output Voltage curve of motor driving IC (L239D), represent the variation
in output voltage with change in arduino PWM signal. The curve illustrates a non-linear relationship,
where the output voltage begins at 0V at a low PWM value, rises in both positive and negative
directions with increasing PWM, and eventually levels off at its saturation points of -12.55V and
+12.56V.

PWM Signal vs. Output Voltage Curve

PWM Signal Capture by DSO -


The PWM wave from capture by DSO at different duty ratio (𝛂) to represent different voltage level.

At 𝛂 = 0%, Vo = 0.01V At 𝜶 = 25%, Vo = 8.45V At 𝜶 = 50%, Vo = 10.59V

At 𝛂 = 75%, Vo = 12.09V At 𝛂 = 100%, Vo = 12.56V


Page - 18
8. Observation of Variation in Speed of DC Moto with Serial Command & Output Voltage:-

Experimental Setup -
To examine the effect of Serial Command and output voltage on DC motor speed, an Arduino Uno is
used to generate PWM signals sent to the Enable pin of an L293D motor driver IC. The PWM duty
cycle is controlled via serial input from a laptop or manually using a potentiometer connected to the
Arduino’s analog pin. The L293D is powered with a 12V DC supply (Vcc2) for the motor and 5V
(Vcc1) for logic.

A DC motor is connected to the IC’s output pins and rotates according to the PWM signal. The motor
speed is measured using a non-contact digital tachometer focused on a reflective strip on the shaft.
As the Serial Command or the potentiometer position changes the input value (0–1023), consequently
the 8-bit mapped PWM values (0–255) also changes. From the range of input (0 – 511) the output
varies from negative maximum value to zero and from the range (512 - 1023) the output varies from
zero to positive maximum. As the mapped value for this ranges is, for the range (0 – 511) PWM
mapped value is (255 - 0), and for the range (512 – 1023) PWM mapped value is (0 – 255). The direction
pins of the IC changes as the input shifts from 511 to 512 to ensure voltage reversal during operation.

As the duty cycle increases, the average output voltage rises, causing the motor to spin faster. A
Digital Storage Oscilloscope (DSO) monitors the PWM waveform, while a multimeter measures the
IC's output voltage under no-load conditions to eliminate the loading effect.

Arduino’s 5V External Source

Potentiomet
er

Micro DC
Brushed
Motor

DSO

Gnd
Theoretical Circuit Diagram

Simulation -
The simulation is conducted in Tinkercad Circuits to replicate the behavior of a PWM-controlled DC
motor system. An Arduino Uno is programmed to generate PWM signals based on input from either
the Serial Monitor or a potentiometer. These signals are sent to the Enable pin of the L293D motor
driver IC, powered by a 12V DC supply (Vcc2) and a 5V logic supply (Vcc1). A virtual DC motor is
connected to the output pins of the IC.

Page - 19
As input is given between 0 to 1023 via the Serial Monitor or the potentiometer, the input are mapped
in the code to 8-bit PWM values (0–255). The logic pins of the L293D are also controlled to allow
bidirectional motor rotation based on the input. As the duty cycle changes, the motor speed varies
accordingly, visually demonstrated in the simulation. A virtual oscilloscope displays the PWM
waveform, and a multimeter shows the changing average voltage at the output.

Overall, this Tinkercad simulation offers a clear visual representation of the system, making the
transition to practical implementation more straightforward.

Simulation on Tinkercad Circuits

Practical Setup -
In the practical setup, the Arduino Uno is connected to an L293D motor driver IC mounted on a
breadboard. Connections are made from the Arduino and an external 12V power supply. The output
terminals of the motor are connected to the L293D’s output pins.

PWM signals are controlled via serial input or a potentiometer connected to the Arduino. The
direction and speed of the motor change based on the mapped PWM values. A Digital Storage
Oscilloscope (DSO) is used to monitor the PWM waveform. Motor speed is measured using a non-
contact digital tachometer aimed at a reflective strip on the motor shaft. A multimeter is used to
measure the output voltage under no-load conditions.

Practical Measurement of Variation in Speed of DC Moto with Serial


Command & Output Voltage

Page - 20
9. Observation Tables & Waveforms of Variation in the Speed of DC Moto with Serial
Command & Output Voltage: -

Observation Table - Measurement of variation in speed of dc moto with serial command & output
voltage

Serial Input 8-Bit PWM Value Output Voltage Motor Speed


Sl. No.
(0 – 1023) (0 - 255) (V) (RPM)

1 0 255 -12.55 -2521


2 31 240 -12.55 -2306
3 63 224 -12.46 -2151
4 95 208 -12.3 -2063
5 127 192 -12.07 -1974
6 159 176 -11.78 -1880
7 191 160 -11.42 -1768
8 223 144 -11.02 -1648
9 255 128 -10.58 -1496
10 287 112 -10.1 -1311
11 319 96 -9.54 -1089
12 351 80 -9.02 -802
13 383 64 -8.44 -446
14 415 48 -7.83 0
15 447 32 -7.2 0
16 479 16 -6.53 0
17 511 0 0.01 0
18 543 16 6.54 0
19 575 32 7.2 272
20 607 48 7.83 1054
21 639 64 8.45 1609
22 671 80 9.03 2164
23 703 96 9.58 2669
24 735 112 10.1 3127
25 767 128 10.59 3565
26 799 144 11.04 3976
27 831 160 11.44 4332
28 863 176 11.79 4671
29 895 192 12.09 4968
30 927 208 12.32 5273
31 959 224 12.48 5580
32 991 240 12.56 5935
33 1023 255 12.56 6280

Page - 21
Serial Input vs. Motor Speed Curve -

This Serial Input verses Motor Speed curve illustrates motor speed as a function of serial input (0 to
1023), beginning at a negative maximum of -2512 RPM at input 0, showing a gradual increase up to
around – 446 RPM, then accelerating more rapidly, and finally plateauing near the positive maximum
of +6280 RPM at input 1023, reflecting saturation in speed. This curve shows how the motor speed
changes with serial input values (0–1023). At inputs below 511, the speed increases negatively,
representing reverse rotation. At 512, the direction changes, and speed increases positively, showing
forward rotation

Serial Input vs. Motor Speed Curve

Output Voltage vs. Motor Speed Curve -

This curve maps motor speed against output voltage of the L293D driver (-12.55V to +12.56V), As
voltage increases negatively, the motor spins in reverse, and as it becomes positive, it rotates forward.
Starting at -2512 RPM at -12.55V, hovering near 0 RPM in the -6V to +6V range with minimal change,
then rising sharply beyond +6V, reaching the positive maximum of +6280 RPM at +12.56V, indicating
confirming the linear relationship between voltage and speed until saturation.

Output Voltage vs. Motor Speed Curve


Page - 22
10. Price Chart: -

Sl. No. Name of Item Specification Quantity Price (₹) Cost (₹)

ATmega328P, 14 Digital I/O (6 PWM),


Arduino Uno
6 Analog In (10-bit), 32 KB Flash, 2 KB
1 SRAM, 1 KB EEPROM, 5V logic, 1 1,300 1,300
R3
USB/Barrel Jack, 16 MHz, 68.6×53.4
mm

DIP-16, Dual H-Bridge, 4.5–36V, 600


L239D Motor
mA/channel (1.2A peak), internal
2 clamp diodes, thermal protection, 1 30 30
Driving IC
switching freq. up to 5 kHz, -40°C to
+150°C

For DVD/CD drives, 9–12V, 0.03A @


Micro DC 9V, 2400 RPM, 25×13 mm body, 7×2
3 1 50 50
Brushed Motor mm shaft, -10°C to +60°C, RoHS
compliant

10k Multiturn cermet, 10kΩ ±10%, 0.5W, 25


4 Potentiometer turns, -55°C to +125°C, 3-pin, 1 15 15
(3296 W103) 9.53×4.83×10.03 mm, RoHS compliant

Carbon/metal film, ±5% (950–1050Ω),


5 1kΩ Resister 10 1 10
¼W at 70°C, -55°C to +155°C

Solderless, 830 tie points, 63×10 grid, 4


Breadboard power rails, nickel-phosphor bronze,
6 1 120 120
(MB102) 2A max, accepts 20–29 AWG,
165×54.5×8.5 mm, RoHS compliant

Male-male/female, 22 AWG tinned


7
Breadboard 50
copper, PVC, square pins (0.6 mm²), 1 pack 50
Jumper Wires
1A max, RoHS compliant

0.5 sq.mm tinned copper, 16/0.2 mm,


Connecting
8 1.5A max, 300V, PVC insulated, RoHS 3 meters 10/meter 30
Wires
compliant

Total Cost of Circuit Components 1605.00 ₹

Page - 23
11. Advantages & Disadvantages: -

Advantages of L293D-Based H-Bridge Motor Control with Arduino Uno R3 –

1. Precise Bidirectional Control - The L293D's H-bridge configuration allows and accurate
switching of the motor's direction (between forward and reverse motoring mode). Ideal for
systems requiring controlled two-way motion
2. Built-in Flyback Diodes - The integrated flyback diodes are essential for protecting the driver
circuitry and the Arduino from voltage spikes caused by motor back EMF. These diodes safely
dissipate the back EMF, ensuring the longevity and reliability of the system.
3. Cost and Space Efficiency - The L293D is an affordable and readily available that allows for the
control of two motors in a single chip. This contributes to both the cost-effectiveness and compact
circuit designs.
4. Effective PWM Speed Control - The L293D is designed to work seamlessly with the PWM signal
from a microcontrollers. By varying the duty cycle of the PWM signal, precise and smooth speed
control of the connected motors can be achieved.
5. Ease of Programming - The Arduino's user-friendly programming environment and extensive
libraries simplify the implementation of motor control logic. Functions like (digitalWrite()&
analogWrite()) allows for direction control, for PWM speed control and for reading analog
signal make it straightforward to manage motor behavior through software and hardware.
6. Dual Motor Control - A single L293D chip contains two independent H-bridge circuits, enabling
the simultaneous and independent control of two separate DC motors. This is a significant
advantage for projects requiring coordinated movement of multiple motors, such as differential
drive robots.

Drawback of L293D-Based H-Bridge Motor Control with Arduino Uno R3 –

1. Limited Current Handling - The L293D can supply only up to 600 mA per channel, which is
insufficient for high-power or large DC motors. This limitation can cause overheating or IC
failure when driving larger motors.
2. Voltage Drop Issues - Due to internal transistors of L293D motor driving IC, there's a voltage
drop (~1.5V–2V) across the output pins, reducing the effective voltage delivered to the motor.
This results in decreased motor speed and torque, impacting performance and reducing efficiency.
3. Lack of Protection Features - No built-in overcurrent, overtemperature, or undervoltage
protection increases vulnerability. This absence heightens the risk of damage to the IC or motor
during faults. Modern drivers with these features offer greater reliability.
4. Outdated Design - The L293D is based on older bipolar transistor technology, making it less
efficient compared to modern MOSFET-based motor drivers like the L298N or DRV8833. This
leads to higher power losses and reduced overall efficiency.
5. Thermal Limitations - The IC generates significant heat under continuous or heavy loads, often
requiring a heatsink. Without proper cooling, it risks thermal shutdown or damage. This adds
complexity to designs, especially in compact or enclosed systems.
6. Low Efficiency - Energy loss due to heat and voltage drop results in lower power efficiency,
which is critical in battery-powered applications. This inefficiency shortens battery life in portable
applications.

Page - 24
12. Application & Future Scope: -

Applications of L293D-Based DC Motor Control with Arduino Uno R3 –

Applications of H-Bridge Speed Control of Small DC Motors using L293D Motor Driver IC in
Conjugation with Arduino Uno R3 are,

1. Mini Robotics Projects – This setup can be used in small robotic projects where precise speed
control in both direction (i.e. clockwise and counter clockwise) based on the sensor input are
required such as line-following robots, obstacle-avoiding robots, and miniature robotic arms.
2. STEM and Educational Kits – It can be adopted in STEM education and electronics labs as a
training kits for teaching motor control basics, to demonstrate how to control speed and direction
of DC motor through H-bridge speed control system, and how the PWM speed regulation system
works by using Arduino.
3. Door Lock Prototypes - This setup can be used in smart lock models where the motor rotates to
lock or unlock doors based on input from a keypad or from other sensor.
4. Toy Cars and Vehicles - It Provides proportional speed and direction control for control the
movement and steering of small toy cars, allowing forward/reverse motion and speed control
based on input command.
5. 5. Miniature Fans or pump based Cooling Systems – in a cooling system speed of the motor
speed can be adjusted based on temperature sensor reading using Arduino.

Future Scope of L293D-Based DC Motor Control with Arduino Uno R3 –

1. Closed-Loop Feedback System - Future developments can integrate sensors like encoders or
Hall-effect sensors to create closed-loop systems that monitor and adjust motor speed and
direction in real-time for higher precision.
2. Enhanced Performance and Efficiency - Optimizing PWM control techniques and motor driver
configurations can lead to smoother operation, reduced power loss, and improved overall motor
efficiency.
3. Portable and Battery- Operated Systems - With advancements in battery technology, these setups
can be effectively used in portable devices, field robots, and mobile systems without dependence
on external power sources.
4. Smart Control - Machine learning algorithms and AI can be used to control motors intelligently
based on environmental inputs or user behavior, enabling adaptive automation in robotics and
home systems.
5. Graphical User Interfaces (GUIs) - Future implementations may include user-friendly GUIs (on
PCs or mobile devices) to control motor speed and direction wirelessly, enhancing user
interaction and remote operability.
6. Fault Detection Mechanisms - Incorporating real-time monitoring and diagnostic features can
help detect motor faults, overloads, or wiring issues, improving system safety and reliability.
7. Integration with IoT Platforms - The system can be extended to work with cloud-based IoT
platforms for data logging, analytics, and remote control over the internet.

Page - 25
13. Conclusion: -

In conclusion, we have successfully demonstrated the H-Bridge speed control of a DC motor using
the L293D motor driver IC integrated with an Arduino Uno R3 in this project. It was observed that
the L293D effectively enabled bidirectional motor control and precise speed regulation through PWM
signals from the Arduino. However, limitations such as the L293D’s significant voltage drop, limited
current handling, and lack of advanced protection features were noted, which impacted efficiency
and suitability for high-power applications. We also analyzed the system’s performance by varying
PWM duty cycles and recorded motor speed responses with inputs signals, as shown in the data table
and plotted speed vs. serial input curve for future reference in motor control applications.

14. Reference: -

Journals & Research Papers –

1. Academia.edu –
https://www.academia.edu/127826224/Speed_Control_of_DC_Motor_using_PID_Controller_
FED_H_Bridge
2. Researchgate.net –
https://www.researchgate.net/publication/317225711_H_Bridge_DC_Motor_Driver_Design_a
nd_Implementation_with_Using_dsPIC30f4011
3. Dronebotworkshop.com –
https://s3.amazonaws.com/download.dronebotworkshop.com/DBWS+-
+Controlling+DC+Motors+with+the+L298N+Dual+H-Bridge+and+an+Arduino.pdf
4. Ijeit.com –
https://www.ijeit.com/Special%20Issue/Volume%204/Issue%201/IJEIT_ICCCST10.pdf

Reference Website –

1. Arduino.cc –
https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf
2. Alldatasheet.com –
https://www.alldatasheet.com/datasheet-
pdf/view/22432/STMICROELECTRONICS/L293D.html
3. Tinkercad.com –
https://www.tinkercad.com/
4. lastminuteengineers.com –
https://lastminuteengineers.com/l293d-dc-motor-arduino-tutorial/

Page - 26

You might also like