Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

RFID - Detect removal of tag

Status
Not open for further replies.

Spadez

New Member
Hi,

Im sure ive seen this before, but is it possible that RFID can detect not only a tag being placed onto a sensor, but also it being taken away from the sensor too?

Would it read you taking away in the same way that it would read it being moved onto the sensor? Therefore one detect would be moved onto the sensor and the second detect would be it being moved off.
 
Yes. If you were just reading the tag and now you're not, you've just detected the removal of the tag...
 
I was under the impression that RFID worked because of the induction current created by moving the tag across the sensor. Is that the case? If it is, then will it not stop detecting the tag as soon as it stops moving, i.e its placed on top of the sensor.
 
Last edited:
I was under the impression that RFID worked because of the induction current created by moving the tag across the sensor. Is that the case? If it is, then will it not stop detecting the tag as soon as it stops moving, i.e its placed on top of the sensor.

It's true that passive RFID tags are powered by inducing a current in the coil that acts as their antenna however this only requires you to move the tag to the powering field, not within it. The tags are not like shake flashlights where current is generated by moving a magnet through a coil of wire, here the current is provided by the interrogator. Being in proximity is enough.
 
RFID is a fixed length of data. Why not just sample the data as normal with timeouts? find out how long it takes to sample a FULL ID then have a timeout when it takes too long this way it means you have a incomplete ID ... meaning the tag was removed.

Basically another way of saying what LTX71CM was saying :D
 
Last edited:
Hi.

So just to clarify that I have this right. RFID is based purely on proximity, so if the RFID tag is stationary, but is in the proximity of the "interrogator", it will still be picked up. Its more a case that the the tag will be removed after a couple of seconds or so, not milliseconds.

If I wanted to check to see if a tag has been removed could I simply query the current tags and compare this with the previous scan, so:

Scan 1: Blue, Yellow, Green
Scan 2: Blue, Green

Yellow has been removed. Im guessing it cant get any more simple than that?
 
something like that yes. Basically as long as its close and can be read 1 time it will continue scanning the card until removed.

When i was messing with RFID i noticed i could read a card about 4-5 times on a nice pass. if you leave it over the reader it will stay reading... Give it a test...
 
Ok.

Can i explain exactly what I'm trying to do with this project to get an idea of the complexity of the project and any potential issues.

What im trying to do is simply keep track of what RFID tags are sat on the reader. There will be about 6 different tags and I need to keep it updated when next tags are added or removed.
 
I dont think a RFID can read multiple tags at once. If you have 2 tags on a reader there is no way to tell which one will be read ...
 
Last edited:
It's done all the time for inventory control. Do plan to use a computer or microcontroller? Do you need to display data regarding tags or trigger an audible alert when conditions change?
 
Hi.

Microcontroller. I will be triggering events based on the tags which are seen to be on the sensor.

How can this be achieved so as to not conflict with the different rfid tags already by the sensor?
 
Last edited:
I'm guessing this is going to be impossible to do what I originally intended. I think it would be a better option to have a read area and a rest area. The tags will be read in the read area but not in the rest area. I can move the tags past the read area into the rest area which will turn that tag "On" and then move it to the rest area. Then move it back past the read area to turn it off again.
 
RFID can read multiple tags in it's field using an anti-collision algorithm. I don't know the specifics of it, but I do know the general idea.

For instance, assume you have 3 cards, each with the following data on them
Card 1: 0001101001
Card 2: 0001000011
Card 3: 0000100010

You'd take your stack of cards and place them on the reader. You'd then send a command to the reader to tell it to initiate a reading. The reader would go out and start reading data. It'd get a 000 (since the first 3 bits on all 3 cards are 0) and would be happy. It would then see a collision at the next bit. The card that tried to respond with a '0' would then be quiet, and the remaining cards would continue talking. At this point the RFID reader knows that there are at least two cards in it's field, and it knows that the bits are:

Card x: 0001??????
Card y: 0000??????

It would continue reading, and would immediately see that there are now at least 3 cards it its field with the following IDs

Card x: 00011?????
Card z: 00010?????
Card y: 0000??????

Card z would then be quiet, and the reader could continue reading to get card X's data. It could then back up and get the rest of card Z's data, and it could then go back and get card y's data. Since no more collisions would be seen, it would then assume that there are only 3 cards in it's field.

Some manufacturers also just have the cards delay for a random amount of time and then send their data. The randomness is fixed for each card, but varies from card to card due to intentional loose manufacturing tolerances.

As far as detecting when a card is present, I'd just have the reader scan for cards every 100 mS or so. If a card is present, the reader will know it. If not, it'll know that too. This assumes that you're not battery powered. If you're battery powered, you'll want to implement a button or use some other type of low power sensor. I used a simple light sensor and read it every 256mS to detect when a card is present.
 
Bah just lost my previous reply.

Thank you for the information.

If there are two tags:

Tag 1: 0000 0001
Tag 2: 0000 0010

Is it correct that read together the output would be:
0000 0011
 
Last edited:
No, with the anti-collision algorithm, after 0000 00, it would detect the collision and know that there is a card with ID 0000 000 and 0000 001. It would then read the last bit of tag 2 and then go back and read the last bit of tag 1.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top