Would something like this work to drive a VFD display ? - Page 1
Forum section: electronics / projects

author: MathWizard
author_rank: Super Contributor
timestamp: March 24, 2024, 09:13:58 pm
content: I salvaged a VFD display from a Toshiba DVD player, I think a SD-3950. I have the VFD PCB, with it's driver IC/MCU. Also the PWR/IR remote PCB, and the main PCB with the main MCU and main video IC and eeproms for copying I2C to the VFD IC.I don't have the SMPS PSU, but I did manage to find a PCB layout diagram, but without any values, and maybe zener's are just labelled as diodes for all I know.The only rails the VFD PCB uses are +5V, -20V, and some cathode/filament rail tied above the -20V rail.But I made a PSU layout model in LTSpice, and I can see where and what most of the PSU connections to my PCB's are for. And now , without much calculation, I made a "working?" model of the negative rails part in LTSpice, with just a JFET to sort of act like the VFD, maybe with some reasonable currents. But IDK that much about designing SMPS or VFD's.For now I was just going to use my bench PSU for +5/-20V rails. And I came across a little 555 driver circuit for making some AC waveform for the filament.http://www.kerrywong.com/2013/06/05/vfd-filament-driver-using-555/I really don't know what the original SMPS waveform would be, but does this 555 circuit look reasonable ?? I just guessed at some inductor values, I'd have to try to calculate all that later. IDK yet about torriod and/or non-air-core inductors really anyways.I think I found the VFD IC datasheet too, but trying to learn that will be another big challenge.

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 25, 2024, 06:42:20 am
content: For as far as I know, the filament is just for heating the display and can be driven with just an AC or DC voltage of around 6V or so. Basically much the same as old vacuum tubes that use a separate 6.3V winding on a transformer.I have done it like this with a VFD a long time ago. Just made an adjustable DC voltage to a max of 6.5V and connected it to the filament. Also have another VFD I tested recently again, but that one has all the voltages made on the board itself. Will look at it to see what it does there.

author: HalFoster
author_rank: Frequent Contributor
timestamp: March 25, 2024, 09:18:20 am
content: A filament is best run with AC - DC will cause a brightness slope across the display. Google for information on driving them as well as the theory of their operation - I know Futaba and Noritake have good white papers available.

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 25, 2024, 10:06:13 am
content: Did some measurements on the VFD module I have, and it shows that there is indeed a form of AC voltage across the filament, but it uses a DC offset and counter phase signals on both pins.I measured with the scope connected with two probes connected to ground and a tip on each end of the filament.Quote from: HalFoster on March 25, 2024, 09:18:20 amIt has been to long ago that I did the DC voltage on the filament, so no recollection if it indeed showed difference in brightness. Have to do the setup again to see if this is indeed the case with that display.Edit: I hooked up the second module I have, and unfortunately it has a defect. Some driver ic has lost a bunch of pins, so not all of the pixels light up.Can't recall what happened to it or where I bought it. Talking about > 30 years ago.A picture of the working module can be foundhere.Attached are screen captures of the measurements. One with AC coupling on the two filament signals and one with DC coupling. The DC offset is around minus 40V.

author: MathWizard
author_rank: Super Contributor
timestamp: March 25, 2024, 11:42:02 am
content: Yeah I've read a few articles on VFD, and most all of them barely mention real details like current and voltages. I know it depends on the size and number of elements, etc. And they can be driven in different ways. Whatever I try, I'll limit the filament current to 10's of mA. If the VFD wasn't attached to the PCB and IC, I'd would have tried it already.Later today I should hook up the +5 and -20V, and see if the gird is pulsing between -20V ,and +5V or GND, or if maybe they pulse the anodes. I'm forgetting that a bit of DC won't kill it. The cold filament resistance is 7Ohms, that will change too.I was thinking of just making an op-amp oscillator, and driving some BJT(s) between 2 low voltages near the -20V. But yeah I'd really have to watch the DC current whatever I try.But yeah some VFD's allow for a bigger DC drop across the filament, by changing the geometry of the device. But on mine, the filament looks pretty level.But that VFD IC, that thing is huge, it really is a huge MCU/CPU, not just some simple voltage/current driver.

author: Zero999
author_rank: Super Contributor
timestamp: March 25, 2024, 11:58:35 am
content: How much current and voltage does the filament need?Just use an astable with four transistors.Q1 and Q2 will need diodes in series with the bases, if the power supply voltage is higher than 6V.

author: MathWizard
author_rank: Super Contributor
timestamp: March 25, 2024, 06:00:31 pm
content: Ok thanks, I've never made 1 with 4 transistors, but I got it working in LTSpice, and I'll use some variable resistor, besides some fixed ones, to see what looks like enough. In the sim I have around 20mApeak, centred around -10V, I should play with the circuit and try to get a lower VDC average.I think the VFD came from a working unit, but I probably killed the motor IC a few years ago, it was reading near short, so I removed it so I can try the main PCB too.Time to make the circuit and try it, but yeah then I need to try some basic commands or something, over I2C.

author: Zero999
author_rank: Super Contributor
timestamp: March 25, 2024, 07:42:02 pm
content: Quote from: MathWizard on March 25, 2024, 06:00:31 pmThe power supply voltage is over 6V, so Q1 and Q2 need current limiting resistors to protect their bases. When the transistors switch, the base voltage drops below the emitter, by the power supply voltage 6V or so, hence the need for diodes at high voltages.Which is resistor represents the load, i.e. filament, in the schematic? By convention it should be labelled RL, there should be a note in the schematic or your post. Assuming it's R2, then why are you powering it off 19.5V and dropping most of the voltage across that 1k resistor? It would be more efficient and easier to simply power it off the 4.5V rail, then you don't need any diodes and use a lower value resistor.

author: MathWizard
author_rank: Super Contributor
timestamp: March 26, 2024, 11:48:25 pm
content: Ok that looks interesting too, I went ahead and made something and did some calculations for some of it and it about matches what I made on the breadboard.So far I've had up to I think 56mA going through the VFD, centred around -17V or so, and with 5Vcc and -20Vee, and 3V3 for the 2 RAM chips. But so far I can't see anything light at all from the VFD. But actually I get some much higher frequency oscillation as the bridge current increases, like I did early somehow with more current and larger capacitance. In general I need more capacitance as the bridge current goes up, to keep the regular flip-flop rate reasonable. There's audio on the main PCB, so they probably run it over AF tho too.Now looking at what happens when the PWR-ON button is pressed, the 5V current goes from 15mA to 25mA, and I see some activity on I think a grid pin of the VFD, but still no light.The cold VFD filament measures 7R, and there's ~7R in series on the PCB, and then I'm adding another 30R or down to 10R in series with the filament. But with 10R and 1uF caps anyways, I had all that HF osc.SO IDK what to try next, just a bit of DC analysis on this is tricky, I haven't tried any AC on it. I should try and get LTSpice to osc. like this too.In those pictures with AC coupling, I probed directly across the 30R or 10R, etcHmmm, what's with the 33Vpp on the VFD pin 9 ??

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 27, 2024, 07:36:53 am
content: I played with my bare VFD panel yesterday, because I'm looking into making my own board for it. Just for the fun of it.Found that it works at amazingly low voltages and DC on the filament. Sure there is some difference in brightness between the two ends of the display, but not that much, at least when applied with static voltages. (Non pulsed)I made a setup with two supplies. One set to 8V limited to 80mA and the other to 20V limited to 10mA. Connected the plus of the 8V to the minus of the 20V. Connected the filament to the 8V supply and it draws ~73mA. Used the plus of the 20V to drive both a grid and a pixel. The pixel shows green. Raising the 20V increases the brightness of the pixel. Connecting multiple pixels makes them light up and increases the current in the filament supply a little bit, and also shows some current draw from the 20V supply. Not a lot. 10 pixels upped it with ~1mA, depending on the voltage of course.The left floating grids and pixels don't light up, except for some in the next character, which almost clears when the grid is connected to the minus of the filament supply. It needs to be a bit more negative to allow full blocking.But in your case I wonder if it will display anything without the MCU for the display being told to display something. If not, then you can apply correct voltages but still see nothing unless you send something to the MCU.

author: Zero999
author_rank: Super Contributor
timestamp: March 27, 2024, 08:05:35 am
content: Quote from: MathWizard on March 26, 2024, 11:48:25 pmI don't have time at the moment to answer the other questions, but you've missed the diodes off the bases of Q1 and Q2. Without them, the base-emitter voltage rating is being exceeded. You might get away with it, for a short time, but it's not good for reliability. Read my other posts.

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 27, 2024, 11:09:53 am
content: Here is a schematic of how the power supply on my VFD module is done. Don't know the transformer specifications, but measured the voltages this morning.The lowest voltage is ~-48V and the filament center voltage is at ~-39V with the filament peak peak voltage being ~18V.It runs at ~50kHz for the filament. The display driving uses 200us per character and an 80us interval between two characters.My idea for setting up a new system is to use boost converters to make positive high voltages and use a full H-bridge motor driver to power the filament. One voltage up to 40 or 50V and another up to 12 or 16V. The lower voltage for driving the filament and the other voltage for driving the grid and pixels. The MCU can generate the driving signals for the full H-bridge.The MCU will be powered from 3.3V which will also be the input for the boost converters. Maybe I will base the display on 5V supply and put in a buck converter for the MCU 3.3V.For the grid and pixels I'm looking for easy to get inexpensive drivers or maybe small mosfet's. A MCU with 100+ IO pins is cheap and so are small mosfet's. Board space should not be a problem since the display is big.Another thing is adjustable brightness, for which I would need to control the boost converter(s).Maybe this is also an option for you, to setup a new system with integrated power supply and just throw out all the old stuff.Edit: Using a motor driver for the filament might not be a good solution. I tested it with a TA6586 and it does not like fast switching between forward and reverse. Up to about 14KHz it maintained the output levels, but above they start to drop. It also needs quite a bit of current compared to the DC current drawn by the filament. So back to the drawing board.

author: MathWizard
author_rank: Super Contributor
timestamp: March 27, 2024, 04:43:43 pm
content: Ok thank I did see some Vbe near 0.8V in LTSpice but never really looked at it hard, maybe it goes too negative too. I did make sure to use big enough resistors tho.Thanks for some current numbers, pcp, I'll try some higher current, and DC current too. I'm just going through some more of the PCB's, seeing what pins are related to power-up/pwrgood signals. There's a few little sot-23 5pin chips that I think are logic gates or Vsen chips. I just got some wires on to see if there's any serial data moving anywhere.I forget the 10mA jump in 5V current I was seeing yesterday, was probably mostly the PWR LED. At some point I may have to give up on the Main Video PCB, and just try to control the VFD IC directly. But I'm hoping to get some error message or 88:88:88 type thing on the VFD, and maybe see the data structure/etc.

author: Zero999
author_rank: Super Contributor
timestamp: March 27, 2024, 08:14:27 pm
content: Quote from: MathWizard on March 27, 2024, 04:43:43 pmUsing a negative supply, makes it easier to miss.Here's a plot of the base voltages in the first schematic I posted. They go down to -4V, each cycle. The maximum rating for most BJTs is only 5V.In the simulation of the schematic attached to my previous post, the voltage on the capacitors go down to -37V, which is 17.5V below the negative rail of -19.5V, but D1 and D2 protect Q1 and Q2. Without the protection diodes the base voltages would try to go a little lower, but the base-emitter junctions would avalanche, which will slowly damage the transistors, reducing their hFEover time. You might get away with it, but 1N4148 diodes are cheap.I still don't understand why you're using the -19.5V rail and not the 5V rail for the filament drive. You're dropping most of the voltage with a series resistor, so it makes sense to use the 5V rail and not drop as much.

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 28, 2024, 06:28:38 am
content: Quote from: Zero999 on March 27, 2024, 08:14:27 pmProbably because the filament has to be just above the low voltage to make the display work. The pixels and grid need to be at a higher voltage than the filament to make the pixels glow. The resistors are needed to lower the filament voltage to not burn it up, and lift the lower end slightly above the negative rail. The latter to make sure the pixels are fully off when not driven.An option would be to use a linear regulator like a 7915 to make it work between -15V and -19.5V and add some diodes in the Q1 and Q2 emitter connection to the -19.5V to lift the lowest output voltage a bit more. This would eliminate the need for the additional resistors.In light of my own project I tested another motor driver, the MX1508, powered at 8V and loaded with a 120 Ohm resistor and this one has no problem with alternating it at 50kHz, and even goes up to ~2MHz without a sweat.The resistor gets nicely warm with ~72mA running through it, while the driver stays very cool. So the search is on for a single driver version of this IC, like maybe the MX08H of the same manufacturer.

author: Zero999
author_rank: Super Contributor
timestamp: March 28, 2024, 08:05:53 am
content: Quote from: pcprogrammer on March 28, 2024, 06:28:38 amA couple of transistors driving a small transformer would be a more sensible option. The secondary is isolated and can be biased at any voltage.

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 28, 2024, 09:17:32 am
content: Quote from: Zero999 on March 28, 2024, 08:05:53 amWhich is what they did on the original module of my display.

author: MathWizard
author_rank: Super Contributor
timestamp: March 30, 2024, 09:15:36 pm
content: Hi Zero99, well 1 of the documents I found about the chips or the PCB layout, listed some voltages, like the -20, and EVER5, which is 5VSTBY, which is some Vce amount above what I guess is +5V. I made a schematic of the SMPS from the layout, but they didn't have any component values. But they have the floating SMPS winding for the filament, and the filament is ~4x diode drops above from the -20V rail.And for my driver design inspired by the one you said, according to LTSpice the most negative voltage the lower NPN's see is only -2.4Vbe, so that's ok. But I still might add them, they reduced the forward B-E current surge quite a bit, without any real effect I could see on the filament current/voltage or timing.But now I got it all working, I had to make a little PSU to run both 5V rails, from 12V, and I have -20V and a 3V3 rail for the RAM. I almost just killed the RAM with 5V for a few seconds, they are only rated 4.6V max, but they still work.I actually got it all together with the VFD filament driver, and it's a bit dull with some 40mApeak, but it said "Welcome to Toshiba DVD, opening opening closing closing BYE" all caps, and scrolling from right to left. It looks light green.I don't have all the PCB's, so the main IC is not happy.The VFD drive is on a breadboard, and it needs some tweeks still tho, it's starts as a much slower sawtooth wave pattern, when probing 1 end of the filament, but quickly breaks into a much higher freq thing that LTS does not do.Now to see if it's at all possible for me to read the info that gets send to the VFD.Yellow is the chip select on the VFD ICRed is either a grid or anode, probably gridBlue is one side of the filamentGreen is some MOSI/MISO type serial data.

author: Zero999
author_rank: Super Contributor
timestamp: March 30, 2024, 10:15:21 pm
content: Quote from: MathWizard on March 30, 2024, 09:15:36 pmI was wrong. I didn't take note of R10 to R12 drop the excess voltage. The only issue is if the voltage will rise, if filament becomes disconnected.I still think there's a more efficient way of doing this.How about powering the bridge off 5V, connecting the filament via two AC coupling capacitors and biasing the filament with resistors or a choke? That way you only use a small current from the 5V rail, rather than wasting most of the voltage in dropper resistors, yet the filament still is correctly biased.

author: MathWizard
author_rank: Super Contributor
timestamp: March 30, 2024, 10:41:43 pm
content: So you mean run a small DC current through it, down near -20V, which the cathode/filament still needs, and then try coupling in some AC ? Yeah I'll see if I can get it to work in LTSpice. Less power wasted would be nice, but I don't mind giving the 3rd CH on the benchPSU something to do, so I'd still rather try to use that -20V rail for the osc too.

author: MathWizard
author_rank: Super Contributor
timestamp: April 02, 2024, 04:00:03 am
content: For now I just altered my resistors, and now have about 100mApp in the filament, and that looks pretty good, at close distance anyways.I removed the VFD IC, so I could safely probe the VFD to determine the grid/anode pinouts.There are 8 grids, the outer edge ones just have a few symbols, the inner 6 have 17 anode/phosphor segments. They have 15 for the alpha-numeric symbol, and 2 for other things like a word/letter or the : between times.So far looking at the data to the VFD IC, I couldn't tell if it's MSB or LSB. Today I got a cheap 24MHz 8ch logic analyzer, I need to find the opensource software for it and try it out.Maybe now the data will make more sense.For the 15segment part, the "hhhhhh" is just a little dot in the middle, and the C,E, K,M are the angled sections for making letters.

author: pcprogrammer
author_rank: Super Contributor
timestamp: April 02, 2024, 05:41:22 am
content: Quote from: MathWizard on April 02, 2024, 04:00:03 amSigrokis open source and works with the cheap logic analyzers.The software fromsaleaeis not really free, but it does work with these cheap things too.

author: MathWizard
author_rank: Super Contributor
timestamp: April 03, 2024, 01:59:30 am
content: Yeah I got the "Comidex" LA up and running with PulseView, and I have the VFD IC soldered back on, and I'm trying to make sense of the SSI protocol as very briefly described in the VFD IC datasheet.I have the pin17=CS, pin16=CLK, (really both not/anti-CS and anti-CLK) and pin14=SI=MOSI, pinSO=p15=MISO. And that's how I have it set in PulseView with the SPI-decoder, with active low CS.As far as I've read and can see, the SI data should be read when the CLK goes from low to high (or just after). I'm just trying to find more info on the SPI clock polarity and phase, not much comes up searching it, and with the IC calling the clock anti-clock, I'll go in circles thinking about that.But here, with 4MHz sample rate, and clock polarity set to 1, the bits look like they line up as I think they should be, with all transitions allowed on clock falling edge, but nothing can change on CLK rising edge. But then in the very 1st byte, they miss SI going high.The CLK is at about 200kHz, and on a scope, I could see that there's no real delay between CLK falling, and other lines changing, like like it looks in the PulseView when SI goes high. But falling edges are faster than the rising ones.If it's MSB, it looks like 10001000b=128+8=136=0x88, and not 10000000b=0x80When the DVD STBY PWRON button is pressed, the 1st 3sec of data, is probably some setup info, and then after that when the other data starts, is when the VFD starts saying "WELCOME..." before shutting down.I'm trying to make sense of the VFD section in the datasheet. I think I understand how the various control register's and data reg's work in a MCU, but there's lots I don't get yet, about how the VFD is being driven in time, as it flickers through the letters, and as they appear to move locations/scroll on screen.

author: pcprogrammer
author_rank: Super Contributor
timestamp: April 03, 2024, 06:43:30 am
content: SPI is a tricky beast with the clock polarity and the phase but looking at your capture the clock starts of high and the data is sampled on the rising edge. These are clues on what the settings should be, but I need to look at some documentation to translate it into the right settings.In regards of the used VFD driver, don't forget that it is a microcontroller, and even though it has a mask programmed rom, the coding is most likely done by the makers of the DVD developers. So it might well be that it has build in commands to display "Welcome", etc. If so it might not be possible to write your own texts to the display.The VFD part in the datasheet is for the build in peripheral that has the necessary logic to drive a VFD and is controlled by the program in the microcontroller. It allows for being used with VFD's with different number of digits and segments, but at most 16 segments (high current) and 16+ digits (middle current). To have more than 16 digits would mean less segments available.But all this information is useless because the chip is mask programmed and you can't load your own code into it.

author: MathWizard
author_rank: Super Contributor
timestamp: April 07, 2024, 02:19:43 am
content: Yeah I think I got the serial working, however there's other problems. Like the various current draws when it shouldn't be doing much of anything in STBY. Sometimes the RAM gets active and pulls a lot more current, and the MCU/IC currents are not consistent, from 1 power up event, vs the next power up. I'm missing PCBs too, so who knows what the IC's are doing.For a while, I'm not sure why, it was freezing up, while trying to display the start up message. On the day before it was doing that, when I 1st got some logic captures, the MISO line of the VFD IC hardly moved at all over the whole 20-25secs when the display is active.Now since it's been freezing up, whatever part of the stuck message is on screen, it still stays lighting up, so I could easily see the bit sequence to the VFD pins, as +5/-20 anyways. And I have SPI captures too, and the same thing just gets repeated, but IDK what yet.But now since it's been freezing up some, the MISO line is doing a lot of stuff. Some of which looks unplanned, like beeping high, in the middle of nowhere, with no clock running. Most of the time it doesn't look random tho.But I did clean the VFD IC and all the pins I soldered stuff to again, and I did get it to fully run again, without freezing, and get a full capture with the correct SPI settings. But towards the end, the MISO line starts doing stuff again, a few days ago, it stayed low 99.9% of the time.But yeah, I can only imagine what the bits are doing. And then what program and info are already is stored in the VFD IC ?I'm just trying some more Arduino/ATmega328/C++ coding, so getting inside the maskROM of the VFD IC is over my head. They do explain a fair bit in the datasheet about the VFD setup, but yeah IDK enough ComputerSci to get it yet.At some point I might try looking for patterns in the PulseView text file data, if I learn some more C++ or Phython, or try some freeware program.Seems I can't upload the Pulseview file, and I'm not on any filesharing site.

author: Terry Bites
author_rank: Super Contributor
timestamp: April 08, 2024, 04:12:35 pm
content: DC shortens VFD life by causing filament material migration onto the anodes too.