Measuring Current

Hi, I'm going to measure the current drawn up by Arduino and Xbee module with oscilloscope. I have my sensor connected to analog_pin_0 and Xbee attached on Xbee shield. I plan to monitor the dc current usage against time when the arduino is reading the sensor signal from analog_pin_0 and when xbee is transmitting data.

The problem is where should I connect my oscilloscope? Connect it serially to 9V battery? Or put a resistor serially to the battery or at analog_pin_0 and measure voltage across it?

Any suggestion and advice is well appreciated. Thanks!

Do you have to use an OSC to do that? Even with an OSC you are not going to see the current change over a reasonable period of time (say a few seconds). That said, if you must use an OSC, you should put a small resistor (i.e. a few ohms) and put the OSC inputs on both sides of the resistor and set your Y sensitivity accordingly.

An O scope is not really the best instrument to read current. One reason is that the ground clip on a scope is usually connected to the AC power ground. A digital multimeter is much better for measuring current as it's a 'floating' device and can simply be put in series with the battery on either the positive wire or the negative wire.

The other reason not to use a o-scope is that is will require you to have a series resistor installed from the battery negative lead ( 1 ohms, 10 ohms, not any bigger then that) with the scopes ground lead connected to battery negative and scope probe tip connected to the other side of the series resistor. This resistor has to be small in ohms or it will drop too much voltage supplied to the Arduino system. As a scope only reads voltage, you will have to calculate the current using current = voltage read / resistor ohms, and it will be a small voltage on the scope.

So bottom line, you can read current draw with a scope but it's kind of a hassle and not the most accurate method. Even a cheap digital multimeter is better in my opinion.

Lefty

One reason is that the ground clip on a scope is usually connected to the AC power ground.

Well old hands used to remove the ground from the oscilloscope but in these health and safety obsessed days it tends to be frowned on.

Forgot to tell you all that My Xbee will send data for every 5 seconds, that means I will put the Xbee in cyclic sleep mode for 5 seconds after sending and sleep again.

If I can't observe the DC current against time how about DC voltage against time? Should I connect the oscilloscope probe parallel to 9V battery supply or somewherelse? The most important point in my work is that I must use oscilloscope to observe the power consumption. The pattern observed on the graph should like several impulse response and there is about 5 seconds interval on near 0V between them.

If you have a dual trace scope put it in differential mode, one probe on either side of the series resistor and calculate the current from the voltage drop you read.

Much easier to use a multimeter in the current mode for this.

PEace
Phil

Cool,
I don't wish to sound negative, but if i was asked which was the most unsuitable instrument to measure slow changing DC variables, I would have to say an oscilloscope.

As others have alreay said a couple of half decent digital meters would far better meet your need. In fact, for measuring the step changes of current you might want to consider an analogue meter.

jack

about DC voltage against time

That will be and should be constant. The voltage of you supply should not change no matter what current is being drawn. This is not true if you overload the supply but you don't want to do that do you.

I've just measured the current consumption by arduino and xbee with multimeter as suggested by you all. The current stated is about 78mA.

Is the connection between Arduino and Xbee (with Xbee Shield) to 9V power source parallel? If it is, that means my Xbee series 1 is using 45mA for transmit while Arduino has taken away 33mA. Does Arduino really needs that much current?

I've only one temperature sensor connected to arduino 5V_pin and analog_pin_0. I haven't set the sleep mode of Xbee and Arduino yet and will do it later after know what the problem is.

Thanks for the help and advice!

Unless you've explicitly set the XBee to high power mode, the default setting is to use up to 35mA during transmit. The 45mA value is the high power mode.

Then how to set Xbee to low power mode?
But there will still be current consumption from arduino and anolog read from pin 0. How much current does it take?

that means my Xbee series 1 is using 45mA for transmit while Arduino has taken away 33mA. Does Arduino really needs that much current?

Yes if it's running at 16MHz. Current is proportional to clock speed - for lower consumption sleep it or use lower frequency clock or both.