Acronyms Galore: Wired for Success

Slides:



Advertisements
Similar presentations
Sensing and Control.
Advertisements

SPI Serial Peripheral Interface. SPI Serial Peripheral Interface is communication between two devices, one bit at a time sequential one bit at time over.
Wiring the new control system MVRT 2010 – 2011 Season.
EUT 1040 Lecture 10: Programmable Logic Controllers.
Bread Boarding and Operating The IFI Robotic Control System.
EET 2261 Unit 13 Controlling Stepper Motors and Servos  Read Almy, Chapter 21.  Lab #13 due next week.  Final Exam next week.
Guitar Effects Processor Critical Design Review October, 07, 2003 Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef.
SENIOR DESIGN 10/16.
Introduction.
Embedded Programming and Robotics Lesson 1 Basic Electricity and Electronics Transistor Basics Lesson 1 -- Basic Electricity1.
Micromouse Meeting #3 Lecture #2 Power Motors Encoders.
2015 FRC Control System = MOL = DUK Power Distribution Board Volts -12 Volts (4) 40 amp Circuits (4) (6) 20/30 amp Circuits (6)
Electrical Workshop Session One 9/22/2014. FIRST Power Distribution Diagram.
Embedded Programming and Robotics
1. A guide to wiring your robot. Jerry Skene Past mentor – Chantilly Robotics
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Ballooning Bundle. What is a Microcontroller? Small computer with a processor core, memory and programmable input/output Continuously repeats software.
4.0 rtos implementation part II
Segway Controller Notes. = connection on top layer of circuit board = connection on bottom layer of circuit board Ground Plane: Areas enclosed by the.
RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.
Mentors Workshop Control System Sub-System Mark McLeod Team 358 Festo/Hauppauge H.S. F For I Inspiration and R Recognition of S Science and T Technology.
The New FTC Platform (Connecting your legacy hardware)
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
Lecture 20: Communications Lecturers: Professor John Devlin Mr Robert Ross.
Bits, Bytes, Words Digital signal. Digital Signals The amplitude of a digital signal varies between a logical “0” and logical “1”. – The information in.
DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Hybrid I/O – Pulses.
Overview What is Arduino? What is it used for? How to get started Demonstration Questions are welcome at any time.
Representing Numerical Data Analog Any signal that varies continuously over time Mechanical Pneumatic Hydraulic Electrical Digital Quantities are represented.
Understanding The 2008 FRC Robot Controller Chris Gregory FRC1089 – Team Mercury
Session 12 Sensors and Timers. 3 Main Types of Robot Projects Command-Based Robot A more complicated project for more complicated robots Iterative Robot.
©2008 R. Gupta, UCSD COSMOS Summer 2008 Peripheral Interfaces Rajesh K. Gupta Computer Science and Engineering University of California, San Diego.
Electrical subsystem Manual vs Automation.
PWM: Pulse Width Modulation © 2014 Project Lead The Way, Inc.Digital Electronics.
Networked Embedded Systems Pengyu Zhang EE107 Spring 2016 Lecture 8 Serial Buses.
MICROCONTROLLER AND INTERFACING Presented by: Shefali Jethva ( ) Shivali Panchal ( ) Komal Soni ( ) Roll no. :- 14EC308.
1 Microcontrollers. 2 Programmers work in the virtual world Machinery works in the physical world Microcontrollers connect the virtual and physical world.
©F.M. Rietti Communication Lines Fundamentals. ©F.M. Rietti LM-18 Computer Science SSI Embedded Systems I 2 Communication Lines Generally used to connect.
FIRST ROBOTICS COMPETETION Introduction to Electrical & Control System Power and Signal Distribution/Interconnection Sensors, Motors, Speed Controllers,
ROBOTC for CORTEX Teacher Training © 2011 Project Lead The Way, Inc. Automation and Robotics VEX.
Components of Mechatronic Systems AUE 425 Week 2 Kerem ALTUN October 3, 2016.
Application Case Study Christmas Lights Controller
The FRC Control System Brought to you by the electrical subteam of FRC Team 2177, the Robettes.
FRC Robot Electronics.
Lecture 10: Programmable Logic Controllers
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Serial Communication Buses: I2C and SPI
Serial Communication Protocols And Embedded IoT
An Arduino Workshop A Microcontroller.
Arduino - Introduction
‘SONAR’ using Arduino & ultrasonic distance sensor
BJ Furman ME 106 Fundamentals of Mechatronics 15NOV2012
EEPROM Comparison – Parallel or Serial
Pulse Width Modulation (PWM)
Trainings 10/28 Woooooo!!.
PLC’s Are ... Similar to a Microcontroller: Microprocessor Based
EET 2261 Unit 12 Controlling Stepper Motors and Servos
Sensors and actuators Sensors Resistive sensors
In the land of the blind, the one eyed man is king
Manual Robotics ..
Controller interfaces
Testing 1, 2, 3, testing, testing…
UNIT 11: RC-SERVOMOTOR CONTROL
Introduction to Arduino
1.2.1 Data transmission.
EUT 1040 Lecture 10: Programmable Logic Controllers Unrestricted.
Introduction to arduino
Automotive Technology Principles, Diagnosis, and Service
I/O Experiments Assignment 1.
Presentation transcript:

Acronyms Galore: Wired for Success Advanced FRC Robot Wiring

Agenda – Advanced FRC Robot Wiring AIO / DIO PWM Serial / I2C / SPI CAN TCP/IP ARGHHH

Analog & Digital Inputs / Outputs Analog inputs vary over a set input range, and are interpreted by the RoboRio over that range Digital inputs may vary slightly over the input range, but are interpreted only as ‘on’ or ‘off’ (or 1 or 0, High or Low, True or False, etc.)

AIOs and DIOs The RoboRio has some easily accessible DIO / AIO pins (along the edge), and some less easily accessible ones (in the MXP connector) Software controls whether the pin is an ‘input’ (reads voltage on the pin) or an ‘output’ (drives or sets the voltage on the pin)

Limit Switches: Digital IO Examples of AIO/DIO Limit Switches: Digital IO Potentiometer ‘absolute’ shaft encoders: Analog IO Ultrasonic SRF04s: Digital IO Spikes: Digital IO

This is where ‘protocols’ come in! Sometimes you need to convey more than just ‘on and off’ or a ‘analog’ value This is where ‘protocols’ come in! English is a protocol for modulating sound waves to convey meaning Similarly, everything we are about to talk about is a protocol to convey information via electrical signals

Pulse Width Modulation One of the simpler protocols: The duration of the ‘on’ cycle vs the duration of the ‘off’ cycle conveys the information For servos and motor controllers in FRC, this cycle repeats at a known frequency with a known minimum and maximum pulse width

Examples of PWM LED Dimming: (Brightness = On duration / Off duration * max led brightness) Servo signals PWM Motor controllers

Many flavors of Serial communication RS-232: Single Ended, Point to Point RS-422: Differential Signaling, Point to Point RS-485: Differential Signaling, Multipoint Bottom Line: Unless you have a really good reason to use it, don’t

Two signals: (Aka a “two wire” serial bus) I2C Inter-Integrated Circuit (I2C) is a multi- master, multi-slave […] serial bus for ‘low speed’ communication Used a lot for sensors Two signals: (Aka a “two wire” serial bus) Serial Clock (SCL) Serial Data (SDA)

Used a lot for sensors, and memory SPI Serial Peripheral Interface (SPI) is a single master, multiple slave serial bus for ‘mid speed’ communication Used a lot for sensors, and memory (At least) four signals: (aka a “four wire” serial protocol) Serial Clock (SCLK) Master Out, Slave In (MOSI) Master In, Slave Out (MISO) Slave Select

Microcontrollers (e.g., Arduinos!) “Smart” batteries Examples of I2C / SPI (Some) LIDARs: I2C SD Cards: SPI Microcontrollers (e.g., Arduinos!) “Smart” batteries

CAN Controller Area Network (CAN) is a microprocessor oriented message based protocol originating in vehicles Two signals: CAN-H (CAN High) CAN-L (CAN Low)

RoboRio, PCM, PDP all communicate via CAN Examples of CAN RoboRio, PCM, PDP all communicate via CAN Talon SRXs and SD540Cs are CAN based motor controllers Kauai VMX-Pi, CTR-E Hero, and certain microcontrollers

TCP / IP Transmission Control Protocol (TCP) and the Internet Protocol (IP) are a suite of standards that underly modern computer networking Simply put, they do a *lot* of magic in making sure that the data you wanted sent from point A to point B gets there in good shape

The Internet (well, most of it…) Examples of TCP / IP The Internet (well, most of it…) How you hook your Robot and Driver Station to the FRC Field Management System (with some exceptions…) Usually how you communicate with co-processors

We just wired our robot, and something isn’t working! What do we do?! AARGH! We just wired our robot, and something isn’t working! What do we do?! Troubleshooting to the rescue! Troubleshooting is a Team sport Don’t be so sure it’s someone else’s fault!

Troubleshooting Steps If any component lets out the magic smoke, that is your first clue… After you (immediately) turn the robot off, don’t replace the faulty part until you figure out *why* the magic smoke came out Double and Triple check for reverse polarity wiring, too high a voltage, shorts, metal shavings, and other reasons that electricity could go where it should not

Troubleshooting steps Check your basic wiring Are there loose crimps? Wires coming out of their housings? Did pin 3 plug into pin 2 by accident? Did you tug test every wire and every connector? Especially if something is intermittent, check: That crimps did not break the copper of the wire That the wire is conductive despite how its bent Are the battery terminals loose?

Check your basic code Check code: Did you open and close communication protocol sessions appropriately? Are they configured for the right ports, pins, speeds, polarities? Are you transmitting and receiving the right amount of data? Are you timing out somewhere in your code? Did you read the manual to make sure you know what functions you are calling?

Make sure to note observations: Check Robot Condition Make sure to note observations: Does the battery need charging? (if the robot is disabled, the battery should read >~12V) Does the ‘wacky thing’ only happen when you turn right, lower the lift or activate the shooter? If so, make sure you don’t have a code or mechanical issue!

If the previous ‘basic’ steps did not help, breakout the tools! Investigative Tools If the previous ‘basic’ steps did not help, breakout the tools! Multimeters are every team’s friend! For advanced wackiness, you might need to break out advanced tools, like logic analyzers, oscilloscopes, network sniffers, etc.