Subversion Repositories FlightCtrl

Rev

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