Arduino: Analogread visar endast 1023 hela tiden!

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: Analogread visar endast 1023 hela tiden!

Inlägg av sodjan »

En annan sak...
Varför i jösse namn har du inte namn på knapparna så att
en "högre" knapp alltid ger ett hägre värde? Som det är nu
är det ju betydligt rörigare att hålla reda på. Du behöver ju
inte koppla om något fysiskt, bara byt namn på knapparna. :-)

Jag kollade inte på bilden så noga som Lemuren, men om det
inte är samma värde så är det inte bra alls. Helt i onödan.
Användarvisningsbild
Icecap
Inlägg: 26645
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Icecap »

Al: de värden som du får ser bra ut. Med en AD-omvandlare kommer sista bit'en alltid att vara ostadig! Man brukar som bäst räkna med ±1 steg.

Vill du ha det mer stabilt (:roll:) kan du filtrera i mjukvara, t.ex. vid att läsa in ett antal värden och skapa ett medel av dessa. Läser du t.ex. in 16 värden och gör ett rullande byte av nya värden kan du bara addera ihop alla 16 värden och shifta dom till höger 4 gg, då får du ett medelvärde.

Själv använder jag det mjukvara låg-pass filter som har blivit beskrivit tidigare här i forumet, det fungerar utmärkt till detta.

Och sedan bara innan du kommer med inlägg om det: du kan aldrig anta att en viss spänning in ger ett exakt AD-värde! Du kan däremot anta att det kommer att passa på ett ungefär så ska du kolla om värdet motsvarar ett visst värde ska du göra en "om(((AD-värde >= X) && (AD-värde <= Y))" där X och Y är lägsta hhv. högsta nivån som accepteras.

Man kan såklart skapa en makro med detta så att man kan ange "mittvärdet" och en maximal avvikelse i t.ex. %, det kan bli lättare att läsa.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Al_Bundy »

sodjan skrev:Utan att veta hur det hela är kopplat så skulle jag
säga att det är störningar i överföringen. Eller någon
bug i utskriftrutinen, men det är nog mindre sannolikt.

Men dina värden ser ju väldigt stabila och bra ut!

> så måste jag byta motstånd

Från vadå?
Varför ligger t.ex knapp 6 och 7 så nära varandra?
Har du inte samma motstånd hela vägen
?
Nej, det är olika motstånd men dom kanske ligger nära varandra resistansmässigt.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av sodjan »

OK, men då borde du ju inte vara förvånad över att värderna
ligger nära varandra. Det är ju enkelt att räkna ut i förväg,
innan du kopplar in det till Arduinon, att det skulle bli nära.
Det mest naturliga är ju en stega med jämna steg, d.v.s
samma motståndsvärde hela vägen.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Al_Bundy »

Knapp nummer 1 har 220 KOhm
Knapp nummer 2 har 130 Ohm
Knapp nummer 3 har 13000 Ohm
Knapp nummer 4 har 100 KOhm
Knapp nummer 5 har 37000 KOhm
Knapp nummer 6 har 560 KOhm
Knapp nummer 7 har 1300 MOhm
Knapp nummer 8 har 24 Ohm
Knapp nummer 9 har 470 Ohm
Knapp nummer 0 har 390 KOhm
Knapp nummer * har 12 KOhm
Knapp nummer # har 150 KOhm

Jag har räknat ut alla dessa och enligt mitt tycke så borde AnalogRead() visa en större skillnad mellan dessa. Eller hur?
Användarvisningsbild
SeniorLemuren
Inlägg: 8425
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av SeniorLemuren »

Om de resistansvärdena stämmer är det ju fullständigt otroligt att det skall fungera. Vad menar du när du säger att resistansvärden ligger nära varandra när du har resistanser som varierar mellan 1300 MOhm ner till 24 Ohm? :humm:
danei
EF Sponsor
Inlägg: 27422
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av danei »

Nära varandra? :shock:
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Al_Bundy »

SeniorLemuren skrev:Om de resistansvärdena stämmer är det ju fullständigt otroligt att det skall fungera. Vad menar du när du säger att resistansvärden ligger nära varandra när du har resistanser som varierar mellan 1300 MOhm ner till 24 Ohm? :humm:
Jag skulle bara kolla om de sitter nära varandra. Men de gjorde inte det. Jag har hur som helst bytt några motstånd och nu ligger knappt ett på 589-590, knapp 2 på 53-54, knapp 3 på 378-380, knapp 4 på 999-1002, knapp 5 på 990-992, knapp 6 på 14-16, knapp 7 på 805-807, knapp 8 på 6-8, knapp 9 på 176-178, knapp 0 på 1015-1017, knapp * på 681-683, knapp # på 1007-1009.

Så jag hoppas det inte ska bli några buggvärden :)
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Magnus_K »

Jag måste bara se så jag hänger med här... Sitter inte motstånden i serie vilket gör att det bästa resultatet borde bli av att ha ett och samma värde på samtliga? Eller tänker jag fel?
Användarvisningsbild
SeniorLemuren
Inlägg: 8425
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av SeniorLemuren »

Jag föreslår att du tar en paus i detta och införskaffar dig ett tillräckligt stort antal motstånd med samma resistans som du sedan löder in på ditt kretskort.

Visst kan det fungera även om inte motstånden har samma resistans, men det är avsevärt enklare att skriva ett program som läser in värdena inom intervallerna om det är samma storlek på intervallen. Dessutom så försäkrar du dig om att få maximal skillnad på dom inlästa värdena.

Om du har olika stora resistanser så måste du lägga upp en tabell för att avgöra vilken knapp som är intryckt. Om däremot intervallet mellan inspänningen för de olika knapparna är lika stort så kan du använda dig av en loop för att avgöra vilken knapp som är intryckt.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Al_Bundy »

Magnus_K skrev:Jag måste bara se så jag hänger med här... Sitter inte motstånden i serie vilket gör att det bästa resultatet borde bli av att ha ett och samma värde på samtliga? Eller tänker jag fel?
Detta är eget hittepå. Dom sitter inte i serie. Bara parallellt.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Al_Bundy »

SeniorLemuren skrev:Jag föreslår att du tar en paus i detta och införskaffar dig ett tillräckligt stort antal motstånd med samma resistans som du sedan löder in på ditt kretskort.
Har ju flera tusen motstånd hemma. Tror 3000 1/4 motstånd och sen har jag några systemkassar fulla med grövre motstånd. 8)
Visst kan det fungera även om inte motstånden har samma resistans, men det är avsevärt enklare att skriva ett program som läser in värdena inom intervallerna om det är samma storlek på intervallen. Dessutom så försäkrar du dig om att få maximal skillnad på dom inlästa värdena.
Om du har olika stora resistanser så måste du lägga upp en tabell för att avgöra vilken knapp som är intryckt. Om däremot intervallet mellan inspänningen för de olika knapparna är lika stort så kan du använda dig av en loop för att avgöra vilken knapp som är intryckt.
Jo, det tänkte jag inte på, men det fungerar nu för mig. Men nästa gång ska jag seriekoppla :)
Nerre
Inlägg: 27220
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Nerre »

Men om motstånden har samma resistans kommer väl alla knappar att ge samma värde?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av sodjan »

> Dom sitter inte i serie. Bara parallellt.

Hur fan har du kopplat egentligen ??
Du har ju visat scheman där de sitter i serie...

> Men nästa gång...

Nästa gång?? Varför i jössa namn inte göra rätt direkt??

> Men om motstånden har samma resistans kommer väl alla knappar att ge samma värde?

Och hur tänkte du där?
En "stege" med samma värden ger enbart jämna intervall...
Nerre
Inlägg: 27220
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Nerre »

Har Al kopplat som Miramithe ritade? Al har mig veterligen INTE visat nåt schema på hur han kopplat?

Jag tolkade det hela som att Al har knapparna sitter parallellt med motstånden, d.v.s. ett knapptryck kortsluter ett motstånd.
Skriv svar