Subversion Repositories FlightCtrl

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
161 salvo 1
*********************************************************************
184 salvo 2
GPS Implementierung von Peter Muehlenbrock ("Salvo") fürMikrokopter/FlightCrtl
209 salvo 3
Stand 3.10.2007
161 salvo 4
Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in den Files gps.c, math.c
5
*********************************************************************
6
 
7
Hardware-Voraussetzungen:
8
Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut
184 salvo 9
GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS", "NAV_POSUTM" und "NAV_VELED"
182 salvo 10
mussen mit 4 HZ Updaterate aktiviert sein. Anschluss an RX Port der FlightCRtl.
161 salvo 11
 
12
Software-Voraussetzungen:
184 salvo 13
in fc.h müsen die Neutralwerte ACC_X_NEUTRAL und ACC_Y_NEUTRAL
161 salvo 14
eingetragen werden. Hierzu den Kopter waagrecht ausrichten (Wasserwaage) und mit dem Mikrokoptertool
15
die Neutralwerte ermitteln.
16
In timer0.h muess die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters
182 salvo 17
eingetragen sein. KOMPASS_OFFSET legt diesen Wert fest.
161 salvo 18
 
19
Hexfiles:
20
Ich habe bewußt keinen Hexfile generiert, da die Neutralwerte spezifisch je Kopter sind.
21
Die SW muß also individuell compiliert werden und der Hexfile in die FlightCrtl eingebaut werden.
184 salvo 22
Der Lohn für die Muehe ist eine sehr driftarme Fluglageregelung sowie eine von der Startausrichtung
23
unabhängige waagrechte Lage in der Luft.
161 salvo 24
Alle Einstellungen beziehen sich auf AVR Studio von Atmel und den WIN_AVR Compiler.
25
 
26
Parametrierung:
184 salvo 27
Der GPS Hold Regler ist ein PID Regler, der ueber die UserParameter1(P), 2(I) und D(3) gesteuert wird.
28
UserParameter1 beschreibt den P-Anteil, UserParameter2 den I-Anteil und UserParameter3 den D-Anteil.
209 salvo 29
Hier kann und muss gespielt werden.
30
Standardwerte sind 8 für den P-Anteil, 3 für den I-Anteil und 12 für den D-Anteil.
31
Wenn alle 0 sind, ist der Regler deaktiviert.
161 salvo 32
 
33
Voraussetzungen für GPS_Hold:
184 salvo 34
Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positionsdaten liefern.
35
Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert.
36
Kenntlich gemacht wird dies durch einen etwas längeren Piepser nach dem Kalibrieren.
194 salvo 37
Das GPS Aktiv Flag im Setting muss aktiviert sein.
38
Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich.
161 salvo 39
 
40
Aktivierung GPS_Hold im Flug:
41
Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick
194 salvo 42
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
43
Kompass aus wird GPS_Hold sofort deaktiviert.
161 salvo 44
Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden.
45
 
46
GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe.
184 salvo 47
Der Magnetkompass wird nur in waagrechter Lage dazu benutzt einen internen aus dem Giergyro ermittelten "Ersatz"kompasswert
48
nach zu kalibrieren. Daher funktioniert die Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu
49
der Magnetkompass in die waagrechte Lage kommt.
50
Ein 3D Kompass ist damit überflüssig.
161 salvo 51
 
194 salvo 52
Bekannte Schwächen:
209 salvo 53
Leichte Schwingneigung ca. +-3m, bei längerer Neigung weicht der Ersatzkompass ab.
184 salvo 54
PID Regler muss noch besser parametriert werden.
161 salvo 55
 
56
 
57
 
58
 
59
 
60
 
61
 
62
 
63
 
64
 
65