You are on page 1of 43

Industrial automation Using

Microcontroller

By: Engr. M.Rizwan Anjum
Department of Electronic Engineering
UCET, IUB.






Contents
Introduction
Parameters consideration for Automation
Selecting microcontroller
Internal architecture of Microcontroller
Applications

Introduction
Automation
The control of an industrial process (e.g
manufacturing, production etc) by automatic rather
that manual means is often called automation

Automation can be defined as a technology that
uses programmed commands to operate a given
process
Basic building block diagram of
Automation
Transducer
Processing/ control Processing/ control Output/ Display
Appliances
Set point
Sensors/ Transducers
Level
Flow
Pressure
Temperature
Humidity


Controllable applications
Motors
Solenoid valves
Control valves

Display
Input Parameters
Set point
Indication for Output (alarm)

Controller
Takes Input
Verifies the conditions
Controls the equipment &
Displays the output
Microcontrollers
The prime use of a microcontroller :

To control the operation of a machine using a fixed
program that is stored in ROM and that does not
change over the lifetime of the system

Typical Microcontrollers
The most common microcontrollers are 8-
bit.
4-bit are used in high volume very low cost
applications
16 & 32 bit are used in high-end
applications.
Typical clock frequencies are 12 - 24 MHz
Different manufacturers of
microcontroller
Intel
Atmel
Philips
Dallas Semiconductors
Microchip
Motorola




Criteria for Selecting microcontroller
meeting the computing needs of the task
efficiently and cost effectively
speed, the amount of ROM and RAM, the
number of I/O ports and timers, size,
packaging, power consumption
easy to upgrade
cost per unit
availability of software development tools
assemblers, debuggers, C compilers, emulator,
simulator, technical support
wide availability and reliable sources of the
microcontrollers.
Different aspects of a microcontroller
Hardware: Interface to the real world



Software: order how to deal with inputs

Test case: 8051
A smaller computer
On-chip RAM, ROM, I/O ports...
RAM ROM
I/O
Port
Timer
Serial
COM
Port
CPU
A single chip
History of 8051
1981, Intel MCS-51
The 8051 became popular after Intel
allowed other manufacturers to make and
market an flavor of the 8051.
different speed, amount of on-chip ROM
code-compatible with the original 8051
form a 8051 family
Block Diagram
Counter
Inputs
CPU
On-chip
RAM
On-chip
ROM for
program
code
4 I/O Ports
Timer 0
Serial
Port
OSC
Interrupt
Control
External interrupts
Timer 1
Timer/Counter
Bus
Control
TxD RxD
P0 P2 P1 P3
Address/Data
Pin Description of the 8051
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
(RXD)P3.0
(TXD)P3.1
(T0)P3.4
(T1)P3.5
XTAL2
XTAL1
GND
(INT0)P3.2
(INT1)P3.3
(RD)P3.7
(WR)P3.6
Vcc
P0.0(AD0)
P0.1(AD1)
P0.2(AD2)
P0.3(AD3)
P0.4(AD4)
P0.5(AD5)
P0.6(AD6)
P0.7(AD7)
EA/VPP
ALE/PROG
PSEN
P2.7(A15)
P2.6(A14)
P2.5(A13)
P2.4(A12)
P2.3(A11)
P2.2(A10)
P2.1(A9)
P2.0(A8)
8051
(8031)
Port 3 Alternate Functions
17 RD P3.7
16 WR P3.6
15 T1 P3.5
14 T0 P3.4
13 INT1 P3.3
12 INT0 P3.2
11 TxD P3.1
10 RxD P3.0
Pin Function P3 Bit
MICROCONTROLLER I/O pins
I/O pins are very useful for the following :
reading Inputs/ reading keypads
Displaying output
controlling Motors (PWM) etc.

A Pin of Port 1
8051 IC
D Q

Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
TB1
TB2
P0.x
Writing 1 to Output Pin P1.X
D Q

Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
8051 IC
2. output pin is
Vcc
1. write a 1 to the pin
1
0
output 1
TB1
TB2
Setb p1.x
Writing 0 to Output Pin P1.X
D Q

Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
8051 IC
2. output pin is
ground
1. write a 0 to the pin
0
1
output 0
TB1
TB2
Reading High at Input Pin
D Q

Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU bus
M1
P1.X pin
P1.X
8051 IC
2. MOV A,P1
external pin=High
1
0
3. Read pin=1 Read latch=0
Write to latch=1
1
TB1
TB2
Reading Low at Input Pin
D Q

Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU bus
M1
P1.X pin
P1.X
8051 IC
2. MOV A,P1
external pin=Low
1
0
3. Read pin=1 Read latch=0
Write to latch=1
0
TB1
TB2
8051 Family
Mask programmable
factory fitted Programs
OTP one time programmable
User Programmable
Reprogrammable
User Reprogrammable
Comparison of the 8051 Family Members
ROM type
8031 no ROM ; requires external Rom
80xx mask ROM
87xx EPROM
89xx Flash EEPROM
89xx
8951
8952
8953
8955
898252
891051
892051
Example (AT89C51,AT89LV51)
AT= ATMEL(Manufacture)
C = CMOS technology
LV= Low Power(3.0v)

Registers
A
B
R0
R1
R3
R4
R2
R5
R7
R6
DPH DPL
PC
DPTR
PC
Some 8051 16-bit Register
Some 8-bitt Registers of
the 8051
Memory mapping in 8051

ROM memory map in 8051 family
0000H
0FFFH
0000H
1FFFH
0000H
7FFFH
8751
AT89C51
8752
AT89C52
4k
DS5000 - 32
8k 32k
from Atmel Corporation
from Dallas Semiconductor
0000H
0FFFH
0000H
1FFFH
0000H
7FFFH
8751
AT89C51
8752
AT89C52
0000H
0FFFH
0000H
1FFFH
0000H
7FFFH
8751
AT89C51
8752
AT89C52
4k
DS5000 - 32
8k 32k
from Atmel Corporation
from Dallas Semiconductor
RAM memory space allocation in the 8051
7FH
30H
2FH
20H
1FH
17H
10H
0FH
07H
08H
18H
00H
Register Bank 0
Register Bank 1
Register Bank 2
Register Bank 3
Bit-Addressable RAM
General RAM
Development Cycle of microcontroller based project
How to interface Devices
Inputs and Outputs
Compatibility of I/Os
Impedance matching
Selecting right microcontroller

General diagram of Automation
Analog to
Digital converter
8051uc
Display
Actuator
D0~D7
Sensor
input/Analog
Control
Signals
Set point
Decoder
Decoder Decoder
Decoder
Counter Counter
Counter Counter
Units Tens
hundreds Thousands
Clk input
Why Microcontroller
Less complex
Cheaper

Example
X1
CRYSTAL
C2
33pF
C1
33pF
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
C3
10uF
R1
10k
Q1
2N2907
Q2
2N2907
Q3
2N2907
Q4
2N2907
Controller
Universal controllers
Input in form of 0 ~5v
4 ~ 20mA
0 ~20mA


Conversion using Transmitter
Exp. Temperature transmitter, pressure transmitter. etc

Fixed
Universal controllers
Applications of microcontroller
Personal information products: Cell phone,
pager, watch, pocket recorder, calculator
Laptop components: mouse, keyboard,
modem, fax card, sound card, battery
charger
Home appliances: door lock, alarm clock,
thermostat, air conditioner, TV remote, VCR,
small refrigerator, exercise equipment,
washer/dryer, microwave oven
Industrial equipment: Temperature/pressure
controllers, Counters, timers, RPM Controllers
Toys: video games, cars, dolls, etc.
Microcontroller Applications
Microcontroller Application Area
Sample projects
Car parking gate control
org 0
mov p0, #00
mov p1, #00
mov p2, #00
mov p3, #00
wait: jnb p1.0, wait1 ; wait for enter into parking
acall here ; if inside goto here subroutine
wait1: jnb p1.2, wait ; wait for leave parking
acall here1 ; if leave parking goto here1
here: setb p2.0 ; start motor1 for open d gate
limit1: jnb p3.0, limit1 ; start motor1 until it strikes to limit switch
clr p2.0 ; after defined time stop d motor
switch: jnb p1.1, switch ; wait for input when the car cross the entering door
setb p2.1 ; when gate crossed start motor1 in revese direction to close d gate
limit2: jnb p3.1, limit2 ; start motor1 in reverse direction until it strikes to the other limit
clr p2.1 ; after closing the door now stop motor1
inc a ; start counter to count number of cars on seven segment display
mov p0, a ; display result on port 0 'use decoder'
ret ; return from subroutine
here1: setb p2.2 ; start motor2 for open d gate
limit3: jnb p3.2, limit3 ; start motor2 until it strikes to the other limit
clr p2.2 ; after defined time stop d motor
switch1:jnb p1.3, switch1 ;wait for input when the car cross the exit door
setb p2.3 ; when gate crossed start motor2 in revese direction to close d gate
limit4: jnb p3.3, limit4 ; start motor2 until it strikes to the other limit
clr p2.3 ; after closing the door now stop motor2
dec a ; count down
mov p0, a ; display result on port 0
sjmp wait ; restart
end
Car parking gate control program

You might also like