Arduino: Varför 0 till 1023 vid analog ?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av sodjan »

> Någonstans i koden finns definierat vad x ohm är (t.ex. 0 eller 10kohm 1023).

Nej nej nej...
ADC mäter *inte* resistans!

> Vilken resistans på potentiometern är egentligen oväsentligt rörande bitarna, det som ändras är skalan,
> dvs. hur "fort" den analoga signalen ändras...

Nej nej nej. Helt galet.
Värdet på potten påverkar inte alls "skalan" eller "hur fort" värdet ändras!
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av snigelen »

Al_Bundy skrev:Om jag använder ett motstånd på 5k ohm, borde det inte monitorn visa hälften av 1023 då?
Nej, AD-omvandlaren mäter inte resistans. Den mäter spänning.

Om du kopplar en potentiometers ena ände till noll volt (GND) och den andra änden till 5V så kommer potentiometern att fungera som en spänningsdelare så att spänningen på släden blir direkt proportionell mot hur mycket du har vridit på potentiometern. Det är denna spänning du mäter med AD-omvandlaren.
Användarvisningsbild
ensten
EF Sponsor
Inlägg: 3759
Blev medlem: 19 oktober 2004, 15:55:20
Ort: Hudiksvall

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av ensten »

sodjan skrev:> Någonstans i koden finns definierat vad x ohm är (t.ex. 0 eller 10kohm 1023).

Nej nej nej...
ADC mäter *inte* resistans!

> Vilken resistans på potentiometern är egentligen oväsentligt rörande bitarna, det som ändras är skalan,
> dvs. hur "fort" den analoga signalen ändras...

Nej nej nej. Helt galet.
Värdet på potten påverkar inte alls "skalan" eller "hur fort" värdet ändras!
Nej, naturligtvis inte, men resistansen påverkar strömmen som pinnen som poten är kopplad till får. Ville bara inte krångla till det, genom att blanda in en storhet till eftersom kunskapsnivån inte är så hög. Men det kanske bara blev mer förvirrande ... :humm:
Användarvisningsbild
Limestone
Inlägg: 129
Blev medlem: 22 maj 2012, 10:51:59
Ort: Rydsgård

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av Limestone »

Sodjan:
Eftersom du är så allsmäktig i dina kunskaper, att du inte skriver och förklarar då! Du är väldigt snabb på att tala om att alla andra har fel men förklarar aldrig vad som är rätt samt hur otroligt korkade alla är i sina inlägg....

+A till dig i konstruktivt beteende, jag lär mig såååååå otroligt mycket av dig... (OBS!Ironi)
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av Al_Bundy »

sodjan skrev:> ...borde det inte monitorn visa hälften av 1023 då?

Nej. (Här får man verkligen bita sig i tungan och räkna till 10...)

Jag tycker att det är bäst att du funderar mer på vad du skriver.
Det blir så lätt infekterat när det dyker upp så genomkorkade frågor.

> ...så använde jag en potentiometer på 10k ohm.

Som var kopplad enligt bilden på den länk som *DU SJÄLV* postade ???
Eller hur var den inkopplad?
Var den *INTE* kopplad med alla tre benen enligt bilden?

> Om jag använder ett motstånd på 5k ohm,

Ett motstånd med tre ben !!??
Om inte så får du faktiskt förklara bättre vad du gjorde...
Jag vet inte om jag ska besvara ditt inlägg då du blåser upp allt så stort. Jag tycker du inte behöver visa dig som en guru hela tiden. Jag vet att du är smart osv men du brister väldigt mycket i att förstå andra. Andra kanske inte har alla perfekta ord som du har på tungan.

Försök och se lite logik istället i frågan.
Jag vred 10k potientiometern åt höger -> Monitor visar 1023.
Jag vred 10k potentiometerna åt vänster -> Monitor visar 0.

Om jag då sätter ett motstånd på 5k ohm. Visar då monitorn hälften av 1023 då?

Det är själva frågan.
Användarvisningsbild
AndLi
Inlägg: 18282
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av AndLi »

Nej!
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av Al_Bundy »

Limestone skrev:Al_bundy:

Vilken resistans på potentiometern är egentligen oväsentligt rörande bitarna, det som ändras är skalan, dvs. hur "fort" den analoga signalen ändras...

Edit: Och vips så dök nästa upp... :tumner: apropå konstruktiva inlägg...
Men måste det inte vara hälften av signalerna om man använder ett fast motstånd istället för ett rörligt motstånd(potentiometer) då?
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av eqlazer »

Kort svar nej.

Du säger att du byter en potentiometer med tre anslutningar till ett motstånd med bara två. Hur kopplar du ihop det?

Börja med att räkna ut vilken spänning du få på ingången till processorn. Bry dig inte om antal bitar eller hur det representeras, räkna bara ut spänningarna med ohms lag.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av Al_Bundy »

ensten skrev:Problemet är att när du gör en analog > digital konvertering måste du någonstans (gissningsvis i kod eftersom du labbar med uC) definiera vad som skall konverteras. Du kan koppla vilken pot som helst i ditt exempel men du måste ändå någonstans tala om vad som skall vara 0ohm och vad som skall vara xx-ohm.

Du kan till och med vända på steken och bestämma att värdet ändras baklänges mot vad det gör nu.

Någonstans i koden finns definierat vad x ohm är (t.ex. 0 eller 10kohm 1023).

EDIT> Eller i en inbyggd funktion i Arduino, ser det ut som när jag tittade på exemplet.
Koden ser ut så här och jag ser inte någonstans där x ohm är definierat med något tal :)

Kod: Markera allt

/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av Al_Bundy »

eqlazer skrev:Kort svar nej.

Du säger att du byter en potentiometer med tre anslutningar till ett motstånd med bara två. Hur kopplar du ihop det?

Börja med att räkna ut vilken spänning du få på ingången till processorn. Bry dig inte om antal bitar eller hur det representeras, räkna bara ut spänningarna med ohms lag.
En potentiometer är ungefär som ett rörlig motstånd. Då kopplar jag bara ihop ingång och utgång i motståndet. Sen så kopplar jag in signal-kabeln i t.ex +-delen av motståndet.

EDIT:

Jag märker att jag inte får 1023 om jag väljer 3.3V utgång. Då får jag mellan 0 och 675.
Det måste alltså vara förprogrammerat inne i arduinon då?
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av victor_passe »

Jag försöker hålla mig men det är svårt.
Vi tar det från början:
En ADC gör om en analog spänning till ett digitalt värde.
En ADC vet inte vad ett motstånd är eller något sådant.

Om du kopplar en potentiometer som spänningsdelare(1 ben till 0V, ett ben till vdd och ett ben till analog ingång) så kan du variera spänningen på den analoga ingången. Inget annat.

Värdet på potentiometern är irrelevant så länge du har "rimliga" värden som tex >100Ohm och <100KOhm.

Så din ADC vet bara hur spänningen på sin analoga ingång förhåller sig till VDD, inget mindre, inget mer.
För att konvertera det värde som ADCn spottar ut måste du sätta upp en ekvation som beskriver hur VDD/AIN beter sig som funktion av det du vill mäta.
Den ekvationen kan du sedan flytta in i din kod.
Användarvisningsbild
ensten
EF Sponsor
Inlägg: 3759
Blev medlem: 19 oktober 2004, 15:55:20
Ort: Hudiksvall

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av ensten »

Förtydligande: I ditt fall ändras spänningen på din analoga ingång mellan 0V-5V när du vrider på poten.
nifelheim
Den första
Inlägg: 2489
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av nifelheim »

prova att läs:
http://playground.arduino.cc/CourseWare/AnalogInput

fråga här om det är något av det du inte förstår.

en bit ner hittar du stycket "Why 1024 values?" :-)
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av Al_Bundy »

victor_passe skrev:Jag försöker hålla mig men det är svårt.
Vi tar det från början:
En ADC gör om en analog spänning till ett digitalt värde.
En ADC vet inte vad ett motstånd är eller något sådant.

Om du kopplar en potentiometer som spänningsdelare(1 ben till 0V, ett ben till vdd och ett ben till analog ingång) så kan du variera spänningen på den analoga ingången. Inget annat.

Värdet på potentiometern är irrelevant så länge du har "rimliga" värden som tex >100Ohm och <100KOhm.

Så din ADC vet bara hur spänningen på sin analoga ingång förhåller sig till VDD, inget mindre, inget mer.
För att konvertera det värde som ADCn spottar ut måste du sätta upp en ekvation som beskriver hur VDD/AIN beter sig som funktion av det du vill mäta.
Den ekvationen kan du sedan flytta in i din kod.
Jaha. Så jag varierar spänningen mellan de tre olika faserna?
Användarvisningsbild
tecno
Inlägg: 27252
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Arduino: Varför 0 till 1023 vid analog ?

Inlägg av tecno »

de tre olika faserna
:humm:
Skriv svar