Electronics > Projects, Designs, and Technical Stuff

DIY ADC

(1/1)

hulipa:
Hi,
This is my approach to making an really simple ADC.
It uses the Capacitor discharge formulae. Since we know the RC time constant is 1(by multiplying R and C). We can measure the time it need for the voltage between the cap's terminal to reach 0.001v by using a OpAmp as a comparator.
Those mosfets(yes i know they are overkill) were used as a switch to discharge the capacitor through the resistor.
That's basically how the circuit works. Let me know if you want the code of the arduino.

Kleinstein:
The circuit is really odd and may not even work well - that is better than the 10 bit µC internal ADC.

Probably the easiest way to get more resolution than the µC internal ADC is a simple sigma delta converter. It needs a 1 OP integrator. The µC internal ADC reads the integrator and uses PWM from the µC with a resistor for feedback. If a reference different from the µC supply is needed, add a CMOS gate or CMOS switch (e.g. HC4053).

I had build this long time ago - if was kind of fun to get some 18 bit resolution on the bread-board. Still an external ADC like MCP3421 is likely easier - though not on the bread-board.

hulipa:
Yeah i should probably make a Delta Sigma ADC instead of this weird circuit. I mean it works, and have a resolution of over 24bit, but it is not that accurate.

james_s:
Joystick and paddle inputs on old computers typically used a ADC that worked similarly by measuring the discharge time of a capacitor. I've seen more complex ADCs that used a DAC driven by an up/down counter with the count direction controlled by a comparator that compares the input voltage being measured to the voltage coming out of the DAC. Not much point in building one like that these days but I always thought it was a clever circuit.

Navigation

[0] Message Index

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod