Rev 1014 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1003 | salvo | 1 | ********************************************************************* |
2 | GPS Implementierung von Peter Muehlenbrock ("Salvo") für Mikrokopter/FlightCrtl |
||
1016 | salvo | 3 | Stand 29.10.2008 |
1003 | salvo | 4 | Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in File Licensce_LPGL.txt und Licensce_GPL.txt |
1012 | salvo | 5 | Die Version basiert auf Holgers V00.70d. |
1003 | salvo | 6 | ********************************************************************* |
7 | Hardware-Voraussetzungen: |
||
8 | Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut |
||
9 | GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS", "NAV_POSUTM" und "NAV_VELNED" |
||
10 | mussen mit 4 HZ Updaterate aktiviert sein. Alle Meldungen im NMEA Format muessen deaktivert sein. |
||
11 | Anschluss an RX Port der FlightCRtl. Baudrate ist 57600 wie beim Kopter Tool. |
||
12 | |||
13 | Software-Voraussetzungen: |
||
14 | In timer0.h muss die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters |
||
15 | eingetragen sein. Wenn KOMPASS_OFFSET > 0 wird dieser Wert genommen |
||
16 | Wenn KOMPASS_OFFSET = 0 ist wird der UserParameter4 verwendet (=hexfile). Da die Userparameter nur ein Byte lang sind werden |
||
17 | Offsets von 0...358 Grad durch einen Wert von 0...179 dargestellt. |
||
18 | |||
19 | Betriebs-Voraussetzungen: |
||
20 | Damit der Kompass sauber funktioniert, muss die waagrechte Lage (Gashebel Vollanschlag und Gier rechts) |
||
21 | im Eeprom abgespeichert worden sein. |
||
22 | |||
23 | Parametrierung: |
||
24 | Der GPS Hold Regler ist ein PID Regler, der ueber die NaviCrtl Parameter gesteuert wird. |
||
1014 | salvo | 25 | GPS_P beschreibt den P(roportional)-Anteil, GPS_I den I(ntegral)-Anteil und GPS_D den D(ifferential)-Anteil. Mit GPS Gain kann die |
26 | Gesamtverstaerkung eingestellt worden |
||
1003 | salvo | 27 | Hier kann und muss gespielt werden.Alle Parameter koennen direkt im Mikrokoptertool in den Settings eingestellt werden. |
28 | |||
29 | Der P-Anteil wirkt einer Lageänderung entgegen. Je größer er ist, desto geringer die Regelabweichung, desto höher aber auch die Schwingneigung. |
||
30 | Der D-Anteil wirkt einer Geschwindigkeitsänderung entgegen und dient zur Reduzierung von Schwingungen, darf aber auch nicht zu gross sein. |
||
31 | Der I-Anteil dient nur dazu die Lageabweichung auf Null zu bringen. |
||
1016 | salvo | 32 | P und D Anteil mussen gut aufeinander abgestimmt sein, damit die Einschwingzeit bei gleichzeitig geringer Schwingneigung klein ist. |
1003 | salvo | 33 | Standarddwerte für P,I,D sind 60,8,100 bzw 100 für GPS Gain |
34 | Wenn alle 0 sind, ist der Regler deaktiviert. |
||
35 | |||
36 | Voraussetzungen für GPS_Hold: |
||
37 | Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positionsdaten liefern. |
||
38 | Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert. |
||
39 | Kenntlich gemacht wird dies durch einen etwas längeren Piepser nach dem Kalibrieren. Die Rote Led auf der FlightCrtl blitzt bei jedem Empfang eines kompletten |
||
40 | und korrekten Meldungsset ( "NAV_STATUS", "NAV_POSUTM" und "NAV_VELNED"). |
||
1016 | salvo | 41 | Zur Aktivierung von GPS Hold muessen die GPS und Kompass Flags im Setting enbaled sein. |
1003 | salvo | 42 | Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich. |
43 | |||
44 | Aktivierung GPS_Hold im Flug: |
||
45 | Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick |
||
1016 | salvo | 46 | für ca. 500msec in Neutrallage sind. Weicht einer der Sticks davon ab (Parameter GPS Threshold) oder liefert das GPS Modul keine Daten oder fällt der |
1003 | salvo | 47 | Kompass aus wird GPS_Hold sofort deaktiviert. |
48 | Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden. |
||
49 | |||
50 | GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe. |
||
51 | Der Magnetkompass wird nur in waagrechter Lage dazu benutzt einen internen aus dem Giergyro ermittelten "Ersatz"kompasswert |
||
52 | nach zu kalibrieren. Daher funktioniert die Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu |
||
53 | der Magnetkompass in die waagrechte Lage kommt. Da der Giergyro per Kompass automatisch offsetkorrigiert wird, ist er spätestens nach |
||
54 | einigen wenigen Minuten auch bei Temperatursprüngen ausreichend stabil. |
||
55 | Ein 3D Kompass ist damit überflüssig. |
||
56 | Die GPS Regelung benötigt zwar pro Durchlauf eine erhebliche Rechenzeit. Da sie aber nur einmal je neuem Meldungsblock vom |
||
57 | GPS Modul (also alle 250ms) aufgerufen wird, wird die Gesamtbelastung der CPU nur minimal erhöht. |
||
58 | Ein externes Naviboard ist daher nicht notwendig. |
||
59 | |||
60 | GPS Rücksturz zur Basis (GPS Home) Funktion |
||
61 | Voraussetzungen wie bei GPS Hold. |
||
1016 | salvo | 62 | GPS Mode Control hat einen Wert > 170 |
1003 | salvo | 63 | |
64 | |||
65 | Weitere Änderungen: |
||
66 | |||
67 | |||
68 | -Der Ausgang PC6 kann benutzt werden um einen Externen Multiplexer zu schalten. Dieser schaltet entweder die GPS Daten |
||
69 | (Wenn Motoren eingeschaltet sind) oder den Ausgang des Bluetoothmoduls (wenn Motoren ausgeschaltet sind) auf den RX |
||
70 | Eingang der FlightCrtl. Damit kann eine zweite UART Schnittstelle bzw. die manuelle Umschaltung entfallen |
||
71 | |||
72 | -Bei vorhandenem Kompass wird eine automatische Kompensation der Giergyrodrift durchgeführt. |
||
73 | |||
74 | |||
75 | |||
76 | |||
77 | |||
78 | |||
79 | |||
80 | |||
81 | |||
82 | |||
83 | |||
84 | |||
85 | |||
86 | |||
87 |