Pages: [1]   Go Down
Author Topic: Arduino voltage regulator feeding more voltage than input?!  (Read 1212 times)
0 Members and 1 Guest are viewing this topic.
Portugal
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello

I have an question that I cannot find the answer in Google:

I connect the USB (from computer) to the Arduino and when I measure the voltage with the multimeter the Vin pin (which is the voltage directly from USB computer) I read 5.19v and when I read the voltage from 5v pin (which is the voltage from arduino voltage regulator) and reads 5.6v !!!! And I measured the 3.3v pin and multimeter says 3.7v!!!

How can this be possible? More output voltage than input?

I've tried several computers with more voltage eg. 5.2v and the 5v pin feed even more voltage! Help me explain this!
Logged

Offline Offline
Edison Member
*
Karma: 58
Posts: 2078
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I know what it is. It is .......  impossible !

What kind of multimeter are you using ?
Which Arduino board are you using ?
Do you use the Ground from the GND pin ?
Logged

Portugal
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Its an Arduino UNO R1, and I'am using this multimeter: http://www.petervis.com/meters/Excel_DT9205A/Excel_DT9205A.html

I know thats impossible but is what I'am getting from the multimeter.

I connect the pins to an breadboard and I measure the Vin and 5V and 3.3V connected to the ground pin next to it on arduino.

I need to solve this to know the exact voltage to use the TMP36 to measure the temperature.

I also read the voltages directly from the voltage regulator and I'am getting the same thing!

Can this happen because I'am feeding only 5v? In arduino page says minimum 7v.
Logged

Offline Offline
Edison Member
*
Karma: 58
Posts: 2078
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Is that a cheap 10 dollar multimeter ?
They could easily be 10% inaccurate. Perhaps your multimeter has a problem and is even more inaccurate.
Most of those very cheap ones are only 1 or 2% inaccurate.

To be sure, you should use a better multimeter.

If you use the USB connector to power it, the voltage is perhaps a little below 5V. But that is not a problem.
The DC adapter plug is for 6...12V.
You could try an adapter. The Vin should be almost the same as the adapter DC plug, but the 5V should be 5.0V.
But you need a better multimeter to test it.

I suggest to use the USB to power the Arduino, and assume it is 5V, and use the TMP36 as you would (connect to 5V pin and GND and analog input).
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17301
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello

I have an question that I cannot find the answer in Google:

I connect the USB (from computer) to the Arduino and when I measure the voltage with the multimeter the Vin pin (which is the voltage directly from USB computer)

No, The USB +5vdc does not connect directly to the Vin pin, study a Uno schematic. You are just reading some 'leakage' voltage on the Vin pin if your board is being powered only via it's USB cable.

 I read 5.19v and when I read the voltage from 5v pin (which is the voltage from arduino voltage regulator) and reads 5.6v !!!!

The value of the USB's +5vdc is determined by your PC and can vary from 4.75 to 5.25 and still be within the USB standards. Your meter's calibration might be a factor in your reading of 5.6vdc, but who knows for sure?
 And I measured the 3.3v pin and multimeter says 3.7v!!!

Again that might be a calibration error in your meter, but the value of the output 3.3vdc regulator is determined only by the regulator and will have some standard tolerance variation.

How can this be possible? More output voltage than input?

I've tried several computers with more voltage eg. 5.2v and the 5v pin feed even more voltage! Help me explain this!

 Again the on-board +5vdc regulator is only powering the board if the board is being powered via it's external DC connector or it's Vin pin. If being powered from only the USB connection then the on-board regulator is not being used and is not supplying any current, nor is it determining the value of the Vcc bus for the board.

Lefty
Logged

Global Moderator
Offline Offline
Brattain Member
*****
Karma: 495
Posts: 19035
Lua rocks!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I connect the USB (from computer) to the Arduino and when I measure the voltage with the multimeter the Vin pin (which is the voltage directly from USB computer) ...

As Lefty said, no it isn't. The signal XUSB goes via MOSFET (T1) directly to +5V. Any voltage appearing on Vin would be parasitic. A 0.7V voltage drop would not be all that surprising.
Logged


Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 631
Posts: 34493
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I read 5.19v and when I read the voltage from 5v pin (which is the voltage from arduino voltage regulator) and reads 5.6v !!!! And I measured the 3.3v pin and multimeter says 3.7v!!!
So have you noticed that all the voltages that should be higher are higher.
The 5V pin will be 5V but you measure it at 5.6V, and the Vin which will be lower when you power from the USB is lower than that. Therefore all that is wrong is your meter.
Logged

UK
Offline Offline
Faraday Member
**
Karma: 100
Posts: 4153
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Which MCU is on the R1?  Is it the 328 or the 328P?  If it's the 328P then you have an internal 1.1V voltage reference as part of the BOR system.

You can use that to calculate what the actual Vcc value is without using a multimeter.

Code:
long readVcc() {
  long result;
  // Read 1.1V reference against AVcc
  ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  delay(2); // Wait for Vref to settle
  ADCSRA |= _BV(ADSC); // Convert
  while (bit_is_set(ADCSRA,ADSC));
  result = ADCL;
  result |= ADCH<<8;
  result = 1125300L / result; // Back-calculate AVcc in mV
  return result;
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println( readVcc(), DEC );
  delay(1000);
}

Note that this does NOT work on the 328, but requires the 328P.  Also note that the 1.1V reference isn't *that* accurate, but it sounds a whole lot more accurate than your multimeter.
Logged

Get 10% off all 4D Systems TFT screens this month: use discount code MAJENKO10

Offline Offline
Edison Member
*
Karma: 30
Posts: 2483
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Set a pin to high, whats the voltage reading?
Logged

Portugal
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

First of all THANK YOU to everyone that helped me to learn a lot.

I made an exhaustive test to everything, that all suggested to me to test.

  • Voltage from outlet: 264-267 V (i'am in Europe, but IT seems a bit far from standards [220-240v])
    Voltage from 5 V computer power supply: 5.78 V
    Voltage from USB port: 5.63 V

    Voltage from 5 V Arduino Pin: 5.63 V
    Voltage from Arduino Pin 8: 5.61 V
    Voltage from 3.3 Arduino Pin: 3.7 V
    Voltage from Vin Arduino Pin: 5.03 V

    Voltage from Arduino voltage regulator: 5.03 V (1st and 3rd pin)

Another test suggested by majenko
Yes my Arduino UNO R1 is an 328P and I uploaded the sketch, and I get this results from serial:

  • 5046, 5068 (I think this values are in milivolts, so is 5,05 - 5,07 Volts)

Also made test fedding the Arduino via DC jack, but I've had a problem because:
1st I have an DC jack to 9v battery, BUT I don't have any 9v battery smiley-sad
2nd I've found an power supply with an jack that fits in Arduino DC jack, BUT it's rated to 5V only

Anyway, I tested and i realize the test I made is reliable.

  • Voltage from DC jack: 4.53 V
    Voltage from Arduino 5 V pin: 2.71 V
    Voltage from Arduino 3.3 V pin: 2.71 V
    Voltage from Arduino voltage regulator: 2.73 V (multimeter leads: base[top of voltage regulator] + pin 1)
    Voltage from Arduino voltage regulator: 3.75 V (pin 1 + pin 3)
    Voltage from Arduino Vin pin: 3.75 V

MY CONCLUSION

I concluded what retrolefty and Nick Gammon said about the USB bypasses the voltage regulator, yes it is.

BUT the Vin leakage is wrong because, I the voltage that I get from Vin IS THE SAME when i measure the 1st and 3rd pin from voltage regulator. Because the results above is the same voltage readings with USB (5.03 V) plugged and the DC jack (3.75 V) plugged.
AND seems the voltage regulator is operating to the Vin pin when USB is plugged because the values measured from Vin and voltage regulator are the same.

From the test "secret multimeter" inside the Arduino Chip, HAS an mismatch or NOT, because from pin 8 the voltage reading is the same as 5 V pin, so the value readed by the internal multimeter is VERY wrong (5,05V to 5.6V) because if the voltage from pin 8 is what has inside the Arduino chip.
OR is right because the internal reading is almost the same as the Vin voltage and the voltage regulator, but this last conclusion doesn't make sense.

Another conclusion, Yes it needs more voltage input from DC jack to the Arduino work properly.

And another conclusion my question in thread is wrong because my input USB voltage is a little more than Arduino 5V pin, NOT less as I asked.

BUT...

FINAL QUESTION
How do I get an reliable voltage reading from that secret multimeter? Because I want to have acurate readings from TMP36. The only solution is to feed the Arduino via DC jack?



PS: I know all reading are a bit inaccurate because the multimeter is not so good. I viewed a lot of YouTube videos about multimeters, and I are much more informed, and I want to buy a proper multimeter, and I found this one: http://www.amazon.co.uk/gp/product/B000JKMTDM/ref=gno_cart_title_1?ie=UTF8&psc=1&smid=A1FXZ9BNGT1OWR

This multimeter is good for hobbyists?

THANK YOU FOR YOUR HELP
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17301
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
BUT the Vin leakage is wrong because, I the voltage that I get from Vin IS THE SAME when i measure the 1st and 3rd pin from voltage regulator. Because the results above is the same voltage readings with USB (5.03 V) plugged and the DC jack (3.75 V) plugged.
AND seems the voltage regulator is operating to the Vin pin when USB is plugged because the values measured from Vin and voltage regulator are the same.

If you have no external voltage applied to the external DC connector or the Vin pin (just using USB power) then any voltage you read on Vin is just bogus leakage value as the voltage regulator is not operating (not functioning) at all, just having it's output pin hanging on the boards Vcc bus that is being powered by the USB port.

 If you have both an external voltage applied to the DC connector or Vin pin and also have the USB plugged into your PC then the on-board voltage regulator is operating and it then determines the value of the boards Vcc voltage and the USB +5vdc is isolated and not powering the board.

Lefty
« Last Edit: February 25, 2013, 12:29:23 pm by retrolefty » Logged

Pages: [1]   Go Up
Jump to: