Difference between revisions of "Bebop"

From PaparazziUAV
Jump to: navigation, search
(GPIO)
Line 62: Line 62:
 
== Pinout ==
 
== Pinout ==
 
=== GPIO ===
 
=== GPIO ===
 +
* 73 P7MU IRQ
 +
* 81 GPS Power Enable
 
* 85 Fan enable
 
* 85 Fan enable
 
* 90 Vsync horizontal camera
 
* 90 Vsync horizontal camera
Line 67: Line 69:
 
* 201 On/Off button (default monitor to files running: /bin/onoffbutton)
 
* 201 On/Off button (default monitor to files running: /bin/onoffbutton)
 
* 202 HOST_MODE_3V3
 
* 202 HOST_MODE_3V3
 +
* 128 (video) Slew rate??
 
* 129 Vertical camera enable
 
* 129 Vertical camera enable
 +
* 130 (video) Slew rate??
 
* 132 Horizontal camera enable
 
* 132 Horizontal camera enable
 
* 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF
 
* 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF

Revision as of 01:26, 5 February 2015

Parrot Bebop

The Bebop from Parrot is an Wifi controlled flying quadrotor and is designed to be controlled with Android and iOS devices.

Features

Connectivity

  • Wi-Fi antennas: MIMO dual-band with 2 double-set of ceramic antennas for 2.4 and 5 GHz
  • Sending power: Up to 26 dBm
  • Signal range: N/A

Structure

  • 4 Brushless Outrunner motors
  • Glass fiber reinforced (15%) ABS structure
  • High-resistance EPP outdoor hull: Clip and unclip easily to adapt to indoor and outdoor flight, protects the propellers against potential bumps, can be removed to reduce wind factor
  • Three-blade auto-block propellers in Polycarbonate with fast disassembly system
  • Anti-vibration bumpers

Camera

  • Camera with "Fisheye" lens 180° 1/2,3": 6 optical elements and 14 Mega pixels sensor
  • Video stabilization: Digital on 3-axes
  • Video definition: 1920x1080p (30fps)
  • Photo definition: 3800x3188 pixels
  • Video encoding: H264
  • Photo file format: RAW, DNG
  • Internal memory: Flash 8 GB
  • Extended memory: Micro USB

Battery

  • Lithium Polymer 1200 mAh
  • Flight time: Around 12 minutes

Processor

  • Motherboard:
    • Parrot P7 dual-core CPU Cortex 9
    • Quad core GPU
    • 8Gb flash memory
  • All fixed on a magnesium shelf that acts as electromagnetic shielding and as a radiator
  • Operating system: Linux
  • Developping: Open-source SDK

Sensors

  • 3-axes magnetometer (AKM 8963)
  • 3-axes gyroscope (MPU 6050)
  • 3-axes accelerometer (MPU 6050)
  • Optical-flow sensor (Fig.8): Vertical stabilization camera (Every 16 milliseconds, an image of the ground is taken and compared to the previous one to determine the speed of the Bebop Drone)
  • Ultrasound sensor (Analyzes the flight altitude up to 8 meters)
  • Pressure sensor (MS 5607)

Geo-location

  • GNSS (GPS + GLONASS + Galileo, Furuno GN-87F)

Dimensions

  • 28x32x3.6cm without the hull
  • 33x38x3.6cm with the hull

Weight

  • 380g without the hull
  • 400g with the hull

Pinout

GPIO

  • 73 P7MU IRQ
  • 81 GPS Power Enable
  • 85 Fan enable
  • 90 Vsync horizontal camera
  • 91 DRDY MPU6050
  • 201 On/Off button (default monitor to files running: /bin/onoffbutton)
  • 202 HOST_MODE_3V3
  • 128 (video) Slew rate??
  • 129 Vertical camera enable
  • 130 (video) Slew rate??
  • 132 Horizontal camera enable
  • 199 BLDC micro-controller reset (forces it into bootloader) ON/OFF
  • 200 US Pulse level
  • 202 USB Host mode pin

PWM

  • 6 Heating resistor for warming IMU sensors (125000ns period, 0ns duty)
  • 8 MPU6050 clock (31510ns period, 15258ns duty) Desired frequency is 32768kHz with 50% duty cycle (period=30517us). Period was set empirically to 31517 to get a 5ms data ready period. Desired frequency is slightly modified to synchronize camera and IMU
  • 9 Vertical camera clock (23ns period = 43MHz)
  • 11 Horizontal camera lock (77ns period = 13MHz)

I2C

  • I2C-0
    • FPGA
    • P7MU
    • EEPROM Unknown EEPROM for Front camera calibration (addr 0x55)
    • MT9f002 CMOS Digital Image Sensor (1/2.3 inch 14Mp, front camera) MT9f002
    • MT9v117 CMOS Digital Image Sensor (1/6 inch VGA, bottom camera) MT9v117
  • I2C-1
  • I2C-2

UART

  • ttyPA1 GPS (Furuno GN-87F)

Actuators

The Bebop has 4 Brushless motors, which are controlled by the cypress chip on I2C-1. This Cypress chip contains costum made firmware(BLDC) from Parrot, which can be automatically updated using a bootloader. The firmware from Parrot contains a very nice closed loop RPM control, which is automatically tuned inside the factory.

For more information about how to communicate with the BLDC look at Bebop/BLDC. Or take a look at the "bebop" actuator inside the airborne/boards/bebop/ folder.

Programs

  • /usr/bin/dragon-prog Main program that controls the drone
  • /bin/watchdog.sh Checks if Dragon is still running and reboots dragon
  • BLDC_Test_Bench Controls the Brushless Motor Controllers for testing and playing sounds etc.
  • bcmwl Everything with wifi
  • diagnostic Outputs sensor diagnostic

Cross compiler

For the Bebop you need to use a recent version GNU gcc-arm-linux-gnueabi (Ubuntu/Linaro 4.7.4-2ubuntu1) 4.7.4 provided with Ubuntu since 14.04 LTS.

If it doesn't work with your GCC/Linaro version, you can also try the Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux from Mentor Graphics (previously codesourcery). This cross compiler is available here: Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux. Please install this crosscompiler in the /usr/local/codesourcery/ directory of your computer, to make sure paparazzi is able to find the cross compiler.