Beruflich Dokumente
Kultur Dokumente
AUTONOMOUS BLIMP
AUTONOMOUS BLIMP
Submitted By:
ARUN PATHAPPILLY SAJEEVAN
ARYA GEORGE
ANUSHA S
KADAYIRUPPU, KOLENCHERY
CERTIFICATE
Head of Department
AKNOWLEDGEMENT
“Success is a relative term”. And my success in this small endeavor onto the
world of electronics demands the credit of many.
First of all to you God, for showering upon me the wisdom and keeping the path
clear towards the success of this project.
I would like to thank each and every member of the Electronics and
Communication department at SNGCE for their constant encouragement and
valuable suggestions towards this project.
Lastly but never the least, to my friends and my parents; they have kept me and
my blimp flying, into successes.
Abstract
Page |7
CONTENTS
Introduction..........................................................................................................10
BLOCK DIAGRAM............................................................................................12
BLOCK DIAGRAM DESCRIPTION.................................................................13
CIRCUIT DIAGRAM .........................................................................................18
CIRCUIT DIAGRAM DESCRIPTION ..............................................................19
PROGRAM DESIGN ..........................................................................................21
PROGRAM CODE..............................................................................................24
PCB DESIGN ......................................................................................................31
PCB LAYOUT.....................................................................................................40
COMPONENT SIDE LAYOUT .........................................................................41
RESULTS ............................................................................................................43
CONCLUSION....................................................................................................45
Bibliography ........................................................................................................52
Page |9
CHAPTER 1
INTRODUCTION
P a g e | 10
Introduction
Non-rigid airships, also known as blimps, are basically unmanned aerial vehicles
(UAVs) that use gas (usually helium or hydrogen) balloons. In contrast to a rigid
airship, a blimp has no internal structure to maintain the shape of its hull envelope.
Rather, its shape is maintained by a higher pressure of the gas. The only rigid
components are the driving elements, the fins and the gondola attached to the
envelope. Unmanned blimp robots can be used in both indoor and outdoor
environments. The buoyancy force provides an energy-free form of lift, offering a
non-traditional approach to long-duration missions for which conventional aircrafts
are not well-suited. Miniaturization of sensors and actuators and the development
of long-duration batteries have also opened up opportunities for further progress in
the development of these small-scale autonomous vehicles.
The first rigid airships, which were constructed in the early 20th century,
consisted of a balloon with a metal frame covered by fabric and filled with a gas
(helium or hydrogen). These airships were mainly used in wars for military aerial
exploration and transportation. Nowadays, however, they are mainly used for
advertising and aerial filming. Nevertheless, they have great potential in terms of
applications such as search and rescue missions, traffic monitoring, urban
planning, inspection of power lines and pipelines, mineral and archaeological site
prospection, law enforcement and telecommunication relay systems. Blimps are
well-suited for these applications because their ability to remain stationary for long
periods of time in the air enables data to be gathered. Blimps can also be used for
research purposes in a variety of applications including ecological, biodiversity and
climate research and monitoring in different environments.
CHAPTER 2
BLOCK DIAGRAM
P a g e | 12
BLOCK DIAGRAM
ULTRASONIC
PROXIMITY SENSOR
GYROSCOPE
PIC 16F873A
MICRO MOTOR
CIRCUITS
P a g e | 13
Background Math
The volume of the blimp is 5ft3, or about 0.141m3. The lifting power of 1ft3
of hydrogen gas is about .076 pounds at 0 degree Celsius, and hence our blimp had
an estimated payload of about 172g. As it turned out the actual maximum payload
was about 120-150g, depending on the temperature and how recently the blimp had
been refilled.
The motors each draw up to 150mA at full duty cycle for a total of 300mA.
The MCU draws about 40mA, while the ultrasonic transmitter – receiver pair and
gyroscope together draw about 30mA, putting our total typical current load (at
86% duty cycle) at about 350mA.
HARDWARE DESIGN
Microcontroller Unit
SENSORS:
1. GYROSCOPE
CHAPTER 3
CIRCUIT DIAGRAM
P a g e | 18
CIRCUIT DIAGRAM
P a g e | 19
POWER SUPPLY
The circuit is powered by regulated 5V. A 7.6 V Li-Po battery pack is used
as the main power source. As these battery packs have good power back up and
is light in weight, they were the best option for an aerial robotics circuitry.
MOTOR CIRCUITS
An opto-isolator circuit has been used for controlling the motor circuits. A
PWM input is given to the motors from the MCU and these in turn control the ON
– OFF period of motor. The BUZ73 transistors have a turn-on voltage of 3.4V,
higher than the 3V we had initially planned to run the motors at. We replaced
these with N3904 BJTs, which have a much lower turn-on voltage and are also
slightly lighter.
The motors each draw up to 150mA at full duty cycle for a total of
300mA. The motors used were special high rpm micro motors used to drive toy
helicopter blades.
POWER CONSUMPTION
The MCU draws about 40mA, while the IR and gyroscope together draw about
30mA, putting our total typical current load (at 86% duty cycle) at about 350mA.
P a g e | 20
CHAPTER 4
PROGRAM DESIGN
P a g e | 21
PROGRAM DESIGN
ADC
The ADC was used to read the filtered output of the gyroscope. The zero-rate
output (ZRO) of the gyroscope with VCC at 3V was 1.57V and corresponds to a 10-
bit ADC value of 535. We read and added ten values to effectively take the
average of ten readings for our comparisons with the ZRO value. The relevant
bypass capacitors were mounted on the custom PCB in the specified locations.
PWM
We used the two PWM signals from Timer 1 to control the speed of the
micromotors via the optoisolator circuits by increasing or decreasing the duty cycle
as appropriate. The signals had a frequency of 60Hz and the default duty cycle
was set at 86% (OCR=220).
Navigation Algorithm
When the proximity sensor does not detect an obstacle in its path, the MCU
turns the fans with the appropriate duty cycle to drive the blimp in a straight line.
We implement a binary feedback mechanism whereby the MCU reads the
gyroscope and adjusts the PWM signals to compensate for any yaw. For instance,
if the ADC value from the gyroscope indicates that the blimp is veering left, the
MCU increases the PWM duty cycle to the left motor by 1bit and decreases the
PWM duty cycle to the right motor by 1bit, checking first not to exceed the bounds
of [0,255].
When an obstacle is detected, the blimp continues to move for 3 seconds and
then the motors stop turning the propellers by setting both duty cycles to 0. The 3
second wait allows the blimp to get a little closer to the obstacle, to ensure that the
latter does not disappear from view once the blimp begins to rotate away. The
MCU then increases the duty cycle of the left motor by 5 bits at each interrupt,
which causes the blimp to turn off to the right, and to continue to do so while the
obstacle is in view. Once the obstacle disappears from view, the blimp resumes
P a g e | 22
forward motion at the default PWM duty cycle. We realize that multiple sensors
would have afforded a more complex navigation algorithm; we presented the
skeleton of one such algorithm in our project proposal.
We considered storing 100 gyroscope ADC readings in array and filtering them
to remove both high frequency noise resulting from the motor vibration as well as
any possible low frequency drift, but neither of these was found to be sufficiently
problematic since the gyroscope is mounted at the nose of the blimp far away from
the motors, and we did not observe any perceivable drift over the duration of each
blimp 'ride'. Furthermore, it was not necessary to know with accuracy the actual
values of the ADC output. It was sufficient to know if the blimp was veering left
or right, and then simply increase and decrease the duty cycle of the appropriate
propellers slightly to compensate. We read the gyroscope and corrected the motors
at 0.5s intervals, and therefore corrections were made sufficiently frequently that
compared to the time delay of the movement of the blimp, our circuit would for all
practical purposes be responding continuously.
P a g e | 23
CHAPTER 5
PROGRAM CODE
P a g e | 24
PROGRAM CODE
#include<pic.h>
#include<adc.c>
#include<delay.c>
#include<math.h>
void initialize(void);
void readGyro (void);
//void calcYaw(void)
void nudgeL(void);
void nudgeR(void);
void detectObs(void);
void blimpSM(void);
end
P a g e | 25
void main(void)
{
initialize();
while(1)
{
//state machine stuff
if (timeBase500ms==0){
blimpSM();
}
}
}
void initialize(void)
{
//IO Ports
DDRB=0b00001000; //PORTB.3 for PWM output
//B.1 fwd motorL ctrl, B.2 backward motorL ctrl, B.4 fwd
motorR, B.5 backward motorR
tt=12;
//Timer stuff
TIMSK = 0b10000000; //turn on timer 2 cmp match isr
P a g e | 26
/*setFwdMotorL();
setFwdMotorR();*/
//crank up ISRs
#asm
sei
#endasm
}
void readGyro(void)
{
gyroAccum = 0;
for(i=0;i<numGrdgs;i++)
{
if (ADCSR.6==0) ADCSR.6=1;
while(ADCSR.6==1) {};
adcl = ADCL;
P a g e | 27
adch = ADCH;
Ain = adcl + (adch<<8);
gyroAccum = gyroAccum+Ain;
}
if ((gyroAccum>=3200) && (gyroAccum<=3220))
yawDetect=0;
else if (gyroAccum<3200) yawDetect=1; //left yaw
else if (gyroAccum>3220) yawDetect=2; //right yaw
void nudgeL(void)
{
if (OCR1AL-1!=0) OCR1AL -=1;
if (OCR1BL+1!=255) OCR1BL +=1;
}
void nudgeR(void)
{
if (OCR1AL+1!=255) OCR1AL +=1;
if (OCR1BL-1!=0) OCR1BL -=1;
}
for(i=0;i<amt;i++) nudgeL();
P a g e | 28
for(i=0;i<amt;i++) nudgeR();
void stop(void){
OCR1AL=0;
OCR1BL=0;
}
void blimpSM(void){
switch(state){
case 0:
if(--tt==0){
state=1;
}
break;
case 2: //stop
//PORTC=0x04;
//500ms
//delay for a while
if(--tt==0){
P a g e | 29
}
P a g e | 30
CHAPTER 6
PCB FABRICATION
P a g e | 31
PCB DESIGN
P a g e | 32
1. Drawing the layout of the PCB in a paper. The track layout of the Electronic
circuit should be made in such manner that the paths are in easy routes. It is then
transferred to a Mylar sheet. The sheet is then touched with black ink.
2. The solder side of the Mylar sheet is placed on the shiny side of the five-
Star sheet and is placed in a frame. Then it is exposed to sunlight with Mylar
sheet facing the sunlight.
4. This is put in cold water and then the rough side is stuck on to the silk
screen. This is then pressed and dried well.
5. The plastic sheet of the five-star sheet is removed leaving the pattern on the
screen.
P a g e | 33
6. A copper clad sheet is cut to the size and cleaned. This is placed under
screen.
7. As it resistant ink if spread on the screen so that a pattern of tracks and a pad
is obtained on a copper clad sheet. It is then dried.
8. The dried sheet is then etched using Ferric Chloride solution (32Baume) till
all the unwanted Copper is etched away. Swish the board to keep the each fluid
moving. Lift up the PCB and check whether all the unwanted Copper is
removed. Etching is done by immersing the marked Copper clad in Ferric
Chloride solution. After that the etched sheet is dried.
9. The unwanted resist ink is removed using Sodium Hydroxide solution Holes
are then dried.
PCB PARAMETERS
Clearance - 60mil
On board - Through
SOLDERING
SOLDER
Solder is the joining materials that melt below 427 degree connections
between the components. The popularly used solders are alloys of tin (Sn) and
lead (Pb) that melts below melting point of tin.
Types:
1. Rosin core:- 60/40 Sn/Pb and 63/67 Sn/Pb solders are the most common types
used for electronics assembly. These solders are available in various diameters
and are most appropriate for small electronics work (0.02”-0.05” dia. Is
recommended)
3. Silver:- Silver solders are typically used for low resistance connections but
they have a higher melting point and are more expensive than sn/Pb solders.
4. Acid-Core:- Acid-Core solders should not be used for electronics. They are
intended for plumbing or non-electronics assembly work. The acid –core flux
will cause corrosion of circuitry and can damage components.
P a g e | 35
Various melting point eutectics: These special solders are typically used for non-
electronic assembly of difficult to construct mechanical items that must be
assembled in a particular sequence.
Flux
In order to make the surface accept the solder readily, the components
terminals should be free Oxides and other obstructing films. The lead should be
cleaned chemically or by abrasion using blades or knives. Small amount of lead
coating can be done on the portion of the leads using soldering iron. This
process is called thinning. Zinc chloride or Ammonium chloride separately or in
combination is mostly used as fluxes. These are available in petroleum jelly as
paste flux.
It should provide a liquid cover over the materials and exclude air gap up to the
soldering temperature.
It should be easily displaced from the metal by the molten soldering operation.
Soldering Iron
It is the tool used to melt the solder and apply it at the joint in the circuit. It
operates in 230V supply. The iron bit at the tip gets heated while few minutes.
The 50W and 25W soldering irons are commonly used for soldering of
electronic circuits.
Soldering Steps
1. Make the layout of the components in the circuit. Plug in the chord of the
soldering iron into the mains to get heated.
3. Mount the components on the PCB by bending the leads of the components.
Use nose pliers.
4. Apply flux on the joints and solder the joints. Soldering must be done in
minimum time to avoid dry soldering and heating up of the components.
A. Shiny surface
2. Air pockets:- Air pockets (voids) result from incomplete wetting of surfaces,
allowing air to be in contact with the connecting metals. This will cause
oxidation of the joint and eventual failure. Blowholes can occur due to
vaporization of the moisture on the surface of the board and existing through the
molten solder. Boards should be clean and dry prior to soldering. Ethanol
(100%) can be used as a moisture chaser if boards are wet prior to soldering.
5. Balls:- A solder ball, instead of a fillet can occur if the trace was heated but
the lead was not (vice versa). This prevents proper wetting of both surfaces and
result in solder being attached to only one surface (component or trace).
6. Excess solder:- Excess solder usage can cover up other potential problems
and should be avoided. It can also lead to solder bridges. In addition, spherical
solder joints can result from the application of too much solder.
P a g e | 39
CHAPTER 7
PCB LAYOUT
P a g e | 40
PCB LAYOUT
P a g e | 41
CHAPTER 8
RESULTS
P a g e | 43
RESULTS
Speed of execution
We were able to run the ADC at its full speed with no problems. We ran the
PWM at 60Hz, however, since it was controlling DC motors. The blimp,
meanwhile, is light and has a large surface area and therefore encounters
significant drag. Its response time, therefore, was on the order of tenths of
seconds to seconds.
Accuracy
Safety
Our blimp poses no significant safety concerns. The propeller blades are
made of soft plastic and did not cause any injury even when our fingers got in
the way. We inflated our balloon with hydrogen, which is inert. The risk of it
bursting as a result of being in contact with air was remote, but we considered it
nonetheless.
Usability
Our project, by virtue of its autonomy, is very easy to use. It requires only
the flick of a switch and it flies on its own. Suspending and securing the
gondola, however, is most easily done with the assistance of a second person.
P a g e | 44
CHAPTER 9
CONCLUSION
P a g e | 45
CONCLUSION
Our blimp performed its navigational tasks correctly and successfully avoided
obstacles in its path. It flew untethered, and in these respects met the specifications
we had laid out. We had not, however, anticipated the difficulty of putting a
microcontroller circuit in the air, and we consider ourselves fortunate to have been
able to do so. Our design incorporated the bare essentials, and even then, it was a
Herculean task.
We were ultimately able to achieve our goal of keeping our circuit airborne by
taking a very minimalist approach to designing and building our project. However,
this was at the expense of many, many other things we would have like to do with
our project. We have already mentioned that we would have liked to implement a
more sophisticated navigation algorithm, with more sensors. We also toyed with
the idea of communicating obstacle locations via RF to another ground-based
MCU. We would also like to mount wireless cameras on board so that we can use
it as a low cost eye in sky replacing the costly satellites and their launches.
If we were to do this project again, we would (at the risk of exceeding the
budget) use two blimps instead of one, to largely eliminate the constraint of
weight, so that we could focus on working with the sensors etc. Nevertheless, it
was satisfying to push the envelope with just one blimp.
P a g e | 46
CHAPTER 10
DATASHEETS
P a g e | 47
P a g e | 48
P a g e | 49
P a g e | 50
P a g e | 51
P a g e | 52
Bibliography