Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
161 | salvo | 1 | ********************************************************************* |
242 | salvo | 2 | GPS Implementierung von Peter Muehlenbrock ("Salvo") für Mikrokopter/FlightCrtl |
293 | salvo | 3 | Stand 14.10.2007 |
242 | salvo | 4 | Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in File Licensce_LPGL.txt und Licensce_GPL.txt |
241 | salvo | 5 | ********************************************************************* |
161 | salvo | 6 | Hardware-Voraussetzungen: |
7 | Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut |
||
241 | salvo | 8 | GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS", "NAV_POSUTM" und "NAV_VELNED" |
9 | mussen mit 4 HZ Updaterate aktiviert sein. Anschluss an RX Port der FlightCRtl. Baudrate ist 57600 wie beim Kopter Tool. |
||
161 | salvo | 10 | |
11 | Software-Voraussetzungen: |
||
293 | salvo | 12 | in fc.h müsen die Neutralwerte ACC_NICK_NEUTRAL und ACC_ROLL_NEUTRAL |
161 | salvo | 13 | eingetragen werden. Hierzu den Kopter waagrecht ausrichten (Wasserwaage) und mit dem Mikrokoptertool |
293 | salvo | 14 | die Neutralwerte (Fenster ACC Sensor, jeweils die dargestellten Werte ohne Klammern) ermitteln. |
15 | Alternativ kann die Variable ACC_NEUTRAL_FIXED auf 0 gesetzt werden, dann wird die Lage beim Kalibrieren als Neutrallage |
||
16 | genommen (wie bei Holgers SW). |
||
17 | In timer0.h muss die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters |
||
182 | salvo | 18 | eingetragen sein. KOMPASS_OFFSET legt diesen Wert fest. |
161 | salvo | 19 | |
20 | Hexfiles: |
||
21 | Ich habe bewußt keinen Hexfile generiert, da die Neutralwerte spezifisch je Kopter sind. |
||
22 | Die SW muß also individuell compiliert werden und der Hexfile in die FlightCrtl eingebaut werden. |
||
184 | salvo | 23 | Der Lohn für die Muehe ist eine sehr driftarme Fluglageregelung sowie eine von der Startausrichtung |
24 | unabhängige waagrechte Lage in der Luft. |
||
161 | salvo | 25 | Alle Einstellungen beziehen sich auf AVR Studio von Atmel und den WIN_AVR Compiler. |
26 | |||
27 | Parametrierung: |
||
184 | salvo | 28 | Der GPS Hold Regler ist ein PID Regler, der ueber die UserParameter1(P), 2(I) und D(3) gesteuert wird. |
29 | UserParameter1 beschreibt den P-Anteil, UserParameter2 den I-Anteil und UserParameter3 den D-Anteil. |
||
258 | salvo | 30 | Hier kann und muss gespielt werden.Alle Parameter koennen direkt im Mikrokoptertool in den Settings eingestellt werden. |
242 | salvo | 31 | Standardwerte bei kaum Wind sind 8 für den P-Anteil, 1 für den I-Anteil und 12 für den D-Anteil. |
32 | Standardwerte bei leichtem verhältnissen sind 12 für den P-Anteil, 2 für den I-Anteil und 18 für den D-Anteil. |
||
291 | salvo | 33 | Standardwerte bei rauheren verhältnissen sind 16 für den P-Anteil, 2 für den I-Anteil und 20 für den D-Anteil. |
242 | salvo | 34 | Je größer die Werte des "ruckeliger" reagiert die Regelung aber desto schneller und stärker greift sie auch. |
209 | salvo | 35 | Wenn alle 0 sind, ist der Regler deaktiviert. |
161 | salvo | 36 | |
37 | Voraussetzungen für GPS_Hold: |
||
184 | salvo | 38 | Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positionsdaten liefern. |
39 | Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert. |
||
40 | Kenntlich gemacht wird dies durch einen etwas längeren Piepser nach dem Kalibrieren. |
||
194 | salvo | 41 | Das GPS Aktiv Flag im Setting muss aktiviert sein. |
42 | Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich. |
||
161 | salvo | 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 |
||
194 | salvo | 46 | fürca. 500msec in Neutrallage sind. Weicht einer der Sticks davon ab (Parameter GPS_STICK_HOLDOFF) oder liefert das GPS Modul oder fällt der |
47 | Kompass aus wird GPS_Hold sofort deaktiviert. |
||
161 | salvo | 48 | Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden. |
49 | |||
50 | GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe. |
||
184 | salvo | 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. |
||
54 | Ein 3D Kompass ist damit überflüssig. |
||
161 | salvo | 55 | |
241 | salvo | 56 | GPS Rücksturz zur Basis (GPS Home) Funktion |
225 | salvo | 57 | Voraussetzungen wie bei GPS Hold. |
291 | salvo | 58 | Die Funktion kann im Flug aktiviert werden durch Setzen des Hoehenreglerschalters. |
225 | salvo | 59 | Holgers Code habe ich so abgeändert daß der Höhenregler mit "Parameter_MaxHoehe" ab 50 aktiviert wird. |
241 | salvo | 60 | Mit einem Schalter mit Neutrallage können damit die Funktionen |
225 | salvo | 61 | Alles aus - Hoehenregler ein, GPS Home Aus - Hoehenregler Ein UND GPS Home ein |
62 | aktiviert werden. Ist noch nicht die beste Lösung und werde ich noch anpassen |
||
63 | |||
291 | salvo | 64 | Weitere Änderungen: |
65 | Bei Unterschreiten der eingestellten Warnschwelle für UBAT ertönt zunächst wie gewohnt der Piepser. Geht die Spannung weiter |
||
293 | salvo | 66 | runter wird zwangsweise die Gaseinstellung langsam reduziert um den Kopter zum Landen zu bringen |
225 | salvo | 67 | |
194 | salvo | 68 | Bekannte Schwächen: |
258 | salvo | 69 | Bei längerer Neigung weicht der Ersatzkompass ab, was zu Lageregelungsfehlern bis zum Ausbrechen führen kann. |
161 | salvo | 70 | |
71 | |||
225 | salvo | 72 | |
258 | salvo | 73 | |
161 | salvo | 74 | |
75 | |||
76 | |||
77 | |||
78 | |||
79 | |||
80 | |||
81 | |||
82 |