Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
528 | salvo | 1 | ********************************************************************* |
2 | GPS Implementierung von Peter Muehlenbrock ("Salvo") für Mikrokopter/FlightCrtl |
||
629 | salvo | 3 | Stand 9.1.2008 |
528 | salvo | 4 | Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in File Licensce_LPGL.txt und Licensce_GPL.txt |
529 | salvo | 5 | Die Version basiert auf Holgers V00.67g. |
528 | 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" |
||
565 | salvo | 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. |
||
528 | salvo | 12 | |
13 | Software-Voraussetzungen: |
||
14 | In timer0.h muss die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters |
||
571 | salvo | 15 | eingetragen sein. Wenn KOMPASS_OFFSET > 0 wird dieser Wert genommen |
629 | salvo | 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. |
||
528 | salvo | 18 | |
529 | salvo | 19 | Betriebs-Voraussetzungen: |
532 | salvo | 20 | Damit der Kompass sauber funktioniert, muss die waagrechte Lage (Gashebel Vollanschlag und Gier rechts) |
542 | salvo | 21 | im Eeprom abgespeichert worden sein. |
528 | salvo | 22 | |
23 | Parametrierung: |
||
24 | Der GPS Hold Regler ist ein PID Regler, der ueber die UserParameter1(P), 2(I) und D(3) gesteuert wird. |
||
25 | UserParameter1 beschreibt den P-Anteil, UserParameter2 den I-Anteil und UserParameter3 den D-Anteil. |
||
26 | Hier kann und muss gespielt werden.Alle Parameter koennen direkt im Mikrokoptertool in den Settings eingestellt werden. |
||
631 | salvo | 27 | Standarddwerte für P,I,D sind 80,0,120. |
542 | salvo | 28 | Je größer die Werte desto "ruckeliger" reagiert die Regelung aber desto schneller und stärker greift sie auch. |
616 | salvo | 29 | P und D Anteil mussen aufeinander abgestimmt sein, damit die Schwingneigung möglichst klein wird. |
528 | salvo | 30 | Wenn alle 0 sind, ist der Regler deaktiviert. |
31 | |||
32 | Voraussetzungen für GPS_Hold: |
||
33 | Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positionsdaten liefern. |
||
34 | Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert. |
||
35 | Kenntlich gemacht wird dies durch einen etwas längeren Piepser nach dem Kalibrieren. |
||
36 | Das GPS Aktiv Flag im Setting muss aktiviert sein. |
||
37 | Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich. |
||
38 | |||
39 | Aktivierung GPS_Hold im Flug: |
||
40 | Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick |
||
629 | salvo | 41 | für ca. 500msec in Neutrallage sind. Weicht einer der Sticks davon ab (Parameter GPS_STICK_HOLDOFF) oder liefert das GPS Modul oder fällt der |
528 | salvo | 42 | Kompass aus 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 internen aus dem Giergyro ermittelten "Ersatz"kompasswert |
||
47 | nach zu kalibrieren. Daher funktioniert die Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu |
||
48 | der Magnetkompass in die waagrechte Lage kommt. |
||
49 | Ein 3D Kompass ist damit überflüssig. |
||
50 | |||
51 | GPS Rücksturz zur Basis (GPS Home) Funktion |
||
52 | Voraussetzungen wie bei GPS Hold. |
||
53 | Die Funktion kann im Flug aktiviert werden durch Setzen des Hoehenreglerschalters. |
||
54 | Holgers Code habe ich so abgeändert daß der Höhenregler mit "Parameter_MaxHoehe" ab 50 aktiviert wird. |
||
55 | Mit einem Schalter mit Neutrallage können damit die Funktionen |
||
56 | Alles aus - Hoehenregler ein, GPS Home Aus - Hoehenregler Ein UND GPS Home ein |
||
57 | aktiviert werden. Ist noch nicht die beste Lösung und werde ich noch anpassen |
||
58 | |||
59 | Weitere Änderungen: |
||
565 | salvo | 60 | -Bei Unterschreiten der eingestellten Warnschwelle für UBAT ertönt zunächst wie gewohnt der Piepser. Geht die Spannung weiter |
542 | salvo | 61 | runter wird zwangsweise die Gaseinstellung langsam reduziert um den Kopter zum Landen zu bringen. |
565 | salvo | 62 | -Der Ausgang PC6 kann benutzt werden um einen Externen Multiplexer zu schalten. Dieser schaltet entweder die GPS Daten |
542 | salvo | 63 | (Wenn Motoren eingeschaltet sind) oder den Ausgang des Bluetoothmoduls (wenn Motoren ausgeschaltet sind) auf den RX |
64 | Eingang der FlightCrtl. Damit kann eine zweite UART Schnittstelle bzw. die manuelle Umschaltung entfallen |
||
565 | salvo | 65 | -Bei vorhandenem Kompass wird eine automatische Kompensation der Giergyrodrift durchgeführt. |
528 | salvo | 66 | |
67 | |||
68 | |||
69 | |||
70 | |||
565 | salvo | 71 | |
528 | salvo | 72 | |
73 | |||
74 | |||
75 | |||
76 | |||
77 | |||
78 | |||
79 | |||
80 |