H Bridge softstart?

Hello,
I need to make a softstart for my vfd display filament. I use H Bridge to generate positive and negative output ( simulate ac )
Now i have this code:

 digitalWrite(filament_pin1, filament_flag);     // Power display filament with one polatity.
  digitalWrite(filament_pin2, !filament_flag);
  filament_flag = !filament_flag;                 // Swap polarity next time around the loop.

How to make softstart, for stop inrush current and increase the life of the filament?

image

VFD DISPLAY CLOCK

Usually NTC resistors are used for a soft start.

I'm not sure whether a pulsed voltage will really increase filament lifetime. The same applies to current limiting capabilities of the H bridge which also only affect the pulse width, not the pulse height.

Reverse polarity help to increase the life of filament.

Nope. It's for equalize brightness over all display.

Just search on google " Filament Notching ".

The Influence of Notching Upon the Life of Miniature Lamp Filaments

Notching

Notching is the phenomena in which a saw-toothed surface appears over portions of the filament. The notching grows due to the electro-migration of tungsten ions and becomes more noticeable after long operation. Notching depends on the lighting condition, either DC or AC. At AC voltage, the notching occurs near the area where the filament is supported by the anchor or is connected with the lead-in wire. These areas have a temperature gradient. At DC voltage, since tungsten ions move in only one direction, the notching occurs over the entire filament. Therefore, the lamp life at DC voltage becomes shorter than at AC voltage because of more severe notching. In order to reduce the notching, a rhenium tungsten filament, which has a higher temperature recrystallization point, can be used.

So guys, is it possible to do something like here, but with soft start? Arduino is not my forte.

void setup() {
  pinMode(3, OUTPUT); //OC2B
  pinMode(11, OUTPUT); //OC2A
  TCCR2A = 0; //initialize register
  TCCR2B = 0; //in itialize register
  TCCR2A = _BV(WGM20) | _BV(WGM21); //set fast PWM 255 top
  TCCR2A |= _BV(COM2A1) | _BV(COM2A0); //Set OC2A on Compare Match, clear OC2A at BOTTOM,(inverting mode).
  TCCR2A |= _BV(COM2B1); //Clear OC2B on Compare Match, set OC2B at BOTTOM,(non-inverting mode).
  //TCCR2A = B11100011 = 227
  TCCR2B = _BV(CS22); //prescaler 64
  //TCCR2B =B00000100 = 4 
  OCR2A = 127;
  OCR2B = 127;

}

void loop() {
}

image

But where have you seen a requirement for soft start ?
A typical VFD filament driver say LM9022 does not have such a feature as far as I can see https://www.farnell.com/datasheets/67785.pdf
At what frequency are you driving the H bridge at and how long into the cycle do you want the power reduced and with what profile - a linear gradient or what ?
You may be able to achieve a crude "soft start" in that you drive the device at such a high frequency that switching losses become significant or introduce a 0 volt period between each polarity swap reducing the effective duty cycle.

Hi, @arduplay
Welcome to the forum.

What is to stop you putting a series current limit resistor is series with the filament supply and use a relay to short it out after a time period.

Tom... :smiley: :+1: :coffee: :australia:

Power losses

Try keeping OCR2A constant and changing OCR2B between the values of 0 and 255 and see what waveforms you get. Where the A output and the B output are simultaneously equal, the effective voltage across the filament is, of course, 0.

For a second or two. When you short the resistor out, no power loss.
You put the NC relay connection across the resistor.

Tom.. :smiley: :+1: :coffee: :australia:
PS. Goodnight, sorry Goodmorning, I'm off to bed... :sleeping: :sleeping: :sleeping: :sleeping: :sleeping:

Yes, AC need for constant brightness and increase life time.