Subversion Repositories FlightCtrl

Rev

Rev 845 | Details | Compare with Previous | 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)
777 killagreg 16
 - LED Steuerung an J16, parametrierbar durch die User Parameter 7 & 8. UserParam7 legt die
17
   LEDOnTime in Vielfachen von 2ms fest und UserParam 8 die LEDOffTime.
772 killagreg 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.
777 killagreg 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.
780 killagreg 46
	Es sollte ein Haken bei GPS und Kompass gesetzt sein. Wenn nur GPS Aktiviert ist, wird intern immer auch der
47
        Kompass aktiviert, da er für den GPS-Regler unbedingt notwendig ist.
772 killagreg 48
 
794 killagreg 49
- Unter Sonstiges: Kompass-Wirkung etwa auf 50 bis 70.
50
 
772 killagreg 51
- User Parameters:
816 killagreg 52
	Parameter 2 --> I-Factor for GPS PD controller (start with small values below 10)
772 killagreg 53
	Parameter 3 --> Calibration factor for transforming Gyro Integrals to angular degrees (~170)
54
	Parameter 4 --> Angle between the MM3 Board (Arrow) and the MK head (typical ~180)
845 killagreg 55
	Parameter 5 --> P-Factor for GPS PD controller (~70)
56
	Parameter 6 --> D-Factor for GPS PD controller (~140)
790 killagreg 57
	Parameter 7 --> LED1Time for J16
58
	Parameter 8 --> LED2Time for J17
59
 
60
- LED-Steuerung an J16/J17
61
	Das Verhalten der über einen Transistor gegen Masse geschalteten Ausgänge J16/J17 wird mit
62
	Hilfe der Userparameter 7 und 8 angepasst.
63
	Es gilt:
64
	UP7/8 <  20: Ausgang liegt dauerhaft auf Masse.
65
	UP7/8 > 220: Ausgang ist dauerhaft hochohmig.
66
	Sonst wird geblinkt, wobei sich die Frequenz mit dem Userparameter zwischen 2 bis 25 Hz einstellen lässt.
67
 
772 killagreg 68
 
69
- Zusätzliche akustische Signale:
775 killagreg 70
 
71
	Signale die eine Fehlfunktion anzeigen:
772 killagreg 72
 
777 killagreg 73
	Dauerton:	Eine GPS-Funktion ist aktiviert und es werden keine oder
772 killagreg 74
			unvollständige GPS-Daten via UART empfangen.
75
			Hier ist zu berücksichtigen, dass die folgenden UBX Messages am UBLOX
783 killagreg 76
			aktiviert wurden: NAV-POSLLH, NAV-SOL, NAV-VELNED.
772 killagreg 77
			Fehlt eine dieser Messages wird breits der Dauerton gesetzt.
78
 
807 killagreg 79
	5Hz Piepen:	Ist eine der GPS Funktion aktiviert, zeigt dass den Empfang valider UBX-Daten,
775 killagreg 80
			wenn noch kein 3D-Satfix vorliegt. Die Pausen zwischen den 4Hz Pieps werden
772 killagreg 81
			immer länger je mehr Satelitten das GPS empfängt.
777 killagreg 82
			Liegt ein 3D Fix vor, so verstummt der Pieper dann endgültig egal wie viele Satelitten
772 killagreg 83
			beteiligt sind (es müssen dafür aber mindesten 4 sein).
775 killagreg 84
 
85
			Ist die Comming Home Funktion aktiv (Poti3>160) und konnte keine Home-Position beim
777 killagreg 86
			Einschalten der Motoren eingelernt werden, so ertönt ebenfalls ein 4Hz-Piepen.
772 killagreg 87
 
88
	10Hz Piepen:	Die Kommunikation zum Kompassmodul ist gestört. (Funktioniert bei beiden Kompassmodulen)
89
			Der CompassValue in den Debugs vom Koptertool zeigt dann -1 an.
775 killagreg 90
 
91
	Signale die eine Aktion bestätigen.
772 killagreg 92
 
93
	1s Piepen:	Ertönt dieses Signal nach dem Einschalten der Motoren wird die erfolgreiche
775 killagreg 94
			Übernahme der Home-Position bestätigt.
772 killagreg 95
 
96
 
97
- Inbetriebnahme:
98
 
99
	Nach dem Flashen des Codes sollte man die Kalibrierung für den MM3 wiederholen, da diese Daten
774 killagreg 100
	an einer anderen Position im EEProm der FC abgelegt und wieder gelesen werden.
772 killagreg 101
 
774 killagreg 102
	- Kopter ausschalten
772 killagreg 103
	- den Gas/Gierstick in die obere linke Ecke stellen
775 killagreg 104
	- Kopter einschalten (Periodisches Piepen zeigt aktive Kalibrierroutine an
105
          und der Gierstick kann wieder in die Giermittelstellung.)
772 killagreg 106
	- den Kopter fleißig umherwürfeln, damit jeder der 3 Magnetfeldsensoren einmal den Minimal. bzw. Maximalwert
107
	  des Erdmagnetfeldes gemessen hat. Man kann das etwas gezielter machen, denn die Richtung des Erdmagnetfeldes zeigt
108
	  in etwa nach Norden und taucht ca. mit 70° bzgl. des Horizonts in in die Erde ein.
790 killagreg 109
          Die Messwerte werden auf dem Terminal des Koptertoolswärend der Kalibrierung angezeigt.
110
          Legt man den Gierstick bei der Kalibrierung nach links, so werden die bis dahin gefundenen Maximalwerte
111
          auf 0 zurückgesetzt und man muß von neuem Würflen. Ich habe das eingebaut, weil ich festgestellt habe, das bei
112
          mir die +z-Achse des Kompass am anfang durch einen Spike nach dem Einschalten oder ähnliches erhöht war.
775 killagreg 113
	- am Ende den Gasstick nach unten drücken, damit die Kalibrierung beendet wird, und die Daten
114
          im EEProm gesichter werden (Piepen beendet).
772 killagreg 115
	- Zur Sicherheit kann man die Kalibrierdaten im Menü des Koptertools unter Punkt 13 den Offset aller Achsen und unter
775 killagreg 116
	  Punkt 14 den Range aller Achsen des MM3 anschauen. Bei mir sind die Werte der Offsets
777 killagreg 117
          nur wenige Counts von 0 verschieden und die Ranges fast gleich bei Werten um die 400-500 Counts.
772 killagreg 118
 
119
	Zur Bestimmung des User Parameters 3 (Umrechnungsfaktor zwischen dem Gyrointegral und dem zugehörigen Neigungswinkel)
120
	hat sich folgendes Vorgehen bewehrt.
121
 
775 killagreg 122
	- Man bestimmt den Wert des Roll- und Nick-Integrals für einen Neigungswinkel von 45°
123
          über die Ausgaben des Koptertools.
772 killagreg 124
	- Aus diesem Wert kann man den benötigten UserParam3 berechnen.
125
 
775 killagreg 126
		UserParam3 = (Nick-Integral(45°)+Roll-Integral(45°))/2*GyroACCFaktor/45°/8.     (typisch 170)
772 killagreg 127
 
128
	- Nachdem dieser Wert über die Settings des Koptertools im MK abgepeichert ist, sollte sich der CompassValue bei
129
	  Verkippungen nur unwesentlich verändern.
777 killagreg 130
 
131
	- Preflight GPS Test:
132
	  Ist der Kopter eingeschaltet, so kann man den GPS-Empfang überprüfen, in dem man Poti3 > 70 setzt.
133
          Erhält man ein Dauerpiepen besteht keine Kommunikation zum GPS oder eine der benötigten UBX-Messseages fehlt.
134
          Blinkt die rote LED der FC, so werden grundsätzlich valide Daten vom GPS empfangen. Abhilfe schafft dann die
783 killagreg 135
          Einstellung des GPS-Moduls via USB und u-Center sodass die UBX Messages NAV-POSLLH, NAV-SOL, NAV-VELNED
807 killagreg 136
          mit 57600 baud auf zum Target 1 (RS232) gesendet werden. Es empfiehlt sich alle anderen Sendungen inkl. NMEA
777 killagreg 137
          abzuschalten, da diese sonst durch den UBX-Parser auf der FC laufen und sinnlose Rechenzeit beanspruchen.
778 killagreg 138
          Am einfachsten geht das mit dem Konfigurationsfile "Conrad LEA-4H Config.txt". Dazu verbindet man das
139
          UBLOX-Modul via USB mit dem PC und started das u-Center. Dan wählt man im Menü:
140
          "Tools->GPS Configuration" dieses File aus und klickt auf den Button "File >> GPS".
807 killagreg 141
          Hat man diese Hürde genommen (Dauerpiepsen ist Weg), wird wahrscheinlich ein 5Hz piepen zu hören sein.
777 killagreg 142
          Dieses zeigt den korrekten Empfang aller UBX-Messages an. Je mehr Satelitten empfangen werden, desto länger werden
143
          die Pausen zwischen den Pieps, bis sie schleißlich ganz verschwinden, was einen 3D-Satfix signalisiert.
144
          Die GPS-Funktionen können ggf. nun wieder abgeschaltet werden (Poti3<70).
145
 
146
	- Setzen der Home Position:
147
	  Startet man die Motoren, so ertönt in diesem Moment eine 1s-langer Piep, der die erfolgreiche Übernahme
148
          der Home-Position bestätigt. Dies passiert immer, auch wenn keine GPS-Funktion aktiviert wurde (Poti3<70).
149
          Es kann jedoch sein, dass das Signal nicht ertönt. In diesem Fall konnte keine Home Position
807 killagreg 150
          abgespeichert werden, da zu diesem Zeitpunkt kein 3D-Fix vorlag. Aktiviert man dann später während des Fluges                  	  Comming Home (Poti3>160) wird dieser Zustand mit einem 5Hz Piepen angezeigt. Der Kopter versucht dann
777 killagreg 151
          wenigstens ein Position Hold. Schaltet man die Motoren ab, so wird auch die ggf.
152
          gespeicherte Home-Position gelöscht.
153
 
154
        - Dynamishes Position Hold:
155
          Ist 70 < Poti3 < 160 so ist die dynamische Position Hold Funktion aktiv. Solange sich der Nick- & Roll-Stick
156
          in Zentralposiotion befinden (genauer Auschlag < 20 Counts) wird die laterale (XY)-Position durch das GPS-
157
          Signal geregelt. Dabei wird versucht die Abweichung der aktuellen GPS-Position von der zum Zeitpunkt
158
          der letzen Nick/Roll-Stickbewegung gespeicherten Position zu minimieren. (Siehe dazu auch D- & P-Parameter
159
          des GPS-Reglers). Dadurch kann man den MK zu einer bestimmten Position steuern und behält diese bei.
160
 
161
          Es kann vorkommen, das bei extremer Timmerstellung an Nick und Roll der Funke der
162
          zugehörige Stickwert bereits eine Auslenkung > 20 zeigt. In diesem Fall wird das Position Hold
163
          leider nicht aktiviert. Durch die automatische Abschaltung des GPS-Reglers für den Fall einer manuellen
164
          Bedienung kann man jederzeit in das Flugverhalten eingreifen.
165
 
166
        - Comming Home:
167
          Ist Poti3 > 160 so ist die Comming Home Funktion aktiv. Das verhalten ist analog dem Position Hold,
168
          jedoch ist das Regelziel nicht die zuletzt gespeichwerte GPS-Position sondern die zum Zeitpunkt des
169
          Einschaltens der MOtoren gespeicherte Home Position. Eine manualle Bedienung von Nick- und Roll-Stick
780 killagreg 170
          unterbricht auch hier sofort den GPS-Regler und die Steuerung erfolgt manuell.
777 killagreg 171
 
172
 
173