Transponder Design
#61
The transponder testing continues! I ran the transponders in several cars yesterday, in real racing conditions, with more than one per race. No problems occurred. I also verified operation of the remainder of the programs (currently one per transponder ID number). Only one refused to function, so that makes 25 out of 26 good.
I’ve double-checked the code for the ID that didn’t work, and have found nothing obvious. I’m sure there’s a clue somewhere that I’m missing! For now I’ll just set it aside, but past experience tells me that these situations usually indicate a problem that is just waiting to bite me on the ass (and always at the worst time).
When funds become available I will order the PIC12F683 microprocessors that will hold many more ID numbers, and continue to accumulate new ID numbers from AMB and MRT transponders.
Maybe it’s time to get back to the decoder design!
I’ve double-checked the code for the ID that didn’t work, and have found nothing obvious. I’m sure there’s a clue somewhere that I’m missing! For now I’ll just set it aside, but past experience tells me that these situations usually indicate a problem that is just waiting to bite me on the ass (and always at the worst time).
When funds become available I will order the PIC12F683 microprocessors that will hold many more ID numbers, and continue to accumulate new ID numbers from AMB and MRT transponders.
Maybe it’s time to get back to the decoder design!
#65
#66
The cheap RFID tags are passive. It can take quite a long time for the reader to acquire data from them, which can cause missed laps. Also, there is no provision for collision detection, which again can cause missed laps. The readers are active, and can be quite expensive.
#67
I can provide programmed, copy-protected microprocessors to those individuals who would like to experiment with making a transponder.
The microprocessors have code protection, so they can't be copied to make more. I won't release source code or permit unauthorized duplication. The code is copyrighted.
Here are a few words of warning:
You need to be realistic about your capabilities before attempting this project. If you don't have a solid foundation in electronics, you won't stand a chance, and I'm too old and crotchety to hold hands during the build. You'll need access to proper soldering equipment and an oscilloscope. These are not commonplace items!
I make no guarantees that you will succeed with this project.
You should check the Federal Communication Commission regulations regarding building your own digital devices. Nothing in this design has been tested for emissions. It is my understanding that individuals are permitted to construct a small quantity of devices for their own personal use, but not for resale.
If you've made it through the above text and are undeterred, send me a PM for details.
The microprocessors have code protection, so they can't be copied to make more. I won't release source code or permit unauthorized duplication. The code is copyrighted.
Here are a few words of warning:
You need to be realistic about your capabilities before attempting this project. If you don't have a solid foundation in electronics, you won't stand a chance, and I'm too old and crotchety to hold hands during the build. You'll need access to proper soldering equipment and an oscilloscope. These are not commonplace items!
I make no guarantees that you will succeed with this project.
You should check the Federal Communication Commission regulations regarding building your own digital devices. Nothing in this design has been tested for emissions. It is my understanding that individuals are permitted to construct a small quantity of devices for their own personal use, but not for resale.
If you've made it through the above text and are undeterred, send me a PM for details.
#69
#71
Tech Adept
Joined: Apr 2010
Posts: 167
I think the design is now stable enough to provide a schematic:

As you can see, there's not much to it! A 74AC86 exclusive-OR gate serves as the oscillator, changes the carrier phase under control of the microprocessor, and provides high output current to the tank circuit. (I may change to the 74HC86 to reduce high-frequency emissions, but that will require increasing R4 and R5 to reduce the output current, giving less field strength. Right now the field strength is just about the same as my AMB and MRT transponders.)
One interesting thing that I mentioned previously about the design is that the tank is driven differentially (bridge drive), which substantially reduces the second harmonic level in the output spectrum. This could help with meeting emissions requirements.
The values of CT1 and CT2 might have to be changed to match whatever tank inductor you use. My original perfboard prototype used 16 turns of 30 gauge Kynar (wire-wrap) wire, while the PC board has 20 turns of traces (10 on each side). The ratio of the two capacitors will set the tank Q (CT1 larger gives higher Q), while the series combination of CT1 and CT2 sets the resonant frequency.
R1 was originally a limiting resistor for the shunt regulator inside the intended microprocessor, the PIC12HV609. It is shown as a diode because I have been using PIC12F508 microprocessors left over from another project. The diode drops the input voltage by about 0.6V to keep the 12F508 happy (it has a maximum operating voltage of 5.5V), and as a bonus protects the transponder from reverse polarity. Using the 12F508 (or almost any 12F series device other than the 12HV609) means the supply voltage to the transponder is restricted to 6.1V maximum. That's okay for virtually all BEC circuits, but is not compatible with a 5-cell NiMH or 2-cell LiFe battery. I stopped using receiver batteries a long time ago! Adding a separate Zener diode would let the transponder operate from the same large voltage range as the PIC12HV609 permits.
I am considering changing to the PIC12F683 for its larger memory and EEPROM.
The 47uF cap is probably not necessary for use with ESCs having linear BECs. If the BEC is a switcher (like a voltage booster for 1s LiPo cells) then it helps filter out voltage ripple. But further testing might reveal that it is extraneous.
J2 is a jumper block to select the transponder ID number. Currently the code supports two ID selections.

As you can see, there's not much to it! A 74AC86 exclusive-OR gate serves as the oscillator, changes the carrier phase under control of the microprocessor, and provides high output current to the tank circuit. (I may change to the 74HC86 to reduce high-frequency emissions, but that will require increasing R4 and R5 to reduce the output current, giving less field strength. Right now the field strength is just about the same as my AMB and MRT transponders.)
One interesting thing that I mentioned previously about the design is that the tank is driven differentially (bridge drive), which substantially reduces the second harmonic level in the output spectrum. This could help with meeting emissions requirements.
The values of CT1 and CT2 might have to be changed to match whatever tank inductor you use. My original perfboard prototype used 16 turns of 30 gauge Kynar (wire-wrap) wire, while the PC board has 20 turns of traces (10 on each side). The ratio of the two capacitors will set the tank Q (CT1 larger gives higher Q), while the series combination of CT1 and CT2 sets the resonant frequency.
R1 was originally a limiting resistor for the shunt regulator inside the intended microprocessor, the PIC12HV609. It is shown as a diode because I have been using PIC12F508 microprocessors left over from another project. The diode drops the input voltage by about 0.6V to keep the 12F508 happy (it has a maximum operating voltage of 5.5V), and as a bonus protects the transponder from reverse polarity. Using the 12F508 (or almost any 12F series device other than the 12HV609) means the supply voltage to the transponder is restricted to 6.1V maximum. That's okay for virtually all BEC circuits, but is not compatible with a 5-cell NiMH or 2-cell LiFe battery. I stopped using receiver batteries a long time ago! Adding a separate Zener diode would let the transponder operate from the same large voltage range as the PIC12HV609 permits.
I am considering changing to the PIC12F683 for its larger memory and EEPROM.
The 47uF cap is probably not necessary for use with ESCs having linear BECs. If the BEC is a switcher (like a voltage booster for 1s LiPo cells) then it helps filter out voltage ripple. But further testing might reveal that it is extraneous.
J2 is a jumper block to select the transponder ID number. Currently the code supports two ID selections.
#72
That's an excellent question! Pins 5 and 6 are normally low during quiescent conditions. (They could also both be normally high, but I used normally low.) To transmit the carrier, one pin goes high. (It doesn't matter which one.) To transmit the carrier with a phase shift 180 degrees out from that, the other pin goes high, and the first pin goes low.
#73
Tech Adept
Joined: Apr 2010
Posts: 167
That's an excellent question! Pins 5 and 6 are normally low during quiescent conditions. (They could also both be normally high, but I used normally low.) To transmit the carrier, one pin goes high. (It doesn't matter which one.) To transmit the carrier with a phase shift 180 degrees out from that, the other pin goes high, and the first pin goes low.
1. pin 5, 6 are low, tack circuit not works.
2. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
3. Set pin 5 = low, pin6=high
tank circuits works for "1" totally 4 pulses
4. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
5. pin 5, 6 are low, tack circuit not works.
Is it correct ?
#74
If i send out a data steam of "0001000", then PIC will be :
1. pin 5, 6 are low, tack circuit not works.
2. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
3. Set pin 5 = low, pin6=high
tank circuits works for "1" totally 4 pulses
4. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
5. pin 5, 6 are low, tack circuit not works.
Is it correct ?
1. pin 5, 6 are low, tack circuit not works.
2. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
3. Set pin 5 = low, pin6=high
tank circuits works for "1" totally 4 pulses
4. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
5. pin 5, 6 are low, tack circuit not works.
Is it correct ?
The method is called Binary Phase Shift Keying (BPSK). There are many descriptions of it on the internet, but here's a quick description particular to the example you gave:
A logic 1 is indicated by ANY reversal in the carrier phase. (This is just a convention I am using. We could just as easily say that the carrier reversal indicates a logic 0.) The initial carrier phase, before data is sent, is unimportant.
First, the data stream must be preceded for a short time with the carrier turned on to give the tank circuit time to "ring up" to full amplitude, and time for the phase detector in the decoder to generate a first valid output. Then a start bit (an initial logic "1") is sent to indicate the beginning of the data stream.
So the sequence is:
1. pin 5 = low, pin 6 = low, tank circuit is not not driven and does not radiate.
2. pin 5 = high, pin 6 = low, initial ring up for tank circuit
3. pin 5 = low, pin 6 = high for one machine cycle (4 carrier periods) sends the start bit
4. No changes for 3 more machine cycles (12 carrier periods) sends "000"
5. pin 5 = high, pin 6 = low for one machine cycle (4 carrier periods) sends a logic "1"
6. No changes for 3 more machine cycles (12 carrier periods) sends "000"
#75
Tech Initiate
iTrader: (1)
Joined: Aug 2006
Posts: 34
Really a great job, thanks for sharing and for the detailed description.
Now, the only thing we miss is a "valid" sequence of 0 and 1 that the AMB decoder is able to recognise, then we can start playing at home with our 2 cents electronic equipment
.
Now, the only thing we miss is a "valid" sequence of 0 and 1 that the AMB decoder is able to recognise, then we can start playing at home with our 2 cents electronic equipment
.



3Likes