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 |