From 1511Wiki
Jump to: navigation, search


Overall Concept

2019controls2.jpeg controlsassembly2019.jpeg

Controls drawing overall.jpeg   Controls drawing side.jpeg

  • Apollo mission control look. See https://imgur.com/gallery/HIAW6. Concepts sketched out in the Controls notebook.
    • A rotary phone dial needs to be included.
    • Could include a dial counter for match time remainng, similar to https://www.indiamart.com/proddetail/electrical-counter-3385933755.html
    • Need the silver handles on each side of the laptop display.
    • Status lights and broken switches in "matrix".
    • Need to also include the panel thumbscrews.
    • Control box will not fold. Laptop remains open at all times, screen will be 'covered'.
    • Laptop on left.
    • Secondary controls on 'bottom' right.
    • Broken switches and bling on 'top' right (all are latching and illuminated)
    • Power, ether and extra USB on left side.
    • 'Door' on left side to store Xbox controller. Controller will always be plugged in.
    • Handle on top for carrying; or can carry by holding from bottom
  • May need to include some additonal stuff for camera display during the sandstorm.
  • XBox controller for the primary driver
  • Secondary driver controls (all buttons are momentary, all non-cargo are illuminated):
    • Elevator presets:
      • 3 hatch for rocket
      • 3 cargo for rocket
      • 1 cargo for cargo ship
      • 1 cargo for driver station
    • Arcade style joystick for manual override of elevator presets
    • 2 buttons for cargo intake & outtake (programming will automatically bring arms in)
    • 2 buttons for hatch retain/release (programming will automatically bring arms out)
    • 2 buttons for hab front/rear [this might be on primary driver's controller]
  • Design:
    • space buttons 1cm apart; 2cm from left and right edges
    • Try to make USB for Xbox controller accessible for post season use

To do

Not Started

  • Misc
    • laptop sits a little low [will leave it this way for now]

In Process



  • Misc
    • laptop support - back is heavy do to battery; make an angled bracket to hold more securely
    • hole (on right side of laptop support, near upper back, for cables to be put through
    • move USB to the right side of laptop
    • last broken switch is momentary; need to change it to a latching [don't worry about the which color, we can swap the caps]
    • power plug is loose
    • better tape to keep laptop lid latch 'open'
    • cable dress (last thing after all the rest is done)
    • How to retain Xbox in the controls
    • need USB extender cable for PSoC [Eric is seeing if if he can get one from work]
    • TBD: paint exposed screws?
    • TBD: attach upper door sweep better?
  • Perf board
    • test wiring [LEDs and phone connections now working]
    • need to figure out how we are hoking up the bling buttons [this can be worked on with Eric]
  • Bling lights:
  • Assembly
    • attach top handle
    • attach perf board
    • attach Bling lights
    • labels for broken switches
    • labels for bling buttons
    • drill tappered/counter sink for 16 holes on face plate (where they mount to the outer case and sides
    • drill tappered/counter sink for 4 holes on back of outer case (where it mounts to the sides)
    • file hole for power plug (it is not tall enough)
    • paint outer case, sides, face plate (TBD assmble then paint so screws are painted?; color of inside?)
    • paint Aux, bling and laptop panels
    • attach handles to laptop cover
    • attach buttons and dial
    • add USB hub - near XBOX controller area [needs to be adjusted once cables are run better]
  • Bling lights:
    • 5 horizontal strips, 5 LEDs each: reactangular 'light boxes' 16mm x 10mm; 2mm box thickness
    • how to mount strips to back of panel
    • 3D print 'grid' to separate each LED into its own 'compartment'
    • clear lexan to cover 'grid'
    • hot glue LEDs to back of light boxes
    • wire strips
    • wording for each LED [first pass completed]
    • fix wires (broke after hot gluing) [good enough for now. isssue is they act a little flaky after being all on for a while. maybe wire up a new set with Eric; maybe]
  • Wire PSoC on perf board
    • dial:
      • white (pick one) to Ground
      • white (other one, duh) to PSoC pin 0.1
      • green to Ground
      • blue to PSoC pin 4.2
  • How to keep latop screen against panel
    • an L bracket velcro'd to underneath side of outer case top
  • determine layout of broken & blings buttons
    • be sure to use latching for all broken
    • be sure to separate out the ones for Aux first
    • use a couple lacthing for bling buttons; but mostly momentary
    • which color where
  • Color scheme
    • outer case: sea foam green/blue [we now have this paint]
    • face plate: sea foam green/blue [we now have this paint]
    • Panels: beige [we now have this paint]
  • Find:
    • perf board for USBs & PSoC [Eric getting this]
    • stand offs for perf board
    • 20 - #6 tappered screws (to attach sides and face frame to outer case)
    • 12 - #8 nuts for perf board, sides, and laptop support 
  • Create
    • USB cable - attach wires to the 'plug'
    • Ether net cable - attach writes to the 'plug'
    • Power cable - attach a 'power cord' to the 'plug'
  • Create wiring diagram so button lights automatucally light up when the button is pressed/latched
  • Misc
    • confirm overall depth is still 13.5 in
    • re-check laptop lid, that it clears face plate if they want to close the laptop
  • Outer case CAD:
    • PEM studs (to accept a nut, FH-832-8ZI, hole size .163 in) for USB boards and PSoC - We created a 5"x6" board on the back vertical surface and added four holes in the model.
    • PEM studs (to accept a nut, FH-832-8ZI, hole size .163 in) for laptop support
    • PEM studs for the side's bottom flange to slip over (to accept a nut, FH-832-8ZI, hole size .163 in, min distance hole center to edge 0.281 in)
      • 2 per side
      • do not interfere with plugs on right side
    • PEM nut for face plate frame (to accept a tappered head screw, F-632-1, hole size 0.213 in, min distance hole center to edge 0.27 in)
      • along top & bottom flanges (3 or 4 per flange) 
      • under area where panels will go, so panel conceal screws
    • through holes for sides (use tappered head screws, hole size for #6 screw 0.15 in)
      • 4 on the back (2 for each side)
    • holes (size TBD) for handle, on top
    • vent holes (not under handle) to let heat escape through top
  • Left Side CAD:
    • size to align with outer case
    • 'bevel' needs to align well with size of laptop (laptop size: Laptop 0 and the ones we got last year)
    • add flanges, so flanges go 'inside' the outer case
    • bottom flange: clearance hole for PEM studs (hole size of #8 bolt 0.170 in)
    • back flange: 2 PEM nuts (to accept a tappered head screw, F-632-1, hole size 0.213 in, min distance hole center to edge 0.27 in)
    • face plate flanges: 4 (2 per) PEM nuts (to accept a tappered head screw, F-632-1, hole size 0.213 in, min distance hole center to edge 0.27 in)
    • add USB, power and ethernet cut out (should be able to copy from last year's CAD, make it so these can be 'moved' around by adjusting distance from back and bottom edges)
    • add cut out for XBox controller
    • vent holes to let heat escape (where laptop vents)
    • verify Xbox controller hole does not overlap with laptop
  • Right Side CAD:
    • add flanges, so flanges go 'inside' the outer case
    • bottom flange: clearance hole for PEM studs (hole size of #8 bolt 0.170 in)
    • back flange: 2 PEM nuts (to accept a tappered head screw, F-632-1, hole size 0.213 in, min distance hole center to edge 0.27 in)
    • face plate flanges: 4 (2 per) PEM nuts (to accept a tappered head screw, F-632-1, hole size 0.213 in, min distance hole center to edge 0.27 in)
  • Face plate CAD:
    • size to match outer case
    • bend to match sides for laptop
    • need retangular cut outs for:
      • laptop top (needs to be able to have a panel attached to it, that has a 'window', so it will protect the laptop screen)
      • laptop bottom (will not have a panel covering it, so opening will be larger)
      • broken/bling panel (so buttons/etc. connections have room)
      • aux driver panel (so buttons/joystick connections have room)
    • PEM nuts for Aux panel (to accept a thumbscrew, F-632-1, hole size 0.213 in, min distance hole center to edge 0.27 in)
      • 1 or 2 per side of Aux panel
    • PEM nuts for Bling panel (to accept a thumbscrew, F-632-1, hole size 0.213 in, min distance hole center to edge 0.27 in)
      • 1 or 2 per side of panel
    • holes to mount to sides and outer case (hole size for #6 screw 0.15 in)
    • Add holes for handles on either side of the laptop screen (in line with laptop screen cover; just in case we mount handle directly to face plate). 
  • Aux driver panel CAD:
    • size to fit all buttons as layed out on full scale drawing
    • buttons are 2cm from all edges (the part on top, as seen by user)
    • buttons are 1cm apart (the part on top, as seen by user)
    • use above spacing to find center point for all cut outs
    • use datasheets to determine size of cutouts (centered around the points determine in above step)
    • holes for thumbscrews, to attach panel to nuts on face plate (hole size for #6 screw 0.15 in) 
  • Broken/blind panel CAD:
    • broken: 1 row of rectangle buttons; they fit right next to each other
    • bling: a double row of rectangle buttons (fit next to, and top of, each other); space 2cm below broken
    • holes for PEM post, where thumbscrews go, hole size for #6 screw 0.1495 in
    • rectuangular cutout for 'status' backlit status words
      • TBD: piece of lexan that attaches with thumbscrews (if so need pressed in nuts on panel)
      • TBD: piece of lexan with thumbscrew threads cutoff and glued on, then velcro lexan to panel
    • holes for thumbscrews, to attach panel to nuts on face plate (hole size for #6 screw 0.15 in) 
    • TBD: count down - no room
    • TBD: phone dial - we added a 3" circle towards the top to allocate space, need to determine the actual size and specific cutout
  • laptop support CAD:
    • angled top so laptop's keyboard is aligned with outer case
    • make big enough to hold Xbox controller
    • have 'end cap' on inner side to keep Xbox controller from touching internal boards
    • holes for PEM studs (hole size of #8 bolt 0.170 in)
    • consider thickness of velcro between laptop support and laptop
    • for the overall width, have it fit within the frame opening (so we can put it in after the outer case and frame are screwed together)
    • Laptop2019.jpgRed - laptop support; Blue - existing PEMs in outer case; Pink - laptop
  • laptop screen panel CAD:
    • holes for handles, size TBD
    • holes for PEM post, where thumbscrews go, hole size for #6 screw 0.15 in; if used, will be attached with velcro
    • opening for laptop screen (plastic/lexan behind opening; make sure laptop screen fits behind it)
  • Find internal locations for:
    • main driver XBox control
    • USB hub
    • laptop power supply
    • laptop support
    • USB board for broken switches - on main perf board
    • USB board for Aux - on main perf board
    • PSoC perf board for bling - on main perf board
  • create model of the controls laptop. Need to have a model of the laptop partially open.
  • Get/create models for joystick.
  • Not going with clamshell design
  • Picked: buttons, joystick, thumbscrews, handle

Completed - Changes Required for Current Assemblies

  • CR Base
    • Needs to be rebent at correct angles - Model Shop making a new part
    • Need nuts on the rim - NEED TO UPDATE DRAWING TO SHOW THIS
    • Need to make sure nuts are installed, 12 on the inside (back and bottom) and 8 on the rims
  • CR Side Left
    • Needs nuts installed - NEED TO UPDATE DRAWING TO SHOW THIS
  • CR Side Right
    • Was bent the wrong direction - Model Shop making a new part
    • Make sure nuts are installed - six places, four in the front and two along the back (the bottom holes do not get nuts)
    • Need to enlarge the AC outlet hole, will do this manually
  • CR Face Plate
    • Need to be rebent the correct way - Model shop making a new part
    • Need nuts installed, eight in the holes on the right side
  • CR Computer screen panel
    • This one is ok
  • CR Aux Panel
    • Fix joystick holes - NEED TO UPDATE DRAWING TO SHOW THIS
  • Bling Panel
    • Need to do new cutout for the phone dial, will do this in the shop

Useful Links

PSoC Install (for lights)

PSoC Creator IDE

Download latest "PSoC Creator" from Cypress (http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide) and install it (use Typical install; at end run Updater and maek sure you have the latest stuff)

For user name and password, you can use: mailme@mailinator.com mailme123

Toolkits and Board Driver Install

Get controls2019 from SVN

Run: vcredist_x86.exe

Run: USBSerialSDKSetup.exe (do Typical install; at end run Updater and maek sure you have the latest stuff)

Run: CY8CKIT04942xxSetupOnlyPackage_revSA.exe (do Typical install; at end run Updater and make sure you have the latest stuff)

While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC (it will take a while for it to install 5 drivers).


Open PSoC Creator (Start -> Programs -> Cypress -> PSoC Creator -> PSoC Creator)

Open project: File -> Open -> Project/Workspace; then browse to Desktop/FRC2019/trunk/controls2019/SCB_Bootloader/SCB_Bootloader.cywrk)

Build project: Build -> Build All Projects

While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC

Download Boot Loader:

  • open programmer: Tools -> Bootloader Host
  • set 'File' to C:\Users\Robotics\Desktop\FRC2019\trunk\controls2019\SCB_Bootloader\Bootloadable Blinking LED.cydsn\CortexM0\ARM_GCC_541\Debug\Bootloadable Blinking LED.cyacd
  • select the com port for the cypress board
  • set Baud to 115200; Data Bits 8; Stop Bits 1; Parity None
  • download program: Actions -> Program

Meeting Minutes


Attendees: Eric, Mark

Work Completed: Setup Wiki, preliminary research into the control design.


Attendees: Eric, Devon, Adrian, Jadon 

Work Completed: Initial concept picked, cleaned up the shop controls stuff and put it in the storage cabinet. Setup Slack channel for controls.


Attendees: Adrian, Devon, Jadon, Cameron

Work Completed: made a joystick CAD model, found laptop model from last year and got dimensions of the slightly bigger newer laptops that we could potentially use, used math to find that the joystick can fit in a clamshell case if it starts pushed all the way forward (not in the nuetral position), worked on the design


Attendees: Eric, Jadon, Adrian, Tanner, Devon

Work Completed:

  • Decided on concept (apollo era mission controls station) 
  • Found and added parts to shopping list
  • Started full scale layout


Attendees: Byers, Tanner, Eric

Work Completed: 

  • Got datasheets for buttons, handle, joystick
  • Met with potential Aux drive team members to finalize buttons/joystick needs
  • Added more items to shopping list
  • Continued work on full scale layout


Attendees: Adrian, Aidan, Devon, Jadon, Tanner, Eric 

Work Completed: Edited original concept for the control board by replacing the computer for a bigger one that was needed. Control board is official codenamed the “Cash Register” (or CR). A CAD design was started for the base of the CR along with a to scale model of the computer we will be using. Only the Bottom, front and back of the base is “finished”. The sides may be a seperate piece for easier assembly and the Front Plate is in prototype. CADed the USB HUB, made sure datasheets were pulled into this year's folder. Started to gather some of the parts and put them into the new tackle box.


Attendees: Byers, Adrian, Jadon, Devon

Work Completed: Some rectangle buttons came in (woohoo). Worked on CAD for the outer shell, the front frame, and a panel. Jadon and Adrian planning on figuring out best angle for the inner bend of the control tomorrow (1/17), CAD is supposed to be complete by the end of this weekend according to the schedule on the announcements. Also began CAD for the rectangle buttons 


Attendees: Adrian, Jadon, Cameron, Tanner

Work Completed: We believe we got a good angle for the bend; worked on CAD for the assembly, drivers panel, and rectangular buttons; began to assign part numbers per request of Roseanne


Attendees: Byers, Eric, Adrian, Jadon, Devon

Work Completed: Finally Cut the holes for the X box controller, usb, Power and aether net cables in the side pieces 



Work Completed: CAD, CAD, CAD


Attendees: Eric, Adrian, Jadon, Devon, Tanner

Work Completed: Continued to add detail to the parts. Worked specifically on the "bling" panel, main box, and frame.


Attendees: Adrian, Byers, Jadon, Tanner, Cam, Devon

Work Completed: Worked on CAD for pem stud holes, bling panel + rotary dial cut out, assembly/making sure everything fits and deciding final panel sizes


Attendees: Adrian, Jadon, Eric, Tanner, 

Work Completed: Had to fix the main frame of the cash register


Attendees: Byers, Eric, Adrian, Jadon, Cameron

Work Completed: 

Fixed constraints for assembly; Added button mapping to iomap wiki page; updated dial to not use plastic part from phone (to be more authentic), re-did cuts; update width of laptop opening; changed plan for attaching frame to base (use only PEM nuts and tappered screws)


Attendees: Byers, Jadon, Devon, Tristan, Tanner

Work Completed: 

Re-sized height of top portion, so laptop lid can be closed. Removed 'cross bar' so laptop can be closed (so we didn't have to cut it later).

Completed all CAD, except laptop tray.

Drawings completed and sent to Harris


Attendees: Eric, Adrian, Jadon, Devon, Tanner

Work Completed: Took apart the "new" phone and extracted the dial. Updated the drawings that had issues going into Harris.


Attendees: CANCELLED

Work Completed:


Attendees: CANCELLED

Work Completed: 


Attendees: Jadon, Tanner

Work Completed: Updated Wiki, added PEM stud holes to computer stand and started an x box controller plate to prevent the controller from hitting anything


Attendees: Jadon, Tristan, Adrian (x2), Byers, Eric, Devon, Tanner

Work Completed: Got parts from Harris and test fitted wha we could. Joystick holes need to be changed; updated CAD and drawings. Power plug too small, but we will manually correct the part when the updated one comes in. Buttons and thumbscrews fit ok. Decided to change to 'newer' phone dial, updated panel in our shop and got the dial tested fitted (this is complete). Some more work done on the laptop support. Determined LED grid will be 5 x 5; started CAD for 'light boxes'. Preliminary work on wiring for button's lights. Drawings updated to get PEMs put in place; Eric will work with Harris Model Shop on Monday. Programming re-defined the buttons, there is a sheet in our notebook with the new mapping.


Attendees: Tristan, Byers

Work Completed: Finished laptop support and sent to Harris. Added wiring to phone dial.


Attendees: Jadon, Adrian, Cameron

Work Completed: Cut and drilled perf board for the PSOC boards and wiring. Made the USB and Ethernet cables.


Attendees: Adrian, Jadon, Cameron, Byers

Work Completed: Worked on the board and making sure we have enough room for everything going on it, decided on colors and lock/momentary buttons, finished the "light boxes" for the bling panel (just the thickness of how far it sticks out should be confirmed, its .1 in but not sure if thats too small or too large)


Attendees: Jadon, Cameron 

Work Completed: counter sunk holes on CR


Attendees: Jadon

work completed: started paintng the CR. Only got through one can because the other one leaked


Attendees: Jadon, Adrian, Tristan, Cameron, Byers, Eric, Devon

Work Completed: light box CAD finished and scheduled to be printed; create lexan panel for bling LEDs; completed painting; assembled outer case; lots of wiring; attached buttons; determined mounting for LED bling


Attendees: Byers, Eric, Cameron, Jeff

Work Completed: Completed 5V wires; added label for dial; added moutning holes for perf board components; light boxes 3D printed; put labels on all AUX buttons; finished countersink and threadlock all screws; attached USB/ether/power; temporarily wired internal USB and power; velcro for: laptop, laptop cover, power; connected AUX and broken buttons and tested; 'delivered' controls for programmer use


Attendees: Jadon, Cameron, Devon

Work Completed: 


Attendees: cancelled due to weather

Work Completed: 


Attendees: Adrian, Jadon, Tanner, Cameron, Seth Walker, Byers, Eric

Work Completed: Cable management, got the laptop in a more sturdy/not wobly position and looks nicer, swapped broken button PSoC wiring



Work Completed: 



Work Completed: 


Attendees: Jadon, Tristan, Cameron, Byers, Eric, Ishan

Work Completed: finished wiring perf board; attached perfo board; ran USB extender for PSoC; wired bling buttons; attached LED panel and then re-did LED panel; put on borken and bling button labels. attach door sweep


Attendees: Byers 

Work Completed: fixed bling button labels 


Attendees: Byers, Jadon

Work Completed: painted screws; replaced upper door sweep; added lexan to protect internal wires so programmers can store cables behind laptop

Controls Rules


R95. The DRIVER Station software provided on the National Instruments website is the only application permitted to specify and communicate the operating mode (i.e. Autonomous/Teleoperated) and operating state (Enable/Disable) to the ROBOT. The DRIVER Station software must be revision 19.0 or newer. Teams are permitted to use a portable computing device of their choice (laptop computer, tablet, etc.) to host the DRIVER Station software while participating in competition MATCHES.

R96. The OPERATOR CONSOLE, the set of COMPONENTS and MECHANISMS used by the DRIVERS and/or HUMAN PLAYER to relay commands to the ROBOT, must include a graphic display to present the DRIVER Station diagnostic information. It must be positioned within the OPERATOR CONSOLE so that the screen display can be clearly seen during Inspection and in a MATCH.

R97. Devices hosting the DRIVER Station software must only interface with the Field Management System (FMS) via the Ethernet cable provided at the PLAYER STATION (e.g. not through a switch). Teams may connect the FMS Ethernet cable to their DRIVER Station device directly via an Ethernet pigtail, or with a single-port Ethernet converter (e.g. docking station, USB-Ethernet converter, Thunderbolt-Ethernet converter, etc.). The Ethernet port on the OPERATOR CONSOLE must be easily and quickly accessible. Teams are strongly encouraged to use pigtails on the Ethernet port used to connect to the FMS. Such pigtails will reduce wear and tear on the device’s port and, with proper strain relief employed, will protect the port from accidental damage.

R98. The OPERATOR CONSOLE must not

A. be longer than 60 in. (~152 cm)

B. be deeper than 14 in. (~35 cm) (excluding any items that are held or worn by the DRIVERS during the MATCH)

C.Extend more than 6 ft. 6 in. (~198 cm) above the floor

D. attach to the FIELD (except as permitted by G19)

There is a 54 in. (~137 cm) long by 2 in. (nominal) wide strip of hook-and-loop tape (“loop” side) along the center of the PLAYER STATION support shelf that should be used to secure the OPERATOR CONSOLE to the shelf, per G15. See the PLAYER STATION section for details. Please note that while there is no hard weight limit, OPERATOR CONSOLES that weigh more than 30 lbs. (~13 kg.) will invite extra scrutiny as they are likely to present unsafe circumstances.

R99. Other than the system provided by the FIELD, no other form of wireless communications shall be used to communicate to, from, or within the OPERATOR CONSOLE. Examples of prohibited wireless systems include, but are not limited to, active wireless network cards and Bluetooth devices. For the case of the FIRST Robotics Competition, a motion sensing input device (e.g. Microsoft Kinect) is not considered wireless communication and is allowed.

R100.OPERATOR CONSOLES shall not be made using hazardous materials, be unsafe, cause an unsafe condition, or interfere with other DRIVE TEAMS or the operation of other ROBOTS.

</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>