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?
 
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.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…