On Saturday, August 13, 2022 we will be working on the Adafruit Customer Support Forums. If you visit over the weekend and things are not complete yet, please check back later, https://adafruit.com/forumupdates
0

2907 TUBE DRIVER [Replace Q3, P channel MOSFET]
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Re: 2907 TUBE DRIVER

by jarchie on Tue Oct 01, 2013 8:36 pm

Russell 27 wrote:I tried to compile something last night and did not work as expected, either I did not have it defined right in the code, or possibly the missing perl script was part of the problem, lots of things to know. Thought I would try adding the perl script as you had suggested in your post, see how that works.

My guess would be that not having Perl is not the issue... unless you uncommented the section of code I mentioned in my last post. If you upload your code somewhere and post a detailed description of the error, perhaps I can help.

Russell 27 wrote:
jarchie wrote:Sounds nice. I'm open to code contributions.

Not sure what you meant by that.

I think I misunderstood: I thought you were offering to incorporate an alternate time display into xmas-icetube. But I guess you were explaining your current project?

Russell 27 wrote:I don't know if you have ever seen: IV-18_Dieter's tube archive, tube specs. [...] PhilD's attachment about VFD drives gives a very good account of tube magic, I'm sure you had already looked this over.

I did stumble across that a while back, but before doing the IV-18 to-spec hack, I translated enough Russian to understand the voltages under which the tube was meant to be driven.

You have a good eye with respect to the Noritake guide; it's one of my favorite VFD references!

And thank you for pointing out those references, as I would not want to miss something.

Russell 27 wrote:It shows filament voltage @ 5V and current @ 75-95 milli amps, 85 Ma nominal.

The filament is meant to be run at 5v. The 75-95 mA figure is a property of the filament under normal operating conditions: 5v across the filament and a grid/anode voltage of 50v.

Russell 27 wrote:Also shows Anode grid Voltage @ 20-30 volts and expected current. In your test you went to 50 volts, maybe just in trial.

I believe this is an error in that reference. The anode-grid voltage should be 50 volts with 70 as the absolute maximum. The to-spec hack uses 50-60 volts on the anode/grid and 4.6 volts of high-frequency square wave AC on the filament.

Russell 27 wrote:Board voltage is a nominal 4.72 volts and current I measured through filament from stock kit circuit is 65 milli amps. Little low according to specs.

That sounds fine. The acceptable range for the filament voltage is 4.3 to 5.5 volts.

Russell 27 wrote:22 ohms resistance comes from the inline 22 ohm resistor, not sure how ADAFRUIT came up with this value.

My guess is that it has to do with the history of the design.

The Ice Tube Clock is loosely based on the inGrid Clock. The IV-18 illuminates more evenly when the filament is driven at lower voltage, so the inGrid design used that resistor to drop the 5v power to a lower voltage for the filament, deliberating running the tube out-of-spec.

Originally Q3 was a 2907 transistor with very little voltage drop, and R3 served its intended purpose. But without a resistor at the base, Q3 sourced too much current from the MCU, which caused some clocks to fail (see this thread). To fix the issue without redesigning the board, Q3 was replaced by a FET.

But as you've pointed out, the FET dropped voltage significantly and, when combined with R3, caused the dim digit issue, you mention. The filament does not fully heat near the ends, usually resulting in a final dim digit. Low filament voltage is also known to accelerate cathode poisoning, which may account for why the 3rd and 6th digit fade unusually quickly. Thanks to your excellent debugging, we know that the FET also causes problems with timekeeping during sleep.
--John <www.jarchie.com/email>

jarchie
 
Posts: 608
Joined: Sun Jun 24, 2012 2:16 pm
Location: Santa Cruz, California, United States

Re: 2907 TUBE DRIVER

by Russell 27 on Wed Oct 02, 2013 8:00 pm

John,

This discussion may have gone beyond the scope of my original intention, which was the importance of properly driving the filament. If you feel that 50-70 volts on the grid is the best way to drive the tube, by all means, I mean no condescension here. Most of the research I had done resembles the data I had posted. Filament current is the same, regardless, grid being energized or not. The 22 ohm resistor is not present to lower the voltage. Voltage drop of 3.2 volts is a consequence of the voltage divider, formed by resistance between the filament and the 22 ohm resistor. In a series circuit, current is the same throughout. If you were to divide 3.2 volts by .065 A you would get roughly 50 ohms resistance on the filament, which is essentially the same result I had posted earlier. The resistor in this case adds resistance to the circuit as a whole. As far as I see it, the filament's own resistance at 5 volts, regulates itself just fine. If there is any other, sure, board modification I make, it will be removing the 22 ohm resistor. As far as the transistor goes, I consider this a superior first choice. The gate voltage is not high enough to effectively switch a mosfet, for some it seemed to work ? The problem is not that the transistor would supply too much voltage or current without a base resistor, not possible; Without a base resistor, the transistor would most likely draw the maximum current pin 5 of the ATmega 168 could source. If chips failed because of this I'm not surprised. I have great interest and delight in this circuit. I'm putting together my own clock with some of these changes in the design. For one, I'm definitely driving the filament with 5 volts. My only setback is the code.


Russell
Russell 27
 
Posts: 240
Joined: Thu Sep 12, 2013 3:59 pm

Re: 2907 TUBE DRIVER

by jarchie on Thu Oct 03, 2013 1:25 am

I did not interpret your comments as condescension. Instead, I feel you are providing a valuable double-check of my reasoning and my work. If I thought otherwise, I would simply ignore you.

Russell 27 wrote:This discussion may have gone beyond the scope of my original intention, which was the importance of properly driving the filament. If you feel that 50-70 volts on the grid is the best way to drive the tube, by all means, I mean no condescension here.

To defend the specific numbers I mentioned, I cite the most complete set of IV-18 specifications I've encountered. Below is my translation of the relevant bits, and in parentheses, I offer the original Russian (as well as the literal translation, where the literal translation differs from mine):

Typical parameters ("Основные ДанOMITные" / Basic data):
  • Filament voltage ("Напряжение накала"): 5v
  • Anode-segment voltage ("Напряжение анода-сегмента"): 50v
Allowed parameter ranges ("Предельно допустимый электрический режим" / Maximum allowable electric mode):
  • Filament voltage ("Напряжение накала"): 4.3-5.5v
  • Maximum anode voltage ("Наибольшее напряжение анода-сегмента при" / Highest voltage at anode segment): 70v
  • Maximum grid voltage ("Наибольшее напряжение сетки импульсное" / Highest grid voltage pulse): 70v
(Note: I had to insert the string "OMIT" into one of the Russian words so it would pass the Adafruit spam filters.)

Also beware that English speakers often copy from each other rather than attempting to translate the original Russian, so please admit that multiple English references might contain identical--and incorrect--information...

Russell 27 wrote:Filament current is the same, regardless, grid being energized or not.

I don't understand the relevance of this comment, but since you wrote it, I trust the issue is important enough to deserve a response...

If the anode and grid are charged, electrons travel from the filament to the anode, and that increases current from the ground to the filament. As evidence, I offer the following photos:

IMG_1158.jpg
5 volts on the filament; 12 volts on the grid/segments
IMG_1158.jpg (32.47 KiB) Viewed 5099 times

IMG_1157.jpg
5 volts on the filament; no volts on the grid/segments
IMG_1157.jpg (32.24 KiB) Viewed 5099 times

As apparent from those measurements, it does matter if the anode and grid are energized. It's not a major difference, but it is a significant difference.

Russell 27 wrote:The 22 ohm resistor is not present to lower the voltage.

I disagree (see my next reply). If the 22 ohm resistor is not present to lower the voltage, I challenge you to explain why the 22 ohm resistor is there!

Russell 27 wrote:Voltage drop of 3.2 volts is a consequence of the voltage divider, formed by resistance between the filament and the 22 ohm resistor.

I agree with this comment (but not the comment above this comment): The 22 ohm resistor and filament form a resistor divider. But like any resistor divider, the first resistor (the 22 ohm resistor) drops/lowers the voltage for the second resistor (the filament), which drops/lowers the voltage to ground...

So I just don't understand why you don't think that the 22 ohm resistor is dropping the voltage for the VFD filament... That makes no sense to me!

Russell 27 wrote:As far as the transistor goes, I consider this a superior first choice. The gate voltage is not high enough to effectively switch a mosfet, for some it seemed to work ? The problem is not that the transistor would supply too much voltage or current without a base resistor, not possible; Without a base resistor, the transistor would most likely draw the maximum current pin 5 of the ATmega 168 could source. If chips failed because of this I'm not surprised.

I think you are arguing that the 2907 with a resistor at the base is a superior choice.

I completely agree!

Russell 27 wrote:I have great interest and delight in this circuit. I'm putting together my own clock with some of these changes in the design.

That makes three of us... that I know of. :-) :-) :-)

(Perhaps we disagree... but our debate is in the spirit of open hardware! :-) And our debate is probably going to make this awesome circuit even better! <fingers crossed>)

Russell 27 wrote:For one, I'm definitely driving the filament with 5 volts.

Damn straight!!! (...in regard to driving the filament at 5 volts...)

In my opinion, driving the filament below 4v is just asking for trouble!!!

Russell 27 wrote:My only setback is the code.

My offer still stands.

If you post your code and a detailed description of the problems you're having, I'll try to help!
--John <www.jarchie.com/email>

jarchie
 
Posts: 608
Joined: Sun Jun 24, 2012 2:16 pm
Location: Santa Cruz, California, United States

Re: 2907 TUBE DRIVER

by phild13 on Thu Oct 03, 2013 7:48 am

Below is a partial direct uncleaned translation of the important parts from the Russian pdf Data Sheet for the IV-18 VFD tube. I have not had time to do the translations of the pin-outs of the two versions of the tube. The two versions are the one with the extra wires that are not connected internally and the one without the extra wires that are mentioned in the Adafruit assembly instructions for the clock.

As you can see the heater voltage is specified as 5.0 volts nominal, with a range of 4.3 minimum to 5.5 volts maximum.
Current for the heater (filament) is a nominal 85mA +-10mA. So the acceptable range of current draw would be 75mA to 95mA. No mention is made if this tolerance range is at the nominal voltage of 5 volts, but I suspect it is. Any variance from nominal would normally be due to manufacturing tolerances. How good their QC was on the filaments depends on how many actually meet any spec. The document makes no mention of AC or DC for the heater supply. The way the filament is drawn may provide some clues as to the design intent of the tube (AC/DC). It I think has already been established and agreed upon that driving the filament within the voltage range with sine wave AC is best with Square wave Ac next in line.

Anode voltage is specified as 50 volts and current for all of the anode segments combined is 40 or 45mA depending on if the tube is type 1 (with the extra wires) or type 2 (wthout the extra wires).
Highest voltage allowed for the anode is 70 volts.
Highest Grid voltage pulse is 70 volts with 50 volts the recommended value.

Tube life is specified as 10,000 hours (which is usually specified in hours the tube will take to attain a value of half brightness at the specified nominal operating parameters).

Basic data
Glow Color Green
LED brightness in cd / № JI2 • No meiee:
one numeric digit 900
discharge of official 200
Heater voltage, 5,0
Heater current, mA 85+-10
Anode voltage segment, in 50
Current anode segments combined, mA:
nine bits for IV-18 (type 1) 45
eight bits for the IV-18 (type 2) 40
Grid voltage pulse, V 50
Grid current 8th and 9th-ro bits total, mA 10+10
The duty cycle 10+1
Minimum time, h 10 000
The parameter that varies in brightness over one digital bit minimayu.noy developments - an indicator cd/m2, not less 100
Shelf life, years, not less 4

The maximum allowable electric mode
Heater voltage, 4,3 … 5,5
The highest voltage anode-sel '~ tomers at Ia.seg.i =
= Isa and BO = B, B 70
Naib, 1shee grid voltage pulse, V 70
The largest segment of the anode current, mA 1,3
The minimum duty cycle

Recommendations for use
Visible radiation segment at the voltage applied to the grid
observed at positive potential 2.5-3.0 V. segment
Allowed a one-time curve of the output at a distance of 0.5-1.0 mm from the glass legs.
Operation indicator for two or more of the maximum permissible

phild13
 
Posts: 247
Joined: Mon Sep 10, 2012 1:05 pm

Re: 2907 TUBE DRIVER

by jarchie on Thu Oct 03, 2013 1:43 pm

Thank you so much for the translation!
--John <www.jarchie.com/email>

jarchie
 
Posts: 608
Joined: Sun Jun 24, 2012 2:16 pm
Location: Santa Cruz, California, United States

Re: 2907 TUBE DRIVER

by jarchie on Fri Oct 04, 2013 5:10 pm

To Russell 27: Since you have not replied to this thread, I am starting to worry that my previous comments--which were intended as animated debate--might instead have been interpreted as inappropriately adversarial. I hope that is not the case, but if so, I offer my sincere apologies.

So if my enthusiasm for debate is discouraging you from posting or otherwise making you feel unwelcome, just tell me to chill out, and I will!


PhilD13 wrote:Current for the heater (filament) is a nominal 85mA +-10mA. So the acceptable range of current draw would be 75mA to 95mA. No mention is made if this tolerance range is at the nominal voltage of 5 volts, but I suspect it is.

I think I can confirm that these measurements were taken at the nominal voltage. The IV-18 also has an abbreviated one-page datasheet (front and back), and next to the 75-95mA current range is a footnote that reads "Напряжении накала 5,0 B" (5.0 v filament voltage).


Russell 27 wrote:Filament current is the same, regardless, grid being energized or not.

I now realize this comment is likely in response to my claim that the 75-95mA figure was measured at 5v across the filament and 50v on the grid/segments. I claimed that because I incorrectly remembered that being in the one-page datasheet, but the one-page datasheet does not specify whether the the grids and segments were active. I was wrong to make the claim that they were.
--John <www.jarchie.com/email>

jarchie
 
Posts: 608
Joined: Sun Jun 24, 2012 2:16 pm
Location: Santa Cruz, California, United States

Re: 2907 TUBE DRIVER

by Russell 27 on Sat Oct 05, 2013 7:49 pm

No No,

As I had mentioned earlier, where I am right now I cannot easily get online everyday, no I'm not in prison.

I think you are a sharp man. Electronics was invented a long time ago, and no mater if a hobbyist or circuit designer for Sony, we all use the same basic circuit roots. That's why I get a kick out of some of the copy righted circuits on some internet circuit posts, It's a common circuit! But with that in mind we all do approach circuit design with our own personality. It's partly a matter of money of course, trying to sell us something, but that's why we have Sony, Toshiba, Phillips...; they all have a product they do their own way, with the basic fundamentals, me too. Adafruit calls the 22 ohm R3 resistor a bias resistor. This can imply a few things. But the way I look at it, Why drop the voltage, and hence current on something that needs it in the first place, I can't see the point. I am by no means an expert on VFD tubes. It just seems that this resistor actually is part of the problem. I studied many designs for driving the tube, some before I bought the kit. Oddly, The in Grid was one of the first. Before I bought the kit, I unknowingly bought the author, Raid Wahby's, spare iv-18's from him on E bay, figure that one. His driver, which he calls the" high voltage level shifter" starts at what he claims 50 volts, but gets manipulated though these shifters, that changes voltage and looks to regulate current. I don't know all the workings of the maxim, but I believe this is quite different. On my kit a 30_brightness supplies anode with 13.5 volts and 90-brightness about 32 volts. I generally set at 55_, for about 23 volts , if not mistaken. I consider this decent brightness. If you have never seen this post you may want to have a look, at this design.

http://www.larsen-b.com/Article/240.html By Jerome Kerdreux.

I would prefer it if we were friends and could just sit down and have an actual conversation, much easier and enjoyable than this, for me anyway. Compared to me, you are a complete whiz kid with code. If this is not the proper post to handle this, possibly another. If you could offer a how to or paste in of a subroutine or loop that I could put in the Adafruit standard code to make the rotating colon thing I mentioned, that would almost be like finding $ 500.00 dollars. If that is not acceptable, or too difficult, no sweat. It's something I want to know how to do and don't know how to handle it. You may have seen this video, display makes a figure eight for the colons, I thought just the lower segments would look nice.

http://www.youtube.com/watch?v=Kjfik3c-wxk


Thanks,

Later
Russell
Russell 27
 
Posts: 240
Joined: Thu Sep 12, 2013 3:59 pm

Re: 2907 TUBE DRIVER

by jarchie on Sat Oct 05, 2013 10:48 pm

Russell 27 wrote:As I had mentioned earlier, where I am right now I cannot easily get online everyday...

Don't worry... I know that you don't sign on everyday.

But I also know how easy it is to misinterpret emotions over the Internet. I just needed to be absolutely sure that I had not offended you.

And yes, okay, maybe I'm a worrywart. But I'd rather be a worrywart than make anyone feel alienated, disrespected, or unwelcome.

Russell 27 wrote:Adafruit calls the 22 ohm R3 resistor a bias resistor. This can imply a few things. But the way I look at it, Why drop the voltage, and hence current on something that needs it in the first place, I can't see the point. I am by no means an expert on VFD tubes. It just seems that this resistor actually is part of the problem.

My opinion is that the resistor is definitely part of the problem.

The inGrid clock description includes the following statement: "...about 3.5V across the filament, has only a barely noticeable gradient with DC filament drive." And the circuit itself uses a 20 ohm resistor to drop the voltage... So that's why I think the resistor is there to drop the voltage with respect to the VFD filament.

I also believe that adding the resistor was a shortsighted design decision. Yes, running the IV-18 filament below specs (with respect to both voltage and current) more evenly illuminates most tubes, but running the IV-18 filament out-of-spec also seems to cause the previously mentioned problems (dim digits on the occasional tube as well as premature cathode poisoning).

If I've interpreted your comments correctly, we agree that it's best to run the filament at ~5 volts. Yes, that might create a slight brightness gradient across the display, but driving the filament below 4 volts is asking for trouble!

Russell 27 wrote:Before I bought the kit, I unknowingly bought the author, Raid Wahby's, spare iv-18's from him on E bay, figure that one. His driver, which he calls the" high voltage level shifter" starts at what he claims 50 volts, but gets manipulated though these shifters, that changes voltage and looks to regulate current. I don't know all the workings of the maxim, but I believe this is quite different.

The mechanism is different, but I think the functionality is similar. The maxim (MAX6921) also regulates current.

The IV-18 is designed like a vacuum tube triode, except that the IV-18 (and other VFDs of that era) is not designed to amplify current. Unfortunately not all IV-18s behave well (according to a retired electrical engineer who I believe is trustworthy)... So it's important to either regulate current yourself (as done in the inGrid clock) or use a chip like the MAX6921 that will regulate current for you.

Russell 27 wrote:On my kit a 30_brightness supplies anode with 13.5 volts and 90-brightness about 32 volts. I generally set at 55_, for about 23 volts , if not mistaken. I consider this decent brightness.

My interpretation of the IV-18 specifications is "50v recommended; 70v absolute maximum." But there is no "absolute minimum" as far as I can tell, so I suspect running the display at below 50v is fine.

To reduce brightness, the Noritake guide suggests using a PWM signal to blank the display as done in my "to-spec" hack. But I suspect using reduced voltage on the grid is acceptable.

Russell 27 wrote:If you have never seen this post you may want to have a look, at this design. http://www.larsen-b.com/Article/240.html By Jerome Kerdreux.

The Adafruit circuit and code multiplexes the display--the only way to display a different symbol at each display position. The IV-18 is designed to be multiplexed.

The link above specifies that, "power supply in muxed (for the 9 digit): 50v-70v." And that's essentially what I'm arguing: a recommended voltage of 50v with an absolute maximum of 70v.

EDIT: I do think it's okay to drive the display at below 50v, I just don't think that doing so is "to spec."

Russell 27 wrote:I would prefer it if we were friends and could just sit down and have an actual conversation, much easier and enjoyable than this, for me anyway.

Face-to-face is always better. I live in Santa Cruz, California, but unless you live nearby, this forum is better than nothing.

It's awesome that we can communicate with people all over the globe with some keyboard pounding and a few clicks of the mouse.

Russell 27 wrote:If you could offer a how to or paste in of a subroutine or loop that I could put in the Adafruit standard code to make the rotating colon thing I mentioned, that would almost be like finding $ 500.00 dollars. If that is not acceptable, or too difficult, no sweat. It's something I want to know how to do and don't know how to handle it.

Adding an alternate display to my xmas-icetube firmware would be easy, but it's been a while since I've seriously looked at the Adafruit code. I'll give it a go and get back to you.
--John <www.jarchie.com/email>

jarchie
 
Posts: 608
Joined: Sun Jun 24, 2012 2:16 pm
Location: Santa Cruz, California, United States

Re: 2907 TUBE DRIVER

by Russell 27 on Sun Oct 06, 2013 4:01 pm

Hi John,

Some expanded explanation.


We're pretty much on the same page with the circuit here, albeit we consider some of the details a little differently. Some of what's rolling around in my head probably gets lost in translation. I tried to express things with out a bunch of fancy electronic terms, in the hope that everyone, whatever level in electronics, could benefit and understand my reasoning and intent of the post. The most important part of the forum, being; an understanding, and helping others. After I first built the kit I was a little irritated that the the directions showed to mount the P channel MOSFET incorrectly. Why I bought the kit in the first place; to have a complete, working, start. In the end though, led me to the forum, which has been a positive beyond any expectation. If some of my initial comments seemed harsh, sorry about that. I do think Adafruit needs to get this squared away with the kit directions, or part, for future builders, it's expected in a kit, not everyone has an interest in the hacks and modifications.

The 22 ohm R3 resistor may indeed be there to drop the voltage. This example may define the reasoning behind my earlier posting. If you take a string of standard Christmas lights, there are 50-- 2.4 volt lamps wired in a series. If you were to take one lamp and plug it into a 120 volt outlet, that lamp would meet the end of it's life immediately. But by connecting all in a series, [ 50 x 2.4 = 120] the voltage drop at each lamp would be the needed 2.4 volts, with a supply voltage of 120 volts. The current flowing through each lamp is the same. By doing this the voltage is regulated and so is the current, works as a whole. If you were to take out 5 lamps and reconnect the string, the voltage drop would change a little between each light, as well as resulting resistance and current; the lights in the string would now be a little bit brighter. LED's are often connected in series, if there is enough voltage. Since LED's don't really care about the voltage, only current, if current is regulated and voltage is high enough, many LED's can be put in a series, to light many, more efficiently, with the same current. Even if there is a little voltage left over.
By adding the 22 ohm resistor to the filament, the voltage is dropped, but so is the resulting current, which I don't see as desirable. I believe you mentioned it may be to even out display gradient, but for me that seems contradicting. Not enough current through filament, not enough electrons to boil off and be accelerated through grid to evenly light phosphor, in energized segment. My reasoning anyway. This may prove why AC is better here, you constantly have both positive and negative potential on both sides of the filament to even things out. So as everyone rolls their eyes back, you wanted it, you got it. Just in jest. If one simply wanted to lower voltage, a diode there should also do that. The relationship here as a whole, is what I'm looking at as important to a well driven display. I don't see anything wrong with the basis of how it's done in the kit, just a few little tweaks. For those who go beyond, I think a lot of you either make or purchase an etched board. A nice etched board is like a work of art, especially when you're a geek like me and love electronics. Myself, I usually do things old school. I don't use a circuit simulator, I research and build the circuit on a spring, proto board. Then I assemble the prototype, on a standard, pre punched through hole circuit board. A board as such can be made to look professional. Spending the extra time to layout and design a template, time etching and/or cost for just one or two etched boards is a lot of work. I admire those of you that make the effort to do this. So my revamped clock will have a different look and feel, part of the greatness of electronics. The hardest part really, I think, is finding and implementing the circuit into a decent looking finished enclosure, something that shows off the most important part, the tube of course.

Somewhere on the forum, can't find it now, think from you-- there was an image of an ADAFRUIT board with modifications for the push-pull and other changes, on a complete board. Did you make this, or was this just a design concept image ? If you know what I'm talking about.

EDIT: Found it

xmas-b-nochip.jpg
xmas-b-nochip.jpg (78.79 KiB) Viewed 4407 times


Also the Jerome Kerdreux link I posted, don't know if you saw the drawing he had posted; re posted here:

iv-18-clock-by-turbokeu.gif
iv-18-clock-by-turbokeu.gif (23.61 KiB) Viewed 4735 times


This is not the exact design he used, as it uses a PIC 16F88, but a basis for his circuit. What I was noting was the use of AC for the filaments and +21 for the Anode voltage. Not done stirin' your pot yet yo.


Russell
Last edited by Russell 27 on Mon Oct 07, 2013 12:26 pm, edited 1 time in total.
Russell 27
 
Posts: 240
Joined: Thu Sep 12, 2013 3:59 pm

Re: 2907 TUBE DRIVER

by Russell 27 on Mon Oct 07, 2013 11:06 am

Hi John,

John Archie Wrote:
EDIT: I do think it's okay to drive the display at below 50v, I just don't think that doing so is "to spec."


ONE QUESTION.

" to spec.", and driving the display at the 50-70 volt spec. seems an absolute to you. Is that because that's what the spec. reads and you feel this is how it needs to be done, or did your tests show that a more pleasing, even display was accomplished ? If the result was merely a brighter display, I don't believe I would benefit from this. If there were some advantage that a 50 volt potential, regulated current gave to the display quality, over my 23 volts, I might give it a try; but simply more brightness is not of use to me. Looking at the result in a photographic image, it's not possible to see the real result. I have simultaneously been working on a project with a seven segment LED display. The workings of the two displays are completely different, so of no use in a direct comparison. Although, there are maximum ratings for the LED display also, and I'm nowhere near that, for one thing display would be way too bright.

This will really blow your hair back:

If a 3.5 volt potential was directly connected to the filament, and that potential was able to supply the filament with " the spec." 85 milli amps of current, would that 3.5 volts of potential satisfy the needs of the display ?


Russell
Russell 27
 
Posts: 240
Joined: Thu Sep 12, 2013 3:59 pm

Re: 2907 TUBE DRIVER

by jarchie on Mon Oct 07, 2013 8:36 pm

Russell 27 wrote:" to spec.", and driving the display at the 50-70 volt spec. seems an absolute to you. Is that because that's what the spec. reads and you feel this is how it needs to be done, or did your tests show that a more pleasing, even display was accomplished ?

Both!

In general, I think driving parts to their specifications is best. Designers intend for their parts to be used under certain conditions, and parts are extensively tested under those conditions. So adhering to specifications is usually the safest choice and ensures reliability.

Digit illumination is also a bit more even when driving the grid/segments with a ~50v PWM signal instead of reducing the grid/segment voltage. And if you're driving the filament with 5 volts DC, using a ~50v PWM reduces the brightness gradient across the tube.

Also, I have probably overstated the importance of driving the grid/segments at ~50 volts. The specifications recommend 50 volts on the grid/segments and also give an absolute maximum of 70 volts. The fact that there is no "absolute minimum" is telling, and suggests that reducing display brightness by reducing the grid/segment voltage is allowed.

And I should also note that the specifications do not state that driving the grid/segments with a PWM signal is acceptable. Nor do they state that using square-wave AC on the filament is acceptable. Yet my to-spec hack does both of these things.

Russell 27 wrote:If a 3.5 volt potential was directly connected to the filament, and that potential was able to supply the filament with " the spec." 85 milli amps of current, would that 3.5 volts of potential satisfy the needs of the display ?

The 75-95 mA of current is an empirically measured property of the filament when driven at 5 volts. So the specified filament current is a property of the tube--not a requirement for driving the tube.

If a tube consumed 85 mA at 3.5 volts, increasing the filament voltage to 5 volts would probably cause the filament to consume well over 100 mA. If the tube consumes more than 100 mA at 5 volts, the filament is being driven "to spec," but the tube is operating outside of the given specifications. It's a bad tube.

Russell 27 wrote:I do think Adafruit needs to get this squared away with the kit directions, or part, for future builders, it's expected in a kit, not everyone has an interest in the hacks and modifications.

I hope the recent issues with Q3 prompt Adafruit to address this issue. At a minimum, I hope they upgrade to a better MOSFET.

Russell 27 wrote:I believe you mentioned it may be to even out display gradient, but for me that seems contradicting. Not enough current through filament, not enough electrons to boil off and be accelerated through grid to evenly light phosphor, in energized segment. My reasoning anyway.

I posted an explanation of this behavior a while back along with some empirical observations:

"With DC, there is a voltage gradient across the filament because one end of the filament is positive and the other is negative. But the grid/segments, when powered, have a similar, large positive charge. On the negative end of the filament, the difference in charge between the filament and the powered grid/segments is relatively large: more electrons travel from the filament to phosphors on nearby segments. On the positive end of the filament, the difference in charge between the filament and powered grid/segments is smaller: fewer electrons travel from the filament to nearby segments."

Russell 27 wrote:If some of my initial comments seemed harsh, sorry about that.

No need to apologize! I interpreted your comments as explanative, descriptive, and sometimes argumentative--all of which I enjoy. I'm a huge fan of argument and debate as a way to explore issues. :-)

Russell 27 wrote:If you could offer a how to or paste in of a subroutine or loop that I could put in the Adafruit standard code to make the rotating colon thing I mentioned

Here's a quick modification that should get you started: Add the following code to the global variables section at the top of iv.c:

Code: Select all | TOGGLE FULL SIZE
#define TIME_SEP_SIZE  4
uint8_t time_sep1[]  = {0x20, 0x10, 0x08, 0x02};
uint8_t time_sep2[]  = {0x20, 0x10, 0x08, 0x02};
uint8_t time_sep_idx = 0;

#define TIME_SEP_DELAY_MAX 300
uint16_t time_sep_delay = 0;

The segments displayed for the hour-minute and minute-second separators are listed in time_sep1 and time_sep2, respectively. The TIME_SEP_DELAY_MAX controls controls the delay between distinct separators. These variables are used in the timer 0 overflow interrupt, right after dividing down to "100Hz * digits":

Code: Select all | TOGGLE FULL SIZE
  if(++time_sep_delay >= TIME_SEP_DELAY_MAX) {
    time_sep_delay = 0;

    if(++time_sep_idx >= TIME_SEP_SIZE) {
      time_sep_idx = 0;
    }
  }

  if(displaymode == SHOW_TIME) {
    display[3] = time_sep1[time_sep_idx];
    display[6] = time_sep2[time_sep_idx];
  }

I've posted a video and the modified Adafruit pre-GPS firmware.

Happy hacking!
--John <www.jarchie.com/email>

jarchie
 
Posts: 608
Joined: Sun Jun 24, 2012 2:16 pm
Location: Santa Cruz, California, United States

Re: 2907 TUBE DRIVER

by Russell 27 on Tue Oct 08, 2013 9:09 am

John,

Right on brother! This is exactly what I wanted to do. Not going to sugar coat it, don't know how in C. Thank you very much for sharing this, hope you find this pleasing as well. First time I actually saw this in reality. Try it out later. Since we have only spoken via the keyboard, I tried to figure the best way to "talk to you", I can't see your expressions. Much of what I put down was to get you to look at things from different angles. For instance the R3 resistor. I don't really know why it's there, but being there does a number of things, most notably a resistance change, voltage drop and current change. Instead of just looking at one thing, look at all angles, the whole of everything. Not saying you don't, just make sure you do. My blow your hair back comment was just in fun to see how you think. As you know there are many ways to write particulars in a program. Some are good ways, some work well for certain tasks; not so for others. Some ways are not good no matter what. It's possible to write an elegant program, that flows and works like art. Can be an artist in anything. The first time I saw an Arduino Board I though why would any one want that. Nice looking, but expensive; more show than go, I thought, way to go about things. I figured, I can make all that myself and put my own micro controller in there. But when I considered, for some people, it's all about the programming, not about the circuitry, kinda makes sense then. I'm more about the circuitry. I'll have to try the extra voltage for myself and see If I find it necessary, I'll pick up some 328's next time I place an order.

Even Raid had these sentiments:

I found it hard to find anything but a Russian IV-18 datasheet, so I've done a brief job of what may be the worst datasheet translation of all time (I took three years of Russian in high school, which means many of you who've never even seen Cyrillic before are probably better than me). Apologies for inaccuracy.

Jkx designed his own IV-18 clock, and his site has more info on how he drove it. Multiple independent sources of information are always good.


End of my preaching
Thanks again

Russell
Russell 27
 
Posts: 240
Joined: Thu Sep 12, 2013 3:59 pm

Re: 2907 TUBE DRIVER

by Russell 27 on Tue Oct 08, 2013 6:36 pm

Hey John,

Tried this out, NICE. Thanks again.

Two questions. I understand the workings fairly well. I thought hex values would be used something like this. I knew that the 0x02 was for the G segment, I threw a solid dash in the display there earlier. Where do I find the values for the rest of the segments? Oddly this is the where I get lost. I want to know values for all segments, a thru g.

Eventually I want to open a new post and share this with others, but I don't want to step on your toes, I was just the idea man, you made it happen. Would that be alright? Did you link the video and zip through attachments?


Thanks for your time on this, really. Much easier way to arrive here.

Russell
Russell 27
 
Posts: 240
Joined: Thu Sep 12, 2013 3:59 pm

Re: 2907 TUBE DRIVER

by jarchie on Tue Oct 08, 2013 9:44 pm

Russell 27 wrote:Tried this out, NICE. Thanks again.

Happy I could help. :-)

Russell 27 wrote:Where do I find the values for the rest of the segments?

In the firmware, any single digit symbol is represented by a byte, and each bit corresponds to a segment. So the binary representation of just segment A would be 0b10000000 (or 0x80 in hex); just segment B, 0b01000000 (0x40); just segment C, 0b00100000 (0x20); and so on...

More complex symbols can be made by setting more than one bit. For example, to display a "7", the display byte would have bits set for segments A, B, and C: 0b11100000 (0xE0).

Russell 27 wrote:Eventually I want to open a new post and share this with others, but I don't want to step on your toes, I was just the idea man, you made it happen. Would that be alright? Did you link the video and zip through attachments?

I appreciate the consideration, but it was your idea and I only wrote a few lines of code. Please use that code however you see fit.

I uploaded those files to a web site and linked to them with the url tag. You're welcome to copy or link to the files as well.
--John <www.jarchie.com/email>

jarchie
 
Posts: 608
Joined: Sun Jun 24, 2012 2:16 pm
Location: Santa Cruz, California, United States

Re: 2907 TUBE DRIVER

by Russell 27 on Wed Oct 09, 2013 5:12 pm

Thank You,

Your segment explanation clears that up. I guess I was looking for the table in the code. This addressing is pretty much the standard, but I think you had actually put a table in your code. Maybe I'll work on an actual MENU, colon setting, for my next endeavor, might not be any tubes left by then. I've had a little spare time and I've become totally addicted to this tube.

Our discussion has prompted me to try a linear 5 VAC on the filament. I have the tube and max chip to solder together, but I'm going to build the rest of the circuit on a PROTO board, and try a number of other things as well, much easier to test than a finished circuit board. For one, I'm wondering if the 22 Uf capacitor, used to smooth the voltage and current of the inductor, isn't a bit small tolerance. More capacitance may help even the display. If you have an interest in some of that information, I can pass it along. May not be for a spell.

Your help with the code has made all the difference.

Take care,

Russell
Russell 27
 
Posts: 240
Joined: Thu Sep 12, 2013 3:59 pm

Please be positive and constructive with your questions and comments.