IN-8-2 Modular Rev 3 build - feedback and questions

More
1 year 4 months ago #9844 by Ty_Eeberfest
Something else I've run into is that when the tubes are fully blanked (by PIR or by blank times settings) there is a pretty vicious HV spike when the tubes come back on. This seems to be happening because the HVG is turned off during times of total blanking but checkHVVoltage() continues to be called. Result is that pwmTop "winds up" to its max value as the code tries to raise the voltage of a turned-off HVG.

Overall my best results (most stable HV) so far are achieved by putting the "slow regulation" call to checkHVVoltage() back where it was originally located in loop(), but with a condition:
  // Slow regulation of the voltage
  if (!blanked) checkHVVoltage();  
"blanked" is an existing global that means exactly what its name implies.

Furthermore I finessed the checkHVVoltage() code (actually the getInc() part) a bit to reduce gain and add a little deadband. The numbers are kind of arbitrary, based on trial and error. There may be better values.
void checkHVVoltage() {
  if (getSmoothedHVSensorReading() > rawHVADCThreshold) {
    setPWMTopTime(pwmTop + getInc());
  } 
  else {
    setPWMTopTime(pwmTop - getInc());
  }
}

// Get the increment value we are going to use based on the magnitude of the 
// difference we have measured
int getInc() {
  int diffValue = abs(getSmoothedHVSensorReading() - rawHVADCThreshold);
  int incValue = 0;
  if (diffValue >= 3) {
    if (diffValue > 20) incValue = 35;
    else if (diffValue > 10) incValue = 5;
    else incValue = 1;
  }
  return incValue;  
}

Look into it later when the dust is clearing off the crater.

Please Log in or Create an account to join the conversation.

More
1 year 4 months ago #9845 by Ty_Eeberfest
Actually this seems to work nicely and is much simpler.
int getInc() {
  int diffValue = abs(getSmoothedHVSensorReading() - rawHVADCThreshold);
  int incValue = 0;
  if (diffValue >= 2) {
    incValue = diffValue * 2;
  }
  return incValue;  
}

Look into it later when the dust is clearing off the crater.

Please Log in or Create an account to join the conversation.

More
1 year 4 months ago - 1 year 4 months ago #9850 by Phil_Mod3
Ty:
I'll try your algorithms later or tomorrow and post scope readings of the resulting HV. Also I'll try to find out why my HV was so noisy. I think your scope should be more than sufficient to read the pulse-lenghts that we are dealing with here. About the cyclical wandering: That comes from the two neons, even though each of them already has a 470k resistor.

Everybody:
One more question (might be stupid): The dimming of the tubes affects a) the overall level of HV and b) the time the HV is connected to the tubes. Isn't that somehow a "double" dimming, since you lower HV AND on time? Could that be a reason that some tubes have problems at maximum dimming (=lowest brightness), since you try to ignite them with a very weak and very short HV pulse? Would it be feasible to keep HV always at the same level and only modulate the on time? My bad, it was the effect of disabling checkHV(). So no checkHV is not the best idea.

HV generators, most high efficiency designs rely on fly-back converters. Here are the ones I found so far:
Vin 2.5 - 15V, Vout 170V, Iout_max 30 mA Click me
Vin 4.5 - 7.5V, Vout 170V, Iout_max 20 mA) Click me
Vin 3.0 - 12V, Vout 160-175V, Iout_max 20 mA) Click me
Last edit: 1 year 4 months ago by Phil_Mod3. Reason: stupidity

Please Log in or Create an account to join the conversation.

More
1 year 4 months ago #9856 by Ty_Eeberfest
Phil, yes I was about to comment about HV not actually being changed when dimmed but I see you already caught it.

My "solution" of commenting out checkHV was based on visually observing my tubes on my board and it seems it is not really a solution that works for other cases. After all this scope work I'm back to having checkHV called on every iteration through loop() with the tweaks noted above.

I'd say my attempt at an algorithm is still a work in progress. Specifically, "diffValue * 2" is not necessarily ideal: I'm finding the regulation is not real smooth when fully dimmed (my minimum dim is set at 200). Right now I'm running "diffValue * 1.5" and it's a lot better all across the dimming range.

Look into it later when the dust is clearing off the crater.

Please Log in or Create an account to join the conversation.

More
1 year 4 months ago #9863 by MikeS
What size HV cap do you guys have? I think Ian said he's shipped anywhere from 1 to 10 uF. I replaced the 1 uF which came with my kit with a 10 uF one with a good ripple current, and it helped a lot with flicker.

Please Log in or Create an account to join the conversation.

More
1 year 4 months ago #9866 by Ian
I ship a 2.2uF with a fairly good ESR. For my own use I use 10uF, but they are bulky. I used to ship 1uF, and they worked fine, but seemed a bit too small.

The footprint on the board is one of my own designs and will accept just about anything. There are the 3 main radial spacings in the one footprint.

Please Log in or Create an account to join the conversation.

Moderators: AccutronTy_EeberfestIan
Time to create page: 0.187 seconds

Search

Tube Suppliers

Go to top
JSN Boot template designed by JoomlaShine.com