Wednesday, 18 June 2014

proximity sensor - What can I do to increase passive HF RFID read range?


I am working on a prototype, one function of which is to detect whether an object is "in range" by a few cm. Right now I'm just using an Arduino and a cheap Mifare RC-522 kit that operates at 13.56 MHz:


Mifare RC522 Kit



I've successfully gotten it to detect the tag, but only at a distance of about 3-4 cm when the tag is oriented parallel to the antenna.


According to my limited research, the HF band allows read ranges of between 10 cm and 1 m for passive tags, depending on factors like antenna size, tag size and orientation, and transceiver power.


I realize this inexpensive reader is not up to task as-is, but I'm interested in building something that achieves read ranges of 15-20 cm.


Some criteria:



  • No need to read multiple tags; only whether one tag is in range or not.

  • No need to write to the tag.

  • Cannot use an active tag.


I'm not experienced with RFID reader construction (yet) but am interested in knowing what I should pursue.



Here are some things I've considered:



  • Ditch the embedded antenna on the cheap RFID reader and construct my own, larger antenna. I'd need to see if the onboard MFRC522 is up to the task of providing additional power.

  • Look for a different IC around which to build a reader from scratch.

  • Find a ready-made solution instead of trying to build one (more cost-effective?).

  • Use something other than RFID for simple proximity detection.


I am experienced with microcontrollers and basic electronics, and have made audio and lighting projects, but this is a first with RFID. Since I don't need to read multiple tags, which RFID is suitable for, I've considered maybe some sort of magnet and hall-effect sensor, but the range does not seem adequate. I considered using an ultrasonic proximity detector, but the application calls for detecting the tagged object while ignoring untagged ones (ultrasonic would produce false positives on untagged objects). I've considered some sort of reflective surface placed on the object, and detecting reflected light, but the object orientation is not reliable enough to maintain alignment.


So, in a nutshell, What modifications can I make to my existing reader, or what alternate technology should I pursue to achieve 15-20 cm detection of a passively tagged object?


I plan on connecting whatever proximity detector is used to a microcontroller using SPI.




Answer



I can only relate my experiences: -


If you want to detect a normally-not-powered passive type tag at extreme distances you have to power to that tag from a significantly bigger magnetic field. Making your magnetic field stronger is the only way I can know (and can recommend). Making your tag more efficient in recovering a fraction of this power is also part of the deal. Making the energy needed by the tag smaller is also part of the deal.


Once the "passive" tag is receiving sufficient energy from that magnetic field, it can transmit an RF signal to announce its presence - because it is only very weakly powered it may not be able to transmit more than a few hundred microwatts. This transmission should not have to do-battle with the prevailing magnetic field that powers it - it should be on a carrier frequency that is unconnected with the power magnetic field for this to work most effectively. This will require that the stationary object that generates the power magnetic field is capable of receiving this RF signal.


So now you have two transmissions - the transmission that powers the tag and the transmission from the tag containing ID data - neither are at the same frequency if you want maximum distance.


At about 4 inches (maybe 5 inches if I pushed it), a system I developed could detect the presence of a normally unpowered device. However, I needed to transmit about 1 watt across the gap because the device was doing other things that needed the power - it was rotating on a shaft and wires wouldn't work. The FM transmitter it used was at 80MHz and transmitted at about 1mW. The receiver could detect this at about 1m but it wasn't particularly designed to detect it more than 4 inches. The magnetic field it generated was quite large and the coil it used was wound from Litz wire - I reckon it was about 3 uH and had about 400 volts peak to peak across it at 600kHz (work out the current for yourself!!). Operating the magnetic field at 13MHz could be better but it starts to become a trade-off because, in your situation you want the "detection area" to be large - this means a large diameter coil and you want maximum current through it to produce the bigger and more far-reaching field you are fighting against the inductance of the coil. You need current in that coil to produce a magnetic field and the more the better.


To get that current, I used 250 strand Litz wire and parallel tuning to make the circulating current in the coil much much bigger than the drive current from the generator. This makes it easier to design the generator of course.


In short, if you want to power the tag at distance, think big coil and think litz wire and think parallel tuning for maximum efficency. The power receive coil was also very low loss and highly tuned to get as much voltage as possible when set at the maximum distance. This is what you should focus on in my opinion.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...