Build Your Own Arcade Controls Forum

Main => Main Forum => Topic started by: f4phantomii on January 15, 2007, 09:03:56 pm

Title: Assistance with Rotary Encoder board and joysticks
Post by: f4phantomii on January 15, 2007, 09:03:56 pm
I've been slowly collecting parts for an arcade cabinet over the last two or three years, mostly as gifts from people.  This past Christmas, I decided if I didn't go ahead and get the cabinet built, I wasn't going to do anything.

So I've built up my cabinet and control panel.  I've collected my artwork and am having it printed.

I have two used LS30 Ikari Warrior style rotary joysticks bought off eBay.  I've got a two-year old version of the IPAC (PS2 version), and an x-arcade trackball.

I got the control panel built and wired, and hooked it up to my PC to test out.

Buttons and joysticks work great....except for the rotary motion.

The rotary encoder board I have is the old Druid designed board...at least a year old, if not older.

I've got things wired up correctly.  The board has it's own ground.  The 5V supply is coming from a spare, unused terminal off the IPAC.  I have the outputs of the rotary encoder board wired to Buttons 5 and 6 on the IPAC for both players.  I know I have the 13-pin connector plugged in correctly to the pins on the encoder board and not on backwards.

I can't consistently get rotation inputs by rotating the joystick...either of them.  I only get one more every once in a while.

I've tried unplugging the joystick and just jumping contact between the ground pin and one of the input pins with much the same effect.

I've wondering if I got a bad board and only just found out about it.

Another strange issue....the voltage as measured from any place on the encoder board is only 3.5 volts, including if measured from the connected terminals on the IPAC.  If I unplug the encoder board from the IPAC entirely, both power and inputs, all terminals on the IPAC measure 5 volts as they are supposed to.

Anyone have any suggestions as to what might be wrong?  Is it the board, or the rotary switches on the joysticks?  They are mechanical switches, and I'd be very surprised if they were both broken.  And jumping power directly on the encoder board should have ruled out a bad switch.

Any help would be greatly appreciated.

-Michael
Title: Re: Assistance with Rotary Encoder board and joysticks
Post by: u_rebelscum on January 16, 2007, 05:33:18 pm
I can't consistently get rotation inputs by rotating the joystick...either of them.  I only get one more every once in a while.

Is this in mame?  Try testing it in notepad.  If it works in notepad, the keyspeed and sensitivity in mame is too low: increase them with tab, "analog controls", "dial digital speed" and "dial sensitivity".  I suggest putting the sensitivity to 100% and adjusting the dial speed from there.

If that doesn't work, the time depressed is too low.  See if you can set druid's encoder to 60 or 30 hz. (This is outside mame.)
Title: Re: Assistance with Rotary Encoder board and joysticks
Post by: Kaytrim on January 16, 2007, 05:42:11 pm
Looks like you are overloading the 5v circuit.  5v via USB is limited to 500ma.  Get your 5v directly from the computer power supply.  Look at the drive power connections.  The yellow wire is 12v and the red wire is 5v with the ground next to it.

If you are afraid of hacking into one of these connections get a PowerMite from NiceMite.com (http://www.nicemite.com/PowermiteDD/PowermiteDD.htm). 

EDIT:
You might also want to re-wire the outputs from the rotary boards to separate buttons on the IPAC for each player.  The IPAC may be getting confused by the multiple inputs.
Title: Re: Assistance with Rotary Encoder board and joysticks
Post by: f4phantomii on January 16, 2007, 08:41:03 pm
OK...I'll definitely hack into one of the power connectors and get the 5V straight off of there.  Although I'm using the PS2 connector...I'm guessing it has a similar or lower current restriction than the USB.  And yes, this is in MAME.

I did some further (and more rigorous) troubleshooting this evening.

I hooked up a test lead to one of the ground terminals on the IPAC.  I then would touch the SW5 and SW6 inputs on the IPAC.

Each time I would get a rotation. They weren't perfect, but something moved everytime I did it.

So then I moved down to the rotary encoder outputs.  Same results...touching ground to the output resulted in a proper rotation.

So then I unplugged the 13-pin lead from the rotary encoder and individually tested each one of the input pins except pin #1 which was already ground/common.  Contrary to my previous attempts, this worked, and worked like I expected it to.

So I started touching the common wire to the outputs of the rotary switch at the bottom of the joystick, and this also seemed to be working (contrary to last night).

So I disassembled both rotary switches.  They were ultra simple.  I think one just had a lot of dirty contacts.  The other had a broken spring contactor.

I cleaned up the contacts on the good switch, and tried just jumping across between the common pole and the switch position contacts in the switch......hmm...not working.  That was odd.  Furthermore, not even keyboard input to rotate (x, z keys) worked.

I exited the game, and restarted it.  Everything started working!

I adjusted the digital speed down, and decreased the sensitivity.  After doing more reading on these boards, it looks like I probably need to reduce both speed and sensitivity very low and things begin working nicely.

The switch still seems iffy to me...so I'm forking over the whole $4 to buy two new 12-position rotary switches. 

Thanks for all the suggestions, and I'll definitely look at pulling 5V off one of the power leads rather than through the IPAC.

Title: Re: Assistance with Rotary Encoder board and joysticks
Post by: Kaytrim on January 17, 2007, 10:27:59 am
Glad to help and good to hear you have a plan of action.  Let us know how things work out. :cheers: