0,0 → 1,232 |
|
------- |
V0.53 27.04.2007 H.Buss |
- erste öffentliche Version |
|
V0.53b 29.04.2007 H.Buss |
- der FAKTOR_I war versehentlich auf Null, dann liegt der MikroKopter nicht so hart in der Luft |
|
V0.53c 29.04.2007 H.Buss |
- es gib ein Menü, in dem die Werte der Kanäle nach Nick, Roll, Gas,... sortiert sind. |
Die angezeigten Werte waren nicht die Werte der Funke |
|
V0.54 01.05.2007 H.Buss |
- die Paramtersätze können jetzt vor dem Start ausgewählt werden |
Dazu wird beim Kalibrieren der Messwerte (Gashebel oben links) der Nick-Rollhebel abgefragt: |
2 3 4 |
1 x 5 |
- - - |
Bedeutet: Nick-Rollhebel Links Mitte = Setting:1 Links Oben = Setting:2 usw. |
- der Faktor_I für den Hauptregler ist hinzugekommen. Im Heading-Hold-Modus sollte er vergössert werden, was Stabilität bringt |
|
V0.55 14.05.2007 H.Buss |
- es können nun Servos an J3,J4,J5 mit den Kanälen 5-7 gesteuert werden |
|
V0.56 14.05.2007 H.Buss |
- es gab Probleme mit Funken, die mehr als 8 Kanäle haben, wenn mehrere Kanäle dann auf Null waren |
- Funken, die nicht bis +-120 aussteuern können, sollten jetzt auch gehen |
|
V0.57 24.05.2007 H.Buss |
- Der Höhenregler kann nun auch mittels Schalter bedient werden |
- Bug im Gier-Algorithmus behoben; Schnelles Gieren fürhrte dazu, dass der MK zu weit gedreht hat |
- Kompass-Einfluss dämpfen bei Neigung |
- Man kann zwischen Kompass FIX (Richtung beim Kalibrieren) und Variabel (einstellbar per Gier) wählen |
- Der Motortest vom Kopter-Tool geht jetzt |
- Man kann den Parametersätzen einen Namen geben |
- Das Kamerasetting ist unter Setting 2 defaultmässig integriert |
|
V0.58 30.05.2007 H.Buss |
- Der Höhenregler-Algorithmus wird nun umgangen, wenn der Höhenreglerschalter aus ist |
|
V0.60 17.08.2007 H.Buss |
- "Schwindel-Bug" behoben |
- Die Poti-Werte werden jetzt auf Unterlauf (<0) überprüft |
- Poti4 zugefügt |
- Es werden jetzt 8 Kanäle ausgewertet |
- Kamera-Servo (an J7) |
- Die Settings müssen überschrieben werden |
|
V0.61 - V0.63 H.Buss 27.09.2007 |
- Poti 4 und Kanal 8 werden im Menü angezeigt |
- ein paar Kleinigkeiten bei den DefaultKonstanten2 bereinigt |
- Analog.c: Aktuell_ax korrigiert |
- auf 32 Debug-Kanäle erweitert |
- Loopings sind jetzt möglich und einzeln im KopterTool freischaltbar |
- leichte Anpassungen im Gier - Geschwindigkeit und Drift |
- die Hardwareversion V1.1 wird erkannt und das Programm stellt sich auf die geänderte Gyroverstärkung und die geänderten Portpins ein |
- die Software startet nach dem Einschalten schneller, weil der Luftdruckoffset schneller gefunden wird |
- die PPM-Ausgänge liegen wieder an den Pins an |
- Details an der Sensordatenverarbeitung -> es fliegt sich geringfügig anders |
- der MK ist bei wenig Gas nicht mehr so giftig -> soll das Landen vereinfachen |
- I2C-Bus läuft jetzt sicher nach einer Störung wieder an |
- Sticksignale werden präziser ausgewertet |
- Stick-Kanäle werden ans Kopter-Tool übertragen |
- Es muss die Version V1.47 des Kopter-Tool verwendet werden |
- Die Settings werden auf Default zurückgesetzt |
- am Piepen kann man die Fehlerart unterscheiden |
1. einzelnes Piepen beim Einschalten und Kalibrieren |
2. langsames Intervall mindestens 1 Sek -> Empfangsausfall |
3. schnelleres Intervall mindestens 1 Sek -> Akku |
4. sehr schnelles Intervall mindestens 1 Sek -> Kommunikation zu den Reglern gestört |
|
V0.64 H.Buss 30.09.2007 |
- beim Gieren wurden die Achsen nicht hart genug geregelt |
|
V0.65a H.Buss 15.10.2007 |
- Integral im Mischer wieder integriert |
- Feinabstimmung im ACC/Gyro Abgleich -> 1/32 & 100 |
- ACC/Gyro Abgleich auch bei HH |
|
V0.66a H.Buss 3.11.2007 |
- Messwertverarbeitung aus dem Analog-Interrupt entfernt |
- Analogmessung hängt jetzt am FC-Timing |
- Looping-Stick-Hysterese eingebaut |
- Looping-180°-Umschlag einstellbar |
- Achsenkopplung: Gierbewegung verkoppelt Nick und Roll |
- Lageregelung nach ACC-Sensor verbessert |
- zusätzlicher I-Anteil in der Lageregelung verbessert die Neutrallage |
- Gyrodriftkompensation überarbeitet |
- Bug in der Gier-Stick-Berechnung behoben |
- Gyro-Messung auf 1kHz beschleunigt |
|
V0.67a H.Buss 16.11.2007 |
- der Hauptregler-I-Anteil wirkt jetzt nur noch auf den Winkel (ausser im HH-Mode) |
- Gyro-Acc-Abgleich jetzt wieder in jedem Zyklus |
- Feinabstimmung |
- Beim HH-Modus gab es noch Bugs |
|
V0.67e H.Buss 29.11.2007 |
- Parameter: Dynamic Stability und Driftfaktor eingeführt |
- Die Namen der Analogwerte werden jetzt zum Koptertool übertragen |
- Kompatibilität zum Koptertool erhöht |
|
V0.67f H.Buss 04.12.2007 |
- Das Integral des Hauptreglers wird jetzt linear entladen und nicht mehr proportional |
- 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 |
- Die ACC-Nullwerte können jetzt dauerhaft im EEPROM gespeichert werden (Stick:Vollgas und Gier rechts) |
|
V0.68a I.Busker 28.12.2007 |
- SPI.c & SPI.h ins Projekt aufgenommen |
SPI-Kommuikation kann in SPI.h aktiviert/deaktivert werden |
|
V0.68c H.Buss 05.01.2008 |
- Stickauswertung verbessert -> träger und präziser |
- Alle Settings angepasst |
|
V0.68d Ausgangsversion. |
|
G.Stobrawa 06.03.2008: |
|
- Code stärker modularisiert und restrukturiert |
- viele Kommentare zur Erklärug eingefügt |
- konsequent englische Variablennamen |
- PPM24 Support für bis zu 12 RC-Kanäle. |
- Support für Kompass CMPS01 oder MM3 (mit verbesserte Neigungskompensation, stabilere Kommunikation) (Option im Makefile) |
- 2. Uart wird nun unterstützt (MCU = atmega644p im Makefile) |
- Ausertung des UBX-Pprotocols an 1. oder 2. Uart |
- einige kleinere Bugfixes |
- GPS-Hold-Funktion hinzugefügt |
- GPS-Home-Funktion hinzugefügt (wird beim Motorstart gelernt, und bei Motorenstop wieder gelöscht) |
- Poti3 steuert die GPS Funktionen (Poti3 < 70:GPS inaktiv, 70<=Poti3<160: GPS Hold, 160<=Poti3: GPS Home) |
- LED Steuerung an J16, parametrierbar durch die User Parameter 7 & 8. UserParam7 legt die LEDOnTime in Vielfachen von 2ms fest |
und UserParam 8 die LEDOffTime. |
- Zusätzliche Punkte im Menü des KopterTool zur Anzeige des GPS-Status und der MM3-Kalibierparameter |
|
|
- Hardware Configuration: |
|
- Die PWM des CMPS03 wird wie bisher standard über den Port PC4 (Pin5 an SV1 der FC) eingelesen. |
- Der MM3 wird wie folgt verbunden. |
|
FC 1.0/1.1/1.2 Level Shifter MM3 |
SCK (Pin1 SV5) ---> SCK (Pin1) |
MISO (Pin3 SV5) <--- MISO (Pin2) |
MOSI (Pin5 SV5) ---> MOSI (Pin3) |
GND (Pin6 SV5) ---> GND (Pin7 / Pin14) |
PC4 (Pin5 SV1) ---> SS (Pin4) |
PC5 (Pin6 SV1) ---> RESET (Pin6) |
|
Zusatzlich benötigt der MM3 noch eine 3V oder 3V3 Versorgung an VDD (Pin12). |
|
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, |
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 |
FC1.1/1.2 wenn der Atmega 644p verbaut ist. Zusaätzlich bentigt das UBLOX-Modul noch eine 5V-Versorgung die ggf. von |
der FC (an Pin2 SV1) abgegriffen werden kann. |
|
- Konfiguration des MK. |
Es sollte ein Haken bei GPS und Kompass gesetzt sein. |
|
- User Parameters: |
Parameter 3 --> Calibration factor for transforming Gyro Integrals to angular degrees (~170) |
Parameter 4 --> Angle between the MM3 Board (Arrow) and the MK head (typical ~180) |
Parameter 5 --> P-Factor for GPS PD controller (~100) |
Parameter 6 --> D-Factor for GPS PD controller (~80) |
Parameter 7 --> LEDOffTime for J16 |
Parameter 8 --> LEDOnTime for J16 |
|
- Zusätzliche Akustische Signale: |
|
Dauerton: Eine GPS-Funktion is aktiviert und es werden keine oder |
unvollständige GPS-Daten via UART empfangen. |
Hier ist zu berücksichtigen, dass die folgenden UBX Messages am UBLOX |
aktiviert wurden: NAV - POSLLH, NAV-SOL, NAV-VELNED. |
Fehlt eine dieser Messages wird breits der Dauerton gesetzt. |
|
4Hz Piepen: Ist eine der GPS Funktion aktiviert, zeigt dass den Empfang valider UBX-Daten, |
jedoch liegt noch kein 3D-Satfix vor. Die Pausen zwischen den 4Hz Pieps werden |
immer länger je mehr Satelitten das GPS empfängt. |
Liegt ein 3D Fix vor verstummt der Pieper dann endgültig egal wie viele Satelitten |
beteiligt sind (es müssen dafür aber mindesten 4 sein). |
|
10Hz Piepen: Die Kommunikation zum Kompassmodul ist gestört. (Funktioniert bei beiden Kompassmodulen) |
Der CompassValue in den Debugs vom Koptertool zeigt dann -1 an. |
|
1s Piepen: Ertönt dieses Signal nach dem Einschalten der Motoren wird die erfolgreiche |
Übernahme der Home Position bestätigt. |
|
|
- Inbetriebnahme: |
|
Nach dem Flashen des Codes sollte man die Kalibrierung für den MM3 wiederholen, da diese Daten |
an einer anderen Position im EEProm der FC abgelegt werden. |
|
- Kotper ausschalten |
- den Gas/Gierstick in die obere linke Ecke stellen |
- Kopter einschalten (Periodisches Piepen zeigt aktive Kalibrierroutine an und der Gierstick kann wieder in die Giermittelstellung.) |
- den Kopter fleißig umherwürfeln, damit jeder der 3 Magnetfeldsensoren einmal den Minimal. bzw. Maximalwert |
des Erdmagnetfeldes gemessen hat. Man kann das etwas gezielter machen, denn die Richtung des Erdmagnetfeldes zeigt |
in etwa nach Norden und taucht ca. mit 70° bzgl. des Horizonts in in die Erde ein. |
- am Ende den Gasstick nach unten drücken, damit die Kalibrierung beendet wird, und die Daten im EEProm gesichter werden (Piepen beendet). |
- Zur Sicherheit kann man die Kalibrierdaten im Menü des Koptertools unter Punkt 13 den Offset aller Achsen und unter |
Punkt 14 den Range aller Achsen des MM3 anschauen. Bei mir sind die Werte der Offsets nur wenige Counts von 0 verschieden |
um die Ranges fast gleich bei werten um die 500 counts. |
|
Zur Bestimmung des User Parameters 3 (Umrechnungsfaktor zwischen dem Gyrointegral und dem zugehörigen Neigungswinkel) |
hat sich folgendes Vorgehen bewehrt. |
|
- Man bestimmt den Wert des Roll- und Nick-Integrals für einen Neigungswinkel von 90° über die Ausgaben des Koptertools. |
- Aus diesem Wert kann man den benötigten UserParam3 berechnen. |
|
UserParam3 = (Nick-Integral(90°)+Roll-Integral(90°))/2*GyroACCFaktor/90/8. (typisch 170) |
|
- Nachdem dieser Wert über die Settings des Koptertools im MK abgepeichert ist, sollte sich der CompassValue bei |
Verkippungen nur unwesentlich verändern. |
|
|
- Zum Makefile: |
Der Code so gestrickt, dass man für den Atemga644p oder den Atmega644 kompilieren kann. |
(im Makefile MCU=atmega644 / MCU=atmega644p) |
|
Falls der 644p verwendet wird, wird immer der Code für die 2. Uart mit compiliert. Diese wird aber nur initialisiert, |
wenn die FC 1.1/1.2 erkannt wurde. In diesem Fall werden die GPS-Daten auch dort erwartet. |
Bei der FC 1.0 wird die 2. Uart nicht initialisiert und die GPS-Daten an der 1. UART erwartet. |
Wird der Code für den 644 erzeugt entfällt der gesamte Code für die 2. Uart. |
Die GPS-Daten werden immer über die 1. Uart gelesen. |
|
Damit sollte jede Kombination von FC-Version und Prozessorbestückung funktionieren. |
|
Unabhängig von diesen Harwarevoraussetzungen kann man den Code für den MM3 oder CMPS03 Kompass einbinden. |
(im Makefile: COMAPSS=MM3 / COMPASS = CMPS03) |
|
|
|