A place and page to document various uTracer related ideas and experiments.
Ronald Dekker

  1. USB interface with the TTL-232R-5V cable from FDTI
  2. Back to uTracer home page
  3. Boost the speed of your uTracer (a bit)
  4. An idea for a bipolar grid supply
  5. A Buck Converter heater supply I
  6. A Buck Converter heater supply II
  7. An uTracer Android App!
  8. Tweaking the uTracer for low voltages and low currents

1. USB interface with the TTL-232R-5V cable from FDTI

Already from the beginning of the uTracer project, people have objected to the - in the meantime - obsolete RS232 interface. Undoubtedly they have a point, but RS232 is still a very well supported standard, and with a wide choice of RS232-2-USB converters on the market, it is still a very simple and easy interface for all kind of “simple” microcontroller based projects. Nevertheless, it does seem rather superfluous to implement the full RS232 standard including the positive and negative logic levels; conversion from USB to serial using only TTL logic levels also suffices.

Figure 1.1 Both ends of the TTL-232-5V cable (left), the same cable connected to the uTracer board (right).

The company FDTI (Future Devices Technology International) produces a host of chips that convert the USB protocol to a serial format. However, these chips often use a 3V3 power supply and logic levels. Moreover, they all come in rather difficult to use SMD packages. I experimented a bit with them in the uTracer 4 project, but didn’t find them really easy to use because of afore mentioned reasons. However, recently I bumped into the TTL-232R-5V, a USB to TTL conversion cable made by FDTI that is really easy to use because it does not involve any SMD soldering, and directly interfaces with standard 5 V TTL levels. The cable has on one end a USB connecter which contains the conversion electronics, and on the other end a 6 pin Single in Line (SIL) female connector. By the way, in the same series cables are available that interface to 3V3 logic levels and that have different connectors including a 3 mm Audio Jack. The cable is available from Mouser (part no. 895-TTL-232R-5V) as well as from Farnell (part no. 2419945) and costs about 15 to 20 Euro.

Figure 1.2 Connection of the FDTI cable to the uTracer

It appeared that with some very minor modifications it is possible to directly connect the TTL-232-5V cable to the existing uTracer board. In this way the MAX232, as well as the five 1 uF capacitors can be eliminated. In the first tests with the cable, two problems were encountered. The first problem was that when the cable is directly connected to the processor while the uTracer is off and the cable is connected to a life USB port, the cable will power (a part of) the uTracer circuit causing the power LED to light up. What happens is that a high level on the serial input pin of the PIC will raise the potential on the Vcc bus through the ESD protection diodes in the PIC. To prevent damage to the USB cable a 1k8 series resistor in the receive path was included to limit the current drain on the output of the cable. The second problem that was encountered was that when the cable was not connected to the uTracer board, the floating serial input pin of the PIC caused erratic behavior of the PIC, sometimes resulting in an uncontrolled runaway of the boost converters! The same situation also occurred with the cable connected to the board, but with the USB plug not inserted in the PC. A simple 18k pull-up resistor to Vcc ensures a well-defined potential in the serial input of the PIC and eliminated the problem. The circuit diagram of the connection to the PIC is shown in Fig. 1.2.

Figure 1.3 Modifications to the uTracer board

The physical implementation of the connection is very simple and elegant. I used a 6 pin male SIL connector from which the not used pins were removed. I always insert these pins in the not used holes of the female part and clip them flush with the edge of the connector. In this way it becomes impossible to insert the connector in the wrong way. The connector was placed on the PCB in the holes intended for the MAX232 in the way shown in Fig. 1.3. On the backside of the PCB a solder bridge connection and two resistors connect the cable connector to the PIC (see Fig. 1.2 and 1.3).

Installing the TTL-232-5V cable was very straight forward. In Windows 7 (as well as 8), when the computer is connected to the internet, it suffices to insert the cable into an USB port after which Windows will automatically download and install the required driver and assigns a COM port to the USB cable. The COM port number used can be found by going to: start > Control Panel > System and Security > Device Manager or Go to Start Menu Search or Run window and type: devmgmt.msc, then expand tab Ports (Com & LPT1). For windows XP it may be necessary to install the drivers manually. Directions for installing the necessary drivers can be found here.
to top of page back to the uTracer homepage

2. Boost the speed of your uTracer (a bit).

Being under the assumption that most tube lovers are not in a great hurry - the heating and stabilization of a heater takes a minute or so anyway - the circuit of the uTracer has been kept as simple and cheap as possible at the expense of some speed. Having said that, it is always nice to squeeze as much speed out of the circuit as is possible!

Working on another not unrelated project (more on that one another time), the measurement time had become irritatingly long. The measurement time is mainly determined by three factors: the charging time of the reservoir capacitors, the discharging of the capacitors after measurement of a curve, and the communication of the uTracer with the PC. In this particular case the boost converter had to charge a much larger capacitor which resulted in a significantly longer measurement time. Consequently I started looking for a way to “boost the boost converter.”

The power the boost converters can deliver depends on the energy stored in the inductor per cycle, and the number of cycles per second. Assuming that the latter is constant (determined by the firmware), the only solution is to increase the energy stored in the inductor. The energy in turn is proportional by the inductance and the square of the peak current. Unfortunately we cannot increase the peak current in a practical inductor beyond the value where the inductor saturates, or in other words where the core material is magnetized to such an extent that the inductance collapses. This saturation current decreases for increasing inductance so that we have to find an optimum inductance for a given inductor construction (read inductor volume). For the 330 uH inductor used in the uTracer3 the saturation current is about 1 A.

Figure 2.1 Increasing the power of the boost converter by connecting two identical inductors in parallel.

I had already ordered a much larger inductor with a higher saturation current and alas also a much larger foot print when it occurred to me that there is a much more elegant way that is directly compatible with the existing uTracer3 PCB. The idea is to simply connect two inductors in parallel whereby the second inductors is mounted on the backside of the board! Figure 2.1 shows the math. By placing the two 330 uH inductors in parallel the inductance halves, but the peak current doubles and since the power is proportional the square of the peak current, the net result is that the energy stored doubles.

Figure 2.2 Placement of the additional inductors on the backside of the board.

The inductor used is a DR127-331-R from Coiltronics. It is available from Mouser (part no: 704-DR127-331-R), from Farnell (part no: 2075610) or Digikey (part no: 513-1048-2-ND). Figure 2.2 shows how the extra inductors are placed on the backside of the board. This requires a bit of fiddling. In close proximity of the solder pads of the inductors there are a number of other solder points, and it requires some skill to position the backside inductors and solder them. If needed a small spacer in the form of a piece of wire can be helpful to create some distance between the board and the inductor.

Figure 2.3 Left, measurement used to test the speed increase of the uTracer with the extra inductors; Right, one of the bare uTracer test boards I use to test new circuit and software ideas.

How much speed do we gain? That depends a bit on the type of measurement and the voltage range. The boost converters have to work hardest when the anode and screen voltages are high, so that is where we can expect the gain in performance. Figure 2.2 shows a kind of standard measurement that I used as a bench mark test. With a single inductor the measurement took 2’25”, with the extra inductor this reduced to 1’50”. Not exactly half the time, but still a noticeable improvement, and it may be a good idea to add two of these tiny inductors to the bill of materials the next time you order components from your favorite vendor.

Before people start mailing me, adding a third inductor didn’t bring any substantial improvement. There can be a number of reasons for this: the gate drive of the MOSFETs is too low to carry the additional current, the currents do not distribute evenly over the inductors etc. I didn’t bother to dive any deeper into it.


If you are performing a measurement whereby either the anode current or the screen current is very low, the firmware in the uTracer will automatically increase the number of averages to reduce the noise in the measurement. However, in some cases that is not necessary. If you are for instance measuring a pentode then the screen current will become very low for higher anode voltages and the uTracer will increase the number of averages. However, if you are not interested in the screen current then this will only increase the measurement time! The same applies for a triode measurement whereby the screen terminal is left open! In both cases it is worthwhile to fix the measurement range to a value that is just high enough for the channel of interest, and maximum for the “don’t care” channel. In this case the number of averages will be reduced to the minimum. Setting both the anode and the screen range to 200 mA for the measurement of Fig. 2.3 for instance reduced the measurement time by a further 10-15 sec.
to top of page back to the uTracer homepage

3. An idea for a “bipolar” grid bias supply.

In most tube circuits the control grid voltage always remains negative and no grid current is drawn. Some people however apply a slightly positive grid bias to their tubes in order to squeeze a bit more power out of them. Some tubes like the 801A and the TZ-40 are even designed and specified for positive grid biases. Also in class B and C RF circuits, the grid frequently becomes positive. Many people have asked me therefor for a grid bias supply that can be adjusted from a negative value to a positive value. Typically for these tubes the grid voltages (both positive and negative range) are higher than for normal tube circuits, while also the grid current for positive grid biases is of interest since these tubes have to be driven by low impedance driver circuits.

Already from the early days of the uTracer 1 I have been playing with the idea to also use a boost converter for the grid bias supply. The idea however somehow never really fitted in the total scheme, mainly I think because I never believed that with a boost converter it would be possible to set the output voltage with such accuracy as is required for e.g. an ECC83 (12AX7), and because I never considered the need for positive grid voltages. A breakthrough in thinking happened when I realized that not all requirements have to be realized in a single supply, but that it is perfectly possible to use two grid bias supplies next to each other, one for precise voltages say in the range of 0 to -25V, and one with a much larger range say from -100 V to 100 V. The first one can be realized with a single inverting low-pass filter connected to the PWM output of the PIC more or less similar to the circuit in the uTracer 3, while for the other I have a very simple and elegant circuit idea in mind.

Figure 3.1 The circuit concept of the “bipolar” grid supply.

The concept of the circuit is shown in Fig. 3.1. Heart of the circuit is the bipolar electrolytic capacitor C1. Unlike normal electrolytic capacitors a bipolar type doesn’t have a polarity and can be charged to positive, as well as negative voltages. Since both the anode, as well as the cathode dielectrics in these capacitors have the same thickness, these bipolar capacitors have a much lower capacitance density as compared to normal capacitors. Usually these bipolar capacitors are only made for smaller capacitances and voltages, but Nichicon makes a very nice bipolar capacitor with a capacitance of 100 uF and a voltage rating of 100 V. To the left of C1 in Fig. 3.1 we find two boost converters, a normal positive step-up converter consisting of L1, T3, D1 and D2, and an inverting boost converter consisting of L2, T1, D3 and D4. Similarly to the boost converters in the uTracer 3 also these two boost converters are controlled by the micro-controller. The operation is very simple, when the micro-controller pulses the positive boost converter, positive charge packages are delivered into C1 making the capacitor voltage more positive. Pulsing the inverting boost converter delivers packages with negative charge to C1, making the capacitor voltage more negative. In such a way any positive or negative voltage limited by the maximum voltage rating of C1 can be set.

The purpose of zener diodes D2 and D4 needs some explanation. Normally when the output voltage of the positive boost converter would become lower than the supply voltage, blocking diode D1 would open preventing the output voltage from becoming lower than the supply voltage. Similarly, in the inverting boost converter blocking diode D3 would open for any positive output voltage preventing the output from becoming positive. By inserting a zener diode with a blocking voltage larger than the maximum output voltage this never happens, and can this circuit configuration be used to generate both positive as well as negative voltages. This obviously implies that the boost converters now first have to overcome the standoff voltage of the zener diodes before they can charge or discharge C1. Would this be a real power converter circuit it would have been a deadly sin to throw away so much power, however in this case the boost converters have margin enough, and a high efficiency is not relevant at all.

The way the voltage and the current are measured is only outlined in Fig. 3.1 in a schematic way. Negative grid biases do not cause a grid current so they don’t need to be measured. Positive grid biases will result in a grid current which causes a negative voltage drop over current sense resistor R5. We would like to have this voltage drop small compared to maximum output voltage range so say 1 V max. This means that a -5x amplification is required to connect to the ADC in the PIC. Perhaps by using a low off-set Op Amp like the OPA277 even a smaller voltage drop can be used. Measuring the output voltage is a bit trickier since it can be positive as well as negative. There are a number of ways to measure positive and negative voltages. I have chosen to use a precision full-wave rectifier to negate the negative voltages in combination with a simple comparator which gives the sign of the voltage.

The output stage is split into two parts. Negative bias voltages are directly applied to the grid via D6. Positive grid biases need to be pulsed since they might cause excessive grid dissipation. Here I imagine a similar switch circuit as used in the anode and screen supplies of the uTracer. D5 and D7 isolate the switch when the grid output is negative. The GIU obviously has to take the voltage drops in the current sense resistor and the output section into account in setting the capacitor voltage.

Bread board testing of the double-boost converter concept

The Easter weekend 2015 was an ideal moment to test the double-boost converter concept to see how it would hold in real life! A simple circuit was designed that pulses the positive boost converter until the maximum voltage (ca. 100V) is reached. Next the inverting boost converter is pulsed until the maximum negative voltage (ca. -100V) is reached after which the whole cycle repeats.

Figure 3.2 Bipolar grid-supply test circuit.

With the aid of two simple HEF CMOS logic building bricks the whole test circuit was realized without the need for a micro-controller. Heart of the circuit is the oscillator circuit around N1. This circuit produces an asymmetrical square wave with a pulse width of 20 us and a repetition frequency of 10 kHz, imitating the pulses produced by the PIC. These pulses are buffered by the HEF40106 inverters and used to drive either the positive boost converter or the inverting boost converter depending on the polarity of the output signal of Op-Amp A1. Op-Amp A1 is used as a Schmitt trigger which switches over at voltages below -2.5 or above 2.5 V (depending on R3 and R4). The output voltage of the boost converters is divided by R1 and R2 so that when the output is approximately 100 V (-100 V) the negative input of A1 is 2.5 V (-2.5 V). When the output voltage of the boost converters exceeds 2.5 V, the output of the Op-Amp becomes negative. The pulses are now directed by N3, N8, N9, N10 to the inverting boost converter so that the output voltage will decrease. When the output voltage drops below -2.5 V the positive boost converter is switched on and the cycle repeats.

Figure 3.3 Output of the bipolar grid-supply test circuit, using a 20 us boost converter pulse (left), and a 10 us pulse (right).

The whole circuit works like a dream! Fig. 3.3 left shows a trace on my memory scope of the output voltage. The output voltage swings between -100 V and 100 V and back in approximately 3 sec. The positive boost converter seems slightly more efficient than the inverting boost converter. The boost converter firmware uses two pulse length. The standard 20 us for fast charging, and a 8-10 us pulse for slow charging that is used to accurately set the output voltage. The 10 us pulse is simulated by adding a second 12k resistor in parallel to R6. Fig. 3.3 right shows the charge-discharge cycle for the 10 us pulse length. In this case the complete cycle takes about 8 seconds.

Figure 3.4 Drain voltage of T1 (Fig. 3.2) with zoom in on the actual pulse (right).

The PMOS MOSFET FQP3P50 became quite warm during operation of the test circuit. This is due to losses in the MOSFET. The FQP3P50 has an on-resistance of 4.9 Ohm. During a boost pulse the peak current in the inductor rises to V*t/L = (20*20 us)/330 uH = 1.2 A. This causes a maximum voltage drop of approximately 5 V. Figure 3.4 shows the drain voltage of T2. The voltage drop over the MOSFET is clearly visible; note how during the boost pulse (a) the voltage decreases from 20 V to 15 V (right photo). Note also the deeply negative “discharge” pulse (b) after the boost converter pulse (left photo). It is this pulse which opens the zener diode and discharges C2. After the inductor has dumped its “charge” into the storage capacitor, the current through the inductor has become zero, however, the voltage is at that moment still the output voltage plus the zener voltage! This energy is now stored in all the capacitances of the circuit, e.g. the drain-source capacitance of the MOSFET. This energy has no way to go: the transistor is off and the diode is not conducting. As a result the energy will oscillate between the inductor and the capacitances in the circuit until it is dissipated by Ohmic losses in the circuit (c). Back to the voltage drop over the MOSFET during the boost converter pulse, the voltage drop can be reduced by selecting a MOSFET with a lower on resistance. That is not so easy. There are plenty affordable transistors with a breakdown voltage of -200 V and an on resistance of approximately 1 ohm (IRFR9220, IRF9630 or FQD5P20), but unfortunately -200 V is a bit on the low side. A compromise is the IRFR9214PBF with an on resistance of 3 ohm and a breakdown voltage of -250 V. At any rate the problem will not be all together that serious since the MOSFET will be driven with 10 us pulses most of the time anyway.

Figure 3.5 Easter 2015, the bipolar grid supply test circuit on breadboard.

Firmware implementation

Next thing is how to deal with this idea in the firmware. First thing is to sort out a way to represent the grid voltage in a convenient way. Using the circuit concept of Fig. 3.1 the reading from the ADC will be symmetrical around zero volts, and there will be an additional bit to indicate the polarity. The great advantage of this scheme is that there is no need for a (manual) zero calibration while still the unipolar ADC on the PIC can be used. The trick is to convert the data to a number that is compatible with the boost converter control routines. The best method seems to be to convert the 10 bit ADC data and the 1 bit sign information into an 11 bit number where 000 0000 0000 represent – 100 V, 100 0000 000 represents 0 V, and 111 1111 1111 is mapped to 100 V (Fig. 3.6 left). Note that here only the most significant byte is shown.

Figure 3.6 Converting the ADC output and sign bit into a useful representation.

Fig. 3.6 (right) also shows a simple algorithm to convert the measured data into the desired format. When the voltage is positive, only 0000 0100 is added to the most significant byte of the ADC output and the least significant byte is left untouched. When the voltage is negative the ADC output is inverted. Inverting a bit in assembler can be done by performing a Boolean .EXOR. operation with 1. Note that performing an .EXOR. operation with 0 leaves the bit unchanged. So to invert the lower byte an .EXOR. operation with 1111 1111 is performed while the lower two bits in the most significant byte are inverted by doing and .EXOR. operation with 0000 0011.

The next step is to fit the bipolar grid supply idea in the existing boost converter control firmware (weblog 1, weblog 2). The basic algorithm is very simple: when the output voltage is lower than the set point then pulse the positive boost converter, and when the output voltage is higher than the set point the inverting boost converter is pulsed! In this way the output voltage will stabilize itself around the set point. Since two pulse outputs are needed, they need to be controlled by two “mask bits”. The algoritm can now simply be implemented in the boost converter control routine: when Vout < Vset, set the mask bit for the positive boost converter; and when Vout > Vset, set the mask bit for the inverting boost converter.

A little bit trickier was to find a way to decide whether the desired set point value has been reached. The method that I will probably implement is to look at a change in charging polarity: if in the previous cycle the positive boost converter was pulsed while in the present cycle the inverting boost converter is pulsed it means that the set point has been crossed and vice versa. The fragment of pseudo code to the left illustrates how such an algorithm can be implemented. It assumed that at the moment when a new set point value is loaded, the boost converter is disabled and that both the charge and discharge mask-bits have been cleared. The routine samples the data and establishes if the measured voltage is higher or lower than the set point. If, e.g. it is higher, the discharge mask-bit will need to be set, but the routine first checks if the charge mask-bit was already set. If so, the output ok flag is set, followed by an update of the mask-bits. All pretty straightforward and transparent

The full-wave rectifier

I was always under the assumption that full wave rectifiers were quite complex 3 or 4 OpAmp circuits, so I was pleasantly surprised to find a simple two OpAmp circuit well described in an application note from Texas Instruments. The circuit was tested on breadboard to get some feeling for its behavior and to measure the offset with different OpAmps.

Figure 3.7 The full-wave rectifier circuit.

The full-wave rectifier circuit used in the tests is shown in Fig. 3.7a. The working of the circuit is quite simple. Assume that the input voltage is positive and that the output is initially zero (Fig. 3.7b). Diode D5 will now block while D6 conducts. The input of A4 does not draw any current, so the voltage on the inverting input of A3 will be equal to the output voltage of A4. The feedback loop will now adjust so that the output of A4 equals the non-inverting input of A3. Next assume that the input voltage is negative and the output initially zero (Fig. 3.7c). In this situation D5 will conduct while D6 will block. A3 now simply reduces to a buffer stage while A4 is switched as am inverting amplifier with gain A = -(R2/R1). So R2 and R1 need to be precision resistors with equal value.

Figure 3.8 Full-wave rectifier test results.

Two OpAmps were tested. The first was a MC34072, a general purpose dual OpAmp I use for all kind of non-critical things basically because I have a bag full of them, the other a precision OP200. With a simple resistor divider between ground and alternatingly +/- 15 V, three voltages, low, middle and high were made both positive and negative. The input and output voltages were recorded and the differences calculated. The MC34072 showed an offset voltage in the order of millivolts which increased for lower input voltages. The offsets for the OP200 where at least an order of magnitude smaller and tended to increase for increasing input voltages. A very good candidate that I have in mind for the complete power supply circuit is an OPA4277. This is a quad version of the OPA277 that performs very well in the uTracr3. If we compare the specs of the OPA4277 to the OP200 then the former wins on all points. The other two OpAmps in the quad package can then be used for the inverting amplifier (with a nice high gain to keep the voltage drop over the sense resistor as small as possible) and for the comparator. Although for this application the circuit is operated almost in DC mode, the AC behavior was quickly checked. Driven by a sine wave signal with a view volts amplitude the output signals looked very good “on view” for frequencies up to half a kilo Herz. For higher frequencies the distortion around the zero crossing point increased visibly.

As a concluding remark I would liketo add that this is just an idea. In its present form it cannot be added to the uTracer 3 mainly because in the uTracer 3 the cathode is not referenced to ground. Maybe it is a nice concept for a future uTracer version …?

Just a souvenir for myself of a beautiful stay in Lisbon May 2015. A panoramic view from Jardim de São Pedro de Alcântara - Jardim António Nobre.

to top of page back to the uTracer homepage

4. A Buck Converter heater supply

If there is one aspect of the uTracer 3 that raised a lot of discussion, it must be the heater supply. Originally the heater supply was just meant as a nice bonus. There was a PWM output on the PIC left and with a simple driver and a power MOSFET a simple heater supply could be implemented. However, when people started to use the heater supply for more serious low voltage / high current heaters, this simple scheme turned out to be inadequate. The very short PWM pulses in combination with inductances in the wiring reduced the effective heater power considerably. Experimenting with a real Buck Converter had been for a long time on my list of things to do when a friend at TI recommended me the TPS54336.

Figure 4.1 The TPS54336EVM-556 evaluation board and circuit diagram

The TPS54336 is a remarkable small step-down converter for that can deliver output voltages down to 0.8V at a continuous current of 3A. The inout voltage can be up to 28 V so that it can be directly fed from a 19.5 V laptop power supply. It comes with a whole load of useful features such an enable input, over current protection, high temperature shutdown etc. The only drawback for the amateur is that it comes in a small SO8 SMD package with a difficult to solder thermal pad.

The TPS54336 comes with a very nice evaluation board which makes it very easy to get started. The output voltage of the converter is set by two resistors (R7 and R8 in Fig. 4.1) that divide the output voltage down to 0.8 V, the reference voltage used in the output voltage control loop. The proper resistor values as a function of output voltage, or alternatively, the output voltage for given resistor values can be easily calculated using the equations in Fig. 4.3. The first thing I was curious to try was how the TPS54336 would perform driving an heavy EL34 heater, which has a cold resistance significantly lower than the resistance at the operating point. The evaluation board is factory set to 5 V (Fig. 4.1). By shunting R8 with a XXX resistor the output voltage was increased to 6.3V. Figure 4.2 shows the heater voltage during cold switch-on of an EL34. Within 5 ms the output voltage reached the set point value of 6.3 V! Even better, the IC remained absolutely cold. Even when driving a 2.2 Ohm power resistor (2.9 A @ 6.3 V), the IC didn’t show any significant temperature increase.

Figure 4.2 Right, first tests with the TPS54336 evaluation board. Left, switch-on behavior with a cold EL34 heater as load.

An adjustable step-down converter with the TPS54336

By replacing the fixed resistor R8 in Fig. 4.1 with a digital potentiometer, it is possible to make the output voltage adjustable by the micro-controller. For this I selected a potentiometer from the MCP41XXX series from Microchip. These potentiometers are cheap, readily available in both SMD and though-hole packages, and have a simple SPI interface. These potentiometer chips come in three resistance values: 10k, 50k and 100k.

As it happens this plan is less straight forward than it seems at first sight. The problem is related to the fact that the reference voltage is quite low, and secondly that we want to cover quite a large voltage range from say 1.5 to 12V. The output voltage is roughly proportional to R1/R2, so in order to set the output voltage to say 12 V, the ratio of R1/R2 (Fig. 4.3) becomes quite large: 14. This in turn means that R2 has to become quite low, and we enter a region where the output voltage change as a result of a resistance change becomes quite large (dVout/dR2 is high). Now unfortunately the digital potentiometer only has a resolution of 8 bits so that the minimum resistance step is limited to Rtot/256. This means that, whereas the resolution for low voltages is very fine, it becomes coarser at higher voltages. To get an idea: with R1 = 30k, and R2 a 50k potentiometer, the values around 12V are: n=9 Vout=13.5V; n=10 Vout=12.3; n=11 Vout=11.32. So in this simple scheme it is simply impossible to set the heater voltage exactly to 12V. Since 12 V heaters are very common I can imagine that most people would find the error at especially unacceptable.

Figure 4.3 Output voltage as a function of wiper position.

To make things even worse, digital potentiometers are not ideal components in the sense that the tolerance in the total potentiometer resistance can be quite high (a nom. 50k potentiometer can vary between 35k and 65k), and that they have a parasitic wiper resistance, which for the same potentiometer is typically 125 ohm but can be up to 175 ohm. It is clear that it is impossible to get an accurate 12 V output set-point only using a software calibration procedure. The solution that I implemented is therefore based on the following assumptions:

  1. The output voltage range is limited to 1.5-12V.
  2. In order to be have an accurate 12 V heater voltage, a manual calibration procedure with a trimmer resistor is used to calibrate the 12 V voltage.
  3. For heater voltages lower than 12V the resolution and accuracy rapidly increases, so that they can be set accurately enough.
  4. The tolerances in the digital potentiometer are taken into account.

      Figure 4.4 left, calculated relative error in the output voltage as a result of the finite resolution of the digital potentiometer. Right, the design strategy step-by-step.

      The following design strategy was used:

      1. First select a digital potential meter. As mentioned they come in three values: 10k, 50k and 100k. For reasons of noise it is best to keep impedances as low as possible. 10k seems a bit low, especially so because the wiper resistance will be a significant part of the total resistance, so 50k was selected.
      2. Next R1 (Fig. 4.3) is selected. This resistor sets the lowest output voltage when the resistance of R2 is maximum. According to the datasheet the resistance of the 50k potentiometer can vary between 35k and 65k. Also in case R2 is 35k a minimum output voltage of 1.5V needs to be set so that R1 = 35*(1.5-0.8)/0.8 = 30.6k. A standard value 30k is used (Fig. 4.4a).
      3. Next assume that the potentiometer is in the minimal resistance position: R=0. The output voltage now has to be exactly 12 V. To achieve this a resistor of R2 = 0.8*30/(12-0.8) = 2.143k has to be placed in series with the potentiometer (Fig. 4.4b). About 125 ohm of this resistor is the nominal wiper resistance which is always in series with the potentiometer (Fig. 4.4c)
      4. To compensate for the inevitable component tolerances, the 2.143kk fixed resistor is replaced by a trimmer potentiometer and a fixed resistor and we fiddle around with component values in such a way that the output voltage can be adjusted from 11 to 13 V.

      At this point we can calculate what the error for any given voltage will be in the final circuit. For every slider position the output voltage was calculated and stored in an array. Next the full output voltage range from 2 to 12 V was scanned in increments of 0.1 V and for every voltage the closest output voltage value in the array was determined. From that value the relative error was calculated and plotted (Fig. 4.4 Left). Note that the 12 V set point value is perfect (because we made it to be so) and that furthermore the maximum error is about 2.5% which quickly drops for lower output voltages.

      A Test Board

      To test the TPS54336 in combination with the digital potentiometer MCP41050 and a PIC controller a special test board was made. Heart of the test board is the TPS54336 evaluation board.

      Figure 4.5 Circuit diagram of the buck converter heater supply based on the TPS54336 (top) and the implementation on perf-board (bottom).
      Lighting up the 6.3V/2A heater of an EL509 is a piece of cake for the tiny circuit!

      Figure 5 shows the circuit diagram of the test board. The circuit is pretty straightforward and is based on the uTracer 3 hard- and firmware. The digital potentiometer interfaces with the SPI control lines already used for the PGA’s. A new SPI firmware routine was written which first send the command byte 011H to the potentiometer to indicate that the commend is a new setting and that potentiometer one is addressed (there is only one potentiometer), and next sends the wiper position byte which is the lowest byte of the heater setting send by the GUI. Value 000H (wiper to B) corresponds to the highest voltage (12 V), and value 0FFH (wiper to A) corresponds to the lowest voltage. The open drain output RA4 is used to control the enable pin. Although the enable input of the TPS54336 has a pull-up current source of 1 uA, I added an additional pull-up resistor of 22k to improve noise immunity. The firmware has been adapted so that when a ping command is given, the TPS54336 is disabled for approximately 1 ms to study the enabling / disabling behavior. A trigger signal to capture the event is available on pin 20 of the PIC.

      Figure 4.6 These equations relate the potmeter setting to the desired output voltage.

      The equations in Fig. 4.6 explain how in the GUI the heater voltage setting (Vout) is converted into an 8 bit setting for the digital potentiometer. Starting point is equation [1] which gives the output voltage of the TPS54336 as a function of the value of the “top” resistor R1 (see also Fig. 4.3) and of the “bottom” resistor R2. R2 consists of a variable part (the digital potentiometer) and a constant part (the trimmer, the fixed resistor and the slider resistance). The variable part can vary between zero (x=0) and the maximum potentiometer resistance R2potm (x=1). Substituting [2] in [1] results in an equation which gives x as a function of the desired output voltage [3]. The variable x depends on the setting of the digital potentiometer according to [4], with n any value between 0 and 255. This finally yields n as a function of the output voltage [5].

      The second term in Eqn. 5 is constructed in such a way that the term becomes zero for 12V. So the value programmed in the GUI for R2const exactly equals 0.8*R1/(Vout-0.8). So with R1 = 30 k the value of R2const = 2.143k (see also Fig. 4.4b). Note that this corresponds to adjusting the output voltage to 12V for n = 0 with trimmer R3. Finally, we have to account for the tolerance in the value of the digital potentiometer. This can be simple done by adding a constant C [6] which is determined using a second calibration point. In summary the calibration procedure is now as follows:

      1. Set the output voltage in the GUI to 12 V. This will, by the way we have defined Eqn. 6, automatically make n equal to zero. Now adjust R3 so that the output voltage is exactly 12 V.
      2. Next set the output voltage to another value, e.g. 4 V and adjust C so that the output voltage exactly equals 4 V.

      Figure 4.7 Measured output voltage as a result of a set point entered in the GUI. The load was in all cases a 12V / 20W halogen light bulb.

      Figure 4.7 gives, following the calibration procedure described above, the measured output voltage as a function of a certain set point. As expected the error in the output voltage increases with increasing voltage but is limited to a few percent. The errors have also been plotted in Fig. 4.4 and remain within the error range expected. The tiny circuit can easily drive loads of up to 3A without even getting notability warm!

      Figure 4.8 Enable signal (top trace in both photos) and on the lower trace the output voltage (left), and input voltage (right).
      The output voltage was in both cases set to 12 V and the load was a 12V / 20W light bulb.

      In the uTracer all switch mode power converters are switched off during the 1 ms long measurement pulse. Figure 4.8 shows that the TPS54336 has no problem with such short disable cycles. In this case the output voltage was set to 12 V and the output was connected to a heavy 12V / 20W light bulb. As expected the output voltage quickly drops during the 1 ms interruption, however, within 4 ms after switch-on the buck converter has the output charged to 12 V again! On the input voltage we observe how the high frequency switching signal ceases when the converter is disabled, and returns when it is switched on again.


      1. With the TPS54336 in combination with a digital potmeter it is possible to make a tiny heater supply capable of 1.5 – 12 V @ 3 A max.
      2. Voltage accuracy very good for low voltages decreasing to a few percent error for higher voltages.
      3. DC voltages, so no problem with wire inductances! The heater voltage can be monitored with any simple voltmeter or even by the PIC processor itself!
      4. Zero output voltage can only be set by switching off the converter. This will require modifications in the GUI, the firmware as well as the communication protocol.
      5. The “thermal pad” underneat the TPS54336 is a really the only drawback of the concept.
      6. In contrast to the uTracer3 heater supply, this supply outputs in reference to ground, rather than the supply voltage. It is therfore not really suitable as an option/expansion to the uTracer3 but perhaps a nice idea for a future uTracer version …..?

      A photo for posterity. My “man cave” on the 5th of May 2015. In the center the buck converter test board. To the right my ISP PIC programmer and test uTracer (on this set all PICs sold have been programmed and tested). To the left an EL509 as a test load for the buck converter. Note on the extreme left my brand new fantastic AVO-IV that I got from a colleague as a present !!

      to top of page back to the uTracer homepage

      5. A Buck Converter heater supply II

      The previous section generated, judging by the number of emails I received, a lot of interest among readers. Among the many suggestions and comments was a very interesting design idea by Tim Nightingale. Tim suggested a very simple idea to obtain a linearly programmable Buck converter that he had used in a design of himself.

      Figure 5.1 A) Standard buck converter, B) Linearly programmable Buck converter.

      The easiest way to understand Tim’s idea is to first have a look at the feedback loop of normal Buck converter (Fig. 5.1A). It is important to realize that the Buck converter adjusts its output voltage so that the voltage on the Vsense input equals the reference voltage, in case of the TPS54336 0.8 V. The voltage on the node of R1 and R2 is thus always 0.8 V. The current through R2 is therefore given by 0.8/R2. Since the input current of the Vsense input is negligible, the current though R2 must therefore also pass through R1. The voltage drop over R1 is therefore R1*(0.8/R2). The output voltage is therefore 0.8 + R1*(0.8/R2), or 0.8*(R1/R2 +1).

      Note that the output voltage varies linearly with the current through R2. In other words, if we can find a way to program the current through R2, we can program the output voltage. This is exactly what the idea of Tim does! Rather than connecting R2 to ground, it is now connected to the output of a DAC (Fig. 5.1B). When the output of the DAC is 0V, the current through R2 and thus the output voltage are maximal (same situation as Fig. 5.1A). When the output voltage of the DAC increases, the current though R2 - and thus the output voltage - decrease proportionally. This continues until the output voltage equals the reference voltage. Note that the output voltage swing of the DAC needs to be slightly less than 0.8 V.

      Using a DAC higher reference voltage

      Although the above idea sounds very attractive, it has a practical disadvantage and that is that the DAC should have an output range of 0 to 0.8 V. This implies either the use of a very low reference voltage e.g. 1.225 V (LM4041) and/or using only a fraction of the output range of the DAC which is a waste of bits!

      Figure 5.2 Using the circuit with higher DAC reference voltages

      Figure 5.2 shows a more elegant circuit implementation. Instead of connecting R2 directly to the output of the DAC, it is connected to the center node of a resistive voltage divider consisting of R3 and R4. Without any calculation, just by reasoning, we can understand how the circuit works. To do this we use the super position theorem and the notion that the output voltage increases linearly with the current through R2 (previous subsection). Now consider the subcircuit formed by R2, R3 and R4. This circuit is being excited by two voltage sources namely the reference voltage (0.8V), and the output voltage of the DAC. To calculate the current through R2 we calculate the current as a result of the individual voltage sources while the other voltage source is set to zero (short circuit), and then we sum the results. The left term in Eqn. 1 (Fig. 5.2) is the current through R2 as a result of the reference voltage while the DAC output is 0 V. The second term in Eqn. 1 is the current through R2 as a result of the DAC when the reference voltage is set to 0 V. Note that this component of the current is negative! So when the DAC output is 0 V, the current will be highest and the output voltage will be maximal. When the output voltage of the DAC increases, the current will decrease linearly with the increasing DAC output voltage. This will continue until the output voltage equals the reference voltage. Equation 2 gives the exact output voltage, while Eqn. 3 gives the maximum output voltage for given R1, R2, R3 and R4.

      Figure 5.3 The test circuit

      To test the whole idea, the test board made for the “potmeter buck converter” in the last section was extended with a DAC and a reference voltage source. For the DAC I choose an MCP4911 from Microchip. This DAC is cheap, comes in an 8 pin DIL package and has a digital SPI interface. For the voltage source I used a 2.5 V version of the LM4040 in an TO-92 package from TI. Figure 5.3 shows the circuit diagram of the test circuit. Although it is possible to express R1 … R4 directly as a function of a set boundary conditions, I choose the easy way and made a small program that gives the output voltage as a function of R1 … R4 for the minimum and maximum DAC output voltage, and I determined R1 … R4 directly by “trial and error” which turned out to be quite easy.

      Figure 5.4 Measurement results and DAC circuit close-up.

      The table in Fig. 5.4 shows the calculated and measured output voltages for the minimum and maximum output voltage of the DAC. It is surprising that, although just standard resistors were used and nothing was calibrated, the measured output voltage matched the calculated within a percent or so! The graph shows the extremely linear variation of the output voltage with the programmed DAC value. In fact when a straight line was fitted through the data points the R-squared was exactly one, indicating a perfect fit!

      Loose Ends

      • Instead of using the MCP4911 DAC, it makes more sense to use an MCP4812. This is a dual 10 bit DAC from the same family as the MCP4911 with an on-board 2.043 V reference while it still comes in an 8 pin (DIL) package. This first of all eliminates the need for an additional external reference voltage source, and secondly the second DAC can be used e.g. to control the grid voltage. By switching on the on-chip x2 output amplifier the output voltage range becomes 0 - 4.096 V which further reduces the noise in the system. In this case R3 needs to be increased to 4.3k which result in an output voltage range of 13.38 to 1.227 V.
      • I am sure there are people out there who would like to measure the heater current as well as the actual heater voltage. Measuring the heater voltage, provided that there are enough AD inputs on the processor, is rather trivial. Measuring the current is more difficult. An attractive idea is to place a hall-effect current sensor in series with the heater output. A good example of such a sensor is the ACS712 from Allegro Microsystems. These sensors have negligible series resistance, are robust, and are isolated so that it is no problem to connect them in series with the output. The problem is that they are not really suitable for low (< 100 mA) currents. Nevertheless, I think I will order one to play with and see what they are worth for this application. An other solution is to place a low resistance current sense resistor in series with the heater ground, and amplify the voltage drop with a low-offset OpAmp. A back-of-the-envelope calculation: by using a 0.01 ohm current sense resistor the voltage drop at full load (3A) is limited to 30 mV. To bring 30 mV to the full scale input level of the ADC we need a 5/0.03 = 166 X times amplification. The OPA277 has an offset of 10 uV resulting in an error of 166 x 10 uV = 1.66 mV which is still within one LSB (5 / 1024 = 5 mV). Suitable current sense resistors could be this SMD type or this through-hole version. Also available are four terminal resistors for Kelvin configurations.
      • Many people would prefer a closed loop control of the heater voltage. In this case it has to be done in software. I am always a bit scary of closed loop controls because there is always the risk over oscillations and/or large overshoots. In this case, since the open loop accuracy is already so accurate, I think that a simple feedback mechanism whereby in every measurement point the heater voltage is adjusted based on the error in heater voltage in the previous measurement point, plus the voltage drop over a possible current sense resistor, would be sufficient to obtain an accurate control over the heater voltage.
      to top of page back to the uTracer homepage

      6. An uTracer Android App!

      Filip Van Kenhove from Belgium is an enthusiastic user of the uTracer. He complemented his uTracer with a Bluetooth interface that he showed during the NVHR days in December 2015. Inspired by his enthusiasm his 15 year old son Michiel wrote an Android App that performs the quicktest function! The App is available for download and in this contribution from father and son they explain in their own words how the Bluetooth interface works and how the App can be installed and operated.
      For questions related to the Bluetooth interface or the App you can contact Filip and Michiel directly by mail: utracerapphelp@gmail.com

      A Bluetooth interface for the uTracer

      There are two ways of installing a Bluetooth interface to the uTracer:

      1. By connecting a HC06 module direct to the Tx and Rx of the PIC processor.
      2. By interfacing a HC06 module via the RS232 connector.

      1 – A HC06 module directly connected to the Tx and Rx of the uTracer PIC

      The HC06 is a serial Bluetooth interface module which is very popular in the Arduino world; you can buy these devices for as little as €3 to €5 on eBay. It is based on the CSR BC417 BT chip (Cambridge Silicon Radio Limited).
      The advantage of the HC06 is that the default settings correspond to the uTracer communication parameters: Baud rate: 9600N81. This makes the module almost “plug and play” for our application. The ID is: “HC-06” and pairing password is “1234”. All parameters can be altered with the “AT” configuration commands of the HC06 but we don’t need it for our purpose (see datasheet for details, If you like you can change the name from HC-06 into “uTracer” or alter the pairing code.)
      Click here Click here for more info on these modules.

      This HC06 module comes on the ZS-040 backplane which has some interfacing circuitry and a low drop regulator to provide 3.3 V. It has also a red (SMD) LED to indicate the BT pairing status (Click Here for an Ebay link).
      (Be sure to get a HC06 on a ZS-040 backplane, these are tested – other backplanes are not tested)

      Figure 6.1 The ZS-040 HC6 bluetooth module.

      The ZS-040 HC06 module communicates via a 3.3 V serial connection. It has four pins:

      • VCC 3.6 V to 6 V: is connected to the 5 V of the uTracer (it takes max 30 mA);
      • GND is the ground pin, connect to uTracer GND;
      • TXD sends data from the module to the uTracer. To be connected to the RX pin (26), the 3.3 V logic hi level is correctly interpreted by the PIC;
      • RXD receives data from the uTracer. To be connected to the TX pin of the PIC. Here we must pay attention: the HC06 is a native 3.3 V device and, according to the datasheet, the logic input is non 5 V tolerant. We have to lower the TX 5 V level to 3.3 V. You can do this with a voltage divider (18 K and 9k1) or create a voltage drop of 1.75 V with a red LED and a resistor. Both solutions make a reliable connection. Small level converter boards (with FET’s) are also available but this makes it more complicated and this simple solution does the job;
      • The “STATE” and the “KEY” pins of the module are not used.
      Figure 6.2 shows a connection example for the Bluetooth module. You can use a 3-section switch to choose between Bluetooth and standard RS 232 connection through the MAX232. You can also connect an external (blue) Led (with series resistor of minimal 470 Ohm) to have a visual indication of the connection status with your uTracer, LED blinking: not connected, LED steady ON: connected. The modification can be done with minimal intervention to the uTracer PCB. A possible way to install the circuit is to take the input of the switch (TX and RX) on the J4 connector and connect the other side of the switch to pins 9 and 10 of the Max232 – those pins of the Max232 have to be plied horizontal and connected with DuPont style connectors. Further provide 5 V and GND connection.

      2 – Interfacing the HC06 module via the RS232 connector.

      The popular HC06 module is also available mounted on another backplane with a MAX 3232 IC on board and equipped with a male and a female DB9 connector. This version (BT<->RS232 V1.3 JY MCU) makes life even a lot easier, the male DB9 connector (DTE) can be plugged directly in the female DB9 RS232 connector of the uTracer. On board is a 3v3 regulator and the V+ is protected against reverse polarization by a Schottky diode in series. The female DB9 (DCE) can be plugged on the computer RS232 to change parameters like the name of the module or pairing code, standard “HC06” and pairing code “1234”. You need a terminal program for this. But this step is optional, the module’s default settings match to the uTracer communication parameters: Baud rate: 9600N81. The only modification we have to do is providing 5 V to the module. This can be done easily: solder a wire from pin 9 of the male DB9 connector to the V+. On the uTracer side you do the same by soldering a wire from pin 9 of the female DB9 to 5V on the uTracer. Pin 9 of a standard RS232 connector is the RI (ring indicator) input of the RS232 and is normally not used anymore and putting 5V on pin 9 should do no harm to a connected computer or USB RS232 converter. The original function of the RI was for modem connections – The signal was -3V to -12V when idle, and +3 to +12V when the telephone was ringing.

      Figure 6.3 The HC06-RS232 Bluetooth module with RS232 port

      This HC06-RS232 (Arduino DB9 RS232 RF Wireless Bluetooth Module HC-06 Slave Serial Port) costs around €8 on eBay (Click here for an Ebay link).

      Instead of a plug-on module you can build the BT<->RS232 into your uTracer cabinet and select between standard RS232 and Bluetooth connection with a switch.

      An alternative BT solution is to buy a “Plug-and-play” Bluetooth Serial Adapter in a nice housing. Mouser sells The “FireFly Bluetooth 2.0 Serial Adapter” series. Choose the RN-240M, this has a male DB9 connector. This adapter is also powered on pin 9 of the RS232 connector. Click here for a link to the Mouser page.

      The uTracer Quick Test Android App

      With this App you can do a Quick test just like the Quick Test in the GUI:

      • You can select between a Triode and a Pentode;
      • Measurement of Anode and screen currents in mA and percentage of their nominal values;
      • Measure Ra (anode and screen (Rs) resistance) in kohm;
      • Measure gm (trans conductance) in mA/V;
      • Measure mu.

      The only difference between the GUI and the App is that the delta used for the tube parameters is fixed to 10%. If the selected Anode and screen voltage is too high (which would cause a voltage higher than the maximum – 300V or 400V depending on the uTracer version), then only the Anode and Screen currents are measured.

      Installation Steps:
      (see screenshots for an installation on an Android phone – in this case a Samsung Galaxy J5)

      The Bluetooth interface of the uTracer must be active (Blinking Led on the module).
      Make sure you have the calibration values for your uTracer at hand (take a screenshot of the calibration menu of the GUI or write them down).

      Install the Quick Test App from the Google Play Store: https://play.google.com/store/apps/details?id=be.michielvk.utracer3
      See pictures of screen shots.
      It can be installed on Android phones and tablets running Android 4.1 and higher.
      (You have to the steps below only once to prepare your phone or tablet for the uTracer App)
      The App asks your permission for Bluetooth access.
      Select “Accept”.
      The App is now downloading and being installed on your Android device.
      After successful installation the App opens with a welcome screen.
      “Welcome to the uTracer app!”
      “Tap the arrow to get started!”

      5), 6) ,7)
      The three following screens give some info on how to access the Calibration and Help menu.

      8), 9)
      Next the calibration screen is opened and a new default calibration file is created.
      Enter all GUI calibration values from your uTracer.
      Also very important: select between uTracer3 or 3+ for the uTracer version you have.
      Tap “SAVE”.
      Next screen shows: “SHOW MY PAIRED DEVICES”.
      Now go to your Android Home screen and look for your “Settings” icon (this can look different depending on your Android version and/or the brand of your device).
      Tap on “Settings”.
      Select: “Bluetooth”.

      13), 14)
      Turn on Bluetooth to see a list of available BT devices and their pairing status.
      In “Available devices” select: “HC-06” (in case your BT module is a HC-06).
      Depending of your Android device you need to repeat this a few times until a “Bluetooth pairing request” appears.

      Now enter the pairing code (default “1234” for the HC-06) and tap “OK”.
      In next screen you’ll find the HC-06 in the list of paired devices.
      Now, your phone or tablet is paired with the BT module and will also do so in future.
      After this installation, next startups of the App will show the screens described under Step 19. You will not see any more the installation screens. You can always access the help- and calibration screen by taping on the three Android dots in the upper right corner.

      Do a Measurement

      In the App you’ll see the HC-06 (with its native MAC address) listed under “SHOW MY PAIRED DEVICES”.
      Select the HC-06.
      Now your phone or tablet makes connection to the HC-06 module and the Blinking Led on the module changes to a steady “On”.
      You come to the “initialization” screen.
      Note: in the next version the “Initializing” will be done automatically after 19)

      The window “Initializing” pops up for some seconds.
      Now you can start a measurement (connect the “Tube under Test”).
      Enter the filament voltage and tap “HEATER ON”.
      The window “Heating” pops up for 20 seconds and the tube starts heating.
      Remark: You always have to enter the Vf and tap “HEATER ON” even if you are using an external heater power supply.

      Select between “Triode” or “Pentode”.
      Enter the test parameters and tap “Test”.
      In this case a double triode ECC40 will be tested.
      We select Triode and we enter set point values for Va1, Va2, Vg and the expected nominal anode currents, for an ECC40 this is 6 mA.
      Tap “Test”
      The “Testing” window pops up for about 10 to 20 seconds.
      Remark: in case you test a single triode: don’t enter 0 V for Va2, this causes an error (uTracer fails to return a character in a reasonable time). Enter at least 5 V or enter the same value of Va1. In the next version the minimal value of Va will be automatically increased to 5 V when entering a lower value.
      The “Results” window appears.
      In this case (Triode) the measured values for Va1,Va2, Ia1,Ia2 are displayed and the percentage of the Ia versus the nominal Ia currents for this tube. Because the set points + 10% are all lower than 300V a full measurement is done and the Ra, gm and mu are calculated and displayed. (limit of 300V for uTracer 3 in this case – for an uTracer3+ the limit is 400V).
      To obtain a full measurement the -Vg also needs to be higher than 0 V, when entering Vg=0V only the anode currents and the percentages of their nominal values are measured.
      Remark: Just like with the quick test in the GUI you may play a bit with the applied Va- value to obtain a more exact test value of Va, in this case a 252V set point results in measured test values of 250.1 V and 250.9V.
      When taping on “OK” you return to the previous screen where you can alter test parameters and re-test or you can Abort: the heating stops.

      Closing the App.
      It is important to abort before closing the app otherwise the heating will stay on while the phone or tablet is disconnected from the uTracer. When you hit the Android back button the app asks if you are sure you want to exit.
      Tap “Yes” and the app closes.

      to top of page back to the uTracer homepage

      7. Tweaking the uTracer for low voltages and low currents.

      A few months ago, I stumbled upon the beautiful web page on low voltage tubes by Jeff Duntemann. It very nicely re-introduced me into the world of low-voltage tube electronics. I knew it existed, in the past I have collected nice set of low-voltage car radio tubes (ECC86, ECH86), and a small box full of hearing aid tubes, but to be honest I didn’t give the topic much attention so far. What fascinated me was that also normal tubes can be quite effective at very low anode voltages, be it that they cannot generate substantial amounts of power. Nevertheless, people have successfully constructed radios and headphone amplifiers operating at voltages as low as 12V. In the past already a number of people have asked me questions about the performance of the uTracer at very low voltages (0 – 20V). Unfortunately that is not very good. The simple design of the uTracer was optimized for a large operating range at the expense of performance at the very low voltage range. Because I wanted to experiment with low voltage tubes myself now after Jeff Duntemann had raised my interest, I decided to spend the 2016 Christmas Holiday by modifying the uTracer for low voltage / low current operation. The target specification that I set for the “uTracer3LV” were:

      • Anode and screen voltage range 0 – 50 V (resolution 0.05V)
      • Anode and Screen voltage ranges include 0V !
      • Anode and Screen current range 1 µA – 50 mA
      • Other specifications identical to uTracer3+

      Hardware and software modifications

      To facilitate the experiments, a special test version of the uTracer was built. To make an easy changing of crucial components possible, modified pin headers where inserted in between the PCB and some components. To start with, the standard uTracer3+ configuration was built as a reference. Instead of using tubes during the initial tests, I prefer to use a resistor as test devices because they give a much clearer indication of the quality of the measurement, and apart from that they don’t require heating up.

      Figure 7.1 100k test resistor results for: A. standard uTracer3+ configuration, B. same with high voltage divider resistor lowered to 75k, C. same with current sense resistor increased to 100 ohm.

      Figure 7.1A shows a measurement of a 100k resistor in the standard uTracer3+ configuration. The first thing we notice is that the curve looks rather ragged. The second annoying shortcoming is that the curves don’t extend all the way down to 0 V. There are potentially two causes for the ragged look of the curves. In the first place the relative accuracy of the AD converters that control the anode and the screen voltages is rather low in this bias regime. For the 10 bits AD converters, every LSB represents a voltage increment of approximately 450/1024 = 0.45 V. While that is fine for an anode voltage of say 200V, it is not enough for these low voltages. The other reason for the ragged look is related to the discrete amounts of charge that are injected into the reservoir capacitor in a single cycle of the boost converter. We will deal with this issue later but first look at the AD converter.

      The obvious first thing to do is to modify the circuit in such a way that a smaller anode voltage range is mapped to the full range of the AD converter. By simply decreasing the value of the 470k resistor in the high voltage divider to 75k, the voltage range is decreased to 76V (50V operating range + 25V supply voltage). This increases the resolution of the AD converters to less than 0.1 V. Obviously the GUI also has to modified for the correct conversion factor. Figure 7.1B shows that this simple measure alone already greatly improves the linearity of the measurement. Figure 7.2 shows the standard anode supply circuit and the final low voltage circuit on the right with all the modifications for low voltage operation highlighted. In the remainder of this section we will go through the other modifications one by one.

      Figure 7.2 Anode high-voltage supply of the original uTracer3+ (left), and the same circuit adapted for low voltages and low currents (right).
      The Screen section is identical to the anode section.

      Unfortunately things are not as simple as that. After every voltage sweep, the discharge transistor T15 (and the corresponding transistor in the screen section) discharges the reservoir capacitor to prepare it for the next sweep. Discharging continues until the HV-led is off. In the firmware a very simple algorithm is used to check if the discharging of the reservoir capacitor is complete. In short, when the output of the ADC is 0000XXXXXX the capacitor is considered to be discharged. In the original circuit this corresponds to a voltage slightly higher than 22V. With the high voltage divider modified, this value is however mapped to 4.7 V. It will be remembered that in the standard boost converter circuit the reservoir voltage cannot be lower than the supply voltage (19.5 V). Since we wanted to include 0 V in the measurement range anyway, zener diode D13a was added. This zener diode blocks the supply voltage at the expense of efficiency. Since this is not an issue for this low voltage version, it is a simple and elegant solution to include 0V. But even now the reservoir capacitor voltage cannot be decreased below 10 V due to D15. The firmware was therefore modified so that discharging continues until the output of the ADC corresponds to 00XXXXXXXX, corresponding to 19 V which is nicely between the supply voltage (allowing for 0V output) and the 10 V of D15. Unfortunately however, this does require a modification of the PIC’s firmware. While we are at it, the discharge resistor R35 was lowered in value to 1.5k to match the lower voltages, and to enable faster discharging.

      The hardware and software thus modified produced the curve in Fig. 7.1B, not a bad starting point! The curve was however produced with a 32X times averaging to reduce the noise in the current measurement. A simple alternative to reduce noise and extend the current range to lower values is to increase the value of the current sense resistor. The value of this resistors is determined by the maximum input voltage of the PGA (5 V) and the maximum current to be measured. Since for low-voltage tubes the currents rarely exceed several tens of milliamps, the maximum current was chosen to be 50 mA, resulting in a sense resistor of 5 / 0.05 = 100 ohm. Figure 7.1C shows for comparison exactly the same measurement as in Fig. 7.1B (32 X averaging) but now with the 100 ohm current sense resistor.

      Figure 7.3 A and B: effect on noise of increasing the sense resistor to 100 ohm for a 100k test resistor with only 4X averaging. C: With the low voltage uTracer it is possible to measure anode and screen currents down to 1 µA.

      In Fig. 7.3A and B, the 100k measurement is repeated but now with only 4X averaging. Note that with the 100 ohm sense resistor a significant reduction of noise is obtained allowing for faster measurements. In Fig. 7.3C a 1M test resistor was measured. Note that good measurements are possible down to 1 µA. To make this possible the automatic averaging algorithm was also modified a bit. The automatic averaging settings are now: gain 1, 2X / gain 2, 2X / gain 5, 4X / gain 10, 4X / gain 20, 8X / gain 50, 8X / gain 100, 16X / gain 200, 32X. For the lowest current setting range I would recommend using a manual setting of 32X. Changing the automatic gain settings again required some firmware modifications of the PIC.

      Figure 7.4 A – Measurement with open terminals. The offset in the anode (and screen) currents as a result of offset of the OPA227. B – Offset compensated open terminal measurement with a 20k potentiometer connected to the offset compensation pin (C).

      With the output terminals of the uTracer open, a small offset of about 0.5 µA became visible. This offset is caused by the offset of the OPA227 OpAmps. For any practical purpose an offset that small is negligible, however just for the sake of fun, I tried to compensate it by using the external offset compensation pin of the OPA227. By “piggy backing” a small 20k 10-turn potentiometer on the back of an OPA227 it was possible to nicely tune away the offset, however it seems at the expense of a slightly increased noise level. It was fun trying it, but I think I won’t bother in the final setup.

      Another simple tweak was the adjustment of the current compliance ranges and the hardware current limit. To start with the latter one, by increasing R38 from 2.7 ohm to 10 ohm the hardware current limit was decreased to approximately 65 mA. The software current compliance values cannot be chosen freely, but depend on the reference voltages that can be generated internally in the PIC (read more here). The following compliance ranges were implemented: 2 mA, 4 mA, 10 mA, 15 mA, 20 mA, 35 mA.

      Figure 7.5 Output curves of an EF97 with 100 uF reservoir capacitors (A) and 470 uF caps (B).

      The final tweak is related to the reservoir capacitor C18. It is the principle of the boost converter in the uTracer that this capacitor is charged to a certain value by packages of charge that are dumped into it by the inductor. Despite the fact that these packages of charge are relatively small, they nevertheless cause discrete increments in the voltage of the capacitor. The result is small variations in the anode and screen voltages, especially at lower voltages (read more here). This noise became apparent during the testing of a low-voltage EF97 pentode (Fig. 7.5). Observe that the “horizontal part” of the output characteristics is rather noisy (Fig. 7.5A). This was traced back to small variations in the screen voltage caused by the “charging packages.” Since the voltage increment for a given charge package can be decreased by increasing the capacitance, the simplest solution was to increase the value of C18, which is not that difficult since the operating voltage of the capacitor has decreased from 450 V to less than 100 V. Increasing C18 to 470 µF / 100 V, suppressed the noise effectively (Fig. 7.5B).

      First measurments

      ECC86 low-voltage double-triode

      In the fifties a series of low-voltage radio tubes was developed for application in car radios. These tubes were designed to operate from 6.3 and 12 V power supplies. Although these tubes operate quite well as RF and IF frequencies, they cannot generate substantial power. In Europe – to my knowledge – only a few low-voltage car radio tubes were introduced with the ECC96, ECH86 and the EF97/EF98 as the best known examples. In the US many more tubes were developed (read more here). The 12K5 seems to be a very good example, but unfortunately I do not have that tube.

      Figure 7.6 Ia(Vg) and Ia(Va) curves of the low-voltage double triode ECC86. Note the bright heater, indicating a high cathode temperature to increase emission.

      The measured curves nicely match the curves in the datasheet. The leveling off of the Ia(Vg) curves at -0.1 – 0 V is because for these low grid biases, the grid starts to draw significant current and unfortunately the uTracer grid supply was not designed to supply current. However, the curves can easily be extrapolated to find the 0 V grid voltage anode current (more about grid current later). Note by the way how bright the filament in these tube is! One of the ways to obtain significant current at low voltages was to increase the emission by heating the cathode to higher temperatures.

      Figure 7.7 Despite the fact that the anode currents of this ECC86 are somewhat lower than the values specified in the datasheet,
      the transconductance and the amplification are still perfectly on spec.

      DF64 hearing aid tube

      Already my whole life I have a fascination for hearing aid tubes. One of the reasons must be that already all my life we have “in the family” a hearing aid with three miniature tubes (see picture on the right). The hearing aid is operated from a 1.5 heater battery and a 22.5 V plate battery. I faintly remember that I have heard it working in my youth, but it has been silent ever after. In the meantime I have collected a nice set of hearing aid tubes found here and there, but never done anything useful with them. I even have a few sockets for these tubes and for the occasion I made an adaptor board to be able to test them in a comfortable way. The DF64 has a heater that is specified for 0.625 V at 10 mA. In this way two DF64 heaters can be switched in series and connected to a single 1.5 V cell. Since I do not like to drive the delicate heater from the PWM modulated heater supply of the uTracer, I included a holder for a 1.5V AA cell on the adapter board. A 100 ohm resistor reduces the heater voltage to approximately 0.625V.

      The tiny pentode works better than expected from the datasheet. Whereas the datasheet specifies an anode current of 150 µA at Vg = 0V and Va = 15 V, the actual anode current is closer to 210 µA. What is also striking is that the curves in reality look a lot less pretty than the ideal curves in the manufacturer’s datasheet!

      Figure 7.8 Ia(Vg) and Ia(Va) curves for a DF64 hearing aid tube.

      DM160 indicator tube

      The DM160 (CV6094) has been referred to as the first VFD display. It is a miniature indicator tube introduced by Philips in 1959. Its diameter is only 5 mm while its length is 2 cm. It was developed to be driven directly by digital transistor circuits without the need for a separate driving transistor. The DM160 consists of a filament and two grids. The second grid is coated with a fluorescent material so that it glows when it is hit by electrons (read more here). Somewhere I have read that people use this indicator to make amplifiers with it, so naturally I wanted to investigate the tube’s characteristics (Fig. 7.9). Personally I doubt whether the tube is useful as an amplifier, however, it is nice to study its characteristics at these low voltages.

      Figure 7.9 Ia(Vg) and Ia(Va) curves for a DM160 indicator tube

      Several double triodes compared

      Fig. 7.10 shows a set of Ia(Vg) curves to compare different double triodes with the ECC86. As Jeff Duntemann already concludes, the tubes with the highest anode currents at low voltages tend to be tubes that are specked for rather high heater currents and a relatively low maximum anode voltages like the ECC84 and the E188CC. Also the “special quality” E90CC designed for digital computers appears to be an interesting tube to experiment with. Note again the deviation from the expected behavior for grid voltages around 0 V caused by the fact that for low grid biases tubes start to draw significant grid current, especially for low anode voltages.

      Figure 7.10 Ia(Vg) curves for several double-triode tubes.


      With a few simple hardware and software modifications it is possible to make the uTracer suitable for the characterization of tubes at very low voltages. Unfortunately this does require the modification of the PIC firmware. At very low anode voltages it appears that tubes start to draw significant grid currents for grid biases between -0.2 – 0 V. This grid current increases for lower anode voltages since less electrons are attracted by the positive anode. The present uTracer grid bias generator is not capable of sinking grid currents, resulting in an erroneous current reading in this grid bias regime, which is unfortunately of interest for low voltage applications. At the moment I am looking into a grid bias supply that can supply grid currents and even generate positive grid biases. The circuit is compatible with the uTracer3+ and the GUI. More about this interesting extension in a next write-up.

      Finally, some useful links:

      to top of page back to the uTracer homepage