Author Topic: Vacuum Fluorescent Display Driver  (Read 39966 times)

0 Members and 4 Guests are viewing this topic.

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #150 on: September 26, 2024, 02:39:41 pm »
The project recommends:
"It is strongly recommended to protect the signals from the instrument, in case of an accidental short or similar.   On the +5 volt feed, use BAT41, BAT42 or other low voltage drop diode, or at least a small fuse in the 100-200 mA range.   On the signal wires, VFDSCLK, VFDSIN, VFDSOUT and VFDSEN, use a resistor in the range 1 kOhm to 3.3 kOhm or so."

Since you only need to expose VFDSCLK, VFDSOUT, and VFDSEN, I'd buffer them each with two inverters in a 74LS|HC14  + 330R on each output.  Or similar buffer chip: '04, '08, '244, '245, etc.    I don't know what connector you'll be using but you could mount the buffer chip behind it (on a small perfboard, PCB) or in-line between the wires to the connector from the J1 (on the display board).

See below for a partial schematic of how the VM COMPLETE output on my HP3478A is protected. Note the reversed protection diodes to +5V and GND.  I can't advise on TVS diodes as I've never used them.
« Last Edit: September 26, 2024, 02:41:14 pm by pqass »
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #151 on: September 27, 2024, 02:15:37 am »
I saw that note about protecting the outputs and considered a buffer (I thought more of an unity gain op-amp).

I wasn't sure if a buffer or op-amp would affect rise/fall times causing errors.

As for connectors, I'm using: 7282-6SG-300 and 6282-6PG-3DC

The connector was slightly larger than the available BNC hole(s) on the rear, so I ground the hole larger. My plan is to tap off the main PCB to shorten the distance and then make a cable that is long enough to have the display mounted on the front. If I'm going with buffers, then maybe I can just tap off the daughter board I made.

Just wish I had thought of this when I made the daughter board, now I need to tap off the taped off board. :)
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #152 on: September 27, 2024, 04:56:31 am »
The VFDSCLK speed is 1Mbps so I'd stick to TTL/CMOS buffers and not op amps.
But for only 20in, I'm sure you'll be fine with just 330R series resistors; no buffers.
Also, VFDSCLK, VFDSOUT, and VFDSEN originate from U16, U15, and U17, respectively.
All are 74AC138 which multiplex 8 SPI devices via just 7 MCU pins (SCLK,MOSI,MISO,EN,A0,A1,A2).
The 74AC logic family has +/-24mA maximum output drive current with 6ns propagation delay!
« Last Edit: September 27, 2024, 05:01:37 am by pqass »
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #153 on: September 27, 2024, 12:32:52 pm »
Do you think TVS on all the signal lines is a nice added layer of protection or a waste?
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #154 on: September 27, 2024, 12:55:08 pm »
Do you think TVS on all the signal lines is a nice added layer of protection or a waste?

I can't advise as I've never used them. But we're dealing with a short distance and point-to-point connection (similar environment to GPIB).  I don't think you'll be running the cable parallel to the mains or industrial machinery. Are you?   :)    You could use a shielded multi-conductor cable if you wish.
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #155 on: September 27, 2024, 01:54:16 pm »
hahah no, it will not be next to anything high voltage, but was thinking more on the lines of ESD such as human hands touching the pins.

 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #156 on: September 27, 2024, 07:02:34 pm »
Duh! Of course.

The HP parts list shows it's an ON Semi part.  It says here its VESD >2000V.
Maybe just fast signal diodes+resistor as per my last attachment is enough (plus putting the female connector on the counter end, male on display end).
« Last Edit: September 27, 2024, 07:04:12 pm by pqass »
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #157 on: October 02, 2024, 01:38:39 am »
I haven't had a chance to work on installing the connector (or build a board with the buffer chips/resistors) but I want to confirm what I need for the display since Arduino boards are new to me.

The Arduino can be a Nano providing it has ATMega328 for a micro. The display is a bit confusing, but believe three are listed as the suggested ones:

HD44780
SSD1306
SSD1309

The HD44780 looks like the best size, but do these displays also need a controller because it's listed as "compatible controller".

Unless I'm wrong, I just need an Arduino Nano, download the code, install it (somewhat uncharted territory for me), and connect a HD4470 to it (including some minor rework to the Arduino).

Am I missing any hardware and/or steps?
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #158 on: October 02, 2024, 07:37:00 am »
I don't have any experience with the OLED SSD* displays. I do have experience with the HD44780 LCD though.  The HD44780 controller is part of the display (blobs on the PCB), however, some also have a I2C or SPI shift register fronting the normal (standardized) parallel interface.  This project expects to interface to the normal parallel interface; with no serial front-end attached.

HARDWARE:

See this handy HD44780 LCD pinout (schematic). Or here for a photo.
Note that pins on your display may be along the top or bottom edge. Pin 1 is on the left.
Pin 3 is a contrast voltage setting from the wiper of a 10K pot; with pot ends going to +5V and GND.
Pin 5 is normally tied to GND for write-only mode but it looks like the display project code expects to read-back from display memory so is MCU controlled.
Pins 7 through 10 (D0..D3) are left open since the Nano will be using 4-bit data transfer mode (saving MCU pins).
Pins 15, 16 on the far right (if provided) are LED+,LED-. Connect +5V via in-series 1K resistor to pin 15 and connect pin 16 to GND.
See this handy Nano pinout (2nd picture).

According to "hp_display_spi.cpp" comments, connect:
53132A GND J1 pin 9 or 23 to Nano pin "GND"
53132A +5V J1 pin 10 or 20 to schottky diode anode with cathode to Nano pin "5V" (see note 1,3,5)
53132A VFSDSCLK J1 pin 12 to 1K5 to Nano "D13"/SCK  (see note 2,3)
53132A VFDSIN J1 pin 14 do not connect to Nano
53132A VFDSOUT J1 pin 16 to 1K5 to Nano "D11"/MOSI (see note 3)
53132A VFDSEN J1 pin 18 to 1K5 to Nano "D2" (see note 3)
Nano "A0"/D14 to 1K5 to Nano "D10"/SS (see note 4)

Note 1: personally, I think it's kind-of sketchy to back-feed the on-board 5V regulator but apparently that's okay!  See schematic here. And discussion here
Ideally, you'd pull something >+5V from the 53132A and feed it to the Nano "Vin" which is tied to the input of the on-board 5V regulator.
Note 2: you'll need to remove the "L" LED or the resistor to it because the VFSDSCLK signal after passing through a 1K5 resistor will be mangled due to the LED load on "D13".  Remove the LED only after you've confirmed that the blink sketch works (see below).
Note 3: you probably want to put the diode and 1K5 resistors behind the external connector on the 53132A side (before the external cable to the display).
Note 4: you have one Nano pin triggering another Nano pin because VFDSEN is a LOW-HIGH-LOW signal whereas /SS is inverted; HIGH-LOW-HIGH.  So the former pin is triggered on an interrupt which is inverted to tickle the latter.  Whatever!
Note 5: IMPORTANT IMPORTANT IMPORTANT, NEVER connect both the USB (to your computer) and cable from the project to the 53132A.

According to "lcd_20x4_hd44780.cpp" comments, connect:
Nano "D9" to HD44780 "RS"
Nano "D8" to HD44780 "R/W"
Nano "D7" to HD44780 "E"
Nano "D6" to HD44780 "D4"
Nano "D5" to HD44780 "D5"
Nano "D4" to HD44780 "D6"
Nano "D3" to HD44780 "D7"
See earlier for HD44780 pin 3 (contrast) and pin 15,16 (LED) treatment.
And HD44780 pin 1,2 are to be connected to GND, +5V.

SOFTWARE:

-Install the latest IDE from arduino.cc (version 2.3.3).
-Execute the IDE application for the first time which will download and install more stuff.
-Connect the Nano via USB.
-Specify to the IDE what board you're using via menu Tools->Board->Boards Manager...
-Specify to the IDE what serial port you're using via menu Tools->Port...
-Optionally you can specify to "Show verbose output during: compile, upload" (check both) in menu File->Preferences... (I like to see the compiler full output).
-Verify your installation by loading a sample sketch via menu File->Examples->01.Basics->Blink
-Click the round check mark symbol below the "File" menu to compile.
-Click the right arrow symbol below the "Edit" menu to upload to the Nano.
-You should see a blinking LED on the Nano.

Once you've confirmed that you can compile and upload a simple sketch then do the same for the display project code below.

-Install the "hd44780" by Bill Perry version 1.3.2 via menu Sketch->Include Libraries->Manage Libraries... entering "hd44780" in the search box.
-Visit the display project github page and download the zip (see green "Code" button at top right of page).
-Extract the zip to the default "Arduino" user projects subdirectory (I'm on Linux, Windows or Mac may be different).
-Rename "hp_display-master" extracted subdirectory to "hp_display".
-Start the Arduino IDE application and open the "hp_display.ino" file within the "hp_display" subdirectory.
-In the "hp_display_config.h" file, uncomment the "//#define ARDUINO_NANO" and "//#define LCD_20X4_HD44780" lines.  Then menu File->Save.
-Click the round check mark symbol below the "File" menu to compile.
-Connect the Nano via USB.
-Click the right arrow symbol below the "Edit" menu to upload to the Nano.
« Last Edit: October 02, 2024, 07:38:53 am by pqass »
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #159 on: October 02, 2024, 02:54:33 pm »
Oh wow, you put more work into that response than I expected. Thanks for taking the time to type all that.

Note 2 I was already aware of, but it's great you emphasized it just in case.

Per note 5, I assume you mean don't try to program the board through USB while it's connected to the signal pins on the counter?

Hopefully I won't forget that or make that mistake.

Maybe this weekend I'll order the display, buffers (I have some already, so I may not need them), and believe I already have an Arduino Nano. Looking at the three suggested displays, I think the HD44780 is the best one based on size.

This helps confirm the only two things I need are the display and Arduino (excluding the components such as the buffers and stuff).
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #160 on: October 02, 2024, 04:08:16 pm »
I get the impression you are new to Arduino so I wanted to provide a checklist for you.
I've managed to compile the project but I don't have a 53132A to test with. :)

Correct on note 5; disconnect from the 53132A before you program the Nano via USB (and vice versa). I think this may be for reasons to do with who powers the Nano; USB or 53132A.  But if there is a schottky diode on the +5V from the 53132A and the other connections are inputs to the Nano, then it shouldn't be a problem.  Maybe the inputs on the Nano have pullups enabled? 

The project docs don't include a schematic. Maybe it's a good idea for you to make one for clarity on where all the components are situated; buffer, protection diodes, resistors before the female connector in the 53132A, a cable, then a Nano, LCD in the display project box.
« Last Edit: October 02, 2024, 04:19:01 pm by pqass »
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #161 on: October 02, 2024, 04:50:04 pm »
Quote
I get the impression you are new to Arduino

You are correct.

I know the basics of programming a micro from an existing HEX file (or whichever type), but that's just clicking buttons.

I find documentation for building (in this case) an Arduino from scratch because things are usually based off a belief the reader has a good foundation already. For the external display, the documentation is clear.

The thought of using an external 5V came to mind (such as a walwart), but I questioned whether tying grounds could cause noise and/or back feed thus blowing up the counter. I also considered a MOSFET (full turned on) with a fuse. This way the 5V would be somewhat isolated from the counter.
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #162 on: October 02, 2024, 10:08:37 pm »
The Arduino environment is just C/C++ Language code+libraries with a one-click compile and deploy via the IDE menu (no assembly language needed nor dealing with hex files).
That's why I recommended to start with the simple blink sketch (what Arduino programs are called).  There's lots of help on-line.

If you want to go bulletproof, use RS422/485-grade differential line drivers/receivers like 75174/75173 (4 per package, you only need 3). They are robust, made for high-speed (>1Mbps), and can tolerate shorts and voltage on their signal lines when un-powered.  A 4-pair Ethernet patch cable as the interconnect would be ideal with one pair each for VFSDSCLK, VFDSOUT, VFDSEN, and power/GND.

Instead of +5V (J1 pin 10 or 20), send SW+12V (from the main board) down the cable to the "Vin" on the Nano. The Nano's local 5V regulator could then power the LCD and serial line receiver from the "5V" Nano output.  The higher +12V power pair and differential drive signals allow for much longer distances and you won't need any discrete in-line resistors or diode protection (clamps to +5V/GND).  You'd just need an inline diode and (probably) 100mA fuse before exiting the 53132A. 

The +5V (J1 pin 10 or 20) which is tied to SW+5V (from the main board) is switched on when the SW+12V, SW-12V rails are powered (via front-panel soft-switch grounding Q12 and Q13).  The MCU/digital parts all have DCOM as their common which is attached to the GPIB connector shield so is likely tied to the chassis and PE somewhere (I can't find the chassis symbol).
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #163 on: October 03, 2024, 02:02:57 am »
I'll go with the 75174 if they are more robust.

Some great suggestions especially with using the 12V. Maybe this weekend I'll double check on whether I have the Ardunio and then order the parts so I can start this.
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #164 on: October 03, 2024, 04:11:14 am »
I messed up the driver/receiver pair part numbers.

SN75174/SN75175 have only active-high enables (1 enable for each pair)
SN75172/SN75173 have active-high and active-low enables (controlling all four)

Cheaper alternative to SN75172/SN75173 but RS422 only, not RS485 (doesn't really matter to your application):
AM26LS31/AM26LS32 have active-high and active-low enables (controlling all four)

It's recommended to use a termination resistor at the receiver for each diff. pair (120R). See datasheet.
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #165 on: October 04, 2024, 03:10:33 am »
Not sure how I have this luck, but my Arduino Mini has a ATmega4809 and not a 328.

Thankfully it's not a big expense to buy the correct one.

I'll dig deeper into my supply; maybe I have one with a 328.
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #166 on: November 01, 2024, 03:18:49 am »
How am I using the diff pair for each signal line? Am I putting one inside the unit, sending the signal down the diff pair, and then a receiver on the Ardiuno?
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #167 on: November 01, 2024, 05:46:32 am »
How am I using the diff pair for each signal line? Am I putting one inside the unit, sending the signal down the diff pair, and then a receiver on the Ardiuno?

Yes.  See attached.
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #168 on: November 01, 2024, 12:45:18 pm »
Thanks.

That was the configuration I assumed, but began wondering if the intent was to add circuitry to the external stuff which may require a small interface board on the outside too.

The display and Ardunio arrived, but I still need to order the components which I'll hopefully do this weekend; things and projects have been hectic lately.
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #169 on: November 04, 2024, 02:35:34 pm »
I didn't realize and forgot that one of the only BNC sized connectors I found and ordered weeks ago was five pins. Without modifying the unit to incorporate a larger connector with more pins, I resorted to a BNC size that, with some slight filing, fit through the unused BNC hole in the rear panel.

In order to use a diff pair, I need more than the available five-pins.

The connectors I'm using are:

SC1281-ND and SC1270-ND

I may need to use a buffer instead of a diff pair; unless I want to have two connectors which is a waste.
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #170 on: November 05, 2024, 05:08:58 am »
With a 5-pin connector you'll be limited to standard RS-232 single-ended signaling.  Instead of the usual MAX232 device which only has 2 drivers and 2 receivers, you can use the SN75188/SN75189 pair of devices which includes 4 drivers or 4 receivers, respectively. See wiring diagram attached. One wire from each twisted pair is connected together at each end of the patch cable and is soldered to the GND connector pin.  The remaining wires, one from each twisted pair, are individually connected to their own connector pin: Vcc, VFDSCLK, VFDSOUT, and VFDSEN.  Also, it's best to not put diodes in-series with the GND wires (this one differs from my previous wiring diagram).

I happen to have the SN75188/SN75189 devices and have done a quick 1MHz test with one 8ft (2.40m) twisted pair (see attached waveforms).  The driver device requires a bipolar supply and the receiver device requires only a single +5V supply.   As you can see, the driver has a better output waveform (BLUE) with similar duty cycle to the input (YELLOW) when powered by a +/-6V bipolar supply vs. the usual +/-12V supply, although the recommend minimum is +/-7.5V.  However, a +/-12V supply is readily available as SW+12V/SW-12V (see attached 53132A PS schematic) and may stillwill work for SPI since the data only changes on one edge and sampled on the other edge.  GREEN is the waveform on the receiver input.

Adding a 330R termination resistor at the receiver input doesn't improve the output (BLUE) waveform; still 60% duty cycle (using a +/-12V driver supply).
« Last Edit: November 05, 2024, 03:26:44 pm by pqass »
 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #171 on: November 08, 2024, 02:39:23 am »
Quote
although the recommend minimum is +/-7.5V

If it's not being ridiculous, I can use linear regulators to generate the +/-7.5V.

I'm buying the chips anyway, what is two regulators at this point. :)
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 920
  • Country: ca
Re: Vacuum Fluorescent Display Driver
« Reply #172 on: November 08, 2024, 12:27:19 pm »
Quote
although the recommend minimum is +/-7.5V

If it's not being ridiculous, I can use linear regulators to generate the +/-7.5V.

I'm buying the chips anyway, what is two regulators at this point. :)

I wasn't thinking about the added cost. I just see the extra regulator complexity as unnecessary since it won't matter for SPI.  I just thought it was a interesting discovery that the receiver output duty cycle changed with driver supply voltage.
BTW: the reason I'd put a couple (or several) series diodes on Vcc is just so the tiny 5V regulator on the Nano isn't overheated but the remote display MCU and LCD probably don't pose much of a load.   Breadboard the solution to confirm.

 

Online bostonmanTopic starter

  • Super Contributor
  • ***
  • Posts: 2112
  • Country: us
Re: Vacuum Fluorescent Display Driver
« Reply #173 on: November 08, 2024, 02:24:33 pm »
Quote
BTW: the reason I'd put a couple (or several) series diodes on Vcc is just so the tiny 5V regulator on the Nano isn't overheated but the remote display MCU

I saw that note and thought it was a good idea. I've been thinking about the design while working on several other projects (hence why I haven't finished this) and thought three or four diodes would suffice.

The complexity of a regulator isn't that big of a deal, however, I'll admit, going from: let me open the cover to see if a loose connection is causing the VFD to not display correctly to what I've deviated to has been comical.

Unfortunately finding a connector that would fit through the extra BNC hole and had more than five-pins didn't seem to exist. The one I bought is a nice screw on type, and, with a bit of filing, managed to fit nicely.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf