Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Extra Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=68)
-   -   White Paper Discuss: Playstation 2 Controller Adapter (http://www.chiefdelphi.com/forums/showthread.php?t=42663)

jakep 25-01-2006 22:35

White Paper Discuss: Playstation 2 Controller Adapter
 
Thread created automatically to discuss a document in the White Papers.

Playstation 2 Controller Adapter by jakep

Greg Marra 25-01-2006 22:40

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
That's really cool, but the circuit looks fairly complicated to build and program.

You guys should consider building more and selling them to other teams. Considering that the price of a CH Flightstick on eBay is upwards of $40, you could help people get a better controller for their robot and make your team some extra money at the same time.

pathew100 25-01-2006 22:41

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Great job by the "geekTeam" of our robotics team. I'm the electrical/software mentor for team 862 and what they have done is amazing. Especially since they didn't even need to ask me for help! I had a major "How the heck did you do that?" moment when they first hooked it up and had it working on the breadboard.

So if you have any questions, ask the students!

Here's our website :www.lightningrobotics.com

Jeff Rodriguez 25-01-2006 23:51

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Will this also work with a PSone controller?

GhostInTheShell 26-01-2006 07:06

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
It will work with PSOne controllers that have the analog sticks (The dual-shock analog controllers work)

Joel J 26-01-2006 07:33

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
I had no idea you were allowed to connect a PIC between the "joystick" and PORTx of the OI.

Not2B 26-01-2006 08:45

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Quote:

Originally Posted by Joel J.
I had no idea you were allowed to connect a PIC between the "joystick" and PORTx of the OI.

Yeah, we were nervous. Last year, I would say this would be right out. But this year...

Quote:

Originally Posted by Manual
<R78> All equipment connected to the Joystick Ports of the IFI Operator Interface must be powered solely
through the power available through the port. External power sources of any type are not permitted on any
equipment connected to the Joystick Ports. Portable computing devices may not be connected to Joystick
input ports on the Operator Interface. Power-passive devices (e.g. joysticks that draw their power solely
through the IFI Operator Interface joystick port) are permitted.

I'd call this a power-passive device, as all power is comming from the OI. Then to look at the INTENT of the rule, all the PICs are doing is translating data, they aren't adding any value to the input or doing any calculations to drive the robot any better. So I hope we're OK. It's still up to the human to drive that sucker into a wall and fall over.

OR... another way too look at it...

We made our own joysticks. The joystick starts at the plug. An off the shelf PS2 controller is just one of the materials we used to make our control.

I hope! :)

pathew100 27-01-2006 16:06

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
See also this thread on the Q&A:

Custom-circuit Controllers

This design is officially legal for FIRST competitions.

acumenerratica 27-01-2006 18:03

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Question about your control mapping...
It was unclear in the white paper (to my insomnia-addled brain, at least) whether both joysticks are mapped to the PIC. Is it possible to run tank drive simply from the two analog sticks of a PS2 controller using your adapter method?

Replies are greatly appreciated

Not2B 27-01-2006 22:08

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
I'm not sure if you need 2 sets or one set... I'll have to ask the geeks. BUT - I can tell you that we drive tank style with the 2 sticks.

I'll see if I can ask the geekTeam more about it.

jakep 27-01-2006 23:44

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Yes, the two Y axes are sent to the OI, allowing for tank drive.

The X axis on either joystick on the ps2 controller is not sent to the OI, and is instead used to send digital signals. (4 per analog input on the OI, total of 8)

phrontist 30-01-2006 01:46

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Impressive! You deserve a Innovation In Control award, if you don't get it, they have no idea what they're doing!

(Espescially because it was student designed and built)

Ellery 03-02-2006 22:56

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Quote:

Originally Posted by jakep
Yes, the two Y axes are sent to the OI, allowing for tank drive.

The X axis on either joystick on the ps2 controller is not sent to the OI, and is instead used to send digital signals. (4 per analog input on the OI, total of 8)


Very nice work! Is your white paper complete enough to have my students try to tackle it as well? I looked through it and it seems to be missing some of the components for the PCB.

What size diodes and Resistors are required for the completion of this project?
Also is there anything missing from the whitepaper I should know about?

Thanks in advance for bringing teams to the next generation!

Ellery

jakep 04-02-2006 13:10

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
No diodes or resistors are required for this project. Depending on how you are building it, you might need to have a resistor for the LED. However, we used an LED mounting that already had a resistor built in. We used to have some in the design, but they were removed to make it more simple.

maniac_2040 06-02-2006 20:36

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
When it comes to changing which buttons we uses, is it possible to just modify the code in some way? My team was thinking about using the playstation controller, but would like to use both the x-axis and y-axis in at least one of the analogs. How would I go about doing this? Thanks in advance!

kc8nod 07-02-2006 10:52

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
I can't open the schematic file. I get the error "ps2adapter.sch is not a valid ExpressSCH file". The layout file opens fine with ExpressPCB. Any ideas what's wrong?

p.s. great job guys, thanks for all the hard work.

jakep 07-02-2006 12:45

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
The PCB file is for use with Express PCB, the schematics were made using Eagle Layout software.

To modify the adapter to use different axes and such, you will need to modify the code. The source code is included, and it will compile with free compilers like gpasm. In the future, we will be working on a better base code to allow for more changes, buttons, and axes.

kc8nod 08-02-2006 16:50

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
FYI, you can buy the PIC and the digipots from DigiKey:

Code:

Part Number        Description                      Price
PIC16F688-I/P-ND  IC PIC MCU FLASH 4KX14 14DIP      $3.35
DS1267-100-ND      IC POT DUAL DIGITAL 100K 14-DIP  $3.32


Ellery 10-02-2006 15:56

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Jake,

I've been trying to compile and program your source code with MPLab but do I need to change your code again to be able to compile and program with the Microchip Picstart Plus programmer?

According to your Remarks you changed the PNUM_DATA 0; Pin_DATA PortA, 0; <-What were the original values?

If you are programming directly from the PS2 plug I assume you're direct wiring the plug to the board pinouts for the 7 inputs to the match the programmer pins.

Let me know what i'm missing here.

Thanks

Ellery

jakep 11-02-2006 15:32

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
No, you do not have to change any of the sourcecode to use a different programmer.

The comments are unfortunately somewhat misleading, which pins you use for programming are built into the chip itself. The reason for that comment was that we had to move around some of our inputs to make sure the MCLR pin was free to be wired to a custom programmer. This way, we can wire an unused pin on the PS2 plug to MCLR, and when we want to program the chip, we can apply 12volts to that pin and not worry about any of the voltage flowing to the sensitive digipots.

maniac_2040 20-02-2006 02:28

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
I have a question regarding the code. When you're writing the digital outputs you have this smiget of code:

movlw 0x87 ; Write the first set of digital outputs
btfss datast+2, 2 ; L1
xorlw 0x80
btfss datast+2, 0 ; L2
iorlw 0x40
btfss datast+2, 3 ; R1
iorlw 0x20
btfss datast+2, 1 ; R2
iorlw 0x10
movwf digipots+2

On the first line is there any particular reason you used the hex value of 87 and then xor'd the L1 bit(when pressed) to the final output? Couldn't you just movlw 0x00 and the iorlw 0x80 just as you do all the following? I modified the code like such and wanted to know if it'd work:

;Write the first set of digital outputs
movlw 0x00
btfss PS2_BUTTON_BYTE_1, L1_BUTTON
iorlw 0x80
btfss PS2_BUTTON_BYTE_1, L2_BUTTON
iorlw 0x40
btfss PS2_BUTTON_BYTE_1, R1_BUTTON
iorlw 0x20
btfss PS2_BUTTON_BYTE_1, R2_BUTTON
iorlw 0x10
btfss PS2_BUTTON_BYTE_1, TRIANGLE_BUTTON
iorlw 0x08
btfss PS2_BUTTON_BYTE_1, CIRCLE_BUTTON
iorlw 0x04
btfss PS2_BUTTON_BYTE_1, X_BUTTON
iorlw 0x02
btfss PS2_BUTTON_BYTE_1, SQUARE_BUTTON
iorlw 0x01
movwf digipots+2

Yea I changed all the datast and #'s to some defines....will this code work?

jakep 20-02-2006 16:45

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
No, your code will not work. The reason is that the analog signals sent out by the digipots and the OI are not sensitive enough to accurately measure a 1 bit difference on an analog port. The max we had good results with was 4 digital outputs on one 8bit analog signal. The reason it is 0x87 is to provide an offset so that if there is a difference of 1 bit, it won't erroneously send button signals.

Pavan Dave 04-05-2006 19:03

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Good job guys. I finally found this thread. :) I appreciate you guys taking the time to do this and helping other FIRST teams with cool new innovative ways to control their robot.

Kudos

Pavan

Barry Craig 08-05-2006 02:47

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Can you post the schematics on the PS2 programmer you made? It seems very interesting and I would like to use that too, if it is alright with you.

Not2B 08-05-2006 17:41

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Quote:

Originally Posted by Barry Craig
Can you post the schematics on the PS2 programmer you made? It seems very interesting and I would like to use that too, if it is alright with you.

I'm asking them for the instruction on how to make your own programmer. But in the mean time, our website maven gave me this...

http://www.sparkfun.com/commerce/pro...?products_id=8

He said he uses it, you don't have to make your own programmer, and you don't need to write your own code.

d0nk 09-05-2006 18:12

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Yeah, i'm the one who told Not2B about that programmer. I bought it last august when i wanted to mess around with PIC's, and found it very easy to use. Use it in conjunction with the ICProg software (free, supports the programmer, which is known as a "JDM" programmer). Sparkfun also has tutorials on getting started with the programmer, and PIC's in general. If the programmer supports the IC, but doesn't have a "slot" for it (the 14/16 pin chips dont fit on the programmer), you can use the built in ICSP header, and jumper to the pic (usually in a breadboard, if programming in this manner).

Barry Craig 16-05-2006 23:07

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Quote:

Originally Posted by d0nk
Yeah, i'm the one who told Not2B about that programmer. I bought it last august when i wanted to mess around with PIC's, and found it very easy to use. Use it in conjunction with the ICProg software (free, supports the programmer, which is known as a "JDM" programmer). Sparkfun also has tutorials on getting started with the programmer, and PIC's in general. If the programmer supports the IC, but doesn't have a "slot" for it (the 14/16 pin chips dont fit on the programmer), you can use the built in ICSP header, and jumper to the pic (usually in a breadboard, if programming in this manner).

I already bought the PICkit Flash 1 from Microchip, which uses MPLAB. Would I be able to upload the supplied hex file with this, or if I cannot, just copy and paste the source code into a new project?

Ryan O 20-11-2006 14:09

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Hi,

I recently read your white papers, and I have an idea. However, to make it work, I need to shift out all the data coming from the controller in a way to register when buttons are pressed, ect, like you did to get some of them. I think that if this is possible you could wire all the x, y and buttons to one or more ports to utilize the full potential of the controller. Any help would be greatly appreciated.

Thanks,

Ryan O
Team 350 Porgrammer/Electrical

6600gt 20-11-2006 15:13

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
Quote:

Originally Posted by Manual
<R78> All equipment connected to the Joystick Ports of the IFI Operator Interface must be powered solely
through the power available through the port. External power sources of any type are not permitted on any
equipment connected to the Joystick Ports. Portable computing devices may not be connected to Joystick
input ports on the Operator Interface. Power-passive devices (e.g. joysticks that draw their power solely
through the IFI Operator Interface joystick port) are permitted.
Is a PIC really considered as a portable computing device?
Because I want to use one for modifying non real time values form the OI.

jakep 20-11-2006 21:18

Re: White Paper Discuss: Playstation 2 Controller Adapter
 
The design we made was used legally in two regionals and nationals last year, so it doesn't really count as a computer device.

Also, to all teams wanting to make one of these for this years competition, we, the creators of the design, must advise you about an issue we had with it. We had some power regulation issues, which cause the thing to occasionally drop connection during competitions (works fine when the OI is powered from an AC adapter, but not always in competitions when all OIs are off of one power supply). We have some ideas about updating the design to fix this problem, like adding a capacitor to help prevent short lived power drops. We don't have a solution yet, but we will probably be updating the white paper when we do. Please proceed at your own risk when building these, at least until we get a fix available. (It should be a simple solution, not requiring new boards to be made if you already did)


All times are GMT -5. The time now is 22:05.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi