Subversion Repositories FlightCtrl

Rev

Go to most recent revision | 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
 
775 killagreg 34
     Zusätzlich benötigt der MM3 noch eine 3V oder 3V3 Versorgung an VDD (Pin12).
772 killagreg 35
 
775 killagreg 36
    - Für das UBLOX-Modul muss noch GPS-GND mit FC-GND (Pin7 SV1) und
37
      die GPS-TXD Leitung mit FC-RXD (Pin1 SV1) verbunden werden,
38
      wenn man die FC 1.0 mit dem Atmega644 verwendet.
39
      Für die FC 1.1/1.2 mit Atmega644p-Bestückung benötigt man FC-RXD1 (Pin3 SV1).
40
      Zusätzlich benötigt das UBLOX-Modul noch eine 5V-Versorgung die ggf. von
774 killagreg 41
      der FC (an Pin2 SV1) abgegriffen werden kann.
42
      Wenn die FC gültige  Messages vom GPS Empföngt blinkt die rote LED mit 4 Hz.
772 killagreg 43
 
44
 
45
- Konfiguration des MK.
46
	Es sollte ein Haken bei GPS und Kompass gesetzt sein.
47
 
48
- User Parameters:
49
	Parameter 3 --> Calibration factor for transforming Gyro Integrals to angular degrees (~170)
50
	Parameter 4 --> Angle between the MM3 Board (Arrow) and the MK head (typical ~180)
51
	Parameter 5 --> P-Factor for GPS PD controller (~100)
52
	Parameter 6 --> D-Factor for GPS PD controller (~80)
53
	Parameter 7 --> LEDOnTime for J16
54
	Parameter 8 --> LEDOfftime for J16
55
 
56
- Zusätzliche akustische Signale:
775 killagreg 57
 
58
	Signale die eine Fehlfunktion anzeigen:
772 killagreg 59
 
60
	Dauerton:	Eine GPS-Funktion is aktiviert und es werden keine oder
61
			unvollständige GPS-Daten via UART empfangen.
62
			Hier ist zu berücksichtigen, dass die folgenden UBX Messages am UBLOX
63
			aktiviert wurden: NAV - POSLLH, NAV-SOL, NAV-POSUTM, NAV-VELNED.
64
			Fehlt eine dieser Messages wird breits der Dauerton gesetzt.
65
 
66
	4Hz Piepen:	Ist eine der GPS Funktion aktiviert, zeigt dass den Empfang valider UBX-Daten,
775 killagreg 67
			wenn noch kein 3D-Satfix vorliegt. Die Pausen zwischen den 4Hz Pieps werden
772 killagreg 68
			immer länger je mehr Satelitten das GPS empfängt.
69
			Liegt ein 3D Fix vor verstummt der Pieper dann endgültig egal wie viele Satelitten
70
			beteiligt sind (es müssen dafür aber mindesten 4 sein).
775 killagreg 71
 
72
			Ist die Comming Home Funktion aktiv (Poti3>160) und konnte keine Home-Position beim
73
			Einschalten der Motoren eingelert werden, so ertönt ebenfalls ein 4Hz-Piepen.
772 killagreg 74
 
75
	10Hz Piepen:	Die Kommunikation zum Kompassmodul ist gestört. (Funktioniert bei beiden Kompassmodulen)
76
			Der CompassValue in den Debugs vom Koptertool zeigt dann -1 an.
775 killagreg 77
 
78
	Signale die eine Aktion bestätigen.
772 killagreg 79
 
80
	1s Piepen:	Ertönt dieses Signal nach dem Einschalten der Motoren wird die erfolgreiche
775 killagreg 81
			Übernahme der Home-Position bestätigt.
772 killagreg 82
 
83
 
84
- Inbetriebnahme:
85
 
86
	Nach dem Flashen des Codes sollte man die Kalibrierung für den MM3 wiederholen, da diese Daten
774 killagreg 87
	an einer anderen Position im EEProm der FC abgelegt und wieder gelesen werden.
772 killagreg 88
 
774 killagreg 89
	- Kopter ausschalten
772 killagreg 90
	- den Gas/Gierstick in die obere linke Ecke stellen
775 killagreg 91
	- Kopter einschalten (Periodisches Piepen zeigt aktive Kalibrierroutine an
92
          und der Gierstick kann wieder in die Giermittelstellung.)
772 killagreg 93
	- den Kopter fleißig umherwürfeln, damit jeder der 3 Magnetfeldsensoren einmal den Minimal. bzw. Maximalwert
94
	  des Erdmagnetfeldes gemessen hat. Man kann das etwas gezielter machen, denn die Richtung des Erdmagnetfeldes zeigt
95
	  in etwa nach Norden und taucht ca. mit 70° bzgl. des Horizonts in in die Erde ein.
775 killagreg 96
	- am Ende den Gasstick nach unten drücken, damit die Kalibrierung beendet wird, und die Daten
97
          im EEProm gesichter werden (Piepen beendet).
772 killagreg 98
	- Zur Sicherheit kann man die Kalibrierdaten im Menü des Koptertools unter Punkt 13 den Offset aller Achsen und unter
775 killagreg 99
	  Punkt 14 den Range aller Achsen des MM3 anschauen. Bei mir sind die Werte der Offsets
100
          nur wenige Counts von 0 verschieden um die Ranges fast gleich bei werten um die 400-500 counts.
772 killagreg 101
 
102
	Zur Bestimmung des User Parameters 3 (Umrechnungsfaktor zwischen dem Gyrointegral und dem zugehörigen Neigungswinkel)
103
	hat sich folgendes Vorgehen bewehrt.
104
 
775 killagreg 105
	- Man bestimmt den Wert des Roll- und Nick-Integrals für einen Neigungswinkel von 45°
106
          über die Ausgaben des Koptertools.
772 killagreg 107
	- Aus diesem Wert kann man den benötigten UserParam3 berechnen.
108
 
775 killagreg 109
		UserParam3 = (Nick-Integral(45°)+Roll-Integral(45°))/2*GyroACCFaktor/45°/8.     (typisch 170)
772 killagreg 110
 
111
	- Nachdem dieser Wert über die Settings des Koptertools im MK abgepeichert ist, sollte sich der CompassValue bei
112
	  Verkippungen nur unwesentlich verändern.