## ICE TUBE Second digits are DIM Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Re: ICE TUBE Second digits are DIM

kinderwood - I do not see that you "stirred the pot" at all! The whole idea of an open source project like this is that people get to hack at it to suit themselves. I don't see that there is any one "right" way to fix something, only whatever works for you.

I have one tube with very even digits, and one tube with the same problem as you, and this simple hack fixed it. I could have bought a bunch of tubes on eBay and tried several, but given the effort involved in soldering them to the circuit board, and obtaining the boards for that matter, this is not trivial by any means!

I had already been looking at the display code with the idea of a more tunable solution. At present it runs at 1 millisecond per digit. My idea was to increase the frequency of the main display loop by 10 so that it runs at 0.1 mSec and then add an array of values to control how many times each digit is displayed before going to the next one. In your case most of the digits would have a value of 10 but your last digit might be 25 or 30 or perhaps even 50. At some point having a large difference in the duration for a single digit might introduce flicker. A second array could specify the digit index. Both arrays could then be set to an arbitrary number of values, and you could then have your weak digit repeat more often in the sequence. If you'd like to try this approach I can probably supply the code.

My other idea was to simply increase the duration for ALL of the digits and see if that helped.

I had also thought about driving the heater with a pwm circuit, but that means adding components and I don't really want to get into that at this point...

I gave away my other Ice Tube Clock (the one that had the "weak" last digit) so I can't really some of the changes to see the effect...

Wiliam

wbp

Posts: 239
Joined: Mon Mar 07, 2011 1:18 pm

Re: ICE TUBE Second digits are DIM

Hello all...I hope i did not come across as being negative about the issue. I understand completely the hacking mentality associated with designing. After all if it was not for hackers much of the things that we use today would not exist. I just did not want to see frustration being developed over the inability to try to fix a design that was slightly flawed. I am currently working on a similar design using AC utilizing a TSC428 Dual-Power MOSFET Driver to light the filament. In order to keep the size the same as the Ice tube will require SMT components so this will not lend itself to be designed as a kit but it is more of an experiment to see if I can cram the extra parts to drive the filaments the way they were intended. Keep on hackin' my friends...regards... :D
neutron spin

Posts: 163
Joined: Sat Apr 03, 2010 6:11 pm

Re: ICE TUBE Second digits are DIM

William,

It would be nice to have an option in the menu to dim the seconds digits purposely. Though it's sort of fun, in a weird way, to watch the seconds change it's a bit of a distraction to wanting to just tell the time. Have you thought about perhaps adding the feature that in normal display mode to give the user the option to dim seconds digits by some percentage to your custom firmware?

-Jim
jyohe

Posts: 10
Joined: Thu Dec 29, 2011 4:53 pm

Re: ICE TUBE Second digits are DIM

Jim,

Interesting idea. The intent of this particular mod was to brighten the very last digit, not make digits dimmer, but I understand what you are asking.

I recently added a new mod to allow selecting one of 3 "pattern" displays instead of displaying the seconds, similar to what JSGF did with his "seconds dial mode" mod. This includes an option to display "am" or "pm" in lieu of the seconds, and also nothing at all (just hours and minutes). Would that give you what you want?

Eventually I hope to have a table of brightness settings for all of the digits, but there are a couple of other things in the way of getting that done...

William

wbp

Posts: 239
Joined: Mon Mar 07, 2011 1:18 pm

Re: ICE TUBE Second digits are DIM

Another somewhat general solution is to provide per-digit brightness control: Allow the user to enter a brightness control screen with all segments lit, excepting the decimals. Initially, the 0th-digit is selected, as indicated by it's lit "-". The user may adjust the 0th-digit brightness by pressing "+". Pressing "set" moves to the 1st digit, as indicated by the now inactive 0th-digit "-" and the newly lit 1st-digit "." In this fashion the brightness of each digit may be adjusted.

From a programmer's perspective the display time for each digit may be controlled by an array (times in 32 microsecond units):

Code: Select all | TOGGLE FULL SIZE
`uint8_t digit_times[DISPLAY_SIZE] = { [0 ... DISPLAY_SIZE - 1] = 15 };`

Each element of digit_times[] has a minimum value of 15 and can be increment up to 244--a 16x increase in brightness. Nonlinear brightness increments seem to produce more intuitive results:

Code: Select all | TOGGLE FULL SIZE
`digit_times[i] += digit_times[i] >> 1;`

If the total display time for all digits is too great, the display will flicker, so eliminate_flicker() must be called after each adjustment.

Code: Select all | TOGGLE FULL SIZE
`uint8_t digit_time_shift = 0;// ...void eliminate_flicker(void) {    uint16_t total_digit_time = 0;    for(uint8_t i = 0; i < DISPLAY_SIZE; ++i) {   total_digit_time += digit_times[i];    }    digit_time_shift = 0;    while( (total_digit_time >> digit_time_shift) > 512 ) {   ++digit_time_shift;    }}`

Digit timing can then controlled in the timer 0 overflow interrupt, which is called every 32 microseconds:

Code: Select all | TOGGLE FULL SIZE
`ISR(TIMER0_OVF_vect) {    static uint8_t varcounter = 1;    // ...    if(! --varcounter) varcounter = display_next_digit();    // ...}uint8_t display_next_digit(void) {    // get index of digit to display    static uint8_t digit_idx = 0;    digit_idx = (digit_idx + 1) % DISPLAY_SIZE;    // send digit to vfd chip...    // [code removed]    // amount of time to display current digit    return digit_times[digit_idx] >> digit_time_shift;}`

Personally, I was extremely lucky and received a tube with wonderfully consistent brightness, but after using the clock for a year or so, I've noticed that the 3rd and 6th digits are slightly dimmer than the others. That seems peculiar to me because those are the digits which are not lit when displaying time. But the per-digit brightness control provided a useful adjustment for the aging tube.

I recently used another tube where the 0th and 8th digits were extremely dim, and the per-digit brightness control also worked fairly well.

More details may be found in the code for my firmware: http://www.github.com/johngarchie/xmas-icetube/
--John <www.jarchie.com/email>

jarchie

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

Re: ICE TUBE Second digits are DIM

After driving the VFD filament with alternating current, I do not believe that dim digits are caused by using direct current. (But I don't know much about electronics, so I hope someone will challenge me if I've made mistakes.)

The alternating current is generated from the otherwise-unused PC1 and PC2 pins on the ATmega328p. After a reset, the ATmega328p sets PC1 to ground and PC2 to 5v:
Code: Select all | TOGGLE FULL SIZE
`DDRC  |=  _BV(PC2) | _BV(PC1);PORTC |=  _BV(PC2);PORTC &= ~_BV(PC1);`

And approximately once per millisecond, the PC1 and PC2 outputs are reversed, generating 500 Hz square-wave alternating current:
Code: Select all | TOGGLE FULL SIZE
`PORTC ^= _BV(PC2) | _BV(PC1);`

Since PC1 and PC2 cannot output sufficient amperage to drive the VFD filament, they are amplified by two push-pulls:

For the direct current test, the setup and digit brightness looked like:

For the alternating current test, I used a multimeter and oscilloscope to verify that the output used to drive the VFD filament was indeed 5-volt square-wave alternating current. The setup and display looked like:

I realize that the VFD brightness gradient is difficult to see in photographs, but there was no noticeable difference between the setups. The last digit and overall brightness gradient appeared identical. Therefore, I believe the brightness gradient is intrinsic to individual tubes and that software modification is a perfectly reasonable way to workaround the issue.

This makes me wonder... Are there any compelling reasons to use alternating current for the filament?
--John <www.jarchie.com/email>

jarchie

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

Re: ICE TUBE Second digits are DIM

Yesterday I put together my third IceTube, and just like the second one, it had a really dim last digit when I finished. I accidentally knocked my first clock onto the floor and broke the tube when I first got it, so I had purchased some spare tubes back then. After assembling my second clock, and being unhappy with the dim last digit, I bought a spare "side pcb" and header to see if one of my other tubes would have a better output, and luckily it did. When my third clock had the exact same issue, I decided to try the original tube that had the same issue, just to see what it might look like. Surprisingly, it is very consistently bright across all the digits, even though the same tube had the dim last digit issue on the previous clock. All my clocks have ran the same firmware, DigiSage. This leads me to believe that issue is *partially* due to the exact combination of components, and building technique.

It is great to find out that there is a software fix now though. I would have never thought of such a thing myself, so thanks!

twolf

Posts: 46
Joined: Fri Sep 04, 2009 7:40 pm

Re: ICE TUBE Second digits are DIM

Hi twolf,

Your observation about the tubes is really interesting to me.

The tube I used for the DC versus AC test had an extremely dim final digit one month ago when I purchased it. At that time, I put it in a box and used a tube with more consistent brightness. But as shown in the photos in my previous post, the inconsistent tube still has a noticeably dimmer final digit, but the difference is much less significant. Since I used the same clock for both tests, could it be that these tubes tend to even out over time after an initial use?

Have you tried moving your now-consistently-bright tube to your first clock? I wonder if the issue is really is different components/building-technique or if the issue is that these tubes tend to improve with age after an initial use.

--John
--John <www.jarchie.com/email>

jarchie

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

Re: ICE TUBE Second digits are DIM

I've seen a small sample of tubes, 4 so far. 2 were very uniform, 1 was slightly dimmer, 1 was significantly dimmer. In both cases it was the only the last digit that was dim. One of the ones that is very uniform is not in an Ice Tube clock, it's an Akafugu clock, which runs higher filament voltage. In a dark room you can see the filament wires in the Akafugu IV-18 glowing softly red. It might be worth investigating if lower filament voltage is related to uneven digit brightness.

I also notice that my personal Ice Tube exhibits significant temperature sensitivity. If it's cold in the room that it's in, and I have the brightness set as low as it normally is in warmer weather (it has a photocell and autodimming), some of the digits become impossible to see.

William

wbp

Posts: 239
Joined: Mon Mar 07, 2011 1:18 pm

Re: ICE TUBE Second digits are DIM

Damn, William. Good insight!

On my Ice Tube Clock, if I replace R3 with a jumper, current through the VFD filament increases. My uneven tube evens right out!
--John <www.jarchie.com/email>

jarchie

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

Re: ICE TUBE Second digits are DIM

While you've got it apart, can you substitute a meter for R3 and measure the current? The spec for the IV-18 is 75 to 95 mA, 85 mA nominal.

William

wbp

Posts: 239
Joined: Mon Mar 07, 2011 1:18 pm

Re: ICE TUBE Second digits are DIM

I've already reinstalled R3 and assembled the clock; I'll test the current as you suggest on Wednesday or so.

The reason for the delay is that I'm expecting three IV-18 tubes in the mail, and I'd like to do all my testing at one time. I am hoping that all tubes will have consistent brightness at ~85 mA current, and that R3 can be selected on a per-tube basis to get the desired current. The desired resistance of R3 might even be easily calculated from the resistance of the VFD filament....

Of course, it's also possible that more than 95 mA is necessary to even out the brightness, so a software solution might still be better than overtaxing the filament...
--John <www.jarchie.com/email>

jarchie

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

Re: ICE TUBE Second digits are DIM

I'm a bit puzzled by one thing. The output of my voltage regulator is 4.99v. The voltage between Q3 and R3 is 4.74v. But the voltage falls to 3.26v with the tube inserted. Since my clock works perfectly, I'm going to assume that's in the normal range....

On my clock I've tried six tubes, three of which have a noticeably dimmer final digit. The current going through the filaments with R3 (22 ohm resistor) installed was 52.5±0.8 mA. With a jumper installed the current increased to 62±1.2 mA.
--John <www.jarchie.com/email>

jarchie

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

Re: ICE TUBE Second digits are DIM

The current going through the filaments with R3 (22 ohm resistor) installed was 52.5±0.8 mA. With a jumper installed the current increased to 62±1.2 mA.

Interesting. The current you measured seems quite low. The spec for this tube is 85 mA nominal (75 to 95) and 4.2 to 5.6 V, as best I can find. According to one source, the current draw is highest with no segments lit, but I can't confirm that. If those specs are right, that 22 ohm resistor is probably not necessary. Another source did indicate it would light up at much lower voltages. It would seem that the lower filament voltage is the real cause of the dim digits people are seeing.

With R3 jumpered can you see the filaments glowing in a dark room?

I would expect some drop across the junction of Q3 but you're measuring around 1.5 V, no?

wbp

Posts: 239
Joined: Mon Mar 07, 2011 1:18 pm

Re: ICE TUBE Second digits are DIM

With R3 jumpered can you see the filaments glowing in a dark room?

With no segments lit, I can see the filament glowing even with the resistor installed--but only after my eyes have fully adjusted to the dark. But the filament definitely glows brighter with R3 jumpered.

I would expect some drop across the junction of Q3 but you're measuring around 1.5 V, no?

I didn't test that, but should have! In any case, your estimate based on the numbers I reported is correct. The voltage going into Q3 is 4.7v and the voltage coming out of Q3 is 3.3v (with the tube plugged in). So the voltage drop across Q3 is 1.4v. On a second clock, the voltage coming out of Q3 is 3.4v, so these numbers are probably typical.

According to one source, the current draw is highest with no segments lit, but I can't confirm that.

I can confirm that, but the difference was only ~1mA on the tube I tested. Nothing to worry about.

It would seem that the lower filament voltage is the real cause of the dim digits people are seeing.

That seems to be the case. At the other extreme, driving these tubes at higher currents tends to produce a brightness gradient across the entire display, so I'm guessing that R3 was selected to minimize that effect for most tubes. But R3 seems to be too large in some cases.

The easiest hardware solution seems to be replacing R3 with a jumper--something I've tried on two different clocks. In both cases, current running through the filament was well under 70 mA--safely below the 95 mA maximum. On one of the tubes, jumpering R3 introduced a very sight brightness gradient across the entire display.

To maximize display life, I wanted to run the tubes at the minimum current to extend display life, so I replaced the jumpers with 50 ohm potentiometers (Digi-Key, part number CT6EX500.) On one clock, the potentiometer is underneath the circuit board; the other, above the alarm switch.

At high resistance, the rightmost and leftmost digits are extremely dim, replicating the issue I observed. At medium-high resistance, only the rightmost digit is noticeably dim, replicating what others have observed. At medium-low to low resistance, the display is almost perfectly even. On only one of the clocks was there a slight gradient across the entire display at zero resistance.
--John <www.jarchie.com/email>

jarchie

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

Please be positive and constructive with your questions and comments.