Howto:C172P Cockpit Project

From FlightGear wiki
Revision as of 11:00, 17 August 2016 by Callahanp (talk | contribs) (Created page with "This Howto will develop into a detailed project plan for building a C172P Instrument Panel. While not a step by step guide, it will include details on the prototyping, design...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This Howto will develop into a detailed project plan for building a C172P Instrument Panel. While not a step by step guide, it will include details on the prototyping, design and building of a panel. The project includes the following major activities:

Description

The work product will match an actual C172P cockpit instrument panel as closely as possible given constraints of tool availability, time and money.

Versions:

  1. A set of rotary encoders and switches in an overlay for a regular monitor
  2. Expand the project to include items in the radio stack
  3. Replace the monitor with individual instruments

Design Alternatives

  • Instruments
    • Monitor Overlay
    • Individual Instruments
  • Multi-value inputs
    • using potentiometers and ADC ports
    • Using magnetic encoders with:
      • AtMega driven pins
      • SPI
      • I2C
  • Display of Numeric and Alphabetic data
    • driven by Maxim Max7221 on an SPI interface
    • driven directly by an AtMega processor
  • Banks of switches and rotary encoders with a multiplexed parallel interface
  • Raspberry Pi connected to one or more AtMega Processors via SPI or I2C
  • Raspberry Pi connected to a 4 to 16 bit multiplexer to select SPI data
  • Raspberry Pi responsible for interfacing raw data to flightgear property values
  • Display of numeric and alphabetic data using 7 and 16 segment displays
    • drive with AtMega chip and Transistors
    • drive with Maxim Max7221CNG Integrated Circuit
  • AtMega Processors with port expanders responsible for raw data
  • AtMega Processors communicate with Raspberry Pi
    • Using SPI
    • Using I2C
  • Telnet interface to Flightgear runs on Raspberry Pi
    • C programming language


== Code Development Activities

Client to Flightgear protocol

=== Client to AtMega protocol

Pi Client

AtMega Client

Magnetic Encoders

  • For Heading Adjusters on Instruments
  • Replacement for Rotary Encoders
  • Replacement for Potentiometers


Proof of Concept and Prototyping Activities

Client on PI

Communication with Flightgear using Telnet

  • Change the value of a cockpit switch
  • Read the value of a Com or Nav Radio's frequency
  • Change a standby frequency
  • Make a standby frequency the in use frequency
  • Dim and brighten the instruments
  • Move the throttle
  • Move one of the control surfaces

SPI

  • different speeds
  • Error Detection and re-transmission
  • Client to ATMega
  • Client to Max7221
  • Client to Port Expander

I2C

  • different speeds
  • Error Detection and re-transmission
  • Client to ATMega
  • Client to Port Expander

Client on AtMega

Communication

  • I2c
  • SPI
  • Raw Data Protocol

Data Acquisition

  • Switch
  • Rotary Encoder
  • Magnetic Encoder
  • Potentiometer

Control Data

  • Air Core
  • Stepper Motor
  • Lighting Level


Building

Hardware Choices

  • AtMega Models
  • Raspberry Pi III
  • for 7 and 16 segment displays
    • Max7221
    • or 7 Segment Driver Transistors
  • 4 to 16 Multiplexer
  • Magnetic Encoder
  • Rotary Encoder
  • Slider Potentiometer:
  • Power Supply: Bench Supply based on an ATX PC power supply
  • Knobs
    • Heading Adjusters
    • Radio Stack Volume
    • Radio Stack Frequency Select
    • Radio Stack Buttons
    • Rotary Switches
    • Rocker Switches
    • Toggle Switches
    • Main Switches
    • Magneto Switch
    • Flaps Lever: Design the Mechanism to attach to a rotary switch