2016:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
No edit summary
 
(23 intermediate revisions by 2 users not shown)
Line 98: Line 98:
| style="text-align: center" | RS775
| style="text-align: center" | RS775
| style="width: 210px; text-align: center" | Winch #1 for scaler extension
| style="width: 210px; text-align: center" | Winch #1 for scaler extension
| style="width: 224px; text-align: center" | <span style="background-color:#FFFF00;">min and max extension limit switches wired directly to speed controller</span>
| style="width: 224px; text-align: center" |  
<span style="background-color:#FFFF00;">min and max extension limit switches wired directly to speed controller</span>
 
<span style="background-color:#FFFF00;">Talon Limit Switch logic sense should be reversed to Normally Low</span>
 
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" |  
40A breaker (21A max calc load)
40A breaker (21A max calc load)
Line 112: Line 116:
| style="text-align: center" | RS775
| style="text-align: center" | RS775
| style="width: 210px; text-align: center" | Winch #2 for scaler extension
| style="width: 210px; text-align: center" | Winch #2 for scaler extension
| style="width: 224px; text-align: center;" | <span style="line-height: 20.7999992370605px; text-align: center;"><span style="background-color:#FFFF00;">min and max extension limit switches wired directly to speed controller</span></span><br/>
| style="width: 224px; text-align: center;" |  
<span style="line-height: 20.7999992370605px; text-align: center;"><span style="background-color:#FFFF00;">min and max extension limit switches wired directly to speed controller</span></span>
 
<span style="line-height: 20.7999992370605px; text-align: center;"><span style="background-color:#FFFF00;">Talon Limit Switch logic sense should be reversed to Normally Low</span></span>
 
| style="width: 115px; text-align: center;" |  
| style="width: 115px; text-align: center;" |  
40A breaker (21A max calc load)
40A breaker (21A max calc load)
Line 144: Line 152:
|  
|  
| <br/>
| <br/>
| <span style="text-align: center">N/A</span><br/>
| <br/>
| style="width: 210px" |  
| style="width: 210px" |  
| style="width: 224px" | <br/>
| style="width: 224px" | <br/>
Line 170: Line 178:
| style="width: 76px" | motor
| style="width: 76px" | motor
| style="width: 54px" | CIM
| style="width: 54px" | CIM
| style="width: 170px" | Left Front &nbsp;Drive motor
| style="width: 170px" | Left Drive motor
| style="width: 280px" | <br/>
| style="width: 280px" | <br/>
| style="width: 125px" | 40A Breaker
| style="width: 125px" | 40A Breaker, PWM Splits to two Spark Controllers
|-
|-
| 1
| 1
Line 178: Line 186:
| style="width: 76px" | <span style="line-height: 20.7999992370605px;">motor</span><br/>
| style="width: 76px" | <span style="line-height: 20.7999992370605px;">motor</span><br/>
| style="width: 54px" | <span style="line-height: 20.7999992370605px;">CIM</span><br/>
| style="width: 54px" | <span style="line-height: 20.7999992370605px;">CIM</span><br/>
| style="width: 170px" | Left Back<span style="line-height: 20.7999992370605px;">&nbsp;Drive motor</span>
| style="width: 170px" | Right<span style="line-height: 20.7999992370605px;">&nbsp;Drive motor</span>
| style="width: 280px" | <br/>
| style="width: 280px" | <br/>
| style="width: 125px" | 40A Breaker
| style="width: 125px" | 40A Breaker, PWM Splits to two Spark Controllers
|-
|-
| 2
| 2
| style="width: 82px" | <span style="line-height: 20.7999992370605px;">Drivetrain</span>
| style="width: 82px" | <br/>
| style="width: 76px" | <span style="line-height: 20.7999992370605px;">motor</span><br/>
| style="width: 76px" | <br/>
| style="width: 54px" | <span style="line-height: 20.7999992370605px;">CIM</span><br/>
| style="width: 54px" | <br/>
| style="width: 170px" | Right Front Drive motor
| style="width: 170px" | <br/>
| style="width: 280px" | <br/>
| style="width: 280px" | <br/>
| style="width: 125px" | 40A Breaker
| style="width: 125px" | <br/>
|-
|-
| 3
| 3
| style="width: 82px" | <span style="line-height: 20.7999992370605px;">Drivetrain</span>
| style="width: 82px" | <br/>
| style="width: 76px" | <span style="line-height: 20.7999992370605px;">motor</span><br/>
| style="width: 76px" | <br/>
| style="width: 54px" | <span style="line-height: 20.7999992370605px;">CIM</span><br/>
| style="width: 54px" | <br/>
| style="width: 170px" | Right Back Drive motor
| style="width: 170px" | <br/>
| style="width: 280px" | <br/>
| style="width: 280px" | <br/>
| style="width: 125px" | 40A Breaker
| style="width: 125px" | <br/>
|-
|-
| 4
| 4
| style="width: 82px" |  
| style="width: 82px" | Scaler
| style="width: 76px" | <br/>
| style="width: 76px" | servo
| style="width: 54px" | <br/>
| style="width: 54px" | hs-322hd
| style="width: 170px" |  
| style="width: 170px" | scaler lock
| style="width: 280px" | <br/>
| style="width: 280px" | <br/>
| style="width: 125px" |  
| style="width: 125px" |  
Line 246: Line 254:
| style="width: 125px" |  
| style="width: 125px" |  
|}
|}


== Relay Outputs ==
== Relay Outputs ==
Line 332: Line 338:
|-
|-
| 2
| 2
|  
| Scaler
| style="width: 70px" | <br/>
| style="width: 70px" | Potentiometer
| style="width: 54px" | <br/>
| style="width: 54px" | <span style="line-height: 20.8px;">3852A-282-102AL</span><br/>
| style="width: 227px" |  
| style="width: 227px" | Scaler pivot position
| style="width: 262px" | <br/>
| style="width: 262px" | <br/>
| style="width: 132px" | <br/>
| style="width: 132px" | <br/>
| style="width: 91px" |  
| style="width: 91px" | <span style="line-height: 20.8px;">1K ohms, linear taper</span>
|-
|-
| 3
| 3
Line 426: Line 432:
=== <u>RoboRio IO</u> ===
=== <u>RoboRio IO</u> ===


{| style="width: 998px" border="1" cellpadding="2" cellspacing="1"
{| cellpadding="2" cellspacing="1" border="1" style="width: 998px;"
|-
|-
| '''ID'''
| '''ID'''
| '''Direction'''<br/>(IN/OUT)
| '''Direction'''<br/>(IN/OUT)
| style="text-align: center; width: 69px" | '''Subsystem'''
| style="width: 69px; text-align: center;" | '''Subsystem'''
| style="width: 73px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p>
| style="width: 73px;" | <p style="text-align: center;">'''Component'''</p><p style="text-align: center;">'''Type'''</p>
| style="width: 52px; text-align: center" | '''Model #'''
| style="width: 52px; text-align: center;" | '''Model #'''
| style="width: 194px; text-align: center" | '''Description<br/>(brief)'''
| style="width: 194px; text-align: center;" | '''Description<br/>(brief)'''
| style="width: 253px; text-align: center" | '''Operation'''<br/>
| style="width: 253px; text-align: center;" | '''Operation'''<br/>
| style="width: 118px; text-align: center" | '''Notes'''
| style="width: 118px; text-align: center;" | '''Notes'''
|-
|-
| 0
| 0
| IN
| IN
| style="width: 69px" | Drivetrain
| style="width: 69px;" | Drivetrain
| style="width: 73px" | Shaft Encoder
| style="width: 73px;" | Shaft Encoder
| style="width: 52px" | E4T-360-250
| style="width: 52px;" | E4T-360-250
| style="width: 194px" | Left Encoder, Phase A
| style="width: 194px;" | Left Encoder, Phase A
| style="width: 253px" | Drivetrain rotation
| style="width: 253px;" | Drivetrain rotation
| style="width: 118px" | <br/>
| style="width: 118px;" | <br/>
|-
|-
| 1
| 1
| IN
| IN
| style="width: 69px" | Drivetrain
| style="width: 69px;" | Drivetrain
| style="width: 73px" | Shaft Encoder
| style="width: 73px;" | Shaft Encoder
| style="width: 52px" | <span style="line-height: 20.7999992370605px;">E4T-360-250</span>
| style="width: 52px;" | <span style="line-height: 20.79px;">E4T-360-250</span>
| style="width: 194px" | Left Encoder, Phase B
| style="width: 194px;" | Left Encoder, Phase B
| style="width: 253px" | <span style="line-height: 20.7999992370605px;">Drivetrain rotation</span>
| style="width: 253px;" | <span style="line-height: 20.79px;">Drivetrain rotation</span>
| style="width: 118px" |  
| style="width: 118px;" |  
|-
|-
| 2
| 2
| IN
| IN
| style="width: 69px" | Drivetrain
| style="width: 69px;" | Drivetrain
| style="width: 73px" | Shaft Encoder
| style="width: 73px;" | Shaft Encoder
| style="width: 52px" | <span style="line-height: 20.7999992370605px;">E4T-360-250</span>
| style="width: 52px;" | <span style="line-height: 20.79px;">E4T-360-250</span>
| style="width: 194px" | Right Encoder, Phase A
| style="width: 194px;" | Right Encoder, Phase A
| style="width: 253px" | <span style="line-height: 20.7999992370605px;">Drivetrain rotation</span>
| style="width: 253px;" | <span style="line-height: 20.79px;">Drivetrain rotation</span>
| style="width: 118px" |  
| style="width: 118px;" |  
|-
|-
| 3
| 3
| IN
| IN
| style="width: 69px" | Drivetrain
| style="width: 69px;" | Drivetrain
| style="width: 73px" | Shaft Encoder
| style="width: 73px;" | Shaft Encoder
| style="width: 52px" | <span style="line-height: 20.7999992370605px;">E4T-360-250</span>
| style="width: 52px;" | <span style="line-height: 20.79px;">E4T-360-250</span>
| style="width: 194px" | Left Encoder, Phase B
| style="width: 194px;" | Left Encoder, Phase B
| style="width: 253px" | <span style="line-height: 20.7999992370605px;">Drivetrain rotation</span>
| style="width: 253px;" | <span style="line-height: 20.79px;">Drivetrain rotation</span>
| style="width: 118px" |  
| style="width: 118px;" |  
|-
|-
| 4
| 4
| IN
| IN
| style="width: 69px" | Scaler
| style="width: 69px;" | Scaler
| style="width: 73px" | Shaft Encoder
| style="width: 73px;" | Shaft Encoder
| style="width: 52px" | 61KS256
| style="width: 52px;" | 61KS256
| style="width: 194px" | Arm Rotation, Phase A
| style="width: 194px;" | Arm Rotation, Phase A
| style="width: 253px" | Scaler arm rotation position
| style="width: 253px;" | Scaler arm extention
| style="width: 118px" |  
| style="width: 118px;" |  
|-
|-
| 5
| 5
| IN
| IN
| style="width: 69px" | Scaler
| style="width: 69px;" | Scaler
| style="width: 73px" | Shaft Encoder
| style="width: 73px;" | Shaft Encoder
| style="width: 52px" | 61KS256
| style="width: 52px;" | 61KS256
| style="width: 194px" | Arm Rotation,Phase B
| style="width: 194px;" | Arm Rotation,Phase B
| style="width: 253px" | Scaler arm rotation position
| style="width: 253px;" | Scaler arm extention
| style="width: 118px" | <br/>
| style="width: 118px;" | <br/>
|-
|-
| 6
| 6
| IN
| IN
| style="width: 69px" | Breacher
| style="width: 69px;" | Breacher
| style="width: 73px" | Banner Opto
| style="width: 73px;" | Banner Opto
| style="width: 52px" | Q10RN6R
| style="width: 52px;" | Q10RN6R
| style="width: 194px" | Ball Intake
| style="width: 194px;" | Ball Intake
| style="width: 253px" | Trips for ball fully into bucket
| style="width: 253px;" | Trips for ball fully into bucket
| style="width: 118px" | Q106E emitter
| style="width: 118px;" |  
w/Q106E emitter,
 
sensor open-collector out
 
|-
|-
| 7
| 7
| IN
| IN
| style="width: 69px" | Breacher
| style="width: 69px;" | Breacher
| style="width: 73px" | limit switch
| style="width: 73px;" | limit switch
| style="width: 52px" |  
| style="width: 52px;" |  
AAP2T51Z11
AAP2T51Z11


| style="width: 194px" | breacher rotation upper limit
| style="width: 194px;" | breacher rotation upper limit
| style="width: 253px" |  
| style="width: 253px;" |  
| style="width: 118px" | monster switch
| style="width: 118px;" | monster switch
|-
|-
| 8
| 8
| IN
| IN
| style="width: 69px" | Breacher
| style="width: 69px;" | Breacher
| style="width: 73px" | limit switch
| style="width: 73px;" | limit switch
| style="width: 52px" | AAP2T51Z11
| style="width: 52px;" | AAP2T51Z11
| style="width: 194px" | breacher rotation lower limit
| style="width: 194px;" | breacher rotation lower limit
| style="width: 253px" |  
| style="width: 253px;" |  
| style="width: 118px" | monster switch
| style="width: 118px;" | monster switch
|-
|-
| 9
| 9
|  
| OUT
| style="width: 69px" |  
| style="width: 69px;" | Drive
| style="width: 73px" |  
| style="width: 73px;" | LED
| style="width: 52px" |  
| style="width: 52px;" |  
| style="width: 194px" |  
| style="width: 194px;" | Gryo calibrating
| style="width: 253px" |  
| style="width: 253px;" | Lights up when gyro is calibrating
| style="width: 118px" |  
| style="width: 118px;" |  
|}
|}


Line 910: Line 920:
= Operator Controls =
= Operator Controls =


.... tbd ....
=== Controller 1 - Primary Driver ===
 
{| cellpadding="2" cellspacing="1" border="1" style="width: 908px;"
|-
| Action/Button
| Description
| Details
|-
| Left Joystick Y
| Moves the robot forward / back
|
"Up drive the robot forward (Breacher Side)<br/>Down drives the robot backward (Scaler Side)"
 
NOTE: will do the opposite if drive is toggled
 
|-
| Right Joystick X
| Turns the robot Left / Right
|
""Right will turn the robot clockwise and vice<br/>versa. With no input from the left Joytick,<br/>does point turn. With input from left, does<br/>curve turn""
 
NOTE: will do the opposite if drive is toggled


|-
| Left Bumper
| Slow mode for left wheels<br/>
| "decreases the range of power to the left<br/>motors by a set amount. Amount tbd"<br/>
|-
| Right Bumper
| Slow mode for Right wheels<br/>
| "decreases the range of power to the Righ<br/>motors by a set amount. Amount tbd"<br/>
|-
|
Left Trigger


| turbo mode for left wheels<br/>
| "Increases the range of power to the left motors by a set amount. Amount tbd"<br/>
|-
| Right Trigger<br/>
| turbo mode for right wheels<br/>
| "Increases the range of power to the right motors by a set amount. Amount tbd"<br/>
|-
| Y button
| toggle camera feed
|
|-
| A button
| toggle drive
|
|}
=== Controller 2 - Aux Driver ===
{| cellpadding="2" cellspacing="1" border="1" style="width: 908px;"
|-
| Action/Button
| Description
| Details
|-
| Left Joystick Up
| Breacher down
| Breacher Rotates forward / toward the ground
|-
| Left Joystick Down
| Breacher up
| Breacher Rotates backward / toward the sky
|-
| Right Joystick Up
| Scaler extend
| Scaler telescopes upward
|-
| Right Joystick Down
| Scaler retract Scaler
| telescopes downward
|-
| Right Bumper
| intake
| "Spins the intake wheels as to intake a ball<br/>into the robot"
|-
| Right Trigger
| Shoot
| "Spins the intake wheels as to outtake a ball<br/>out of the robot"
|-
| Dpad Left
| Rotate Scaler up
| Scaler rotates upward
|-
| Dpad Right
| Rotate Scaler downward
| Scaler rotates downward
|-
| "Left Trigger + Dpad<br/>down"
| Arm Lock
| Rotates servo to lock Scaler arm in place
|-
| "Left Bumper + Dpad<br/>Up"
| Arm Unlock
| "Rotate servo to unlock Scaler arm and allow<br/>telescoping action"
|-
| A button
| Toggle camera feed
|
|-
| Y button
| Pivot Intake to the Drawbridge position
| Byers use Intake::Drawbridge_Position(). If the Y button is not pressed, call Intake::Stop_Goto()
|}
=== Broken Switches ===
{| style="width: 908px;" cellpadding="2" cellspacing="1" border="1"
|-
| Broken Switch1
| Breacher Pivot
| Potentiometer broken
|-
| Broken Switch2
| Breacher Intake
| Beam Break Broken
|-
| Broken Switch3
| Arm rotate
| "???????????<br/>Encoder"
|-
| Broken Switch4
| Arm telescope
| "Encoder<br/>&nbsp;???????????"<br/>
|-
| Broken Switch5<br/>
| not used yet<br/>
| <br/>
|-
| Broken Switch6<br/>
| not used yet<br/>
| <br/>
|-
| Broken Switch7<br/>
| Tank drive<br/>
| use tank drive instead of default drive mode<br/>
|}


= IO Maps for Old Robots =
= IO Maps for Old Robots =

Latest revision as of 09:02, 23 April 2016

Robot I/O

CAN ID Assignments

ID Subsystem

Component

Type

Model # Description
(brief)
Operation
Notes
0 Electrical

PD Module


Power Distribution Module feedback monitor PD

must be CAN 0

1 RESERVED n/a
Factory-default
allows for adding Jaguar quickly and re-assign its ID

don't use
2





3





4





5





6





7





8 Breacher motor miniCIM Breacher Bucket rotation
40A breaker (26A max calc load)
9 Breacher motor RS775 Ball Intake rollers
40A breaker (32A max calc load)
10 Scaler motor RS775 Winch #1 for scaler extension

min and max extension limit switches wired directly to speed controller

Talon Limit Switch logic sense should be reversed to Normally Low

40A breaker (21A max calc load)

min switch = OPB815WZ

max switch = EE-SPY415

11 Scaler motor RS775 Winch #2 for scaler extension

min and max extension limit switches wired directly to speed controller

Talon Limit Switch logic sense should be reversed to Normally Low

40A breaker (21A max calc load)

min switch = OPB815WZ

max switch = EE-SPY415

12 Scaler motor Bag Arm Pivot rotation
30A breaker (13A max calc load)
13


14


15


PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation


Notes
0 Drivetrain motor CIM Left Drive motor
40A Breaker, PWM Splits to two Spark Controllers
1 Drivetrain motor
CIM
Right Drive motor
40A Breaker, PWM Splits to two Spark Controllers
2





3





4 Scaler servo hs-322hd scaler lock
5


6





7





8


9


Relay Outputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation
Notes
0


1


2


3


Analog IO

RoboRIO Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0 Drivetrain Gyro ADW22307 drivetrain gyro position feedback X-Y orientation 2.5V centered
1 Breacher Potentiometer 3852A-282-102AL Breacher bucket shaft rotation absolute position of beacher rotation
1K ohms, linear taper
2 Scaler Potentiometer 3852A-282-102AL
Scaler pivot position

1K ohms, linear taper
3



Rev Robotics More Board Analog IO

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
AIN0

 

 
AIN1




AIN2




AIN3






AOUT0






AOUT1




Digital IO (GPIO)

RoboRio IO

ID Direction
(IN/OUT)
Subsystem

Component

Type

Model # Description
(brief)
Operation
Notes
0 IN Drivetrain Shaft Encoder E4T-360-250 Left Encoder, Phase A Drivetrain rotation
1 IN Drivetrain Shaft Encoder E4T-360-250 Left Encoder, Phase B Drivetrain rotation
2 IN Drivetrain Shaft Encoder E4T-360-250 Right Encoder, Phase A Drivetrain rotation
3 IN Drivetrain Shaft Encoder E4T-360-250 Left Encoder, Phase B Drivetrain rotation
4 IN Scaler Shaft Encoder 61KS256 Arm Rotation, Phase A Scaler arm extention
5 IN Scaler Shaft Encoder 61KS256 Arm Rotation,Phase B Scaler arm extention
6 IN Breacher Banner Opto Q10RN6R Ball Intake Trips for ball fully into bucket

w/Q106E emitter,

sensor open-collector out

7 IN Breacher limit switch

AAP2T51Z11

breacher rotation upper limit monster switch
8 IN Breacher limit switch AAP2T51Z11 breacher rotation lower limit monster switch
9 OUT Drive LED Gryo calibrating Lights up when gyro is calibrating

Rev Robotics More Board IO

ID Direction (IN/OUT) Subsystem Component Type Model # Description (brief) Operation
Notes
0
1
2
3






4






5






6






7






8






9






10






11






12






13






14






15






I2C Registers

Address
(e.g. 0100111X)
Pin
(e.g. GP0)
Subsystem

Component

Type

Model # Description
(brief)
Operation
Notes
0


1


2


3


4


5


6


SPI Devices

#
Subsystem

Component Type

Model # Description (brief) Operation
Notes




 

USB Host Ports

Address
Subsystem

Component Type

Model # Description (brief) Operation
Notes
0
1

Pneumatics Control Module

ID Subsystem

Component

Type

Model #

Description

(brief)

Operation
Notes Pressure Circuit
0
1
2
3
4

 



5






6

 



7



Operator Controls

Controller 1 - Primary Driver

Action/Button Description Details
Left Joystick Y Moves the robot forward / back

"Up drive the robot forward (Breacher Side)
Down drives the robot backward (Scaler Side)"

NOTE: will do the opposite if drive is toggled

Right Joystick X Turns the robot Left / Right

""Right will turn the robot clockwise and vice
versa. With no input from the left Joytick,
does point turn. With input from left, does
curve turn""

NOTE: will do the opposite if drive is toggled

Left Bumper Slow mode for left wheels
"decreases the range of power to the left
motors by a set amount. Amount tbd"
Right Bumper Slow mode for Right wheels
"decreases the range of power to the Righ
motors by a set amount. Amount tbd"

Left Trigger

turbo mode for left wheels
"Increases the range of power to the left motors by a set amount. Amount tbd"
Right Trigger
turbo mode for right wheels
"Increases the range of power to the right motors by a set amount. Amount tbd"
Y button toggle camera feed
A button toggle drive

Controller 2 - Aux Driver

Action/Button Description Details
Left Joystick Up Breacher down Breacher Rotates forward / toward the ground
Left Joystick Down Breacher up Breacher Rotates backward / toward the sky
Right Joystick Up Scaler extend Scaler telescopes upward
Right Joystick Down Scaler retract Scaler telescopes downward
Right Bumper intake "Spins the intake wheels as to intake a ball
into the robot"
Right Trigger Shoot "Spins the intake wheels as to outtake a ball
out of the robot"
Dpad Left Rotate Scaler up Scaler rotates upward
Dpad Right Rotate Scaler downward Scaler rotates downward
"Left Trigger + Dpad
down"
Arm Lock Rotates servo to lock Scaler arm in place
"Left Bumper + Dpad
Up"
Arm Unlock "Rotate servo to unlock Scaler arm and allow
telescoping action"
A button Toggle camera feed
Y button Pivot Intake to the Drawbridge position Byers use Intake::Drawbridge_Position(). If the Y button is not pressed, call Intake::Stop_Goto()

Broken Switches

Broken Switch1 Breacher Pivot Potentiometer broken
Broken Switch2 Breacher Intake Beam Break Broken
Broken Switch3 Arm rotate "???????????
Encoder"
Broken Switch4 Arm telescope "Encoder
 ???????????"
Broken Switch5
not used yet

Broken Switch6
not used yet

Broken Switch7
Tank drive
use tank drive instead of default drive mode

IO Maps for Old Robots