Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Precision Vreg/ref for MCU

Status
Not open for further replies.

Mosaic

Well-Known Member
Hi,

Just thought I'd ask for a better way to power an MCU with a <1% error 5VDC Vreg.

The regular 7805 types have a lot more error and it can cause drift when doing ADC sampling.

I don't have a spare pin to apply a Vref, so...it's a power supply solution I am looking for.

I suppose I can 'float' the 5Vreg to 5.25V and then have another lower pwr Precision Zener or something like that delivering a good 5VDC to the MCU?

Please advise!
Thx.


EDIT: I am considering swapping the LM2937 (5%) for a MIC5209 (1%) unit. But the +60/-50V transient tolerance of the 2937 for my auto app has me in a dilemma.
 
Last edited:
I just built a PIC-controlled battery charger. I needed a temperature stable regulator to act as a reference for the battery voltage measurement using the PIC ADC. I ended up using a TL431 shunt regulator to regulate the PIC's VDD pin. My PIC is being clocked slowly, so I only needed ~5mA.
 
Last edited:
That looks good Mike, esp. the bit in the spec sheet controlling a 78xx regulator error. Can u advise as to the voltage divider resistances to get 5.00V?

I suppose precision resistors are in order.
 
Have you tried compensating in software, either as a calculation done at startup or as a single calibration done when each device is built?
Thats a great idea the one I use the most But the hardest to get people to use LOL
 
Could you please elaborate?

or as a single calibration done when each device is built?

Hola Roman,

Could you please elaborate?

The autocalibration I know (from Motorola manuals) required to swap both inputs (invert signals) to get absolute differences, what I believe is not what you suggest.
 
I have done some software 'error correction' but the thermal drift issue needs to be addressed. The variation of +/- 0.25V on 5V nominal isn't good enough in my current app.

What I have done is to allow the input of a 'ref' voltage on the adc line.This gives a 'known' result on the applications display. The application is then 'corrected' by inserting an offset into the ADC value to compensate for the error.
This is really only valid for a smaller operating temp range.

I'll have to do some tests. If the 'calibration' offset keeps the result within 1% of actual, it is workable. Depends on the thermal drift of the LM2937.
 
Last edited:
Mosiac, if you have a spare pin available now, a lot cost solution is to connect a resistor and 1N4148 diode to that pin so your can measure the diode forward 0.7v drop with a spare ADC channel. That is all you need to recalibrate your other ADC in software. The 1N4148 is used basically as a zener, and as it is driven from the regulated 5v it's current is very constant so its plenty good enough for a voltage reference.

I also want to say that if your regulator is going through 0.25v "drift" caused by thermal issues something sounds really wrong there!

Atferrari-
Could you please elaborate?
The autocalibration I know (from Motorola manuals) required to swap both inputs (invert signals) to get absolute differences, what I believe is not what you suggest.

I've done this when using LM335 temperature sensors, they are sensitive to changes in the 5v supply as their "zero" point is about 2.7v. I just build the thing, check it's temperature reading then compensate for the +5v with a simple constant in software. Generally the output of a 7805 remains quite constant provided the load is light and constant, which is usually is in something like a little thermometer.

It's a manual calibration (not auto) but if you need auto you could use a voltage injected into another ADC pin and autocalibrate once when it is first turned on.
 
You could use a 5V reference with high output current capability like MAX6035, but it won't solve this :

EDIT: I am considering swapping the LM2937 (5%) for a MIC5209 (1%) unit. But the +60/-50V transient tolerance of the 2937 for my auto app has me in a dilemma.

Does your microcontroller have an internal voltage ref ?
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top