Figure 1 is a cheap and cheerful voltage inverter I offered awhile back in “A simple, accurate, and efficient charge pump voltage inverter for $1”.
Figure 1 The generic and versatile xx4053 provides the basis for a cheap, efficient, and accurate voltage inverter.
Wow the engineering world with your unique design: Design Ideas Submission Guide
Shortly thereafter the idea morphed into an uncomplicated, inexpensive, and fairly fast (1 MHz), low power voltage to frequency converter (VFC): “Voltage inverter design idea transmogrifies into a 1 MHz VFC”. See Figure 2.
Figure 2 Modified voltage inverter becomes power thrifty 1 MHz VFC.
An interesting quirk of the Figure 2 circuit is that, although it is described as a voltage to frequency converter, it could just as accurately be called a current to frequency converter. That’s because input current =Vin/R1 charges C3 making transconductance amplifier Q1, Q2 complete a feedback loop through the charge pump oscillator. The loop continuously adjusts Fpump to balance pump current to be equal and opposite to input current,
Ipump = 5*C2*Fpump = Iin
Fpump = Iin / (5 C2 R1) = Iin / (5*100pF) = 2 kHz/µA
This makes possible some unusually simple and economical sensor interface topologies like the one in Figure 3.
Figure 3 Eight thermistors can share a single excitation resistor.
A typical NTC thermistor’s datasheet (e.g., Molex 2152723605) summarizes its characteristics with four parameters like these from the 2152723605 sheet, shown in parentheses.
To = rated/calibration temperature (25°C = 298.15K) (1)
Ro = resistance at To (10k+/-1%) (2)
b = beta (3892K) (3)
dissipation (self-heating) factor (1.5 mW/°C) (4)
Then thermistor resistance (Rt) as a function of temperature (T) in Kelvin is predicted by:
Rt = Ro exp(b(T-1 – To-1)) (5)
Choosing a value for excitation resistor R1 requires estimating the highest temperature (Tmax) any of the thermistors is expected to be immersed in, and hence the lowest resistance to be read. Then we figure
Rx = Ro exp(b(Tmax-1 – To-1)) (6)
R1 = 10k – Rx (7)
If calculation #7 calls for R1 < 0, then R1 is of course simply omitted. Taking for example Tmax = 100oC and numbers from the 2152723605 datasheet, Rx = 725, R1 = 10000 – 725 = 9275, to which the nearest standard 1% value is 9310.
The addressing of the thermistor to be read is done by output of the connected microcontroller by its three-bit binary U2 address on general purpose output lines GP0-2. A microcontroller internal counter-timer peripheral connected to input CTPin is then enabled to accumulate VFC pulses for 216 µs = 65.536 ms. Call the accumulated 16-bit integer ADC. Then the calculation of acquired temperatures, assuming 2152723605 sheet numbers again, would proceed thusly:
X = ADC/216 = 10k / (R1 + Rt)
X*(R1 + Rt) = 10k
Rt = 10k/X – R1 = 10k/X – 9310
T = (Ln(Rt/Rx)/b + Tmax-1)-1
oK = (Ln(Rt/725))/3892 + 0.002680)-1
oC = K – 273.15
The conversions are inherently radiometric, therefore insensitive to 5-V rail noise and tolerance, and integrating, making them highly noise pickup resistant. Which are not bad features for a two buck ADC.
Multiplexor U2’s error contributions—Ron and Roff—are, respectively, small (~60 ohms) and large (~100 Mohms) enough to not be significant factors.
Stephen Woodward’s relationship with EDN’s DI column goes back quite a long way. Over 100 submissions have been accepted since his first contribution back in 1974.
Related Content
- A simple, accurate, and efficient charge pump voltage inverter for $1 (in singles)
- Voltage inverter design idea transmogrifies into a 1MHz VFC
- Turn negative regulator “upside-down” to create bipolar supply from single source
- Single supply 200kHz VFC with bipolar differential inputs
- New VFC uses flip-flops as high speed, precision analog switches
- Inexpensive VFC features good linearity and dynamic range
The post Capture 16-bit readings of 8 thermistors in less than 1 second for $2 appeared first on EDN.