Arduino: Analogread visar endast 1023 hela tiden!

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
svanted
Inlägg: 5280
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av svanted »

" sprättar en bärs å väntar med spänning på fortsättningen på tråden...." :)
Användarvisningsbild
Glenn
Inlägg: 36701
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av Glenn »

jag gissar att al har läst om hur det är löst med unika värden för varje knapp i tex ratt-fjärrar osv (alltså knappar i bilratten som styr funktioner på bilstereon) där man har olika resistanser som är sinnrikt uträknade mot varann för att kunna detektera samtidiga knapptryck, och sen försökt implementera detta själv ?

Jag misstänker att det i praktiken blir omöjligt att få det säkert om man har sådär många knappar, men ska man bara kunna detektera en i taget finns det ju enklare lösningar som påpekats i tråden.
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 »

Nerre skrev: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.
Du har nog rätt där Nerre. Jag förväntade mig bara att han hade följt det schema som Miramithe visade, men så var nog inte fallet. :)
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 »

Al_Bundy skrev: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?
Hur fick du fram dessa värden? De är inte bara orimliga, de är skrivna på ett väldigt konstigt sätt också:
130000 Ohm = 13 kOhm
37000 kOhm = 37 MOhm
1300 MOhm = Väldigt högt och väldigt ovanligt. Värden över några hundra KOhm ger inte tillförlitliga värden till en ADC. Man ska helst ha värden under 50 kOhm.

Vill du att det ska "fladdra" mindre så sätt dit en kondensator på ca 100 nF mellan A5-pinnen och jord.

Sedan är det så att (oavsett om du har kondensator eller inte) så kan du få felaktiga resultat precis när du trycker in eller släpper en knapp. För att det inte ska tolkas som att du tryckt på en annan knapp behöver du kanske ta in 10 värden i rad som alla måste hålla sig inom samma intervall för att du ska vara säker på att en viss knapp är nedtryckt.
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 »

1300 MOhm = Väldigt högt och väldigt ovanligt. Värden över några hundra KOhm ger inte tillförlitliga värden till en ADC. Man ska helst ha värden under 50 kOhm.

Vill du att det ska "fladdra" mindre så sätt dit en kondensator på ca 100 nF mellan A5-pinnen och jord.
Då vet jag att nästa gång jag ska köra ADC så ska jag köra under 50 kOhm. Exemplet på inlägg #1 visar en 10k Ohm potentiometer. Då förstår jag :)

Jag bytte bort den där 1300 MOhm motståndet mot en mindre.
Jag ska testa med en kondensator på 100 nF. Jag har bara tyvärr bara uF och pF.
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 »

Varför inte bara göra som alla andra och köra med typ bara 1k ohm motstånd och i serie?
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 »

För då måste jag montera ner det jag har byggt. Jag vet att serie är mycket smartare men jag hade absolut ingen aning att man kunde göra så. Därför gjorde jag mer en blandning av serie- och parallellkoppling där varje motstånd går till egen knapp.
Det är ungefär det samma, men nästa gång ska jag köra samma motstånd i en serie :)
danei
EF Sponsor
Inlägg: 27421
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av danei »

Al_Bundy skrev: Jag ska testa med en kondensator på 100 nF. Jag har bara tyvärr bara uF och pF.
Du har händelsevis inte 0,1µF?

( µ finns på [Alt Gr]+m)
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 »

Jag testade sätta en kondensator men det blev bara värre eller ingen skillnad alls. Fortfarande J¤%¤%&# osv. Jag satte dit en 338 pF keramikkondensator. mellan ett motstånd. Men jag kanske satt fel?

Om vi leker med tanken att jag har kopplat så här. Vad ska då kondensatorn sitta då?

Bild
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av bearing »

Felen i serieöverföringen skulle kunna bero på att interna oscillatorn (antar att den används) inte går i precis 16 MHz.
danei
EF Sponsor
Inlägg: 27421
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av danei »

Hur sätter man en kondensator mellan ett motstånd? Måste det inte vara två för att man ska kunna få in något mellan?

Den bör sitta mellan GND och A0. Men du har ju inga problem med fladdrig avläsning så vad den ska göra för nytta vet jag inte. Vad var det det inte hjälpte mot?
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 »

> Fortfarande J¤%¤%&# osv.

Det har ingenting alls med någon kondensator att göra.
Kondingen var för att stabilisera värderna på A0 (eller A5),
men det behövs ju inte vilket dina värden visade.

J¤%¤ är störningar på seriekommunikationen, det är ett helt
annat problem. Kanske missmatch i baudrate. Eller glapp (det
har du ju redan haft på andra ställen i kopplingen :-) ).
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 »

Al_Bundy skrev:Jag satte dit en 338 pF keramikkondensator. mellan ett motstånd.
Ja, du kan ju sätta dit en kondensator var du vill, men om det ska ha någon effekt mot fladdrande värden på ADC så ät det mellan pin A5 och GND som gäller.
Sedan får du börja lära dig lite vad prefixen M k m µ n p betyder. Jag föreslog en kondensator på 100 nF. Du testar 338pF. Det motsvarar 0.3 nF, nästan 300 gånger mindre kapacitans än 100 nF - och därmed 300 gånger sämre på att stabilisera en signal (lite förenklat).
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Arduino: Analogread visar endast 1023 hela tiden!

Inlägg av bearing »

Ifall du inte har några avkopplingskondensatorer, och ingen avstörning mellan VCC och AVCC, är det inte så konstigt att värdena vandrar lite. Men det borde inte göra något för funktionen på ditt program, eftersom att knappavläsning rimligtvis görs genom att passa in knapparna i olika intervall, och inte specifika värden.
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 »

jesse skrev:
Al_Bundy skrev:Jag satte dit en 338 pF keramikkondensator. mellan ett motstånd.
Ja, du kan ju sätta dit en kondensator var du vill, men om det ska ha någon effekt mot fladdrande värden på ADC så ät det mellan pin A5 och GND som gäller.
Sedan får du börja lära dig lite vad prefixen M k m µ n p betyder. Jag föreslog en kondensator på 100 nF. Du testar 338pF. Det motsvarar 0.3 nF, nästan 300 gånger mindre kapacitans än 100 nF - och därmed 300 gånger sämre på att stabilisera en signal (lite förenklat).
Jag vet vad M k m µ n p betyder. Jag sa även att jag inte hade någon nF så jag tog bara någon för att testa om det blev någon skillnad.
Skriv svar