background image

1.6

Development Environment and Tools

1

INTRODUCTION

/ c o n f i g

/ doc

/ d a t a s h e e t
/ r e p o r t s
/ f i g u r e s
/ n o t e s
/ t e s t s
/ e x t r a

/ e x t r a

hardware

: Subfolders will store the major components of the project. For

example, the frame has several .dxf files that are sent to the laser cutter, so that
will all go into a subfolder called

frame

. The project may have several PCBs

made as well, and so each should go into a subfolder under

pcb

.

software

: The software is separated by language into separate folders. This

makes sense because each processor in the project will have only one language
running, but separate processors that are running the same language may share
components (library files, for example). Each language has a number of sub-
folders:

*

src

is where the source code for the project is stored.

Subfolders as

appropriate.

*

lib

stores all general purpose library files (code) such as Propeller Obex

objects.

*

test

stores the test harnesses such as unit tests and Spin code to test a

particular module (the latter case would have a ’main’ type method and
would be self supporting when running on the Propeller).

*

tool

holds all the relevant development tools for that language (

BSTC

for

Spin, for example).

*

config

stores any sort of relevant compile time or testing configuration

files.

The files that are in the

software

folder should be used only for what runs

onboard the quadrotor. Test programs or desktop PC client programs should
instead go into the

extra

folder. Note that these programs may still access the

lib

and

tool

subfolders in the software directory.

documentation

: This folder stores all the relevant datasheets in the

datasheet

subdirectory, and any other project documentation that is deemed to fit. Note
that most documentation probably belongs in the Anzhelka wiki on [1].

The

datasheet

and

reports

folders contain the reference datasheets for each

component and the various generated reports of the project, respectively. The

figures

folder holds an images that is used in the documentation. The

notes

folders holds papers that are interesting and relevant to the project, such as
the cited research papers. The

tests

folder holds the test results data, and any

9

Summary of Contents for Anzhelka

Page 1: ...ter ilukester anzhelka com May 29 2012 And when he Herod had apprehended him Peter he put him in prison and delivered him to four quaternions of soldiers to keep him intending after Easter to bring hi...

Page 2: ...ses on the practical aspects of quadrotor flight For a theoretical treatment see the Anzhelka project mathematics document 3 Revisions Current project status and files can be found at blog anzhelka co...

Page 3: ...Guiding Vision 11 2 2 Assumptions 12 2 3 Realistic Constraints 12 2 4 System Environment and External Interfaces 12 2 5 Budget and Cost Analysis 12 2 6 Safety 13 2 7 Importance of Team Work 13 3 Syste...

Page 4: ...User Interface 28 8 1 Anzhelka Terminal 28 9 Testing 29 9 1 Hardware Testing 29 9 1 1 Frame 29 9 1 2 Motors Propellers 30 9 1 3 PCBs 30 10 Maintenance Plan 31 10 1 For the next ten weeks 31 10 2 For...

Page 5: ...d altitude With a suitable pilot or software behind the controls one can do amzing aerial acrobatics with the quadrotor Quadrotors are very similar to helicopters so what advantages do quadrotors have...

Page 6: ...is attached The tracking device will have its own GPS and IMU in order to be able to determine the location and heading of the subject object The quadrotor is intended to fly autonomously ie without...

Page 7: ...nly one team member has any experience with designing PCBs and circuits but not nothing to the extent of this project We believe that based on the work we have put into the project that we have earned...

Page 8: ...ion 10 1 1 5 Background and Prior Art There are many different quadrotor designs available but relatively few open source quadrotors The most noticeable are the AeroQuad 16 and the Ar ducopter 17 Most...

Page 9: ...ule the latter case would have a main type method and would be self supporting when running on the Propeller tool holds all the relevant development tools for that language BSTC for Spin for example c...

Page 10: ...velopment cycle a simple compilation script was devel oped A template form of this script can be found in software spin tool bst template sh This script will compile the Spin pro gram and if no errors...

Page 11: ...cronyms AT Anzhelka Terminal ATxxx Anzhelka Terminal Communication String BSTC Brad s Spin Tool Compiler EEPROM Electrically Erasable Programmable Read Only Memory ESC Electronics Speed Controller GUI...

Page 12: ...re around 15 minutes so average current drain is likely less The system is also constrained by the maximum acceleration and maximum rotation speed of the propellers Typically the propeller will not ro...

Page 13: ...must take extreme cautions in order to ensure the safety of everyone Autonomous systems are particularly dangerous because there is human behind the controls of the system and can become unpredictabl...

Page 14: ...are Introduction This section describes the quadrotor software environment 4 1 Propeller For this project we selected the Parallax Propeller as our main embedded processor This chip has several unique...

Page 15: ...ption is the built in video generation hardware that assists in creating NSTC PAL or VGA signals To make development easier for the programmer Parallax hosts a source code website that provides code f...

Page 16: ...objects are used for interfacing with external devices For example a typical Spin program might have an object for serial communication an object for VGA signal generation and an object for I2C commun...

Page 17: ...ibrary 15 The Float32 documentation includes timings and space requirements for each of the mathematical functions If we count the operations required for each block we can then calculate an estimate...

Page 18: ...ry for 496 longs If we break it into sections then the altitude and motor calculations will fit into a single cog but the moment block is too big Some optimizations will probably be able to reduce the...

Page 19: ...effective and in fact worse than nothing at all 11 Diagrams for the frame components have been included in the appendices and are also available at 1 5 1 2 Motors Propellers Since neither one of the t...

Page 20: ...up and down Figure 7 Volts vs RPM under no load As you can see that the current is linear with the voltage 5 1 3 Power Board PCB For this project we developed a custom circuit board to power the quadr...

Page 21: ...ing able to produce something that will be small enough to fit on your platform and large enough for you to solder the components onto The PCB design for the prototype took over a month to layout and...

Page 22: ...ucted out of wood and metal Ev erything was hand crafted A few components needed machining and those were done in a machine shop We developed the test stand from scratch with very little prior work to...

Page 23: ...re pulsed in a specific order The timing of the pulses determine the speed of the motor and the pulses must match the position of the motor rotor Modern brushless motor controller chips ESCs Electroni...

Page 24: ...tforward The two single wires from the Eagle Tree are connected to any two leads of the brushless motor Connecting only one lead would still allow the sensor to function but it results in slightly lar...

Page 25: ...full treatment of the math and a list of all constants see the Anzhelka mathematics document 3 6 1 Thrust Torque Test Stand Theory A good autonomous quadrotor needs to be able to measure in real unit...

Page 26: ...on a scale In a same way as thrust the force pressing on the scale can be read and with the length of the lever arm torque can be calculated Our test can measure thrust and torque simultaneously and a...

Page 27: ...e string lists below 7 1 2 Example Usages This protocol is used in the thrust torque test stand The test stand mea sures the thrust and torque using force sensors and measures the rotations per second...

Page 28: ...and to allow for parameter tuning AT is written in Python and uses the WxWidgets Python branch WxPython for the GUI AT is cross platform The AT GUI was written in WxPython and developed in part with t...

Page 29: ...ATXXX string Note this feature is still in development This table is generated at runtime so it is easy to change the number of motors and the motor parameters This was done in particular to support...

Page 30: ...wer that will have to travel through your traces that you have designed onto your board If you are trying to push 10 amps through a 6mil trace you are going to melt the trace and ruin your board Desig...

Page 31: ...senior design project is no where it needs to be as for a finished product and will require a lot more time to get there In the following weeks we hope to accomplish the following tasks Write motor PI...

Page 32: ...ch time as we have in our project Once the project is accepted by the open source community it should become self sustaining by volunteers Most likely these volunteers will come from the Parallax foru...

Page 33: ...experience Functionality is divided into tabs for easy access The motors tab allows for intuitive control of the graph and the motor table is clear and easy to understand The thrust torque test stand...

Page 34: ...ave created an identity for the project in the form of the name Anzhelka and our phoenix logo With these accomplish ments we are only a few small steps away from flying We were and are constantly surp...

Page 35: ...http forums parallax com showthread php 127372 PWM_32_V2 Question about Resolution constant 11 Vibration Loosening of Bolts and Threaded Fasteners 2012 http www boltscience com pages vibloose htm 12 E...

Page 36: ...s Texas Instraments Samples Microchip Samples Jack Mcbroom Other 15 Appendices Include the following Mathematics for quadrotors written for simpletons Source code printed in the 2 pages per page forma...

Reviews: