{{indexmenu_n>5}} ====== Erweiterungen ====== ===== Port-Erweiterung für Schalter ===== Für die Abfrage von Schalter-Ereignissen wurde eine Leiterplatte als Add-On zum [[hardware:anleitungen:ardu-enc|Encoder Controller]] erstellt, die die gleiche Baugröße wie der Arduino-Uno hat, aber es sind nicht die Steckverbinder eines Arduino-Shields vorhanden. Als Verbindung zur Encoder-Controller-Baugruppe ist ein 5-Poliger Steckverbinder vorgesehen. Die Verbindung enthält die Spannungsversorgung +5P und GND sowie die I²C-Signale SDA, SCL und INT. Auf der [[hardware:anleitungen:ardu-enc#Variante Encoder Controller|Controller-Baugruppe]] muss R1 bestückt werden, um auf dem Steckverbinder die 5V neben die GND-Leitung zu legen. ==== Leiterplatte ==== {{:hardware:anleitungen:ardu_port_ext_01a.png?200&nolink|}} {{:hardware:anleitungen:arduino-port-ext_schematic.pdf|Schaltplan}}\\ {{:hardware:anleitungen:arduino-port-ext_assembly.pdf|Bestückung}}\\ {{:hardware:anleitungen:arduino-port-ext_bom.pdf|Stückliste}}\\ Die Schalter sind im geschlossenen Zustand mit Masse zu verbinden. Mit dieser Baugruppe ist es möglich die Schalter vom Panel eines Kleinflugzeuges nachzubilden. Dazu zählen: * Master Battery * Alternator 1/2 * Starter 1/2 * Fuelpump 1/2 * Prop Sync * Avionics Master * Lights * Tank Selector * Flaps * Gear * Parking Brake * Pitot Heat * Carburator Heat ------ {{:hardware:anleitungen:ardu_port_ext_02.png?500 |}} Die Abbildung zeigt den kompletten Aufbau des Controllers mit der Port-Erweiterung und dem Ethernet-Modul. Da der Controller und die Port-Erweiterung im Arduino-Format sind, könnten bei Bedarf beide Platinen auch mit entsprechendem Abstand übereinander montiert werden, die Entfernung zwischen beiden Baugruppen kann aber auch 50cm betragen. ------ {{:hardware:anleitungen:ardu_port_ext_03.png?300 |}} Die Anzeige ist ein OLED-Display mit einer Auflösung von 128x32 Pixeln, welches über 4 Leitungen als I²C-Gerät angeschlossen wurde. Der Display-Controller ist ein SSD1306. Wegen der geringen Größe des Speichers des Arduino wurde eine sehr einfache Bibliothek eingebunden. Diese ist in der Arduino-IDE mit **ss_oled** bezeichnet. Die Anzeige dient bei der Programmierung zum Anzeigen von Informationen. Diese ist im normalen Betrieb nicht notwendig. ------- ==== Steckerbelegung ==== === J5 Verbindung zum Controller === o o o o o | | | | | | | | | GND (VSS) | | | 5P (VDD) am Encoder-Controller muss R1 (0 Ohm) bestückt sein | | SDA (I²C-Daten des ATMega) | SCL (I²C-Clock des ATMega) INT (I²C-Interrupt an ATMega A6) Der Sketch des Controllers erkennt eine angeschlossene Port-Erweiterung, im Client-Programm sind standardmäßig alle Schalter deaktiviert, ansonsten würden alle Schaltfunktionen als "OFF" interpretiert werden. Diese müssen über die Konfigurationsdatei aktiviert werden. Einige Funktionen sind zusätzlich konfigurierbar. Diese Funktionen sind im Abschnitt zur Kommunikationssoftware beschrieben Mit der Kommunikationssoftware des [[hardware:anleitungen:ardu-enc:ardu-enc-simcon|SimConnect-Clients]] und des [[hardware:anleitungen:ardu-enc:ardu-enc_xplane|X-Plane-Plugins]] werden folgende Schalt-Funktionen mit Schaltern an J1 und J2 unterstützt. Hier wird ein 20-poliges Flachbandkabel mit einem Pfostenverbinder angeschlossen. Alle gemeinsamen GND-Pole der Schalter werden am Panel miteinander verbunden und an Pin1/2 des Flachbandkabels angeschlossen. Die anderen Leitungen werden am Panel vereinzelt und an dem Schalt-Pol des Schalters angeschlossen. === J1 - Switches 1 === 1 2 GND o o GND Panel Light o o Pitot Heat Strobe/BCN Light o o Nav Light Taxi Light o o Landing Light Carburator Heat o o Fuelpump1 Avionics o o Starter1 - LEFT Starter1 - RIGHT o o Starter1 - START Starter1 - BOTH o o Starter1-OFF Generator1 o o Batteriehauptschalter 5P o o 5P 19 20 === J2 - Switches 2 === 1 2 GND o o GND Flaps Full Down o o Flaps Pos 2 Flaps Pos1 o o Gear Parking Brake o o Fuel Tank OFF Tanksel R (L->R) o o Tankselector L (R->L) Propeller Sync o o Starter2 - LEFT Starter2 - RIGHT o o Starter2 - START Starter2 - BOTH o o Starter2 - OFF Generator2 o o Fuelpump2 5P o o 5P 19 20 === J3 und J4 - Switches === Wenn jeder einzelne Schalter separat angeschlossen werden soll, also mit zwei potentialfreien Drähten, dann können auch die 32-poligen Steckverbinder J3 und J4 genutzt werden. Dabei gilt dann die Zuordnung: * alle geradzahligen Pins führen GND-Potential * die ungeradzahligen Pins sind die Schaltkontakte * J1/2 Pin3 führt auf J3/J4 Pin1 * J1/2 Pin4 führt auf J3/J4 Pin3 * ... * J1/J2 Pin18 führt auf J3/J4 Pin31 Bezüglich der Portexpander gilt (siehe auch Schaltplan): * J3 ungerade Pins 01 ... 15 => Portexpander U2 Port P7 ... P0 * J3 ungerade Pins 17 ... 31 => Portexpander U1 Port P7 ... P0 * J4 ungerade Pins 01 ... 15 => Portexpander U4 Port P7 ... P0 * J4 ungerade Pins 17 ... 31 => Portexpander U3 Port P7 ... P0 ----- ==== Schalter-Konfiguration ==== Die Konfigurationsdatei der Kommunikationssoftware hat eine Sektion ''[SWITCHES]''. Die Variablen haben folgende Bedeutung: Allgemein:\\ ''0 - Schalter deaktiviert''\\ ''1 - Schalter aktiv''\\ Anzahl der Antriebe:\\ ''2 - STARTER, FUELPUMP, MASTERALT'' wenn jeweils 2 Schalter bei zwei 2-motorigem Flugzeug vorhanden sind. Wird bei einem 2-motorigen Flugzeug an diese Stelle eine ''1'' eingetragen, so wirkt der Schalter der ersten Maschine für beide Maschinen. Bei der Startervariante muss noch zwischen Propeller- und Turbinen-Antrieb unterschieden werden. Dies erfolgt in einer Sektion ''[AIRCRAFT]'' mit der Variablen ''TYPE''. ^ Aircraft Type ^ StarterX-OFF ^ StarterX-RIGHT ^ StarterX-LEFT ^ StarterX-BOTH ^ StarterX-START ^ | (0) Propeller | Zündung aus | rechter Zündkreis | linker Zündkreis | beide Zündkreise an | Starten | | (1) Turbine| Turbine stopp | --- | --- | Turbine ein | Starten | Landeklappen - Flaps:\\ ''0 - kein Flapshebel''\\ ''1 - vier Stellungen mit 3 Signalen, alle Signale offen = UP''\\ ''2 - drei Stellungen mit 3 Signalen z.B. an Drehschalter''\\ ''3 - drei Stellungen mit Kippschalter, Mitte = offen = Approach'' Für die Flaps-Steuerung sind 3 Signale vorgesehen: Position1, Position2, Full Down. Abhängig von der Konfigurationsdatei können Sie Flaps-Steuerungen mit 3 oder 4 Stufen realisieren. ^ Signal ^ Offen ^ Pos1 ^ Pos2 ^ Full Down ^ |(1) Drehschalter 4 Stellungen | Full Up | Pos1 | Pos2 | Full Down | |(2) Drehschalter 3 Stellungen | ---- | Full Up | Mitte | Full Down | |(3) Kippschalter mit Mittelstellung | Mitte | Full Up | ---- | Full Down | Für die Tankumschaltung/-abschaltung gibt es 2 Konfigurationsvariablen, ''FUELTANKOFF'' und ''FUELTANKSEL''. Mit dem Signal ''Fuel Tank OFF'' kann die Treibstoffzufuhr ausgeschaltet werden.\\ Die Tankauswahl erfolgt mit Signalen an ''Tank Sel L'' und ''Tank Sel R''. * Einpropellermaschine * ''(1) - Tank links, Tank rechts, offen - beide Tanks'' * Zweipropellermaschine mit Cross-Feed: * MS-FS / Prepar3D: * ''(2) - X-Feed: rechts nach links, links nach rechts, Mittelstellung - Cross-Feed off'' * X-Plane: * ''(2) - X-Feed: rechts nach links, links nach rechts, Mittelstellung - Cross-Feed off'' * ''(3) - X-Feed: Mittelstellung - Cross-Feed off und alle Tanks ausgewählt'' * ''(4) - Fuel-Transfer From - To'' Folgende Variablen sind in der Sektion ''[SWITCHES]'' der Konfigurationsdatei definiert: AVIONICSMASTER=0 -> {0,1} CARBHEAT=0 -> {0,1} FLAPS=0 -> {0,1,2,3} FUELPUMP=0 -> {0,1,2} FUELVALVE=0 -> {0,1,2} alternativ zu FUELPUMP FUELTANKOFF=0 -> {0,1} FUELTANKSEL=0 -> {0,1,2,3,4} GEAR=0 -> {0,1} LANDINGLIGHT=0 -> {0,1} MASTERALT=0 -> {0,1,2} MASTERBAT=0 -> {0,1} NAVLIGHT=0 -> {0,1} PANELLIGHT=0 -> {0,1} PARKINGBRAKE=0 -> {0,1} PITOTHEAT=0 -> {0,1} PROPSYNC=0 -> {0,1} STARTER=0 -> {0,1,2} STROBELIGHT=0 -> {0,1} TAXILIGHT=0 -> {0,1}