Subversion Repositories FlightCtrl

Rev

Rev 167 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
161 salvo 1
*********************************************************************
2
GPS Implementierung von Peter Muehlenbrock ("Salvo") fuer Mikrokopter/FlightCrtl
182 salvo 3
Stand 28.9.2007
161 salvo 4
Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in den Files gps.c, math.c
5
 
6
*********************************************************************
7
 
8
Hardware-Voraussetzungen:
9
Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut
10
GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS, NAV_POSUTM und NAV_VELED"
182 salvo 11
mussen mit 4 HZ Updaterate aktiviert sein. Anschluss an RX Port der FlightCRtl.
161 salvo 12
 
13
Software-Voraussetzungen:
14
in fc.h muessen die Neutralwerte ACC_X_NEUTRAL, ACC_Y_NEUTRAL und ACC_Z_NEUTRAL
15
eingetragen werden. Hierzu den Kopter waagrecht ausrichten (Wasserwaage) und mit dem Mikrokoptertool
16
die Neutralwerte ermitteln.
17
In timer0.h muess 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.
23
Der Lohn fuer die Muehe ist eine sehr driftarme Fluglageregelung sowie eine von der Startausrichtung
24
unabhaengige waagrechte Lage in der Luft.
25
Alle Einstellungen beziehen sich auf AVR Studio von Atmel und den WIN_AVR Compiler.
26
 
27
Parametrierung:
167 salvo 28
Der GPS Hold Regler ist ein PID Regler, der ueber die UserParameter1(I), 2(P) und D(3) gesteuert wird.
182 salvo 29
UserParameter1 beschreibt den I-Anteil, UserParameter2 den P-Anteil, UserParameter3 den D-Anteil.
167 salvo 30
Hier kann gespielt werden. Wenn alle 0 sind, ist der Regler deaktiviert.
182 salvo 31
Standardwerte sind 1 fuer Parameter1, 2 fuer Parameter2 und 4 fuer Parameter3.
161 salvo 32
 
33
Voraussetzungen für GPS_Hold:
34
Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positions
35
daten liefern. Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert.
36
Kenntlich gemacht wird dies durch einen etwas laengeren Piepser nach dem Kalibrieren.
167 salvo 37
Das GPS Aktiv Flag im Setting muss aktiviert sein. Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich.
161 salvo 38
 
39
Aktivierung GPS_Hold im Flug:
40
Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick
182 salvo 41
fuer ca. 500msec in Neutrallage sind. Weicht einer der Sticks davon ab (Parameter GPS_STICK_HOLDOFF) oder liefert das GPS Modul keine
42
gueltigen Daten mehr wird GPS_Hold sofort deaktiviert.
161 salvo 43
Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden.
44
 
45
GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe.
46
Der Magnetkompass wird nur in waagrechter Lage dazu benutzt einen
47
internen aus dem Giergyro ermittelten "Ersatz"kompasswert nach zu kalibrieren. Daher funktioniert die
167 salvo 48
Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu der Magnetkompass in die waagrechte Lage kommt.
161 salvo 49
Ein 3D Kompass ist damit überfluessig.
50
 
51
Bekannte Maengel:
182 salvo 52
Leichte Schwingneigung, bei laengerer Neigung weicht der Ersatzkompass
53
PID Regler muss noch esser parametriert werden.
161 salvo 54
 
55
 
56
 
57
 
58
 
59
 
60
 
61
 
62
 
63
 
64