problem o----
.--------------------. .--------------------. | | | | | 10 kilomonkeys |--->| 10 kilotypewriters |---> answer | | | | (eventually) '--------------------' '--------------------'
Tim
problem o----
.--------------------. .--------------------. | | | | | 10 kilomonkeys |--->| 10 kilotypewriters |---> answer | | | | (eventually) '--------------------' '--------------------'
Tim
Very nice, Fred!
These should be very close to practical values:
24K9 10n ___ || 6.02V >--|___|--+--||---. | || | | === Vout >---------. .--------+ GND | | | .-----. | \\+ -/ +-|| comparator \\ / ->|| V +-||---. | | | | 1V | .--o--. | GND -|D S Q|-------------' | | 100Hz Clk >---|> -| ___ | R Q|---|___|--+-----> Flow '--o--' | 200mV full scale --- --- | === GND
Er, KbT/q is volts. And it's 300K. Lead melts at 300C.
Just how long have you been unemployed, Bill? Ordinarily you're just a sourpuss, but when you start reporting incorrect facts, you're actively sabotaging things.
Tim
26 mV is reporting a voltage in volts. Sorry about the 300C. It was meant to be 300K - which is 26.85 Celcius, and a bit warmer that European room temperature - 20C - or US room temperature - 25C - but the value traditionally associated with declaring kT/h to be 26mV. By claiming that 300C was room temperature I did provide enough extra information to avoid confusing all but the terminally stupid
kT/h was given as 30mV in the applications I read when I was young, but we've got pickier since then.
As for "reporting incorrect facts" you've just told us that 26 mV isn't a voltage, as if millivolts weren't an an absolutely standard unit with the dimension "volt".
Sorry to be a sourpuss about this, but your tone hasn't given me much alternative. Spehro's crack about melting lead was distinctly more civilised.
-- Bill Sloman, Nijmegen
A second degree polynomial fit is not too bad either.
V = -7.6087e-05*F^2 + 3.4724e-02 *F + 1.0566
BTW, your c1/c2 didn't work for me; shouldn't it be
128,125 rather than 5,125?
Thanks for calculating the values I was to lazy to compute.
Now I can reveal the whole world the last simplification bit (ahem) : that is, if you make sure the duty cycle is far enough from 100%, which sure would be with a 100Hz clock, then you can just delete the 1V reference and make it a simple resistor (with a small bypass cap) so that the 6.02V reference with the 24K9/Rsource divider just gives you the wanted 1V at the capacitor top. Adjust the source bypass cap to optimize the circuit behavior WRT the mosfet charges. A value from the low tens of pF to maybe 1nF.
Also, please applause the effort I made in disclosing the resistor's secret value (just had a cup of coffee :-).
That would be: 24K9 10n ___ || 6.02V >--|___|--+--||---. | || | | === Vout >---------. .--------+ GND | | | .-----. | \\+ -/ +-|| comparator \\ / ->|| optim. V +-||---. .---||-----.
| | | | ___ | | '--------+--|___|---+
.--o--. | 4K96 | GND -|D S Q|-------------' === | | GND 100Hz Clk >---|> -| ___ | R Q|---|___|--+-----> Flow '--o--' | 200mV full scale --- --- | === GND
[snip great, simple antilog circuit]
Absolutely wonderful, I'm truly amazed how even elegant, simple circuits can often be optimized and refined even further! Now talking about optimization: from this design, it would appear that one could swap the MOSFET and 4K96 resistor -- which would mean that the internal discharge FET (using an ICM7555) can be used, doing away with an external MOSFET altogether.
I'll build this beastie tomorrow, and I'm sure to let you know how it turns out!
Thanks once again, best regards,
Richard Rasker
I think you made a miscalculation then, or misinterpreted the formula; the sensor's Vout exhibits an e-power curve which asymptotically approaches
+6 volts, which means that c1 must be 5. An example with F=75ccm: Vout = 5(1-e^(-75/125))+1 ~= 5(1-0.55)+1 = 5*0.45+1 = 3.25VRichard Rasker
Of course you're absolutely right (I guess one cup of coffee wasn't enough this morning). Now you've really squizzed the last remaining bit of optimization out of this.
Indeed! VERY NICE! I nominate Fred's solution as the "Most Clever SED Posting of 2009" !! ...Jim Thompson
Rich Grise schrieb:
Hello,
works well for 8 bit ADCs, also for 10 or 12 bits. With large EPROMs also for 14 or 16 bits.
Bye
These days it works for any A/D or D/A you can find.
I use Excel for that purpose. If you choose an X-Y graph you can choose to show a math approximation.
Fred Bartoli a écrit :
Argh... And also don't forget to shift the 6.02V by one volt too and make it 7.02V, which makes the resistor's secret value 4K14
Matlab etc. (if you have it) or Excel can help with this kind of design. I took the solution to the diffeq for capacitor charging from an intial voltage
v(t) = Vf * (1- exp(-(t-a)/tau))
and fit that to the data points to find a, Vf so as to minimize the sum of errors squared from each data point.
With Excel 2003+ I think solver is not loaded by default, just a less powerful function that will only change a single variable.
It might be worth dividing down the input voltage to allow the 6.02V reference to be the same as the output reference (eg. FF power supply) which I assumed to be 5.00V). Then a series 5V 0.1% reference like the ADR395 could be used and a 1% NP0 cap. Stray capacitance would require a bit of fiddling to compensate for, but it should be pretty darn stable.
.--------------------. | | | Infinet monkey | | crap | '--------------------' ^
You left out a factor. :)
a
Well, just for YOU, then, how about using a straight two-slope converter except that the counter value selects a tap on an analog multiplexer, to a multiplicity of current sources. The 'discharge' part of the converter doesn't operate from a fixed reference current, but from a MODULATED reference current, programmed by the converter count value.
Unlike the diode-feedback schemes, this makes a true polygon of the readout as a function of input. A '4051 analog switch will suffice for an octagon.
A PAL does the digital, a '4051 and some op amps does the conversion, and the readout can be a decimal counter module. Eight or so fixed resistor values set the curve.
[snip schematic]
OK, I've been doing some experimenting, and the 555 (or ICM7555) isn't suitable after all. The Vcontrol range doesn't extend down to 1V, and the flip-flop is set directly, instead of being edge-triggered (which would require a clock pulse with a shorter duration than the output pulse).
So I'd still have to use a separate D-flip-flop, comparator and clock pulse generator, requiring at least two separate devices.
But as it turns out, there is a solution with just one comparator or opamp:
o +10.0V | | ________ | | flow | |--| sensor |--. | |________| | R1| | | | |10K | | === | | | gnd | |\\ .-----+-------------(---|-\\ ___ | | | | | >--|___|-----> Vout R3| | R2| | ---C |--|+/ 100K | | | | | --- | |/ ---1uF | | | | --- | === === | | ||--' gnd gnd ||--' === ||
Have something to add? Share your thoughts — no account required.
Ask the community — no account required