 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
| Poglej prejšnjo temo :: Poglej naslednjo temo |
| Avtor |
Sporočilo |
siljo Član



Pridružen-a: Tor 28 Okt 2003 8:08 Prispevkov: 1035 Aktiv.: 4.19 Kraj: Ribn'ca
|
Objavljeno: Pet Jul 29, 2011 8:02 pm Naslov sporočila: |
|
|
problem je lahko "umiritev" signala na določenem mux-u!
Ko se zadeva preklaplja so problem kapacitete ....
Lahko je tudi problem referenca (če se vklaplja / izklaplja / spreminja)
Za vsak konkreten primer in konkreten mikroprocesor je potrebno "prežvečiti zadevo"! _________________ Lep pozdrav! |
|
| Nazaj na vrh |
|
 |
S53DZ Član



Pridružen-a: Čet 28 Apr 2011 9:27 Prispevkov: 951 Aktiv.: 5.22 Kraj: Ljubljana
|
Objavljeno: Pet Jul 29, 2011 9:49 pm Naslov sporočila: |
|
|
Predvsem za maksimalno dinamiko - beri: minimalni šum - je treba ločiti analogno in digitalno napajanje na plošči.
Če dinamika ni najpomembnejša ampak le točnost, je seveda najlažje po meritvi odrezati en ali dva LSB bita rezultata. S tem se izgubi resolucija. Veliko bolje je (če je dovolj časa za meritev) narediti povprečevanje. Povprečevanje pa povprečuje tudi šum! Za povečanje dimanamike vsekakor svetujem ločitev napajanja in filtriranje, kot je bilo že povedano. |
|
| Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 460 Aktiv.: 2.09
|
Objavljeno: Sob Jul 30, 2011 8:45 am Naslov sporočila: |
|
|
Pozabil sem pripisati, da referenco nihamo s frekvenco 1kHz, tako da preko timerja generiramo nihanje te napetosti, za programsko povečanje resolucije naj bi bila ena izmed metod, da signalu dovedemo beli šum.
Kako je to mišljeno, da naj ločim analogno in digitalno napajanje?
Low pas filter je prikazan v aplikaciji na spodnji povezavi na strani 9.
Atmel aplikacija za prevzorčenje in decimacijo:
http://www.atmel.com/dyn/resources/prod_documents/doc8003.pdf |
|
| Nazaj na vrh |
|
 |
S53DZ Član



Pridružen-a: Čet 28 Apr 2011 9:27 Prispevkov: 951 Aktiv.: 5.22 Kraj: Ljubljana
|
Objavljeno: Sob Jul 30, 2011 10:05 am Naslov sporočila: |
|
|
Hm, napotek o ločitvi obeh napajanj za analogno in digitalno stran izhaja iz ARM sveta tako, da morda tu ni relevanten.
Tista aplikacija za povečanje resolucije pa je zagotovo prava pot. Oversampling & decimation. Problem zadnjega bitka se pa ublaži z dodanim šumom - minimalnim. |
|
| Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 460 Aktiv.: 2.09
|
Objavljeno: Sob Jul 30, 2011 11:18 am Naslov sporočila: |
|
|
Saj dela dobro prevzorčenje in decimacije le če je vklopljen samo en kanal, ko pa še dodam ostale pa vrednosti niso več takšne kot bi morale biti.
V programu gre branje adc-ja takole:
preberi kanal 5
počakaj nekaj ms
preberi kanal 4
počakaj nekaj ms
.
.
.
Ko pokličem kanal stem se določi iz katerega kanala želim prebrati vrednost, nato počakam nekaj us zaradi tistega hold kondenzatorja, počakam dokler se ne zaključi adc proces in shranim podatek v spremenljivko, na koncu še postavim bite tako da se lahko ponovno izvede adc konverzija, vse tako kot je opisano v datasheetu.
Merim namreč 6 serijsko vezanih li ionskih baterij, najbolj dober in natančen potatek je iz tiste celice, ki je takoj na masi, če imam vklopljene vse meritve, razen podatka na tej celici, ki pride na adc so ostale meritve napačne. Če pa berem podatke samo en kanal in noben druga na poljubni celici pa je podatek pravilen.
Med branjem in izbiru kanala je dovolj velik delay, da nebi prišlo do napačnih vrednosti.
Nevem zakaj pride do tega? |
|
| Nazaj na vrh |
|
 |
S53DZ Član



Pridružen-a: Čet 28 Apr 2011 9:27 Prispevkov: 951 Aktiv.: 5.22 Kraj: Ljubljana
|
Objavljeno: Sob Jul 30, 2011 2:35 pm Naslov sporočila: |
|
|
| Poskusi s prekomerno povečanim delayem med branjem in preklopom na drug kanal, če se stanje meritev naslednjih kanalov s tem umiri, poskusi zmanjševati to zakasnitev. Vgrajeni multipleks ni idealen. |
|
| Nazaj na vrh |
|
 |
VolkD Član


 
Pridružen-a: Pet 24 Sep 2004 21:58 Prispevkov: 14228 Aktiv.: 57.58 Kraj: Divača (Kačiče)
|
Objavljeno: Sob Jul 30, 2011 5:58 pm Naslov sporočila: |
|
|
Predlagam ti sledeče:
Preberi kanal 5
zavrzi podatek..
počakaj par ms
preberi kanal 5
počakaj par ms
preberi kanal 4
zavrzi podatek
počakaj par ms
preberi kanal 4
...
.. _________________ Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo. |
|
| Nazaj na vrh |
|
 |
galex4 Član

Pridružen-a: Tor 01 Apr 2008 18:27 Prispevkov: 460 Aktiv.: 2.09
|
Objavljeno: Sre Avg 03, 2011 6:56 pm Naslov sporočila: |
|
|
| S53DZ je napisal/a: |
| Poskusi s prekomerno povečanim delayem med branjem in preklopom na drug kanal, če se stanje meritev naslednjih kanalov s tem umiri, poskusi zmanjševati to zakasnitev. Vgrajeni multipleks ni idealen. |
delay med branjem kanalov nima nobenega vpliva na meritev, ne glede na krajši ali prekomerno povečan delay prikazano v programski kodi:
| Koda: |
ad5 = adc_kanal(5); // klic funkcije in branje deločenega kanala
delay_(1000); // delay 6,4ms, ni nobenega vpliva če ga povečam ali zmanjšam
ad4 = adc_kanal(4);
delay_(1000);
ad3 = adc_kanal(3);
delay_(1000);
ad2 = adc_kanal(2);
delay_(1000);
ad1 = adc_kanal(1);
delay_(1000);
ad0 = adc_kanal(0);
delay_(1000);
|
se pa pojavi očitna razlika če povečam delay med preklopom kanala prikaz v programski kodi:
| Koda: |
izbiraKanala = izbiraKanala << 2;
ADCON0 = ADCON0 | izbiraKanala;
ADFM = 1;
ADON = 1;
delay_(16); // če povečam tale delay prekomerno pride do pravilnih rezultatov
for(x = 0; x <16; x++)
{
// meritev
}
ADCON0 = 0b0111.1101;
|
ker imam zahtevo da se vseh 6 meritev izmeri v času 20ms, mi prekomerni delay odpade, je imel kdo s tem že izkušnje? pic, ki ga uporabljam je PIC16F887 |
|
| Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 17.60
|
Objavljeno: Sre Avg 03, 2011 8:04 pm Naslov sporočila: |
|
|
Poglej datasheet, poglavje "9.3 A/D Acquisition Requirements". Vse lepo piše. _________________ Tule nisem več aktiven. |
|
| Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 38.07 Kraj: Kranj - struževo
|
Objavljeno: Sre Avg 03, 2011 8:50 pm Naslov sporočila: |
|
|
Če rabiš hitrejše ali bolj natančno vzorčenje vzemi enega ali več zunanjih AD-jev.
MUX v PIC-ih je pač namenjen osnovnim aplikacijam - branje potenciometrov ali fotouporov in podobne nenatančne stvari. _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
| Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 233 dni
Powered by phpBB © 2001, 2005 phpBB Group
|