Apogee/v1.00

From PaparazziUAV
Revision as of 03:08, 27 January 2014 by Ghattenb (talk | contribs)
Jump to navigation Jump to search

Apogee v1.00 bottom side Apogee v1.00 top side

Overview

  • STMicroelectronics STM32F405RGT6 Cortex M4 168MHz processor featuring a Floating point unit (FPU), up to 192k of RAM and 1024k of FLASH.
  • 9(6) DOF integrated IMU MPU-9150(6050) based
  • 1 x Barometer/altimeter MPL3115A2 (I2C, MPU slave capability)
  • 1 x MicroSD card slot, 4 bit SDIO interface (high speed data logging)
  • 1 x USB : DFU mode (download) or USB storage (direct access to MicroSD card)
  • 6 x Servo PWM outputs
  • 1 x R/C receiver PPM frame input
  • 1 x R/C receiver serial input with inverter (Futaba S.BUS, Spektrum, etc.)
  • 3 x UART
  • 2 x I2C bus
  • 1 x SPI bus
  • RTC with backup capacitor
  • SWD(ARM download/debug interface)
  • 4 x Auxiliary I/O (General Purpose and/or ADC and/or servo PWM)
  • 5v / 1.5A switching power supply (input voltage range 5.5V min → 17.0v max)
  • 3.3v / 1A linear regulator
  • 1 x 5v / 500mA power switch
  • 4 x status LEDs
  • 10.4 grams (0.37 oz)
  • 53 x 25mm (2.1" x 0.98"), shares the same external dimensions and mounting points as UmarimLite
  • 4 layers PCB design

Hardware Revision History

Version # Release Date Release Notes
v1.00 07/2013 Initial release of Apogee


Detailed Features

SDIO (MicroSD card)

  • available in latest master (v5.1_devel-780-g6ff0fc9)
  • hi-cap power designed to give enough time to cleanly save buffer and close file(s) when power outage detected

6 or 9 DOF IMU

Apogee v1.00 PCB offer two Invensense IMU chip options:

  • MPU-6050 : 6 DOF, 3 axis Accelerometer + 3 axis Gyroscope
  • MPU-9150 : 9 DOF, 3 axis Accelerometer + 3 axis Gyroscope + 3 axis Magnetometer

USB Modes

planned behavior :

  • usb plugged before autopilot is powered : enter DFU mode to be flashed
  • usb plugged after autopilot is powered : stop ap task, enter usb storage mode to made sdcard content easily avalaible, after the host has mounted;copied;dismounted storage;unplugged usb, ap restart

SWD: Serial Wire Debug

permits flash and source level debugging via swd part of cheap discovery card, or via more capable, fastest, more expensive probe like black magic probe

R/C Serial

In addition to the classic PPM input, that mostly require receiver modification, one pin of the R/C connector is routed to the MCU UART2 receive input through a controlled inverter.
This new feature allow direct connection (3 pin) of several brand off-the-shelf receivers without hardware modification or external encoder board.

  • RX2_POL(PB13) = 0 => R/C serial (Rx2) is non-inverted : allow use standard polarity serial receivers (Spektrum, FlyElectric...)
  • RX2_POL(PB13) = 1 => R/C serial (Rx2) is inverted : allow use of S.BUS protocol compatible receivers (Futaba, FrSky,...)

(see R/C Receivers and Radios page for serial compatible receiver)

Real Time Clock

supercap powered rtc, permit to associate correct time and date on sdcard log files, when ap is unpowered between flights

Power Switch

5V power output pin on AUX connector ("5Vaux",#2) can be switched ON and OFF on demand using APSW (MCU GPIO output PB12).

  • APSW = 0 => 5V Aux OFF
  • APSW = 1 => 5V Aux ON (default)

The internal switch TPS2051B is designed to withstand 500mA continuous current and is short-circuit and thermally protected.
(see TPS2051B datasheet for recommended operation conditions)

Pictures

Pinout

Pins Name and Type are specified with respect to the Autopilot Board

Apogee v100 pinout.png

SRV0/1/2/3/4/5
Pin # Name Type Description
1 GND PWR common ground
2 +5V PWR 5V Rail from autopilot
3 SRVx OUT Servo signal (PWM)


R/C
Pin # Name Type Description
1 GND PWR common ground
2 +5v PWR 5V Rail from autopilot
3 PPM in IN PPM Stream from R/C Receiver (5V tolerant)
4 RX2 IN UART2 Serial Input (5V Tolerant) through controlled inverter


UART1/4/6
Pin # Name Type Description
1 GND PWR common ground
2 +5V PWR 5V Rail from autopilot
3 +3.3V PWR 3.3V Rail from autopilot
4 RX1/4/6 IN UART1/4/6 Serial Input (3.3V level, 5V Tolerant)
5 TX1/4/6 OUT UART1/4/6 Serial Output (3.3V level)


I2C1/2
Pin # Name Type Description
1 GND PWR common ground
2 +5V PWR 5V Rail from autopilot
3 +3.3V PWR 3.3V Rail from autopilot
4 SDA1/2 Open Drain I/O
(1.5k pull-up)
I2C1/2 bus Serial DAta
5 SCL1/2 Open Drain I/O
(1.5k pull-up)
I2C1/2 bus Serial CLock


USB
Pin # Name Type Description
1 GND PWR common ground
2 USB+ I/O USB bidirectional D+ line
3 USB- I/O USB bidirectional D- line
4 VBUS IN Indicates the presence of USB bus power (5V level), DFU or USB storage Mode selection

Note: MiniUSB and Molex USB connectors are in parallel, only one can be connected at a time.


SPI1
Pin # Name Type Description
1 GND PWR common ground
2 +5V PWR 5V Rail from autopilot
3 +3.3V PWR 3.3V Rail from autopilot
4 CS1 OUT Slave Select. Selects the SPI slave (PB9)
5 MOSI1 I/O SPI1 Master Out Slave In. Data output from master / data input to slave
6 MISO1 I/O SPI1 Master In Slave Out. Data input to master / data output from slave
7 SCK1 I/O SPI1 Serial clock. Clock output from master or input to slave


AUX
Pin # Name Type Port Description
1 GND PWR common ground
2 +5Vaux PWR 5V from autopilot through Power Switch
3 +3.3V PWR 3.3V Rail from autopilot
4 AUX1 I/O PB1 General Purpose I/O #1 or ADC_1 Input or PWM6
5 AUX2 I/O PC5 General Purpose I/O #2 or ADC_2 Input
6 AUX3 I/O PC4 General Purpose I/O #3 or ADC_3 Input
7 AUX4 I/O PB15 General Purpose I/O #4


SWD
Pin # Name Type Description
1 GND PWR common ground
2 +3.3V PWR 3.3V Rail from autopilot
3 RST IN MCU Reset
4 SWCLK IN Serial Wire Clock
5 SWDIO I/O Serial Wire Data Input/Output

Schematic

Apogee v1.00 Schematic



PCB

Gerber & Drill Files

PCB design Eurocircuits 6-C class compliant:

Download Apogee v1.00 gerber & drill files (zip)

RS274X, units = Inches, format = 2:5

  • Apogee_v100_Silkscreen_TOP.GBR (Top Component Print Layer)
  • Apogee_v100_Soldermask_Top.GBR (Top Solder Mask)
  • Apogee_v100_Paste_Mask_Top.GBR (Top Paste Mask, stencil)
  • Apogee_v100_Signal_Top.GBR (Top Copper Layer)
  • Apogee_v100_Internal_Plane_1.GBR (Internal Copper Layer GND)
  • Apogee_v100_Internal_Plane_2.GBR (Internal Copper Layer +3.3V)
  • Apogee_v100_Signal_Bottom.GBR (Bottom Copper Layer)
  • Apogee_v100_Paste_Mask_Bottom.GBR (Bottom Paste, stencil)
  • Apogee_v100_Soldermask_Bottom.GBR (Bottom Solder Mask)
  • Apogee_v100_Outline.GBR (Board Outline)
  • Apogee_v100_Drill.GBR (NC XY coordinates & Drill tools sizes)


Assembly

Components Layout


Bill Of Material

Download Apogee v1.00 Bill of Material (zipped .xls file)

PCB and assembled boards suppliers

Check availability on Get Hardware page

Mechanical Dimensions

Apogee v1.00 Top Mechanical Dimensions Apogee v1.00 Side Mechanical Dimensions

Programming

Apogee autopilot can reprogrammed in two different ways:

  • using the MCU native (embedded in rom) DFU USB bootloader over the on-board USB header (so pre-loading an "external" bootloader is useless)
    • required hardware : usb cable with usb-mini connector
    • required software : dfu_util tool (present in ubuntu repository)
  • using the SWD (Serial Wire Debug) connector
    • required hardware : usb cable with usb-mini connector, molex to 2.54mm pitch pin cable, swd part of a cheap stm32 evaluation board (any discovery board, start @ 8$)
    • required software : st_flash and st_util, have to be compiled from source (https://github.com/texane/stlink)

Debugging

Debugging with STM Discovery ST-LINK/V2 embedded debug tool

Apogee debugging with Discovery dev board


Debugging with Black Magic Probe

Apogee debugging with Black Magic Probe


Source Files

Apogee v1.00 hardware design (zipped Protel99SE SP6 database file)

Source code

Available in latest git master branch