RBE 3001 EDU Board

From robotics
3001 Board

This board was designed around an AVR 644p microcontroller and uses a number of electrical components that relate to the EDU arm. Many of the onboard chips require a jumper to be set before you can use them. Make sure you read the labels near the components and use it to activate the: encoders, current sensors, DAC, and UART.

Pinout/Schematics

Schematics PDF: Pinouts

Board layout
Silkscreen
Silkscreen and copper bottom
Silkscreen and copper top
Silkscreen and copper top+bottom
Multisim project

The board contains many breakout points that you can probe to debug your issues. The pinouts and all inter-connections can be seen in the above PDF.

Processors

PDF: Main processor datasheet (AVR 644P)

PDF: Coprocessor datasheet (AVR 328P)

There's two different processor on the 3001 board, the main one being the 644P which is what you will be programming. This chip controls everything on the board except for the servos, which are instead done by talking to the coprocessor through UART0 which handles them.

You can program the 644P by using the blue ISP port directly above it (do NOT use the one above the coprocessor).

SPI

SPI bit-bang example

The board uses the Serial Peripheral Interface (SPI) to communicate with various peripheral devices, including the accelerometer, the encoder counter, and the DAC. Transmitting and receiving can be done using the SPI Data Register, or by bit-banging as in the above example.

DAC

PDF: DAC datasheet (LTC2634 12-bit)

The DAC is used for controlling the motors on the arm by using the SPI lines on the 644P to send needed commands for setting the voltage levels using PD4 as the SS. You need to connect the power supply at 8.1V as they need more power than the USB connection can supply.

Please note: after sending a command you should toggle your SS line to load the registers and then activate that command. This means after sending your command, you should: deassart SS > assert SS > deassert SS.

Accelerometer

PDF: Accelerometer module (H48C): Primary datasheet, Secondary datasheet, and Free-fall detection

PDF: Accelerometer ADC datasheet (MCP3204)

Diagram for wiring Accelerometer to AVR

PDF: Schematic of the accelerometer module (accelerometer, ADC, and buffers)

PDF: Example of 3-wire SPI communication with a shared MOSI/MISO line

The accelerometer is not initially attached to the arm and is handed out in a later lab. Communication is done through SPI to talk to an ADC directly connected to the accelerometer and it using an SS line that you pick yourself using one of the spare lines. Most students do not continue to use it after getting the required data, however that is up to the group. Keep in mind that the SPI prescaler must be set to 128 or slower for communication with the accelerometer ADC.

IR Sensor

PDF: Sharp IR

PDF: Linearizing the Sharp IR

For the final project you will use the sharp IR sensor to find the range of a block on a conveyor belt. You can read from it using the breakout ADC lines on the side of the board.

Current Sensor

PDF: Current sensor

The two current sensors read the current draw of one of the motors on the arm. Communication is done with ADC channels 0 and 1 which directly correspond to the current sensor number.

Encoder Counter Chip

PDF: Encoder quadrature counter chip datasheet

The encoder chips use SS PC4 (ENC1) and PC5 (ENC0) to read the encoders attached to the motors on the arm. When using the encoders, make sure you initially send the arm to a home position and sample from the potentiometers, then reset the encoder counts.

Data on the motors and encoders themselves is given on the arm page.

UART

PDF: UART

The UART is the chip that handles USB communication with your computer. Most of the code for interfacing with it is done for you, you just need to make a few small parts.

MOSFETS

PDF: Linear Drivers Op amps used to drive the motors Opa548

PDF: Electromagnet Drivers

The linear drivers are for controlling the voltage to the motors while the electromagnet ones are for an obsolete part of the course.

Polulu USB AVR Programmer

PDF: Pololu USB AVR Programmer User's Guide

Polulu product page with drivers and other resources

The Pololu Programmer is what you will be using to program the AVR 644P. Remember, to program the chip the board needs to be powered!