Subversion Repositories FlightCtrl

Rev

Rev 1226 | Blame | Compare with Previous | Last modification | View Log | RSS feed


------- 
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.69e H.Buss 05.05.2008
 - kleinere Bugs beseitigt
 - Schneller Sinkflug jetzt möglich 
 - Min- und Maxgas in den Settings geändert
 - Lagewinkel wird jetzt in 0,1 Grad an Kompass und Navi gesendet
 - Kalibrierung für MK3Mag -> Nick unten beim Kalibrieren 
 - Kompassroutine um den Ersatzkompass (Gyro unterstützt Kompasswert) erweitert
 
V0.69h H.Buss 21.05.2008
 - STICK_GAIN = 4 eingeführt. Das erhöht die Auflösung der Sollwerte. Stick_P und Stick_I müssen nun um Faktor 4 erhöht werden
 - SenderOkay auch an das Naviboard übertragen
 - Bessere Parameter bei Senderausfall
 
V0.69j H.Buss 30.05.2008
 - Höhere Präzision der Achsenkopplung 

V0.69k H.Buss 31.05.2008
 - Bug in SPI.C behoben
 - in 0.69h war ein Bug, der zu ungewollten Loopings führen konnte 

V0.69L H.Buss 14.06.2008
 - feinere Cam-Servo-Auflösung
 
V0.70a H.Buss 01.07.2008
 - Unterstützung der V1.3-Hardware mit automatischem Hardware-Gyro-Abgleich

V0.70b H.Buss 14.07.2008
 - flexible Einstellungsmöglichkeit von J16 und J17 (Transistorausgänge)
 - eigene Parameter für GPS-Naviboard 
 - eigener Parameter für ExternalControl (war vorher UserParameter1 bzw. 8)
 - neue Parameter im EEPROM-Datensatz: J16Bitmask, J16Timing, ExternalControl, Navi...
 - MikroKopterFlags eingeführt, damit das Navi den Status des MKs kennt
 - KopterTool-Kompatibilität auf 8 erhöht
 
V0.70c H.Buss 30.07.2008
 - Parameter der Datenfusion leicht modifiziert
 - EEPROM-Parameter für Looping-Umschlag angepasst (von 100 auf 85)
 - MaxStick wird auf 100 begrenzt

V0.70d H.Buss 02.08.2008
 - Transistorausgänge: das oberste Bit der Blinkmaske (im KopterTool linkes Bit) gibt nun den Zustand des Ausgangs im Schalterbetrieb an
 
0.71b: H.Buss 19.10.2008
 Kommunikation zum Navi erweitert:
 - Beeptime jetzt 32Bit
 - Datenfusion und Driftkopensation wird durch NaviBoard unterstützt
 
0.71c: H.Buss 20.10.2008
 - LoopConfig heisst jetzt BitConfig 
 - 3-Fach-Schalter für Höhensteuerung möglich -> kann man mit GPS-Schalter zusammenlegen
 - bei den Settings wurde Setting[0] mit abgespeichert, welches es nicht gab.
 - in Zukunft werden bei neuen EEPROM-Settings die Kanäle von Setting 1 übernommen
 - Variablen NaviWindCorrection, NaviSpeedCompensation, NaviOperatingRadius eingeführt

0.71f: H.Buss 15.11.2008
 - Ausschalten der Höhenregelung per Schalter um 0,3 sek verzögert
 - bei der seriellen Übertragung hat die FC jetzt als SlaveAdresse die 1
 - VersionInfo.NaviKompatibel eingeführt
 - wenn manuell gegiert wird, wird der GyroKompass-Wert auf den Kompasswert gesetzt
 - Luftdruckwert wird an das Navi übertragen 
 - Der Baro-Offset wird jetzt nachgeführt, um den Messbereich zu erweitern. Geht nur bei Höhenregler mit Schalter
 - Debugdaten können jetzt mit 'f' gepollt werden
 
0.71g: Gregor 09.12.2008
 - Kommunikation überarbeitet
 Infos hier: http://www.mikrokopter.de/ucwiki/en/SerialCommands 
 
0.71h: H.Buss 15.12.2008 
 - Freigegebene Version
 - NaviAngleLimitation als Parameter zum Navi implementiert 
 - Antwort auf CMD: 't' entfernt
 
0.72d: H.Buss 22.01.2009 
 - OCTO als Compilerschalter
 - Unterstützung der FC 2.0 (ME)
 - GYRO_D eingeführt
 - Achsenkopplung jetzt auch auf Nick/Roll-Bewegung 
 
0.72e: H.Buss 27.01.2009
 - die 0.72d hatte kein Integral im Gier
 - Parameter eingeführt:
       EE_Parameter.NaviGpsPLimit
       EE_Parameter.NaviGpsILimit
       EE_Parameter.NaviGpsDLimit
       EE_Parameter.NaviPH_LoginTime  
       EE_Parameter.AchsKopplung2 
       EE_Parameter.CouplingYawCorrection

0.72f: H.Buss 28.01.2009 
 - Bug im Ersatzkompass entfernt

0.72h: H.Buss 05.02.2009
 - Algorithmen beschleunigt -> Floats durch Fixkomma ersetzt
 - Achsentkopplung weiter verbessert
 - Nick- und Roll im Octo-Mischer auf jeweils vier Motoren aufgeteilt

0.72i: H.Buss 07.02.2009
 - Abtastrate von 1kHz auf 2kHz erhöht

0.72j: H.Buss 09.02.2009
 - neue Implementierung der Servoausgänge

0.72k: H.Buss 10.02.2009
 - Abtastrate auf 5kHz erhöht

0.72L: H.Buss 13.02.2009
 - Signalfilterung überarbeitet
 - OCTO2 implementiert

0.72M: H.Buss 13.02.2009
 - Code Cleanup

0.72o: H.Buss 24.02.2009
 - Abtastrate auf 2kHz
 - HW-Version an Navi
 - neuer Datensatz 'c' -> Lagedaten für 3D-Grafik
 - Auswerteroutine für Spectrum-Satteliten implementiert
 - Kanalsettings werden beim Parameterreset nicht mehr gelöscht
 - die Driftkompensation wird jetzt feiner aufgelöst --> EE_Parameter.Driftkomp muss mal 8 genommen werden
 - die Integrale und ACC-Werte werden jetzt im Scope in ca. 0,1° angezeigt (wie beim NaviBrd)
  
0.72p: H.Buss 01.03.2009
 - Octo3 erstellt
 - Analogwerte umbenannt

0.73a-d: H.Buss 05.04.2009
 - MixerTabelle implementiert
 - I2C-Bus auf bis zu 12 Motoren erweitert
 - die Busfehler der BL-Regler werden im Menü angezeigt
 - Revision der MixerTabelle eingeführt
 - MixerTabelle wird bei Parameterreset neu initialisiert
 - Motortest auf [12] erweitert 
 - Motorschalter nicht mehr 3-Stufig

0.74a
 - Datenfusion im Flug auch, wenn ACC-Z < 512
 - Wert für die Luftdruck-Messbereichserweiterung abgefangen

0.74d
 - Die Driftkompensation ist jetzt dreistufig -> 0,5% pro sekunde zusätzlich eingeführt
 
 
 
V0.74d_MartinR 03.08.2009
 
 Diverse Änderungen in der fc.c, fc.h, analog.c, analog.h, rc.c, spi.c, timer0.c, makefile um:
 
-- im Flug zwischen ACC-Mode und HH- Mode umschalten zu können. 

-- Optimierungen des HH-Modus
   - HH-Mode wurde reduziert auf die Regler-Grundfunktionen!
     keine Driftkompensation, Gierfunktion nur mit P-Regler, keine GPS- oder Kompass Funktion.
   - Zu beachten: die anwählbare Drehratenbegrenzung wird derzeit im HH-Modus nicht abgeschaltet
   - Begrenzung von SummeNick SummeRoll reduziert, da Überlauf beobachtet wurde
   - Die Progression von MesswetNick MesswertRoll, wenn der Gyro an die Grenzen kommt wurde Hardwareabhängig geändert (Sprung bei V1.0 war für HH zu groß)
 
--  Optimierungen um den MK zitterunempfindlicher zu machen (Wirkung ist aber nicht eindeutig):  
   - Diverse Änderungen, um die AD-Wandlung und Weiterverarbeitung der Analogkanäle zu Optimieren:
        (Ziel war es, den MK Zitterunempfindlicher zu machen)
   - diverse Änderungen / Optimierungen bei den Interrupts (kürzere Interrupts)
   - spi.c: Interrupt- Abschaltung (cli(), sei()) wurde deaktiviert, da der Interrupt zu lange abgeschaltet wurde.
   - A/D- Wandlung wird nun über Timer gestartet, 16 Wandlungen je Reglerzyklus, Nick und Roll werden 4x je Zyklus(500Hz) abgetastet (=2kHz)
   - Gyro-D wurde geändert, hier sind nun höhere werte sinnvoll (40..60)
   - Motorsmooting wurde wie von MartinK vorgeschlagen geändert (nur Filter bei mehr Gas)
 
-- Höhenregler modifiziert:
   - Diverse Änderungen um die Höhenregelung zu Verbessern 
   
Alle Änderungen sind mit "MartinR"  kommentiert     
   
Unbedingt beachten:  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
   
- WICHTIG !!!! folgende Parameter haben sich geändert:
     - Gyro-D wurde geändert, hier sind nun deutlich höhere Werte sinnvoll z.B. 40 
     - Barometric-D hat sich geändert, hier ca. 150 eintragen

- WICHTIG !!!! Beim Flug im HH-Mode unbedingt beachten:
   - Wird der HH-Mode über UserParameter1 aktiviert, so ist die Stick-Position im Moment des Umschaltens die Neutralposition 
     für den HH-Mode. Hierdurch bleibt der ACC-Mode trimmbar. 
  - Der Nick- und Roll-Knüppel muß daher aber beim Umschalten von ACC auf HH in Mittelstellung stehen. 
  - Beim Zurückschalten von HH- auf ACC-Mode ist es egal wo der Knüppelsteht
  - Der Höhenregler ist beim HH-Mode über UserParameter1 deaktiviert. Beim normalen HH kann der Höhenregler verwendet werden.
  - Die GPS-Funktionen sind im HH-Mode ebenfalls deaktiv. 
     Dadurch kann aus dem HH-Mode heraus beim Zurückschalten in den ACC-Modus der MK in der Luft geparkt werden!

- WICHTIG !!!!  UserParameter1 - 6 haben folgende Funktion:
        UserParameter1 (>180, per Schalter) kann im ACC- Modus auf HH umgeschaltet werden. 
        UserParameter2 ist dann der I-Faktor im HH-Mode. Hier unbedingt den für HH erforderlichen Wert eitragen! z.B. 40
        UserParameter3 ist dann Stick-P-Wert im HH-Mode. Hier unbedingt den für HH erforderlichen Wert eitragen! z.B.5
        UserParameter4: Die Höhenänderungsgeschwindigkeit im Poti-Modus kann über UserParameter4 begrenzt werden. z.B. 40
        UserParameter5: Wartezeit bei Ermittlung von HoeheD hier z.B. 150 eintragen
        UserParam6 ist der Neutralwert des ACC-Z-Sensors ohne Erdbeschleunigung / 4 (wird für die Neigungskorrektur benötigt)
          Vorgehensweise:       im MK-Tool den Wert von ACC-Z ablesen, wenn der MK senkrecht steht (an einem Arm festhalten). 
                Diesen Wert /4 als UserParam6 (bei mir: 115) eintragen

Beim Höhenregler gibt es nun keinen Offset mehr, allerdings muß dafür nach dem Umschalten etwas Gas gegeben werden, damit der Höhenregler arbeiten kann.
   
 
Bisher getestet auf FC V1.0 und V2.0 ME Hardware, aber keine Gewähr!!