It took a bit of experimentation to get the 6+' distance. It's all about placement of the
small RFID LF antennas on the receiving unit. Once you get that dialed-in you get a
whopping range. The first pictures were the initial prototypes. These had around 3+'
range.
This picture is the final version that works at 6+' range. If you compare placement of the
small RFID antennas on this one to the one above you'll know how/where to put them for
excellent range. You can walk up to the initiator with the ID badge in your back pocket, and
it still gets solid comms.
The final ID board is about 1/3 the size of a credit card, and modified to fit into a keychain
type plastic enclosure.
SMD caps & resistors are all 0402 size. Boy were those fun to hand-solder on the last
prototype. Phew...
I used a TC4422A high-speed MOSFET driver to drive the large LF antenna, and PWM to sendwould I need to modulate the Debugout signal
data like this;
The receiving end just uses PULSIN to grab the inbound data.Code:ID_Init: T1CON.0 = 0 ' Shut-down Timer1 during wake-up routine ' Wakeup sequence. 4mS ON, 500uS gap, 2mS ON, 2mS OFF. Then ' follow up with header & data. CCP1CON = 12 ' PWM ON PAUSEUS AGC_STABLE CCP1CON = 0 ' PWM OFF PAUSEUS GAP CCP1CON = 12 PAUSEUS 2210 ' 2mS ON CCP1CON = 0 PAUSEUS 2210 ' 2mS OFF ' Wakeup sequence complete CCP1CON = 12 ' Send header after initial wakeup PAUSE 1 ' 1mS high on receiver LFDATA pin CCP1CON = 0 PAUSEUS 500 ' header complete ' Transponder should now be waiting for data payload FOR LOOPS = 0 TO 7 ' loop for all 8-bits CCP1CON = 12 IF DAT.0[LOOPS] THEN PAUSEUS 500 ELSE PAUSEUS 250 ENDIF CCP1CON = 0 PAUSEUS 500 ' this pause allows 500uS for ID badge to respond NEXT LOOPS ' after challenge code is sent. CCP1CON = 0 ' turn off PWM ' Data payload complete PAUSE 5 ' Pause a bit so interrupt flag-bit can be set when ID badge responds TMR1L = 0 TMR1H = 0 ' Clear Timer1 count before re-enabling T1CON.0 = 1 ' Re-enable Timer1 on exit RETURN ' Notes: After wakeup the receivers 16F639 AFE inactivity ' timer will expire after 16mS. Any gap in transmision that ' exceeds 16mS will require another wakeup sequence before data ' can be sent.





Bookmarks