Arduino: Analogread visar endast 1023 hela tiden!

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av jesse »

Då är det nog bäst att mäta spänningen på A5 . Kanske det är fel på R2 (glapp).
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 »

Tack! Det var ett glapp fel jag hittade! Det var glapp mellan R2 och värst av allt......kabeln som var glapp satt kvar och "låtsades" som den verkligen var ansluten, men den var lös.! Fram med lödpennan! :)
Miramithe
Inlägg: 1423
Blev medlem: 21 januari 2013, 17:45:10
Ort: Borlänge

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Miramithe »

Får man fråga vad du ska ha detta till?
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 »

Hur gör man så Analogread visar stabilt istället för att svänga så mycket?

Miramithe: Tangentbord som är digitalt...och en bra övning :) Jag har flera tryckknappar än bara en som jag visar i schemat. Om jag trycker på knapp nummer 1 så kanske jag får 300 som analogread visar. Trycker jag på knapp nummer 3 så kanske jag får 500. Då ska ett program avgöra vilken knappt jag trycker på.

Men problemet är att om jag har ett motstånd på 30 kOhm och ett annat motstånd på 32 kOhm så visar dom ungefär det samma. Det skiljer vilket är bra men analogread varierar fram och tillbaka. Det är inte stabila värden som den ger.
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 »

Inte direkt ett svar på din fråga Al_Bundy men jag har faktiskt ett liknande labb på min att-gör-lista.
Idén fick jag från TIP#5 i denna pdf -> Microchip Tips'n'Tricks.
Nu är det förvisso en Microchip PDF men kan vara värt att läsa (och kanske prova).
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 »

Det är nummer #5 jag har gjort, men nu är detta PIC och jag kör AVR fast det ska väll inte vara så stor skillnad mellan dessa ändå?(nu kanske jag får världens kritik eller?)

Jag måste tyvärr ta förlorarbussen in till stan för att köpa en lödpenna. Min gick sönder nyss. Den jag köpte från Alipexress för totalt 21 kr :D Denna gång köper jag en lödstation hos Claes Olles.
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 »

> Hur gör man så Analogread visar stabilt istället för att svänga så mycket?

Vad är ditt krav för "stabilt" och hur mycket är "så mycket" ?
ADC värderna kommer i princip *alltid* att fladdra lite fram och tillbaka.
+/- 5 enheter är nog normalt, kanske +/- 10 på en labbplatta.
Ska man ner i lägre värden så blir det snabbt ganska avancerat.
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 »

Okej. Antingen måste jag byta motstånd så det är större ohmskillnad mellan dessa eller så kan jag göra...? Finns det något annat knep för att få det lite mera stabilt från en ADC omvandlare?

Nyss startat ATmega.

Kod: Markera allt

3000000.00
3000000.00
3000000.00
3000000.00
Trycker in knapp 1
2997067.25
2997067.25
3000000.00
2970674.50
2970674.50
2970674.50
Släpper knapp 1

Kod: Markera allt

3000000.00
Trycker in knapp 2

Kod: Markera allt

158357.76
161290.3¦Hø158357.76
155425.21
Släpper knapp 2

Kod: Markera allt

3000000.00
Trycker in knapp 3 rätt snabbt.

Kod: Markera allt

á1111436.ºj
1108504.37
1114369.50
1108504.37
Trycker in knapp 4 rätt snabbt efter jag släppte knapp 3.

Kod: Markera allt

2932551.25
á2929618.75
2935484.00
2932551.25
Trycker in knapp 5 rätt snabbt efter jag släppte knapp 4.

Kod: Markera allt

2997067.25
2994135.00
2997067.25
2991202.25
2991202.25
Knapp 6.

Kod: Markera allt

2985¦¦“Iªj
2982404.75
2988269.75
2988269.75
Knapp 7

Kod: Markera allt

20527.86
20527.86Cá20527.86
20527.86
Knapp 8

Kod: Markera allt

521994.12
521994.12
519061.59Cá2985337.25
Trycker inte in någon knapp.

Kod: Markera allt

2982404.75
2982404.75
3000000.00
Knapp 9.

Kod: Markera allt

2530791.75
253372“Iªj
2533724.25
á2533724.25
Släpper knapp 9.

Kod: Markera allt

2953079.00
295894“Iªj
2953079	‚j
2956011.75
3000000.00
2997067.25
3000000.00
2997067.25
Så är mellan rummen för mig. Jag vill kunna helst skilja mellan dessa. Som du ser så är det inte stor skillnad mellan vissa knappar, men ändå en mätbar skillnad.
Jag hade tänkt och använda mig av en switch case för att bestämma vilka knappar jag trycker på med hjälp av > och < operatorerna.

Kod: Markera allt

void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A5);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * 3000000.0/1023.0;
  // print out the value you read:
  Serial.println(voltage);
  delay(500);
  
}
Så här ser det ut om jag kör utan dividering.

Knapp 1

Kod: Markera allt

1021.00
1021.00
1022.00
Knapp 2

Kod: Markera allt

1010.00
1012.00
1010.00
1010.00
Knapp 3

Kod: Markera allt

á54.00
54.00
54.00
54.00Cá54.00
55.0j
54.00
Knapp 4

Kod: Markera allt

997.00
998.00
999.00
998.00
997.00
998.00
999.00
Knapp 5

Kod: Markera allt

1022.00
1020.00
1020.00
1020.00
1020.00
Knapp 6

Kod: Markera allt

1018	‚j
102r‚‚j
1021.00
1017.00
1017.00
1018.00
1017.0j
1018.00
1018.00
Knapp 7

Kod: Markera allt

6.00
7.00
7.00
7.00
6.00
7.00
8.00
Knapp 8

Kod: Markera allt

178.00
177.00
177.00
177.‚j
177.00
177	‚j
178.00
Knapp 9

Kod: Markera allt

1018.00
1017.00
1017.00
1017.‚j
1015.00
1015.00
1015.00
Knapp 0

Kod: Markera allt

864.00
864.00
864.00
864.00
865.00
865.00
866.00
Knapp *

Kod: Markera allt

1009.00
1008.00
1008.00
á1007.00
á1009.00
1006.00
1008.00
Senast redigerad av Al_Bundy 7 mars 2014, 14:37:26, redigerad totalt 1 gång.
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 »

Lite underliga värden. Varför har du *7* siffror plus 2 decimaler !?
Du kan lika gärna köra med ADC värdet direkt, att gå omvägen via
en omräkning till något som ska likna "volt" är helt onödigt.

Hur som helst, har du räknat på hur mycket det faktiskt "fladdar"?

3000000.00
2997067.25
Skillnad: 2933.

Eller 3000000/2973 = ca 0.1 %.
Det är ju upplösningen för en 10 bitars ADC!
Alltså "fladdrar" det enbart en LSB, vilket är fantastiskt bra!

Du kan själv räkna på de andra värderna...
Miramithe
Inlägg: 1423
Blev medlem: 21 januari 2013, 17:45:10
Ort: Borlänge

Re: Sv: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Miramithe »

Denna koppling har 1k ohm. Ska jag bygga ihop och testa?

Edit bilden kom inte med. Ska fixa på datorn ...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av Miramithe 7 mars 2014, 14:51:35, redigerad totalt 1 gång.
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:Lite underliga värden. Varför har du *7* siffror plus 2 decimaler !?
Du kan lika gärna köra med ADC värdet direkt, att gå omvägen via
en omräkning till något som ska likna "volt" är helt onödigt.

Hur som helst, har du räknat på hur mycket det faktiskt "fladdar"?

3000000.00
2997067.25
Skillnad: 2933.

Eller 3000000/2973 = ca 0.1 %.
Det är ju upplösningen för en 10 bitars ADC!
Alltså "fladdrar" det enbart en LSB, vilket är fantastiskt bra!

Du kan själv räkna på de andra värderna...
Knapp 1

Kod: Markera allt

1013.00
1013.0j
1013.00
Knapp 2

Kod: Markera allt

54.00
54.00
54.00
Knapp 3

Kod: Markera allt

378.00
379.00
378.00
Knapp 4

Kod: Markera allt

1000.00
1001.00
1001.00
Knapp 5

Kod: Markera allt

1022.00
1022.00
102L	‚j
Knapp 6

Kod: Markera allt

1018	‚j
1020.00Cá
1018.00
Knapp 7

Kod: Markera allt

1020.00
1019.00
1020.00
Knapp 8

Kod: Markera allt

7.00
7.00
7.00
Knapp 9

Kod: Markera allt

178.00
177.00
177.00
Knapp 0

Kod: Markera allt

1016.00
1018.00
101r‚‚j
Knapp *

Kod: Markera allt

863.0j
865.00
864.00
Knapp #

Kod: Markera allt

1008.0j
1008.00
1008	‚j
Ingen knapp intryckt

Kod: Markera allt

1023.0j
10&&	‚j
1022.00
Vad står alla %&¤r osv för? Är det typ ungefär som man kan skriva 10L som är ett långt tal?
Om det inte finns andra lösningar så måste jag byta motstånd som skiljer dem mer åt.
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 »

Så här ser mitt tangentbord ut. Digitalt t.o.m

I mitten längst ned är ingångarna för att mäta resistansen.
Bild

Första rad från vänster: 1,2,3,4,5
Andra rad från vänster: 6,7,8,9,0
Tredje rad från vänster: *, #
Bild
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 »

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?
Nerre
Inlägg: 27215
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Nerre »

Al_Bundy skrev:Vad står alla %&¤r osv för? Är det typ ungefär som man kan skriva 10L som är ett långt tal?
Störningar, skulle jag tro. (Om du menar det som skrivs ut.)
Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av SeniorLemuren »

På bilden som visa kretskortet från baksidan så ser det ut som om du har olika resistans på motstånden på de olika knapparna.

Eller ser jag fel? Vissa in-värden visat bra skillnad mellan de olika knapptryckningarna medans vissa (som sodjan påpekade) ligger väldigt nära varandra, det kan medföra osäker bedömning om vilken knapp som är tryckt.

Med samma resistans på alla motstånd borde det inte vara några som helst problem att få det att funka.
Skriv svar