Arduino + 2 RFID Reader !!!

Hello,

I'm doing a project and I need some help guys.

I want to get 2 RFID Readers connected to Arduino to make an access control solution.
2 readers are necessary for bi-directional passage, so their output shouldn't be mixed by arduino (I need to differentiate them).

All I need is to read data from these readers as quickly as possible, so should I go for the RFID readers with Wiegand26 or RS485 output? which one would be better to use in my case?

Thanks a lot in advance.

If you are only now at the hardware acquisition stage, I'd get two serial RFID readers and a Mega (with 4 hardware serial ports). Connect each RFID reader to a separate serial port, write a little code, and you're done.

Depending on the RFID readers that you get, and thier range, you may need to consider some sort of shielding between the antennas, so that one reader doesn't see a tag that is closer to the other reader.

You'll also need to consider whether you can get sufficient unique tags, and in what format (card or fob are the usual formats). You may need a RFID writer to program your own tags, which is much more expensive.

Thanks for such detailed answer. That's quite helpful for me.

I'll definately consider Arduino MEGA, 4 serial ports are quite handy. But I want to ask you, does Serial RFID give better performance than Wiegand one? I mean will it give me quicker reading speeds?

A RFID reader will send back between 12 and 26 bytes of data. The number of bytes is determined by the interface. How fast that data is processed by the receiver is more of a limiting factor on the overall performance of the system than the number of bytes sent.

The reading of the card is done by the external RFID reader, which then sends that data to the Arduino, using the serial port or a pair of pins.

Just how fast does this door control system need to be?

Well all the setup should be integrated within a speedgate, kind of barrierless optical turnstile.

So, the passenger touches RFID card to the reader and passes through series of IR proximity sensors. The data from the RFID card should be read by arduino and checked in the database stored in MicroSD card (located on Ethernet Shield). If the passenger is in the list system only records the entrance or exit time, otherwise there is an audible alarm going.
Meanwhile RFID card ID should be sent to LAN connected PC for different tasks.

The system is going to be under a heavy load at times, with aprox. 1 passenger/second passing through. So the idea of quick reading and analysing data is all to avoid any errors or false alarms.

Checking for the tag in file on the SD card is going to be orders of magnitude slower than reading the RFID tag and sending the data to the Arduino.

My seeedstudio RFID reader reads the tag very quickly, and streams the data back to the Arduino. How quickly I'm not certain. Certainly sub-second response, though.

It's the database look-up that takes the time.

I agree with Richard, though, that expecting to move people past an RFID reader and through a turnstile in less than a second is not realistic.

I have never seen any RFID reader that will do one per second.

I have, I made it in my last employment. ;D
It was for a muster station so people could tag out of a building in the case of evacuation. About quarter of a second is the fastest.

does Serial RFID give better performance than Wiegand one

No it is simply the output format, the actual physics of the reading is the same for both readers.

My solution is targeted for in School usage, which means a lot of traffic in the morning. Turnstile gates are barrierless, meaning there is no obstacles and people just pass through, so 1 person/second is normal for such conditions.

RFID is a must, because students already have those cards printed. These are Mifare cards, ISO 14443 Type A. So I need to integrate that mifare RFID reader in the solution.
Authorised ID list will be stored on MicroSD on arduin, but as you said it is quite under the question how fast can aquired ID be checked within these data.

Have any of you had any experience with HF (13.56MHz) RFID readers?..

Grumpy_Mike and can you share your experience of doing your project?..

Thanks in advance to all of you.

How many cards are you going to be storing on the SD? In my experience, this part will be slower than the actual rfid read of the card. I currently have a table of around 900 cards and it can take a couple of seconds if it's the last entry in a single file. However, I only read from the SD card as a backup if the network is down.

There will be maximum of 2500. But I'm starting to think that those are already too much for SD card reading. In your experience how fast is to transfer the read data from arduino to LAN connected PC and have a PC check it in the database, after which it can send response back to Arduino to react.
Or if that will still be a problem timewise, I could design the system to exclude checking/alarm procedure from the arduino side at all.

Obviously, it will depend a little bit on your hardware, network, database, and server software, but it's usually about a 1/10 of a second to respond. From your description of what you want to do I'm wondering why you even need to query the db? Your system really sounds more like access logging than access control. If there's no barrier you can't exactly prevent someone from entering if they are not supposed to. If that's the case it's a bit easier on the code side for logging alone.

Yes, actually the main point of the system is to log the entries and exists from the building. Additional feature is to set out an audible alarm in case of wrong/or no card presented before passing through.

And if as you are saying that quering the database and returning response to arduino takes less than a second, then the whole thing is pretty much viable and possible to do to allow 1 person/second traffic.

Again, I don't know the specifics of your setup, but yes with the right setup it is possible.

Additional feature is to set out an audible alarm in case of wrong/or no card presented before passing through.

Not sure what practical use that is, going through at that speed it will be difficult for a person to see who the alarm corresponds to. Also the no token case is difficult because that involves the detection of the exit gate coupled with no RFID reading.

To speed up the data base search you can use what is known as 'hash encoding' this is where the cards are sorted into a number of bins based on some scrunching of the code. Say you add the numbers of the card together and just take the least significant bit. Then use that byte as a index into what table you start to search. When you add the cards you put them into the appropriate bin. That was you cut down the number of tokens you need to search through to one 256th of the size of the data base.