Large customers could often order chips like this with custom character set ROMs. That might explain the difference you found in the character set. Usually one of the numbers on the chip indicates whether it has a standard or custom ROM. This video was great info. Thank you!
Much more functional than my current method of lighting the VFD displays in my upcycling e-waste art pieces - i.e. UV leds reflected at it 🤣🤷♂ I feel confident in giving it a go now - even handier that Arduinos can be used to drive chip function as I'm already implementing them for kinematics. Good work lad, 10/5 stars. Or 20/15 grid segments ;)
The Mega328B has a built-in hardware SPI. So hardware shift register and things to read/write them out/in to parallel. So the clock rate shouldn't matter if you read the data quickly enough in the software and push it to serial. The hardware pins are 11, 12, 13. You have free choice for the chip select and reset. Then the IC is even faster than in software SPI. There are now VFDs that have the multiplexing driver IC directly in the glass housing. These require SIP, 5V, 2V, 15V and an R-C for the internal clock. These are also available with a circuit board where the required voltages are provided.
For the section beginning at 5:29 discussing how to power a VFD: What is kind of a mind bender for me is that the negative return path for the independent DC supply that powers the grid and segments is solely through the independent AC supply that powers the filament. It would have been nice if the connector between the AC power supply and the DC negative was made by a black wire to indicate that this is a negative return path, and not another positive DC power source (green wires). Anyway, the result is a diode / triode structure, where positive voltage starts at the anode / segments, and works its way to the cathode / filament. Since VFDs are high impedance, there shouldn't be much current (DC conventional flow current) from anode to cathode.
That's the function of an inverter, or a microinverter in your use case. Look into PSW's - pure sine wave inverters produce much smoother sinewaves, and microinverters are commonly used in solar systems to convert each segment into AC for cheaper power transmission and utility. You can build your own if you're careful, using an RLC circuit - toroidal transformers incorporate an inductor's function, the resistors will modulate your voltage, and the capacitor will smooth out the current and voltage ripple. Audio equipment is another great place to find them, specifically vehicle audio drivers (amps) which turn the line voltage into the AC required - often at 20-30v AC or so, to drive the speakers.
Good Question, yes, but it depends. DC is only really used in battery applications for the filament because using DC can cause brightness gradients where one side of the display is brighter than the other. If you're using a +60VDC supply to drive the segments it may not matter or be too noticeable. If you still want to use DC you could use Pulsed DC for more info check this out: hackaday.io/project/85499-osh-vfd-watch/log/119364-how-to-properly-drive-vfd
Today I've just started using an old Samsung 16x1 board with the OKI M9202 driver that I found 20 years ago. I've got my first few words displayed, I write in assembler, using Microchip PIC chips.
@@edgarbonet1 Exactly, to convert DC to AC power, the power flow needs to be affected in a way that alters the one-way flow of DC power into the alternating flow of AC - this is achieved by using what’s known as an H-Bridge, which successfully converts DC’s one-way flow into the back-and-forth current of AC. See my other reply above to the same question.
It is, but it'll possibly be dimmer one end than the other; the alternating current evens it out. If this happens, be very, very careful not to just keep turning it up, or you may overdrive it and burn out the filament. If that happens you've permanently bricked the display.
Thanks for this great video, very informative! Regarding your PrintString() function, I would suggest making a class that derives from the standard Arduino Print abstract class. This way you could vfd.print() just like you would Serial.print(). Here is my proposed implementation: class : public Print // anonymous class { const uint8_t CMD_DCRAM = 0x10; // starting at COM1 public: // Write a string of characters. size_t write(const uint8_t *buffer, size_t size) { digitalWrite(sspin, LOW); shiftOut(datapin, clockpin, LSBFIRST, CMD_DCRAM); for (size_t i = 0; i < size; i++) shiftOut(datapin, clockpin, LSBFIRST, buffer[i]); digitalWrite(sspin, HIGH); return size; } // Write a character as a 1-char string. size_t write(uint8_t c) { return write(&c, 1); } } vfd; // pre-instantiate This way you inherit all the functionality of Serial.print(): vfd.print("Hello, World!"); vfd.print(some_variable); // automatically converted to ASCII
Honestly I just fell in love with VFDs and this info is invaluable to me. Thanks for the great vid.
Large customers could often order chips like this with custom character set ROMs. That might explain the difference you found in the character set. Usually one of the numbers on the chip indicates whether it has a standard or custom ROM.
This video was great info. Thank you!
Bro u r videos and works are like heaven to me as an electrical engineer
This video definitely has more info and more details! Definitely taught me a lot about VFD's.
Much more functional than my current method of lighting the VFD displays in my upcycling e-waste art pieces - i.e. UV leds reflected at it 🤣🤷♂ I feel confident in giving it a go now - even handier that Arduinos can be used to drive chip function as I'm already implementing them for kinematics. Good work lad, 10/5 stars. Or 20/15 grid segments ;)
I just find your channel and I already love it, you have really great videos and info!
I've got a load of these sitting around waiting to be reused.... and a bunch of driver chips.... so thanks for a bit of extra info.
Amazing video! Thanks a lot for sharing your knowledge
The Mega328B has a built-in hardware SPI. So hardware shift register and things to read/write them out/in to parallel. So the clock rate shouldn't matter if you read the data quickly enough in the software and push it to serial.
The hardware pins are 11, 12, 13. You have free choice for the chip select and reset. Then the IC is even faster than in software SPI.
There are now VFDs that have the multiplexing driver IC directly in the glass housing. These require SIP, 5V, 2V, 15V and an R-C for the internal clock. These are also available with a circuit board where the required voltages are provided.
For the section beginning at 5:29 discussing how to power a VFD: What is kind of a mind bender for me is that the negative return path for the independent DC supply that powers the grid and segments is solely through the independent AC supply that powers the filament. It would have been nice if the connector between the AC power supply and the DC negative was made by a black wire to indicate that this is a negative return path, and not another positive DC power source (green wires). Anyway, the result is a diode / triode structure, where positive voltage starts at the anode / segments, and works its way to the cathode / filament. Since VFDs are high impedance, there shouldn't be much current (DC conventional flow current) from anode to cathode.
Nicely done and greatly appreciate your work. fun reusing all this free electronics like the VFDs. Best Wishes
11:00 If it's a multiplexed display then grid control is essential.
Thx for this vid it helps alot. There isn't alot of videos about reusing displays from old equipment
great ideas thanks for fresh unique content, hope you post more.
Than you very much, I managed to modify your code to use with MSM9201 driver, which uses slightly different command table.
How interesting that was,thanks
Nice job and explanation.
25:54 why not use shiftOut(datapin, clockpin, LSBFIRST, 'W'); instead?
Okei informeishon
,favorit ,!!!!
Good luck sir....
Where did you get this nice VFD?
These were in everything from car stereos to video recorders and hand held game consoles..
Which VFD driver are you using? Or can another one be used, like PT6312 or PT6315? Thanks
VFD Pros. : Bright, cool, not affected by temperature.
VFD Cons. : Large power consumption, burn-in occurs.
How about driving segments with PWM for dimming/glowing effects?
to control segment brightness, you would use PWM on the Grids, not the plates.
Why do you need the mesh?
is there a simple circuit thats DC to AC to make portable electronics with VFD's
That's the function of an inverter, or a microinverter in your use case. Look into PSW's - pure sine wave inverters produce much smoother sinewaves, and microinverters are commonly used in solar systems to convert each segment into AC for cheaper power transmission and utility. You can build your own if you're careful, using an RLC circuit - toroidal transformers incorporate an inductor's function, the resistors will modulate your voltage, and the capacitor will smooth out the current and voltage ripple. Audio equipment is another great place to find them, specifically vehicle audio drivers (amps) which turn the line voltage into the AC required - often at 20-30v AC or so, to drive the speakers.
Hi. Nice help tanks i m making a digital clock using a vfd display kmm3000 😊
can you use a DC voltage to power those filaments?
Good Question, yes, but it depends. DC is only really used in battery applications for the filament because using DC can cause brightness gradients where one side of the display is brighter than the other. If you're using a +60VDC supply to drive the segments it may not matter or be too noticeable. If you still want to use DC you could use Pulsed DC for more info check this out: hackaday.io/project/85499-osh-vfd-watch/log/119364-how-to-properly-drive-vfd
That was fun
Today I've just started using an old Samsung 16x1 board with the OKI M9202 driver that I found 20 years ago. I've got my first few words displayed, I write in assembler, using Microchip PIC chips.
How can converte a dc to ac to make powring the vfd more easy
You may try an H bridge.
@@edgarbonet1 Exactly, to convert DC to AC power, the power flow needs to be affected in a way that alters the one-way flow of DC power into the alternating flow of AC - this is achieved by using what’s known as an H-Bridge, which successfully converts DC’s one-way flow into the back-and-forth current of AC. See my other reply above to the same question.
Wish we could make VFD's at home.
Hi,
Is it possible to use a DC voltage for the cathode?
It is, but it'll possibly be dimmer one end than the other; the alternating current evens it out. If this happens, be very, very careful not to just keep turning it up, or you may overdrive it and burn out the filament. If that happens you've permanently bricked the display.
RIP. ➕
Hi
How can increase brightness?
PWM (pulse width modulation) to the grids. Same as controlling a motor's speed via a digital function. A signal generator will do just that for ya.
damn i have a lot of them but now without the chip xD (didnt know its important)
Thanks for this great video, very informative!
Regarding your PrintString() function, I would suggest making a class that derives from the standard Arduino Print abstract class. This way you could vfd.print() just like you would Serial.print(). Here is my proposed implementation:
class : public Print // anonymous class
{
const uint8_t CMD_DCRAM = 0x10; // starting at COM1
public:
// Write a string of characters.
size_t write(const uint8_t *buffer, size_t size) {
digitalWrite(sspin, LOW);
shiftOut(datapin, clockpin, LSBFIRST, CMD_DCRAM);
for (size_t i = 0; i < size; i++)
shiftOut(datapin, clockpin, LSBFIRST, buffer[i]);
digitalWrite(sspin, HIGH);
return size;
}
// Write a character as a 1-char string.
size_t write(uint8_t c) { return write(&c, 1); }
} vfd; // pre-instantiate
This way you inherit all the functionality of Serial.print():
vfd.print("Hello, World!");
vfd.print(some_variable); // automatically converted to ASCII
This is a super helpful pro tip Edgar, thanks! I wasn't looking forward to repeated ASCII referencing lol.