Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
772 | killagreg | 1 | V0.68d Ausgangsversion. |
2 | |||
3 | G.Stobrawa 06.03.2008: |
||
4 | |||
5 | - Code stärker modularisiert und restrukturiert |
||
6 | - viele Kommentare zur Erklärug eingefügt |
||
7 | - konsequent englische Variablennamen |
||
8 | - PPM24 Support für bis zu 12 RC-Kanäle. |
||
9 | - Support für Kompass CMPS01 oder MM3 (mit verbesserte Neigungskompensation, stabilere Kommunikation) (Option im Makefile) |
||
10 | - 2. Uart wird nun unterstützt (MCU = atmega644p im Makefile) |
||
11 | - Ausertung des UBX-Pprotocols an 1. oder 2. Uart |
||
12 | - einige kleinere Bugfixes |
||
13 | - GPS-Hold-Funktion hinzugefügt |
||
14 | - GPS-Home-Funktion hinzugefügt (wird beim Motorstart gelernt, und bei Motorenstop wieder gelöscht) |
||
15 | - Poti3 steuert die GPS Funktionen (Poti3 < 70:GPS inaktiv, 70<=Poti3<160: GPS Hold, 160<=Poti3: GPS Home) |
||
16 | - LED Steuerung an J16, parametrierbar durch die User Parameter 7 & 8. UserParam7 legt die LEDOnTime in Vielfachen von 2ms fest |
||
17 | und UserParam 8 die LEDOffTime. |
||
18 | - Zusätzliche Punkte im Menü des KopterTool zur Anzeige des GPS-Status und der MM3-Kalibierparameter |
||
19 | |||
20 | |||
21 | - Hardware Configuration: |
||
22 | |||
23 | - Die PWM des CMPS03 wird wie bisher standard über den Port PC4 (Pin5 an SV1 der FC) eingelesen. |
||
24 | - Der MM3 wird wie folgt verbunden. |
||
25 | |||
26 | FC 1.0/1.1/1.2 Level Shifter MM3 |
||
27 | SCK (Pin1 SV5) ---> SCK (Pin1) |
||
28 | MISO (Pin3 SV5) <--- MISO (Pin2) |
||
29 | MOSI (Pin5 SV5) ---> MOSI (Pin3) |
||
30 | GND (Pin6 SV5) ---> GND (Pin7 / Pin14) |
||
31 | PC4 (Pin5 SV1) ---> SS (Pin4) |
||
32 | PC5 (Pin6 SV1) ---> RESET (Pin6) |
||
33 | |||
34 | Zusatzlich benötigt der MM3 noch eine 3V oder 3V3 Versorgung an VDD (Pin12). |
||
35 | |||
36 | Für das UBLOX-Modul muss noch GPS-GND mit FC-GND (Pin7 SV1) und die GPS-TXD Leitung mit FC-RXD (Pin1 SV1) verbunden werden, |
||
37 | wenn man die FC 1.0 verwendet. Für die FC 1.1/1.2 mit Atmega644p-Bestückung benötigt man mit FC-RXD1 (Pin3 SV1) bei der |
||
38 | FC1.1/1.2 wenn der Atmega 644p verbaut ist. Zusaätzlich bentigt das UBLOX-Modul noch eine 5V-Versorgung die ggf. von |
||
39 | der FC (an Pin2 SV1) abgegriffen werden kann. |
||
40 | |||
41 | |||
42 | - Konfiguration des MK. |
||
43 | Es sollte ein Haken bei GPS und Kompass gesetzt sein. |
||
44 | |||
45 | - User Parameters: |
||
46 | Parameter 3 --> Calibration factor for transforming Gyro Integrals to angular degrees (~170) |
||
47 | Parameter 4 --> Angle between the MM3 Board (Arrow) and the MK head (typical ~180) |
||
48 | Parameter 5 --> P-Factor for GPS PD controller (~100) |
||
49 | Parameter 6 --> D-Factor for GPS PD controller (~80) |
||
50 | Parameter 7 --> LEDOnTime for J16 |
||
51 | Parameter 8 --> LEDOfftime for J16 |
||
52 | |||
53 | - Zusätzliche akustische Signale: |
||
54 | |||
55 | Dauerton: Eine GPS-Funktion is aktiviert und es werden keine oder |
||
56 | unvollständige GPS-Daten via UART empfangen. |
||
57 | Hier ist zu berücksichtigen, dass die folgenden UBX Messages am UBLOX |
||
58 | aktiviert wurden: NAV - POSLLH, NAV-SOL, NAV-POSUTM, NAV-VELNED. |
||
59 | Fehlt eine dieser Messages wird breits der Dauerton gesetzt. |
||
60 | |||
61 | 4Hz Piepen: Ist eine der GPS Funktion aktiviert, zeigt dass den Empfang valider UBX-Daten, |
||
62 | jedoch liegt noch kein 3D-Satfix vor. Die Pausen zwischen den 4Hz Pieps werden |
||
63 | immer länger je mehr Satelitten das GPS empfängt. |
||
64 | Liegt ein 3D Fix vor verstummt der Pieper dann endgültig egal wie viele Satelitten |
||
65 | beteiligt sind (es müssen dafür aber mindesten 4 sein). |
||
66 | |||
67 | 10Hz Piepen: Die Kommunikation zum Kompassmodul ist gestört. (Funktioniert bei beiden Kompassmodulen) |
||
68 | Der CompassValue in den Debugs vom Koptertool zeigt dann -1 an. |
||
69 | |||
70 | 1s Piepen: Ertönt dieses Signal nach dem Einschalten der Motoren wird die erfolgreiche |
||
71 | Übernahme der Home Position bestätigt. |
||
72 | |||
73 | |||
74 | - Inbetriebnahme: |
||
75 | |||
76 | Nach dem Flashen des Codes sollte man die Kalibrierung für den MM3 wiederholen, da diese Daten |
||
77 | an einer anderen Position im EEProm der FC abgelegt werden. |
||
78 | |||
79 | - Kotper ausschalten |
||
80 | - den Gas/Gierstick in die obere linke Ecke stellen |
||
81 | - Kopter einschalten (Periodisches Piepen zeigt aktive Kalibrierroutine an und der Gierstick kann wieder in die Giermittelstellung.) |
||
82 | - den Kopter fleißig umherwürfeln, damit jeder der 3 Magnetfeldsensoren einmal den Minimal. bzw. Maximalwert |
||
83 | des Erdmagnetfeldes gemessen hat. Man kann das etwas gezielter machen, denn die Richtung des Erdmagnetfeldes zeigt |
||
84 | in etwa nach Norden und taucht ca. mit 70° bzgl. des Horizonts in in die Erde ein. |
||
85 | - am Ende den Gasstick nach unten drücken, damit die Kalibrierung beendet wird, und die Daten im EEProm gesichter werden (Piepen beendet). |
||
86 | - Zur Sicherheit kann man die Kalibrierdaten im Menü des Koptertools unter Punkt 13 den Offset aller Achsen und unter |
||
87 | Punkt 14 den Range aller Achsen des MM3 anschauen. Bei mir sind die Werte der Offsets nur wenige Counts von 0 verschieden |
||
88 | um die Ranges fast gleich bei werten um die 500 counts. |
||
89 | |||
90 | Zur Bestimmung des User Parameters 3 (Umrechnungsfaktor zwischen dem Gyrointegral und dem zugehörigen Neigungswinkel) |
||
91 | hat sich folgendes Vorgehen bewehrt. |
||
92 | |||
93 | - Man bestimmt den Wert des Roll- und Nick-Integrals für einen Neigungswinkel von 90° über die Ausgaben des Koptertools. |
||
94 | - Aus diesem Wert kann man den benötigten UserParam3 berechnen. |
||
95 | |||
96 | UserParam3 = (Nick-Integral(90°)+Roll-Integral(90°))/2*GyroACCFaktor/90/8. (typisch 170) |
||
97 | |||
98 | - Nachdem dieser Wert über die Settings des Koptertools im MK abgepeichert ist, sollte sich der CompassValue bei |
||
99 | Verkippungen nur unwesentlich verändern. |