Subversion Repositories FlightCtrl

Rev

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
571 salvo 3
Stand 23.12.2007
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
16
Wenn KOMPASS_OFFSET = 0 ist wird der UserParameter4 verwendet (=hexfile). Da die userparameter nur ein Byte lang sind werden Offsets von 0...358 Grad
17
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.
571 salvo 27
Standardwert ist 90 für den P-Anteil,24 für den I-Anteil und 130 für den D-Anteil.
542 salvo 28
Je größer die Werte desto "ruckeliger" reagiert die Regelung aber desto schneller und stärker greift sie auch.
528 salvo 29
Wenn alle 0 sind, ist der Regler deaktiviert.
30
 
31
Voraussetzungen für GPS_Hold:
32
Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positionsdaten liefern.
33
Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert.
34
Kenntlich gemacht wird dies durch einen etwas längeren Piepser nach dem Kalibrieren.
35
Das GPS Aktiv Flag im Setting muss aktiviert sein.
36
Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich.
37
 
38
Aktivierung GPS_Hold im Flug:
39
Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick
40
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
41
Kompass aus wird GPS_Hold sofort deaktiviert.
42
Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden.
43
 
44
GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe.
45
Der Magnetkompass wird nur in waagrechter Lage dazu benutzt einen internen aus dem Giergyro ermittelten "Ersatz"kompasswert
46
nach zu kalibrieren. Daher funktioniert die Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu
47
der Magnetkompass in die waagrechte Lage kommt.
48
Ein 3D Kompass ist damit überflüssig.
49
 
50
GPS Rücksturz zur Basis (GPS Home) Funktion
51
Voraussetzungen wie bei GPS Hold.
52
Die Funktion kann im Flug aktiviert werden durch Setzen des Hoehenreglerschalters.
53
Holgers Code habe ich so abgeändert daß der Höhenregler mit "Parameter_MaxHoehe" ab 50 aktiviert wird.
54
Mit einem Schalter mit Neutrallage können damit die Funktionen
55
Alles aus - Hoehenregler ein, GPS Home Aus - Hoehenregler Ein UND GPS Home ein
56
aktiviert werden. Ist noch nicht die beste Lösung und werde ich noch anpassen
57
 
58
Weitere Änderungen:
565 salvo 59
-Bei Unterschreiten der eingestellten Warnschwelle für UBAT ertönt zunächst wie gewohnt der Piepser. Geht die Spannung weiter
542 salvo 60
runter wird zwangsweise die Gaseinstellung langsam reduziert um den Kopter zum Landen zu bringen.
565 salvo 61
-Der Ausgang PC6 kann benutzt werden um einen Externen Multiplexer zu schalten. Dieser schaltet entweder die GPS Daten
542 salvo 62
(Wenn Motoren eingeschaltet sind)  oder den Ausgang des Bluetoothmoduls (wenn Motoren ausgeschaltet sind)  auf den RX
63
Eingang der FlightCrtl. Damit kann eine zweite UART Schnittstelle bzw. die manuelle Umschaltung entfallen
565 salvo 64
-Bei vorhandenem Kompass wird eine automatische Kompensation der Giergyrodrift durchgeführt.
528 salvo 65
 
66
 
67
 
68
 
69
 
565 salvo 70
 
528 salvo 71
 
72
 
73
 
74
 
75
 
76
 
77
 
78
 
79