Hintergrundbeleuchtung zu schalten, oder das Dual Rate für den Elevator oder eben doch das Aileron. Dieses Dokument soll die komplett neu entwickelte Software für die Eurgle th9x so beschreiben, dass der obige Anspruch auch erfüllt wird.
1.1 Leistungsdaten 16 Modellspeicher zweistufige beliebige Verknüpfung von Ein und Ausgangskanälen (Mischer) Vordefinierte Modelltemplates programmierbare Servogeschwindigkeit für jeden Mischer und für jede Rich tung einzeln 7 Übertragungskurven pro Modell (Pitchkurven) dynamische Speicherverwaltung, dadurch belegen nur auch tatsächlich benutzte Funktionen Speicherplatz im EEPROM programmierbare Servorichtung, Servooffset(subtrim) und Servolimits exponentielle Trimmtasten für jeden analogen Eingang (4 * Steuerknüppel ) einstellbare Dualrate und...
1 Einführung 1. Erfassung der Stickwerte und Potiwerte 2. Anpassung der Stickwege und Potiwege an die Wertebereiche der internen Signaldarstellung. (einmalige Kalibrierung in Kapitel 2.3.7) 3. Verändern der Empfindlichkeiten durch sogenannte ExpoKurven (Kapitel 2.2.3) 4. Kombination der Eingangssignale evtl. abhängig von verschiedenen Schaltern zu den Kanalwerten des Sendesignals.
THRottle AILeron P1P3 Potiwerte 100% 100 , 100% X1X4 Hilfskanäle werden vorab als Ausgänge berechnet Schalter Ausgangskanäle CH1 – CH8 Sendekanäle X1 – X4 Hilfskanäle, die gleichzeitig auch Eingänge sein können 1.5 Verwendung der Bedientasten Zur Bedienung sind sechs Tasten vorgesehen. Die Reaktion der Tasten hängt manchmal von der Dauer des Tastendrucks ab.
Seite 10
1 Einführung KURZLANG: wie DBL mit dem Unterschied, dass die Taste am Ende länger gedrückt wird. Diese Kombination lässt sich im Betrieb besser von schnellen EinzelClicks unterscheiden. Typischerweise gibt es keine UndoFunktionalität. D.h. wenn ein Wert ver stellt wird, dann ist dieser sofort gültig unabhängig davon wie das Menü ver lassen wird.
Menüstruktur 2.1 Standardbildschirm Bildinhalt: das aktuell gewählte Modell (NURI) Eine (Cursor)Markierung entweder auf Th9x oder auf 'NURI' die Batteriespannung (6.9V) eventuell die verbleibende Flugzeit die Werte aller 8 Ausgangskanäle in % hier alle 0.0 die Werte aller 8 Ausgangskanäle als Grafik (alternativ zu numerisch) Die Stellung der SoftTrimmer als Grafik.
2 Menüstruktur Wechsel zum 'Flugzeit-Statistik-Bild' LANG Wechselt den Anzeigemode der Ausgangskanäle zw. Grafischer Anzeige und Numerischer Anzeige Trimm Verändern die Trimmer Einstellung. Tasten Achtung!! Werte sind exponentiell abgestuft. Bewegt den Cursor nach links (auf TH9x) Bewegt den Cursor nach rechts (auf den Modellbezeichner) Wechselt in Menügruppe 'Globale Einstellungen' oder 'Modell-spezifische LANG Einstellungen'.
In Spalte drei wird der EEPROMVerbrauch durch dieses Modell angezeigt. Spalte vier zeigt die Versionsnummer des Speicherformates dieses Modells an. Die ses Format wird jeweils bei der nächsten Änderung auf das neueste Format konver tiert. In der oberen Zeile steht der noch vorhandene Speicherplatz. Dieser Speicher platz wird dynamisch verwaltet.
2 Menüstruktur THR: Der Timer läuft solange der Throttle Stick nicht auf Null steht. THR%: Der Timer wird proportional zur Throttle Stick Stellung herunter gezählt. In der Zeile Type kann ein vordefiniertes Template ausgewählt werden. Dies funktioniert nur solange wie das Modell nicht vom Anwender verändert wurde.
Seite 15
Das Gewicht kann zwischen 100% bis +100% in jeweils 30 Schritten verstellt werden. Es können für jeden Stick auch mehrere solcher Parameterzeilen angelegt wer den. In diesem Fall werden alle Zeilen nacheinander auf den Stickwert angewendet. Jede Zeile wird immer dann wirksam, wenn ihre Bedingungen erfüllt sind. In Summe können maximal 15 solcher Zeilen angelegt werden.
2 Menüstruktur 2.2.3.1 Expo Funktion Details In diesem Menü kann der ExpoWert, eine Kurve, das Gewicht, der DualRate Schalter und der Modus der gewählten ExpoZeile verändert werden. Im Diagramm wird der aktuelle Wert des zugeordneten Sticks sowohl grafisch als auch numerisch in Prozent angezeigt.
Die Schalter sind sowohl normal als auch in invertierter Form verfügbar (! ELE). In der invertierten Form wird die Zeile immer dann aktiv wenn der Schalter ausgeschal tet ist. Wenn eine Zeile angewählt ist werden in der Kopfzeile zwei Zahlen (15,40) ange zeigt.
2 Menüstruktur Wie bereits erläutert werden hier alle Details einer MixerZeile eingestellt. SRC: wählt den Eingangskanal RUD, THR, ELE, AIL, P1, P2, P3, X1, X2, X3, X4, MAX, FUL. MAX wird verwendet um den konstanten Wert 100% zu erzeugen. FUL wird verwendet um den konstanten Wert 100% zu erzeugen. Beide unterscheiden sich wenn der Schalter auf OFF steht.
In diesem Menü können die aktuellen Trimmwerte aus der Standardunganzeige in SubTrimWerte der zugeordneten OutputChannels verwandelt werden. Der Betrag der Änderung wird durch die TrimmWerte und die Gewichte der beteiligten Mixer bestimmt. Bei Komplexen Mixerkonfigurationen kann es passieren, daß auch uner wünschte Kanäle verändert werden.
2 Menüstruktur Taste Funktion Cursor auf Zeile positionieren Cursor auf Spalte positionieren. Wert verstellen Bewegt den Cursor in seine Grundstellung Menü verlassen Wechsel zu den Folgemenüs 2.2.7 Curve 7/7 Dieses Menü zeigt eine Übersicht über alle vorhandenen Kurven. Dabei sind für die Kurven 15 alle Werte angezeigt, für die beiden 9Punkt Kurven cv6 und cv7 sind nur die ersten fünf YWerte sichtbar.
Taste Funktion Cursor auf Zeile positionieren Zahlenwert verstellen. vordefinierte Kurven auswählen. Dies geht nur wenn der Cursor auf PRESET steht Menü verlassen 2.3 Menügruppe Globale Einstellungen, Diagnose und Kalibrierung Diese Gruppe von Menüs fasst alle Menübilder zusammen deren Inhalte unab hängig vom eingestellten Modell sind.
2 Menüstruktur Achtung! so lange die CursorMarkierung auf 1/6 steht bewirken diese beiden Tasten ein Weiterschalten zum nächsten Menübild. Bildinhalt: Kontrasteinstellung. Filter Charakteristik des ADWandlers. 0=kein Filter, 3=starker Filter Bei kleinem Wert wurde an manchen Fernbedienungen ein jittern der Servos festgestellt.
Wahl der Throttle Warnung. Diese Warnung wird beim Einschalten ausgege ben wenn der THRStick nicht auf seiner Ruheposition steht. Achtung!! Die Ruheposition des THRSticks wird bei jeder Aktivierung die ser Option automatisch ermittelt. D.h. Vor der Aktivierung muss der THR Stick auf seine Ruheposition gestellt werden.
2 Menüstruktur Lehrer und Schülersteuerbefehl wird addiert Schüler steuert diesen Kanal komplett selbst prozentualer Wert der Schülerfunktion Steuerkanal des Schülers. Im Schülergerät muss dieser Kanal mit dem gewünschten Stick verbunden sein. Schalter mit dem diese Zeile aktiviert oder deaktiviert werden kann Cal: Wenn der Schüler korrekt angeschlossen ist, so werden hier die...
Taste Funktion Menü verlassen Wechsel zu den Folgemenüs 2.3.6 Diagnose der Analogwerte und Kalibrierung der Batte riespannungsanzeige Diese Bild zeigt die binären Werte aller Analogeingänge an. Zusätzlich wird der kali brierte Prozentwert angezeigt. Achtung!! Falls einer der Werte grösser als +100 oder kleiner als 100 wird, so ist dies kein echtes Problem.
Seite 26
2 Menüstruktur In diesem Menü wird in drei Schritten die Kalibrierung der Steuerknüppel und der Potis durchgeführt. Immer beim Verlassen der jeweiligen Position wird der Wert intern gespeichert. D. h. Beim Verlassen der Position SetMid wird die Mittelposition gespeichert, beim Verlassen der Position MovArnd werden alle zuvor ermittelten Min...
Funktionen 3.1 Einschaltvorgang Beim Einschalten werden mehrere Tests durchgeführt. Zuerst werden die Daten aus dem EEPROM geladen und verifiziert. Falls das EEPROM keine plausiblen Werte enthält so wird eine Warnmeldung ausgegeben und danach das EEPROM komplett neu initialisiert Danach wird geprüft ob noch genügend Platz im EEPROM vorhanden ist um zumin dest ein neues Modell anlegen zu können.
3 Funktionen RUD THR P1, P2, P3 Switches ELE AIL Kalibrierung Expo Trimm Mixer CH1CH8 Limit Sender 3.2.1 Kalibrierung Dieser Funktionsblock wandelt die unsignedWerte des ADWandlers (01023) in einen Wert der symmetrisch von 512 bis +511 reicht. Dabei ist garantiert, dass die Mittelstellung der Sticks den Wert 0 liefern und dass die Vollausschläge den Wert 512 bzw.
Seite 29
Im Diagramm sind beide Funktionen dargestellt und zwar in blau mit jeweils 6 Wer ten für k. Darunter ist in rot die zugehörige Ableitung der Funtionen nach x darge stellt. Man erkennt, daß die erste Funktion eine gut einstellbare Empfindlichkeit am Null punkt hat, während die Exponentialfunktion sehr schnell von Empfindlichkeit 1 auf 0 wechselt.
Seite 30
3 Funktionen In dieser Implementierung wird lediglich eine einzige echte 32bit IntegerDivision benötigt und natürlich keinerlei Fliesskommaoperationen. 3.2.3 Trimm Dieser Block addiert zu den StickWerten die eingestellten Trimmwerte. Diese Trimmwerte setzen sich aus zwei Komponenten zusammen. Die erste Komponente wird direkt durch die Trimmtasten eingestellt. Dabei wird bei jedem Druck auf eine Trimmtaste dessen Wert um eins verändert.
Ein zweiter Aspekt ist der Wert den ein abgeschalteter Schalter erzeugt. Hier wurde bei Potis und bei FULL der Wert 100% fest vorgegeben, bei MAX dagegen der Wert 0%. Bei den Sticks wird das Gesamtergebnis zu Null gesetzt. In einer zukünftigen Software wird dieses Verhalten einstellbar sein. Poti : val FUL :100 MAX :100...
3 Funktionen 3.2.6 Limit Vor dem endgültigen Versenden der ChannelWerte werden diese noch auf Grenz überschreitung überprüft, danach wird noch ein Subtrim addiert und danach eventu ell noch invertiert. Danach werden die Werte in das gewählte Protokoll encodiert und dann versendet. Achtung!! Der SubtrimWert wird nach der LimitsPrüung addiert d.h.
3 Funktionen 3.4.2 Fuse Bits. (Original und leicht modifiziert) Beim neu laden des Flashes ist es nicht notwendig die Fuses in irgend einer Weise zu ändern. Falls dies doch einmal passiert so habe ich hier meine Originalwerte auf gelistet: sig=1e,96,02,ff Atmel AVR ATmega64 Lock Bits: 0xff 0b11111111 Fuses low: 0x0e 0b00001110 Fuses high: 0x89 0b10001001 (0x81 0b10000001)
3.5 Hintergrundbeleuchtung Im rclineforum gibt es Vorschläge wie man das LCDDisplay mit einer Hintergrund beleuchtung versehen kann. z.B. Hier: http://www.rclineforum.de/forum/thread.php?postid=3336211#post3336211 http://www.rclineforum.de/forum/thread.php?postid=3414907#post3414907 Mit wenig zusätzlichen Bauteilen kann man diese Beleuchtung softwaregesteuert ein und ausschalten. Dazu wurde ein freier PortPin (PB7) als Ausgang geschaltet. In den meisten Fällen reicht ein einziger FETTransistor aus um mit diesem Ausgang den Inverter für die ELFolie zu schalten.
4 Programmierbeispiele Programmierbeispiele Grundsätzliches: Herkömmliche Sender bieten vorgefertigte Mischprogramme an (Fläche, Heli, Elevon, Aileron ..) die nur noch, passend zum Modell, ausgewählt und parametriert werden müssen. Diese Mischprogramme sollen zwar die Program mierung vereinfachen, schränken aber, unserer Beobachtung zufolge, die Pro grammiermöglichkeiten auf die vorgesehenen Möglichkeiten dieser Pro...
4.1 Standard 4-Kanal Flieger Mixer Seitenleitwerk 100% Höhenleitwerk 100% 100% Querruder 100% 4.2 Throttle Cut Mixer Zeile 1 100% !THR Zeile 2 -100% Wenn der THRSwitch auf 'OFF' steht (kein Throttlecut aktiv), dann wird der Aus gang CH3 durch die Zeile 1 mit dem Wert des THRStick versorgt. Wird dagegen der Schalter auf 'ON' gestellt, so wird nur noch Zeile 2 wirksam.
4 Programmierbeispiele Falls die Orientierung der Ruderanlenkung nicht stimmt, so kann dies im Limits Menü durch Invertierung des betreffenden Kanals behoben werden. 4.4 2-Stufen-Schaltkanal Mixer Ausgang auf -100% wenn ELE=OFF -100% !ELE Ausgang auf 100% wenn ELE=ON 100% 4.5 3-Stufen-Schaltkanal Mixer Ausgang auf -100% wenn ID=ID0 -100%...
4.6.2 Erläuterung: Die Steuerfunktionen RUDer, ELEvator und THRottle werden 1:1 an die Ausgänge 1, 2 und 5 übertragen. P1 (Bremsklappen) wird sowohl auf Ausgang (Kanal) 3 wie auch 4 gemischt. Dabei werden aber nur positive Werte berücksichtigt, da ansonsten auch in die ent gegengesetzte Richtung gemischt wird.
4 Programmierbeispiele Die äußeren und inneren Klappen sollen über einen Flugphasenschalter auf verschiedene Mittelpositionen gestellt werden (Schnellflug, Thermikflug ...). Beim Setzen der Landeklappen soll das Höhenruder verzögert korrigiert werden Beim Landen soll die Butterfly Stellung verwendet werden, bei der die Querru der nach oben und die inneren Klappen nach unten ausschlagen.
Kanal 3: Querruder links außen 1:1 Stick Querruder -50% Butterfly invertiert 10% P1 für Flugphasen aktiviert über RUD Kanal 4: Klappen links innen Bei Betätigung des Schalters THR werden die Klappen langsam ausgefahren 10% Querruder werden dazugemischt 10% P1 für Flugphasen aktiviert über RUD Kanal 5: Querruder rechts außen 1:1 Stick Querruder...
Seite 42
4 Programmierbeispiele 86% von 1 wie 2 wie 3 -36% wie 4 -62% wie 2...