Difference between revisions of "S15: SJeight Octocopter"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Hardware Design)
(Objectives & Introduction)
Line 19: Line 19:
  
 
== Objectives & Introduction ==
 
== Objectives & Introduction ==
Show list of your objectives. This section includes the high level details of your project. You can write about the various sensors or peripherals you used to get your project completed.
+
The goal of this project was to design an octocopter that flies. This project is consist of four people and each team member worked in pairs. We have to use the SJone board for this project and implement topics we learned in class. The class topics we used for this project are I2C, UART, Semaphores, Queue, and SPI.  
  
 
=== Team Members & Responsibilities ===
 
=== Team Members & Responsibilities ===

Revision as of 07:38, 25 May 2015

Grading Criteria

  • How well is Software & Hardware Design described?
  • How well can this report be used to reproduce this project?
  • Code Quality
  • Overall Report Quality:
    • Software Block Diagrams
    • Hardware Block Diagrams
      Schematic Quality
    • Quality of technical challenges and solutions adopted.

Project Title

SJeight Octocopter

Abstract

The purpose of the project is to create a large custom built octocopter. It will rely on AHRS (Attitude and Heading Reference System) to stabilize the copter. The advantage for using eight motors is reliability, since the copter can still operate with one motor disabled. Another advantage is the ability to carry a larger payload than quadcopters. There are many design challenges for this project. The first being structural support. To help this along, a professional grade laser cutter and 3D printers were used to create the frame. Power consumption, weight, thrust, and sensors were carefully considered for this project.

Objectives & Introduction

The goal of this project was to design an octocopter that flies. This project is consist of four people and each team member worked in pairs. We have to use the SJone board for this project and implement topics we learned in class. The class topics we used for this project are I2C, UART, Semaphores, Queue, and SPI.

Team Members & Responsibilities

Christopher Sawtelle Son Nguyen Grant Welch Noe Quintero
Component selection Motor Mount Power Hub Frame
I2C PWM Expander I2C PWM EXpander I2C PWM Expander I2C PWM Expander
CAD Design CAD Design CAD Design CAD Design
GPS GPS GPS GPS
PID Algorithm PID Tuning PID Tuning PID Tuning
AHRS (Attitude Heading Reference System) XBEE Integration
Nordic Integration Arduino Remote

Schedule

Week# Date Task Actual
1 3/29/15 Compile Parts List Complete
2 4/5/15 Source Parts Complete
3 4/12/15 Interface with PWM expander Complete
4 4/19/15 Interface and Calibrate the AHRS with the SJone Board Complete
3 4/26/15 Add PID to SJone board Complete
5 5/3/15 Tune PID and Interface with RC Transmitter PID not tuned
6 5/10/15 Test Flight and fine Tuning Broken Props / Burned ESC
7 5/17/15 Remote / GPS / Nordic Complete (Nordic function removed - unreliable)
8 5/21/15 Fix Props and replace ESC Complete
9 5/23/15 Test Flight & Tune PID

Parts List & Cost

Name Qty Total Cost
Acrylic Sheet (Frame) 1 $30
Lipo Battery 3 $220
Carbon Fiber Rod 8 $120
Motors 8 $120
ESC 8 $192
Carbon Fiber Propeller (Always have spares) 16 $65
Nuts and Bolts (M4 Standard) 200 $100
Battery Connectors 11 $30
Zip Ties 8 $10
ABS Plastic (3D Printer) 1 $25
6 AWG Wire 1 $30
Xbee PRO 2 $60
Arduino Mega 1 $30

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

Hardware Circuit Diagram

We initially decided on 10" blades, but soon realized that the longer the blade the more efficient the system. We went with 12" blades. We also realized that in order for the copter to fly we needed to find efficient batteries. The power density had to be extremely high, which is why we switched from the fifteen 2200 mAh batteries to the three 10 Ah batteries.

The hardware design was assembled by the whole team. This project was approached by drawing the architecture on SolidWorks. Figure CAD Drawing, illustrates the design of our SJeight.

Main Frame

The main frame of the octocopter was laser cut in the Mechanical Department. Shown in Figure Laser Cutter, illustrates the laser cut. Acrylic Plastic was recommended for the frame because it’s durable and low cost. Main frame had 3D printed rod slots which was sandwiched. Figure 3D Printed Parts and Figure Assembling the Frame demonstrates the sandwiched carbon fiber rod.

Power Hub

The Power Hub shown in Figure Fully Assembled Power Hub, is designed to distribute power across all eight motors evenly. This was first design on SolidWorks and then 3D printer which is shown in Figure CAD of Power Hub. Eight female slots and three female slots was soldered on a circular wire gauge to distribute the power evenly.

Electronic Speed Controller

We mounted eight 80A ESC (Electronic Speed Controller) underneath the frame using zip ties. The input of the ESC was connected to the Power Hub where power is drawn. Shown in Figure Hub Attach illustrates how the ESC are connected around the frame. The ESCs are connected to the DC motor, through the inside of the carbon fiber rod. The ESCs varies the throttle of the DC motors by sending PWM signals.

Brushless Motor

The brushless motor is mounted to the end of the rod. The brushless motors operates linearly which means when the motor shuts down, it slowly decreases rather than immediately braking. The brushless motor used for this design is the Donkey ST4010-820kv. The kv is the constant motor which indicates the maximum RPM the motor could rotate.

Battery

Three 14.4V 10A batteries are needed to be connected in parallel. Each single battery contains four cells of lithium ion. Three large batteries were needed to extend flight time and power all eight motors.

Flight Controller

The flight controller is programmed using an Arduino Mega. The controller controls the coordinates and torque of our octocopter. Shown in Figure Flight Controller, illustrates the flight controller. The controller is designed on a PCB with two joysticks. The joysticks controls the coordinates and throttle of the copter.

CAD Design

Exploded CAD Drawing
CAD Drawing
CAD of Leg
CAD of Power Hub

Propeller Preparation

12" Carbon Fiber Blade
Milling the Propeller Hole
Unbalanced Propeller
Balanced Propeller

Power Hub

Unembarrassed
Test Fit
Fully Assembled

Main Frame

Laser Cutter
3D Printed Parts and Frame
Battery Size Check

Motor and Battery

Motor Weight
Main Batteries

Assembly of Copter

Assembling the Frame
ESC Attaching
Hub Attaching
Motor Test

Power Supply Circuit to 'OR' the Batteries

Three packs were necessary to power the copter. Unfortunately, LiPo batteries cannot be connected in parallel if the voltages are not closely matched. One solution is to use diode to prevent the batteries from back-charging one another. Luckily, there are circuits available to create diodes from transistors. One option was the LTC4352.

'OR' Circuit schematic
'OR' Circuit
Circuit

Hardware Interface

The SJeight interfaces with various peripherals. This includes the PCA9685 (16-channel, 12-bit PWM Fm+ I2C-bus LED controller) for PWM expansion, Razor IMU(Internal Measurement Unit) sparkfun, Adafruit Ultimate GPS Breakout Module, and 2.4GHz XBee module from Dig.

To overcome the limited number of PWM I/O on the SJone board, extra hardware needed to be added to the project. The solution was the PCA9685. It provides 16 channels for PWM for the ESC(Electronic Speed Controller). This device communicates via I2C or Inner IC communication. The following figure shows a scope shot of the I2C bus. Even though the ESC is not directly controlled by the SJone, understanding of the signals are important. The ESC accepts a very specific signal. The frequency must be 50 Hz and ave a minimum pulse width of 0.7 milliseconds. The speed of the motor is then determined by the pulse width: 0.7 ms is 0% speed, 1.5 ms is 50% speed, and 2.3 ms is 100% speed.


PWM Analysis

I2C Bus
PWM Minimum Pulse
PWM Pulse and ESC Output
PWM Maximum Pulse

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.

Motor Testing

Tested each motor individually and varied each motor at different throttles. Repeated the test with eight motors at the same time and isolated minor errors. The minor errors we faced was lack of solder connection from the motor to the ESC or the ESC to the battery.

IMU Calibration Testing

Planted the Adafruit 9-DOF IMU on the main frame and tested the Yaw, Pitch, and Roll. The data was collected and read through Hercules. We recommend using the 9-DOF rather than the 10-DOF because the 10-DOF lacks important open source.


Include sub-sections that list out a problem and solution, such as:

Issue #1

One Issue that came up was the addressing of I2C. The datasheet for the PCA9685 presents the address as 0x40, but it is an 7-bit address. The SJeight function accepts an preshifted 8-bit address (0x80). This was discovered from probing the bus with an scope.

Issue #2

Safety!!! One of our group member was injured with the copter.

Issue #3

There was some unexpected behavior with the SJone vs. the Arduino, causing the ESC to full throttle and burn.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

List any references used in project.

Appendix

You can list the references you used.