You are on page 1of 37

RFID Checkout Line

Team 12 Xin Henry Fang Calvin Hsieh David Yi

RFID Checkout Line


Purpose - Using RFID technology to eliminate the need of scanning barcodes. Motivation - all experienced long lines and wait times in public convenience stores

Features: RFID tags for item identification Ultra-High-Frequency RFID reader Antenna selection for optimal read range/tag orientation compatibility Organized PC display of scanned items with running total Quick self-checkout system

Benefits: Customer convenience, time saving process Better inventory management Further the application of RFID technology

Objectives
Maximize reliability and customer convenience
Read multiple tags at up to 2 feet consistently without error Reasonable amount of flexibility with angle and orientation of tags Associate tag IDs with item name, description and price Integration of reader, PIC, and PC Constantly refreshing display of current items detected Allow customer to add or remove items while at checkout Minimize time to detect an item addition and item removal Customer confirmation of final price

Block Diagram
Antenna RFID Tag

Skyetek M9 RFID reader UHF 862-955 MHz 1-3m read range Gen2 Protocol RFID tags best range and anti-collision Microchip 16F877A PIC MAX232 chip RS-232 serial port communication PC monitor display

RFID Reader

Power Supply Memory Management/ Microprocessor

Display

Initial Hardware Test Setup


Power Supply

Protoboard was the primary tool that was used for testing and debugging Used for functionality of Individual components as well as communication between components

PIC

MAX232

20Mhz Oscillator RS232 PIC to PC RS232 Reader to PIC

Final Hardware Overview


RS232 PIC to PC

Power supply 5v to PIC, Oscillator, and MAX232 RS232 Reader to PIC: feeds both tx and rx lines

PIC PIC

MAX232

RS232 PIC to PC connector tx to PC


MAX232 to step down voltage from Reader to PIC and step up voltage from PIC to PC
Power Supply

20Mhz Oscillator

RS232 Reader to PIC

Microchip PIC/RFID Reader Communication

Skyetek M9 RFID Reader


RS-232 TTL communication Baud Rate: 38400 bps Output Power Level: 27 dBm

Microchip PIC16F877A
Programmed in PIC-C Supports RS-232, I2C, SPI protocols Operates at 20 MHz

Skyetek Communications Protocol v3


Request (Command) Format:

Basic Inventory Command: [Option Flags][Command][Tag Type] Supports commands such as Inventory, Kill Tag, Write Tag, Set password

Response (Received) Format:

Basic Inventory Response: [Command][Tag Type][Tag ID][Success Flag]

Programming the Tags


Tags came pre-programmed with the same EPC IDs
Memory of the PIC was a problem PIC only has ~3KB of RAM, while incoming RFID responses were 320 bytes each Needed to re-program the IDs to be unique, but also allow the PIC to ignore storing all incoming characters except for the ones in the unique IDs. Used Write Tag command (0x0103) to re-program tags to ID range from ASCII EEEE to FEEF

Requesting Tag Inventory


PIC sends ASCII Inventory Select command: <LF>[0002][0101][8200]<LF> Tells reader to look for all Gen2 tags with in the field with unique IDs Command is looped periodically, with about a 50 ms delay between successful responses.

-Allows the display to update in the case of an erroneous reading or if the shopper wants to add or remove items to their cart.
-No user intervention is required to continue scanning/sending info

Inventory Request Snapshot

Inventory Response Snapshot

Request Command

Tag IDs

Request Complete Flag

Tag Request Interrupts


PIC does not know how many tag IDs will be coming in Will try to read a maximum of 10 tags, even if theres less in the field Interrupts are used to prevent PIC from waiting endlessly for data Using the PICs internal 8-bit counter, and a prescale factor of 256, interrupt timeout length set to 0.131 secs

Processing Received Information


After receiving IDs, PIC performs ID matching to send to PC. PIC converts the tag IDs read into an ASCII encoded string to send to the PC for checkout display. User intervention not required PIC periodically sends this data out
Tag # 1 2 3 4 Read Tag ID EEEE EFEF EEEF FEEE Action Send Kingdom Hearts encoding Send God of War encoding Send Katamari Damacy encoding Send Mario Party 8 encoding

Received Tag ID Snapshot

Tag IDs Inventory Complete Flag

Testing of PIC to PC
Initial PIC to PC Implementation Plan to have all calculations/database performed on the PIC Problems: Limited PIC memory HyperTerminal is a very simple tool Constantly refreshes itself Data cannot be edited

Final Implementation
Implement Checkout Screen in Visual Studios using Visual Basic Benefits: Allows input data to be manipulation to store information and perform calculations

Raw Data sent to PC from PIC

Problem: Distinguish between individual tags


Solution: Pass a constant unique string of 8-bytes that represents each tag (00000000,99999999, where FFFFFFFF is garbage)

Visual Studio Programming

Contains database of tag IDs and associated item information Processes received data from PIC and determines which items are in the checkout line Calculates totals Displays items and prices on screen User interface to confirm final price

Quality Control
Reader does not always detect every tag, especially as range and number of tags increase Implemented quality control checks using previous responses to avoid errors.
3rd to last response

Tag 1

Tag 2

Tag 3

Tag 4

Yes

Yes

No

Yes

Varied the number of previous responses to check, m, in order to optimize the reliability without introducing too much delay in detecting the removal of a tag
More on this later

2nd to last response

Yes

No

No

Yes

Previous response

Yes

Yes

No

Yes

(m=3)

Overview of Testing
Readability/Anti-collision # of tags read vs. incremental m values (1,2,3,4) and distances (0.5, 1.5, 3ft) Tag Orientation (fanned, directly behind) Angle: Read range vs. Angle Substrate Timing: M value vs. Tag Removal Detection Time Interrupt Timeout time vs. Tag Removal Detection Time

Analysis of Anti-collision
Effect of 'm' on Read Success (Dist 0.5 ft, tags fanned/spread out)
16 15 14 13

Successful reads (out of 15)

12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Number of Tags in Field


m=1 m=2 m=3 m=4

Effect of 'm' on Read Success (Dist 0.5ft, Tags directly behind each other)
16 15 14 13

Successful Reads (out of 15)

12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Number of Tags in Field


m=1 m=2 m=3 m=4

Comparison of Orientations on Read Success (Dist 0.5ft, m=3)


16 15 14 13

Successful Reads (out of 15)

12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Number of Tags in Field


Spread orientation Not spread orientation

Effect of 'm' on Read Success (Dist 1.5ft, Fanned Orientation)


16 15 14 13

Successful Reads (out of 15)

12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Number of Tags in Field


m=1 m=2 m=3 m=4

Effect of 'm' on Read Success (Dist 1.5ft, Non-spreaded orientation)


16 15 14 13

Successful Reads (out of 15)

12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Number of Tags in Field


m=1 m=2 m=3 m=4

Comparison of Tag Orientation on Read Success (Dist 1.5ft, m=3)


16 15 14 13

Successful Reads (out of 15)

12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Number of Tags in Field


Tags spreaded Tags not spreaded

Read Success vs Number of Tags with Spread Orientation (Dist 3ft, m=4)
16 15 14
Spread orientation

Successful Reads (out of 15) of 15)

13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Number of Tags in Field

Angle Testing Orientations

Max Read Distance vs Angle (single tag, m=1)


65 60 55

Max Read Distance (inches)

50 45 40
Angle Type 1

35 30 25 20 15 10 5 0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75

Angle Type 2 Angle Type 3 Angle Type 4

80

85

90

Angle (degrees)

Maximum read distance (inches)

20

50 40 30

70 60

10 0
Ai r Pa pe r ar d bo ar d

Ph on e Bo ok (th ick pa p er ) ca se ) (v id e o ga m e C Pl as t ic

Ja ns p or tB ac kp bl ab o Li qu ut 4 id in (w oc ac k lly ke d) be h at er M et al +L in d) bo ttl e iq ui M d (S pr it e M M et al (ta g et al (p ar tia

Effect of substrate on max read distance (one tag, m = 1, optimal orientation)

Substrate placed in between antenna and tag


) et al ca n)

Effect of M on time to detect a tag removal (I.T. = 0.131 sec)


9 8
Removal detection delay time (seconds)

7 6 5 4 3 2 1 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 m (number of insurance loops)

Effect of interrupt timeout on time required to detect tag removal (m = 3)


Removal detection delay time (seconds)

12 10 8 6 4 2 0 0 0.05 0.1 0.15 0.2 0.25 0.3 Interrupt timeout per tag (seconds)

Successes
Introductory proof of concept for checkout lines Overall system has satisfactory range (as much as 60 in. for a single tag) Anti-collision up to 10 tags, working quite well for 5-6 items Elegant, store-like display capable of displaying all items at once including price sums, unique descriptions, and error checking enhancement Permanent boxed enclosure for circuitry

Improvements
Goals/Improvements Expand the total number of allowable tags Multiplexed array of antennas for larger interrogation zone Antenna amplifier for longer read ranges Metal Shield to act as an RF wave reflector Inventory database Interface with Credit Card machine and Receipt Printer

Ethical Considerations
Shoplifting issues if tags could be ripped off, but tags could be embedded. Shoplifting detection could be implemented at store exits similar to existing security measures. Tag IDs could be overwritten or turned off when payment is confirmed. Invasion of consumer privacy, what you buy. However, information could aid companies in more effectively targeting advertisements and avoid spamming.

Special Thanks To:

Professor Carney Alex Spektor

Skyetek Inc. Parts shop

Questions

You might also like