Pages: [1] 2   Go Down
Author Topic: Wrong analogRead values  (Read 1772 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 I am trying to measure the voltage of an 5volt AC rectified voltage at 65Hz. Using the UNO R3 Below is the current code.




Code:
const int numReadings = 25;
int ac_input[numReadings];
const int analogInPin = A0;//Pin for input for AC voltage     
float ac_output = 0;   
int index = 0;

void setup()

{
  Serial.begin(9600);
  pinMode(A0, INPUT);
  for (int thisReading = 0; thisReading < numReadings; thisReading ++)
    ac_input[thisReading] = 0;
}

void loop()

{
  ac_input[index]= analogRead(analogInPin);
  ac_output = ((ac_input[index]/1023.0)*5.0);                             
  Serial.println(ac_output); 
  delay(2);
  index = index + 1;

  if (index >=numReadings)
    index =0;

}



The problem is that the output on the serial monitor only shows the peak values of the voltage. That is from 4-5v instead of zero.

5
4.98
5
5
4.95
4.62
4.27
4.26
5
4.93
4.7
4.58
5
4.79
5
5
4.35
4.53
5
5
5
4.91
4.84
4.52
5
5
4.67
4.54
5
4.69
5
5
4.43
4.32
5
4.92
5
5


I have tried changing the board I'm using aswell as the input pin.

Has anyone experienced anything similar ?
« Last Edit: February 14, 2013, 02:41:35 am by gmbroh » Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 309
Posts: 26491
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Have a look at this thread
http://arduino.cc/forum/index.php/topic,144195.msg1084872.html#msg1084872

Please use code tags when posting code.

Code:
for (int thisReading = 0; thisReading < numReadings; thisReading ++)
    ac_input[thisReading] = 0;
they're already zero; this is pointless.
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

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

What are you expecting exactly?  A 65 Hz signal would have a period of 15 mS, and you have a 2 mS delay between readings. What is your circuit?
Logged


UK
Offline Offline
Shannon Member
****
Karma: 223
Posts: 12630
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am trying to measure the voltage of an 5volt AC rectified voltage at 65Hz

How have you connected the Arduino to the source?

Where does the rectified signal come from - is it possible that it includes some smoothing?
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Offline Offline
Faraday Member
**
Karma: 62
Posts: 3077
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The phrase "5 volt rectified AC voltage"  is gibberish.   

If you have rectified it,  it isn't an AC voltage.  The electron flow is no longer alternating in direction.

You will expect to see a DC voltage with a voltage ripple.  Which is exactly what you are getting.
Depending on the type of rectifier,  you will see 65 Hz or 130 Hz ripple.    I can't tell from your
sampling rate, exactly which you are getting.

Your DC voltage has a peak of 5 volts and a minimum of about 4.5 volts.  That is exactly what you
are getting.
Logged

UK
Offline Offline
Shannon Member
****
Karma: 223
Posts: 12630
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The phrase "5 volt rectified AC voltage"  is gibberish.  

To me that seems like a reasonable way to describe a DC signal which has been obtained by rectifying an AC signal.

Your DC voltage has a peak of 5 volts and a minimum of about 4.5 volts.

Do you mean that this is what would be expected from a rectified sin wave? If so, how did you predict the minimum value?
« Last Edit: February 13, 2013, 09:25:41 pm by PeterH » Logged

I only provide help via the forum - please do not contact me for private consultancy.

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

I am trying to measure the voltage of an 5volt AC rectified voltage at 65Hz. Using the UNO R3 Below is the current code.

Is that full-wave or half-wave rectification?
Logged


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

Read this before posting a programming question

Please edit your post, select the code, and put it between [code] ... [/code] tags.

You can do that by hitting the # button above the posting area.
Logged


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

I am trying to measure the voltage of an 5volt AC rectified voltage at 65Hz. Using the UNO R3 Below is the current code.

Is that full-wave or half-wave rectification?

And with or without a filter capacitor?

Lefty
Logged

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

See reply #2:

Quote
What is your circuit?
Logged


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

What are you expecting exactly?  A 65 Hz signal would have a period of 15 mS, and you have a 2 mS delay between readings. What is your circuit?


* circuit.jpg (82.59 KB, 2287x1522 - viewed 20 times.)
Logged

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

The phrase "5 volt rectified AC voltage"  is gibberish.   

If you have rectified it,  it isn't an AC voltage.  The electron flow is no longer alternating in direction.

You will expect to see a DC voltage with a voltage ripple.  Which is exactly what you are getting.
Depending on the type of rectifier,  you will see 65 Hz or 130 Hz ripple.    I can't tell from your
sampling rate, exactly which you are getting.

Your DC voltage has a peak of 5 volts and a minimum of about 4.5 volts.  That is exactly what you
are getting.

The input to the arduino is 0 to 5volts ac  I dont understand why you think its dc. I have attached a print screen of the input to the arduino


* F0008TEK.JPG (87.01 KB, 640x480 - viewed 14 times.)
Logged

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

I am trying to measure the voltage of an 5volt AC rectified voltage at 65Hz. Using the UNO R3 Below is the current code.

Is that full-wave or half-wave rectification?

And with or without a filter capacitor?

Lefty

It is full wave rectification without a filter capacitor.
Logged

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

Quote
It is full wave rectification without a filter capacitor.
Without any load resistor the sample and hold capacitor on the arduino input will act as a smoothing capacitor.
Put a 10K load ( resistor) between the analogue input and ground.
Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 309
Posts: 26491
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
The input to the arduino is 0 to 5volts ac  I dont understand why you think its dc.
Because your scope trace clearly shows everything above 0V.
Alternating current implies a current reversal.
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Pages: [1] 2   Go Up
Jump to: