[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4752: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4754: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4755: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4756: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
FMS Forum • View topic - Bombproof circuit for JR XF631 - Bombproof circuit for JR XF631

Bombproof circuit for JR XF631 - Bombproof circuit for JR XF631

Postby Andy » Tue Oct 16, 2001 10:37 pm

Here's a circuit that works very well for attaching a JR XF631 to a parallel port for using with FMS. It outght to be pretty much immune to noise, and will probably work for any other transmitter type.

The hard part with the JR XF631 is that the trainer output is floating and the levels are inconvenient. This means that you cannot just plug the output into a transistor base that has it's emitter at ground, because the trainer signal settles out with peaks and about 0.2V and negative peaks at about -1.2V. The transistor base never reaches 0.6V and it is always OFF. You have to pull the transistor base up positive to get the signal at the transistor base to reach 0.6-0.7V and turn on when the pulses go positive.

I tried building the single-transistor circuits (with no power supply other than pin10) but with a capacitatively decoupled input, none of them looked reliable. If you omitted R3,R4,Q2, the +3 to +10V supply, and connected Q1s collector to Pin 10 and the top of R2, this is the simpler circuit. This cicuit allows Pin 10 to go high (+5) well, but it is very poor at pulling pin 10 to do a decent low. The reason is that as Pin 10 goes low, so does the voltage to Q1's base as it is no longer pulled up by R2 to +3V or +10V, it is pulled up to R2 to pin 10, which is trying to be low. As Pin 10 goes lower and lower, eventually the base of Q1
gets down below 0.7V, and Q1 turns off. Therefore Pin 10 starts to go high again. The result is a nasty oscillation at about 0.7-1V on Pin 10. With TTL "OFF" threshold at about 0.8V, the output of this circuit will produce a noisy result on Pin10.

I tried using a single JFET transistor with no external supply and no capacitative decoupling, which almost worked. The JFET is on at +0.2V (trainer peak +ve output) and is almost OFF at -1.2V (trainer peak -ve output). It so nearly worked, but the OFF resistance of the JFET was not enough and I couldn't get a high enough voltage on Pin10 during the OFF state. It's possible that a different JFET part might work here, but the circuit would be VERY part sensitive, possibly not repeatable without an exact same part.

So, here we are. My conclusion is that for the JR XF631 you really do need to use either a battery or the 10V supply from the XF631. Either works fine. It might even work with a single 1.5V battery, especially if you decreased R3 and R4 to 10K. I was going to use the XF631 supply by running wires to the transmitter alongside the trainer signal cable, but I already had the two AAA batteries set up, at with only 22uA current drawn they're going to last a long long time. Likewise, I was going to add a LED to indicate power on in case I forgot to turn it off, but the power drawn by the LED would be far more than the circuit, so why bother! Just a label on the on/off switch will do.

You might be able to get +5V from another pin on the parallel port (try Pin16) but it might be noisier and less reliable from computer to computer. It might also be possible to use a big capacitor and buffer some 5V from Pin10 to use instead of a power supply. Depending on the polarity of your signal, Pin10 is mostly high or mostly low. If the polarity is such that Pin10 is mostly high, you could have the nice big capacitor trickle some current off Pin10 and maintain a steady voltage supply for Q1 without using an external supply. I'd look at this if I was building the circuit again.

Here's how the circuit below works...

R1 and C1 form a lowpass filter of about 16kHz. This allows the 1-2kHz rectangular pulses through, but filters out any higher frequency noise glitches from outside sources. Keep R1 and C1 in this range. 1/2piR1C1 is the cutoff frequency. The input impedance is about R1.

(The circuit worked AOK for me without R1 and C1, but adding them might be useful if you have a noisy environment).

R2 and C2 form a highpass filter of about 75Hz. This allows the 1-2kHz rectangular pulses through, but it allows signal at Q1's base to be floating relative to the XF631 trainer output. It will tend to be pulled up by R2, but it cannot go above 0.7V as it's constrained by the BE junction in Q1. Therefore the signal swing here is about -0.7V to +0.7V (-1.2 to +0.2 floated up). Again, 1/2piR2C2 is the cutoff frequency. The input impedance is about R2.

It's important that R2 is much greater than R1, otherwise the R2/C2 filter loads the R1/C1 filter too much and stops it working properly.

R3 and R4 are pretty abritrary. I wouldn't want to go much higher than 100K. 10K works fine. At 100K, the power consumption of the entire circuit is pretty small, as the entire circuit load on the battery is about (V-0.7)/100K amps as the 215K and (100K+100K) resistors in paralel look like 100K.

Pretty much any NPN transistors will work. We're only operating at a couple of kHz, and the currents are small. All they have to do is switch ON and OFF, we're not looking for linear performance or anything.

Use a decent shielded cable from the circuit to the transmitter, and from the circuit to the parallel port.

With this setup, I don't see any noise on the control inputs. The LOWs on Pin 10 are really low, governed by Vce(sat) of Q2, which should be 0.3 to 0.6V. The HIGH at Pin10 looks a little noisier on my computer, nosiy between 4V and 5V. The TTL login threshold for HIGH is only 2.0V though, so noise above 4V is not a problem. This is a property of the computer and not the circuit. if you wanted to drive the circuit from +5V (or +10V with a +5V regulator or +5V zener circuit), you could force Pin10 to a real 5V, but I don't think it's worth it. Getting the Pin10 LOW to be really LOW is more important. Remember the TTL LOW threshold is
0.8V so you need reliably less than this.

Because the circuit input is floated this way, I'd be amazed if this circuit didn't work for virtually any transmitter type. Out of interest, I did try the trainer centre pin connected to ground and the trainer shield connected to the
input, and it still worked. I also added an extra inverter to the output and it also still worked. So it would seem that it really doesn't matter whether the pulses from the transmitter are positive or negative going.. just as long as the transistions from one to the other get through as nice clean transitions from HIGH to LOW or LOW to HIGH.


+3V to +10V, Battery (on-off switch!) or
OUTER of JR transmitter
power connector.
------------>--------------------
90uA @ 10V | | Pin 10 of
22uA @ 3V / \ parallel port
R2 \ / R3 ----------
215K / \ 100K |
\ / Q2 /C
| | |
| |-----\/\/\/----| NPN
10K | Q1 /C B|
Centre || | | 100K \E
------/\/\/\-------||---------| NPN R4 |
pin of R1 | || B| |
trainer | C2 \E |
| 0.01uF | |
C1 --- | |
1000pF --- | |
| | |
| | |
| | |
------------------------------------------------------------
-ve terminal of battery, Pin 18 of
or Centre pin of JR transmitter parallel port
power connector.
AND
Outer (shield) of trainer connector cable.
Andy
 
Posts: 2
Joined: Tue Oct 16, 2001 10:22 pm
Location: USA/Scotland

Postby Michael_Moeller » Tue Oct 23, 2001 1:26 pm

the curcuit gets very unreadable with standard font above, here it is in Courier:
<span style='font-family:courier'>

+3V to +10V, Battery (on-off switch!) or
OUTER of JR transmitter
power connector.
------------>--------------------
90uA @ 10V | | Pin 10 of
22uA @ 3V / \ parallel port
R2 \ / R3 ----------
215K / \ 100K |
\ / Q2 /C
| | |
| |-----\/\/\/----| NPN
10K | Q1 /C B|
Centre || | | 100K \E
------/\/\/\-------||---------| NPN R4 |
pin of R1 | || B| |
trainer | C2 \E |
| 0.01uF | |
C1 --- | |
1000pF --- | |
| | |
| | |
| | |
------------------------------------------------------------
-ve terminal of battery, Pin 18 of
or Centre pin of JR transmitter parallel port
power connector.
AND
Outer (shield) of trainer connector cable.

</span>

Michael Möller
Michael_Moeller
 
Posts: 88
Joined: Thu Feb 28, 2002 10:38 am


Return to Parallelport-PPM-Interface

Who is online

Users browsing this forum: No registered users and 9 guests

cron