Difference between revisions of "RoboCup: Redesign 2014-2015"
| Line 301: | Line 301: | ||
==== To Do ==== | ==== To Do ==== | ||
| − | *Create breakout board for MCP23017 and place on GitHub repo (robocup-pcb) | + | *Create breakout board for [http://www.microchip.com/wwwproducts/Devices.aspx?product=MCP23017 MCP23017 ]and place on GitHub repo (robocup-pcb) |
**<span style="line-height: 20.7999992370605px;">Update EAGLE part libraries too</span> | **<span style="line-height: 20.7999992370605px;">Update EAGLE part libraries too</span> | ||
Revision as of 01:52, 7 December 2014
Contents
Phase I: Techanical Analysis
The first stage of the 2014-2015 RoboCup redesign involves brainstorming potential upgrades by researching new technologies/resources since the last revision. A parallel analysis of current robot bugs and potential enhancements is also done at this time. Outlined below is a listing of resources that the team used in it's brainstorming stage.
Competition 2014 [FINISH UPLOADING IMAGES TO THIS PAGE. MANY ARE MISSING]
Phase II: Design
Controlling Unit
To Do
Completed
- Obtain mbeds for robot use
Layout
To Do
- Determine location and placement for dribbler motor header
- Determine optimal placement direction for drive motor's phase connections (motor board)
- Add connection header for ball sensor to control board
- Add wires among connections in CAD assembly files
- Test motor wire modifications before working on the entire batch of motors
- Determine kicker connections and integration
Completed
- Update hall connection header to right angled one
- Add pin locations to all connection housings in CAD part files
- Update the 14-pin connection header (female) for the control-to-motor board connection
- Finalize method for adjusting motor wire lengths when motors arrive
- Determine placement of battery location
Radio
Current protocol [LINK TO BE CREATED & UPDATED]
To Do
- Determine optimal secondary frequency for base station updates
- Test methods using breakout boards and compare data rates
- Successfully communicate using two (2) nRF24L01+ transceivers and two (2) mbeds
- Research and determine best steps for structuring radio protocol with primary and seconday frequencies
- Research integration options of the CC1111 and nRF24LU1+
Completed
- Successfully communicate using two (2) CC1101 transceivers and two (2) mbeds
- Obtain breakout boards for CC1101 and nRF24L01+
FPGA
A few major change to the FPGA's Verilog code must be made for the 2015 redesign. This means documentation mean be produced/located for how the FPGA currently communicates on the SPI bus and append documentation for new protocol.
Program for FPGA development: http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.html
| Command | Read/Write | Definition |
|---|---|---|
| 0x00 | Read Only | Receive Data Readings |
| 0x01 | Write | Set motor speeds |
| Array Index | Bit(s) | Definition |
|---|---|---|
| 0 | 7..0 | FPGA Version (0x04 in 2014) |
| 1 | 7..0 | Encoder 1 Count (LSB) |
| 2 | 7..0 |
Encoder 1 Count (MSB) |
| 3 | 7..0 |
Encoder 2 Count (LSB) |
| 4 | 7..0 |
Encoder 2 Count (MSB) |
| 5 | 7..0 |
Encoder 3 Count (LSB) |
| 6 | 7..0 |
Encoder 3 Count (MSB) |
| 7 | 7..0 |
Encoder 4 Count (LSB) |
| 8 | 7..0 |
Encoder 4 Count (MSB) |
| 9 | 7..0 |
Motor Fault |
| 10 | 7..0 |
Kicker Status |
| 11 | 7..0 |
Kicker Voltage |
| 12 | 7..0 |
Hall Count 1 |
| 13 | 7..0 |
Hall Count 2 |
| 14 | 7..0 |
Hall Count 3 |
| 15 | 7..0 | Hall Count 4 |
| 16 | 7..0 |
Hall Count 5 |
| Array Index | Bit(s) | Definition |
|---|---|---|
| 0 | 7..0 | Packet Type (0x01) |
| 1 | 7..0 | Motor 1 Speed (LSB) |
| 2 | 7..4 |
Reserved (Always 0) |
| 3..2 | Motor 1 Drive Mode | |
| 1..0 | Motor 1 Speed (MSB) | |
| 3 | 7..0 | Motor 2 Speed (LSB) |
| 4 | 7..4 | Reserved (Always 0) |
| 3..2 | Motor 2 Drive Mode | |
| 1..0 | Motor 2 Speed (MSB) | |
| 5 | 7..0 | Motor 3 Speed (LSB) |
| 6 | 7..4 | Reserved (Always 0) |
| 3..2 | Motor 3 Drive Mode | |
| 1..0 | Motor 3 Speed (MSB) | |
| 7 | 7..0 | Motor 4 Speed (LSB) |
| 8 | 7..4 | Reserved (Always 0) |
| 3..2 | Motor 4 Drive Mode | |
| 0..1 | Motor 4 Speed (MSB) | |
| 9 | 7..0 | Dribbler Motor Speed (LSB) |
| 10 | 7 | Kicker Charge |
| 6 | Chipper Enable (1=Chip, 0=Kick) | |
| 5..4 | Reserved (Always 0) | |
| 3..2 | Dribbler Motor Drive Mode | |
| 1..0 | Dribbler Motor Speed (MSB) | |
| 11 | 7..0 | Kicker Power |
To Do
- Transition the I2C bus lines to the microcontroller
- Update Verilog for new balanced encoder signals (A+, A-, B+, B-)
- ( (A+) + (A-) == 0 ) should be true for no errors
Completed
- Determine what communications occur over the SPI bus
- Finalized that the 2015 motor will use the current FPGA
Motors
http://wiki.robojackets.org/w/File:Maxon_50W_Motor_Custom_Design.pdf
http://wiki.robojackets.org/w/File:Maxon_50W_Motor_Datasheet.pdf
To Do
- Order motor controller boards
- Test different circuits and document data result set to wiki
Completed
- Finalize the protyping designs of single motor controllers
Motion Sensing
To Do
- Integrate the MPU-9250 into the I2C data bus lines from the mbed
Completed
- Order breakout board for MPU-9250
Error Detection
To Do
- Create breakout board for MCP23017 and place on GitHub repo (robocup-pcb)
- Update EAGLE part libraries too
Completed
Battery & Power
The following contains a listing of batteries that were considered for the 2015 design along with other battery/power adapters and accessories.
Battery
Zippy Flightmax 2200mAh 5S 40C
Connector
Charging Lead
Balancing Board
All Batteries
Zippy Flightmax 2500mAh 5S 20C
Zippy Flightmax 1800mAh 5S 40C
Phase III: Production
Electronics Assembly
https://learn.sparkfun.com/tutorials/electronics-assembly
http://www.soldermask.com/ <- Sparfun uses these guys for all their solder stencils