TheHuman _ andPhysical _ Interfaces .ppt

Belal90 6 views 56 slides Aug 20, 2024
Slide 1
Slide 1 of 56
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56

About This Presentation

A human interface is an important part of most embedded systems.
Users need to conveniently get information from the embedded system.
They also need to conveniently control the operation of this system.
Examples:
Domestic fridge
Photocopier
Car dashboard


Slide Content

The human and physical
interfaces
Chapter Eight
8.1 – 8.9
Dr. Gheith Abandah 1

Outline
•Introduction
•Keypads
•Seven-segment displays
•LCDs
•Sensors
•Actuators
•Summary
Dr. Gheith Abandah 2

Introduction
•A human interface is an important part of most
embedded systems.
•Users need to conveniently get information from the
embedded system.
•They also need to conveniently control the operation
of this system.
•Examples:
–Domestic fridge
–Photocopier
–Car dashboard
Dr. Gheith Abandah 3

Human Interface - Examples
Dr. Gheith Abandah 4

Human Interface - Examples
Dr. Gheith Abandah 5

Human interface types
•Input:
–Switch
–Push button
–Keypad
•Output:
–light-emitting diode
(LED)
–Seven-segment LED
–Liquid crystal display
(LCD)
Dr. Gheith Abandah 6

The LED version of the Derbot AGV
Dr. Gheith Abandah 7

The LCD version of the Derbot AGV
Dr. Gheith Abandah 8

The Keypad
Dr. Gheith Abandah 9

Flow diagram
Reading a
keypad with a
microcontroller
port
Dr. Gheith Abandah 10

Outputs for the keypad
Port Bit Function
7 Row 1
6 Row 2
5 Row 3
4 Row 4
3 Column 1
2 Column 2
1 Column 3
0 Unused
Dr. Gheith Abandah 11

Flow diagram of program example
Dr. Gheith Abandah 12

Keypad Example – Initialization
;Initialize
bsf status,rp0 ;select memory bank 1
movlw B'11110000' ;Port B initially Row bits
;are input, column output
movwf trisb
bcf status,rp0 ;select bank 0
...
clrf portb ;initialize keypad value
bcf intcon,rbif ;enable interrupt
bsf intcon,rbie
bsf intcon,gie
loop
goto loop ;await keypad entries
Dr. Gheith Abandah 13

Keypad Example – ISR
kpad_to_lcd
call kpad_rd
call kp_code_conv
bsf portc,lcd_RS ;set for character op
movwf lcd_op
call lcd_write
rel_test;test now for keypad release
call kpad_rd
movf kpad_pat,0
andlw 0fe ;suppress lsb, not used
sublw 0fe ;test if inactive
btfss status,z
goto rel_test
bcf intcon,rbif ;clear interrupt flag
retfie
Dr. Gheith Abandah 14

Keypad Example – Read keypad
kpad_rd
movf portb,w ;read portb value, row pattern
andlw B'11110000' ;suppress unwanted bits
movwf kpad_pat
bsf status,rp0 ;set row to op, column to ip
movlw B'00001110'
movwf trisb
bcf status,rp0
movlw 00
movwf portb ;ensure output values still 0
movf portb,w ;read portb value, col. pattern
andlw B'00001110' ;suppress unwanted bits
iorwf kpad_pat,1 ;OR results into the pattern
Dr. Gheith Abandah 15

Keypad Example – Read keypad 2
;reset keypad interface
bsf status,rp0 ;set row to ip, column to op
movlw B'11110000'
movwf trisb
bcf status,rp0
clrf portb ;ensure output values still 0
return
Dr. Gheith Abandah 16

Seven-segment displays
Dr. Gheith Abandah 17
Common
Anode
Common
Cathode

Connecting multiple digits
Dr. Gheith Abandah 18
Need 1.2 kΩ
line resistors

Timing diagram
Dr. Gheith Abandah 19

7-seg. display example – page 1
Dr. Gheith Abandah 20

7-seg. display example – page 2
;Initialise
bcf status,rp1
bsf status,rp0;bank 1
movlw B’00000000’ ;out
movwf trisa
movwf trisb
movwf trisc
bcf status,rp0;bank 0
;
loop
;set digit 1
movlw B'00011101' ;H
movwf porta
bcf portc,6 ;seg a
bsf portc,7 ;seg b
bsf portc,1 ;dig 1
call delay5
bcf portc,1
;set digit 2

goto loop
Dr. Gheith Abandah 21

Liquid crystal displays (LCDs)
•Liquid crystal responds to an applied electric field by
changing the alignment of its molecules, and in so
doing changing the direction of the light polarization
that it introduces.
•Liquid crystal can be trapped between two parallel
sheets of glass, with a matching pattern of
transparent electrode on each sheet.
•When a voltage is applied to the electrodes, the
optical character of the crystal changes and the
electrode pattern appears in the crystal.
Dr. Gheith Abandah 22

Interfacing with LCDs
•Hitachi developed a special microcontroller
(HD44780) for interfacing LCDs.
•This microcontroller is usually integrated with
LCDs.
•Features:
–8- or 4-bit data transfer
–Simple instruction set to initialize, clear, display, and
position cursor
–Has instruction register and data register
Dr. Gheith Abandah 23

HD44780 timing diagram
Dr. Gheith Abandah 24

Derbot’s LCD
Dr. Gheith Abandah 25
Each digit
is a liquid
crystal dot
matrix

LCD Drive Example – Page 1
lcd_write
call busy_check
bcf portc,lcd_rw
bcf status,c
rrf lcd_op,1
bcf portc,6
btfsc status,c
bsf portc,6
bcf status,c
rrf lcd_op,1
bcf portc,7
btfsc status,c
bsf portc,7
movf lcd_op,0
movwf porta
bsf portc,lcd_E
bcf portc,lcd_E
return
Dr. Gheith Abandah 26

LCD Drive Example – Page 2
busy_check
bsf status,rp0 ;bank 1
movlw B'00111111' ;set port A all ip
movwf trisa
bcf status,rp0
bcf flags,0
btfsc portc,lcd_RS ;save RS in flags, 0
bsf flags,0
bcf portc,lcd_RS ;access instr register
bsf portc,lcd_RW ;set to read
Dr. Gheith Abandah 27

LCD Drive Example – Page 3
busy_loop
bcf portc,lcd_E
bsf portc,lcd_E
btfsc porta,lcd_busy ;test the busy flag
goto busy_loop
bcf portc,lcd_E
bsf status,rp0 ;select memory bank 1
movlw B'00000000‘ ;set port A all op
movwf trisa
bcf status,rp0
bcf portc,lcd_RS
btfsc flags,0 ;reinstate RS bit
bsf portc,lcd_RS
return
Dr. Gheith Abandah 28

Sensors
•Convert physical variables to electrical.
•Examples:
–The microswitch
–Light-dependent resistor
–Ultrasonic object sensor
Dr. Gheith Abandah 29

The Microswitch
Dr. Gheith Abandah 30

Light-dependent resistors
•A light-dependent resistor
(LDR) is made from a
piece of exposed
semiconductor material.
When light falls on it, it
creates hole–electron
pairs in the material,
which improve the
conductivity.
•20M Ω to a few hundred
ohms
Dr. Gheith Abandah 31

Optical object sensing
Infrared LED and phototransistor
Dr. Gheith Abandah 32

The opto-sensor applied as a shaft
encoder
Dr. Gheith Abandah 33

Ultrasonic object sensor
Dr. Gheith Abandah 34

Digital input
If a microcontroller
is to receive logic
signals, then it is
essential that
those signals are at
voltage levels
which are
recognized by it as
being either Logic 0
or Logic 1.
Dr. Gheith Abandah 35

Forms of signal corruption
Dr. Gheith Abandah 36
(a) Spikes in signal, potentially harmful to device input. (b) Spikes in
signal.
(c) Excessively slow edges. (d) DC offset in signal.

Input protection
•For R
prot = 1KΩ and max.
diode current =20 mA
•What is the maximum
voltage spike?
V
max
=
[(20mA × 1 k Ω) + 5.3]
= 25V
Dr. Gheith Abandah 37

Ensuring legal logic levels
•Can use Schmitt trigger
for speeding up slow
logic edges.
•Schmitt trigger with RC
filter can be used to
filter voltage spikes.
•Digital filtering: sample
the input three times
and use a majority vote.
Dr. Gheith Abandah 38

Isolation or level shifting with the
opto-isolator
Dr. Gheith Abandah 39

Switch bouncing
Dr. Gheith Abandah 40

Hardware switch debouncing
Dr. Gheith Abandah 41

Software switch debouncing
Dr. Gheith Abandah 42
Typically
10 ms

Actuators: motors and servos
•Often need to cause
physical movement
•For linear movement
use solenoids
•For angular movement,
use ‘servos’
•For angular or rotary,
use DC or stepper
motors
Dr. Gheith Abandah 43

Comparison
DC Motors
•Range from the extremely
powerful to the very small
•Wide speed range
•Controllable speed
•Good efficiency
•Can provide accurate angular
positioning with angular
shafts
•Only the armature winding
needs to be driven
Stepper Motors
•Simple interface with digital
systems
•Can control speed and
position
•Awkward start-up
characteristics
•Lose torque at high speed
•Limited top speed
•Less efficient
•More complex to drive
Dr. Gheith Abandah 44

Derbot DC Motor
Dr. Gheith Abandah 45

Servo input and output
characteristics
Dr. Gheith Abandah 46

Interfacing to actuators
•Simple DC switching
–Bipolar transistors
–MOSFET transistors
•Reversible switching
–The H-bridge
Dr. Gheith Abandah 47

Bipolar transistor switching of DC
resistive loads
Dr. Gheith Abandah 48

MOSFET transistor switching of DC
resistive loads
Dr. Gheith Abandah 49

MOSFET transistor switching of DC
inductive loads
Dr. Gheith Abandah 50

Characteristics of two popular
logic-compatible MOSFETs
Dr. Gheith Abandah 51

Driving piezo sounder and opto-
sensors
Dr. Gheith Abandah 52
I = (5 − 3.4)/91
I = 17.6 mA

Reversible switching: the H-bridge
Dr. Gheith Abandah 53

The L293D dual H-bridge
Dr. Gheith Abandah 54

The L293D applied in the Derbot
motor drive circuit
Dr. Gheith Abandah 55

Summary
•An embedded microcontroller must be able to interface with
the physical world and possibly the human world as well.
•Much human interfacing can be done with switches, keypads
and displays.
•To interface with the physical world, the microcontroller
must be able to interface with a range of transducers. The
designer needs an understanding of the main sensors and
actuators available.
•Interfacing with sensors requires a reasonable knowledge of
signal conditioning techniques.
•Interfacing with actuators requires a reasonable knowledge
of power switching techniques.
Dr. Gheith Abandah 56