Friday, 21 April 2017

Voltage dividers and ADC's


I want to read a voltage from 0-30V with an MCU ADC which has a maximum input of 3V.


Initially I thought of using a 100k-10k divider (so 33V translates to 3V) but according to the answers to ADC input impedance on MCUs, this will add a 3% error due to the input leakage current; I'm looking for 0.5% error maximum. However, at lower values for the divider, I risk damaging the MCU's inputs because of overvoltage (the resistors act in tandem with the clamping diodes on the input.) I also increase power dissipation in my resistors, which are tiny 0603 devices, rated for 0.063W maximum. How can I avoid this? n.b. input impedence is not critical.


I'm not worried about sampling speed, it will be monitoring a battery voltage at a maximum of 100 samples per second.



Answer




Use the voltage divider with resistors, and an opamp follower afterwards. Alternative use an opamp circuit to reduce the voltage and you can perform anti alias filtering in one stage!


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...