Making a DMM...

Status
Not open for further replies.

adamthole

New Member
Hello,

I have successfully made a Volt meter using a 16F88 and a 16x2 LCD display. Now I am thinking about extending the capability to measuring currrent and possibly resistance.

The voltmeter was easy, you simply measure the voltage input to the PIC plus your equation for your attenuation. Very straight forward. But how would I measure resistance or amperage?

I feel like this is a dumb question, but my google searches came up with nothing.

Thanks!

BTW, in the end assuming I did a good job coding and used good high quality components, how accurate will my DMM be compared to say a Fluke...or compared to a 5 dollar one. What I am really asking is how good is the quality of the PIC ADC.

Also, for my voltmeter I need a 5V power source that will produce exactly 5V (ref voltage). My current one is around 5.07V (7805). Any suggestions?
 

To measure current you simply measure the voltage drop across a resistor (known as a 'shunt'). For resistance, simply pass a constant current through the resistor and measure the voltage drop across it - this gives a direct reading linear scale (assuming you choose the current correctly, consult ohms law!).


For a start, check my tutorials - particularly the use of a 2.5V precision voltage reference IC for the reference voltage. You shouldn't use the 5V rail as reference if you have any need for any kind of accuracy.
 
I don't think that making a DMM is a good idea. If you just want to have fun and/or to learn something then it is OK. But what is the reason to build one if you can buy 10 times better one, that is cheaper, smaller and well packaged and is more accure?
 
Yeah, it is just to learn something/fun. In my electronics class we are making a power supply and I wanted to make a homemade voltmeter for it to display the voltage as it is adjusted.
 
OK, that's fine. You really should see Nigels tutorials, they have all necessary info.

Your "DMM" would be precise enaugh for your needs (PSU measuring).
 
Oout of curiosity, what will make mine less precise? Will it be the PIC itself with its 10-bit resolution or something else?

I checked out your tutorial and saw that you use the equivalent of a TL431 precision voltage regulator, but I didn't find anything explaining why to use 2.5V ref instead of 5V.

Thanks
 
It's not about the value of reference voltage, it's about its stabilty (mostly).

Take an osciloscope probe and measue the +5V rail at any digital circuit (eg PIC), what you will find is a very noisy reading.

Now try the same with a nice voltage reference, the difference is huge.

So if you use +5V rail as a ADC reference, the noise from other digital parts will degrade the result of ADC significantly.

And if you use lower voltage for reference (say 1/2), then your signal can be two times weaker (less amplification is needed), so this will reduce error even more.
 
Before this post dies, any reccomended series resistor values for measuring current? My guess is low, but how low?
 
adamthole said:
Oout of curiosity, what will make mine less precise? Will it be the PIC itself with its 10-bit resolution or something else?

10 bit resolution (as I said before) gives 0.1% resolution, although I'm not sure what accuracy MicroChip quote?.

But mostly it's down to the precison of the reference used, and the tolerance of the external components.

I checked out your tutorial and saw that you use the equivalent of a TL431 precision voltage regulator, but I didn't find anything explaining why to use 2.5V ref instead of 5V.

Basically two reasons:

1) It provides a stable reference, the 5V supply doesn't at all.

2) It only requires a 0-2.5V input, this prevents any problems with the input opamp having to swing 100% to the 5V rail (which even rail to rail opamps don't do). This was also the reasoning behind using a negative voltage generator, so the opamp output can go completely to 0V.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…