2015 Beta Control System Brunswick Eruption November 8, 2014 Mark McLeod FRC team 358 team358.org 358 Agenda Layout New Components Old vs New Networking Programming Support Tools Hands on (try Weidmuller connectors) Presentation is located at: http://team358.org/files/workshops/ 358 Parts is Parts roboRIO w/ MyRIO Expansion Port (MXP) Pneumatics Control Module (PCM) Power Distribution Panel (PDP) Voltage Regulator Module (VRM) Victor SP Talon SRX 358 New vs Old Overall 1/3 smaller footprint, 1/2 vertical clearance roboRIO – Old: cRIO/modules/Digital Sidecar(DSC)/Analog Breakout PCM – Old: Solenoid Breakout & DSC Compressor relay/pressure DIO PDP – Old: Power Distribution Board (PDB) VRM – Old: PDB 12v output + 12v/5v converter – Old: 5v power for camera Victor SP – Old: Victor 888/Talon SR/Jaguar(PWM) Talon SRX – Old: Jaguar (CAN) Layout 358 358 roboRIO PWM (10) + up to (10) on MXP DIO (10) + up to (16) on MXP (4) Relay Analog Input (4) + (4) on MXP (2) Analog Output on MXP Communications – – – – – – – Power pins for 6v(2.2a), 5v(1a), 3.3v(1.5a) – (2) SPI ports 1x4 & 1x1 (2) I2C ports UART (1) RS-232 + (1) TTL (2) USB host ports (1) USB device port (1) Ethernet (1) CAN Note 6v measures low if not loaded DIO/I2C/SPI are 3.3v but handle 5v Short circuit protection Specs: https://decibel.ni.com/content/servlet/JiveServlet/download/30419-56-79765/roboRIO+Overview.pdf 358 PDP Direct replacement of old PDB Minuses: (4) fewer 20/30a Wago connections No warning LEDs for blown or missing breakers Pluses: Per channel current monitoring (25ms update rate) Per channel short circuit sticky fault Input battery under voltage sticky fault CAN communications Other Notes: Battery power lugs must fit within protective cover (.44” wide) Special roboRIO/PCM/VRM outputs aren’t special. If more PCM/VRM devices are needed just use regular wago power. 358 PCM Replaces old Solenoid Breakout, Compressor Relay, Pressure Switch DIO Automatic control of compressor operation- no direct user code involvement Supports either 12v or 24v solenoids, pick one The 24v for solenoids is guaranteed. The 12v just follows battery voltage. (8) solenoid outputs - that’s (8) single or (4) double or a mixture Additional PCMs can be powered directly from a PDP Wago connection CAN communication Smart monitoring for faults – – – – – Compressor/solenoid over voltage or short circuit Compressor current Solenoid on/off Solenoid jumper setting 12v or 24v 25ms update rate No Relay Spike for the compressor Short circuit protection 358 VRM Replaces 12v protected supply from the old PDB and the 12v/5v converter Good down to 3.5v (long after everything else blacks out) Short circuit protection 12v rail and 5v rail are separate, but each rail’s outputs are joint – – – – All outputs on a rail share the same overall constraints 1.5a total continuous current across all rail outputs 500ma current limited outputs piggy-back off the 2a Max outputs 2a Max momentary current matches the combined peak for a Dlink & AXIS camera (725ma+1.3a=2.025a). Normal continuous current draw for these two is about 500ma Additional VRMs can be powered directly from PDP Wago outputs 358 Victor SP/Talon SRX Victor SP – – – – – – – PWM only Sealed enclosure 60a continuous/100a surge Much smaller footprint (2.5" x 1.125" x 0.875"tall) Much lighter weight (.2 lbs) LED indicators blink proportionately to output speed and in various colors (yellow blink=Disabled, green=forward, red=backwards) $60 Talon SRX – – – CAN or PWM Slightly larger $80 358 Networking PC talks to roboRIO over USB or Ethernet connection DLink Rev B still being used CAN for roboRIO/PCM/PDP/speed controller communications – CAN IDs are by device type, so the default is PDP id=0 and also PCM id=0 – 17 devices (15 Jags using %v+PCM+PDP) takes up 20% of bus bandwidth Multicast Domain Name System (mDNS) – E.g., roboRIO-358.local Static IP vs DHCP – Static 10.TE.AM.1 for robot DLink/default gateway – .2-.19 set aside for the user to assign, e.g., IP cameras, secondary processors – .20-.199 assigned via DHCP (Field Router or DLink at home) roboRIO Driver Station Development laptops The NI FRC Update installs a mDNS resolver, Mac OS and iTunes come with Bonjour. Linux distros have it or can install avahi, zeroconf, or mdns. 358 Considerations/Differences Self-protect Brownout Cutoff @ 7v – – – – – – PWM connection Security, snug but potential for rattling loose Metal frag & pinout cups Weimuller connections – – (4) 4x dedicated encoders (8) 1x/2x Counters Dual purpose MXP pins – Wire whiskers bunch up Wire size 16-18 (smaller gauge is easier to insert) USB thumb drives work on roboRIO (mount as U & V on root directory) Encoders: currently up to 12 quadrature encoders are supported – – @7v PWM output is cut @6.5v the 6v rail shuts down @6.2v the 3.3v rail shuts down @5v PDP looses CAN @3.8v roboRIO reboots @3.4v VRM drops out Any Digital Output pins shareable with PWM will be Disabled with the robot Windows 7/8 to run Driver Station & if using LabVIEW environment 358 Programming Mostly the same programming API’s as last year for all three languages Some function name changes roboRIO will automatically run whichever language program was loaded last New – Power API’s – Indexing starts at 0 rather than 1 – – Joysticks, PWM, DIO, Analog I/O, Relay Compressor no longer under user code control other than stop/start Built-in 3-axis accelerometer w/selectable sensitivity of +/-2,4,or 8g Missing – – – Battery voltage, PDP current monitoring, Over current/short circuit faults PCM & PDP, Sticky faults Cypress board support by the Driver Station discontinued Driver Station user message display Kinect support on Driver Station Backward compatibility for LabVIEW w/ 4-slot cRIO only Windows, Linux, OSX for Java, C++ development Eclipse for Java & C++ JRE 8 SE Embedded (standard Java release) 358 Joystick Handling POV as degrees Indexing from 0 Some Relocation of Controls Plans are for Rumble 358 LabVIEW Minor Palette Rearrangement Joystick functions revised – – Modified Behavior – – Legacy vi’s, e.g., Joystick Get, will partially work - removed from palette Joystick Get Values replacement uses a generalized indexing scheme Compressor Open not required, a Solenoid Open will activate the compressor Index from 0, e.g., USB 0, Button 0, Axis 0, PWM 0 Power palette – roboRIO – PCM – Compressor current Compressor & Solenoid see & clear faults Input voltage Solenoid voltage PDP – Input voltage, current, brownout 3.3v/5v/6v rail faults 6v rail voltage & current Disable 3.3v/5v/6v rails Battery input voltage (16) Wago channel currents PDP Energy & Power usage Outputs Enabled (DS Disabled, comms loss, overvoltage or brownout Disables) Potentiometer & Limit Switch palettes Read User Button Support Apps, Tools, & Utilities No automatic shortcuts on desktop or Start menu (user has to add if wanted) Driver Station Dashboards WebDASH roboRIO Imaging Tool 2015 Setup AXIS Camera Tool Bridge Configuration Utility BCD Comm (new Jaguar firmware) 3rd Party Tools – – PuTTY for ssh ftp LV cRIO Backward Compatibility – – cRIO Imaging Tool 2015 Net Console for cRIO 358 358 Driver Station 358 WebDASH View and Modify roboRIO settings – – – – – – Versions Update firmware Force Safe Mode Disable RT Startup App System Resources Available/Used Set Static/DHCP IP CAN Bus Devices – – Set CAN Ids for PCM, PDP, speed controllers See PDP & PCM monitoring/clear sticky faults 358 Links NI Specs – https://decibel.ni.com/content/docs/DOC-30419 Team 358 Beta – http://team358.org/files/programming/ControlSystem20152019/BetaResults.php – http://team358.org/files/programming/ControlSystem2015-2019 Other Beta Teams – Team 11: https://www.facebook.com/FRCBetaTest – Team 1718: http://www.fightingpi.org/Resources/Controls/Beta/2015.shtml ChiefDelphi Community: – http://www.chiefdelphi.com/forums/showthread.php?threadid=130303