Industrial automation Using Microcontroller By: Engr. M 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 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 single chip 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 在 Intel 允許廠商設計相容的 8051 IC 後, 8051 才真正的 popular.
Block Diagram 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 Counter Inputs
Pin Description of the 8051 8051 (8031) 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 P0.x 8051 IC Read latch Vcc TB2 Load(L1) P1.X pin 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 8051 IC
Writing “1” to Output Pin P1.X Setb 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 TB2 2. output pin is Vcc 1. write a 1 to the pin 1 output 1 TB1 8051 IC
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 TB2 2. output pin is ground 1. write a 0 to the pin output 0 1 TB1 8051 IC
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 2. MOV A,P1 external pin=High TB2 1 1 TB1 3. Read pin=1 Read latch=0 Write to latch=1 8051 IC
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 2. MOV A,P1 external pin=Low TB2 1 TB1 3. Read pin=1 Read latch=0 Write to latch=1 8051 IC
8051 Family Mask programmable OTP one time programmable Reprogrammable 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)
Some 8-bitt Registers of the 8051 A B R0 R1 R3 R4 R2 R5 R7 R6 DPH DPL PC DPTR Some 8051 16-bit Register Some 8-bitt Registers of the 8051
Memory mapping in 8051 ROM memory map in 8051 family
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
Why Microcontroller Less complex Cheaper Example Decoder Counter Units Tens hundreds Thousands Clk input
Controller Universal controllers Input in form of 0 ~5v 4 ~ 20mA Fixed Universal controllers Universal controllers Input in form of 0 ~5v 4 ~ 20mA 0 ~20mA 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 ; 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
?
Thanks