Converting DualShock3 Controller to analogue triggers

Discussion in 'The Projects Forum' started by wolf_rt, Jan 8, 2014.

  1. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    Im trying to upgrade my ps3 controller with a analogue trigger form a xbox 360
    (It is installed and working)

    The pressure sensitive buttons in the ds3 controller seem to be a type of switched earth.
    (not sure if the wire in the ps3 'button mat' i am using is a 'true' earth though)
    the resistance is reduced when the trigger is pressed.

    So i have the xbox trigger all set up, (xbox triggers use a linear pot)
    And i just connected the ps3 'wire' through two pins of the pot.

    Unfortunately this gives a very non linear result. (still better than the abysmal ps3 setup though)

    There must be a way to set the pot up to provide a linear response...

    Unfortunately I don't know what to search for to get some ideas on this...


    This is the original setup, and the current setup... Is there a way to get a more linear response from this pot?

    [​IMG]

    Some crappy photos of the controller:
    [​IMG]
    [​IMG]
    [​IMG]
     
  2. GopherT

    AAC Fanatic!

    Nov 23, 2012
    6,059
    3,821
    I don't completely understand what your plan is but, Just because you change a button from a switch to a pot doesn't mean the software will recognize the difference.
     
  3. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    my plan is to bring true analogue triggers to the ps3 controller

    the ps3 uses pressure sensitive switches, the harder you press them, the lower the resistance, but this all happens over about 0.5mm of the buttons 10mm travel.

    Using a pot should allow for a more linear response from the trigger. (and does... its completely working and finished... i'm just hoping that someone who is good at electronics can suggest an alternative way to wire the pot, for an even better result)
     
  4. GopherT

    AAC Fanatic!

    Nov 23, 2012
    6,059
    3,821
    A linear pot can be converted to a log pot by adding two resistors (one from each pole to the wiper). Each resistor should be about 20% of the pot value.

    If that doesn't work, there are some other options.
     
  5. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    Thanks mate.. i'll try that, and let you know how it goes
     
  6. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    tried adding resistors from each pole to the wiper.. this seems to lower the max resistance the pot can offer though.

    And this meant the trigger was always applied 20-50% depending on resistor used

    If i added a resistor to get back to 5k ohm (full off) then i am unable to get full throttle (200 ohm)

    other options?

    unfortunately i am stuck using the original xbox pot, as it appears to be a special piece, than only rotates around 30 degrees.
     
  7. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    Can i make a special circuit controlled by the xbox pot to output the correct (or adjustable) output?

    This is basically the situation as i see it at the moment.. Is there a circuit i can build to provide the necessary output?

    [​IMG]

    The main problem seems to be how the software interprets the input, which isn't adjustable (Gran Turismo 6)

    I haven't mapped the output of the pot to the trigger position, but the pot itself is very linear and provides stable response.
    the pot is connected to the trigger through levers, so the curve might be slightly altered, but not to the extent that is presented in game.

    what would be involved in building a circuit to provide an adjustable output curve, from a linear pot?

    Is i see it, a log pot, would only compound the problem, is there such a thing as a reverse log pot, or a way to simulate that output...
    i am limited to using the original 0.2 to 5k pot though, unless i make a custom rack and pinion driven trigger setup...

    A log curve that's 'upside down', while not a perfect match, would provide a far better result than the current one.
     
    Last edited: Jan 9, 2014
  8. GopherT

    AAC Fanatic!

    Nov 23, 2012
    6,059
    3,821
    Could you post new photos under bright light or sunlight?
     
  9. #12

    Expert

    Nov 30, 2010
    16,304
    6,814
    I think you're looking for this;
     
    wolf_rt likes this.
  10. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    well the thing is assembled at the moment,and i have all the wires running to the outside of the case, so i can add resistors ect. without disassembling it.

    here is a pic of the x box trigger mechanism though, which is basically all there is to be seen

    [​IMG]

    and a bunch more pics here
    http://www.ifixit.com/Guide/Xbox+360+Wireless+Controller+Triggers+Replacement/3317

    These are the pots in question
    [​IMG]

    there is only around 15-20 degrees rotation, and i haven't been able to find anything with a larger value (to allow for diffrent resister combinations) that it could be replaced with.


    At the moment i have a 1k resistor between the unused leg and the wiper, according to the multimeter, this should give a better result, but i have to kick my missus of the ps3 to test it.
     
  11. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    Well heres a chart of the in game response to certain resistances, this is fixed, no way to alter it...

    [​IMG]


    so far everything i have tried with adding resistors, has either made things worse, or reduced the total resistance of the pot below 5.2ohm
     
  12. wolf_rt

    Thread Starter New Member

    Jan 8, 2014
    8
    0
    I'm beginning to think the only way to accomplish this is by using an Arduino computer or similar.
    I'm not sure if this would even be possible (realistically) though.

    The output could be either a direct resistance, or even a PWM controlled ground. (since most games accept 'tapping the button' as an alternative to analogue control)

    The basic functionality that would be necessary, would be:

    Low position adjustment (set the lowest resistance possible, trigger released)

    High position adjustment (set the highest resistance possible, trigger depressed)

    Taper adjustment (from instant 100% activation, to reverse log, to linear, to log, to late activation)

    having 2 or 3 points in the curve to adjust would be ideal, but even just one would work ok.


    Can anyone tell me if this is possible with Arduino or similar, or if there is an analogue circuit able to provide this functionality?
     
Loading...