Neat... I've tried to tackle a similar impedance/level translation problem some time ago and came up with a dozen lame designs and few good ones.
One design was based on the LTC6101 differential inputs across the I sense resistor.
D from BC
Neat... I've tried to tackle a similar impedance/level translation problem some time ago and came up with a dozen lame designs and few good ones.
One design was based on the LTC6101 differential inputs across the I sense resistor.
D from BC
Yes, but that IC only goes to 100V and 100kHz, the design above can be easily extended to 1kV and goes beyond 1MHz.
Two more problems: if the amp rails, it can cave in the power supply, maybe latching things up. Or it might turn off Q2 through the b-c junction of Q1.
A fet for Q1 helps. A resistor between Q1 and Q2 fixes the other problem.
It's almost appealing to go back to discretes, especially for a fast differential version.
Simple circuits can have so many hazards!
John
--- Sure, but's that not what I was suggesting.
Drawing it this way:
. FWB REG . +----+ +-----+ .120AC>-+ +--|~ +|---+---| |--+------------+------>Vcc . P||S | | |+ +--+--+ | | . R||E | | [BFC] | | | . I||C | | | | +--|----+ | .120AC>-+ +--|~ -|-+-+------+ | | | | . +----+ | | Vcc [RFB] | ADC . | | | +---+---+ .250VDC>-----------+-+-[Rs]--+---+-|-\\ | | Vcc | . | | | >--+---|IN OUT1|-->ADOUT1 . +---------|---+-|+/ . . . | | GND | OUT8|-->ADOUT8 . | | | | GND | . | +--+ +---+---+ . [LOAD] | | . | +------------+ . | .GND>------------------------+ May make the concept easier to understand, which is that you can float everything on the 250VDC signal, using it as a pseudoground, and do your processing something like this:
250 + LVDC / +----------+----------+---------+ Vcc | | | | | [LVDC SUPPLY] | | | [R] | | |ADC |µC OPTO | | +---|-\\ +--+--+ +---+---+ +----+ | | | | >--+--|A D|--|I/O I/O|--|A C|-+->OUT 250VDC---+-----|-+-|+/ | +--+--+ +---+---+ | | | | | | | | | | | [RS] | +--+----|-----+---------+------|K E|-+->GND | | | \\ +----+ | +-----+--[RF]---+ PSEUDOGROUND | | | [RL] | | | GND>-----+---------------MAYBE-------------------------+What does your system look like, anyway?
--- Only the one on the load side.
---
--- Here's what you're talking about:,
E1 E2 | R5 |
+250>--+--[SHUNT]--+--[LOAD]--+ | | | [R1] [R3] | | | | +-E3 +-E4 | | | | [R2] [R4] | | | | GND>---+-----------+----------+and if we wanted to start putting some numbers in there, we'd start with the shunt and the load.
Since you're looking for low millivolts out of the shunt let's assume the entire 250V is dropped across the load. Then with your specified 10mA max current into the load, it'll look like:
E 250V R = --- = ------- = 25000 ohms I 0.01A
Now, assuming "low millivolts" means 10mV with 10mA through the shunt and the load, that makes the shunt resistance:
E 0.01V R = --- = ------- = 1.0 ohm I 0.01A
So your circuit now looks like this:
E1 E3 | R5 |
+250>--+--[1R]--+--[25kR]--+ | | | [R1] [R3] | | | | +-E2 +--E4 | | | | [R2] [R4] | | | | GND>---+--------+----------+Now, assume you've got a rail-to-rail input opamp which you can drive from a 25V supply and which has a common mode range from 0V to the supply voltage. Then its inputs will have to be slightly below
25V and to get there you'll need to drop the 250V to --+--[1R]--+--[25kR]--+ | | | R1[226k] [226k]R3 | | | | E2--++--E4 | | | | R2[24k9] [24k9]R4 | | | | GND>---+--------+----------+With the 250V at zero, E2 = E4 = 0V, and the output of your instrumentation amp would be 0V, ideally.
With the supply at 250V, though, we have for E2:
E1 * R2 250V * 24.9kR E2 = --------- = ---------------- = 24.81068 volts R1 + R2 226kR + 24.9kR
For E3, assuming the load takes 10mA and R3R4 takes 1mA, we have:
E3 = E1 - (I * R5) = 250V - (11mA * 1R) = 250V - 11mV = 249.989V
And for E4:
E3 * R4 249.989V * 24.9kR E4 = --------- = -------------------- = 24.80959 volts R3 + R4 226kR + 24.9kR
The difference between E2 and E4 is:
E5 = E2 - E4 = 24.81068V - 24.80959V = 0.00109 volts
so to get 5V out of your opamp with 0.00109 volts in, you'll need a gain of:
Eout 5.000V Av = ------ = ---------- ~ 4587 Ein 0.00109V
Tricky at 1MHz. ;)
Of course you could always increase the resistance of the shunt.
10 ohms would get you to a gain of ~ 459 and 100 ohms to ~ 46.-- JF
Winfield Hill snipped-for-privacy@rowland.org posted to sci.electronics.design:
As seems to have been conventional for North America and most of Europe since the 1930's or so.
The original post was about producing a ground referenced voltage proportional to load current with 8-bit accuracy and 1MHz bandwidth, so what has changed?
Deconvolution has little to do with the sampling theorem...
But please explain what mathematical transforms you had in mind, and what analog requirements could be relaxed, when you wrote
"This means a more intelligent approach would relax the complexity and performance requirements of the analog kluge and compensate with a deconvolution of the data."
John
Fred doesn't know, he just copied the verbiage from Wikipedia because it sounded intelligent ;-)
...Jim Thompson
Yup. Sounded like word salad to me.
John
John, I'll have to say, no, that's wrong. If you think it through carefully, you'll see those states either cannot occur, or they quick move on to a safe operating condition.
Actually, the 9.90k resistor leaves the bias cancellation in error by 1%. So, correcting this minor problem:
Fast high-voltage high-side current monitor, r2-c
10.0 +250V Iout ------+------+---/\\/\\----+----o ---> 0 to 10mA load | | | / '--+--------|---, \\ 200 | | | / 1% | 190 / | | | 1% \\ | +---------|----, / +---, | LT1783_|_ | | | | 7.5V zener Q1 e / -|--' | _|_/ | fast b ---< | | /_\\ _|_ PNP c \\__+|------+ | --- 0.1uF | | | | | Q2 e +--------|---+---+ mpsa92 b ------' | | c 470k \\ / 330k | Ib = 0.5 0.5W / \\ 0.5W | to 1.0mA \\ Ia / | | | 1k / ,------' gnd \\ | 10.0k / +---/\\/\\---, | 1.111k | __ | 0 to +5V out | ,--/\\/\\--+--|- \\ | for 0 to 10mA | gnd | >---+------ +--------------|+_/ | 1.00k '---/\\/\\/--- gnd
Apparently you have absolutely no clue of the analog GBW requirement of the circuit to maintain less than 1/2 LSB error at 8 bits out to 1MHz. Obviously you would want to keep things simple, something like a dominant pole low pass roll-off for that, then unless you have a DSP with FFT, you would use a time domain convolution to reconstruct the unfiltered data record of the current. Maybe this doesn't have to be done in real time, maybe the circuit can just acquire the data on both the current profile and the sensor response to a known stimulus, and this can be processed later, download the files to a PC or workstation for processing and display. I'm not real concerned about the OP and his imagined requirements, skill set, or anything else, including your opinion or ideas, you're so dull and boring...
What neither you nor I have a clue of is whether the op expects 1/2 lsb at 1 MHz, or whether 1 MHz might be an acceptable -3 dB point. In the real world (hello!) the latter would be the likely situation. Especially seeing that the latter is totally out of the league of this situation.
You can't computationally replace bits once they are lost. The key to accuracy here is doing the analog stuff (and digitization) right, not massaging the data after it's trashed. Yes, analog circuit design bores you.
What doesn't bore you?
John
On a sunny day (Wed, 12 Dec 2007 07:23:08 -0800) it happened John Larkin wrote in :
I have thought of a third way to do this. Say you use a 74HC4054 CMOS switch on the high side, that switches at about 10MHz between both ends of the shunt, and apply that 10MHz carrier, with amplitude exactly equal to the voltage drop over the shunt, via a 1:1 transformer to an opamp precision peak rectifier on the ground level. I am still thinking what to use to swith the 4053, a 555 is not fast enough. UJT?
On a sunny day (Wed, 12 Dec 2007 15:46:24 GMT) it happened Jan Panteltje wrote in :
I have got it, integrated xtal osc module.
The high-side stuff could be completely unpowered: one transformer sending a carrier square wave up, to switch a pair of small mosfets, and a second transformer to bring the modulated signal back down.
Somebody (one of my competitors, actually) does thermocouple acquisition that way. We float the entire preamp/adc per channel, with a dc/dc converter powering the floating stuff and an Analog Devices logic isolator bringing the data back down,
John
Yes, forward-biasing the b-c junction of Q1 won't happen, bacause the power supply would cave in first.
Still, startup is interesting, but probably OK.
John
You don't what you're talking about. Deconvolution no more manufactures lost bits than pre-emphasis 'cheats' line loss. Deconvolving a linear circuit is the simplest possible use.
What do you propose to deconvolve in this situation? If you lowpass the data, you just kill bandwidth, which is hard to come by here. If you try to extend the bandwidth, you magnify the noise... a linear transfer function can't create precision where it doesn't exist.
Deconvolution is one of the family of "ill-posed problems", in the sense that, given an imperfect signal A, and an ideal signal B, what is the transfer function T that satisfies
B = A ** T
where ** is convolution.
Forests have died making papers about this problem.
The obvious Fourier solution (f.transform A and B, divide fB/fA, reverse transform) tends to have singularities (ie, zero lines in A) or bad noise problems (near-zero ditto). This ain't turf for the faint of heart, or wikipedia bs artists, either.
I've developed an iterative time-domain method, and it's fun to play with. A little iterating is pretty good, but if you get greedy and try to equalize too well, namely insist on making B perfect, it blows up.
What sort of work have you done in deconvolution?
John
Have something to add? Share your thoughts — no account required.
Ask the community — no account required