- •Juhendajad: Maido Hiiemaa, Ahti Põlder
- •4.1 Disaini optimeerimine.
- •2012 Tallinn
- •Meeskond.
- •1.1 Panus
- •Töö teema
- •Nõuded.
- •Komponentid kasutamisele
- •Töö plaan
- •Mehaanika osa
- •4.2 Material.
- •4.3 Jalad.
- •4.4 Amortiseerimine.
- •Elektroonika. Eagle Cad.
- •5.2 Trükkplaat.
- •5.3 Plaadi lõikamine cnc abil.
- •5.4 Viimane samm. Jootmine.
- •5.5 Tegemata tööd ja optimeerimine.
- •5.6 Maksus
- •Programmeerimine
- •Kokkuvõte
5.2 Trükkplaat.
Meeskonna osa, kes arendasid mehaanika otsustasid, et elektroonika plaat ei pea olema rohkem, kui 150x150. Selle mõte lähtudes me proovisime valima optimaalne elementide paigaldus. Kõige oluline on sensori plaadi paigaldus. See peab olema täpselt trükkplaadi keskel.
Meie teekonnas oli palju ebaõnnestunud katseid. Lõplik variant on ühepoolne. Selleks et plaat oli niisugune, me kasutame jumpereid.
Pic.3. Trükkplaadi lõplik variant
Rajate laius oli valitud nende eesmärgi lähtudes. Toite jaoks me püüdsime teha neid laiem. I2C signaali jaoks vaid laius pole nii oluline.
Meie plaadil groundid on ühendatud koos ning need lähevad aku miinusele.
5.3 Plaadi lõikamine cnc abil.
Selleks et oleks
võimalik lõikata CNC abil, on vaja korraldada Eagle .brd plaadi
ümber Galaadi gerbiri formaadiks. Selle jaoks me kasutasime Eagle
CAM Processor ning gerb274x.cam CAM Job. Väljas saime 4 faili, aga
oli vajalik ainult plaadi alamine pool, s.t. gerberi .sol formaat.
Pic. 4. Skeem Percivalis ilma ääretriipu.
Kui ülekanne oli lõpetud, me tegime simuleerimist ja alustasime plaadi lõikamist CNC abil. Ole tehtud kriitiline viga. Skeemi oli vaja peegeldada Percivalis, sest rajad olid plaadi alumisel pool. Seda ei ole arvestatud. Selle tõttu plaat oli lõigatud uuesti...
Pic. 5. Plaadi lõikamine CNC-s.
5.4 Viimane samm. Jootmine.
Tellimuse ajal me puutusime kokku probleemiga, et Oomipoe valikus ei olnud komponenteid parameetritega, mis me valisime projekteerimise ajal. Sellepärast tegelikult meie plaadil on kasutatud muud kondensaatorid.
Me jootsime esimest korda meie elus. Sellepärast mõned osad ei ole joodetud nii korralikult.
5.5 Tegemata tööd ja optimeerimine.
Aja- ja komponentidepuuduse tõttu meie kopteris on ainult üks mootorikontroller ühendatud arendusplaadiga ning ainult üks motoor võib töötada.
Sensoriplaadi teljed ei lange kokku kopteri füüsilise teljetega. Probleem tekkis programmerijate- ja elektroonikameeskonna ebaarusaamise pärast. Optimeerimiseks tuleb pöörata plaadi 45 kraadi.
5.6 Maksus
Programmeerimine
Programmeerimise idee, mis oli algus. On esitatud inglise keeles.
So... What is there? Logic is really simple. There are 3 (2?) sticks for control, one button for start/finish and one button for smooth flight. Let’s see.
Stick on controller can be in different positions. Lets determine this positions in few intervals:
Left stick Right stick
For example left one will be moving stick. There: 4D is middle position. Positions 1-3 for the move to the left, positions 5-7 for the move to the right. Positions A-C for the move to the front, E-G for for the move to the back. Easy, yeah? Pushing stick from middle will increase movement speed, if I will push stick to position 5, copter should move to right realy slowly; and if I push stick to position 7, it will move much faster. What happens, if you set stick to 2B position? Yes, copter will fly to the left and forward.
On the right stick position A-G are for change height, 1-3 rotation counter-clockwise and 5-7 rotation clockwise.
There are 4 motors, lets give them names:
Function |
North |
East |
South |
West |
Forward |
decrease |
decrease |
increase |
increase |
Back |
increase |
increase |
decrease |
decrease |
Left |
decrease |
increase |
increase |
decrease |
Right |
increase |
decrease |
decrease |
increase |
Clockwise |
increase |
decrease |
increase |
decrease |
C-Clockwise |
decrease |
increase |
decrease |
increase |
Up |
increase |
increase |
increase |
increase |
Down |
decrease |
decrease |
decrease |
decrease |
There are some rotations per second, for example 100. If I change stick to 3C position, copter should slowly move to the right and for forward. Lets suppose, that for slowly moving enough change 10 rotations per second. So…
|
North |
East |
South |
West |
Old rotations |
100 |
100 |
100 |
100 |
Forward |
Decrease -10 |
Decrease -10 |
Increase +10 |
Increase +10 |
Left |
Decrease -10 |
Increase +10 |
Increase +10 |
Decrease -10 |
New rotations |
80 |
100 |
120 |
100 |
That should work, I think.
Now, few words about alignment. Right now, I don’t know, what kind of data is coming from the hyroscope, so there can be 2 different variants, but I think there will be angle gamma between horizontal plane (see pic).
Actually, alignment will work same in all variants, but with different parameters.
For example, if there is to mutch angle, between copter and horizontal position, copter should increase routes on south and west; and decrease routes on north and east; after what copter should be more to the horizontal position. Sure, that “algoritm” is not perfect, but we can rewrite it after (or someone will do better now). In perfect condition, it should change rotations in accordance with the positions of sticks I final step of scheme:
Smooth function (optional). Important thing, that for a short period of time can not be increased or decreased by a large amount turnovers, because the real mechanical systems have inertia. Therefore it is necessary to smoothly vary engine speed. So, the graph will have a braking acceleration curve (s. pic). The movement distance is equal to the distance divided by the speed. Speed during deceleration will decrease linearly with time, for example (though in fact the speed graph will be in the form tangensoidy because acceleration deceleration will increase gradually to the middle of the road, and then also gradually reduced).
Graph of acceleration or deceleration
