DC Motor
DC Motor
DC Motor
INDEX
Page No
1. INTRODUCTION 01
2. WORKING PRINCIPLE 10
3. DESIGN PROCEDURE
3.1 Microcontroller 14
3.2 LCD 32
3.3 power supply 36
3.4 motor driving circuit 39
3.5 Buzzer 42
4 RESULT 61
5 APPLICATIONS, ADVANTAGES 64
6 CONCULSION 66
7 ALP PROGRAM 69
BIBLIOGRAPHY
1
Speed Control of DC motor
CHAPTER-1
2
Speed Control of DC motor
INTRODUCTION
One of the first electrmagnetic rotary motors was invented by Michael Faraday in 1821
magnet was placed in the middle of the pool. When a current was passed through the
wire, the wire rotated around the magnet, showing that the current gave rise to a circular
magnetic field around the wire. This motor is often demonstrated in school physics
classes, but brine is sometimes used in place of the toxic mercury. This is the simplest
form of a class of electric motors called homopolar motors. A later refinement is the
Barlow's Wheel.
DC motor
The reverse task that of converting mechanical motion into electrical energy, is
3
Speed Control of DC motor
identical except for their application and minor construction details.
DC motors are used when there is positioning requirement and also changes in load
The classic DC motor has a rotating legature in the form of an electromagnet. A rotary
switch called a commutator reverses the direction of the electric current twice every
cycle, to flow through the armature so that the poles of the electromagnet push and
against the permanent magnets on the outside of the motor. As the poles of the armature
electromagnet pass the poles of the permanent magnets, the commutator reverses the
polarity of the armature electromagnet. During that instant of switching polarity, inertia
keeps the classical motor going in the proper direction. (See the diagrams below.)
4
Speed Control of DC motor
The left side of the armature is pushed away from the left magnet and
5
Speed Control of DC motor
When the armature becomes horizontally aligned, the commutator reverses the direction
of current through the coil, reversing the magnetic field. The process then repeats
Wound field DC motor
the motor. Typically the field winding will be placed in series (series wound) with the
armature winding to get a high torque low speed motor, in parallel (shunt wound)
the armature to get a high speed low torque motor, or to have a winding partly in parallel,
and partly in series (compound wound) for a balance that gives steady speed over a range
of loads. Further reductions in field current are possible to gain even higher speed but
Speed control
applied to it, and the torque is proportional to the current. Speed control can be achieved
direction of a wound field DC motor can be changed by reversing either the field or
armature connections but not both, this is commonly done with a special set of contactors
(direction contactors).
controlled switching device made of thyristors, transistors, or, historically, mercury arc
rectifiers. In a circuit known as a chopper, the average voltage applied to the motor is
varied by switching the supply voltage very rapidly. As the "on" to "off" ratio is varied
to alter the average applied voltage, the speed of the motor varies.
The rapid switching wastes less energy than series resistors. Output filters smooth
7
Speed Control of DC motor
the average voltage applied to the motor and reduce motor noise.
Since the series-wound DC motor develops its highest torque at low speed, it is often
used in traction applications such as electric locomotives, and trams. Another application
Universal motors
A variant of the wound field DC motor is the universal motor. The name derives from
the fact that it may use AC or DC supply current, although in practice they are nearly
always used with AC supplies. The principle is that in a wound field DC motor the
current in both the field and the armature (and hence the resultant magnetic fields) will
alternate (reverse polarity) at the same time, and hence the mechanical force generated is
always the same. In practice the motor must be specially designed to cope with the AC
current (impedance must be taken into account), and the resultant motor is generally less
efficient than an equivalent pure DC motor. The maximum output of universal motors is
limited, and motors exceeding one kilowatt are rarely operated on commercial power
motors which have the typical characteristics of DC motors, specifically high starting
torque and very compact design if high running speeds are used. The negative aspect is
the maintenance and short life problems caused by the commutator. As a result such
motors are usually used in AC devices such as food mixers and power tools, which are
8
Speed Control of DC motor
easily accomplished using a thyristor circuit while stepped speed control can be
accomplished using multiple taps on the field coil. Household blenders that advertise
many speeds frequently combine a field coil with several taps and a diode that can be
inserted in series with the motor (causing the motor to run on half-wave DC with half the
Unlike AC motors, universal motors can easily exceed one revolution per cycle of the
mains current. This makes them useful for appliances such as blenders, vacuum cleaners,
and hair dryers where high-speed operation is desired. Many vacuum cleaner and weed
trimmer motors will exceed 10,000 RPM, Dremel and other similar miniature grinders
will often exceed 30,000 RPM. A universal motor allowed to operate with no mechanical
With the very low cost of semiconductor rectifiers, some applications that would have
previously used a universal motor now use a pure DC motor, usually with a permanent
magnet field. This is especially true if the semiconductor circuit is also used for variable-
speed control.
The advantages of the universal motor and alternating current distribution made
railway installations.
9
Speed Control of DC motor
10
Speed Control of DC motor
CHAPTER-2
11
Speed Control of DC motor
In this system, a micro controller is interfaced with a LCD, Keypad and DC motor
driver. The Micro controller is used for controlling the DC motor by produsing the
PWM pulses. These pulse widths are produced according to the key pad register
values which are allotted by MC. The LCD is used for user interface. Linear
When we switch on the power, Micro controller (MC) is reset by power through
the reset circuit. It produces one high pulse and continues low pulse. During the
high pulse the program counter is set to “0000h”. During low pulse the program
counter starts its count and the remaining operations are executed.
First the MC sends the signals to the LCD to display the message, such as project
title etc…this also indicate the reset of MC to the user. Next it monitors the
keypad. If the up or down key is pressed by the user the MC update the
corresponding registors .
12
Speed Control of DC motor
If not it will take the existed values of register and produce PWM signals to DC motor
driver circuit . the DC motor circuit’s transistor will on\off according to PWM pulses.the
MOSFET ON when the transistor is off state and it is in off condition when the transistor
is in on state. Here by rapid switching of MOSFET, the effective voltage is created and
The resultant effective voltage is vary according to the duration of the ON period of the
each pulse.if the ON pulse is decresses ,the effective voltage will decreases so, speed of
The pulse width is depending on the up and down keys registers value. User edits these
13
Speed Control of DC motor
LCD
DC Motor
driver circuit
89C51 Micro
Controller
DC Motor
Keypad
In this project at89C51 micro controller is used as speed controller. In this block
diagram we are using one keypad, LCD, one driver circuit for DC motor and
DCMotor.
14
Speed Control of DC motor
Here the keypad is used for adjusting the speed of DC motor i.e. one key for
CHAPTER-3
15
Speed Control of DC motor
DESIGN PROCEDURE
Looking back into the history of microcomputers, one would at first come across the
development of microprocessor i.e. the processing element, and later on the peripheral
devices. The three basic elements-the CPU, I/O devices and memory-have developed in
distinct directions. While the CPU has been the proprietary item, the memory devices fall
into general-purpose category and the I/O devices may be grouped somewhere in-
between.
bytes of Flash programmable and erasable read only memory (PEROM). The device is
compatible with the industry-standard MCS-51 instruction set and pin out. The on-chip
16
Speed Control of DC motor
Flash allows the program memory to be reprogrammed in-system or by a conventional
The AT89C51 provides for 4k EPROM/ROM, 128 byte RAM and 32 I/O lines. It also
Lack of multiply and divide instructions which had been always felt in 8-bit
microprocessors/micro controllers, has also been taken care of in the 89C51- Thus the
89C51 may be called nearly equivalent of the following devices on a single chip: 8085 +
UART
Description
The AT89C51 is a low-power, high-performance CMOS 8-bit microcomputer with 4K
bytes of flash programmable and erasable read only memory (PEROM). The device
compatible with the industry standard MCS-51 instruction set and pinout. The on-
control applications.
18
Speed Control of DC motor
19
Speed Control of DC motor
20
Speed Control of DC motor
Salient features
The 89C51 can be configured to bypass, the internal 4k ROM and run solely with
external program memory. For this its external access (EA) pin has to be grounded,
which makes it equivalent to 8031. The program store enable (PSEN) signal acts as read
pulse for program memory. The data memory is external only and a separate RD*
Use of external memory requires that three of its 8-bit ports (out of four) are configured
to provide data/address multiplexed bus. Hi address bus and control signals related to
external memory use. The RXD and TXD ports of UART also appear on pins 10 and
11 of 8051 and 8031, respectively. One 8-bit port, which is bit addressable and,
The UART utilizes one of the internal timers for generation of baud rate. The crystal used
for generation of CPU clock has therefore to be chosen carefully. The 11.0596 MHz
The 256-byte address space is utilized by the internal RAM and special function registers
(SFRs) array which is separate from external data RAM space of 64k. The 00-7F space is
occupied by the RAM and the 80 - FF space by the SFRs. The 128 byte internal RAM
30- 7F: This area is used for temporary storage, pointers and stack. On
The list of special function registers along with their hex addresses is
given :
Addr. Port/Register
80 P0 (Port 0)
81 SP (stack pointer)
82 DPH (data pointer High)
83 DPL (data pointer Low)
88 TCON (timer control)
89 TMOD (timer mode)
8A TLO (timer 0 low byte)
8B TL1 (timer 1 low byte)
8C TH0 (timer 0 high byte)
8D TH1 (timer 1 high byte)
90 P1 (port 1)
98 SCON (serial control)
99 SBUF (serial buffer)
A0 P2 (port 2)
A8 Interrupt enable (IE)
B0 P3 (port 3)
B8 Interrupt priority (IP)
D0 Processor status word (PSW)
E0 Accumulator (ACC)
F0 B register
22
Speed Control of DC motor
Table– AT89C51 SFR
Hardware details
The on chip oscillator of 89C51 can be used to generate system clock. Depending upon
version of the device, crystals from 3.5 to 12 MHz may be used for this purpose. The
system clock is internally divided by 6 and the resultant time period becomes one
cycles to execute, and very occasionally three processor cycles. The ALE (address
latch enable) pulse rate is 16th of the system clock, except during access of internal
the software, apart from the count stored in the two bytes of the timer control registers.
One of the counters, as mentioned earlier, is used for generation of baud rate clock for the
UART. It would be of interest to know that the 8052 have a third timer, which is usually
The reset input is normally low and taking it high resets the micro controller, In the
present hardware, a separate CMOS circuit has been used for generation of reset signal so
The 89C51 has been specifically developed for control applications. As mentioned
earlier, out of the 128 bytes of internal RAM, 16 bytes have been organized in such a way
that all the 128 bits associated with this group may be accessed bit wise to facilitate their
use for bit set/reset/test applications. These are therefore extremely useful for programs
involving individual logical operations. One can easily give example of lift for one such
application where each one of the floors, door condition, etc may be depicted by a single
hit. The 89C51 has instructions for bit manipulation and testing. Apart from these, it has
8-bit multiply and divide instructions, which may be used with advantage. The 89C51 has
short branch instructions for 'within page' and conditional jumps, short jumps and calls
within 2k memory space which are very convenient, and as such the controller seems to
favor programs which are less than 2k byte long. Some versions of 8751 EPROM devices
have a security bit which can be programmed to lock the device and then the contents of
internal program EPROM cannot be read. The device has to be erased in full for further
alteration, and thus it can only be reused but not copied. EEPROM and FLASH memory
24
Speed Control of DC motor
Memory unit
Memory is part of the micro controller whose function is to store data. The easiest way
to explain it is to describe it as one big closet with lots of drawers. If we suppose that we
marked the drawers in such a way that they cannot be confused, any of their contents will
then be easily accessible. It is enough to know the designation of the drawer and so its
Memory components are exactly like that. For a certain input we get the contents of a
certain addressed memory location and that’s all. Two new concepts are brought to us:
addressing and memory location. Memory consists of all memory locations, and
addressing is nothing but selecting one of them. This means that we need to select the
desired memory location on one hand, and on the other hand we need to wait for the
contents of that location. Besides reading from a memory location, memory must also
provide for writing onto it. This is done by supplying an additional line, called control
line. We will designate this line as R/W (read/write). Control line is used in the following
way: if r/w=1, reading is done, and if opposite is true then writing is done on the memory
location.Memory is the first element, and we need a few operation of our micro
controller.
25
Speed Control of DC motor
Pin Description
VCC
Supply voltage.
GND
Ground.
Port 0
1.Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can sink
eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high
impedance inputs.
2.Port 0 may also be configured to be the multiplexed low order address/data bus during
accesses to external program and data memory. In this mode P0 has internal pull-ups.
3.Port 0 also receives the code bytes during Flash programming, and outputs the code
bytes during program verification. External pull-ups are required during program
verification.
Port 1
1.Port 1 is an 8-bit bi-directional I/O port with internal pullups. The Port 1 output buffers
can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled high
by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are
externally being pulled low will source current (IIL) because of the internal pull-ups
Port 1 also receives the low-order address bytes during Flash programming and
verification.
Port 2
1.Port 2 is an 8-bit bi-directional I/O port with internal pullups. The Port 2 output buffers
can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high
26
Speed Control of DC motor
by the internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally
being pulled low will source current (IIL) because of the internal pullups.
2.Port 2 emits the high-order address byte during fetches from external program memory
and during accesses to external data memory that use 16-bit addresses (MOVX @DPTR).
In this application, it uses strong internal pull-ups when emitting 1s. During accesses to
external data memory that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents
of the P2 Special Function Register. Port 2 also receives the high-order address bits and
some control signals during Flash programming and verification.
Port 3
1.Port 3 is an 8-bit bi-directional I/O port with internal pullups. The Port 3 output buffers
can sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled high
by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally
being pulled low will source current (IIL) because of the pullups.
2.Port 3 also serves the functions of various special features of the AT89C51 as listed
below:
27
Speed Control of DC motor
Port 3 also receives some control signals for Flash programming and verification.
RST
Reset input. A high on this pin for two machine cycles while the oscillator is running
resets the device.
ALE/PROG
Address Latch Enable output pulse for latching the low byte of the address during
accesses to external memory. This pin is also the program pulse input (PROG) during
Flash programming. In normal operation ALE is emitted at a constant rate of 1/6 the
oscillator frequency, and may be used for external timing or clocking purposes. Note,
however, that one ALE pulse is skipped during each access to external Data Memory. If
desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit
set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is
weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in
external execution mode.
PSEN
Program Store Enable is the read strobe to external program memory. When the AT89C51
is executing code from external program memory, PSEN is activated twice each machine
cycle, except that two PSEN activations are skipped during each access to external data
memory.
EA/VPP
External Access Enable. EA must be strapped to GND in order to enable the device to
fetch code from external program memory locations starting at 0000H up to FFFFH.
Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset.
28
Speed Control of DC motor
EA should be strapped to VCC for internal program executions. This pin also receives the
12-volt programming enable voltage (VPP) during Flash programming, for parts that
require 12-volt VPP.
XTAL1
Input to the inverting oscillator amplifier and input to the internal clock operating circuit.
XTAL2
Output from the inverting oscillator amplifier.
Oscillator Characteristics
XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier
which can be configured for use as an on-chip oscillator, as shown in Figure 1. Either a
quartz crystal or ceramic resonator may be used. To drive the device from an external
clock source, XTAL2 should be left unconnected while XTAL1 is driven as shown in
Figure 2.There are no requirements on the duty cycle of the external clock signal, since
the input to the internal clocking circuitry is through a divide-by-two flip-flop, but
minimum and maximum voltage high and low time specifications must be observed.
Idle Mode
In idle mode, the CPU puts itself to sleep while all the onchip peripherals remain active.
The mode is invoked by software. The content of the on-chip RAM and all the special
functions registers remain unchanged during this mode. The idle mode can be terminated
by any enabled interrupt or by a hardware reset. It should be noted that when idle is
terminated by a hard ware reset, the device normally resumes program execution, from
where it left off, up to two machine cycles before the internal reset algorithm takes
control. On-chip hardware inhibits access to internal RAM in this event, but access to the
29
Speed Control of DC motor
port pins is not inhibited. To eliminate the possibility of an unexpected write to a port pin
when Idle is terminated by reset, the instruction following the one that invokes Idle
should not be one that writes to a port pin or to external memory.
30
Speed Control of DC motor
Power-down Mode
In the power-down mode, the oscillator is stopped, and the instruction that invokes
power-down is the last instruction executed. The on-chip RAM and Special Function
Registers retain their values until the power-down mode is terminated. The only exit from
power-down is a hardware reset. Reset redefines the SFRs but does not change the on-
chip RAM. The reset should not be activated before VCC is restored to its normal
operating level and must be held active long enough to allow the oscillator to restart and
stabilize.
Program Memory Lock Bits
On the chip are three lock bits which can be left unprogrammed (U) or can be
programmed (P) to obtain the additional features listed in the table below.
1.When lock bit 1 is programmed, the logic level at the EA pins sampled and latched
during reset. If the device is powered up without a reset, the latch initializes to a random
31
Speed Control of DC motor
value, and holds that value until reset is activated. It is necessary that the latched value of
EA be in agreement with the current logic level at that pin in order for the device to
function properly.
32
Speed Control of DC motor
The AT89C51 code memory array is programmed byte-byte in either programming mode.
To program any nonblank byte in the on-chip Flash Memory, the entire memory must be
erased using the Chip Erase Mode.
Programming Algorithm
Before programming the AT89C51, the address, data and control signals should be set up
according to the Flash programming mode table and Figure 3 and Figure 4. To program
the AT89C51, take the following steps.
1. Input the desired memory location on the address lines.
2. Input the appropriate data byte on the data lines.
3. Activate the correct combination of control signals.
33
Speed Control of DC motor
The progress of byte programming can also be monitored by the RDY/BSY output
signal. P3.4 is pulled low after ALE goes high during programming to indicate BUSY.
P3.4 is pulled high again when programming is done to indicate READY.
Program Verify:
If lock bits LB1 and LB2 have not been programmed, the programmed code data can be
read back via the address and data lines for verification. The lock bits cannot be verified
directly. Verification of the lock bits is achieved by observing that their features are
enabled.
Chip Erase:
The entire Flash array is erased electrically by using the proper combination of control
signals and by holding ALE/PROG low for 10 ms. The code array is written with all
“1”s. The chip erase operation must be executed before the code memory can be re-
programmed.
Reading the Signature Bytes:
The signature bytes are read by the same procedure as a normal verification of locations
030H, 031H, and 032H, except that P3.6 and P3.7 must be pulled to a logic low. The
values returned are as follows.
Programming Interface
Every code byte in the Flash array can be written and the entire array can be erased by
using the appropriate combination of control signals. The write operation cycle is
34
Speed Control of DC motor
selftimed and once initiated, will automatically time itself to completion. All major
programming vendors offer worldwide support for the Atmel microcontroller series.
Please contact your local programming vendor for the appropriate software revision.
Let add 3 more memory locations to a specific block that will have a built in capability to
multiply, divide, subtract, and move its contents from one memory location onto another.
The part we just added in is called “central processing unit” (CPU). Its memory locations
Registers are therefore memory locations whose role is to help with performing various
mathematical operations or any other operations with data wherever data can be found.
Look at the current situation. We have two independent entities (memory and CPU),
which are interconnected, and thus any exchange of data is hindered, as well as its
functionality. If, for example, we wish to add the contents of two memory locations and
return the result again back to memory, we would need a connection between memory
and CPU. Simply stated, we must have some “way” through data goes from one block to
another.
35
Speed Control of DC motor
Bus
That “way” is called “bus”. Physically, it represents a group of 8, 16, or more wires.
There are two types of buses: address and data bus. The first one consists of as many
lines as the amount of memory we wish to address, and the other one is as wide as data,
in our case 8 bits or the connection line. First one serves to transmit address from CPU
memory, and the second to connect all blocks inside the micro controller.
Input-output unit
Those locations we’ve just added are called “ports”. There are several types of ports:
input, output or bi-directional ports. When working with ports, first of all it is necessary
to choose which port we need to work with, and then to send data to, or take it from the
port. When working with it the port acts like a memory location. Something is simply
being written into or read from it, and it could be noticed on the pins of the micro-
controller.
LCD
36
Speed Control of DC motor
A general purpose alphanumeric LCD, with two lines of 16 characters.
LCDs with a small number of segments, such as those used in digital watches and pocket
calculators, have a single electrical contact for each segment. An external dedicated
circuit supplies an electric charge to control each segment. This display structure is
Small monochrome displays such as those found in personal organizers, or older laptop
layer STN (DSTN) technology (DSTN corrects a color-shifting problem with STN).
because the pixel must retain its state between refreshes without the benefit of a steady
electrical charge. As the number of pixels (and, correspondingly, columns and rows)
increases, this type of display becomes increasingly less feasible. Very slow response
For high-resolution color displays such as modern LCD computer monitors and
added to the polarizing and color filters. Each pixel has its own dedicated transistor,
which allows each column line to access one pixel. When a row line is activated, all of
37
Speed Control of DC motor
the column lines are connected to a row of pixels and the correct voltage is driven onto
all of the column lines. The row line is then deactivated and the next row line is activated.
All of the row lines are activated in sequence during a refresh operation. Active-matrix
displays are much brighter and sharper than passive-matrix displays of the same size, and
The most common connector used for the 44780 based LCDs is 14 pins in a row, with pin
Pins Description
1 Ground
2 Vcc
3 Contrast Voltage
4 "R/S" _Instruction/Register Select
5 "R/W" _Read/Write LCD Registers
6 "E" Clock
7 - 14 Data I/O Pins
As you would probably guess from this description, the interface is a parallel bus,
allowing simple and fast reading/writing of data to and from the LCD.
This waveform will write an ASCII Byte out to the LCD's screen. The ASCII
code to be displayed is eight bits long and is sent to the LCD either four or eight
bits at a time.
38
Speed Control of DC motor
If four bit mode is used, two "nybbles" of data (Sent high four bits
and then low four bits with an "E" Clock pulse with each nybble) are sent to make
up a full eight bit transfer. The "E" Clock is used to initiate the data transfer
Sending parallel data as either four or eight bits are the two primary modes of
operation. While there are secondary considerations and modes, deciding how to
send the data to the LCD is most critical decision to be made for an LCD interface
application.
Eight bit mode is best used when speed is required in an application and at least
ten I/O pins are available. Four bit mode requires a minimum of six bits. To wire
a microcontroller to an LCD in four bit mode, just the top four bits (DB4-7) are
written .
The "R/S" bit is used to select whether data or an instruction is being transferred
between the microcontroller and the LCD. If the Bit is set, then the byte at the
current LCD "Cursor" Position can be read or written. When the Bit is reset,
either an instruction is being sent to the LCD or the execution status of the last
39
Speed Control of DC motor
The different instructions available for use with the 44780 are shown in the table below:
0 0 0 0 0 0 0 0 0 1 Clear Display
0 0 0 0 0 0 1 D C B Enable Display/Cursor
0 0 0 0 0 1 SC RL * * Move Cursor/Shift Display
0 0 0 0 1 DL N F * * Set Interface Length
0 0 0 1 A A A A A A Move Cursor into CGRAM
40
Speed Control of DC motor
Power supply
Power supply unit provides 5V regulates power supply to the systems. It consists
1. Rectifier
41
Speed Control of DC motor
2. Monolithic voltage regulator
Rectifier
Here the step down transformer 230-0v/12v-0-12v and gives the secondary current up to
1000mA, to the Rectifier. The Transformer secondary is provided with a center tap.
Hence the voltage V1 and V2 are equal and are having a phase difference of 1800. So it is
anode of Diode D1 is positive with respect to the center tap, the anode of the other diode
During the positive half cycle of the supply D1 conduct’s and current flows through the
center tap D1 and load. During this period D2 will not conduct as its anode is at a
negative potential. During the negative half cycle of the supply voltage, the voltage on
the diode D2 will be positive and hence D2 conducts. The current flows through the
transformer winding, Diode D2 and load. It is to be noted that the current i1 and i2 are
The average of the two current i1 and i2 flows through the load producing a voltage drop,
which is the D.C. output voltage of the rectifier. Using capacitor filters the ripple in the
out waveform can be minimized. The voltage can be regulated by using monolithic IC
voltage regulators.
42
Speed Control of DC motor
Typical performance parameters for voltage regulators are line regulation, load
regulation, temperature stability and ripple rejection. Line regulation is defined as the
change in output voltage for a change in the input voltage and is usually expressed in
change in output voltage per unit change in temperature and is expressed in either milli
volts/ºC or parts per million (PPM/ºC). ripple rejection is the measure of a regulator’s
43
Speed Control of DC motor
ability to reject ripple voltage. It is usually expressed in decibels. The smaller the values
of line regulation, load regulation and temperature stability the better the regulation.
44
Speed Control of DC motor
The above circuit is for driving the DC motor .in this circuit the MOSFET is used as
switch for DC motor with high current handling capacity. The transistor is used as switch
MOSFET
The metal oxide semiconductor field-effect transistor (MOSFET), is by far the most
common field-effect transistor in both digital and analog circuits. The MOSFET is
(The 'metal' in the name is an anachronism from early chips where gates were metal;
modern chips use polysilicon gates, but are still called MOSFETs).
Usually the semiconductor of choice is silicon, but some chip manufacturers, most
notably IBM, have begun to use a mixture of silicon and germanium (SiGe) in MOSFET
silicon, such as gallium arsenide, do not form good gate oxides and thus are not suitable
and is almost synonymous with "MOSFET", though it can refer to FETs with a gate
45
Speed Control of DC motor
insulator that is not oxide.
used will be explained below) placed over the channel, but separated from the channel by
a thin insulating layer of what was traditionally silicon dioxide, but more advanced
the electric field generated penetrates through the oxide and creates a
so-called "inversion channel" in the channel underneath. The inversion channel is of the
same type—p-type or n-type—as the source and drain, so it provides a conduit through
which current can pass. Varying the voltage between the gate and body modulates the
conductivity of this layer and makes it possible to control the current flow between drain
and source.
When the output of the controller is high, the base current Iв flows in to base of the
transistor, thus providing voltage drop more then 0.7V across the Vвe junction, thus the
transistor goes in to saturation mode. So the Ic is maximum and the voltage drop across
46
Speed Control of DC motor
the Vce junction is zero. I.e. the input to MOSFET is zero. So the MOSFET will not
If the output of the controller is low, the base current Iв is zero, thus providing voltage
drop less then 0.1V across the Vвe junction, thus the transistor goes in to cut-off mode.
So the Ic is minimum and the voltage drop across the Vce junction is maximum. I.e. the
input to MOSFET is almost Vcc. So the MOSFET will conduct and stepper motor coil
get energized.
For driving of motor coils, we used IRF540 MOSFET, which are having low on-state
resistance so that the dissipation is less, fast switching and low thermal resistance.
This MOSFET is driven by BC548 transistor. For each motor four MOSFET sections are
required.
BUZZER
47
Speed Control of DC motor
The buzzer is a sound-producing module it will generate continuous sound when the +5V
is available. The transistor act as a switch and it follows the commands from MC. if the
base of the transistor is low the buzzer in off condition due to transistor in cutoff state,
and it will give sound when the base is in high logic due to transistor is in active state.
48
Speed Control of DC motor
Speed Controllers
Introduction
The purpose of a motor speed controller is to take a signal representing the demanded
speed, and to drive a motor at that speed. The controller may or may not actually measure
the speed of the motor. If it does, it is called a Feedback Speed Controller or Closed Loop
Speed Controller, if not it is called an Open Loop Speed Controller. Feedback speed
control is better, but more complicated, and may not be required for a simple robot
design.
Motors come in a variety of forms, and the speed controller's motor drive output will be
different dependent on these forms. The speed controller presented here is designed to
drive a simple cheap starter motor from a car, which can be purchased from any scrap
yard. These motors are generally series wound, which means to reverse them, they must
be altered slightly.
Below is a simple block diagram of the speed controller. We'll go through the important
49
Speed Control of DC motor
the supply voltage from 12 Volts to 6 Volts, the motor will run at half the speed. How can
The speed controller works by varying the average voltage sent to the motor. It could do
this by simply adjusting the voltage sent to the motor, but this is quite inefficient to do. A
better way is to switch the motor's supply on and off very quickly. If the switching is fast
enough, the motor doesn't notice it, it only notices the average effect.
When you watch a film in the cinema, or the television, what you are actually seeing is a
series of fixed pictures, which change rapidly enough that your eyes just see the average
effect - movement. Your brain fills in the gaps to give an average effect.
Now imagine a light bulb with a switch. When you close the switch, the bulb goes on and
is at full brightness, say 100 Watts. When you open the switch it goes off (0 Watts). Now
if you close the switch for a fraction of a second, then open it for the same amount of
time, the filament won't have time to cool down and heat up, and you will just get an
50
Speed Control of DC motor
average glow of 50 Watts.
used by speed controllers to drive a motor. When the switch is closed, the motor sees 12
Volts, and when it is open it sees 0 Volts. If the switch is open for the same amount of
time as it is closed, the motor will see an average of 6 Volts, and will run more slowly
accordingly.
As the amount of time that the voltage is on increases compared with the amount of time
Semiconductor Field Effect Transistor) is a device that can turn very large currents on
and off under the control of a low signal level voltage. For more detailed information, see
The time that it takes a motor to speed up and slow down under switching conditions is
dependant on the inertia of the rotor (basically how heavy it is), and how much friction
and load torque there is. The graph below shows the speed of a motor that is being turned
51
Speed Control of DC motor
You can see that the average speed is around 150, although it varies quite a bit. If the
supply voltage is switched fast enough, it won’t have time to change speed much, and the
speed will be quite steady. This is the principle of switch mode speed control. Thus the
Inductors
Before we go on to discuss the circuits, we must first learn something about the action of
inductive loads, and inductors. Inductors do not allow the current flowing through them
to change instantly (in the same way capacitors do not allow the voltage across them to
change instantly). The voltage dropped across an inductor carrying a current i is given by
52
Speed Control of DC motor
the equation
where di/dt is the rate of change of the current. If the current is suddenly changed by
opening a switch, or turning a transistor off, the inductor will generate a very high
voltage across it. For example, turning off 100 Amps in 1 microsecond through a 100
PWM frequency
The frequency of the resulting PWM signal is dependant on the frequency of the ramp
waveform. What frequency do we want? This is not a simple question. Some pros and
cons are:
Frequencies between 20Hz and 18kHz may produce audible screaming from the
speed controller and motors - this may be an added attraction for your robot!
RF interference emitted by the circuit will be worse the higher the switching
frequency is.Each switching on and off of the speed controller MOSFETs results
in a little power loss. Therefore the greater the time spent switching compared
with the static on and off times, the greater will be the resulting 'switching loss' in
the MOSFETs.
The higher the switching frequency, the more stable is the current waveform in
53
Speed Control of DC motor
frequencies, but at high frequencies the inductance of the motor will smooth this
spikyness will cause greater power loss in the resistances of the wires, MOSFETs,
This third point can be seen from the following two graphs. One shows the worst case on-
off current waveform, the other the best case steady DC current waveform:
Both waveforms have the same average current. However, when we work out the power
dissipation in the stray resistances in our motor and speed controller, for the DC case:
54
Speed Control of DC motor
Regeneration
In this circuit, energy can flow only one way, from the battery to the motor. When the
speed demand of the motor drops suddenly, the momentum of the robot will drive the
motor forwards, and the motor will act as a generator. In the circuit above, this power
cannot go anywhere. Although this isn’t a problem, it is desirable that this power be put
back into the battery. This is called regenerative braking and needs some extra
In this circuit, Q1 and D1 perform the same function as in the previous circuit. Q2 is
turned on in antiphase to Q1. This means that when Q1 is on, Q2 is off, and when Q1 is
off, Q2 is on.
In this circuit, when the robot is slowing down, Q1 is off and the motor is acting as a
generator. The current can flow backwards (because the motor is generating) through Q2
which is turned on. When Q2 turns off, this current is maintained by the inductance, and
current will flow up through D2 and back into the battery. A graph of motor current as
55
Speed Control of DC motor
the motor is slowing down is shown below:
If you are driving starter motors, or any type of series-field motor, regeneration is harder
to make work. For a motor to work as a generator, it must have a magnetic field,
generated by the field coil. In a series motor this is in series with the armature coil, so to
generate a voltage, a suitable current must be flowing. The current that will flow depends
on the load, which during regeneration is the battery, so it depends on how much the
battery is charged up - how much current the battery will draw into it. Alternatively, a
dummy resistive load can be switched in at the approriate time, but this is all a little too
Reversing
To reverse a DC motor, the supply voltage to the armature must be reversed, or the
magnetic field must be reversed. In a series motor, the magnetic field is supplied from the
56
Speed Control of DC motor
supply voltage, so when that is reversed, so is the field, therefore the motor would
When the relays are in the position shown, current will flow vertically upwards through
the field coil. To reverse the motor the relays are switched over. Then the current will be
flowing vertically downwards through the field coil, and the motor will go in reverse.
However, when the relays open to reverse the direction, the inductance of the motor
generates a very high voltage which will spark across the relay contact, damaging the
relay. Relays which can take very high currents are also quite expensive. Therefore this is
not a very good solution. A better solution is to use what is termed a full-bridge circuit
around either the field winding, or the armature winding. We will put it around the
57
Speed Control of DC motor
armature winding and leave the field winding in series.
A full bridge circuit is shown in the diagram below. Each side of the motor can be
connected either to battery positive, or to battery negative. Note that only one MOSFET
on each side of the motor must be turned on at any one time otherwise they will short out
When the MOSFETs in the diagrams above are on and current is flowing through them in
a top-to-bottom direction, they have a very low resistance and are dissipating hardly any
heat at all.
diodes, there is a fixed voltage across them - the voltage drop of a diode, about 0.8 volts.
This causes quite a large power dissipation (volts x amps). A feature of MOSFETs is that
they will conduct current from source to drain as well as drain to source, as long as the
Vgs is greater than 10-12 volts. Therefore, if the MOSFETs that are carrying reversed
current through their diodes are turned on, then they will dissipate a lot less heat. The
heat will be dissipated in the wires and the motor itself instead. This extra switching is
The PWM signals can be generated in a number of ways. It is possible that your radio
58
Speed Control of DC motor
receiver already picks up a PWM waveform from the handest transmitter. If there is a
microcontroller on the robot, this may be able to generate the waveform, although if you
have more than a couple of motors, this may be too much of a load on the
Analogue electronics
The PWM signal is generated by comparing a triangular wave signal with a DC signal.
The DC signal can range between the minimum and maximum voltagesof the triangle
wave.
When the triangle waveform voltage is greater than the DC level, the output of the op-
amp swings high, and when it is lower, the output swings low. From the graph it can be
seen that if the DC level went higher, the pulses would get even thinner.
An example circuit for this is shown below. This uses a counter and weighted resistor
ladder to generate the triangle wave (in fact it will generate a sawtooth, but you'll still get
a PWM signal at the end of it). The actual resistor values which are unavailable (40k,
80k) can be made up with 20k resistors, or close approximations can be used, which may
59
Speed Control of DC motor
distort the sawtooth somewhat, but this shouldn't matter too much.
The 74HC14 is a Schmitt input inverter, which is connected to act as a simple oscillator.
f = 1/(2.PI.R.C)
but it doesn’t matter a great deal within a few tens of percent. This square wave generated
Many roboteers will be using commercial radio control sets. The receivers of these
generally connect to servos, which respond to the radio signal (which may also be
PWM)
You may be able to tap into the PWM signal which comes out of the radio receiver
before it goes into the servo, and use this to drive the input to the MOSFET driver.
60
Speed Control of DC motor
potentiometer can generate a voltage to feed into the PWM generator.
A more advanced method if you have a microcontroller on board the robot is to take the
PWM signal from the radio receiver and connect it to a timer input of the micro. The
analogue output value (if it has ADCs, or if an external ADC is fitted). Another even
more advanced method is to send serial communications data through the radio channel.
The radio control handset will need to have a microcontroller in. The microcontroller
should read the pots and switches on the handset, and send suitable commands out of its
UART. This connects to the radio transmitter. At the receiver, the demodulated output is
Current limiting
Current limiting is absolutely essential. If the motor is stalled, it can take huge currents
which would destroy the MOSFETs very quickly. The form of current limiting presented
here is to measure the current that the motor is taking, and if it is above a preset
threshold, turn the MOSFETs in the bridge off. If you have a microcontroller on board
which generates the PWM ratio, it would be an advantage if the software could detect the
over- current status, and reduce the PWM ratio by, say, 10%.
The shunt resistor R7 in the cicuit must be a very low value if we want large currents to
be able to flow, up to 100 Amps for example. It must not drop too much voltage, thereby
61
Speed Control of DC motor
robbing power from the motor, and it must be capable of dissipating the power without
buring out when large currents are passed through. Some suitable resistors are available
from Farnell, code 156-267. These are still too large a resistance (and too low power), so
we can place eight in parallel. The power handling capabilty is then increased eightfold,
The square wave is the PWM voltage and the slopey waveform is the drain
(motor) current. The spikey bits at the top of the slopey waveform is when the current
Some circuits you may see sample the current going through the main power MOSFET
by placing a much lower power MOSFET in parallel with it. This works OK, but the
62
Speed Control of DC motor
problem is the actual limiting
current is dependant on the value of Rds(on) of the MOSFET. If Rds(on) was only half
the value we were expecting it to be, then twice as much current would flow before the
limiting circuit took effect. Also the Rds(on) value depends very much on the current that
is passing through the MOSFET, and on the temperature. Any variation in Rds(on) will
The Rds(on) figure is quoted as a maximum value on the datasheet, but it is not a design-
safe parameter.
This means that it is not within defined limits which are published on the
datasheet. For example, CMOS digital logic guarantees that the output voltage, Vo, will
be between Vcc-0.5v and Vcc, and that figure can be used to design circuits which rely
on that figure. However, with Rds(on), we only know that it will be between 0 and the
quoted value. We cannot rely on a minimum value of it, yet it is the minimum value
which controls the current limit. Therefore, using a separate shunt resistor is a much safer
method.
One problem with the circuit presented above is that you may want to provide a larger
current limiting using a separate line from any onboard microcontroller, or by adding a
circuit which allows an over-current condition for just a short time. The amount of time
that this is allowed must be carefully calculated to prevent damage to the MOSFETs, and
63
Speed Control of DC motor
must take into account the cooling system that you have provided.
An alternative to using the op-amp differential amplifier circuit used above is to use an
If a DC motor is being driven by a speed controller with current limiting active, what
The DC Motors page describes the normal motor torque speed graph, and how the torque
however, the torque must also be limited, at the value coincident with the limited current
on the torque-current graph. The effect that this has on the torque speed graph is shown
below:
As the load torque increases, the speed drops - we are following the line in the torque
speed characteristic from the left hand side towards the right, drooping down. This is the
same as the uncontrolled motor. The motor torque always equals the load torque when
the motor is running at constant speed (this follows from Newton's first law - "An object
64
Speed Control of DC motor
in motion tends to stay in motion with the same speed and in the same direction unless
acted upon by an unbalanced force." The motor torque and load torque must be balanced
Let's call the current limit value iL and the equivalent torque value on the torque-current
graph at this current is TL. When the load torque exceeds TL, the motor can no longer
create an equal and opposite torque, and so the load will push the motor backwards in the
opposite direction - we are now following the line as it drops downwards into negative
speed.
Let's take an example; an opponent's robot is more powerful than ours (or his current
limit is set higher), and we are in a pushing match. As each pushes harder, our speed
controller reaches its current limit first. Our robot is now pushing at a constant force
As the opponent pushes harder, our wheels start to rotate backwards, and the pair of
F=ma or a=F/m
where F is the difference between the forces of the two robots pushing, and m is the total
To stop a robot swerving in an arc when you want it to go forwards, you need to have
65
Speed Control of DC motor
feedback control of the motor speeds. This means that the actual speed of each wheel is
measured, and compared with all the other wheels. Obviously to go in a straight line, the
motor speeds must be equal. However, this does not necessarily mean that the speed
demand for each motor should be the same. The motors will have different amounts of
friction, and so a ‘stiffer’ motor will require a higher speed demand to go as fast as a
The speed demand is a DC voltage, which is fed to the PWM generator for motor A.
Drives motor A at a speed dependant on the demand voltage. The speed of motor A is
sampled using an optical encoder. This has a frequency output, which is proportional to
If we assume that motor B is already running at some speed, then the optical encoder on
its shaft will be producing a frequency also. The phase comparator compares the two
frequencies, effectively comparing the speeds of the two motors. Its output is a signal
which gets larger as the two input frequencies get further apart. If the two frequecies are
66
Speed Control of DC motor
the same, it has a zero output.
The integrator adds the output of the phase comparator to whatever its output was before.
For example, if the integrator output was previously 3 volts, and its input is 0 volts, then
its output will be 3 volts. If its input changed to –1 volts, then its output would change to
2 volts.
Let’s assume that motor B is running slower than motor A. Then the output of the phase
comparator will be positive, and the output of the integrator will start to rise.The speed
of motor B will then increase. If it increased to a speed greater than that of motor A, then
the output of the phase comparator would become negative, and the output of the
integrator would start to fall, thereby reducing the speed of motor B. In this manner, the
speed of motor B is kept the same as the speed of motor A, and the robot will go in a
straight line (as long as its wheels are the same size!).
This method can be expanded to use any number of wheels. One motor will always be the
directly driven one (in this case motor A), and the others will have their speed locked to
this one. Note that if the directly driven motor is faster, or more free-running, than the
others, then when it is driven at its fastest speed (the PWM signal is always ON), then the
other motors will never be able to keep up, and the robot will still swerve. It is best,
therefore, to directly drive the slowest motor. An analogue feedback speed controller
such as this is quite difficult to make, and keep stable. It is easier to perform this function
67
Speed Control of DC motor
CHAPTER-4
68
Speed Control of DC motor
RESULTS
When the input is given through keypad steps will be incremented,this indicates the speed
69
Speed Control of DC motor
70
Speed Control of DC motor
71
Speed Control of DC motor
CHAPTER-5
APPLICATIONS
72
Speed Control of DC motor
1.In robotics for moving the arms.
ADVANTAGES
2.Cost is low.
3.Easy to operate.
DISADVANTAGES
1.Torque is less
73
Speed Control of DC motor
CHAPTER-6
74
Speed Control of DC motor
CONCLUSION
It is quite clear from the above discussion that Speed Control Of DC motor using
microcontroller by using PWM may be a comprehensive system that controls the
speed of a motor by giving instructions to the microcontroller to reduce the
manual work. The technology saves money too and gives a return on investment.
This system have a great deal in common with one another,12V is used in this
this technique,by changing some changes in the circuit we can implement this in
MOSFET. By applying a PWM pulse to gate of the MOSFET, the speed of the
motor varies.We used an LCD for displaying the varying speed of the DC motor
and a keypad for varying the speed. If we press up or down key, micro controller
varies the duty cycle of the PWM accordingly so that the average power will vary
Finally we conclude that this method is one of the best methods for controlling
the speed of the DC motor.
FUTURE SCOPE
robotics while moving their arms and joints.we can move their arms in
any direction.
This will become the more important technique used in robotics and
76
Speed Control of DC motor
ALP PROGRAM
;>
;>
;>
;> INCLUDES :
$MOD51
;>
77
Speed Control of DC motor
;
;>
;>
;>
;>
78
Speed Control of DC motor
;> FLAGS :
;>
;>
;> VARIABLES :
;>
;>
;> DEFINITIONS :
;>
;>
ORG 0000H
ljmp RESET
; lcall INT_0
reti
ORG 000BH
clr TR0
clr FFC1
reti
ORG 001BH
push ACC
80
Speed Control of DC motor
push PSW
setb FFC1
setb TR0
; inc TCNT
; mov A, TCNT
; inc TCNT1
; mov A, TCNT1
; READ_VAL:
81
Speed Control of DC motor
pop PSW
pop ACC
reti
;>
;>
RESET:
setb TR1
82
Speed Control of DC motor
mov INC_VAL, #00h
clr BUZ
lcall MESSAGE
lcall MESSAGE
lcall DLY1
lcall MESSAGE
lcall DLY1
lcall MESSAGE
lcall DLY1
lcall MESSAGE
lcall DLY1
83
Speed Control of DC motor
lcall MESSAGE
lcall DLY1
lcall MESSAGE
lcall MESSAGE
;>
;>
MAIN:
lcall KBREAD
lcall SELECT_SPEED
ljmp MAIN
;>
;>
jb KEY1, HOLD_VAL_UP
84
Speed Control of DC motor
SELECT_KEY1:
setb BUZ
lcall DLY
clr BUZ
inc INC_VAL
mov A, INC_VAL
setb BUZ
lcall DLY
lcall DLY
lcall DLY
clr BUZ
HOLD_VAL_UP:
jb KEY2, HOLD_VAL_DOWN
SELECT_KEY2:
setb BUZ
lcall DLY
clr BUZ
85
Speed Control of DC motor
dec INC_VAL
mov A, INC_VAL
setb BUZ
lcall DLY
lcall DLY
lcall DLY
clr BUZ
HOLD_VAL_DOWN:
jb KEY3, STOP_DC_MOT
STOP_DC_MOT:
ret
;>
;>
INT_0:
push ACC
push PSW
; cpl BUZ
86
Speed Control of DC motor
inc CNL
mov A, CNL
clr C
DA A
mov CNL, A
jnc SKIP_INC1
inc CNH
mov A, CNH
clr C
DA A
mov CNH, A
SKIP_INC1:
pop PSW
pop ACC
RET
;>
;>
87
Speed Control of DC motor
SELECT_SPEED:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED1:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED5:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED6:
88
Speed Control of DC motor
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED7:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED8:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED9:
mov A, INC_VAL
89
Speed Control of DC motor
cjne A, #06H, NEXT_SPEEDA
lcall MESSAGE
NEXT_SPEEDA:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEEDB:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEEDC:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEEDD:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEEDE:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEEDF:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED10:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED11:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED12:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED13:
mov A, INC_VAL
lcall MESSAGE
NEXT_SPEED14:
ret
;>
;>
DLY:
ret
93
Speed Control of DC motor
DLY1:
ret
;>
;>
push acc
MESSAGE1:
inc dptr ;
cjne a, #EOL, COMD ; If the data is not end of line goto comd
pop acc
COMD: ;
clr DRS
clr BUSY_CHEK
DDATA: ;
cjne a, #DAT, SENDIT ; if the data is not data to be send goto comd
setb DRS
setb BUSY_CHEK
SENDIT: ;
clr DRW
nop
clr DEN ;
;>
;>
95
Speed Control of DC motor
clr DEN ; disable display buffer
clr DRS
setb DRW
WAIT: ;
setb DEN ;
setb DRS
NO_DRS_SET:
;>
;>
DISP_LET:
setb DRS
setb BUSY_CHEK
clr DRW
nop
96
Speed Control of DC motor
setb DEN ; send enable strobe
clr DEN ;
;>
;>
DISP_COM:
clr DRS
clr BUSY_CHEK
clr DRW
nop
clr DEN ;
;>
;>
;>
INITIALISE:
db COM, 30h, 30h, 30h, 30h, 3ch, 06h, 0ch, 01h, EOL
97
Speed Control of DC motor
NAME:
db COM, 80h, DAT, 'SPEED CONTROL OF', COM, 0C0H, DAT,' D.C. MOTOR ',
EOL
COLLEGE:
db COM, 80h, DAT, ' SRTIST ', COM, 0C0H, DAT,' ', EOL
NAME1:
db COM, 80h, DAT, 'PROJECT BY.. ', COM, 0C0H, DAT,'P.KISHAN ', EOL
NAME2:
db COM, 80h, DAT, ' M.ARUN ',COM, 0C0H, DAT,'K.HEMANTH ', EOL
HODD:
db COM, 80h, DAT, 'OUR HOD.... ', COM, 0C0H, DAT,'Mr.LACHI REDDY', EOL
SPD0:
db COM, 80h, DAT, 'MOTOR OFF ', COM, 0C0H, DAT,'START OPERATION ',
EOL
SPD1:
SPD2:
SPD3:
SPD4:
SPD5:
98
Speed Control of DC motor
SPD6:
SPD7:
SPD8:
SPD9:
SPD10:
SPD11:
SPD12:
SPD13:
SPD14:
SPD15:
SPD16:
;>
;>
END
BIBLIOGRAPHY
100
Speed Control of DC motor
5. A.K.Ray and K.M.Bhurchandi.’ Advanced Micro Processors and
Peripherals,’ TMH,2000.
Websites
1. www.nationalsemicondutor.com
2. www.atmel.com
3. www.wikipedia.org
4. www.stepperworld.com
5. www.discovercircuits.com
101
Speed Control of DC motor
102