• WARNING: Tube/Valve amplifiers use potentially LETHAL HIGH VOLTAGES.
    Building, troubleshooting and testing of these amplifiers should only be
    performed by someone who is thoroughly familiar with
    the safety precautions around high voltages.

Filament CCS for DHTs with automatic adjustment

I'm working with this project for about 2 years and finally it's working without any compromise:smash:

Here's some pictures and test results.

I'll talk about it in detail if anyone has further interest.

微信图片_20231204160352.jpg

There's two PCBs in one set. One provides power for OPAMPs, measures the voltage and current, then sets the current. The other one has a voltage regulator and a controlled CCS.


300B-98.jpg

This is the starting voltage curve when powering an 300B-98

NOISE.jpg

Here's the noise when fully stabled. A 200KHz LPF is applied with Math functions of my osciliscope.
With Cosmos ADC, the measured noise goes lower to about 50μVrms.
微信图片_20231204161837.jpg
 

Attachments

  • 微信图片_20231204161842.jpg
    微信图片_20231204161842.jpg
    12.6 KB · Views: 85
  • Like
Reactions: zenzen and pl802
The total size of the case is 140*63.5*40mm.
They're designed to be stacked together.
The control board is on the top while the power board is placed at the bottom, with an aluminum case as a shield.
20231204195507.jpg


I'm using Pin Headers to connect the control board and the power board. Here's a picture without the case between the two PCBs. The headers are located near the center of the PCB so they're hard to see.

20231204200221.jpg

This is the bottom side of the control board. You can clearly see the connectors between boards here. And the main ADC is placed at the bottom side of the PCB.

Actually there's 3 PCBs in the first picture. The upper one is power board with control module covered, so I put another power board showing the internal structure of the power board itself.
 
  • Like
Reactions: zenzen and pl802
Actually the primary target of this module is not DIYer, but for the consumers of conventional tube amplifiers, and for those who realy enjoy replacing tubes.

The filament temperature and the temperature coefficiency of the conductor will form a positive feedback on the filament voltage. Thus a little change in the current will lead to a much bigger change in the voltage. Inaccurate filament voltage will reduce the life span of the tubes, or even blow them up immediately. The current of typical 300Bs can vary from 1.2A to 1.4A, not to mention those enlarged ones such as 300B-XLS, which need up to 2Amps to reach 5Volts. So the CCS filament needs to be adjusted once replacing tubes with a lot of patience. And the applying of plate current will also break the thermal balance of the filament. Adjust the filament current with High Voltage on, that dangerous. But we have to if we want an accurate filament voltage to maximize the life span of the tube.
 
Previously there're two kinds of filament ccs modules provided for DIYers. One's from Rod Coleman, and the other is from Tentlabs.

I'm not satisfied with the temperature drift of Rod's version, which use the Vbe of a BJT as voltage reference, and it needs carefully adjustment since it just sets the current. The sound performance of the version from Tentlabs is not as good as Rod's one. I'd like to combine the advantages while eliminate the disadvantages of the two versions.

So I use high performance OPAMPs and shunt resistors providing low temperature drift, as well as high CCS impedance and fast settling.
High resolution ADC is used to provide high DC accuracy. The MCU makes the adjustment circuit to be 'detachable'. It means during steady working state, the current settings could be fully constant, which will greatly reduce the influence of the automatic adjustment circuit. And the MCU also makes it highly configurable. A module for 845/211/805 can be easily changed to work with 2A3.
 
Last edited:
I'm not satisfied with the temperature drift of Rod's version
The V9 version of my regulator if fully temperature-compensated, and does not suffer from temperature drift. It can be verified by the large number of constructors here on diyAudio using them for DHT heating.

I suppose you must have tried out an old version of my regulator.

there is no need for complicated feedback circuits to achieve stable DC performance.


The sound performance of the version from Tentlabs is not as good as Rod's one.
Yes, I have heard the same thing from others who have compared. Use of op-amps in the current-loop is one problem; another problem: it is not possible to add a voltage feedback loop to the current regulator without audible effects.
 
  • Like
Reactions: analog_sa
Really cool design. I just finished an amp using Rod's filament supplies. They seem to work REALLY well! The amp is dead quiet. Mine is much lower power than a 300B so it doesn't get hot, even after hours of listening. I built an aluminum plate/heatsink sandwich to mount the boards on and its way more than I need for the 201a tubes. But, self adjustment...
 
The V9 version of my regulator if fully temperature-compensated, and does not suffer from temperature drift. It can be verified by the large number of constructors here on diyAudio using them for DHT heating.

I suppose you must have tried out an old version of my regulator.

there is no need for complicated feedback circuits to achieve stable DC performance.



Yes, I have heard the same thing from others who have compared. Use of op-amps in the current-loop is one problem; another problem: it is not possible to add a voltage feedback loop to the current regulator without audible effects.
My friend has bought a pair of V9 version from you, and I've got a copy of the circuit when testing them together with other versions. It's still using Vbe of a BJT as voltage reference and compensated by NTCs.
I say I'm not satisfied with this because the NTC can't match with the drift of BJT throughout temperature range.

A lot of high accuracy components were used in my design to achieve an initial voltage error below ±2mV at 5 Volts without any calibration. I wrote calibration section in my program, but it hasn't been used because the initial accuracy is high enough.

The filament voltage went into a 2M:1M divider first, with 0.1% accuracy and 10ppm/℃ TC. Then the divided voltage went into a OPA2192 to be buffered for next stage. A Vishay DFNA5-1T5 (2 * 2Kohms and 2 * 10Kohms) resistor network is used to further divide the voltage to fit the ADC input range.
And the ADC is AD7124-8 from Analog Device, with 24bits of resolution and an external reference input using MAX6071. The ADC has an ENOB of about 23bits at the filter value I'm using now.

As for the CCS circuit, the SOIC OPAMP is a low drift and extremely fast one. Providing a gain of 10 to reduce the voltage drop on the shunt resistor down to about 50mV. Although with a voltage control loop, the current control loop doesn't need to be very accurate. Fast and quiet is what we need at first.

The D/A section that sets the current for the CCS is also important. I've used a 16bit DAC in the previous versions, but changed into a multi-phase interleaved PWM which can make it a higher linearity and lower cost, with components much easier to buy.


Trying to avoid audible effects is the reason why I put a MCU in the voltage control loop.
When signal current go through the filament, a change in the filament voltage will occur due to the filament resistance from one side to another. I've noticed it as the result of cutting off signal path from filament power. That's why CCS filament sounds better comparing with voltage regulators.
In order to minimize the influence of adjustment, we need to measure the actual DC voltage of the filament.
An ADC working with micro controllers can do this perfectly. With intergrited filters of the ADC, other filter solutions written into the MCU. It's possible to create a voltage control loop with totoally no response in audio bandwidth.
The results are easy to be measured. Applying an AC voltage across the filament using a signal source and take a look at the current settings from the Serial Port. If the current setting hasn't been changed with AC voltage applied, then I could say there's no direct influence from the voltage control loop.
I've run a brief test and it shows no change in the current as the AC voltage applied. I'm building some testing PCBs to test it further down to about 5Hz later.

I didn't look into details on the Tentlab's version. I just remember there're so many OPAMPs such as LM358 at the bottom of the module. It seems that they're using just the analog circuit to build current source and provide automatic adjustment. The counter-modulation effect seems to be unavoidable , because it's hard to filter out signals from DC voltage with only analog circuits.

Affects from other sources could also exist, such as digital feedthrough from D/A section, EMI from MCU and DCDCs, etc. The control voltage that sets the current is carefully filtered, and the aluminum case is used to avoid possible EMI issues. And the control circuit is using a totally independent power supply.

No peak appears on the FFT up to 100MHz according to my osciliscope.

Here's the aluminum case without PCB installed. There's three parts providing shield and separation between control module and power module.
20231205085232.jpg
 
Last edited:
Koito Yuu
This is a very nice build showing a very high degree of skill, congratulations on its successful completion.
I personally go through cycles of complexity versus simplicity, both schools of thought seem to have merit.
I have pre WW2 tube equipment that is still working fine, and would like to leave some working tube equipment to my descendants, I fear the program memory in my hi tech builds will develop alzheimer's and the otherwise perfect hardware will fail to run.
Once again outstanding work.
Ken K
 
  • Like
Reactions: OldHector
I build this to be used in my own amplifier designs, but since the total BOM cost is really high, I have no idea whether the design could be commercialized or not. I mean both the CCS module and the amplifier. I'll be really happy if it can be used in any commercial products.
And there's no access for me to sell the module overseas, so the post is just for discussion.
Maybe I'll post a simplified version later on Github. But just wait until I finish the ampilfier with this module. :spin:
The open source version will be dramaticly simplified because someone will just copy it and sell it online in my country.
 
Last edited:
Koito Yuu
This is a very nice build showing a very high degree of skill, congratulations on its successful completion.
I personally go through cycles of complexity versus simplicity, both schools of thought seem to have merit.
I have pre WW2 tube equipment that is still working fine, and would like to leave some working tube equipment to my descendants, I fear the program memory in my hi tech builds will develop alzheimer's and the otherwise perfect hardware will fail to run.
Once again outstanding work.
Ken K
That's a proper worry. Since new ICs usually have ultra small footprint and leadless design, the SMT assembly is not as reliable as traditional through hole components. The lifespan of MLCC is also difficult to estimate. The data retention of flash memory is limited. I have to say the module is impossible to work longer than LM317.
I'm running the module for days, changing temperature while operating to make sure it will not fail in a short time. But it still need to be replaced or carefully checked maybe every 10 years, or at least re-write the Flash.
 
My friend has bought a pair of V9 version from you, and I've got a copy of the circuit when testing them together with other versions. It's still using Vbe of a BJT as voltage reference and compensated by NTCs.
I say I'm not satisfied with this because the NTC can't match with the drift of BJT throughout temperature range.
When the RC-V9 has been set up according to the instructions, the DC stability is typically 1% for long term listening. This is good enough to get the longest lifetime from the filaments of DHTs.

My filament regulators have the advantage that they have been used widely for 14 years, and the sound quality and well as the reliability are well known. There are now long-term records that show how the DHTs last, when used with them.

For example, Kevin Kennedy is a well-respected member here on diyAudio who has built commercial and DIY amplifiers with DHTs for many years, and he has used the Coleman regulators for filament heating since they were first available. So when Kevin says that JJ 300Bs can run for 10000 hours we have a useful confirmation of the suitability of these regulators for long lifetime applications.

A lot of high accuracy components were used in my design to achieve an initial voltage error below ±2mV at 5 Volts without any calibration.
Attempting to regulate filaments to mV levels of accuracy will not improve lifetime of the DHTs.
Filament voltage is only a proxy for the real parameter that affects filament lifetime.
The real parameter to be controlled is the filament temperature.

Even if the relationship between the filament temperature and its proxy (Vh) was reliable and consistent, the difference between 1% and 0.1% accuracy would not make much difference.... but this relationship is is not even consistent. Not between manufacturers, types, and production era of the valves.

In the 1930s - 1960s, the optimal heating temperature was at a voltage below the nominal data sheet value.
This was necessary in the days when regulated DC heating was neither economical, nor practical. Meanwhile, AC supply voltages inside equipment might be -7% or even -10% below the nominal voltage; if the optimal temperature was at nominal voltage, the oxide coating may cease emission at such lower voltages. So the coating temperature for these designs is too hot, at nominal voltage, in order to prevent equipment failures when the voltage falls.

The optimal temperature of many Thoriated Tungsten transmitting tubes remains at -5% of nominal Vh for exactly the same reason (see the EIMAC application brief from year 2010 - I have posted this many times already); operating these filaments at 100% of nominal Vh can reduce the lifetime by half, or even more.

NOS examples of DHTs may well benefit from the application this knowledge.

OTOH, consider the recent production DHTs made by companies in Europe, based on the pioneering work of Alesa Vaic. This production all use the nominal voltage as the proxy for optimal temperature. (So these tubes are not well suited for use with AC heat, or DC unregulated heat, because the supply tolerance is still worse than ±5%). For example I know that the JJ 300B has a very short runtime if it is operated at -6% of nominal, as I have tried it.

Now let us think about the simplest problem:
Consider a 300B with a 5.0V filament. As you know the current flow at 5.0V will be different between samples of the same type. Some may draw 1.2A, some 1.3A or even higher at 5.0V. Is the filament coating at the same temperature, when such different levels of power are supplied to the filament? Naturally, this is impossible - Completely impossible!

If we could implement a method of directly measuring the filament temperature, that would be a real advance, and might give extra lifetime - especially for NOS DHTs, where the filament voltage should realy be set at -5% (or some other value... it most cases the optimal voltage can only be determined by measuring the filament temperature)

So, for these reasons, your criticism of my regulator is unjust.

Making an ultra-high precision controller for a parameter that imprecisely affects the valve's operation only raises the cost of the module, without real benefit.

So KoitoYuu, I do respect the implementation of regulator you have made. But I do not believe that the extreme accuracy of the DC control will be of real use. For the objective of precision and accuracy that you have aimed at, perhaps you could consider the possibility of accurate noncontact sensing of the filament temperature. That would really improve lifetime, for the cases I have mentioned, and would certainly justify a high price!
 
  • Like
Reactions: tubetvr and CFT
Thanks for your post Rod. And thanks for your idea that inspire me to develop the module.

Actually the project was started from just measure the voltage and current of the tube with a single INA226, and show the value on a LCD.
Then I tried to replace the INA226 with INA228. Because I want to use differential input of the ADC to provide higher CMRR when measuring the filament voltage, and the differential input of INA226 has a high input bias.
The accuracy is just a gift when I'm seeking a substitute for INA228. The AD7124-8 is almost the same price as INA228 at that time, and it's easiser for me to buy.
Other circuits and components were selected to meet with AD7124-8 later then.
The automatic adjustment function was determined when I notice the cathode current will influence the filament voltage in some extent. And the proper current for one tube shows less than 4.5Volts on another tube from a different brand. The difference is obvious between tubes from Chinese manufactures and other manufactures.
2% of current error results in a ~5% voltage error according to my own test. That's unacceptable for me. And I've tried the NTC compensation that's used in your version, but it shows to be imperfect compensated when adjust the current away from the center value. But such test was based on the V8 and previous versions. I have no idea about this on your V9 version.

A long time is needed to verify the stability. I know it, and I'll do this in the following years.

The simplified version will have only a single INA226. With the top side of the filament tied to a voltage regulator, I only need to measure the lower side of the filament to get the voltage across it.

I think the reason why different 300Bs show different filament current is mainly caused by the dimensions of the wire. Higher dimension results in higher current while maintaining the same cathode temperature. I know the cathode temperature is the key, but we have no access to measure it directly. So I turn to the voltage provided by the manufactures, and try to maintain high accuracy.
I don't think it possible to cast a noncontact temperature sensing, since the material of the wire could be different and has different temperature coefficiency. But I'll record the filament resistance and try to find out whether there's any certain relationships. I'll work on it with my friend later.

Actually the accuracy of the A/D section will not be strictly followed when calculating the output current and set it. The PID adjustment will be totally shut down when the voltage is within ±30mV range from the setting point in my current program.
 
There is an interesting article from John Harper: A Study of Different Filament Supply Regimes
http://www.john-a-harper.com/FilamentHeating/index.html

I usually use 60-90 years old DH -mostly thoriated tungsten filament- tubes.

I usually test "incoming" -newly acquired- DH tube at nominal -fixed- filament current, then measure filament voltage on pins (after 1 minute stabilization, after 10-15 minutes reading).
If it not far (below 6-8%) from datasheet data, this tube can be used immediately (after a little regeneration).
If it still wandering (mostly upside) after 10 minutes, burn-in period starting: constant -datasheet- filament voltage for one day.
If the filament survived and at nominal current the voltage is stable (within 10%), the tube usable, real voltage and current value gm measuring possible.
If still wandering or voltage is too far from nominal it will be test tube.

For me "perfectly" accurated filament PSU parameters are not so important, because these ancient tubes TT filament wire keeps getting thinner, so filament voltage will rise. The slow current ramp-up is much more important, because TT filament -sooner or later- will run out (Miller-Larson effect), slowly warmed up filament tolerate it better.