Subversion Repositories FlightCtrl

Rev

Rev 291 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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