Autonomous Blimp

Objective
The goal is to build an autonomous blimp that can search for and move towards an IR beacon.

Project References
Blimpduino Project Cornell Final Project
 * Hardware Assembly
 * Parts List

Colorado State University

Parts List

 * 52-inch Mylar Blimp Envelope
 * Baby Orangutan MCU
 * IR Beacon Development Board
 * Maxbotix LV-MaxSonar-EZ4 Ultrasonic Sensor(Click resources for datasheet)
 * SN754410 Motor Driver
 * 3 x Small DC Motor and Propeller
 * TSOP34156 IR Receivers

Design
The hardware components of this project are the blimp envelope and gondola.

We will purchase a blimp envelope but construct a custom gondola to support our electronics. The gondola will be constructed as light as possible and support a three motor design. Two motors will be on the sides of the gondola to control movement along the yaw axis to allow turning, and one motor will be pointed downwards to control the altitude of the blimp.

Hardware
Weight Estimates:


 * Blimp lift = 80g


 * Robot controller + Board = 14g


 * Gondola with no motors = 15g


 * Each motor with propeller = 21-22g


 * Battery = 29-30g

Balloon

[desc]

Gondola

[desc]





Controller
See Baby Orangutan MCU for details on the use of our robot controller.

Motor Driver
See SN754410 Motor Driver

Sensors
Currently, the only sensor we are using is an EZ4 Ultrasonic Range Finder. It will be used to control the altitude of our blimp.

We intend to also purchase IR receiver sensors in the future for use with our IR beacon.

Software
We've only just begun the software portion of the project because of some difficulties with programming the Baby Orangutan MCU.

Here's the code we're using to talk to the IR Receivers. It needs to be calibrated, but it definitely is reading the beacon. When the beacon is off the LCD will display 254-255; when on, it ranges anywhere from 200-240.

unsigned int sum; unsigned int avg; unsigned char samples; int main { set_analog_mode(MODE_8_BIT);    // 8-bit analog-to-digital conversions sum = 0; samples = 0; avg = 0; start_analog_conversion(5); // 5 refers to pin ADC5 while(1) {   if (!analog_is_converting)     // if conversion is done... {     sum += analog_conversion_result;  // get result start_analog_conversion(5);  // start next conversion if (++samples == 100)          // if samples have been taken... {       delay_us(5); avg = sum / 100; // compute sample average of ADC result samples = 0; sum = 0; }   } clear; lcd_goto_xy(0,1); print_long(avg); delay_us(100); } }
 * 1) include 
 * 2) include  // provides ATmega168-specific definitions/macros

Testing
Not applicable yet

Final Comments
Our blimp only manged one semi-successful flight. Working with helium ballons proved far too troublesome and we vowed never to work with them again. We continually had to refil the balloon because it would deflate over the course of a week. That was too impractical. Our ultrasonic sensors and ir beacons were working relatively well, but we never got to fully test their productivity because we ended up primarily dealing with blimp related problems.