Arduino, AD-värde som fluktuerar lite grann
Re: Arduino, AD-värde som fluktuerar lite grann
det spelar ingen roll, fluktureringen är liten, med en uC inblandad gör man elektroniken så enkel som möjligt och filtrerar i mjukvaran.
addera 100 mäningar och dela resultatet med 100.
addera 100 mäningar och dela resultatet med 100.
Re: Arduino, AD-värde som fluktuerar lite grann
Tack för alla svar.
Min plan är nu att implementera en cirkulär buffert och sedan testar jag hur många positioner i den jag behöver använda för att få ett stabilt värde från ADn.
Min plan är nu att implementera en cirkulär buffert och sedan testar jag hur många positioner i den jag behöver använda för att få ett stabilt värde från ADn.
Re: Arduino, AD-värde som fluktuerar lite grann
Det är väl en buffert med de senaste N värdena som du vill ha, en FIFO? När ett nytt värde kommer in åker det äldsta ut. Medelvärdet är summan av elementen i FIFOn delat på antalet värden.
Annars kom det också ett förslag på IIR-filter: Du har ett minne på endast ett element. Vid varje uppdatering multiplicera minneselementet med tex 0.95 och addera det senaste värdet multiplicerat med 0.05. Klart. (Summan av de två konstanterna skall vara ett, du får olika tröghet/längd på filtret genom att justera dessa, tex 0.99 resp 0.01 ger mer lågpassbeteende.)
Annars kom det också ett förslag på IIR-filter: Du har ett minne på endast ett element. Vid varje uppdatering multiplicera minneselementet med tex 0.95 och addera det senaste värdet multiplicerat med 0.05. Klart. (Summan av de två konstanterna skall vara ett, du får olika tröghet/längd på filtret genom att justera dessa, tex 0.99 resp 0.01 ger mer lågpassbeteende.)
Re: Arduino, AD-värde som fluktuerar lite grann
Och stadigt inget om avkoppling eller kabellängd.
Re: Arduino, AD-värde som fluktuerar lite grann
> ...för att få ett stabilt värde från ADn.
Vad är din definition av begreppet "stabilt"?
Du kommer alltid att få fladder i sista biten från en AD med inspänningar som ligger "på gränsen".
Ett annat sätt att få "stabila" värden är att helt enkelt kasta alla läsningar som inte har ändrats med
mer än en viss marginal. Kanske motsvarande 2-3 av de lägsta bitarna eller liknande.
Du får helt enkelt acceptera att avläsningen av AD kommer att variera och göra anpassningar
senare i kedjan så att din display blir så stabil som du önskar.
Vad är din definition av begreppet "stabilt"?
Du kommer alltid att få fladder i sista biten från en AD med inspänningar som ligger "på gränsen".
Ett annat sätt att få "stabila" värden är att helt enkelt kasta alla läsningar som inte har ändrats med
mer än en viss marginal. Kanske motsvarande 2-3 av de lägsta bitarna eller liknande.
Du får helt enkelt acceptera att avläsningen av AD kommer att variera och göra anpassningar
senare i kedjan så att din display blir så stabil som du önskar.
-
- Inlägg: 8213
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: Arduino, AD-värde som fluktuerar lite grann
Om din insignal fluktuerar med 4 enheter av 1024 möjliga så är ditt signal/brusförhållande dåligt (48dB men ändå ganska normalt).
Du skall först se till att få kontroll på din insignal ELLER sampla så pass mycket (och slumpmässigt i tiden) att du VET att ditt brus är helt slumpmässigt.
Annars så kommer du bara att få en upplevd högre noggrannhet men du har fortfarande ett skitdåligt värde men med en upplevd högre kvalitet...
Du skall först se till att få kontroll på din insignal ELLER sampla så pass mycket (och slumpmässigt i tiden) att du VET att ditt brus är helt slumpmässigt.
Annars så kommer du bara att få en upplevd högre noggrannhet men du har fortfarande ett skitdåligt värde men med en upplevd högre kvalitet...
Re: Arduino, AD-värde som fluktuerar lite grann
Problemet här är att sista biten ger för stor skillnad i temperaturen och jag tror det blir svårt att få till det bra. Lite "Skit in-Skit ut!"
Re: Arduino, AD-värde som fluktuerar lite grann
Vad är anledningen till att man väljer en analog tempgivare med 10mV/C idag?
Re: Arduino, AD-värde som fluktuerar lite grann
Jag antar att mina frågor är likgiltiga - men ERFARENHET har givit mig att sensorn ska ha en avkoppling, gärna med ett lite motstånd i serie med strömmen för att ta bort matningsspänningssmuts från μC.
Det ska även vara monterat en konding mellan GND & analog pinnen - helt enl. databladet. Detta då det är en kapacitiv intern spänningsdelare som behöver en låg impedans på måtsignalen.
Så efter vad jag kan se har TS skitit i all som heter vettigt design och att TS sedan klagar över dåliga värden...?
Det ska även vara monterat en konding mellan GND & analog pinnen - helt enl. databladet. Detta då det är en kapacitiv intern spänningsdelare som behöver en låg impedans på måtsignalen.
Så efter vad jag kan se har TS skitit i all som heter vettigt design och att TS sedan klagar över dåliga värden...?
Re: Arduino, AD-värde som fluktuerar lite grann
Hej Icecap!
Dina frågor och din erfarenhet är inte likgiltig men om man inte hinner skriva många ord innan man måste till jobbet och man inte kan följa elektronikforumet.com därifrån så tar det ibland längre tid, i alla fall för mig, att svara.
Ledningarna är cirka 20 cm, några simpla ledningar kopplade i/mot ett breadboard.
Ingen avkoppling då jag inte tolkade databladet som att det behövdes.
Vet inte om jag klagade, jag frågade vad man kunde göra åt det och sa att elektronik inte var min starka sida.
Men folk uppfattar saker olika.
Dina frågor och din erfarenhet är inte likgiltig men om man inte hinner skriva många ord innan man måste till jobbet och man inte kan följa elektronikforumet.com därifrån så tar det ibland längre tid, i alla fall för mig, att svara.
Ledningarna är cirka 20 cm, några simpla ledningar kopplade i/mot ett breadboard.
Ingen avkoppling då jag inte tolkade databladet som att det behövdes.
Vet inte om jag klagade, jag frågade vad man kunde göra åt det och sa att elektronik inte var min starka sida.
Men folk uppfattar saker olika.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Arduino, AD-värde som fluktuerar lite grann
Du behöver DEFINITIVT en avkoppling (konding, typ 100nF) mellan VDD och GND så nära kretsen som möjligt.
Vill du ha stabilt signal är det en riktig bra idé att ha ett motstånd på 22-47Ω mellan 5V och kretsens VDD.
På A/D-ingången behövs en 100nF konding, placerat så nära mikroprocessorn som praktisk möjligt. Den konding ska avkoppla mot GND.
Att det inte står i databladets beskrivelse af funktion är för att det är den minimala koppling som visas.
Vill du ha stabilt signal är det en riktig bra idé att ha ett motstånd på 22-47Ω mellan 5V och kretsens VDD.
På A/D-ingången behövs en 100nF konding, placerat så nära mikroprocessorn som praktisk möjligt. Den konding ska avkoppla mot GND.
Att det inte står i databladets beskrivelse af funktion är för att det är den minimala koppling som visas.
Re: Arduino, AD-värde som fluktuerar lite grann
Jag tar och testar detta ikväll, tack för förklaring och beskrivning
Re: Arduino, AD-värde som fluktuerar lite grann
Jag glömde ju ge återkoppling på användande av cirkulär buffert.
Det fungerar bra att använda det, har inte trimmat in helt optimalt värde på hur stor buffert jag behöver men nu ger det ett stabilt AD-medelvärde som inte rör sig onödigt mycket.
Det fungerar bra att använda det, har inte trimmat in helt optimalt värde på hur stor buffert jag behöver men nu ger det ett stabilt AD-medelvärde som inte rör sig onödigt mycket.
Re: Arduino, AD-värde som fluktuerar lite grann
Lite sent kanske men jag har hittat en Atmega328 klon, LGT8F328 krets som sitter på en modul med samma fotprint som en Nano-modul fast den har 12 bitars AD-omvandling vilket ger mindre steg. Kanske hela mätningen ihop med en LM-35 tempgivare kan bli mer exakt? Jag tänkte att prova detta själv vid tillfälle...