Jump to content

Control scheme idea


123 replies to this topic

#76  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Wed Apr 11, 2007 10:35 PM

View Postsupercat, on Fri Apr 6, 2007 8:20 PM, said:

I haven't had a chance yet to find out what the threshold voltage is for the 2600's paddle inputs
I did some testing and found the following info which may be useful:
Input threshold is 1.6 V.
Charge dump takes the cap down to about 0.035 V.

A nice consequence of these low values, considering that the full regulated supply voltage is used to charge the caps (on this console, 4.91 V at the pot), is that charging will be very nearly linear throughout the range that is used. So, no complicated pulse-period modulation or logarithmic pulse-frequency modulation scheme should be needed to achieve a near-enough to linear response.

More info:
Timing cap value is 0.068 uF (68 nF), ±10% tolerance.
Measured maximum and minimum resistance values for full control authority-
10k minimum (Tac-Scan)
380k maximum (Video Olympics)
(The short list of games I tried: Astroblast, Breakout, Casino {but not Poker Solitaire}, Circus Atari, Demons to Diamonds, Kaboom!, Night Driver, Star Wars: Jedi Arena, Street Racer, Super Breakout, Tac-Scan, Warlords, Video Olympics. Note especially that this list includes no homebrews, some of which may conceivably need a higher maximum resistance.)
Be aware that some consoles include an additional 1.8k in series with the paddle pot, so the effective lowest resistance value needed is about 6.8k, allowing for tolerance. Typical paddle pots can reach low resistances of 33-200 ohms, so the console's charging circuit can safely withstand this value and possibly lower. The 33 ohms figure equates to about 150 mA that the TIA pin can withstand, assuming it is not current-limited.

Edited by A.J. Franzman, Wed Apr 11, 2007 11:34 PM.


#77  

    River Patroller

  • 2,899 posts
  • Joined: 05-February 07
  • Location:Phoenix, AZ

Posted Wed Apr 11, 2007 10:58 PM

Pardon my dumb questions, I only wish I was as up on my electronics as you guys. Weak to start with on analog and very rusty to boot.

The stock configuration essentially acts to variably limit the current to the cap to control how fast the cap charges, right? And you can't just hang a cap on it to filter out the noise because that would affect the total capacitance and screw up the charge timing.

Here's the dumb(er) question part. Much hand-waving ensues:

Could you could set up a current using the pot (in series with another resistor to create a voltage divider), isolated from the original charging circuit, filter the spikes/noise in that circuit and use the resulting cleaned up output from the voltage divider to drive the gate of a FET? The channel of the FET would then be used to control the current passing from the ~5 volt supply to the console's capacitor?

I say FET because it's easier for me to visualize a FET as a variable resistance than a BJT or whatnot. Could such a circuit handle the capacitive load accurately?

I admittedly don't quite know what I'm talking about here, but my general thought is to use a transistor to provide isolation between the pot/filtering circuitry and the cap charging circuit.

Input filtered and isolated from output . . . I guess I'm talking about an amplifier?

Edited by BigO, Wed Apr 11, 2007 11:15 PM.


#78  

    River Patroller

  • 2,899 posts
  • Joined: 05-February 07
  • Location:Phoenix, AZ

Posted Wed Apr 11, 2007 11:17 PM

View PostA.J. Franzman, on Wed Apr 11, 2007 9:35 PM, said:

I did some testing and found the following info which may be useful:
Input threshold is 1.6 V.
Charge dump takes the cap down to about 0.035 V.

A nice consequence of these low values, considering that the full regulated supply voltage is used to charge the caps (on this console, 4.91 V at the pot), is that charging will be very nearly linear throughout the range that is used. So, no complicated pulse-period modulation or logarithmic pulse-frequency modulation scheme should be needed to achieve a near-enough to linear response.

More info:
Timing cap value is 0.068 uF (68 nF), ±10% tolerance.
Measured maximum and minimum resistance values for full control authority-
10k minimum (Tac-Scan)
380k maximum (Video Olympics)
(The short list of games I tried: Astroblast, Breakout, Casino {but not Poker Solitaire} Circus Atari, Demons to Diamonds, Kaboom!, Night Driver, Star Wars: Jedi Arena, Street Racer, Super Breakout, Tac-Scan, Warlords, Video Olympics. Note especially that this list includes no homebrews, some of which may conceivably need a higher maximum resistance.)
Be aware that some consoles include an additional 1.8k in series with the paddle pot, so the effective lowest resistance value needed is about 6.8k, allowing for tolerance. Typical paddle pots can reach low resistances of 33-200 ohms, so the console's charging circuit can safely withstand this value and possibly lower. The 33 ohms figure equates to about 150 mA that the TIA pin can withstand, assuming it is not current-limited.

That's great information. Thanks, A.J.

Edited by BigO, Wed Apr 11, 2007 11:19 PM.


#79  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Wed Apr 11, 2007 11:31 PM

As of now, I'm giving up on the comparator method as being unsatisfactory for de-jittering paddle inputs.

So, returning to the charge-pulse method concept, some new questions:

How often (at most) does a game check the paddle pin after the discharge has been released, to see if the threshold has been reached?

How many charge pulses, at a minimum, should be delivered in this period of time to avoid jitter, assuming that the number of pulses will vary by at least ±1 due to not being synchronized to the console?

#80  

    Quadrunner

  • 6,366 posts
  • Joined: 01-June 05

Posted Wed Apr 11, 2007 11:44 PM

View PostA.J. Franzman, on Wed Apr 11, 2007 11:35 PM, said:

Be aware that some consoles include an additional 1.8k in series with the paddle pot, so the effective lowest resistance value needed is about 6.8k, allowing for tolerance.

Hmm... that could pose a problem. The best solution I can see at this point without using a micro would be to add a circuit to strongly pull up on the paddle pin any time it's below 0.7 volts, and increase the active pullup resistor to 10K. This would ensure that the baseline value for the pot would be 0.7 volts, and that the 2600 would have no trouble pulling the pot below that. Without such a circuit, there could be a noticeable "dead zone" between the lowest reported pot value where the 2600 manages to turn off the comparator each cycle, and the reported pot value when it does not.

Not sure the best way to implement such a circuit (using a couple resistors and a diode would be one approach, but that's a bit ugly; another alternative would be to use a second comparator).

Bummer. One chip plus three resistors would have been a nice small board.

Hmmm... other alternatives...

#81  

    Quadrunner

  • 6,366 posts
  • Joined: 01-June 05

Posted Wed Apr 11, 2007 11:50 PM

View PostBigO, on Wed Apr 11, 2007 11:58 PM, said:

Could you could set up a current using the pot (in series with another resistor to create a voltage divider), isolated from the original charging circuit, filter the spikes/noise in that circuit and use the resulting cleaned up output from the voltage divider to drive the gate of a FET? The channel of the FET would then be used to control the current passing from the ~5 volt supply to the console's capacitor?

One limitation with that approach is that most such circuits generate a current which is proportional to the control voltage; to make time be proportional to the control voltage, the current must be proportional to the reciprocal of the voltage.

Bearing in mind someone's comment that it doesn't matter if the ends of a pot are at constant voltages, provided the wiper current is zero, it may be possible to work things out. I'll have to think on that a bit.

#82  

    Quadrunner

  • 6,366 posts
  • Joined: 01-June 05

Posted Wed Apr 11, 2007 11:52 PM

View PostA.J. Franzman, on Thu Apr 12, 2007 12:31 AM, said:

How often (at most) does a game check the paddle pin after the discharge has been released, to see if the threshold has been reached?

Typically every 64us or 128us.

Quote

How many charge pulses, at a minimum, should be delivered in this period of time to avoid jitter, assuming that the number of pulses will vary by at least ±1 due to not being synchronized to the console?

To achieve +/-128us accuracy at the bottom of a frame, there should be at least 128 pulses per charge.

#83  

    Dragonstomper

  • 517 posts
  • Joined: 09-July 01
  • Location:Santa Clara, CA

Posted Thu Apr 12, 2007 12:23 AM

A.J. -
How did you measure the threshold voltage of the TIA? I get 2V (2.026V) on my mine, measured at pin 40. My setup is a 7800, BTW.
This is how I measured the trip point:

(0) Note Vcc=4.99V (the limits of my DMM)
1) boot up Kaboom! (press reset to start a new game)
2) disconnect the paddles (the buckets jump to the left side)
3) attach a variable power supply to pin 40 through a 1k resistor and then sweep the voltage upward from zero (buckets all the way left) in 0.1V increments (my power supply has a 4 digit readout, so I use it to "measure" the trip point)
4) zero in on the trip point
(5) note that the DMM says 1.76V at pin 40....hmmm....
(5b) verify waveform with oscilloscope (max = 2.02V, min = 490mV, high time = 13.820ms, low time=2.835ms)

At 2.025V the buckets begins to jump a bit but mostly stays on the left side.
At 2.026V the buckets are very unstable but tends toward the right
At 2.027V the buckets stay on the right side.

I would guess that the design value is 2V.

On the drift...I suspected that it was power supply variation. It was too periodic to be temperature drift. When I was looking at the waveform, I noticed a fuzz burst that drifted by periodically. My suspicion is that it's a beat frequency formed by the 60Hz line frequency and the not-quite 60Hz display frequency.

Oh...thanks for that article on Muntz. (BTW, Bob Pease is awesome!) When you mentioned the 4-track, it seemed familiar. Reading the article cemented it....I had heard of him before. But it's still the first time I heard his name used as a verb!! :)

EDIT: I verified the trip point with Breakout and Warlords.
-Chris

Edited by cwilkson, Thu Apr 12, 2007 12:28 AM.


#84  

    Quadrunner

  • 6,366 posts
  • Joined: 01-June 05

Posted Thu Apr 12, 2007 12:46 AM

View PostA.J. Franzman, on Wed Apr 11, 2007 11:35 PM, said:

Input threshold is 1.6 V.Charge dump takes the cap down to about 0.035 V.

Care to give this one a try?
Attached Image: paddle2.GIF
It should quickly charge the cap to a voltage determined by the pot, and then slowly charge it the rest of the way up to the required threshhold. The comparator would probably oscillate on the 2600's that have an extra 1.8K resistor, but I don't know that would hurt anything. Adding a small cap to ground on the inverting input may tame such oscillations; it may also be good to tie the inverting input to the comparator output rather than to the 2600, but I'm not sure.

An op amp could be used in place of the comparator with the addition of an extra diode (in that case, just use the op amp as an emitter follower).

#85  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Thu Apr 12, 2007 1:45 AM

View Postsupercat, on Wed Apr 11, 2007 10:52 PM, said:

View PostA.J. Franzman, on Thu Apr 12, 2007 12:31 AM, said:

How often (at most) does a game check the paddle pin after the discharge has been released, to see if the threshold has been reached?
Typically every 64us or 128us.
For these values, this sounds like every scanline, or every other scanline; is that correct? Also, do all paddle games finish reading the paddle in the span of a single frame, or do some span two frames to allow for the instances when the resistance value is high?


View Postsupercat, on Wed Apr 11, 2007 10:52 PM, said:

Quote

How many charge pulses, at a minimum, should be delivered in this period of time to avoid jitter, assuming that the number of pulses will vary by at least ±1 due to not being synchronized to the console?

To achieve +/-128us accuracy at the bottom of a frame, there should be at least 128 pulses per charge.
:?
I believe you misunderstood me, or I you.
What exactly do you mean by "per charge"? To charge the capacitor all the way from fully discharged up to the threshold value?

As I understand it, the pulse-charging method should provide pulses such that: at the pulse-charging rate which is equivalent to the highest resistance used by an original paddle, there should be at least two pulses per scanline. In this way, a count difference of ±1 pulse due to the asynchronous method will not result in significant jitter in the region near the highest useful paddle setting. Lower settings will provide correspondingly more pulses per scanline, (hopefully) completely eliminating jitter. If this logic is correct, then the slowest pulse repetition rate should be no more than 32 us. The duty cycle at this pulse rate should deliver charge to 6-switch CX2600 units with their ~2k series resistance, equivalent to that delivered by ~5.0 volts steady DC through 380k series resistance into .068 uF. I make this a ~0.53% duty cycle, yielding a maximum pulse width of 168 ns. (Ballpark figure assumes cap charging current is constant.)

The fastest pulse rate should be such that, when pulses are delivered to 6-switch CX2600 units with their ~2k series resistance, the charging rate is equivalent to that delivered by ~4.8 volts steady DC through 10k series resistance into .068 uF. If I have understood this correctly, this would be a 20% duty cycle assuming the pulses are at full positive rail voltage.

So my question is, can you design a circuit which takes an input voltage swing of ~1.9 volts (this is the paddles' original operating resistance range, converted to voltage) or less, possibly including a positive offset of up to 2.5 volts, and from that produces ~150 ns pulses at a duty cycle from 0.5% to 20%? I'm gonna check some data but I don't know if the 555 can reliably produce pulses that short.

Another consideration is the difference between the CX2600 consoles with the 1.8k resistance and other consoles without it resulting in vastly different paddle performance. To minimize this, use of a wider duty cycle range and adding series resistance would be effective. For example, if a 50% duty cycle can be achieved, a ~3.3k series resistance can be added. This will, of course, mean recalculating the duty cycles for the other end of the scale too.

Edited by A.J. Franzman, Fri Apr 13, 2007 11:24 PM.


#86  

    Combat Commando

  • 3 posts
  • Joined: 05-April 07

Posted Thu Apr 12, 2007 4:14 AM

I found some info that could be useful here:

http://nocash.emubas...trollerspaddles

(if it is accurate?)

...will measuring time in scanlines be effected by PAL/NTSC?

#87  

    Combat Commando

  • 3 posts
  • Joined: 05-April 07

Posted Thu Apr 12, 2007 3:52 PM

I've noticed that the Stelladaptor is paddle compatible, not sure exactly how this is implemented but if it could also be 'pulse controlled' then this may be something to keep in mind and take into account on the numbers used?

#88  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Fri Apr 13, 2007 12:30 AM

View PostGrover, on Thu Apr 12, 2007 3:14 AM, said:

I found some info that could be useful here:

http://nocash.emubas...trollerspaddles

(if it is accurate?)
Interesting: "Note that it may take two or more frames until the maximum count is reached, ideally, software should check INPTs throughout drawing and blanking periods, and carry on in the next frame."
AFAICT, none of the original games wait more than one frame. If they don't, this would explain why less than half of the 1 M ohm range is ever used.


View PostGrover, on Thu Apr 12, 2007 3:14 AM, said:

...will measuring time in scanlines be effected by PAL/NTSC?
I strongly suspect that a paddle game originally written in PAL (if there are any) could easily use more scanlines to read the value and thus use up to about 17% more of the knob travel than the typical NTSC paddle game. But it's possible that some NTSC paddle games that were converted to PAL may not take advantage of this capability.

Edited by A.J. Franzman, Fri Apr 13, 2007 12:51 AM.


#89  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Fri Apr 13, 2007 1:13 AM

On Thursday I tried to make a free-running pulse type circuit to de-jitter the paddle inputs, without success.

My first idea, mentioned above, was to have one 555 timer provide a ~32 kHz frequency to a second 555 timer which would then produce a pulse-frequency modulated output. (I would use two 555s for ease of keeping them separated both physically and mentally on solderless breadboard -- if it worked, they could of course be combined to a single 556 dual timer IC.) The circuit would also use an op-amp to buffer the voltage read from the pot and deliver it to the second 555 for timing control.

While trying to figure out how to do that, I decided that using pulse-width modulation might be easier. I came up with a circuit, but it doesn't work as expected. The 32 kHz part works, and the second timer seems to be producing pulses, but they're too weak to drive anything but my old HP 5221B counter. According to a 555 datasheet, the shortest pulse that can be produced reliably is 10 us, which at 32 kHz works out to about 30% duty cycle. I was aiming for about 1-3% of that figure at the low end, so will have to find another method. If there's another simple method to produce strong, consistent pulses of close to +5V and 100 - 300 ns duration, perhaps a return to pulse-frequency modulation might be the best route forward.

BTW, am I the only one in this topic actually building anything?

Edited by A.J. Franzman, Fri Apr 13, 2007 11:28 PM.


#90  

    Dragonstomper

  • 517 posts
  • Joined: 09-July 01
  • Location:Santa Clara, CA

Posted Fri Apr 13, 2007 2:37 AM

View PostA.J. Franzman, on Fri Apr 13, 2007 7:13 AM, said:

BTW, am I the only one in this topic actually building anything?

Nope. :D

I was just logging on to say that I have a circuit working very well. No detectable jitter and it drifts maybe one pixel...but I get bored waiting for it.
Quite acceptable. I'll post a schematic tomorrow. The BOM is below. It's complicated, relative to the single comparator approach, but it works.
The zener might be overkill, but hey...I had an extra amp lying there! (was only using 3 of them).

1 - standard Atari paddle
1 - LM324 (cheap quad op amp - ubiquitous)
2 - 1N914 (cheap signal diodes - ubiquitous)
1 - 1n746A (3.3V zener diode)
1 - 200 Ohm resistor
1 - 10k Ohm resistor
1 - 330k Ohm resistor
Some perfboard - 1 inch x 1 inch (more than what's needed)

Actually, while writing this, I've been watching Kaboom! to see the paddle drift. It doesn't move. So maybe the cleaned up layout did it's job. :)

For performance comparison, I just played two 2-player games of Kaboom!
Score first game: 1777-342.
(switch paddle circuits)
Score second game: 552-2663 (!!!)

#91  

    Dragonstomper

  • 517 posts
  • Joined: 09-July 01
  • Location:Santa Clara, CA

Posted Fri Apr 13, 2007 3:11 AM

View PostA.J. Franzman, on Fri Apr 13, 2007 7:13 AM, said:

I decided that using pulse-width modulation might be easier. I came up with a circuit, but it doesn't work as expected. The 32 kHz part works, and the second timer seems to be producing pulses, but they're too weak to drive anything but my old HP 5221B counter. According to a 555 datasheet, the shortest pulse that can be produced reliably is 10 uS, which at 32 kHz works out to about 30% duty cycle. I was aiming for about 1-3% of that figure at the low end, so will have to find another method. If there's another simple method to produce strong, consistent pulses of close to +5V and 100 - 300 nS duration, perhaps a return to pulse-frequency modulation might be the best route forward.


How many chips are you looking to use? You could venture into the TTL realm, but that gets expensive in board area.

Did you consider doing pulse frequency modulation? You generate a pulse of constant width, but the delay between pulses is varied.
If you use this, each pulse could dump some charge into the cap. After a set number of pulses, the cap would trip the TIA.

I can think of a lot of ways to generate a narrow pulse. An easy way would be to use a walking ring oscillator or even a counter with an overflow output.
Then you need some way to tell the thing to cycle. You can try using a 74LS221. It should be able to go down to about 50ns. It seems like the optimal way to do it, but I don't use them much so there may be some gotchas. It may need buffering, it may not. Some things to think about anyway.

-Chris

#92  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Fri Apr 13, 2007 6:20 PM

Today I had a thought to check the specs on a CMOS version of the 555 timer, and at least for National's version, it's faster than the standard version (3 MHz vs. 1 MHz). They also make no mention in this datasheet of a minimum pulse width, though of course there must be one. I think I might try it later tonight, since I don't seem to have a 3.3 V zener on hand.

#93  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Fri Apr 13, 2007 6:30 PM

View Postcwilkson, on Fri Apr 13, 2007 2:11 AM, said:

How many chips are you looking to use? You could venture into the TTL realm, but that gets expensive in board area.
Naturally I'd like to minimize it for all the reasons of cost, ease & speed of construction, and fitting it into a paddle case.


View Postcwilkson, on Fri Apr 13, 2007 2:11 AM, said:

Did you consider doing pulse frequency modulation? You generate a pulse of constant width, but the delay between pulses is varied.
If you use this, each pulse could dump some charge into the cap. After a set number of pulses, the cap would trip the TIA.
I did consider it, in fact frequency or period modulation was the method I wanted to use. But I couldn't figure out how to do it easily using the 555 timers and a variable-voltage control signal. Even if I had figured that part out, I still would have run into the problem of needing a shorter pulse than a 555 can make.


View Postcwilkson, on Fri Apr 13, 2007 2:11 AM, said:

I can think of a lot of ways to generate a narrow pulse. An easy way would be to use a walking ring oscillator or even a counter with an overflow output.
Then you need some way to tell the thing to cycle. You can try using a 74LS221. It should be able to go down to about 50ns. It seems like the optimal way to do it, but I don't use them much so there may be some gotchas. It may need buffering, it may not. Some things to think about anyway.
Buffering's not a problem but I don't know what a walking ring oscillator is, and I only have a few 74xxx series chips (of any flavor), which do not include a 74LS221 unless I can find one on one of my junk boards.

Edited by A.J. Franzman, Fri Apr 13, 2007 6:36 PM.


#94  

    Quadrunner

  • 6,366 posts
  • Joined: 01-June 05

Posted Fri Apr 13, 2007 10:24 PM

Does anyone else like the idea of quickly charging the 2600 cap up to a voltage set by the pot and then slowly charging it from there to 1.6 volts? If I have time sometime I might try it if nobody else does. An op amp, a diode, and a resistor for protection, and a resistor to scale the pot should be all that would be required; it may be possible to use a comparator in place of the op amp and diode, or even to use a two-stage or three-stage emitter follower (two or three discrete 2N3904 transistors and no chips).

#95  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Fri Apr 13, 2007 10:35 PM

View Postcwilkson, on Wed Apr 11, 2007 11:23 PM, said:

How did you measure the threshold voltage of the TIA? I get 2V (2.026V) on my mine, measured at pin 40. My setup is a 7800, BTW.
This is how I measured the trip point:

(0) Note Vcc=4.99V (the limits of my DMM)
1) boot up Kaboom! (press reset to start a new game)
2) disconnect the paddles (the buckets jump to the left side)
3) attach a variable power supply to pin 40 through a 1k resistor and then sweep the voltage upward from zero (buckets all the way left) in 0.1V increments (my power supply has a 4 digit readout, so I use it to "measure" the trip point)
4) zero in on the trip point
(5) note that the DMM says 1.76V at pin 40....hmmm....
(5b) verify waveform with oscilloscope (max = 2.02V, min = 490mV, high time = 13.820ms, low time=2.835ms)

At 2.025V the buckets begins to jump a bit but mostly stays on the left side.
At 2.026V the buckets are very unstable but tends toward the right
At 2.027V the buckets stay on the right side.

I would guess that the design value is 2V.

On the drift...I suspected that it was power supply variation. It was too periodic to be temperature drift. When I was looking at the waveform, I noticed a fuzz burst that drifted by periodically. My suspicion is that it's a beat frequency formed by the 60Hz line frequency and the not-quite 60Hz display frequency.

Oh...thanks for that article on Muntz. (BTW, Bob Pease is awesome!) When you mentioned the 4-track, it seemed familiar. Reading the article cemented it....I had heard of him before. But it's still the first time I heard his name used as a verb!! :)

EDIT: I verified the trip point with Breakout and Warlords.
Sorry, I didn't notice this message sooner.
My method was similar to yours, except:
(0) My voltage is 4.91 V at the end of the cable to the disassembled paddle controller I've been using for testing.
1) I've been using Video Olympics, and specifically recommend not using Kaboom! because of its known bug in the paddle reading.
...
2.5) Since I don't have an oscilloscope, I opened the console and unsoldered the timing capacitor for the paddle under test.
3) Breadboard an op-amp as a voltage follower, connect the two ends of the paddle pot as well as the voltage follower supply to the available Vcc and Ground leads in the cable, and the wiper to the input. Connect the output to the violet paddle wire in the cable. DMM to the black and violet wires. The lack of capacitance should allow the voltage follower to recover quickly from the discharges, and thus allow my supposedly peak-reading-on-DC DMM to get the most accurate possible reading.
4) Twiddle the paddle knob and try to find the trip point, using Game 33 (Quadrapong) for a full screen horizontal, non-disappearing paddle display.
5) I could generally get some activity on the screen anywhere between 1.53 and 1.83 volts, but it seemed to switch most consistently right around 1.60 volts, and I could often "park" it in the middle of the screen at that value (jittering about 1/2 of the screen width). This is close to what I predicted based on my guess about the level for the comparator to trip, which is a voltage divider to 1/3 or 2/3 Vcc (1/3 Vcc is 1.67 V @ 5.0 volts or 1.64 V at this console's 4.91 Vcc level).

Edited by A.J. Franzman, Fri Apr 13, 2007 11:52 PM.


#96  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Fri Apr 13, 2007 11:37 PM

View Postsupercat, on Fri Apr 13, 2007 9:24 PM, said:

Does anyone else like the idea of quickly charging the 2600 cap up to a voltage set by the pot and then slowly charging it from there to 1.6 volts? If I have time sometime I might try it if nobody else does. An op amp, a diode, and a resistor for protection, and a resistor to scale the pot should be all that would be required; it may be possible to use a comparator in place of the op amp and diode, or even to use a two-stage or three-stage emitter follower (two or three discrete 2N3904 transistors and no chips).
I actually prefer turning that idea on its head -- first, charge the cap at something like the rate that would originally be delivered by the unmodified controller at the highest useful resistance level. Then, when it reaches a voltage set by the pot, charge it as quickly as it is reasonable to do (thus ensuring that it will be above the threshold level the next time the port is tested). I believe this is exactly the effect that is achieved by reversing the comparator inputs to your original circuit.

However, I also believe a slight variability in the timing of the comparator's output transition may be what's responsible for the observed drift. If this is the case, it probably doesn't really matter whether the charge curve goes from high-rate to low-rate or vice-versa. A higher-performance comparator may be the solution here. Perhaps that's what Chris actually created with his circuit of post #90 (which I'm dying to see!)

Edited by A.J. Franzman, Fri Apr 13, 2007 11:45 PM.


#97  

    Quadrunner

  • 6,366 posts
  • Joined: 01-June 05

Posted Sat Apr 14, 2007 12:15 AM

View PostA.J. Franzman, on Sat Apr 14, 2007 12:37 AM, said:

I actually prefer turning that idea on its head -- first, charge the cap at something like the rate that would originally be delivered by the unmodified controller at the highest useful resistance level. Then, when it reaches a voltage set by the pot, charge it as quickly as it is reasonable to do (thus ensuring that it will be above the threshold level the next time the port is tested). I believe this is exactly the effect that is achieved by reversing the comparator inputs to your original circuit.

Actually, it's the effect my original circuit was supposed to achieve. The difficulty with that approach is that I don't see any good way for the circuit to switch back to "slow charge" mode when a 2600 that has the 1.8K resistors discharges the cap. Even if the fast-charge resistor were 18K (which is already big enough to limit responsiveness) the comparator would never switch off when the pot value of 0.5 volts or below, but would take a significant time to turn on when it was 0.51 volts or above. The smaller the fast-charge resistor, the worse this effect.

Reversing things so the fast-charge is done first would simplify things and avoid these problems. Fast-charging the cap whenever it's below a certain voltage simply requires a voltage source, a diode, and a resistor. Since the fast charger tries to influence the cap so as to turn itself off, rather than turning itself on harder, there's no need for special circuitry to avoid hysteresis effects.

I don't know how bad the wiper resistance on a dirty pot can get, but I would think it might be possible to build a workable circuit with nothing more than two 2N3904's and four resistors.
Attached Image: paddle3.GIF
This circuit wouldn't be quite as nicely independent of wiper resistance as one using a quality op amp, but 2N3904's are more readily available. R2 could probably be larger than 1M, but I don't know the leakage characteristics of the 2N3904 well enough to say for sure.

#98  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Sat Apr 14, 2007 12:43 AM

View PostBigO, on Wed Apr 11, 2007 9:58 PM, said:

Pardon my dumb questions, I only wish I was as up on my electronics as you guys. Weak to start with on analog and very rusty to boot.

The stock configuration essentially acts to variably limit the current to the cap to control how fast the cap charges, right? And you can't just hang a cap on it to filter out the noise because that would affect the total capacitance and screw up the charge timing.

Here's the dumb(er) question part. Much hand-waving ensues:

Could you could set up a current using the pot (in series with another resistor to create a voltage divider), isolated from the original charging circuit, filter the spikes/noise in that circuit and use the resulting cleaned up output from the voltage divider to drive the gate of a FET? The channel of the FET would then be used to control the current passing from the ~5 volt supply to the console's capacitor?

I say FET because it's easier for me to visualize a FET as a variable resistance than a BJT or whatnot. Could such a circuit handle the capacitive load accurately?

I admittedly don't quite know what I'm talking about here, but my general thought is to use a transistor to provide isolation between the pot/filtering circuitry and the cap charging circuit.

Input filtered and isolated from output . . . I guess I'm talking about an amplifier?
Sorry it took me so long to respond to this. It actually sounds like the simplest possible method. I believe that it would need to be a FET as opposed to a BJT to easily emulate a variable linear resistance without a lot of extra components. And yes, I believe it would technically be a form of amplifier, though I don't know how you could define its gain when you're comparing an input voltage to an output resistance. I'll have to see if I can come up with a FET to try this with.

Edited by A.J. Franzman, Sun Apr 15, 2007 10:31 PM.


#99  

    River Patroller

  • 2,899 posts
  • Joined: 05-February 07
  • Location:Phoenix, AZ

Posted Sat Apr 14, 2007 10:02 AM

Throughout this discussion, the term "transconductance" keeps floating up in my memory of op-amp studies. I vaguely recall the transfer function and it strikes me as being close to what we're talking about on the dejittifier ciruits, but I've been hesitant to bring it up here for fear of proving to myself exactly how much I've forgotten! (Ah, yes, good old mhos. :))

I hit a web search on transconductance amplifier and found a relevant Wiki page: http://en.wikipedia....ransconductance

I don't recall ever building or working through the transfer function for one of these but they also describe on that page a "transresistance" or "transimpedance" amplifier. I think the transconductance description actually sounds more like what we're after though the transresistance circuit description seems to sorta describe the ciruit supercat was proposing earlier.

(Sorry I haven't been able to build and test anything. My electronics bits and pieces have become scattered and disjointed over the years and I'm only now trying to organize them into a useful state.)

Edited by BigO, Sat Apr 14, 2007 10:04 AM.


#100  

    River Patroller

  • 4,326 posts
  • Joined: 24-January 05
  • Syzygyst
  • Location:U.S.A. - See 'Map' link above

Posted Sun Apr 15, 2007 1:12 AM

I did some Googling last night on using FETs as linear voltage-controlled resistors, and all I could find was about N-channel depletion-mode JFETs. Unfortunately, in the circuits I found they will only work in that way if the source connects directly to ground, but we want to put the load on the source and connect the drain to Vcc. Maybe there's a way to do it but I couldn't find anything.

Edited by A.J. Franzman, Sun Apr 15, 2007 1:24 AM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users