Industrial automation Using Microcontroller

Download Report

Transcript Industrial automation Using Microcontroller

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
Set point
Appliances
Output/ Display
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:
► Software:
Interface to the real world
order how to deal with inputs
Test case:
8051
►
A smaller computer
► On-chip RAM, ROM, I/O ports...
CPU
RAM ROM
A single chip
I/O
Port
Serial
Timer COM
Port
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
External interrupts
Interrupt
Control
On-chip
ROM for
program
code
Timer/Counter
On-chip
RAM
Timer 1
Timer 0
CPU
OSC
Bus
Control
4 I/O Ports
P0 P2 P1 P3
Address/Data
Serial
Port
TxD RxD
Counter
Inputs
Pin Description of the 8051
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
(RXD)P3.0
(TXD)P3.1
(INT0)P3.2
(INT1)P3.3
(T0)P3.4
(T1)P3.5
(WR)P3.6
(RD)P3.7
XTAL2
XTAL1
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8051
(8031)
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
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)
Port 3 Alternate Functions
P3 Bit
Function
Pin
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RxD
TxD
INT0
INT1
T0
T1
WR
RD
10
11
12
13
14
15
16
17
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
Read latch
TB2
Vcc
Load(L1)
Internal CPU
bus
D
Write to latch
Clk
P1.X
pin
Q
P1.X
Q
M1
TB1
P0.x
Read pin
8051 IC
Writing “1” to Output Pin P1.X
Setb p1.x
Read latch
Vcc
TB2
Load(L1) 2. output pin is
Vcc
1. write a 1 to the pin
Internal CPU
bus
D
Write to latch
Clk
1
Q
P1.X
pin
P1.X
Q
0
M1
TB1
Read pin
8051 IC
output 1
Writing “0” to Output Pin P1.X
Read latch
Vcc
TB2
Load(L1) 2. output pin is
ground
1. write a 0 to the pin
Internal CPU
bus
D
Write to latch
Clk
0
Q
P1.X
pin
P1.X
Q
1
M1
TB1
Read pin
8051 IC
output 0
Reading “High” at Input Pin
Read latch
2. MOV A,P1
Vcc
TB2
external pin=High
Load(L1)
Internal CPU bus
D
1
Q
1
P1.X
Write to latch
Clk
0
Q
M1
TB1
Read pin
3. Read pin=1 Read latch=0
Write to latch=1
8051 IC
P1.X pin
Reading “Low” at Input Pin
Read latch
Vcc
2. MOV A,P1
TB2
Load(L1)
Internal CPU bus
D
0
0
Q
P1.X
Write to latch
Clk
Q
1
M1
TB1
Read pin
3. Read pin=1 Read latch=0
Write to latch=1
8051 IC
external pin=Low
P1.X pin
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
DPTR
DPH
DPL
R1
R2
PC
PC
R3
R4
R5
R6
R7
Some 8-bitt Registers of
the 8051
Some 8051 16-bit Register
Memory mapping in 8051
►
ROM memory map in 8051 family
4k
0000H
8k
0000H
0000H
0FFFH
DS5000
8751
AT89C51
1FFFH
8752
AT89C52
7FFFH
from Atmel Corporation
from Dallas Semi
RAM memory space allocation in the 8051
7FH
General RAM
30H
2FH
Bit-Addressable RAM
20H
1FH
Register Bank 3
18H
17H
10H
0FH
08H
07H
00H
Register Bank 2
Register Bank 1
Register Bank 0
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
Sensor
input/Analog
Set point
D0~D7
Display
Analog to
Digital converter
8051uc
Actuator
Control
Signals
Less complex
Cheaper
Why Microcontroller
Example
Thousands
hundreds
Tens
Units
Decoder
Decoder
Decoder
Decoder
Counter
Counter
Counter
Counter
Clk input
C1
33pF
C2
33pF
X1
U1
19
CRYSTAL
18
R1
C3
10k
9
XTAL1
XTAL2
RST
10uF
29
30
31
1
2
3
4
5
6
7
8
PSEN
ALE
EA
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
AT89C51
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
Q1
2N2907
Q2
2N2907
Q3
2N2907
Q4
2N2907
Controller
►Fixed
►Universal controllers
Universal controllers
► Input in form
► 4 ~ 20mA
► 0 ~20mA
of 0 ~5v
Conversion using Transmitter
Exp. Temperature transmitter, pressure transmitter. etc
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
Car parking gate control program
org
0
mov p0, #00
mov p1, #00
mov p2, #00
mov p3, #00
wait:
jnb p1.0, wait1
acall here
wait1:
jnb p1.2, wait
acall here1
here:
setb p2.0
limit1:
jnb p3.0, limit1
clr p2.0
switch:
jnb p1.1, switch
setb p2.1
limit2:
jnb p3.1, limit2
clr p2.1
inc a
mov p0, a
ret
here1:
setb p2.2
limit3:
jnb p3.2, limit3
clr p2.2
switch1:jnb p1.3, switch1
setb p2.3
limit4:
jnb p3.3, limit4
clr p2.3
dec a
mov p0, a
sjmp wait
end
; wait for enter into parking
; if inside goto here subroutine
; wait for leave parking
; if leave parking goto here1
; start motor1 for open d gate
; start motor1 until it strikes to limit switch
; after defined time stop d motor
; wait for input when the car cross the entering door
; when gate crossed start motor1 in revese direction to close d gate
; start motor1 in reverse direction until it strikes to the other limit
; after closing the door now stop motor1
; start counter to count number of cars on seven segment display
; display result on port 0 'use decoder'
; return from subroutine
; start motor2 for open d gate
; start motor2 until it strikes to the other limit
; after defined time stop d motor
;wait for input when the car cross the exit door
; when gate crossed start motor2 in revese direction to close d gate
; start motor2 until it strikes to the other limit
; after closing the door now stop motor2
; count down
; display result on port 0
; restart