Subversion Repositories FlightCtrl

Rev

Rev 182 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 182 Rev 184
Line 1... Line 1...
1
*********************************************************************
1
*********************************************************************
2
GPS Implementierung von Peter Muehlenbrock ("Salvo") fuer Mikrokopter/FlightCrtl
2
GPS Implementierung von Peter Muehlenbrock ("Salvo") fürMikrokopter/FlightCrtl
3
Stand 28.9.2007
3
Stand 29.9.2007
4
Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in den Files gps.c, math.c
4
Verwendung der SW ohne Gewaehr. Siehe auch die Lizenzbedingungen in den Files gps.c, math.c
5
 
-
 
6
*********************************************************************
5
*********************************************************************
Line 7... Line 6...
7
 
6
 
8
Hardware-Voraussetzungen: 
7
Hardware-Voraussetzungen: 
9
Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut
8
Kalibrierter Kompass vom Typ CMPS03, waagrecht eingebaut
10
GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS, NAV_POSUTM und NAV_VELED"
9
GPS Modul vom Typ ublox, Die Meldungungen "NAV_STATUS", "NAV_POSUTM" und "NAV_VELED"
Line 11... Line 10...
11
mussen mit 4 HZ Updaterate aktiviert sein. Anschluss an RX Port der FlightCRtl.
10
mussen mit 4 HZ Updaterate aktiviert sein. Anschluss an RX Port der FlightCRtl.
12
 
11
 
13
Software-Voraussetzungen:
12
Software-Voraussetzungen:
14
in fc.h muessen die Neutralwerte ACC_X_NEUTRAL, ACC_Y_NEUTRAL und ACC_Z_NEUTRAL
13
in fc.h müsen die Neutralwerte ACC_X_NEUTRAL und ACC_Y_NEUTRAL
15
eingetragen werden. Hierzu den Kopter waagrecht ausrichten (Wasserwaage) und mit dem Mikrokoptertool 
14
eingetragen werden. Hierzu den Kopter waagrecht ausrichten (Wasserwaage) und mit dem Mikrokoptertool 
16
die Neutralwerte ermitteln. 
15
die Neutralwerte ermitteln. 
Line 17... Line 16...
17
In timer0.h muess die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters 
16
In timer0.h muess die Ausrichtung des Kompasses bezogen auf die Nordachse des Kopters 
18
eingetragen sein. KOMPASS_OFFSET legt diesen Wert fest. 
17
eingetragen sein. KOMPASS_OFFSET legt diesen Wert fest. 
19
 
18
 
20
Hexfiles:
19
Hexfiles:
21
Ich habe bewußt keinen Hexfile generiert, da die Neutralwerte spezifisch je Kopter sind. 
20
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.
21
Die SW muß also individuell compiliert werden und der Hexfile in die FlightCrtl eingebaut werden.
Line 23... Line 22...
23
Der Lohn fuer die Muehe ist eine sehr driftarme Fluglageregelung sowie eine von der Startausrichtung 
22
Der Lohn für die Muehe ist eine sehr driftarme Fluglageregelung sowie eine von der Startausrichtung 
24
unabhaengige waagrechte Lage in der Luft.
23
unabhängige waagrechte Lage in der Luft.
25
Alle Einstellungen beziehen sich auf AVR Studio von Atmel und den WIN_AVR Compiler.
24
Alle Einstellungen beziehen sich auf AVR Studio von Atmel und den WIN_AVR Compiler.
26
 
25
 
27
Parametrierung:
26
Parametrierung:
Line 28... Line 27...
28
Der GPS Hold Regler ist ein PID Regler, der ueber die UserParameter1(I), 2(P) und D(3) gesteuert wird.
27
Der GPS Hold Regler ist ein PID Regler, der ueber die UserParameter1(P), 2(I) und D(3) gesteuert wird.
29
UserParameter1 beschreibt den I-Anteil, UserParameter2 den P-Anteil, UserParameter3 den D-Anteil.
28
UserParameter1 beschreibt den P-Anteil, UserParameter2 den I-Anteil und UserParameter3 den D-Anteil.
30
Hier kann gespielt werden. Wenn alle 0 sind, ist der Regler deaktiviert.
29
Hier kann und muss gespielt werden. Wenn alle 0 sind, ist der Regler deaktiviert.
31
Standardwerte sind 1 fuer Parameter1, 2 fuer Parameter2 und 4 fuer Parameter3.
30
Standardwerte sind 8 für den P-Anteil, 1 für den I-Anteil und 18 für den D-Anteil.
32
 
31
 
Line 33... Line 32...
33
Voraussetzungen für GPS_Hold:
32
Voraussetzungen für GPS_Hold:
34
Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positions
33
Neben den genannten HW und SW Voraussetzungen muß beim Kalibrieren das GPS MOdul bereits Positionsdaten liefern.
35
daten liefern. Nur dann wird die Home Position abgespeichert und nur dann wird GPS_Hold aktiviert.
34
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.
35
Kenntlich gemacht wird dies durch einen etwas längeren Piepser nach dem Kalibrieren.
37
Das GPS Aktiv Flag im Setting muss aktiviert sein. Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich.
36
Das GPS Aktiv Flag im Setting muss aktiviert sein. Eine Ausrichtung des Kopters nach Nord etc. ist nicht erforderlich.
Line 38... Line 37...
38
 
37
 
39
Aktivierung GPS_Hold im Flug: 
38
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
39
Wenn alle genannten Voraussetzungen erfüllt sind, wird GPS Hold im Flug automatisch aktiviert, sobald der Nick und Roll Stick
41
fuer ca. 500msec in Neutrallage sind. Weicht einer der Sticks davon ab (Parameter GPS_STICK_HOLDOFF) oder liefert das GPS Modul keine
40
fürca. 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.
41
gueltigen Daten mehr wird GPS_Hold sofort deaktiviert.
Line 43... Line 42...
43
Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden.
42
Damit kann jederzeit die manuelle Kontrolle wieder übernommen werden.
44
 
43
 
45
GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe.  
44
GPS_Hold regelt nur horizontale Abweichungen, keine Hoehe.