Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
161 | salvo | 1 | ********************************************************************* |
2 | GPS Implementierung von Peter Muehlenbrock ("Salvo") fuer Mikrokopter/FlightCrtl |
||
167 | salvo | 3 | Stand 25.9.2007 |
161 | salvo | 4 | Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in den Files gps.c, math.c |
5 | |||
6 | ********************************************************************* |
||
7 | |||
8 | Hardware-Voraussetzungen: |
||
9 | Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut |
||
10 | GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS, NAV_POSUTM und NAV_VELED" |
||
11 | mussen mit 4 HZ Updaterate aktiviert sein. Anschluss an RX Port der FlightCRtl |
||
12 | |||
13 | Software-Voraussetzungen: |
||
14 | in fc.h muessen die Neutralwerte ACC_X_NEUTRAL, ACC_Y_NEUTRAL und ACC_Z_NEUTRAL |
||
15 | eingetragen werden. Hierzu den Kopter waagrecht ausrichten (Wasserwaage) und mit dem Mikrokoptertool |
||
16 | die Neutralwerte ermitteln. |
||
17 | In timer0.h muess die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters |
||
18 | eingetragen sein. KOMPASS_OFFSET legt diesen Wert fest. |
||
19 | |||
20 | |||
21 | Hexfiles: |
||
22 | Ich habe bewußt keinen Hexfile generiert, da die Neutralwerte spezifisch je Kopter sind. |
||
23 | Die SW muß also individuell compiliert werden und der Hexfile in die FlightCrtl eingebaut werden. |
||
24 | Der Lohn fuer die Muehe ist eine sehr driftarme Fluglageregelung sowie eine von der Startausrichtung |
||
25 | unabhaengige waagrechte Lage in der Luft. |
||
26 | Alle Einstellungen beziehen sich auf AVR Studio von Atmel und den WIN_AVR Compiler. |
||
27 | |||
28 | Parametrierung: |
||
167 | salvo | 29 | Der GPS Hold Regler ist ein PID Regler, der ueber die UserParameter1(I), 2(P) und D(3) gesteuert wird. |
30 | UserParameter1 beschreibt den I-Anteil, UserParameter2 den P Antei, UserParameter3 den D Anteil. |
||
31 | Hier kann gespielt werden. Wenn alle 0 sind, ist der Regler deaktiviert. |
||
32 | Standardwerte sind 1 fuer Parameter1, 32 fuer Parameter 2 und 4 fuer Parameter 3. |
||
161 | salvo | 33 | |
34 | Voraussetzungen für GPS_Hold: |
||
35 | Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positions |
||
36 | daten liefern. Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert. |
||
37 | Kenntlich gemacht wird dies durch einen etwas laengeren Piepser nach dem Kalibrieren. |
||
167 | salvo | 38 | Das GPS Aktiv Flag im Setting muss aktiviert sein. Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich. |
161 | salvo | 39 | |
40 | Aktivierung GPS_Hold im Flug: |
||
41 | Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick |
||
42 | fuer ca. 500msec in Neutrallage sind. Weicht einer der Sticks davon ab (Parameter GPS_STICK_HOLDOFF) wird GPS_Hold sofort deaktiviert. |
||
43 | Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden. |
||
44 | |||
45 | GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe. |
||
46 | Der Magnetkompass wird nur in waagrechter Lage dazu benutzt einen |
||
47 | internen aus dem Giergyro ermittelten "Ersatz"kompasswert nach zu kalibrieren. Daher funktioniert die |
||
167 | salvo | 48 | Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu der Magnetkompass in die waagrechte Lage kommt. |
161 | salvo | 49 | Ein 3D Kompass ist damit überfluessig. |
50 | |||
51 | Bekannte Maengel: |
||
52 | ????? |
||
53 | |||
54 | Ausblick: |
||
55 | Als nächstes ist die GPS Home Funktion geplant. |
||
56 | |||
57 | |||
58 | |||
59 | |||
60 | |||
61 | |||
62 | |||
63 | |||
64 | |||
65 |