Main > Main Forum

Optical Control Resolution - Info Needed

Pages: << < (3/3)

u_rebelscum:


--- Quote from: Kremmit on December 22, 2006, 11:38:16 pm ---The Pole Position wheel has 24 teeth, with the gearing you get just shy of 4 revolutions of the encoder per turn of the wheel, for somewhere around 80 teeth actually passing through the optics per one turn of the steering wheel.
...
Sometime after Christmas I'll dig through the parts closet and get you the exact gearing on the Pole wheel, see how many of those others I can clear up, and get counts for few other goodies.

--- End quote ---

I was looking for something else, but found my pole position wheel.  I'll post the info I got so you don't feel you need to hurry (but would be great for some to verify my info):

60 tooth gear on wheel shaft, 14 tooth gear on 24 tooth encoder disk shaft ==>
(60 / 14) * 24 = 102 6/7 encoder teeth per wheel rotation.

Pole Position: 360 steering wheel: 102 6/7 teeth (guessing with 1x count due to date)


--- Quote from: Derrick Renaud on December 23, 2006, 01:59:08 am ---
--- Quote from: u_rebelscum on December 22, 2006, 07:01:34 pm ---The one I know OTTOMH is 720 degrees (not that this info is needed for the current faked inputs):

--- End quote ---

Hey, hey, hey... Slow down, you never know what may happen.  ;)
--- End quote ---

What, who me?  No, I didn't make any hints at changing any game's inputs. ;) ;D


--- Quote ---
--- Quote from: u_rebelscum on December 22, 2006, 07:01:34 pm ---720 (skate or die), 360 spinner "joystick", 144 count (72 teeth)

--- End quote ---

And the other input is once per 360?
--- End quote ---

This was the hardware I was looking for I mentioned earlier, so I could measure the spacing of the gap between the sensors.  Didn't find it (yet), but IIRC the sizes, the signal is four per rotation assuming it's 2x like the other axis, or twice if it's 1x, but it might not even be standard grey code counts.

edit: found it, and I was wrong.  See my next post.

Here's my logic:  The normal encoder wheel has 72 teeth, and is over 4" in diameter.  Each tooth and each gap are 2.5 degrees wide (which is ~0.174519" or ~11/64" wide).  The index disc has two gaps, spaced exactly over two teeth on the normal encoder disc, but the two teeth are non-consecutive.  IOW, the index gaps edges are spaced ~ 3 * 2.5 degrees apart, and their centers are spaced ~ 4 * 2.5, or ~10 degrees.  I'm guessing the sensors are spaced so that both sensors see the two gaps at about the same time.  The output of the two sensors as the two gaps pass the two sensors would be

00, 10, 00, 10, 11, 01, 00, 01, 00
or
00, 10, 00, 01, 11, 10, 00, 01, 00

depending on the exact spacing of the sensors.

How the PCB interperts the above I don't know.  The easiest is count only when both are "on", which is once per rev and not a grey code decode, but it could more complicated with normal grey code counts.[/color] 

FWIW, besides the initial time when the index "centers" the player up, each index count in mame covers one missed count in normal encoder wheel ("recenters toward straight up"), based on my notes from testing in analog+.  I'll see if I can find the hardware and do some more testing "soon".


--- Quote ---OT, but, it does amaze me that the old games had already figured out 2x quadrature encoding.  And how long did it take mice?
--- End quote ---

AFAIK, arcades were late in the mix, and PC mice were 4x from at least the mac (1984).  I don't have any supporting evidence I can link, though. 


--- Quote from: Derrick Renaud on December 23, 2006, 01:07:57 pm ---NOTE: the following info really should be placed in an FAQ somewhere so I don't ever have to type it in again.  :)

Polling is ...

--- End quote ---

Thanks, Derrick! :)  That sums up all the peices I "knew", but lines them all up so I understand them better.

u_rebelscum:


--- Quote from: Derrick Renaud on December 23, 2006, 01:59:08 am ---
--- Quote from: u_rebelscum on December 22, 2006, 07:01:34 pm ---720 (skate or die), 360 spinner "joystick", 144 count (72 teeth)

--- End quote ---

And the other input is once per 360?

--- End quote ---

I think it's 2 or 4 per rotation, but all counts close to each other:

The two gaps are spaced farther apart than the two index sensors.  This cuases the sensors to send (assuming 0 is blocked and 1 is unblocked sensor):

... 00, 10, 00, 01, 00, 10, 00, 01, 00 ...

See attachments of a drawing close to 2:1 scale, vertical pink lines are the sensors.  Compare with the normal quadrature 00, 01, 11, 10, 00 (also see attachments).

The index "tooth" between the gaps is a little under 7.5 degrees wide, and the gaps are a little wider than 2.5 degrees.  If we called when the "tooth" is centered to the sensors as 0 degrees, and assumed that the gaps were eactly 2.5 and the tooth was exactly 7.5, and that the sensors are exactly (2 * 2.5) + (2.5 / 2) degrees apart (a "perfect" spacing for 72 teeth encoder), then:

degreessensor output-180* - -9.37500-9.375 - -6.87510-6.875 - -3.12500-3.125 - -0.62501-0.625 - 0.625000.625 - 3.125103.125 - 6.875006.875 - 9.375019.375 - 180*00

Pages: << < (3/3)

Go to full version