0

I recently thought of using an Arduino to measure voltage and I stumbled across the problem that what is the max voltage I can measure??? It is an Arduino Uno and I am thinking that I would also display the voltage measured on a 16 * 2 LCD screen.My guess is max of 5 volts but if this is correct how can I increase its range?

3

Without any further configuration, the ADC (Analog Digital Converter) of the Atmega328P (which is build onto the Arduino Uno) uses Vcc as voltage reference (meaning 5V in the case of the Arduino Uno). A voltage of 5V will result in the maximal value (which is 1023, since this is a 10bit ADC). So the voltage range in this case is 0 to 5V.

The Arduino Uno has an extra pin, where you can supply an own reference voltage. But it's limit is tied to the ADCs supply voltage AVcc, which is 5V for the Arduino Uno rev3 (as shown in the schematics of the Uno). The reference voltage should then be in the range of 1V to AVcc. So this still gives you only a range of 0V to 5V or smaller.

When you use a standalone Atmega328P, you can make AVcc a bit higher than the chips supply voltage Vcc, but at maximum Vcc + 0.3V.

You can check all these numbers by looking into the datasheet of the Atmega328P, chapter 28.9 (Electrical Characteristics --> ADC Characteristics).


How to increase this range depends greatly on your requirements. If you simply need a constant higher range, you can simply put a voltage divider in front of the analog input. Or you can use a more complex circuit involving an op-amp (amplifier ciruit, here with amplification factor below 1). You can even build this to be variable.

Should it be, that your wanted voltage range exceeds the 5V greatly, for example, if you want to measure mains voltage (230V for most europe, 110V in USA), you should definitely take great care and never connect this directly to electronic like the Arduino. High voltages (especially at high possible currents) should always be handled with great care.

2

The ATmega328's (it's the microcontroller on the uno) absolut maximum rating is Vcc + 0.5V for any pin (except the reset pin) while Vcc must not be higher than 6V.

In order to measure higher voltages you have to use a voltage divider (read this) to adjust the input voltage to the range 0V - Vcc.

  • 1
    Not 100% right. That value is the absolute maximum rating, which is what voltage you should not exceed. The ADC will read values between Vref- and Vref+. Usually Vref- is ground, while Vref+ is usually set to Vcc (unless you use the internal voltage reference, which is way lower). See chrisl answer for more details – frarugi87 May 14 at 14:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.