Show Posts
Pages: [1]
1  Using Arduino / Sensors / UNO with a Motor shield and 200ohm potentiometer on: November 19, 2012, 07:11:06 pm
Hi!

I'm having trouble to read the voltage value of the potenciometer's wiper "leg".

I connected it to the 5V-GND of the Arduino, and connect the wiper into A0 analog pin. At 100ohms, I should have read 2.5V, but instead, I got 0,49V! I'm using Matlab instead of IDE.
I set the A0 pin in two different ways to see if it was a syntax error :

pinMode(A0,'input') and pinMode(14, 'input');
potencmt=a.analogRead(0)/1023*5

but none worked as supposed.Therefore, I connected the Arduino's 5V to A0 to see if I would get 5V, no problem. But with the potentiometer it's inconsistent.

Do I really have to set A0 as input(I believe I dont) in order to "tell" Arduino to increase its impedance?
Do I need to use any special potenciometer functions to read the values?(I believe I dont either)

This is the script I have been trying to run:

Function motor

a=arduino('COM3')

    a.pinMode(12,'output');        %DIR A
    a.pinMode(13,'output');        %DIR B
    a.pinMode(9,'output');         %BRAKE A
    a.pinMode(8,'output');         %BRAKE B
    a.pinMode(3,'output');         %PWM A
    a.pinMode(11,'output');        %PWM B
    a.pinMode(14,'input');         % ??

b=0;

    while(b==0)
       
        a.digitalWrite(12,1); %
        a.digitalWrite(9,0);
        a.analogWrite(3, 255); 
 
        pause(5);

        potmcmt=a.analogRead(0)/1024*5

        a.digitalWrite(9,1);
        pause(5);
         
        a.digitalWrite(12,0);       
        a.digitalWrite(9,0);
        a.analogWrite(3, 255);       
   
        pause(5);                   
end
end

But the values returned by a.analogRead(0) don't correspond to the ones read by the multimeter
2  Using Arduino / Motors, Mechanics, and Power / Arduino UNO and Arduino Motor Shield and a 200 ohm potentiometer on: November 19, 2012, 07:09:27 pm
Hi!

I'm having trouble to read the voltage value of the potenciometer's wiper "leg".

I connected it to the 5V-GND of the Arduino, and connect the wiper into A0 analog pin. At 100ohms, I should have read 2.5V, but instead, I got 0,49V! I'm using Matlab instead of IDE.
I set the A0 pin in two different ways to see if it was a syntax error :

pinMode(A0,'input') and pinMode(14, 'input');
potencmt=a.analogRead(0)/1023*5

but none worked as supposed.Therefore, I connected the Arduino's 5V to A0 to see if I would get 5V, no problem. But with the potentiometer it's inconsistent.

Do I really have to set A0 as input(I believe I dont) in order to "tell" Arduino to increase its impedance?
Do I need to use any special potenciometer functions to read the values?(I believe I dont either)

This is the script I have been trying to run:

Function motor

a=arduino('COM3')

    a.pinMode(12,'output');        %DIR A
    a.pinMode(13,'output');        %DIR B
    a.pinMode(9,'output');         %BRAKE A
    a.pinMode(8,'output');         %BRAKE B
    a.pinMode(3,'output');         %PWM A
    a.pinMode(11,'output');        %PWM B
    a.pinMode(14,'input');         % ??

b=0;

    while(b==0)
       
        a.digitalWrite(12,1); %
        a.digitalWrite(9,0);
        a.analogWrite(3, 255); 
 
        pause(5);

        potmcmt=a.analogRead(0)/1024*5

        a.digitalWrite(9,1);
        pause(5);
         
        a.digitalWrite(12,0);       
        a.digitalWrite(9,0);
        a.analogWrite(3, 255);       
   
        pause(5);                   
end
end

But the values returned by a.analogRead(0) don't correspond to the ones read by the multimeter

3  Using Arduino / LEDs and Multiplexing / Re: 200ohms potenciometer as analog input, Arduino UNO on: November 19, 2012, 07:00:20 pm
I believe that the A0 pin's impedance is too small, giving a different voltage value on the wiper terminal. It needs to be a very high value in order to read voltage like a voltmeter does...

Anyone knows the A0-A5 pin's impedance? And if it's tunable?
It is nothing to do with the impedance. It is very high and connecting a low impedance to it will not affect the reading.
Why do you use the a.analogueRead and not just analogueRead?

Maybe it hasnt but I think it does. I use a.analogRead bc im using matlab instead of Ide environment...
4  Using Arduino / LEDs and Multiplexing / Re: 200ohms potenciometer as analog input, Arduino UNO on: November 19, 2012, 05:02:54 pm
I believe that the A0 pin's impedance is too small, giving a different voltage value on the wiper terminal. It needs to be a very high value in order to read voltage like a voltmeter does...

Anyone knows the A0-A5 pin's impedance? And if it's tunable?
5  Using Arduino / LEDs and Multiplexing / Re: 200ohms potenciometer as analog input, Arduino UNO on: November 19, 2012, 04:34:47 pm
potencmt=a.analogRead(0);

What's the value returned by analogRead(0)?

0.49 is after you've done some math on it. What's the raw, unmodified value?


Which is another way of saying "post your sketch" please.

As a better electrical test, just use your multimeter to measure the wiper terminal voltage while it's wired up to the arduino and check the readings at the two ends of travel and while centered, and confirm that the meter reads 0, +5vdc, and +2.5vdc respectively.

Lefty


The returned value is about 100bytes(I don't recall the precise value) and to transform it into voltage, I just have to multiple it
 for 5 and divide it for 1023 due to the pin's resolution of 10bits. The expected value would be 512bytes, which is not happening...

I measured the two ends and the wiper terminal and I got the expected values of 0, 5 and 2.5V respectively.

This is the script I have been using to drive a DC motor with an Arduino Motor shield:

function shield

a=arduino('COM3');

    a.pinMode(12,'output');        %DIR A
    a.pinMode(13,'output');        %DIR B
    a.pinMode(9,'output');         %BRAKE A
    a.pinMode(8,'output');         %BRAKE B
    a.pinMode(3,'output');         %PWM A
    a.pinMode(11,'output');        %PWM B
    a.pinMode(14,'input');         % ??

b=0;

    while(b==0)
       
        a.digitalWrite(12,1); %
        a.digitalWrite(9,0);
        a.analogWrite(3, 255); 
 
        pause(5);

        potmcmt=a.analogRead(0)/1024*5

        a.digitalWrite(9,1);
        pause(5);
         
        a.digitalWrite(12,0);       
        a.digitalWrite(9,0);
        a.analogWrite(3, 255);       
   
        pause(5);                   
        a.digitalWrite(9,1);
 

    end
   
end

But the values returned by a.analogRead(0) don't correspond to the ones read by the multimeter...                                           
6  Using Arduino / LEDs and Multiplexing / 200ohms potenciometer as analog input, Arduino UNO on: November 19, 2012, 02:38:36 pm
Hi!

I'm having trouble to read the voltage value of the potenciometer's wiper "leg".

I connected it to the 5V-GND of the Arduino, and connect the wiper into A0 analog pin. At 100ohms, I should have read 2.5V, but instead, I got 0,49V! I'm using Matlab instead of IDE.
I set the A0 pin in two different ways to see if it was a syntax error :

pinMode(A0,'input') and pinMode(14, 'input');
potencmt=a.analogRead(0);

but none worked as supposed.Therefore, I connected the Arduino's 5V to A0 to see if I would get 5V, no problem. But with the potentiometer it's inconsistent.

Do I really have to set A0 as input(I believe I dont) in order to "tell" Arduino to increase its impedance?
Do I need to use any special potenciometer functions to read the values?(I believe I dont either)

Regards


Pages: [1]