Subversion Repositories FlightCtrl

Rev

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

Rev 1086 Rev 1087
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 29.10.2008
3
Stand 29.12.2008
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
Die Version basiert auf Holgers V00.70d.
5
Die Version basiert auf Holgers V00.71h.
6
********************************************************************* 
6
********************************************************************* 
7
Hardware-Voraussetzungen: 
7
Hardware-Voraussetzungen: 
8
Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut
8
Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut
9
GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS", "NAV_POSUTM" und "NAV_VELNED"
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.
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.
11
Anschluss an RX Port der FlightCRtl. Baudrate ist 57600 wie beim Kopter Tool.
12
 
12
 
13
Software-Voraussetzungen:
13
Software-Voraussetzungen:
14
In timer0.h muss die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters 
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
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 
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.
17
Offsets von 0...358 Grad durch einen Wert von 0...179 dargestellt.
18
 
18
 
19
Betriebs-Voraussetzungen:
19
Betriebs-Voraussetzungen:
20
Damit der Kompass sauber funktioniert, muss die waagrechte Lage (Gashebel Vollanschlag und Gier rechts) 
20
Damit der Kompass sauber funktioniert, muss die waagrechte Lage (Gashebel Vollanschlag und Gier rechts) 
21
im Eeprom abgespeichert worden sein.
21
im Eeprom abgespeichert worden sein.
22
 
22
 
23
Parametrierung:
23
Parametrierung:
24
Der GPS Hold Regler ist ein PID Regler, der ueber die NaviCrtl Parameter gesteuert wird.
24
Der GPS Hold Regler ist ein PID Regler, der ueber die NaviCrtl Parameter gesteuert wird.
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 
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
26
Gesamtverstaerkung eingestellt worden
27
Hier kann und muss gespielt werden.Alle Parameter koennen direkt im Mikrokoptertool in den Settings eingestellt werden.
27
Hier kann und muss gespielt werden.Alle Parameter koennen direkt im Mikrokoptertool in den Settings eingestellt werden.
28
 
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. 
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.
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.
31
Der I-Anteil dient nur dazu die Lageabweichung auf Null zu bringen.
32
P und D Anteil mussen gut aufeinander abgestimmt sein, damit die Einschwingzeit bei gleichzeitig geringer Schwingneigung klein ist.
32
P und D Anteil mussen gut aufeinander abgestimmt sein, damit die Einschwingzeit bei gleichzeitig geringer Schwingneigung klein ist.
33
Standarddwerte für P,I,D sind 60,8,100 bzw 100 für GPS Gain
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.
34
Wenn alle 0 sind, ist der Regler deaktiviert.
35
 
35
 
36
Voraussetzungen für GPS_Hold:
36
Voraussetzungen für GPS_Hold:
37
Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positionsdaten liefern.
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.
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
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").
40
und korrekten Meldungsset ( "NAV_STATUS", "NAV_POSUTM" und "NAV_VELNED").
41
Zur Aktivierung von GPS Hold muessen die GPS und Kompass Flags im Setting enbaled sein.
41
Zur Aktivierung von GPS Hold muessen die GPS und Kompass Flags im Setting enbaled sein.
42
Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich.
42
Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich.
43
 
43
 
44
Aktivierung GPS_Hold im Flug: 
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
45
Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick
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 
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 
47
Kompass aus wird GPS_Hold sofort deaktiviert.
47
Kompass aus wird GPS_Hold sofort deaktiviert.
48
Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden.
48
Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden.
49
 
49
 
50
GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe.  
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 
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 
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
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.
54
einigen wenigen Minuten auch bei Temperatursprüngen ausreichend stabil.
55
Ein 3D Kompass ist damit überflüssig.
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 
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. 
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. 
58
Ein externes Naviboard ist daher nicht notwendig. 
59
 
59
 
60
GPS Rücksturz zur Basis (GPS Home) Funktion
60
GPS Rücksturz zur Basis (GPS Home) Funktion
61
Voraussetzungen wie bei GPS Hold. 
61
Voraussetzungen wie bei GPS Hold. 
62
GPS Mode Control  hat einen Wert > 170
62
GPS Mode Control  hat einen Wert > 170
63
 
63
 
64
 
64
 
65
Weitere Änderungen:
65
Weitere Änderungen:
66
 
66
 
67
 
67
 
68
-Der Ausgang PC6 kann benutzt werden um einen Externen Multiplexer zu schalten. Dieser schaltet entweder die GPS Daten 
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 
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
70
Eingang der FlightCrtl. Damit kann eine zweite UART Schnittstelle bzw. die manuelle Umschaltung entfallen
71
 
71
 
72
-Bei vorhandenem Kompass wird eine automatische Kompensation der Giergyrodrift durchgeführt.
72
-Bei vorhandenem Kompass wird eine automatische Kompensation der Giergyrodrift durchgeführt.
73
 
73
 
74
 
74
 
75
 
75
 
76
 
76
 
77
 
77
 
78
 
78
 
79
 
79
 
80
 
80
 
81
 
81
 
82
 
82
 
83
 
83
 
84
 
84
 
85
 
85
 
86
 
86
 
87
 
87