Rev 182 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 182 | Rev 184 | ||
---|---|---|---|
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 | ********************************************************************* |
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" |
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. |
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. |
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: |
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 | ||
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. |
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. |
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. |
46 | Der Magnetkompass wird nur in waagrechter Lage dazu benutzt einen |
45 | Der Magnetkompass wird nur in waagrechter Lage dazu benutzt einen internen aus dem Giergyro ermittelten "Ersatz"kompasswert |
47 | internen aus dem Giergyro ermittelten "Ersatz"kompasswert nach zu kalibrieren. Daher funktioniert die |
46 | nach zu kalibrieren. Daher funktioniert die Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu |
48 | Bstimmung der Kopterausrichtung in jeder Lebenslage, sofern nur ab und zu der Magnetkompass in die waagrechte Lage kommt. |
47 | der Magnetkompass in die waagrechte Lage kommt. |
49 | Ein 3D Kompass ist damit überfluessig. |
48 | Ein 3D Kompass ist damit überflüssig. |
50 | 49 | ||
51 | Bekannte Maengel: |
50 | Bekannte Maengel: |
52 | Leichte Schwingneigung, bei laengerer Neigung weicht der Ersatzkompass |
51 | Leichte Schwingneigung, bei längerer Neigung weicht der Ersatzkompass ab. |
53 | PID Regler muss noch esser parametriert werden. |
52 | PID Regler muss noch besser parametriert werden. |
54 | 53 | ||
55 | 54 | ||
56 | 55 | ||
57 | 56 | ||
58 | 57 | ||
59 | 58 | ||
60 | 59 | ||
61 | 60 | ||
62 | 61 | ||
63 | 62 | ||
64 | 63 |