|
MikroKopter-Tool
Für die Parametrierung, das Debuggen und Flashen haben wir ein kleines Windowstool entwickelt:
Hiermit lassen sich bis zu 16 analoge Werte darstellen (als Zahlenwerte und auch grafisch).
Ausserdem haben wir ein Display integriert, damit lassen sich Parameter in der Flight-Ctrl ablesen und einstellen.
Ein Updaten der Software im Mikrocontroller ist ebenfalls möglich.
Interface / SerCon
Für die Programmierung und das Updaten & Parametieren ist ein Interface an der seriellen Schnittstelle erforderlich.
Das Programmieren erfolgt mit einem SI-PROG kompatiblen ISP-Interface. Für das Debuggen/Parametieren ist ein RS232/TTL-Konverter erforderlich.
Unser SerCon wurde speziell hierfür entwickelt.)
Zum Parametrieren & Updaten der Firmware ist ein 10pol. Anschluss des SerCon vorgesehen:
Anschluss SIO für FlightCtrl
- Anschluss ISP1 für BL-Ctrl
JUMPER ist nicht gesteckt !
Die entsprechende Schnittstelle (z.B. COM1) wird im Terminalfenster eingestellt.
Anzeige im Scope
Die Analog-Werte links im Bild werden regelmässig aktualisiert, wenn Sie empfangen werden.
Die Ausgabe im Scope beginnt erst nach Bestätigen der 'START'-Taste.
Die Grafik kann dann mit 'PAUSE' unterbrochen werden oder mit 'STOPP' komplett gestoppt werden.
Die Skalierung geschieht automatisch und passt sich den Maximalwerten an.
TIPP: Nach dem Stoppen & Neustarten steht die Skalierung wieder auf Minimum.
LC-Display
In der Mitte erkennt man ein LC-Display (4x20 Zeichen).
Mit den Tasten 8, 9, 10, 11 lassen sich verschiedene Menüs aufrufen. (8, 9 = blättern auf/ab)
Hier werden unterschiedliche Parameter und Statusdaten angezeigt.
Später wird man damit auch eine Parametrierung vornehmen können.
Download
Flight-Ctrl Parameter
Eine ausführliche Erklärung der Settings gibt es hier !
Im Folgenden werden die einzelnen Parameter des MK-Settings beschrieben. Alle Angaben beziehen sich auf das MK-Tool 1.48 .
Die Werte in den nachfolgenden MK-Tool-Fenstern zeigen nicht die "Standard Settings"!
Die Settings
Klicken Sie im MK-Tool auf Settings, worauf Sie über die 10 Reiter Zugriff auf die einzelnen Parametergruppen haben.
Vorraussetzung für ein vernünftiges Setting ist eine Fernsteuerung mit am besten 8 Kanälen, ohne Kanalkopplung, Mischer, Exponential- oder sonstige Spezialfunktionen. Einfach 8 native Kanäle einstellen für: Pitch, Gier, Roll, Nick und solche Zusatzfunktionen wie Kameraneigung und zwei Schalter für Höhenregler und Beleuchtung. Damit sind die 7 Kanäle der häufig verwendeten Graupner MC-12 auch schon vertan. Wer mehr hat – um so besser für weitere Funktionen wie GPS o.ä.
Konfiguration
Parameterset: es besteht die Möglichkeit 5 Parametersätze in den Kopter zu speichern, die dann bei der Initialisierung nach dem Einschalten des Kopters über die Sticks aufgerufen werden können. Jedem Set kann man einen repräsentativen Namen geben. Nützlich für verschiedene Zuladungen, sportliches Fliegen oder Kameraflug usw. Wenn ein Satz fertig erstellt ist, muß er unter seiner Nummer in den MK gespeichert werden (Write) – der MK quittiert das mit einer der Setnummer entsprechenden Anzahl kurzer Pieps. Jeder Satz muß einzeln gespeichert werden! Mit Read kann ein Parametersatz aus dem Kopter gelesen werden. Mit Save und Load kann jeder Satz auf PC gesichert und wieder geladen werden. Die Parametersätze können dort mit einem Texteditor angesehen und auf eine Karte ausgedruckt werden. Somit ist es möglich, die Parameter der 5 verschiedenen Settings auf dem Flugplatz ohne Laptop beim Fliegen vergleichen und sich Änderungswerte notieren zu können.
Höhenregler: Häkchen setzen, wenn der Luftdrucksensor bestückt ist und die Höhenregelung benutzt werden soll.
Höhenfunktion per Schalter: wenn die Fernsteuerung mit einem Kippschalter auf einem freien Kanal erweitert wurde, kann die Funktion „Halten der aktuell geflogenen Höhe“ zugeschaltet werden. Wenn dies nicht angewählt wird, gilt der Setpoint (siehe unten), also z.B. ein Poti.
Heading Hold: In diesem Modus richtet sich der MikroKopter nicht waagerecht aus wenn der Stick in Neutralstellung ist. Diese Funktion ist eher etwas für erfahrenen Piloten, oder Piloten, die an X-3D-Steuerung gewöhnt sind. Mit dieser Einstellung sind alle Arten der Loopings möglich.
--> Achtung: Wer HH fliegen möchte, muss den I-Anteil des Hauptreglers erhöhen (auf 30 z.B.)!
Kompass: Häkchen setzen, wenn das Kompassmodul angeschlossen ist und genutzt werden soll.
Kompass Ausrichtung fest: Der MikroKopter richtet sich dann immer wieder in die Richtung aus, in die er beim Start gestanden hat. Ist das Feld nicht markiert, lässt sich die Richtung mit dem Gier-Stick ändern.
GPS: alternative Software-Versionen unterstützen ein ublox-GPS-Modul. Damit sind dann GPS-Funktionen wie Position halten, Position anfliegen, coming home und das Abfliegen von Waypoints möglich. Stichwort "Autonomes Fliegen"
ToDo Achsenkopplung:Hier lässt sich die Achsenkopplung global aktivieren oder deaktivieren. Die Achsenkopplung verhindert, dass der MikroKopter nach einer Kurve schief steht, weil die Winkel intern beim Gieren korrigiert werden. Sollte immer aktiviert sein.
Drehratenbegrenzung: Zusätzliche Begrenzung der Drehrate. Mit dieser Option wird die Kennlinie des Gyros an den Enden angehoben. Dies verhindert schnelle Manöver, da ab einer bestimmten Drehrate stärker gegengeregelt wird. Betrifft nur Nick und Roll. (Nur für Anfänger interessant)
Kanäle
Hier können die Kanäle der Funke den Funktionen des MikroKopters zugeordnet werden. Die Balken zeigen den Ausschlag des jeweiligen Kanals an.
Sticks
P-Anteil: Stick-Verstärkung. Je grösser, desto stärker reagiert der MK auf die Stickbewegungen.
D-Anteil: Der MikroKopter folgt den Bewegungen des Sticks umso spontaner, je grösser dieser Wert ist. Genaugenommen wirkt hier zusätzlich die Stickgeschwindigkeit auf den MK.
Gier-P:Verhältnis Gier-Geschwindigkeit zum Stickausschlag.
ToDo
Höhe
Setpoint: Gibt die maximale Höhe an. Normalerweise wird hier ein Poti als Kanal der Funke eingetragen. Kleine Werte ermöglichen nur niedrige Maximalhöhen.
Fluganfänger sollten das Feature nutzen, hier evtl. 0 eintragen und den Höhenregler aktivieren (siehe oben). Dann kann es nicht passieren, dass der MikroKopter zu hoch steigt. Bei Nutzung des Höhenreglers als Schalter ist hier auch das entsprechende Poti einzutragen, um den Kanal der Funke damit festzulegen.
Min Gas: unter diesen Wert wird das Gas nicht gestellt, wenn die Höhe überschritten wurde.
P-Anteil: Abhängigkeit von Rücknahme von Gas bei Höhe über. Je höher dieser Wert, desto kleiner ist der Flugbereich oberhalb der Maximalhöhe.
Luftdruck-D: Dämpft das Schwingverhalten des Höhenreglers. Geringste Luftdruckänderungen haben damit grosse Wirkung auf Gas.
Z-ACC: Dämpft das Schwingverhalten mittels des Beschleunigungssensors.
Verstärkung: ermöglicht grössere Flughöhen, wenn dieser Wert vergrößert wird. Der Setpiont wird mit diesem Wert multipliziert.
Mehr Details zum Einstellen der Höhenfunktion findest duhier.
Gyroskope
Gyro-P: Einfluss des Gyros auf die Nick- und Rollgeschwindigkeit. Je höher wer Wert, desto träger bewegt sich der MikroKopter.
Gyro-I: Lagestabilisierung. Je höher der Wert, desto stärker der Zusammenhang von Stickwinkel und Lagewinkel. Führt bei zu grossen Werten (gegenüber Gyro-P) zum Schwingen.
Dynamic Stability
Mit diesem Wert lässt sich nun einstellen, wieviel Schub die Achsenregelung zur Verfügung hat, um zu Regeln Einige haben sich daran gestört, dass der MK beim starken Regeln steigt. Das war auch der Grund für das Steigen bei Wind oder sonstigen Phänomenen wie Lagerschaden zum Beispiel. Ausserdem haben Anfänger Probleme mit dem Springen bei der Landung, was auch diese Ursache hat. Kleiner 64 -> der Schub wird auf unter Gas limitiert -> kein Steigen bei starkem Regeln Grösser 64 -> der Schub darf grösser werden als Gas -> hartes Regeln der Achsen -> Steigen bei starken Regeln In den Settings ist es so verteilt: 1.Sport: 100 -> steigt 2.Normal: 75 -> steigt etwas 3.Beginner: 50 -> steigt nicht
ACC/Gyro-Faktor: : Abhängigkeit zwischen ACC-Sensorwert und Gyrointegral. Wird der MK einige Grad gekippt, müssen ACC-Linie und Gyro-Integral deckungsgleich sein. Ggf. kann das hier korrigiert werden.
ACC/Gyro-Comp.: : Grad des Fusion zwischen ACC und Gyro (reziprok). Je kleiner der Wert, desto schneller wird der Gyrowinkel dem ACC-Sensor angepasst. Zum Schweben sind größere Werte vorteilhaft (>100). Zum Heizen sollte man kleine Werte nehmen (10-50)
Hauptregler I: Summe der Winkelfehler. Sorgt für grössere Präzision zwischen Stick und Lage. Sollte beim Fliegen mit Heading Hold (oben) erhöht werden. Kann bei zu grossen Werten überschwingen.
Driftkompensation:
Gibt an, wieviel Digits pro 500ms der Drift nachgeführt werden darf. Hier sollte ein kleiner Wert (1-3) angestrebt werden. Wert zu klein -> Gyrodrift (z.B. bei Temperaturänderungen) zieht den MK stark in eine Richtung Wert zu gross -> MK schwebt nicht so gern still auf einer Stelle Null -> Driftkompensation aus Standart ist 4, also eher konservativ
Kameraneigung
Servo-Control: Servowert zum Schwenken der Kamera. Entweder fixen Wert, oder Poti eintragen.
Nick compensation: Einfluss des Nickwinkels auf den Servo.
Invert: Drehrichtung invertieren.
Min: Minimalwert als Anschlag.
Max: Maximalwert als Anschlag.
Refresh-Rate: Ansteuergeschwindigkeit. Einige Servos können nicht mit schnellen Werten angesteuert werden
Looping
Pfeile: Der Looping wird in diese entsprechende Richtung zugelassen. Dabei zeigt der Pfeil den entsprechenden Stickanschlag an
Gas Limit: Auf diesen Wert wird das Gas während des Loopings begrenzt
Ansprechschwelle: Ab diesen Stickwert wird aus der Lageregelung eine Drehratenregelung, um den Looping durchzuführen
Hysteresis: Stick-Hysterese für die Ansprechschwelle. In der Regel immer niedriger, als die Ansprechschwelle
TurnOver Nick: 100 bedeutet 100% einer 360° Drehung. Wenn nach dem Looping der MK zu weit dreht, muss der Wert verringert werden. Dreht er nicht weit genug, muss der Wert vergrößert werden. Also entspricht 1 einem Winkel von 3,6°
TurnOver Roll: analog TurnOver Nick
Wichtig: Ansprechschwelle - Hysteresis sollte etwa bei 20-40 liegen, da sonst der Kopter beim verlassen der Loopingfunktion versucht, sehr schnell die Schräglage, die man mit dem Stick vorgibt, einzunehmen. Dies kann gerade bei sehr flotten Settings dazu führen, das der Kopter bei der Drehung "springt" und einige Gerade der Winkelbewegung nicht mitbekommt, was dazu führt, das sich der Kopter sehr schräg steht.
Sonstiges
Bei Empfangsverlust: Geht der Funkempfang verloren (außer Reichweite oder Sender aus), tritt die Not-Gas-Regelung in Kraft um dem Piloten Zeit für Gegenmaßnahmen zu geben. Die gesamte Not-Gas-Regelung wird allerdings erst aktiv, wenn ein Gas-Wert von 40 für mindestens 4 Sekunden überschritten war (d.h. der Kopter wahrscheinlich fliegt)!
Min.Gas Minimaler Gaswert, der an die Motoren geht
Max.Gas Maximaler Gaswert, der an die Motoren geht.
Kompasswirkung :Ist ein Kompass angeschlossen, kann hiermit der Einfluss auf Gier eingestellt werden
Unterspannung Schwellwert in 0,1V zum Melden der Akku-Unterspannung
Not-Gas Zeit [0.1s]: Hier wird die Zeit in Zehntelsekunden eingetragen, für die das Not-Gas nach Empfangsverlust aktiv wird.
Not-Gas: Wert für das Not-Gas.
Userparameter
Die Werte sind für Softwareentwickler zur freien Verfügung
Coupling
Eine Gierbewegung verkoppelt jetzt Nick und Roll. Das bedeutet, dass der MK jetzt eine Kurve fliegt, wenn man z.B. nickt und gleichzeitig giert. Es verhindert, dass dem MK nach Kurven schwindelig wird
Gier/yaw pos. feedback : Der Grad der Achsenkopplung. Ist der Wert zu klein, hängt der MK bei (und nach) einer Linkskurve nach rechts
Gier/yaw neg. feedback: Gegenkopplung der Achsenkopplung. Nimmt die Nase in der Kurve hoch. Ist der Wert zu gross, hängt der MK nach einer Kurve (z.B. Vorwärts links) nach hinten
Programm-Update
Zum Flashen/Update ist kein PonyProg o.ä. notwendig.
Das MikroKopter-Tool erkennt automatisch (am Dateinamen), um welche Datei und es sich handelt (z.B. Bootloader für FlightCtrl) und setzt die Fusebits richtig.
Bootloader flashen
Der Bootloader muss nur einmalig per ISP in den AVR programmiert werden. Das MK-Tool setzt die Fusebits dabei automatisch korrekt.
Danach können die Updates der Firmware (FlightCtrl oder BL-Ctrl) seriell durchgeführt werden.
WICHTIG: Für das Flashen des Bootloaders ist eine echte serielle Schnittstelle erforderlich.
Auf den SMD-vorbestückten Platinen ist bereits ein Bootloader installiert.
Flight-Ctrl
Um auf einen Atmel 644P den Bootloader zu flashen, muss der Bootloader in BootLoader_MEGA644P_20MHZ_V0_1.hex umbenannt werden! Die Flight-Ctrl muss über das 6-polige ISP-Kabel (ISP2) an den SerCon angeschlossen sein.
Die Flight-Ctrl muss ebenfalls über das 10-polige ISP-Kabel (SIO) an den SerCon angeschlossen sein. (damit man die Bestätigung vom Bootloader sehen kann)
- Die Flight-Ctrl muss mit Spannung versorgt werden.
'Controller flashen & Terminal' auswählen.
Jumper des SerCon setzen
- Dann auf 'FLASH' klicken und das Bootloader-Hexfile auswählen.
- … jetzt wird der Bootloader programmiert – das dauert etwas …
- Bei Erfolg meldet sich der Bootloader mit Version und Kennung (Vx.y:MKBL) in weisser Schrift
(solange keine FlightCtrl-Firmware eingespielt wird, kommt beim Start immer nur diese Meldung)
ToDo: Screenshot vom Flashen des BL einfügen
BL-Ctrl
- (seit V1.46)
Die BL-Ctrl wird über ein 10-polige kombinierte ISP-/seriell-Kabel (ISP1) mit der SerCon verbunden.
- Die BL-Ctrl muss mit Spannung versorgt werden.
- Es dürfen keine Daten über den I2C-Bus kommen, d.h. entweder ablöten oder während des Programmierens Flight-Ctrl ausschalten.
'Controller flashen & Terminal' auswählen
Jumper des SerCon setzen
- Dann auf 'FLASH' klicken und das Bootloader-Hexfile auswählen.
- … jetzt wird der Bootloader programmiert – das dauert etwas …
- nach erfolgreichem Programmieren meldet sich der Bootloader mit einer Kennung:
- Vx.y:MKBL
Vx.y = Version
MKBL für MikroKopter-BootLoader
Programm-Update
Flight-Ctrl-Programm
Anstatt des 6-poligen Kabels wird nun das 10-polige Kabel an die SIO des SerCon angeschlossen.
Jumper des SerCon entfernen.
- Die Flight-Ctrl muss mit Spannung versorgt werden.
- auf 'Update' klicken und aktuelles Hex-File der Flight-Ctrl auswählen.
- jetzt wird programmiert – evtl. muss manuell resettet werden (Flight-Ctrl einfach aus- und einschalten).
Nach dem Reset muss sich die FlightCtrl mit einigen Klartextmeldungen (in weiss) melden.
Es kann sein, dass danach laufend Zeichen (#D=====rwerEW==fesf== o.ä.) im Terminal angezeigt werden. Das ist normal und kein Fehler.
ToDo: Aktuelleren Screenshot vom Updaten einfügen (mit Ausgaben der FC)
BL-Ctrl-Programm
- (seit V1.46)
Die BL-Ctrl wird über ein 10-polige kombinierte ISP-/seriell-Kabel (ISP1) mit der SerCon verbunden.
Jumper des SerCon entfernen.
- Die BL-Ctrl muss mit Spannung versorgt werden. Es wird empfohlen, die Flight-Ctrl während dem Update auszuschalten.
- auf 'Update' klicken und aktuelles Hex-File der BL-Ctrl auswählen.
- jetzt wird programmiert - evtl. muss manuell resettet werden (BL-Ctrl einfach aus- und einschalten).
- wenn alles geklappt hat, meldet sich der BL-Regler mit seiner aktuellen Version.
- Jeder Motor-Regler benötigt eine eigene Adresse (unterschiedliche Hex-Files).
Settings abspeichern
Um den kompletten Settingspeicher des Kopters zu backupen, geht man wie folgt vor:
- Kopter durch Interfacekabel mit dem PC verbinden und MK-Tool starten, einschalten.
- Setting-Nr. 1 auswählen.
- Funktion Lesen ausführen.
- Abspeichern mit Setting-Nr. 1 im Dateinamen.
- Setting-Nr. 2…5 analog Nr. 1
Das Rückspeichern aller Settings in den Kopter muss ebenfalls mit 5 Einzelfiles getätigt werden! Bei Verwendung von weniger als 5 sind dementsprechend weniger Files erforderlich.
Aber Achtung: Man sollte in nicht benutzte Settingspeicher gültige Daten schreiben (z.B. Inhalt von Setting 1), damit man bei falscher Bedienung auf dem Flugfeld kein unfliegbares Setting erhält!
Settings unter Linux einspielen
Dazu gibt es das Tool mkset
Links
Ausführliche Erklärung der Settings von Ebiro
Page in