Author Topic: How to drive a Futaba 20-SD-06GK VFD  (Read 772 times)

0 Members and 1 Guest are viewing this topic.

Offline jdev99Topic starter

  • Regular Contributor
  • *
  • Posts: 69
  • Country: england
How to drive a Futaba 20-SD-06GK VFD
« on: December 11, 2023, 03:11:33 pm »
I found a display module which consists out of 3 separate Futaba 20-SD-06GK VFD modules.
Theses are single line, 20 digit, 5x7 dots.
They are driven by a Toshiba TB2104F chips, 2 chips for each module.
According to the data sheet for the TB2104F, it uses 20bit synchronous serial communication.
I am trying to figure out how to use these with an Arduino, but actually don't have a clue where to start.

Have anybody ever used a display like this and how can I use it with an Arduino?

Thank you for any assistance.

Joe
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 910
  • Country: ca
Re: How to drive a Futaba 20-SD-06GK VFD
« Reply #1 on: December 11, 2023, 05:43:35 pm »
So the VFD and chips are mounted on a one or more PCBs? 
And do they have a power supply on board? Like a DC-DC converter.
A photo of your unit(s) would be helpful.

In general, VFDs are driven by making the grids and anodes positive with respect to the cathode filaments. See here.

I found this writeup on your display. Ignore the fact that he's using it a triode substitute. He does provide info on the display, specifically: the pinout of the cathode filament, the grids, and the anodes (pins right to left: 2F, 15A, 10G, 20A, 2F, where F=cathode filament, A=anode, G=grid). He also uses a LM317 constant current driver set for 47mA to drive the cathode filament (filament resistance=18R). A more typical cathode supply is a low AC voltage with resistors to limit current.

The chip datasheet seems straight forward. It can be driven like a 74HC595 (SPI) but depending on the ADx pins (mode=T-BUS) may involve sending a chip address byte before a data byte.  Either case, you'll have to send multiple bytes (20 bits per chip, 6 chips = 120 bits or 15 bytes if they are all cascaded) multiple times per second (multiplexed).  The question is how those 120 bits will correspond to 7 rows, 5 columns * 20 digits * 3 displays (clue from above link: "A 20-character VFD (with 20 grids and 35 anode segments)").  Maybe first sending all 1s will turn on some dots since the object is to turn on all anodes and grids to get any reaction.

You'll need a 5V logic supply (chips need it) but the question is what will be the high voltage for the anodes and grids.  If you're lucky, there will be an on-board DC-DC, otherwise, you'll have to locate TB2104F pin 26 (Vdr) and slowly ramp up from, say 9V.  Also, the cathode voltage needs to be deterimined (if it doesn't have it's own on-board PS) but I think the link above answers that question if you have to come up with your own supply.

The hard part may be to map the chip pins and power to the PCB connector (if you can't follow the traces easily).
« Last Edit: December 11, 2023, 06:54:46 pm by pqass »
 
The following users thanked this post: jdev99

Offline jdev99Topic starter

  • Regular Contributor
  • *
  • Posts: 69
  • Country: england
Re: How to drive a Futaba 20-SD-06GK VFD
« Reply #2 on: December 11, 2023, 06:54:19 pm »
It is 1 board with 3 VFD modules. It has an onboard DC-DC convertor, only need to supply 5V to the board.
The LS, CLK and DIN lines are common between the 3 modules.
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 910
  • Country: ca
Re: How to drive a Futaba 20-SD-06GK VFD
« Reply #3 on: December 11, 2023, 08:07:07 pm »
I think your HV and filament power needs are met by the DC-DC converter (I see the filament traces routed to the multi-winding inductor).

It looks like a four VFD PCB with the bottom one not fitted.  What is interesting is the multiplex layout. It looks like first (top to bottom) pair of VFD have anodes connected and independent to the next pair of VFD anodes. The grids from the 1st and 3rd are connected and independent of the 2nd and 4th VFDs.  35 anodes (1st, 2nd VFDs) + 35 anodes (3rd, 4th VFDs) + 20 grids (1st, 3rd VFDs) + 20 grids (2nd, 4th VFDs) = 110 bits needed which is below 120 bits provided by the 6 (20 bit) shift register chips. So the multiplex will light one digit from the upper pair and one digit in the lower pair per 15 bytes of data and LS load pulse.

Can you see pins 1 and 30 of one of the shift register chips?
If they are open, then the devices are in serial mode (not T-BUS).
Quote
The LS, CLK and DIN lines are common between the 3 modules.
Are you sure or is the DO(pin 2)  of one chip connected to the DIN (pin 29) of the next chip?

Can you trace LS, CLK, DIN, to the PCB connector? 
I see 7 thin traces going under the PCB connector. Apart from these three, there CG/DO and /CL plus two more unknown pins. DO and /CL can be left open as it is an output or is pulled-up (to a functioning state), respectively.

If you power up as shown (just the power pins) does the display show any life (ie. dots lit or brief flashes)?

You can create a program for your Arduino to send out 15 bytes (all high) then toggle the LS pin (high then back to low) and see what lights up.  Just in case, use 1K resistors between Arduino pins SCK, MOSI, SS to this PCBs CLK, DIN, LS, respectively.

For quick and dirty, you can just connect the DIN through a 1K to high, LS through a 1K to low, toggle the CLK >120 times (555 osc), then pulse LS high.  See what happens.
« Last Edit: December 11, 2023, 08:40:28 pm by pqass »
 

Offline pqass

  • Frequent Contributor
  • **
  • Posts: 910
  • Country: ca
Re: How to drive a Futaba 20-SD-06GK VFD
« Reply #4 on: December 11, 2023, 11:06:25 pm »
I just saw this note in the datasheet (page 5/8):
Cautions for use:
* Therefore, multiple driver outputs may possibly become "H" level simultaneously after the power is turned ON.
(In this case, the allowable power dissipation of a device using this IC may possibly exceeded, destroying the device.)


I suggest a different strategy...   
In your Arduino sketch, create nested FOR loops to produce every combination of two high bits over 120 bits. Then wait for a dot to light up.  You can send which bits are on via serial and by returning the space char, it will pause/resume the loop for you, giving time to note the bit combination (without stressing the chip).

   120 bits array initialized to 0
   for (i=0; i < 120; i++) {
      for (j=i+1; j < 120; j++) {
         print i, j
         set bit i to 1
         set bit j to 1
         send out bits array via CLK, DIN
         toggle LS
         set bit i to 0
         set bit j to 0
         delay 2 seconds
         pause or resume if space char received
      }
   }


You can cut back on doing all the combinations (C(120,2)=7140) once you identify the different grid bits; ie same dot moving from digit to digit.
« Last Edit: December 11, 2023, 11:08:05 pm by pqass »
 

Offline jdev99Topic starter

  • Regular Contributor
  • *
  • Posts: 69
  • Country: england
Re: How to drive a Futaba 20-SD-06GK VFD
« Reply #5 on: December 12, 2023, 11:45:55 am »
Thank you for that advice. I remembered that I have a cheap logic analyser (FX2LP CY7C68013A USB Dev Board), that I am going to try and get running on Linux.
That will hopefully give me some insight into what is happening on the ports.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf