AVR analog ingång ostabil

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

Re: AVR analog ingång ostabil

Inlägg av gripner »

Eventuellt går jag över till en 16bitars adc med i2c interface, finns en uppsjö av på tex elfa, kostar 20-30sek endast.
Jag trodda att de skulle vara astronomiskt dyra men tydligen inte!

Jag har testat med ett batteri på analogingången, då har jag HELT stabil mätning, 240 är det digitala värdet. Detta säger mig att noise från uC själv ej är problem. Skall dock testa med adc läsning under sleep-state

Har för övrigt fått ner läsningen till 175-176 med 90% av läsningarna hamnande på 175 mha ett LPF.

har matat med usb, usb med stabiliserings konding, samt med späningsstabb.
Bör stå i tråden.

EDIT, man kan utan problem använda alla 10bitar linjärt. ej så att man endast får ut "8bitars upplösning"
Testat med en späningsdelare och matat 0-5V och får ut ett helt linjärt värde av 0-1023
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: AVR analog ingång ostabil

Inlägg av sodjan »

Ja, en extern "bättre" ADC låter ju vettigt med tanke på applikationen.

> Jag har testat med ett batteri på analogingången, då har jag HELT stabil mätning,

Alltså med allt annat lika, matning o.s.v? Det låter som att
spänningen från givaren och förstärkaren inte är helt stabila.
Kanske inte helt orimligt. Ett oscilloskop skulle kunna svara på det.

> EDIT, man kan utan problem använda alla 10bitar linjärt. ej så att man endast får ut "8bitars upplösning"

Ja, var kanske lite väl kategoriskt där från TomasL... :-)
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: AVR analog ingång ostabil

Inlägg av victor_passe »

Om värdet hoppar mellan flera siffror är det perfekt, summera 32st värden och ta medel av dem, då har du >10bitars UPPLÖSNING.
Men om ditt brus är centrerat runt det "sanna" värdet och någorlunda jämt fördelat så får du även högre noggrannhet.
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

Re: AVR analog ingång ostabil

Inlägg av gripner »

Oavsett om jag tar 32 mätningar och medlet av dem så blir det fladdrigt.
Medlet ena gången blir 175 och andra 176 etc.

Har löst det nu med ett lågpassfilter samt i min kod tar bort mätning spär +/- 1 från föregående.

Får duga tills jag tar hem en 16 bitars ABC med spi interface på måndag
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

Re: AVR analog ingång ostabil

Inlägg av gripner »

Battrimätningen var med usb matning.

Enligt Skåpet är den förstärkta signalen skitig, därav lågpassfiltret. Fungerar bra filtrerar bort allt. Igen enligt skåpet.

Dock fladdras det
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: AVR analog ingång ostabil

Inlägg av victor_passe »

Du ska inte ta medlet på det viset, du kan ALDRIG komma under 1lsb.
Du summerar 32 eller annan siffra gånger, sedan antingen har du en float/double som kan spara decimalerna, eller så hanterar du bara talet som 32 gånger större.
Om du summerar och trunkerar decimalerna har du slängt all din nya information.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46976
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: AVR analog ingång ostabil

Inlägg av TomasL »

sodjan skrev:> EDIT, man kan utan problem använda alla 10bitar linjärt. ej så att man endast får ut "8bitars upplösning"

Ja, var kanske lite väl kategoriskt där från TomasL... :-)
Vad jag menar naturligtvis är att manaldrig kan lita på de sista bitrarna, eftersom omvandlaren har en onogrannhet på +/- 2 lsb, så filtrera bort dem, dvs sätt dem till noll.
Vi kör med 24bitars omvandlare och skalar bort de lägsta 8 bitarna, så resultatet blir 16 bitar, typ. (delvis för att det räcker och delvis för att få stabilare mätningar)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: AVR analog ingång ostabil

Inlägg av sodjan »

> ...så blir det fladdrigt.
> Medlet ena gången blir 175 och andra 176 etc.

Vad är "Medlet" ??

Jag tror helt enkelt att du helt enkelt bara inte förstår.
Det där är bara kvantiseringseffekter, det har inte ett
smack med något "fladder" att göra! Du kan i princip
ALDRIG undvika att värdet rör sig mellan +/- 1 LSB.
Möjligtsvis i ett extremfall med väldigt stabila förhållanden
och en spänning som råkar ligga "mitt i" LSB, så att säga.
Men spänningen kan lika gärna ligga just i en brytpunkt.

> ... samt i min kod tar bort mätning spär +/- 1 från föregående.

Det är lite märklig svenska där, så jag är inte helt säker på vad du menar.
Menar du kanke "samt att min kod tar bort mätning med +/- 1 från föregående".
Eller vad ska det egentligen stå? Hur som helst, hur vet du att det var den
föregående som var korrekt? Det var kanske den som skulle tas bort!

Men oavsett det så är det helt feltänkt i alla fall... :-)

Om din applikation inte tollererar en osäkerhet på +/- 1 LSB, så är det
fel ADC för uppgiften.
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

Re: AVR analog ingång ostabil

Inlägg av gripner »

Allt fungerar som det skall nu,

Ett LPF på ingången till ADC pinnen.

Gör 32 st samplingar och letar efter vanligaste värdet. Det antar jag att är det "rätta värdet", ej idiotsäkert och helt rätt, men fungerar bra.
Sparas som mätvärde.

Nästa mätning gämförs emot föregående, ligger de +/- ifrån används föregående värdet.

Har oxå en liten formel för att kompensera för LPF påverkan när olika spänningar matas in.

Med min 10 bit ADC får jag nu strax under 200 steg per volt. Mäter mellan 1 och 4 volt. Använder ej alla 1023 stegen utan lite under 800. Det ger mig ca 10% bättre noggrannhet än vad jag siktade på/behöver

Skall dock testa med en spi ansluten ADC, ev 24 bitars. Skulle ev slippa ina128 instrumentförstärkaren jag idag förstärker signalen med innan jag matar in den i LPF / adc
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: AVR analog ingång ostabil

Inlägg av sodjan »

För en lastcell (utan inbyggd elektronik) så blir det kanske
lite svårt utan ett anpassningssteg innan ADCn.

> och letar efter vanligaste värdet.

Är det inte enklare att bara summera och dela med 32?
Alltså bara ta summan och shifta 5 steg?
Hur gör du för att hitta det "vanligaste värdet"?
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: AVR analog ingång ostabil

Inlägg av victor_passe »

Sortera och ta värdet i mitten av vektorn. Antar jag att du menar iaf.
Alltså median.
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

Re: AVR analog ingång ostabil

Inlägg av gripner »

lastcellen levererar 8mV vid den matning jag har till den vid min "maxlast"
Så jag behöver mäta 0-8mV givetvis. Med en 24bit ADC kan jag läsa det mycket mer högupplöst än en 10bits ADC där jag först har förstärkt upp till att maxa ut vid 5V ist för 8mV. Många många tusen gånger nogrannare.
Hur det fungerar i verkligheten återstår att testa. Har ju alltid min ina128 med mitt LPF att falla tillbaka på då den delen fungerar felfritt.

Jag gör 32st adc läsningar till en array.
Loopar igenom arrayen och letar efter det talet som påträffas flest antal ggr.
Jag vet att jag skall ha 175, med rutinen ovan får jag i princip alltid 175.
Jag har testat med ett räkna fram medelvärde etc, men då blir det ibland 175, 176, 174. dock oftast 175, men inte i princip ALLTID som min hitta flest antal av samma funktion åstadkommer.

Hur var och varför får proffsen treta över, jag kör bara på det som fungerar bäst i praktiken.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: AVR analog ingång ostabil

Inlägg av sodjan »

> Sortera och ta värdet i mitten av vektorn. Antar jag att du menar iaf.

1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3
Är "2" ovan det "vanligaste värdet" ???
Medianen måste inte alls vara det "vanligaste värdet".

> Jag vet att jag skall ha 175...

Om du redan vet vad du ska ha så behöver du ju inte mäta alls... :-)

Skit samma, jag tycker bara du lurar dig själv med en påhittad rutin
som är mer anpassad till dina förväntningar än något annat.

> Har ju alltid min ina128 med mitt LPF att falla tillbaka på då den delen fungerar felfritt.

Ja, det låter ju dessutom som rätt metod för en lastcell :-)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46976
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: AVR analog ingång ostabil

Inlägg av TomasL »

Eller också så tar du en precisions AD med inbyggda kalibrerade PGAer, så slipper du problem.
gripner
Inlägg: 1169
Blev medlem: 4 december 2007, 14:47:39
Ort: Lidingö

Re: AVR analog ingång ostabil

Inlägg av gripner »

Vet inte riktigt vem du svarae sodjan, jag har aldrig sagt att jag tar medianen. Utan det mest förekommande värdet. Tex

1,1,1,2,2,3,3,2,1,1
Ger 1 i mitt fall medan medianen skulle ge något helt annat.
Skriv svar