2020:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
Line 1,128: Line 1,128:
|}
|}
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output">
=== Controller 2 - Aux Driver ===
=== Controller 2 - Aux Driver ===


Line 1,208: Line 1,209:
| style="width: 91px; text-align: center" | POV-90
| style="width: 91px; text-align: center" | POV-90
| style="width: 286px" | D-pad up
| style="width: 286px" | D-pad up
| style="width: 361px" | move intake down
| style="width: 361px" | &nbsp;
| style="width: 141px" | Press only
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px; text-align: center" | POV-270
| style="width: 91px; text-align: center" | POV-270
| style="width: 286px" | D-pad down
| style="width: 286px" | D-pad down
| style="width: 361px" | move intake up
| style="width: 361px" | &nbsp;
| style="width: 141px" | Press only
| style="width: 141px" | &nbsp;
|}
|}


'''Controller 2 - Aux Driver (Continued)&nbsp;'''
'''Controller 3&nbsp;- Switches on console'''


{| border="1" cellpadding="1" cellspacing="1" style="width: 907px"
{| border="1" cellpadding="1" cellspacing="1" style="width: 907px"
Line 1,227: Line 1,228:
|-
|-
| style="width: 92px; text-align: center" | B-1
| style="width: 92px; text-align: center" | B-1
| style="width: 112px" | &nbsp;
| style="width: 112px" | Control Panel Mode
| style="width: 521px" | &nbsp;
| style="width: 521px" |  
Determines which control panel operation to run
 
On = rotation
 
Off = position
 
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-2
| style="width: 92px; text-align: center" | B-2
| style="width: 112px" | &nbsp;
| style="width: 112px" | Control Panel Sensor Broken
| style="width: 521px" | &nbsp;
| style="width: 521px" |  
On = broken, run CP manually
 
Off = Working, do whatever is in button 1
 
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-3
| style="width: 92px; text-align: center" | B-3
| style="width: 112px" | &nbsp;
| style="width: 112px" | Intake Pivot Sensor Broken
| style="width: 521px" | &nbsp;
| style="width: 521px" |  
On = broken, zero pivot based solely on startup position
 
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-4
| style="width: 92px; text-align: center" | B-4
| style="width: 112px" | &nbsp;
| style="width: 112px" | Intake ball counter Broken
| style="width: 521px" | &nbsp;
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-5
| style="width: 92px; text-align: center" | B-5
| style="width: 112px" | &nbsp;
| style="width: 112px" | Storage-shooter transition counter broken
| style="width: 521px" | &nbsp;
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-6
| style="width: 92px; text-align: center" | B-6
| style="width: 112px" | &nbsp;
| style="width: 112px" | Shooter ball counter broken
| style="width: 521px" | &nbsp;
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-7
| style="width: 92px; text-align: center" | B-7
| style="width: 112px" | &nbsp;
| style="width: 112px" | Hanger zero sensor broken
| style="width: 521px" | &nbsp;
| style="width: 521px" | On = broken, don't use the sensor to zero encoder, just use startup position
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
Line 1,267: Line 1,280:
|-
|-
| style="width: 92px; text-align: center" | B-9
| style="width: 92px; text-align: center" | B-9
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
| style="width: 92px; text-align: center" | B-10
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
| style="width: 92px; text-align: center" | B-11
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
| style="width: 92px; text-align: center" | B-12
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|}
|}
</div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div>  
</div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div></div>
 
=== Dashboard ===
=== Dashboard ===



Revision as of 09:28, 9 February 2020

Robot I/O

CAN ID Assignments

ID Subsystem

Component

Type

Model # Brake or Coast? Description
(brief)
Operation

Notes

(8) max. 40A         PDB #

0 Electrical

PD Module

    Power Distribution Module feedback monitor PD

must be CAN 0

 
1 RESERVED n/a     Factory-default
allows for adding new device quickly and re-assign its ID
  don't use  
2 Intake Spark Max Neo 550 Brake

Pivots intake in/out of robot

 

30A

Using integrated encoder

4
3 Intake Spark max Neo 550 Brake

Spins "beater bars"

  20A 5
4 Storage Spark max Neo 550 Brake Agitates balls up the corkscrew     6
5 Storage Spark max Neo 550 Brake Feeds balls into shooter     7
6 Shooter Spark max Neo Coast Spins left shooting motor  

40A

12
7 Shooter Spark max Neo Coast Spins right shooting motor  

40A

Using integrated encoder.

1 might run in follower mode

13
8 Turret Spark max Neo 550 Brake Rotates turret

 

  8
9 WoF Spark max Neo 550 Brake Rotates Wheel of Fortune   20A 9
10 Hang Spark max Neo  Brake Winches robot up  

30A

Using integrated encoder

10
11 Shooter Spark Max Neo  ? Primer wheel      
12                
13                
14                
15                
 
 

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation

 

Brake/Coast

Notes

(8) max. 40A              PDB #   

0 Hang Servo

 

Hs-322HD

Engages/disingages ratchet

 

N/A    
1 Shooter Servo

Hs-785HB

Moves turret hood to increase/decrease shot angle   N/A    
2                
3                
4                
5 Wheel of Fortune Servo   Swing color sensor outside the frame perimeter        

6

 

Drive base

 

Spark Max Neo Left front drive motor Moves left side of robot forwards/backwards Don't know 40A 0

7

 

Drive Base Spark Max Neo  Left rear drive motor   Don't know 40A 1
8 Drive Base Spark Max Neo Right front drive motor Moves right side of robot forwards/backwards Don't know 40A 2

9

 

Drive Base Spark Max Neo Right Rear drive Motor   Don't know 40A 3
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              
1              
2              
3              

More Board Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0              
1              
2              
3              

 

Digital IO (GPIO)

RoboRio IO

ID Direction
(IN/OUT)
Subsystem

Component

Type

Model # Description
(brief)
Operation Notes
0 IN Intake Banner Opto Q10RN6R Senses Incoming Power Cells

1 = Ball not present 

0 = Ball Present

w/Q106E emitter,

sensor open-collector out

1 IN Storage Banner Opto Q10RN6R Senses balls when ready to shoot

1 = Ball not present 

0 = Ball Present

w/Q106E emitter,

sensor open-collector out

2 IN            
3 IN Shooter ??? ??? Senses when a ball is exiting the shooter    
4 IN Drive base  Phase A Left Encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
5 IN Drive base Phase B Left Encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
6 IN Drive base Phase A Right Encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
7 IN Drive base Phase B right encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
8 IN Intake Omron Reflective EE-SPY415 Senses the presence of the intake mechanism to zero the rotation motor encoder

1 = not present

0 = present
(Need to double check this)

 
9 IN Hang U-Shaped Sensor ?? Sense when hanger is all the way retracted 1 = hanger sensed (all the way down), 0 = hanger not sensed  
 
 
 

Rev Robotics More Board IO

ID Direction (IN/OUT) Subsystem Component Type Model # Description (brief) Operation Notes
0 IN            
1 IN            
2 IN            
3 IN            
4 IN            
5 IN            
6 IN            
7 IN            
8 IN            
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
0x52   Wheel of Fortune Color Sensor REV-31-1557 Reads colors of wheel Provides these channels: Red, Green, Blue, Alpha, and Proximity  
               
               
               
               
               
               

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 Modules

PCM

ID

# Subsystem

Solenoid is Double or Single?

Solenoid

Model #

Description

(brief)

Operation Circuit Pressure PDB #
1 0              
1    
2            
3    
4            
5    
6            
7    
2 0              
1    
2            
3    
4            
5    
 
 

Operator Controls

Controller 1 - Primary Driver

 Button/Axis # Action/Button Description Details
A-1 Left Joystick Y    
A-1 Left Joystick X    
A-4 Right Joystick Y    
A-4 Right Joystick X    
B-6 Right Bumper    
B-5 Left Bumper    
A-3 Right Trigger    
A-2 Left Trigger    
B-1 A Button    
B-3 X Button    
B-4 Y Button    
B-2 B Button    

Controller 2 - Aux Driver

Button/Axis # Action/Button Description Details
A-1 Left Trigger Outtake-Just intake mechanism (not helix) Press hold, release to stop
A-2 Right Trigger Runs shooter/helix (warm up) binary action, press hold
A-3? Left Dial Rotates turret Positional rotation
A-4? Right Dial Controls shooter speed

Positional rotation

 

B-1 A Button Moves hang in retract direction  press hold, release to stop
B-2 B button Adjusts hood to wall Press only
B-3 X Button Adjusts hood to initiation line Press only
B-4 Y button Moves hang in extend direction  press hold, release to stop
B-5 Left bumper Run control panel press
B-6 Right bumper Run intake/drive helix up press hold, release to stop
B-7 Back Button Shoots the ball press only
B-8 Start Button Adjusts hood control panel press only
B-9      
POV-90 D-pad up    
POV-270 D-pad down    

Controller 3 - Switches on console

 Button/Axis #  Action/Button  Description Details
B-1 Control Panel Mode

Determines which control panel operation to run

On = rotation

Off = position

 
B-2 Control Panel Sensor Broken

On = broken, run CP manually

Off = Working, do whatever is in button 1

 
B-3 Intake Pivot Sensor Broken

On = broken, zero pivot based solely on startup position

 
B-4 Intake ball counter Broken On = broken, don't use this sensor  
B-5 Storage-shooter transition counter broken On = broken, don't use this sensor  
B-6 Shooter ball counter broken On = broken, don't use this sensor  
B-7 Hanger zero sensor broken On = broken, don't use the sensor to zero encoder, just use startup position  
B-8      
B-9      
 
 
 

Dashboard

Key Data Type Value Description
       
       
       
       
       
thunderdashboard_green number

0 - do NOT have a game piece

1 - have a game piece

Background of dashboard goes green.
       
       
       
       
       
thunderdashboard_max number

0 = show normal

1 = fill screen

fills screen or not
       

IO Maps for Old Robots