Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 ingob 1
 
377 ingob 2
-------
1 ingob 3
V0.53   27.04.2007 H.Buss
4
  - erste öffentliche Version
5
 
6
V0.53b  29.04.2007 H.Buss
7
  - der FAKTOR_I war versehentlich auf Null, dann liegt der MikroKopter nicht so hart in der Luft
8
 
9
V0.53c  29.04.2007 H.Buss
10
  - es gib ein Menü, in dem die Werte der Kanäle nach Nick, Roll, Gas,... sortiert sind.
11
    Die angezeigten Werte waren nicht die Werte der Funke
12
 
13
V0.54  01.05.2007 H.Buss
14
  - die Paramtersätze können jetzt vor dem Start ausgewählt werden
15
    Dazu wird beim Kalibrieren der Messwerte (Gashebel oben links) der Nick-Rollhebel abgefragt:
16
		2 3 4
17
		1 x 5
18
		- - -
19
	Bedeutet: Nick-Rollhebel Links Mitte = Setting:1 Links Oben = Setting:2  usw.
20
  - der Faktor_I für den Hauptregler ist hinzugekommen. Im Heading-Hold-Modus sollte er vergössert werden, was Stabilität bringt
21
 
22
V0.55  14.05.2007 H.Buss
23
  - es können nun Servos an J3,J4,J5 mit den Kanälen 5-7 gesteuert werden
24
 
25
V0.56  14.05.2007 H.Buss
26
  - es gab Probleme mit Funken, die mehr als 8 Kanäle haben, wenn mehrere Kanäle dann auf Null waren
27
  - Funken, die nicht bis +-120 aussteuern können, sollten jetzt auch gehen
28
 
29
V0.57  24.05.2007 H.Buss
30
  - Der Höhenregler kann nun auch mittels Schalter bedient werden
31
  - Bug im Gier-Algorithmus behoben; Schnelles Gieren fürhrte dazu, dass der MK zu weit gedreht hat
32
  - Kompass-Einfluss dämpfen bei Neigung
33
  - Man kann zwischen Kompass FIX (Richtung beim Kalibrieren) und Variabel (einstellbar per Gier) wählen
34
  - Der Motortest vom Kopter-Tool geht jetzt
35
  - Man kann den Parametersätzen einen Namen geben
36
  - Das Kamerasetting ist unter Setting 2 defaultmässig integriert
37
 
38
V0.58  30.05.2007 H.Buss
39
  - Der Höhenregler-Algorithmus wird nun umgangen, wenn der Höhenreglerschalter aus ist
40
 
41
V0.60  17.08.2007 H.Buss
42
  - "Schwindel-Bug" behoben
43
  - Die Poti-Werte werden jetzt auf Unterlauf (<0) überprüft
44
  - Poti4 zugefügt
45
  - Es werden jetzt 8 Kanäle ausgewertet
46
  - Kamera-Servo (an J7)
47
  - Die Settings müssen überschrieben werden
48
 
173 holgerb 49
V0.61 - V0.63   H.Buss  27.09.2007
55 ingob 50
  - Poti 4 und Kanal 8 werden im Menü angezeigt
51
  - ein paar Kleinigkeiten bei den DefaultKonstanten2 bereinigt
173 holgerb 52
  - Analog.c: Aktuell_ax korrigiert
53
  - auf 32 Debug-Kanäle erweitert
54
  - Loopings sind jetzt möglich und einzeln im KopterTool freischaltbar
55
  - leichte Anpassungen im Gier - Geschwindigkeit und Drift
56
  - die Hardwareversion V1.1 wird erkannt und das Programm stellt sich auf die geänderte Gyroverstärkung und die geänderten Portpins ein
57
  - die Software startet nach dem Einschalten schneller, weil der Luftdruckoffset schneller gefunden wird
58
  - die PPM-Ausgänge liegen wieder an den Pins an
59
  - Details an der Sensordatenverarbeitung -> es fliegt sich geringfügig anders
60
  - der MK ist bei wenig Gas nicht mehr so giftig -> soll das Landen vereinfachen
61
  - I2C-Bus läuft jetzt sicher nach einer Störung wieder an
62
  - Sticksignale werden präziser ausgewertet
63
  - Stick-Kanäle werden ans Kopter-Tool übertragen
64
  - Es muss die Version V1.47 des Kopter-Tool verwendet werden
65
  - Die Settings werden auf Default zurückgesetzt
66
  - am Piepen kann man die Fehlerart unterscheiden
67
        1. einzelnes Piepen beim Einschalten und Kalibrieren
68
        2. langsames Intervall mindestens 1 Sek -> Empfangsausfall
69
        3. schnelleres Intervall mindestens 1 Sek -> Akku
70
        4. sehr schnelles Intervall mindestens 1 Sek -> Kommunikation zu den Reglern gestört
71
 
188 holgerb 72
V0.64 H.Buss  30.09.2007
73
  - beim Gieren wurden die Achsen nicht hart genug geregelt
173 holgerb 74
 
297 holgerb 75
V0.65a H.Buss  15.10.2007
76
  - Integral im Mischer wieder integriert
77
  - Feinabstimmung im ACC/Gyro Abgleich -> 1/32 & 100
78
  - ACC/Gyro Abgleich auch bei HH
395 hbuss 79
 
80
V0.66a H.Buss  3.11.2007
81
  - Messwertverarbeitung aus dem Analog-Interrupt entfernt
82
  - Analogmessung hängt jetzt am FC-Timing
83
  - Looping-Stick-Hysterese eingebaut
84
  - Looping-180°-Umschlag einstellbar
85
  - Achsenkopplung: Gierbewegung verkoppelt Nick und Roll
86
  - Lageregelung nach ACC-Sensor verbessert
87
  - zusätzlicher I-Anteil in der Lageregelung verbessert die Neutrallage
88
  - Gyrodriftkompensation  überarbeitet
89
  - Bug in der Gier-Stick-Berechnung behoben
401 hbuss 90
  - Gyro-Messung auf 1kHz beschleunigt
469 hbuss 91
 
92
V0.67a H.Buss 16.11.2007
513 hbuss 93
  - der Hauptregler-I-Anteil wirkt jetzt nur noch auf den Winkel (ausser im HH-Mode)
469 hbuss 94
  - Gyro-Acc-Abgleich jetzt wieder in jedem Zyklus
95
  - Feinabstimmung
500 hbuss 96
  - Beim HH-Modus gab es noch Bugs
97
 
98
V0.67e H.Buss 29.11.2007
99
  - Parameter: Dynamic Stability und Driftfaktor eingeführt
100
  - Die Namen der Analogwerte werden jetzt zum Koptertool übertragen
101
  - Kompatibilität zum Koptertool erhöht
513 hbuss 102
 
103
V0.67f H.Buss 04.12.2007
104
  - Das Integral des Hauptreglers wird jetzt linear entladen und nicht mehr proportional
595 hbuss 105
  - Schub für Gier wird jetzt auf den Gaswert begrenzt, dadurch steigt der MK nicht mehr beim Gieren. Gier ist allerdings nicht mehr so agressiv
106
  - Die ACC-Nullwerte können jetzt dauerhaft im EEPROM gespeichert werden (Stick:Vollgas und Gier rechts)
605 hbuss 107
 
599 ingob 108
V0.68a I.Busker 28.12.2007
109
 - SPI.c & SPI.h ins Projekt aufgenommen
110
   SPI-Kommuikation kann in SPI.h aktiviert/deaktivert werden
605 hbuss 111
 
623 hbuss 112
V0.68c H.Buss 05.01.2008
605 hbuss 113
 - Stickauswertung verbessert -> träger und präziser
623 hbuss 114
 - Alle Settings angepasst
713 killagreg 115
 
765 killagreg 116
V0.68d Ausgangsversion.
117
 
118
G.Stobrawa 06.03.2008:
119
 
713 killagreg 120
 - Code stärker modularisiert und restrukturiert
121
 - viele Kommentare zur Erklärug eingefügt
122
 - konsequent englische Variablennamen
765 killagreg 123
 - PPM24 Support für bis zu 12 RC-Kanäle.
124
 - Support für Kompass CMPS01 oder MM3 (mit verbesserte Neigungskompensation, stabilere Kommunikation) (Option im Makefile)
125
 - 2. Uart wird nun unterstützt (MCU = atmega644p im Makefile)
126
 - Ausertung des UBX-Pprotocols an 1.  oder 2. Uart
127
 - einige kleinere Bugfixes
726 killagreg 128
 - GPS-Hold-Funktion hinzugefügt
772 killagreg 129
 - GPS-Home-Funktion hinzugefügt (wird beim Motorstart gelernt, und bei Motorenstop wieder gelöscht)
765 killagreg 130
 - Poti3 steuert die GPS Funktionen (Poti3 < 70:GPS inaktiv, 70<=Poti3<160: GPS Hold, 160<=Poti3: GPS Home)
131
 - LED Steuerung an J16, parametrierbar durch die User Parameter 7 & 8. UserParam7 legt die LEDOnTime in Vielfachen von 2ms fest
132
   und UserParam 8 die LEDOffTime.
133
 - Zusätzliche Punkte im Menü des KopterTool zur Anzeige des GPS-Status und der MM3-Kalibierparameter
623 hbuss 134
 
772 killagreg 135
 
136
- Hardware Configuration:
137
 
138
   - Die PWM des CMPS03 wird wie bisher standard über den Port PC4 (Pin5 an SV1 der FC) eingelesen.
139
   - Der MM3 wird wie folgt verbunden.
140
 
141
		FC 1.0/1.1/1.2 Level Shifter  MM3
142
		SCK (Pin1 SV5)    --->     SCK (Pin1)
143
		MISO (Pin3 SV5)   <---     MISO (Pin2)
144
		MOSI (Pin5 SV5)   --->     MOSI (Pin3)
145
		GND (Pin6 SV5)    --->     GND (Pin7 / Pin14)
146
		PC4 (Pin5 SV1)    --->     SS (Pin4)
147
		PC5 (Pin6 SV1)    --->     RESET (Pin6)
148
 
149
     Zusatzlich benötigt der MM3 noch eine 3V oder 3V3 Versorgung an VDD (Pin12).
150
 
151
     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,
152
     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
153
     FC1.1/1.2 wenn der Atmega 644p verbaut ist. Zusaätzlich bentigt das UBLOX-Modul noch eine 5V-Versorgung die ggf. von
154
     der FC (an Pin2 SV1) abgegriffen werden kann.
155
 
156
- Konfiguration des MK.
157
	Es sollte ein Haken bei GPS und Kompass gesetzt sein.
158
 
159
- User Parameters:
765 killagreg 160
	Parameter 3 --> Calibration factor for transforming Gyro Integrals to angular degrees (~170)
161
	Parameter 4 --> Angle between the MM3 Board (Arrow) and the MK head (typical ~180)
162
	Parameter 5 --> P-Factor for GPS PD controller (~100)
163
	Parameter 6 --> D-Factor for GPS PD controller (~80)
783 killagreg 164
	Parameter 7 --> LEDOffTime for J16
165
	Parameter 8 --> LEDOnTime for J16
726 killagreg 166
 
765 killagreg 167
- Zusätzliche Akustische Signale:
168
 
169
	Dauerton:	Eine GPS-Funktion is aktiviert und es werden keine oder
170
			unvollständige GPS-Daten via UART empfangen.
171
			Hier ist zu berücksichtigen, dass die folgenden UBX Messages am UBLOX
783 killagreg 172
			aktiviert wurden: NAV - POSLLH, NAV-SOL, NAV-VELNED.
765 killagreg 173
			Fehlt eine dieser Messages wird breits der Dauerton gesetzt.
174
 
175
	4Hz Piepen:	Ist eine der GPS Funktion aktiviert, zeigt dass den Empfang valider UBX-Daten,
176
			jedoch liegt noch kein 3D-Satfix vor. Die Pausen zwischen den 4Hz Pieps werden
177
			immer länger je mehr Satelitten das GPS empfängt.
178
			Liegt ein 3D Fix vor verstummt der Pieper dann endgültig egal wie viele Satelitten
179
			beteiligt sind (es müssen dafür aber mindesten 4 sein).
180
 
181
	10Hz Piepen:	Die Kommunikation zum Kompassmodul ist gestört. (Funktioniert bei beiden Kompassmodulen)
182
			Der CompassValue in den Debugs vom Koptertool zeigt dann -1 an.
183
 
184
	1s Piepen:	Ertönt dieses Signal nach dem Einschalten der Motoren wird die erfolgreiche
185
			Übernahme der Home Position bestätigt.
772 killagreg 186
 
187
 
188
- Inbetriebnahme:
189
 
190
	Nach dem Flashen des Codes sollte man die Kalibrierung für den MM3 wiederholen, da diese Daten
191
	an einer anderen Position im EEProm der FC abgelegt werden.
192
 
193
	- Kotper ausschalten
194
	- den Gas/Gierstick in die obere linke Ecke stellen
195
	- Kopter einschalten (Periodisches Piepen zeigt aktive Kalibrierroutine an und der Gierstick kann wieder in die Giermittelstellung.)
196
	- den Kopter fleißig umherwürfeln, damit jeder der 3 Magnetfeldsensoren einmal den Minimal. bzw. Maximalwert
197
	  des Erdmagnetfeldes gemessen hat. Man kann das etwas gezielter machen, denn die Richtung des Erdmagnetfeldes zeigt
198
	  in etwa nach Norden und taucht ca. mit 70° bzgl. des Horizonts in in die Erde ein.
199
	- am Ende den Gasstick nach unten drücken, damit die Kalibrierung beendet wird, und die Daten im EEProm gesichter werden (Piepen beendet).
200
	- Zur Sicherheit kann man die Kalibrierdaten im Menü des Koptertools unter Punkt 13 den Offset aller Achsen und unter
201
	  Punkt 14 den Range aller Achsen des MM3 anschauen. Bei mir sind die Werte der Offsets nur wenige Counts von 0 verschieden
202
	  um die Ranges fast gleich bei werten um die 500 counts.
203
 
204
	Zur Bestimmung des User Parameters 3 (Umrechnungsfaktor zwischen dem Gyrointegral und dem zugehörigen Neigungswinkel)
205
	hat sich folgendes Vorgehen bewehrt.
206
 
207
	- Man bestimmt den Wert des Roll- und Nick-Integrals für einen Neigungswinkel von 90° über die Ausgaben des Koptertools.
208
	- Aus diesem Wert kann man den benötigten UserParam3 berechnen.
209
 
210
		UserParam3 = (Nick-Integral(90°)+Roll-Integral(90°))/2*GyroACCFaktor/90/8.     (typisch 170)
211
 
212
	- Nachdem dieser Wert über die Settings des Koptertools im MK abgepeichert ist, sollte sich der CompassValue bei
213
	  Verkippungen nur unwesentlich verändern.
214
 
765 killagreg 215
 
216
- Zum Makefile:
217
	Der Code so gestrickt, dass man für den Atemga644p oder den Atmega644 kompilieren kann.
218
	(im Makefile MCU=atmega644 / MCU=atmega644p)
745 killagreg 219
 
765 killagreg 220
	Falls der 644p verwendet wird, wird immer der Code für die 2. Uart mit compiliert. Diese wird aber nur initialisiert,
221
	wenn die FC 1.1/1.2 erkannt wurde. In diesem Fall werden die GPS-Daten auch dort erwartet.
222
	Bei der FC 1.0 wird die 2. Uart nicht initialisiert und die GPS-Daten an der 1. UART erwartet.
223
	Wird der Code für den 644 erzeugt entfällt der gesamte Code für die 2. Uart.
224
	Die GPS-Daten werden immer über die 1. Uart gelesen.
745 killagreg 225
 
765 killagreg 226
	Damit sollte jede Kombination von FC-Version und Prozessorbestückung funktionieren.
227
 
228
	Unabhängig von diesen Harwarevoraussetzungen kann man den Code für den MM3 oder CMPS03 Kompass einbinden.
229
	(im Makefile: COMAPSS=MM3 / COMPASS = CMPS03)
230
 
231
 
500 hbuss 232