Even though it is easy to use a lot of 1.5 volt cells to get the 9 and 90 volts required to operate the radio, I decided to do something different.
While it might seem odd to wield a microcontroller to solve a relatively simple problem on an antique, tube-type radio, it does make sense in a few ways as I'll outline below.
There are several things that I decided that this voltage converter should do:
- Automatically power up when the radio is turned on and shut down when it is turned off.
- Cause no interference to radio reception.
- Consume minimal current when the radio is turned off.
- Produce a regulated B+ voltage so that radio performance is consistent.
- Regulate the filament voltage so that the radio functions properly even when the battery is mostly discharged so that maximum use can be made of its total capacity.
- If the radio is on for a long time (e.g. more than about 2 hours) do a "power save" shut down to (hopefully) prevent the batteries from being completely flattened.
- "Lock out" the operation of the radio if the batteries are already extremely low. Avoidance of completely killing the battery may reduce the possibility of their leaking.
Generating the "B+" voltage:
The "B Battery" (high voltage) needs of the ZTO are rather modest: Approximately 90 volts at 5-20 milliamps. Aside from using a battery of sixty 1.5 volt cells or ten 9 volt batteries in series there are two common ways to generate this sort of voltage electronically:
- Use a step-up transformer to take the low battery voltage to the appropriate B+ potential, typically using a low-voltage mains transformer in "reverse" (e.g. applying drive to the secondary, rectifying high voltage from the primary.)
- The use of a simple boost-type converter using a single inductor.
Raiding my inductor drawer I picked a few "power" devices (those capable of handling at least half an amp) in the range of 100μH and 1 mH and threw together the circuit in Figure 2, consisting of a high-voltage FET (Q), the inductor under test (L), a high voltage, high speed diode (D), a 22μF, 160 volt capacitor (C) and a 5.6k, 2 watt load resistor (R). Connecting the FET's gate to the square wave (50% duty cycle) TTL-level output of a signal generator I measured each one in terms of output voltage, total output power and overall power conversion efficiency with respect to frequency.
As would be dictated by the plethora of design articles on the subject - not to mention data sheets of switching regulator chips - I noted that neither the value of the inductance or switching frequency was particularly critical to achieve the desired results. In general, higher inductances produce a bit more output at the lower frequencies (a few kHz) while the lower inductances worked a bit better in the 10-30 kHz range, but all of the inductors did work over the entire range to a greater or lesser degree. Settling on a decent-sized 330μH inductor - a value that is not particularly critical - I proceeded with the circuit design.
Schematic diagram of the voltage converter. See text for details.
Click on the image for a larger version.
Rather than go through a lot of theory I'll just describe the circuit that I designed and built - See Figure 3, above.
When the radio's power switch is turned on its filament circuit is connected and a voltage appears across the "Batt-" and "A-" leads and R7, a 10k resistor connected across switched-off FET Q4 which are in series with the filaments. When this happens transistor Q3 is turned on, pulling the base of Q1, a PNP transistor in the high side of the BATT+ line, toward ground and turning it on and applying power to U3, a 78L05 voltage regulator, and microcontroller U1, a PIC12F683. After a short initialization delay the microcontroller activates the "PWR_SW" line, turning on Q2 which assures that Q1 is always turned on even if the filament switch is turned off abruptly and Q3 turns off or, as we shall see, when the battery voltage is at or below the filament regulator's set point.
At this point the microcontroller enables interrupt-driven code to produce the high voltage (B+) output by monitoring it via resistor divider R18/R19/R20: If the voltage is below the threshold, the duty cycle of the PWM signal output on the "SW_DRIVE" line is increased to force more energy storage in the inductor (L1) - up to a maximum limit of around 80%, set in software. If the voltage is above the threshold, the duty cycle is decreased - down to zero and even into "discontinuous" mode (e.g. the PWM signal intermittently turned off and on) if necessary as would be the case if there were no load on the output. In this way the output voltage is appropriately regulated, typically to 90 volts as set by R19. In this circuit, when the PWM signal turns off Q5, the high voltage FET, the magnetic field in L1 collapses and induces a high voltage across it. The current resulting from this field collapse is rectified by high-speed, high-voltage diode D2 and stored and filtered by C8 and additionally filtered and smoothed by R21 and C9.
Because the battery voltage could be as high as 16 volts if ten fresh "1.5" volt cells were used it is necessary to regulate the filament voltage down to something around 8.0-9.0 volts, the precise voltage chosen by the constructor and set via R14. Op amp section U2b is configured as a "difference amplifier" (a.k.a. subractor) that measures the voltage difference between the "A-" and the "A+" lines (the filament supply to the radio) and this calculated voltage difference is output from U2b and applied to the inverting input of U2a via scaling potentiometer R14. The voltage at the inverting input of U2a as set by this potentiometer is compared to the "reference" voltage applied to its non-inverting input and if the voltage is low, its output voltage is increased so that FET Q4, which is placed between the A- and BATT- connections, conducts more to increase the filament voltage. Conversely, if the voltage is too high, the output voltage of U2a to Q14's gate is reduced, decreasing its conductivity.
The use of the circuitry of U2b is necessary because neither the A- or A+ (filament) leads are referenced to the circuit ground (e.g. they are sort of "floating") which makes it necessary to measure the difference between those two leads to ascertain the actual filament voltage. If the battery voltage does get low enough that Q4 is completely "on", the voltage across R7 will disappear and Q3 will turn off: It is because this can happen that we must have activated Q2 to keep the microcontroller's power turned on and this is also why we cannot use the same voltage drop that we used to tell if the radio was turned on to also detect if the filament current has ceased to flow when the radio is turned off.
Note: It would have been possible to have used the microcontroller to regulate the filament voltage in a manner similar to that in which the high voltage is produced, but a programming bug or crash could cause the fragile, expensive tubes to be exposed to the full battery voltage whereas a malfunction of the high voltage generator is unlikely to cause damage to the radio.
A short time after the high voltage converter is enabled the "FIL_SW" line is set high. Because the microcontroller has low-impedance FET output drivers, this pin's voltage is essentially that of the 5 volt regulator and it is used as the filament voltage reference. Similarly, if the microcontroller sets the "FIL_SW" line low (zero volts) this will shut off the filament supply.
With the use of a MOSFET (e.g. Q4) as the filament control device, the series regulation of the filament has a very low drop-out voltage - that of the voltage drop across the FET, limited by its own "on" resistance, and the wiring used to carry the filament current - and this drop can be as low a few 10s of millivolts. What this means is that if the filament voltage is set to 9.0 volts by R14, as long as the "A" battery voltage exceeds that by a few 10s of millivolts, the filament will always be maintained exactly 9.0 volts but if the "A" supply (battery voltage) drops below 9.0 volts, Q4 will be turned fully on and the filament voltage will be within 10-20 millivolts of that battery voltage. Compared with the operation of a typical "low dropout" regulator IC that has around 0.15-0.3 volts drop, the circuit used here offers a lower voltage drop and better radio performance in those situations, particularly when even a few tenths of a volt can make a lot of difference!
A second or so after the application of the filament voltage - enough time for the tubes to warm up - the microcontroller starts to "look" at the current drawn on the B+ lead as detected by U4, an opto-isolator that is in series with this supply. Once the tubes warm up and begin drawing current, U4's internal LED turns on, activating its internal phototransistor which then pulls the "HV_IMON" (high voltage current monitor) line low, indicating to the microcontroller that the radio is now operating. At this point the microcontroller is in a mode where it will repeatedly check to see that current is drawn by the radio on the high voltage line.
When the radio is turned off the current on the B+ line will disappear due the loss of the tubes' emission caused by the filaments being turned off and, possibly, the B+ line being disconnected. When this happens the LED in optoisolator U4 will turn off, its phototransistor will stop conducting, and the "HV_IMON" line will be pulled high indicating to the microcontroller that the radio has been turned off. After a short "debounce" period to verify that this loss of current wasn't due erroneously detected, the microcontroller will shut off the high voltage generator, set the "FIL_SW" line low, powering down the filament regulator, and then set the "PWR_SW" line low which then disconnects the microcontroller's power source from the BATT+ line, removing load from the battery.
How the high-voltage supply works in software:
The PIC12F683 has several very helpful peripherals on board: An A/D (analog-to-digital) converter, an on-board clock oscillator, and a hardware-based PWM (Pulse-width modulation) generator. To obtain the necessary switching rate for the power supply/inductor combination, a PWM rate of 15.624 kHz was chosen which, with the setting of the peripherals, allowed for 9 bits of PWM resolution - these choices being dictated by the processor's internal 8 MHz clock with respect to the desired PWM rate and the inductor value..
On the diagram in Figure 3, above, may be seen resistors R18, R19 and R20 that form an adjustable voltage divider, taking the (nominal) 90 volts from the "B+" supply down to approximately 3 volts: R19 is made variable so that the resulting output voltage may be adjusted. The wiper of R19 is bypassed with C7, a 0.01uF capacitor to both suppress switching noise from the voltage converter and also to provide a minimum AC input impedance for the PIC's A/D input - an important consideration for practically any microcontroller with a built-in A/D converter.
In the software there is an interrupt service routine that occurs at the same rate at the PWM update and in that routine, the A/D converter's input multiplexer is switched between monitoring the divided-down high voltage ("HV_VMON") and the divided-down battery voltage ("VBATT_MON") a process that requires several steps that span interrupt cycles, as in:
- Get the most recent result from the A/D converter and set a flag that indicates new data is available for this A/D input. We then switch to the "other" A/D's multiplex input because we can't start the A/D converter at this point since it takes a finite amount of time for the input to settle. (5 microseconds is a reasonable time for this device when operating at 5 volts.)
- By the time the next interrupt has occurred, the A/D MUX has settled so the A/D converter is started.
- By the time the next interrupt has occurred, the A/D conversion has finished, so the result is obtained and the A/D multiplexer is switched to the "other" input and its "data ready" flag is set.
As with any PWM implementation - hardware or software - the is an enforced limit of the maximum duty cycle - about 80% in this case: Were this limit not enforced, the duty cycle could go to 100% and short out the power supply - and that would not be good!
Because the PWM value is not being updated on every ISR cycle, there is a lag in the feedback loop - and this can result in instability of the high voltage supply if one is not careful. A few steps were taken to prevent this instability:
- Minimal R/C filtering was applied at the voltage divider (e.g. C7) to minimize a low-pass filter pole which can cause a delay/lag and instability.
- The rate-of-change of the PWM duty cycle is limited by the nature of the software so that it can't make huge corrections very quickly.
- The radio presents a minimum current load on the high voltage supply of between 5 and 10 milliamps, peaking up to, perhaps, 50 milliamps - and the radio doesn't really care if the voltage varies by 5-10%. Because this current excursion is only, at most, a 10:1 ratio, there isn't a need to try to keep the power supply stable at extremely low currents (e.g. no load) where the PWM duty cycle would be small - and small changes in that duty cycle would cause large changes in voltage. The addition of a second stage of power-supply filtering (e.g. R21 and C9) further "smooth" the changes in current from the radio.
Why not just use six 1.5 volt cells to get "9 volts" for the filament string? As it turns out only a set of six fresh 1.5 volt cells will actually produce 9 volts - and the voltage drops rapidly from there. If one consults the manufacturers' specifications for alkaline cells it will be noted that the majority of the useful life of typical "1.5 volt" cells occurs with their voltage being in the range of 1.2-1.3 volts and it isn't until a cell gets all of the way down to 1 volt (for a total of 6 volts to the filaments for a six cell battery) that just 80% of the cell's capacity has been exhausted.
In this radio I noted that below an "A" battery potential of 8 volts (e.g. 1.33 volts/cell for 6 cells) the sensitivity started to drop and by the time it has dropped to around 7.5 volts (1.25 volts/cell for 6 cells) the radio was practically deaf with the oscillator abruptly stopping just below this. Poking around inside the radio I noticed that at 9 volts, the series voltage drop across each of the tubes' filaments was very close to that shown on the schematic diagram in the service manual, but by the time it dropped to 7.5 volts it had become unequal, with the 1L6 converter tube being disproportionately affected and its filament voltage at or below 1 volt. Interestingly, this drop-off in sensitivity did not appear to be related to frequency: The radio still worked at all frequencies with a filament voltage just above where it cut off, but it was just as deaf on the low bands as it was on the high. Because the 1L6 tube is the component in this radio that is the most difficult to find, it would also make sense to construct the battery supply in such a way that it would allow the best operation from a "weak" tube, anyway.
I decided to use the battery voltage of eight 1.5 volt cells rather than the "9 volts" obtained from six cells for several reasons:
- The higher voltage of eight 1.5 volt cells (12+ volts when fresh) would allow the total filament potential ("A" voltage) to be regulated down to 8.0-9.0 volts. (For longest filament tube life, one should run the filament string in the 8.0-8.5 volt range - the lower end being somewhat preferred if the radio's performance is still acceptable.)
- The use of an extra two cells will allow the use of more of the battery capacity. For example, with 8 cells discharged to 1.0 volts each, around 80% of the cell's useful life has been utilized with the ending voltage still being 8 volts. Contrasting this to the use of just six cells, at a total "A" voltage of just 7.75 volts (approx. 1.3 volts/cell for 6 cells) 40-60% of the life of the cells will remain, but the radio will likely be getting deaf or even may not be usefully operational!
- In theory, ten 1.5 volt cells could be used. Because the voltage of a "fresh" 1.5 volt alkaline is around 1.6 volts, this could expose some of the devices, particularly the electrolytic capacitors and U2, to voltage at or above the official maximum rating. Practically speaking these devices will likely survive this, particularly since the voltage will very quickly drop under the load presented by the radio into the "safe" range. The use of one or two additional 1.5 volt cells (e.g. 9 or 10) won't add more than 10-15% of "run time" to the radio so it is not likely to be worth using more than eight 1.5 volt cells. (Nine cells would work as well, provided there was space in the battery box and that you were OK with using an odd number of cells.)
- The typical filament current of this radio is on the order of 50 milliamps. At a battery voltage of 12 volts where around 3 volts is dropped by the series regulator, approximately 150 milliwatts is dissipated as heat - about 25% of the total filament power, or around 8% of the radio's total power consumption. Were a switching regulator used for the filament its efficiency would likely be in the 85-90% range and increase of efficiency over the linear regulator would likely not be worth the added complexity. Considering that the average voltage of the battery over its life will be around 10-10.4 volts (approx. 1.25-1.3 volts/cell) with a regulator dissipation of only 70 milliwatts, the difference in loss will be even lower.
- For "AA" size: 15-20 hours with reduced performance for an additional 1-2 hours.
- For "C" size: 30-40 hours with reduced performance for an additional 3-5 hours.
- For "D" size: 70-90 hours with reduced performance for an additional 6-10 hours.
Note that this circuit can be powered directly from a 12 volt supply or battery - just heed the warnings below about NEVER allowing the "Batt-" line to come in contact with the "A-" lead - or any part of the radio's chassis. Because this radio has no AC (mains) power transformer, its chassis could be "hot" with mains voltage and as such it is already capacitor-isolated at its antenna connection.
Additional comments about the circuit:
It should be noted that the "BATT-" and "A-" lines are isolated from each other. These two lines should never be connected to each other as that would prevent the closure of the filament switch from being detected when the radio is turned on and it would bypass the filament regulator, exposing the tubes' filaments to the full battery voltage, likely destroying one or more of them! The reason for putting the filament regulation in the negative lead is allow an N-channel FET to be used and to avoid the use of a P-channel device in the "high" side and the complications required in driving this device and keeping its circuit stable (e.g. avoiding spurious turn-on events and momentary loss of voltage regulation) when the unit is powering up or down.
Even more circuit comments:
- Resistors R8 and R17 are used to bias their respected FETs "off" by default. This is necessary as the outputs of the microcontroller are high-Z unless/until it is operating and these FETs could randomly turn on due to leakage currents without them.
- Similarly R15, on the "reference" voltage for U2's filament regulator circuit from the microcontroller, pulls that output down before the processor initializes its outputs from their default "Hi-Z" state, eliminating a possible "glitch" of the filament voltage during circuit start-up and shut-down.
- U2, the filament voltage regulator, MUST be a rail-to-rail input and output op amp. An "ordinary" op amp such as the '1458 or '358 WILL NOT WORK PROPERLY under all conditions. Some parts suggestions for suitable op amps are included in the schematic diagram of Figure 3. In other words, if you use a "normal" op amp it is possible that this circuit will misbehave and expose the filaments to excessive voltage.
- Resistor R9, a 470 ohm resistor in series with the output of U2a and FET Q4, isolates Q4's gate capacitance, preventing instability of the op-amp while C6 provides frequency compensation for the regulator circuit.
- When powered down the quiescent current of this circuit is approximately 7μA and is a result of the battery voltage (minus the drop of D1) always being applied across the B+ voltage divider string R18, R19 and R20. This amount of current is comparable to the self-discharge rate of modern alkaline cells and can generally be ignored. If this amount of current were to really bother you, the voltage converter circuit could be powered from the "V+_SW" line and transistor Q1 could be replaced with a P-channel power FET as noted on the diagram.
- LED1 and LED2 are optional. LED1 will glow when the microcontroller activates the "PWR_SW" line and can be used for troubleshooting. For example, if no current is being drawn from the B+ line - or the converter is not working - the software will continually cycle: It will turn on the high voltage, wait for current to flow and when not seeing it, it will turn off the high voltage again and retry after a few seconds causing LED1 to turn on and off. LED2 is also optional and is used to indicate when the circuit is powered up by Q1, either by the microcontroller turning on Q3 and/or Q2 being activated by the voltage drop across R7 when the filament switch is closed. If desired, it may be mounted to the battery box so that it is visible when radio's back cover is open.
- Transistor Q5, used in the high voltage "boost" converter, must be rated for at least 200 volts and it should have a "logic level" gate threshold appropriate for turning the FET (more or less) fully on at just 5 volts: Some suggested device types are noted on the diagram (Figure 3). An additional device worth considering is the ON Semiconductor NDD02N40-1G, a 400 volt, 1.1 amp FET that has a suitably low turn-on threshold - and it's pretty cheap.
- Components TH1, a 1 amp self-resetting fuse, and diode D1 protect the circuit against shorts or accidental reverse polarity by limiting the current to a reasonable value should this occur. TH1 may be replaced with a 0.75-1 amp fast-acting fuse if so desired.
- The PWM (switching) frequency is approximately 15.625 kHz and is based on the microcontroller's internal 8 MHz clock. Both 7.8125 and 31.25 kHz were tried and the conversion efficiency was slightly lower (by approx. 1-5%) with the 330 μH inductor value chosen - an indication that the actual value of L1 isn't particularly critical.
- The value of L1 may be anything from 220μH to 470μH - and even a bit beyond this range. Make sure that the inductor used has a current rating of at least a half an amp or else internal resistive losses will significantly impact conversion efficiency. If available, a toroidal inductor or other shielded type is preferred as it better-contains its magnetic field than solenoid styles.
- The measured efficiency of the boost converter of the prototype was greater than 80% despite the power lost in R21, the "filter" resistor in series with the B+ output.
- The 15 volt maximum supply voltage limit is set by the voltage rating of op amp U2 and possibly the ratings of the electrolytic capacitors exposed to the battery voltage.
- If one chose to use just six 1.5 volt cells instead of eight, never supplying more than 9 volts, the "FIL_SW" line would be connected directly to the gate of Q4 and the circuitry related to U2 would be omitted. Do note that six "fresh" 1.5 volt alkaline cells could initially produce a bit over 1.6 volts/cell and expose the filament string to over 9.6 volts.
- The diagram and pictures show the use of feedthrough capacitors (4000pF) to pass the voltages through the shielded box. Feedthrough capacitors are somewhat difficult to get, but good results may be obtained by using good-quality monolithic ceramic (NOT disk ceramic) capacitors instead, placing them - using very short leads to a solid ground plane - where the wires pass through the hole in the shielded box. These capacitors are typically square in shape and rather compact and available in both leaded and surface-mount form. Remember that for the B+ output a capacitor with a rating of at least 100 volts must be used: Any value from 0.0022μF to 0.1μF may be used.
- If you build this sort of circuit, make absolutely certain that you simulate the filament string with a 150-200 ohm 1/2-1 watt resistor and the B+ load with a 10k, 1-2 watt resistor and verify that the circuits are working properly BEFORE connecting it to a radio. While a brief bit of over-voltage on the B+ line (to perhaps 130-150 volts) will likely not harm the radio, more than 9 volts on the filament line, even for a moment, will probably ruin one or more of the fragile and expensive tubes!
- About that "auto power save" feature mentioned at the top of this article? After two hours of uninterrupted operation the microcontroller will modulate the filament line with an intermittent tone and drop the B+ voltage to about 50% causing the radio to partially mute with the alarm tone sounding in the speaker. This "beeping" will continue for about a minute before the microcontroller turns off the filament and high voltage supplies, dropping the current consumption from 100-50 milliamps to about 6-12 milliamps - the quiescent current of the remaining circuitry. Turning the radio off for 5-10 seconds and then back on will reset this timer at any time. The down-side of this is that if the radio shuts down in this way, one may forget that the radio is even on, still drawing a few milliamps - the only reminder being that the front lid of the radio will still have been in its upright position! If the battery voltage is less than around 7.5 volts (0.9375 volts/cell) the radio will be "locked out" and will not even turn on, but at this voltage the batteries are not only quite discharged, but their internal resistance will be rapidly increasing as well and little run time would have been left.
As can be seen in Figure 1 the circuit board and the eight "D" cell battery is concealed in a replica battery box that is situated exactly where an original "AB" battery would be placed. Then the power switch is turned on it takes a bit over a second for the computer to power up, do its checks and for the tubes to warm up and the radio begins playing while the power-off is detected within two seconds of the radio power switch being turned off.
With the shielding of the circuity and bypassing of its leads there is no detectable interference caused by switching voltage converter. With the filament and B+ voltage being regulated to the same as a "fresh battery" or AC mains voltage, the sensitivity and audio output capability are maintained until the battery is more than 80% depleted.
In other words, it works just as it should!
* * * * * * * * * * * * * * * * * * * * * * *
If you are interested in the code for this (written in "C" using the PICC compiler) or just a .HEX file so that you can program a PIC12F683 yourself, or if you are interested in getting an already-programmed PIC12F683, let me know via a comment.
And before you ask: Sorry, but I can't build you one at this time...
This page stolen from "ka7oei.blogspot.com".