Download Optical Mark Reading

Document related concepts

Electronic paper wikipedia , lookup

Transformer wikipedia , lookup

Power inverter wikipedia , lookup

Electrical substation wikipedia , lookup

Current source wikipedia , lookup

Pulse-width modulation wikipedia , lookup

Electric motor wikipedia , lookup

Brushless DC electric motor wikipedia , lookup

History of electric power transmission wikipedia , lookup

AC motor wikipedia , lookup

Stray voltage wikipedia , lookup

Voltage regulator wikipedia , lookup

Transformer types wikipedia , lookup

Three-phase electric power wikipedia , lookup

Resistive opto-isolator wikipedia , lookup

Rectifier wikipedia , lookup

Power electronics wikipedia , lookup

Buck converter wikipedia , lookup

Brushed DC electric motor wikipedia , lookup

Induction motor wikipedia , lookup

Printed circuit board wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Mains electricity wikipedia , lookup

Voltage optimisation wikipedia , lookup

Alternating current wikipedia , lookup

Variable-frequency drive wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Opto-isolator wikipedia , lookup

Surge protector wikipedia , lookup

Stepper motor wikipedia , lookup

Transcript
CHAPTER NO.1
INTRODUCTION
The objective type examinations are now conducted for entrance into many
professional courses and jobs. Candidates sit through these examinations in large
numbers. Manual checking of these papers is not only time consuming but can
also lead to erroneous marking. To overcome this problem, we are developing an
answer paper evaluator.
Students record their answers to MCQ on a machine readable answer sheet. These
sheets are fed through an Optical Mark Reading Scanner. The OMR allows
automated data entry that turns pencil marks into useable computer information. If
two or more circles are filled in on the answers sheet, or the correct answer is
carelessly marked, the question will be marked `wrong’.
Specially written
software controls the test scoring and analysis. The software analyses the students’
answers to product the Test Scoring and Analysis output.
OMR is the scanning of media to detect the presence or absence of a mark in a
specific position. It is widely used in surveys, assessments and evaluations. The
multiple choice answer sheet and course evaluation forms are daily examples
utilizing OMR technology.
OMR is used for recognizing optical marks (checkmarks). Typical applications of
OMR technology include the processing of questionnaires, ballots, educational
tests and reporting, and ordering sheets, where the documents to be processed are
form-like and filled in by hand by respondents. Programmers who need to add
OMR technology into their software applications can purchase components to
make the task easy.
1|Page
One of the most familiar applications of optical mark recognition is the use of HB
pencil bubble optical answer sheets in multiple choice question examinations.
Students mark their answers, or other information, by darkening circles marked on
a pre-printed sheet. Afterwards the sheet is automatically graded by a scanning
machine. Students likewise mark answers of other information via darkening
circles marked on a pre-printed sheet. Then the sheet is automatically graded by a
scanning machine.
This apparatus scans the answer sheets. The answers are in the form of opaque
dots blackened by either pen or pencil. The correct answers are fed into the system
prior to the scanning. The answer sheet is then scanned and the marking is done on
the basis of comparison with the correct ones. The result is stored in the PC and
displayed in UID.
The scanning process involves the use of IR sensors. The number of IR sensors
depends on the number of option in the question paper. The general trend has been
the use of four options for each question which demands the use of four IR sensors.
Whenever a dark spot appears between the transmitter and the receiver of IR
sensor, then it considers it as an input for comparison with the correct answers
stored and it increments the score of the particular person. This is how the
evaluation is done in our system.
2|Page
1.1
NECESSITY
The present day OMR scanning machines are very expensive and
require a high initial investment.
This makes it unsuitable for smaller
applications like placement exams, objective entrance exams etc.
This problems gives rise to the need of our project which is low cost and high
accuracy. This system will be used in our TRAINING AND PLACEMENT
cell for placement exam evaluation. This system is designed to be convenient
and simple in use for a broad class of people. Thus this system can be
operated by students also and requires no prior training.
1.2
OBJECTIVE
This project is aimed to reduce the price of the conventional OMR based
exam paper evaluator. The price of this project is low as compared to the
market price of prefabricated OMR system which cost up to Rs.70000/-.
This reduced price enhances its application to collage level tasks like
objective exams, placement exams etc.
Moreover the simplicity and
convenience to use this project makes it extremely user friendly.
This
project requires high accuracy and average execution time. Hence, this
project suffices the basic need for average processing time and high
reliability.
3|Page
1.3
THEME
The project consists of IR sensors which are moved on the answer sheet to
detect the answers provided by the candidate. The IR sensors provide a
cheap but effective way to replace the conventional high priced optical
sensors used in branded OMR machines. The use of Micro Controllers
simplifies the cumbersome task of data transfer via Rs.232 serial port
communication. The Microcontroller used is 89C51. The stepper motor is
used to drive the IR sensor assembly on the answer sheet. An additional
accessory of LCD display is provided to make the project more users
friendly.
1.4
ORGANIZATION
The basic need of our Training and Placement cell was accurate and time
saving solution for checking the large quantity of MCQ answer sheets. This
application required a low costing highly accurate and reliable solution. By
replacing the conventional optical scanners by IR sensors the use of `trans optic’
paper can be avoided. Hence our project is aimed to counter this problem and
come up with a solution compatible to the need of our college’s need for the
Training and Placement cell.
Thus we have organizes our projects in the following steps:
1) Deciding the basic concept of the project.
2) Conducting an overall survey of the required idea, i.e. the current system
being used.
3) Developing a Block Diagram of our system.
4|Page
4) Working on the selection of components and their interfaces.
5) Working on VB for creating a GUI.
6) Developing the microcontroller coding to control the stepper motor.
7) PCB designing and testing.
8) Hardware implementation and troubleshooting
5|Page
CHAPTER NO.2
LITERATURE SURVEY
2.1 BACKGROUND
Many traditional OMR devices work with a dedicated scanner device that
shines a beam of light onto the form paper.
The contrasting reflectivity at
predetermined positions on a page is then utilized to detect the marked areas
because they reflect less light than the blank areas of the paper.
Some OMR device use forms which are preprinted onto `trans optic’ paper and
measure the amount of light which passes through the paper, thus a mark on either
side of the paper will reduce the amount of light passing through the paper. In
contrast to the dedicated OMR device,
desktop OMR software allows a user to
create their own forms in a word processor and print them on a laser printer. The
OMR software then works with a common desktop image scanner with a document
feeder to process the forms once filled out.
OMR is generally distinguished from optical character recognition by the fact that
a complicated pattern recognition engine is not required. That is, the marks are
constructed in such a way that there is little chance of not reading the marks
correctly.
This does require the image to have high contrast and an easily-
recognizable or irrelevant shape.
A related field to OMR and OCR is the
recognition of barcodes such as the UPC bar code found on product packaging.
One of the most familiar applications of optical mark recognition is the use of #2
(HB in Europe) pencil buble optical answer sheets in multiple choice question
6|Page
examinations. Students mark their answers, or other personal information, by
darkening circles marked on a pre-printed sheet.
automatically graded by a scanning machine.
Afterwards the sheet is
In most European countries, a
horizontal or vertical `tick’ in rectangular `lozenge` is the most commonly used
type of OMR form, the most familiar application being the UK National lottery
form. Lozenge marks are a later technology and have the advantage of being
easier to mark and easier to eras. The large ‘bubble’ marks are legacy technology
from the very early OMR machines that were so insensitive a large mark was
required for reliability. In most Asian countries, a special marker is used to fill in
an optical answer sheet. Students likewise mark answers or other information via
darkening circles marked on a pre-printed sheet. Then the sheet is automatically
graded by a scanning machine.
Many of today’s OMR applications involve people filling in specialized forms.
These forms are optimized for computer scanning, with careful registration in the
printing, and careful design so that ambiguity is reduced to the minimum possible.
Due to its extremely low cost and ease-of-use, OMR is a popular method of
tallying votes.
7|Page
2.2 HISTORY
Optical mark recognition (OMR) is the scanning of paper to detect the
presence or absence of a mark in a predetermined position.
Optical mark
recognition has evolved from several other technologies. In the early 1800’s and
1900’s patents were given for machines that would aid the blind.
OMR is now used as an input device for data entry. Two early forms of OMR are
paper tape and punch card which are actual holes punched into the medium instead
of pencil filled circles on the medium. Paper tape was used as early as 1857 as an
input device for telegraph. Punch cards were created in 1890 and were used as
input devices for computers. The use of punch cards declined greatly in the early
1970’s with the introduction of personal computers. With modern OMR, where
the presence of a pencil filled in bubble is recognized, the recognition is done via
an optical scanner.
The first mark sense scanner was the IBM 805 Test Scoring Machine; this read
marks by sensing the electrical conductivity of graphite pencil lead using pairs of
wire brushes that scanned the page.
In the 1930s, Richard Warren at IBM
experimented with optical mark sense systems for test scoring, as documented in
US Patents 2,150,256 (filed in 1932, granted in 1939) and 2,010,653 (filed in 1933,
granted in 1935). The first successful optical mark-sense scanner was developed
by Everett Franklin Lindquist as documented in US Patent 3,050,248 (filed in
1955, granted in 1962).
Lindquist had developed numerous standardized
educational tests, and needed a better test scoring machine than the then-standard
8|Page
IBM 805.
The rights to Lindquist’s patents were held by the Measurement
Research Center until 1968, when the University of lowa sold the operation to
Westinghouse Corporation. Westinghouse Learning Corporation was acquired by
National Computer Systems in 1983; in 2000, Pearson Education acquired NCS.
IN 2008, NCS Person was acquired by Scranton.
During the same period, IBM also developed a successful optical mark-sense testscoring machine, as documented in US Patent 2,944,734 (filed in 1957, granted in
1960). IBM commercialized this as the IBM 1230 Optical mark scoring reader in
1962. This and a variety of related machines allowed IBM to migrate a wide
variety of applications developed for its mark sense machines to the new optical
technology. These applications included a variety of inventory management and
trouble reporting forms, most of which had the dimensions of a standard punch
card.
While the other players in the educational testing arena focused in selling scanning
services, Scranton Corporation, founded in 1972, had a different model, distribute
inexpensive scanners to schools and make profits from selling the test forms. As a
result, many people came to think of all mark-sense forms (whether optically
sensed or not) as Scranton forms. Scranton operates as a subsidiary of M&F
Worldwide (MFW) and provides testing and assessment systems and services and
data collection and analysis services to educational institutions, businesses and
government.
Like Scranton, Chatsworth Data Corporation is a seller of OMR scanners.
Founded in 1971, Chatsworth has always focused on selling the scanners
themselves, mostly as OEM products incorporated into systems developed by
others.
9|Page
sCHAPTER NO. 3
SYSYEM DEVELOPMENT
3.1 BLOCK DIAGRAM
Scanner
Personal
(mechanical
computer
system)
μcontroller
Stepper
89s51
Software
motor
console
Stepper
Motor
drive
LCD
10 | P a g e
Fig 3.1:Block Diagram of Exam Paper Evaluator
3.2 BLOCK DIAGRAM DESCRIPTION
3.2.1 SCANNER
The filled answer sheet provided by the student after an objective exam is
fed the scanner assembly of the project. The scanner block consists of a series of
ten LEDs which are placed in such a way that they check the required number of
answers. The Scanner head which moves vertically along the axis of the paper is
driven by the stepper motor. The answers detected by the receivers (Rx) are fed to
the comparators.
The output of the this block is then is provided to the
microcontroller (89s52). The spacing between the paper and the sensors is about
5mm. This small distance is required for the high sensitivity of the optical reader.
3.2.2 STEPPER MOTOR
The mail function of this block is to drive the scanner head. The step angles
are thus decided in accordance to our spacing in the answer sheet. The movement
of the scanner head is in the vertical direction and its mail function is to place the
sensors directly on top of the answer bubbles. The answers provided by the
students is then detected by the sensors and the stepper motor places the sensor
head again to the initial position for the next paper to be checked.
11 | P a g e
3.2.3 STEPPER MOTOR DRIVER
The digital system and the microcontroller lack the sufficient current to drive
the relay.
While the relays coil need around 10mA to be energized, the
microcontroller pin can provide a maximum of 1-2mA current. For this reason, we
place a driver such as the L298 between the microcontroller and the relay. Thus
we can say that this block is used as an device that is used for providing sufficient
amount of current shich will drive the stepper motor.
3.2.4 MICROCONTROLLER
The microcontroller block is the heart of our project. It accepts the voltage
level from the scanner block and compares it with the option provided by the
examiner. The correct series of option provided via the software console. The
bubble which is darkened generates a certain through the comparators is provided
to the microcontroller. Another major task of the microcontroller is to drive the
stepper motor. But since the voltage level at the microcontroller’s output is very
less we use a driver. The series of correct answers is stored in the memory of the
microcontroller block. The result of the comparison is given to the next block i.e.
computer. This input is then computed upon and the result is generated. The
generated result i.e. number of correct and incorrect answers is displayed on the
LCD.
3.2.5 LIQUID CRYSTAL DISPLAY
We are using a 16*2 matrix LCD. The primary use of this block is to
display the answers which have been detected by the sensor block. Moreover,
12 | P a g e
when the answers are fed to the microcontroller via the software, the total score of
the students as well his name is displayed. We are using this block to improve the
ergonomics of the project.
This makes the handling of the system easy and
convenient.
3.2.6 COMPUTER
The mail use of the computer is that it act as an interface between the project
blocks(hardware) and the program module (software). We can conveniently store
the result of each student as an excel sheet file, thus making our project easily
manageable and easy to handle. We are using RS 232 cable to connect the
hardware with our computer via serial port.
3.2.7 SOFTWARE CONSOLE
This block is used to determine the number of questions the student is going
to face in the examination. The software also gives us the provision of storing the
exam result according to roll number and the name. The correct answers are fed
by the examiner into the memory of the microcontroller block according to which
the answers will be evaluated. The compared correct and incorrect answers are
then properly arranged and displayed along with the score of the respective
student. The software console consists of a database where the result of every
student appearing for the exam is stored. This information can be used in the
future for analysis and grading.
13 | P a g e
3.3 PCB DESIGN
3.3.1 PCB LAYOUT AND ARTWORK DESIGN
A PRINTED CIRCUIT BOARD is popularly known as the first thing we
would require when we decide to build an electronic circuit. A roper PCB ensures
that various components are interconnected as per the circuit diagram, once they
have been placed on the PCB and subsequently soldered.
PCB design and
fabrication techniques have undergone so much of development that it has become
a subject itself.
Double sided PCB, multilayer PCB with PTH (plated through holes), using CAD
software design for PCB layout design, flexible PCB’s etc are only some of the
developments.
An average experimenter however needs to go into the details of these
technologies or is supposed to learn the intricacies of the art of PCB layout
designing.
What he needs familiarization with different steps involved in PCB fabrication
particularly the etching process so that he can make his own PCB economically
from an available PCB layout design.
14 | P a g e
3.3.2 PCB FABRICATION
Different steps involved in the fabrication of a PCB are as follows.
1. Component layout design.
2. PCB layout design.
3. Transferring the PCB layout design onto the PCB board Laminate
4. Developing or etching the PCB
5. Other operation like drilling, cutting, tinning etc.
3.3.2.1 Components Layout Designing
Component layout designing’s the exercise of placement of different
consisting the circuits & then showing their interconnection as per the circuit
diagram. This exercise usually begins with an estimate of size of the PCB needed
to accommodate various circuit components.
The estimated dimensions are marked on a graph paper & an attempt is made to
optimally place the components. It may be mentioned here that the relative position
of different components will largely depend upon the nature of interconnections &
the circuit input, output & ground points.
Knowledge of dimensions of different components , making up to the circuit is
another perquisite in designing the components layout.
Having placed all the components the interconnections can be made by drawing
lines (Known as tracks) the lines should be optimum length & should not be
unnecessarily long. In fact the components layouts can be best drawn by carrying
out twin job of placement of the components and making the interconnections side
by side.
15 | P a g e
3.3.2.2 PCB LAYOUT DESIGN
The PCB layout design is nothing but the mirror image of component layout
is drawn by looking from the component side, wherases the PCB layout is drawn
by looking from the copper side. It can best be obtained by taking a carbon copy of
component layout already drawn by pacing a reserved carbon underneath the
paper. The hobbyist can take a photo copy of the layout on to the copper side of the
PCB laminate.
3.3.2.3 Transferring PCB Layout onto Laminate
The first thing to be done here is to the type of PCB laminate.
There are two types of PCB laminate available for the purpose.
1. Phenolic Boards
2. 2. Fibre Glass epoxy boards.
Phenolic boards are much cheaper and good enough for most of the commercial
applications but it is not very suitable. When there is heating of components, the
most ideal material for power supplies is fire resistant material. The commercial
grade of the same is known as FR2/FR3/FR4.The normal single sided boards are
manufactured by using FR2 material.
However when PCB is length more, then there can be changes of getting the PCB
warpage which would cause track breaking or bending of the components in loose
connections.
16 | P a g e
For the purpose of power control application it is advisable to use the FR4 grade
which is popularly known as glass epoxy material.It has very good strength against
warpage.It has property to with stand almost any climayic conditions.It has also the
property of flame resistant.Hence we have chosen the material (FR4) for our
project.
The next step is to thouroughly clean the copper side of the laminate with petrol to
make it completely free from any contaminates. The PCB layout can be transferred
on to copper side of the laminate by using a pointed tool to mark the position of
holes so that you did not miss any.
After carbon copying the PCB layout pattern,the sane can be redrawn by giving
proper width to different tracks and leaving space for the components.all this can
be simply done with the help of enamel paint and a fine brush.
The most popular and accurate method is silk-screen painting the track side layout
for copper clad by using PCB grade ink.silk screen printing process is widely used
by the PCB manufacturers as it is easy,accurate and same reproduction can easily
be obtained.for silk screen painting a film positive is required .when the layot is
printed onto the copper clad laminate the next processs comes is etching.
3.3.2.3 ETCHING
In the etching process,all excess copper is removed leaving behind only the
painted pattern. To do etching, the painted PCB board laminate is placed in a flat
tray with the copper side facing upwards.an aqueous solution of ferric chloride
with the quantity depend on the size of PCB.
The PCB to the etched is then pourd in the tray.The PCB should be fully immersed
in the ferric chloride sol. The sol is prepared by adding abt.40-50 grams of
17 | P a g e
ferricchloride of 100ml of warmwater. The sol. Should be nicely stirred and a few
drops of HCL are added to speed up the etching process.The tray can be moved up
and down. The etching process may take abt. Half an hour to one hour.
The etching tjme again depends on the size of PCB and area to be etched.it must
the PCb is neither under etched nor over etched.If the PCB is kept immersed in the
sol. After etching is completed, the sol.is likely to be penetrating the copper
portion that is require to be preserved and cause more etching.
The ferric chloride should be preserved in the bottle for future use and should not
be wasted.sol.once made can be used for 3-4 etchings. The laminate is thoroughly
wasted in water etching is completed.the paint is removed with alcohol or thinner.
3.3.2.4 DRILLING – TINNING
The next major operation after etching is drilling and tinning,the diameter of
hole varies from component to component.it is 0.8mm for IC pins,1mm to 1.25mm
for resistors and capacitors,1.5mm for diodes and presets. The size of holes for the
resistors would also depend on wattage of resistor.
The oxidation of copper portions can be prevented by either tinning that can be
done by using soldering iron or by giving a coat of some insulating varnish.
3.3.2.5 SOLDERING THE COMPONENTS ON THE PCB
Mounting of the components is done on the PCB in its exact place on the
non-conducting materials or surface. If the component is not placed on the exact
place then, there is no change for the project to give a result. So proper mounting
of the component is more essential.
18 | P a g e
Before mounting any component we check the PCB carefully to prevent the
occurance of the non-conducting path. The lead of the component like register &
capacitor should be inserted into the mounting hopefully. After inserting the
co9mpone3nt carefully cut the lead of the component so that the lead remains
about 3mm above the soldering side of PCB to make the firm contact these lead are
bend are at angle need the component can solder easily.
In this case of the semiconductor devices such as transistor & diodes the length of
the lead extended above the component side of the PCB should remain above
5mm. This prevent not only heat sink applied to the each lead while soldering but
it is useful for the measuring the voltage across these lead.
Certain component like a transformer, potentiometer & variable capacitor are
simply inserted in the holes PCB and soldered.
Soldered is the process for the joining of metal .soft soldering generally implies
that the joining process occurs at temperature below 45 degree Celsius. It should
be noted that that while soldering . so air gap should be remained, because due to it
there will be no proper contact of the range of 10-25 watts.This prevents the
damage to PCB by excessive heating .To avoid the short circuit with the adjacent
conducting path one should not used the excessive solder .For this purpose of
solder wire 60/60 ratios should be used.
For this purpose soldering IC one should have to use a solder iron of the thin or
pointed tip .so while soldering the semiconductor device great care should be taken
.The alloy used for soldering is tin-lead . The percentage of tin content is of 3050%. The fluxes are applied while soldering for proper fixing of the molten solder
with the PCB.
19 | P a g e
3.4 PCB LAYOUT
3.4.1 COMPONENT VIEW
20 | P a g e
3.4.2 BOTTOM VIEW
21 | P a g e
CHAPTER NO.4
CIRCUIT DIAGRAM
22 | P a g e
4.1 HARDWARE DESCRIPTION
4.1.1 Transformer
A transformer is a device that transfers electrical energy from one to other through
inductively coupled conductors –the transformer’s coils or “windings”. Except for
air-core transformer, the conductors are wound around a single iron-rich core, or
around separate but magnetically-coupled cores. A varying current in the first or
“primary” winding creates a varying magnetic field in the core (or cores) of the
transformer. This varying magnetic field induces a varying electromotive force
(EMF) or “voltage” in the “secondary” winding. This effect is called as mutual
induction. If a load is connected to a secondary, an electric current will flow in the
secondary winding the electrical energy will flow from the primary circuit through
the transformer to the load. In an ideal transformer, the induced voltage in the
secondary winding (Vs) is in proportion to the primary voltage (Vp), and is given
by the ratio of the number of turns in the secondary to the number of turns in the
primary as follows
By appropriate selection of the ratio of turns, a transformer thus allows
an alternating current (AC) voltage to be "stepped up" by making Ns greater
than Np, or "stepped down" by making Ns less than Np.
Transformers range in size from a thumbnail-sized coupling transformer hidden
inside a stage microphone to huge units weighing hundreds of tons used to
23 | P a g e
interconnect portions of power grids. All operate with the same basic principles,
although the range of designs is wide. While new technologies have eliminated the
need for transformers in some electronic circuits, transformers are still found in
nearly all electronic devices designed for household ("mains") voltage.
Transformers are essential for high-voltage electric power transmission, which
makes long-distance transmission economically practical.
Here, we have used a 230V/12V transformer. It is basically a step-down
transformer. It is used to get the 12V AC from 230V AC supply, the frequency
being unchanged. This output is then given to the power supply.
4.1.2 POWER SUPPLY
What is AC and DC?
A representation of an Alternating Current (AC) supply is shown in figure 1.
The voltage (and current) alternates between positive and negative over time
and the resulting waveform shape is a sine wave. In the case of the UK mains
supply, the frequency of this sine wave is 50Hz, or 50 cycles per second.
A Direct Current (DC) supply, shown in figure 2, stays at a fixed, regular,
voltage all of the time, like the voltage from a battery. A DC supply is needed
24 | P a g e
by most circuits as a constant reference voltage. Also, some components would
be damaged by the negative half-cycles of an AC supply.
The Parts of a Power Supply
Figure 3 shows a block diagram of a power supply system which converts a 230V
AC mains supply (230V is the UK mains voltage) into a regulated 5V DC supply.
A simple power supply circuit that includes each of these blocks in given in figure
4. The following articles in this series look at each block of the power supply in
25 | P a g e
detail, but if you just want to build a 5V regulated power supply without
understanding how it works, you can follow the instructions later in this article
The Power supply consists of the transformer, bridge rectifier, regulator IC.
The transformer is a step down one having 12V rating. The bridge rectifier is
used to convert the ac supply into a dc. There are two regulators used one is
a 9V and a 5V. The 78XX series is used to regulate power. During the
positive half cycle of secondary voltage diodes D13 and D16 are forward
biased while diodes D15 and D14 are reverse biased. Therefore, only diodes
D13 and D16 conduct. These two diodes will be in series through the load.
Hence the positive half cycle is rectified to the load. During the negative half
cycle of secondary voltage diodes D15 and D14 are forward biased while
diodes D13 and D16 are reverse biased. Therefore, only diodes D15 and
D14 conduct. These two diodes will be in series through the load. Hence the
negative half cycle is rectified to the load. These output is of pulsating
character, hence the ac is filtered out by capacitor C1. Further regulation in
output voltage is obtained by IC 7805 and IC 7809. The output is shown by
the LED.
26 | P a g e
4.1.3 STEPPER MOTOR
A stepper motor (or step motor) is a brushless, synchronous electric motor that
can divide a full rotation into a large number of steps. The motor's position can be
controlled precisely, without any feedback mechanism (see Open-loop controller).
Stepper motors are similar to switched reluctance motors (which are very large
stepping motors with a reduced pole count, and generally are closed-loop
commutated.)
Fundamentals of Operation
Stepper motors operate differently from DC brush motors, which rotate when
voltage is applied to their terminals. Stepper motors, on the other hand, effectively
have multiple "toothed" electromagnets arranged around a central gear-shaped
piece of iron. An external control circuit, such as a microcontroller, energizes the
electromagnets. To make the motor shaft turn, first one electromagnet is given
power, which makes the gear's teeth magnetically attracted to the electromagnet's
teeth. When the gear's teeth are thus aligned to the first electromagnet, they are
slightly offset from the next electromagnet. So when the next electromagnet is
turned on and the first is turned off, the gear rotates slightly to align with the next
one, and from there the process is repeated. Each of those slight rotations is called
27 | P a g e
a "step," with an integer number of steps making a full rotation. In that way, the
motor can be turned by a precise angle.
Stepper motor characteristics
1. Stepper motors are constant power devices.
2. As motor speed increases, torque decreases.
3. The torque curve may be extended by using current limiting drivers and
increasing the driving voltage.
4. Steppers exhibit more vibration than other motor types, as the discrete step tends
to snap the rotor from one position to another.
5. This vibration can become very bad at some speeds and can cause the motor to
lose torque.
6. The effect can be mitigated by accelerating quickly through the problem speeds
range, physically damping the system, or using a micro-stepping driver.
7. Motors with a greater number of phases also exhibit smoother operation than
those with fewer phases.
28 | P a g e
There are three main types of stepper motors:
Permanent Magnet Stepper
Hybrid Synchronous Stepper
Variable Reluctance Stepper
Permanent magnet motors use a permanent magnet (PM) in the rotor and operate
on the attraction or repulsion between the rotor PM and the stator electromagnets.
Variable reluctance (VR) motors have a plain iron rotor and operate based on the
principle of that minimum reluctance occurs with minimum gap, hence the rotor
points are attracted toward the stator magnet poles. Hybrid stepper motors are
named because they use use a combination of PM and VR techniques to achieve
maximum power in a small package size.
Two-phase stepper motors
There are two basic winding arrangements for the electromagnetic coils in a two
phase stepper motor: bipolar and unipolar.
Unipolar motors
A unipolar stepper motor has two windings per phase, one for each direction of
magnetic field. Since in this arrangement a magnetic pole can be reversed without
switching the direction of current, the commutation circuit can be made very
simple (eg. a single transistor) for each winding. Typically, given a phase, one end
of each winding is made common: giving three leads per phase and six leads for a
typical two phase motor. Often, these two phase commons are internally joined, so
the motor has only five leads.
A microcontroller or stepper motor controller can be used to activate the drive
transistors in the right order, and this ease of operation makes unipolar motors
popular with hobbyists; they are probably the cheapest way to get precise angular
movements.
Unipolar stepper motor coils
29 | P a g e
Bipolar motor
Bipolar motors have a single winding per phase. The current in a winding needs to
be reversed in order to reverse a magnetic pole, so the driving circuit must be more
complicated, typically with an H-bridge arrangement. There are two leads per
phase, none are common.
Static friction effects using an H-bridge have been observed with certain drive
topologies Because windings are better utilised, they are more powerful than a
unipolar motor of the same weight.
8-lead stepper
An 8 lead stepper is wound like a Unipolar stepper, but the leads are not joined to
common internally to the motor. This kind of motor can be wired in several
configurations:
Unipolar.
Bipolar with series windings. This gives higher inductance but lower current per
winding.
Bipolar with parallel windings. This requires higher current but can perform better
as the winding inductance is reduced.
Bipolar with a single winding per phase. This method will run the motor on only
half the available windings, which will reduce the available low speed torque but
require less current.
Higher-phase count stepper motors
Multi-phase stepper motors with many phases tend to have much lower levels of
vibration, although the cost of manufacture is higher.
Stepper motor drive circuits
Stepper motor performance is strongly dependent on the drive circuit. Torque
curves may be extended to greater speeds if the stator poles can be reversed more
quickly, the limiting factor being the winding inductance. To overcome the
inductance and switch the windings quickly, one must increase the drive voltage.
This leads further to the necessity of limiting the current that these high voltages
may otherwise induce.
L/R drive circuits
L/R drive circuits are also referred to as constant voltage drives because a constant
positive or negative voltage is applied to each winding to set the step positions.
However, it is winding current, not voltage that applies torque to the stepper motor
shaft. The current I in each winding is related to the applied voltage V by the
winding inductance L and the winding resistance R. The resistance R determines
the maximum current according to Ohm's law I=V/R. The inductance L determines
the maximum rate of change of the current in the winding according to the formula
30 | P a g e
for an Inductor dI/dt = V/L. Thus when controlled by an L/R drive, the maximum
speed of a stepper motor is limited by its inductance since at some speed, the
voltage V will be changing faster than the current I can keep up.
With an L/R drive it is possible to control a low voltage resistive motor with a
higher voltage drive simply by adding an external resistor in series with each
winding. This will waste power in the resistors, and generate heat. It is therefore
considered a low performing option, albeit simple and cheap.
Chopper drive circuits
Chopper drive circuits are also referred to as constant current drives because they
generate a somewhat constant current in each winding rather than applying a
constant voltage. On each new step, a very high voltage is applied to the winding
initially. This causes the current in the winding to rise quickly since dI/dt = V/L
where V is very large. The current in each winding is monitored by the controller,
usually by measuring the voltage across a small sense resistor in series with each
winding. When the current exceeds a specified current limit, the voltage is turned
off or "chopped", typically using power transistors. When the winding current
drops below the specified limit, the voltage is turned on again. In this way, the
current is held relatively constant for a particular step position. This requires
additional electronics to sense winding currents, and control the switching, but it
allows stepper motors to be driven with higher torque at higher speeds than L/R
drives. Integrated electronics for this purpose are widely available.
Phase current waveforms
A stepper motor is a polyphase AC synchronous motor (see Theory below), and it
is ideally driven by sinusoidal current. A full step waveform is a gross
approximation of a sinusoid, and is the reason why the motor exhibits so much
vibration. Various drive techniques have been developed to better approximate a
sinusoidal drive waveform: these are half stepping and microstepping.
Full step drive (two phases on)
This is the usual method for full step driving the motor. Both phases are always on.
The motor will have full rated torque.
31 | P a g e
Stepper motor ratings and specifications
Stepper motors nameplates typically give only the winding current and
occasionally the voltage and winding resistance. The rated voltage will produce the
rated winding current at DC: but this is mostly a meaningless rating, as all modern
drivers are current limiting and the drive voltages greatly exceed the motor rated
voltage.
A stepper's low speed torque will vary directly with current. How quickly the
torque falls off at faster speeds depends on the winding inductance and the drive
circuitry it is attached to, especially the driving voltage.
Steppers should be sized according to published torque curve, which is specified
by the manufacturer at particular drive voltages and/or using their own drive
circuitry. It is not guaranteed that you will achieve the same performance given
different drive circuitry, so the pair should be chosen with great care.
32 | P a g e
4.1.4 SCANNER
Fig 4.1.4.1 Receiver used in the sensor block
This is the part of the system which deals with the scanning of the answers sheets.
It consists of IR sensors(transceivers) placed such that the dark circles fall in line
while the answers sheets are passed through it. It also consists of stepper motors
which drive the belt mechanism for the movement of the IR sensors.
When the answers is detected ,i.e. there is a change in voltage level of sensors
output leakage current is 280µA under ideal condition, when no light is incident,
leakage current flows through the receiver, the current increases .
33 | P a g e
CHAPTER NO. 5
MICROCONTROLLER
89S51 MICROCONTROLLER
The AT89S52 is a low-power, high-performance 8-bit microcomputer with 4K bytes of
Flash programmable and erasable read only memory (PEROM). The device is manufactured
using Atmel’s high-density nonvolatile memory technology and is compatible with the industrystandard MCS-51 instruction set and pin out. The on-chip Flash allows the program memory to
be reprogrammed in-system or by a conventional nonvolatile memory programmer. By
combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89S52 is a
powerful microcomputer which provides a highly-flexible and cost-effective solution to many
embedded control applications.
The AT89S52 is designed with static logic for operation down to zero frequency and supports
two Software selectable power saving modes. The Idle Mode stops the CPU while allowing the
RAM, timer/counters, serial port and interrupt system to continue functioning. The Power-down
Mode saves the RAM contents but freezes the oscillator disabling all other chip functions until
the next Hardware reset.
FEATURES OF 89S52
Following is the features of 89S52 microcontroller as per the datasheet given
by Atmel Compatible with MCS-52™ Products
 4K Bytes of In-System Reprogrammable Flash Memory Endurance:
1,000 Write/Erase Cycles
 Fully Static Operation: 0 Hz to 24 MHz
 Three-level Program Memory Lock
34 | P a g e
 128 x 8-bit Internal RAM
 32 Programmable I/O Lines
 Two 16-bit Timer/Counters
 Six Interrupt Sources
 Programmable Serial Channel
 Low-power Idle and Power-down Modes
PIN DIAGRAM OF 89S51:
35 | P a g e
BRIEF DESCRIPTION
The AT89S52 is a low-power, high-performance 8-bit microcomputer with 4K
bytes of Flash programmable and erasable read only memory (PEROM). The
device is manufactured using Atmel’s high-density nonvolatile memory
technology and is compatible with the industry-standard MCS-52 instruction set
and pinout. The on-chip Flash allows the program memory to be reprogrammed insystem or by a conventional nonvolatile memory programmer. By combining a
versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89S52 is a
powerful microcomputer which provides a highly-flexible and cost-effective
solution to many embedded control applications.
PIN DESCRIPTION
 VCC
Supply voltage.
 GND
Ground.
Port 0:
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. 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. 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.
36 | P a g e
Port 1:
Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. 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:
Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output
buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins they
are pulled high by the internal pull-ups 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 pull-ups. Port 2 emits the high-order address byte during fetches from
external program memory and during accesses to external data memory that uses
16-bit addresses (MOVX @ DPTR). In this application, it uses strong internal pullups when emitting 1s. During accesses to external data memory that uses 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:
Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. 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 pull-ups and can be used as inputs. As inputs, Port 3
pins that are externally being pulled low will source Current (IIL) because of the
37 | P a g e
pull-ups. Port 3 also serves the functions of various special features of the
AT89S52 as listed below:
Port Pin Alternate Functions –
P3.0
RXD (serial input port)
P3.1
TXD (serial output port)
P3.2
INT0 (external interrupt 0)
P3.3
INT1 (external interrupt 1)
P3.4
T0 (timer 0 external input)
P3.5
T1 (timer 1 external input)
P3.6
WR (external data memory write strobe)
P3.7
RD (external data memory read strobe)
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
38 | P a g e
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 ALEdisable 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
AT89S52 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. 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.
39 | P a g e
CHAPTER NO .6
IR SENSOR
OBJECT DETECTION USING IR LIGHT
It is the same principle in ALL Infra-Red proximity sensors. The basic idea is to
send infra red light through IR-LEDs, which is then reflected by any object in front
of the sensor.
Then all you have to do is to pick-up the
reflected IR light. For detecting the
reflected IR light, we are going to use
a very original technique: we are
going to use another IR-LED, to detect
the IR light that was emitted from
another led of the exact same type!
This is an electrical property of Light
Emitting Diodes (LEDs) which is the
fact that a led Produce a voltage
difference across its leads when it is
subjected to light. As if it was a photocell, but with much lower output current.
In other words, the voltage generated by
the leds can't be - in any way - used to
generate electrical power from light, It
can barely be detected. that's why as you
will notice in the
schematic, we are going to use a Op-Amp (operational Amplifier) to accurately
detect very small voltage changes.
40 | P a g e
Design 1: Low range, Always ON
As the name implies, the sensor is always ON, meaning that the IR led is
constantly emitting light. this design of the circuit is suitable for counting objects,
or counting revolutions of a rotating object, that may be of the order of 15,000
rpm or much more. However this design is more power consuming and is not
optimized for high ranges. in this design, range can be from 1 to 10 cm, depending
on the ambient light conditions.
As you can see the schematic
is divided into 2 parts the
sender and the receiver.
The sender is composed of
an IR LED (D2) in series
with a 470 Ohm resistor,
yielding a forward current of
7.5 mA.
The receiver part is more
complicated, the 2 resistors
R5 and R6 form a voltage
divider which provides 2.5V
at the anode of the IR LED
(here, this led will be used as
a sensor). When IR light falls
on the LED (D1), the voltage
drop increases, the cathode's
voltage of D1 may go as low
as 1.4V or more, depending
on the light intensity. This
voltage drop can be
detected using an Op-Amp (operational Amplifier LM358). You will have to
adjust the variable resistor (POT.) R8 so the the voltage at the positive input of the
Op-Amp (pin No. 5) would be somewhere near 1.6 Volt. if you understand the
functioning of Op-Amps, you will notice that the output will go High when the volt
at the cathode of D1 drops under 1.6. So the output will be High when IR light is
detected, which is the purpose of the receiver.
41 | P a g e
CHAPTER NO .7
LCD
LCD INTERFACING WITH MICROCONTROLLER
7.1 LCD Backgorund
Frequently, an 8051 program must interact with the outside world using input and
output devices that communicate directly with a human being. One of the most
common devices attached to an 8051 is an LCD display. Some of the most
common LCDs connected to the 8051 are 16x2 and 20x2 displays. This means 16
characters per line by 2 lines and 20 characters per line by 2 lines, respectively.
Fortunately, a very popular standard exists which allows us to communicate with
the vast majority of LCDs regardless of their manufacturer. The standard is
referred to as HD44780U, which refers to the controller chip which receives data
from an external source (in this case, the 8051) and communicates directly with the
LCD.
The 44780 standard requires 3 control lines as well as either 4 or 8 I/O lines for the
data bus. The user may select whether the LCD is to operate with a 4-bit data bus
or an 8-bit data bus. If a 4-bit data bus is used the LCD will require a total of 7 data
lines (3 control lines plus the 4 lines for the data bus). If an 8-bit data bus is used
the LCD will require a total of 11 data lines (3 control lines plus the 8 lines for the
data bus).
42 | P a g e
The three control lines are referred to as EN, RS, and RW.
The EN line is called "Enable." This control line is used to tell the LCD that you
are sending it data. To send data to the LCD, your program should make sure this
line is low (0) and then set the other two control lines and/or put data on the data
bus. When the other lines are completely ready, bring EN high (1) and wait for the
minimum amount of time required by the LCD datasheet (this varies from LCD to
LCD), and end by bringing it low (0) again.
The RS line is the "Register Select" line. When RS is low (0), the data is to be
treated as a ommand or special instruction (such as clear screen, position cursor,
etc.). When RS is high (1), the data being sent is text data which sould be displayed
on the screen. For example, to display the letter "T" on the screen you would set
RS high.
The RW line is the "Read/Write" control line. When RW is low (0), the
information on the data bus is being written to the LCD. When RW is high (1), the
program is effectively querying (or reading) the LCD. Only one instruction ("Get
LCD status") is a read command. All others are write commands--so RW will
almost always be low.
Handling the en control line
As we mentioned above, the EN line is used to tell the LCD that you are ready for
it to execute an instruction that you've prepared on the data bus and on the other
control lines. Note that the EN line must be raised/lowered before/after each
instruction sent to the LCD regardless of whether that instruction is read or write,
text or instruction. In short, you must always manipulate EN when communicating
with the LCD. EN is the LCD's way of knowing that you are talking to it. If you
don't raise/lower EN, the LCD doesn't know you're talking to it on the other lines.
Thus, before we interact in any way with the LCD we will always bring the EN
line low with the
following instruction:
CLR EN
And once we've finished setting up our instruction with the other control lines and
data bus lines,we'll always bring this line high.
43 | P a g e
SETB EN
The instruction is executed by the LCD at the moment the EN line is brought low
with a final
CLR EN instruction.
Initializing the lcd
Before you may really use the LCD, you must initialize and configure it. This is
accomplished by
sending a number of initialization instructions to the LCD.
The first instruction we send must tell the LCD whether we'll be communicating
with it with an 8-bit or 4-bit data bus. We also select a 5x8 dot character font.
These two options are selected by sending the command 38h to the LCD as a
command. As you will recall from the last section, we mentioned that the RS line
must be low if we are sending a command to the LCD.
Programming Tip:
The LCD command 38h is really the sum of a number of option bits. The
instruction itself is the instruction 20h ("Function set"). However, to this we add
the values 10h to indicate an 8-bit data bus plus 08h to indicate that the display is a
two-line display.
We've now sent the first byte of the initialization sequence. The second byte of the
initialization
sequence is the instruction 0Eh.
Programming Tip:
The command 0Eh is really the instruction 08h plus 04h to turn the LCD on. To
that an additional 02h is added in order to turn the cursor on.
The last byte we need to send is used to configure additional operational
parameters of the LCD.
We must send the value 06h.
Programming Tip:
44 | P a g e
The command 06h is really the instruction 04h plus 02h to configure the
LCD such that every time we send it a character, the cursor position automatically
moves to the
right.
Clearing the display
An LCD command exists to accomplish this function. Not suprisingly, it is the
command 01h.
Programming Tip:
Executing the "Clear Screen" instruction on the LCD also positions the
cursor in the upper left-hand corner as we would expect.
45 | P a g e
CHAPTER NO .8
SAMPLE ANSWER SHEET
46 | P a g e
CHAPTER NO .9
APPENDICES
9.1 ALGORITHM
1. Start
2. Initialize the LCD.
3. Wait for student’s name.
4. If the name is receive, the wait for the enter button to be pressed.
5. The ASCII character “Q” is sent to VB and wait for number of questions.
6. The questions receive is displayed on the LCD with the number of questions.
7. Start /initialize the stepper motor. Save the result in the scratch memory.
8. Increment the stepper motor position till number of questions check ’+1’.
9. Reverse the motor to original position.
10.Sent the result serially and save the result in data base.
47 | P a g e
9.2 FLOWCHART
S ta rt
B
I n it ia l iz e t h e L C D
N o
W a it f o r n a m e
Yes
n am e
N o
W a it f o r e n t e r b u t t o n
T o b e p re sse d
Yes
S e n d A S C II c h a ra c t e r
D is p l a y t h e q u e s t io n o n L C D
I n it ia l iz e s t e p p e r
m o to r
S a v e r e s u lt in
sc ra tc h m e m o ry
A
48 | P a g e
A
Increment the stepper
motor position
Move to original position
Transmit result serially and
save in database
B
49 | P a g e
CHAPTER NO .10
PROGRAMMING
Opcode for microcontroller
LCD_DATA
EQU p2
RS
EQU p0.5
RW
EQU p0.6
EN
EQU p0.7
PORT _KEY
EQU p1
KEY_READ
EQU 09H
ORG 0000H
JMP MAIN
MAIN:
LCALL DISPLAY_DATA
; LCALL STEPPER_TEST
LCALL DELAY_1_SEC
; LCALL READ_KEY_PAD
RET
DISPLAY_DATA:
50 | P a g e
MOV A, #38H
LCALL COMMAND
MOV A, #0EH
LCALL COMMAND
MOV A, #01H
LCALL COMMAND
MOV A, #06H
LCALL COMMAND
MOV A, #80H
LCALL COMMAND
MOV A, #’D’
LCALL DISPLAY
MOV A, #’E’
LCALL DISPLAY
MOV A, #’V’
LCALL DISPLAY
MOV A, #’I’
LCALL DISPLAY
MOV A, #’C’
LCALL DISPLAY
MOV A, #’E’
LCALL DISPLAY
MOV A, #’ ‘
51 | P a g e
LCALL DISPLAY
MOV A, #’O’
LCALL DISPLAY
MOV A, #’K’
LCALL DISPLAY
MOV A, #’.’
LCALL DISPLAY
MOV A, #’.’
LCALL DISPLAY
MOV A, #’.’
LCALL DISPLAY
RET
STEPPER_TEST:
MOV R0, #25H
HERE:
MOVA, #0CCCH
MOV P0, A
LCALL DELAY_STEPPER
MOV A, #066H
MOV P0, A
LCALL DELAY_STEPPER
MOV A, #033H
52 | P a g e
MOV P0, A
LCALL DELAY_STEPPER
MOV A, #099H
MOV P0, A
LCALL DELAY_STEPPER
DJNZ R0, HERE
RET
; READ_KEY_PAD:
; MOV PORT_KEY, #00001111B
; AGAIN:
; MOV A, PORT_KEY
; CLR C
; SUBB A, #00001111B
; JZ AGAIN
; MOV PORT_KEY_, 01111111B
; MOV A, PORT_KEY
; CLR C
; SUBB A, #01111111B
; JZ C1
; MOV A, PORT_KEY
; CJNE A, #01110111B, C1R1
; MOV A, #00H
; MOV KEY_READ, A
53 | P a g e
; JMP C4
; C1R1:
; CJNE A, #01111011B, C1R2
; MOV A, #01H
; MOV KEY_READ, A
; JMP C4
; C1R2:
; CJNE A, #01111101B, C1R3
; MOV A, #02H
; MOV KEY_READ, A
; JMP C4
; C1R3:
;CJNE A,#01111110B,CIR4
;MOV A,#03H
;MOV KEY_READ,A
;JMP C4
;C1R4:
;C1:
;MOV PORT_KEY,#10111111B
;MOV A,PORT_KEY
;CLR C
;SUBB A,#10111111B
;JZ C2
54 | P a g e
;MOV A,PORT_KEY
;CJNE A,#10110111B,C2R1
;MOV A,#05H
;MOV KEY_READ,A
;JMP C4
;C2R1:
;CJNE A,#10111011B,C2R2
;MOV A,#05H
;MOV KEY_READ,A
;JMP C4
;C2R2:
; CJNE A,#10111011B,C2R3
;MOV A,#06H
;MOV KEY_READ,A
;JMP C4
;C2R3:
; CJNE A,#10111110B,C2R4
;MOV A,#07H
;MOV KEY_READ,A
;JMP C4
;C2R4:
;C2:
;MOV PORT_KEY,#11011111B
55 | P a g e
; MOV A,PORT_KEY
;CLR C
;SUBB A,#11011111B
;JZ C3
;MOV A,PORT_KEY
;CJNE A,#11010111B,C3R1
;MOV A,#08H
;MOV KEY_READ,A
;JMP C4
;C3R1:
;CJNE A,#11011011B,C3R2
;MOV A,#09H
;MOV KEY_READ,A
;JMP C4
;C3R2:
; CJNE A,#11011101B,C3R3
;MOV A,#0AH
;MOV KEY_READ,A
;JMP C4
;C3R3:
; CJNE A,#11011110B,C3R4
;MOV A,#0BH
;MOV KEY_READ,A
56 | P a g e
;JMP C4
;C3R4:
; C3:
;MOV PORT_KEY,#11101111B
; MOV A,PORT_KEY
;CLR C
;SUBB A,#11101111B
;JZ C4
;MOV A,PORT_KEY
;CJNE A,#11100111B,C4R1
;MOV A,#0CH
;MOV KEY_READ,A
;JMP C4
;C4R1:
;CJNE A,#11101011B,C4R2
;MOV A,#0DH
;MOV KEY_READ,A
;JMP C4
;C4R2:
; CJNE A,#11101101B,C4R3
;MOV A,#0EH
;MOV KEY_READ,A
;JMP C4
57 | P a g e
;C4R3:
; CJNE A,#11101110B,C4R4
;MOV A,#0FH
;MOV KEY_READ,A
;JMP C4
;C4R4:
;C4:
;LCALL DELAY_20_M_SEC:
;RET
DELAY_20_M_SEC:
MOVR2,#01H
FRFRDR:MOV R2,#0FFH
FRFR2S:MOV R4,#0FFFH
FRFRS:DJNZ R4,FRFRS
DJNZ R3,FRFR2S
DJNZ R2,FRFRDR
RET
COMMAND:
MOV LCD_DATA,A
58 | P a g e
CLR RS
CLR RW
SETB EN
CLR EN
LCALL DELAY
RET
DISPLAY:
MOV LCD_DATA,A
SETB RS
CLR RW
SETB EN
CLR EN
LCALL DELAY
RET
DELAY:
MOV R3,#03H
FRFR2:
MOPV R4,#09FH
FRFR:
DJNZ R4,FRFR
DJNZ R3,FRFR2
RET
DELAY_STEPPER:
59 | P a g e
MOV R2,#01H
FRFFR:
MOV R3,#00F
FRFFR2:
MOV R4,#0FFH
FRFFR:
DJNZ R4,FRFFR
DJNZ R3,FRFFR2
DJNZ R2,FRFFR3
RET
DELAY_1_SEC:
MOV R2,#0AH
FFFR3:
MOV R3,#0FFH
FFFR2:
MOV R4,#0FFH
FFFR:
DJNZ R4,FFFR
DJNZ R3,FFFR2
DJNZ R2,FFFR3
RET
END
60 | P a g e
CHAPTER NO .11
CONCLUSION
This project is extremely cost effective and easy to implement at college level.The
systems high accuracy,reliability and convenience to use,makes it a good substitute
for the conventional OMR based exam paper evaluator .The use of transcopic
paper limits the application of conventional OMR machines to very expensive
applications. This problem is negated in this project as it uses any kind of paper
irrespective of its size ,grade, quality etc.
The problem of counterfeiting the answer sheet is also tackled using the barcode
scanner.Thus our project provides a comprehensive solution to the need of our
college to establish a low cost,reliable and effective evaluation system for
variousMCQ based examinations.
61 | P a g e
CHAPTER NO.12
FUTURE SCOPE
Our project manages the growing complexities faced by any organization in
conducting examinations time and again to select the right candidates for various
courses.In order to speed up this process and to ensure quick response and
flexibility,our system has been offering OMR based examination services to
various corporate bodies,institutes and recruitement organizations.our system can
provide quality services to any organization or institute and establish along term
satisfactory service.As a result of the wide spread adoption and ease of use of
OMR ,standardized examinations consist primarily of multiple-choice
questions,changing the nature of what is being tested.
62 | P a g e
CHAPTER NO.13
APPLICATION











There are many other applications for OMR ,for example:
In the process of institutional research
Community surveys
Consumer surveys
Geo coding
Voting
Time sheets
Evaluations
Data compilation
Product evaluation
Membership subscription forms
63 | P a g e
CHAPTER NO.14
REFERENCES
 www.google.com
 www.datasheet.com
 www.omr.com
 www.wikipedia.com
 M.MAZIDI,”8051microcontroller & microprocessor”
 Steven holzner, ”visual basics black book”
 Greg Perry , “visual basics in 21 days “
64 | P a g e
Chapter no .15
DATA SHEETS
65 | P a g e
66 | P a g e
67 | P a g e
68 | P a g e
69 | P a g e
70 | P a g e
71 | P a g e
72 | P a g e
73 | P a g e
74 | P a g e
75 | P a g e
76 | P a g e
77 | P a g e
S
78 | P a g e
79 | P a g e
80 | P a g e
81 | P a g e
82 | P a g e
83 | P a g e
84 | P a g e
85 | P a g e
86 | P a g e
87 | P a g e
88 | P a g e
89 | P a g e
90 | P a g e