Welcome to Cockpitbuilders.com. Please login or sign up.

March 28, 2024, 05:35:00 AM

Login with username, password and session length

PROUDLY ENDORSING


Fly Elise-ng
126 Guests, 0 Users
Members
Stats
  • Total Posts: 59,639
  • Total Topics: 7,853
  • Online today: 142
  • Online ever: 582
  • (January 22, 2020, 08:44:01 AM)
Users Online
Users: 0
Guests: 126
Total: 126

COUNTDOWN TO WF2022


WORLDFLIGHT TEAM USA

Will Depart in...

Recent

Welcome

Narco DME 195

Started by ame, May 10, 2020, 06:44:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ame

I was intrigued by a recent post from Arturo about driving this display with an Arduino. RayS has the same display and would like to drive it too. Arturo is not ready to publish the details, but might in the future, given time. I would like to help the process happen, so I have decided to start a new project here. I am hoping that Arturo will step in with information to correct my understanding, and later on with some code samples to control the display.

The first step is to understand the display circuitry. It can be found on page 244 of the PDF document which contains the whole installation and service manual.

You cannot view this attachment.

The display is contained in a single enclosure, with switches and indicators on the front, and a 25-way D-type male plug on the back (J101). All the signals for the display are present on this connector.

I think it should be possible to make a single board with a 25-way D-type female socket that plugs into the connector on the back of the display.

The display electronics are assembled on a flexible circuit board that is folded in half inside the enclosure.

Of the 25 pins in the connector, three are unused. Four signals use a pair of pins each, probably for higher-current capability. There are 14 other signals- 12 digital signals (10 inputs to control the display and 2 switch outputs) and 2 analog signals (connected to the volume potentiometer).

Most of the digital signals are connected directly to TTL logic chips. The display primarily contains a 7495 4-bit shift register and 7447 BCD to 7-segment driver for each digit, plus some control line decoding to select which display the data is sent to. The original control box selects the display (distance, velocity, or time to station) then clocks in the data for each digit as a group of four BCD bits. This data is latched by the shift register, which controls the 7-segment display for each digit.

The 7-segment displays are incandescent devices. Tiny filaments in the familiar figure-'8' pattern light up like the filament in a light bulb. Each segment needs 5V at about 20mA, so the whole display consumes a lot of current, especially if many segments are lit. There are also five individual tiny incandescent bulbs for the decimal point (DS111), 'NAV1' (DS101), 'NAV2' (DS103), 'HOLD' (DS102), and 'R NAV' (DS109) indicators.

The display is powered by an external 7V supply to pins 2 & 15. Internally this is converted to 5V for the logic chips using a 7805 voltage regulator (U109). This is attached to a metal tab on the rear, which is a heatsink that will get warm. The 7V supply is also connected to a heavy-duty Darlington transistor configured as an emitter follower (Q101). The voltage at the base of this transistor is set by the 'DIM' potentiometer (R105) and its upper and lower limits are set by R102 and R103 to 6.18V and 3.7V respectively. The Darlington transistor typically drops about 1V, so the display segments are supplied with a variable voltage of about 5V to 2.5V. The Darlington transistor is mounted on another heatsink at the back of the display and will also get hot. The incandescent displays will get hot too, and the whole unit consumes a lot of current.

My progress so far is to make a schematic for the proposed interface board. It contains an Arduino and a voltage regulator (set to 7V). I have attached the control signals to the most convenient digital pin. I have left the serial I/O pins and I2C pins free. I have included an option to measure the volume control position using an ADC (A0) on the Arduino.

I propose that the board will be powered from 12V. This powers the Arduino via its on-board regulator, and also feeds an LM2596 buck regulator module set to 7V to power the display.

The power switch (S101) inside the unit connects pins 12 & 24 to ground (pins 1 & 14 or 13 & 25). The power supply module is modified to allow access to the power on/off pin on the regulator chip. A resistor holds the pin high, which turns the output off. When the power switch is turned on it pulls the power on/off pin to GND which turns the output on.

You cannot view this attachment.

I'd like to continue with this project. Please correct any of the above information if there are errors, and please ask for clarification if anything is not clear.

The next step is to confirm that the control signals do not need to be connected to any specific pin on the Arduino (e.g. for PWM, analog, or interrupt capability), then write some basic code to send data for each digit to the display.

Finally, specific code to interface to any flight simulator can be written, assuming that the data to be displayed is present in the simulator.

ame

I have revised the schematic slightly. I wanted to keep D13 free so that the on-board LED could be used for indicating something. I also wanted D10-D13 free in case an Ethernet module was required later. So, I shuffled a few pins around. As far as I can see, no special functions are required (interrupts, timers, etc.) so the pins are still allocated in an ad-hoc manner. It might make sense to rearrange them if it would allow the layout to be neater, but that is not yet an issue, and I'm not going to make a PCB. Attached is v0.1 of the schematic.
You cannot view this attachment.

ame

This is v0.2. I have rearranged the pins to make construction easier (for Arduino Nano), but I still don't know if any special functions are needed.

The schematic is available as PDF, and also as a KiCAD project file, which I will post on Gitlab later.
You cannot view this attachment.

ame

Here is v0.3. I have allowed D10 to control the 7V voltage regulator. R1 now pulls the ON/OFF pin high (if D10 is floating). Driving D10 low should turn the regulator on. This allows the Arduino to control the power to the DME 195 if the simulated aircraft power is off.

The main power switch is now connected to A7. A7 is analog-only on a Nano, so R2 pulls the A7 high when the switch is in the OFF position. When the switch is ON, A7 is pulled to ground. So, the Arduino code can turn the 7V power on if power is available (set by a simulator variable) and the power switch is on (set by the physical switch).
You cannot view this attachment.

Like the Website ?
Support Cockpitbuilders.com and Click Below to Donate