Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)

[es] :: Elektronika :: Mikrokontroleri :: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)

Strane: 1 2

[ Pregleda: 8690 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ruzmarin84
obradovic
kraljevo

Član broj: 141743
Poruke: 33
*.adsl-a-1.sezampro.yu.



Profil

icon Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)21.04.2010. u 23:11 - pre 169 meseci
Da li bi mi neko mogao odgovoriti u cemu je problem kada se vrsi AD konverzija, a rezultat je nestabilan. Pokusavam da napravim uredjaj za merenje temperature, na USB portu, uz mogucnost pamcenja kompletnog merenja u tabeli i grafickog prikaza merenja. Uredjaj ima 8 kanala. Deo na PC sam realizovao u VB.net. To je u redu. Koristim pic18f4550 i PicBasicPro. Tokom konverzije na razvojnom sistemu, kada okrecem trimer rezultat je u redu, ali mi nije jasno zbog cega je kada na taj isti port dovedem recimo napon sa baterije od 1.5V taj napon nestabilan, i iznosi 1,46 pa u sledecem merenju 1,43 pa 1,45 pa 1,46 i tako ciklicno se ponavljaju te vrednosti. Kada napon pretvorim u temperaturu, imam odstupanja od skoro 1 C izmedju dva merenja. Mislim da je nesto u vezi vremena smirivanja AD konvertora na pic-u, ali nikako da uspem to da smirim. Inace koristim 10bitni AD konvertor. Pokusao sam i sa 8bitnim, ali nisam imao veceg uspeha osim sto sam malo smanjio te nestabilnosti, dodavajuci neke pauzice izmedju konvertovanja. Ako bi neko mogao da mi kaze na sta da obratim paznju, ili se vec susretao sa ovakvim problemom, zamolio bih za pomoc.Hvala unapred. Kod u PICBASICu je sledeci



DEFINE OSC 8 'Oscilator
Define ADC_BITS 10 'Broj bita AD konvertora
Define ADC_CLOCK 1 'Klok (Oscilator /8)

AD_Rez_1 VAR WORD 'Rezultat AD konverzije
AD_Rez_2 VAR WORD 'Rezultat AD konverzije
AD_Rez_3 VAR WORD 'Rezultat AD konverzije
AD_Rez_4 VAR WORD 'Rezultat AD konverzije
AD_Rez_5 VAR WORD 'Rezultat AD konverzije
AD_Rez_6 VAR WORD 'Rezultat AD konverzije
AD_Rez_7 VAR WORD 'Rezultat AD konverzije
AD_Rez_8 VAR WORD 'Rezultat AD konverzije

USBBufferSizeMax con 18 ' Maksimalna velicina bafera
USBBufferSizeTX con 18 ' Ulaz
USBBufferSizeRX con 18 ' Izlaz

'USB baferi
USBBuffer Var Byte[USBBufferSizeMax]
USBBufferCount Var Byte
ADCON1 = %00000111
'Odabiranje pojedinih AD kanala

ADCON0 = %00000001 'Odabran kanal AN0 na RA0 pinu i omogucun
'A/D modul
ADCON0 = %00000101 'Odabran kanal AN1 na RA1 pinu i omogucun
'A/D modul
ADCON0 = %00001001 ' Odabran kanal AN2 na RA2 pinu i omogucen
'A/D modul
ADCON0 = %00001101 'Odabran kanal AN3 na pinu RA3 i omogucen
' A/D modul
ADCON0 = %00010001 'Odabran kanal AN4 na pinu RA5 i omogucen
'A/D modul
ADCON0 = %00010101 'Odabran kanal AN5 na pinu RE0 i omogucen
'A/D modul
ADCON0 = %00011001 'Odabran kanal AN6 na pinu RE1 i omogucen
'A/D modul
ADCON0 = %00011101 'Odabran kanal AN7 na pinu RE2 i omogucen
'A/D modul

ADCON2 = %10010001 'Desno poravnanje, oscil Fosc/8

Pause 1000

usbinit 'inicijalizacija USB-a
Pocetak:

ProgramStart:
gosub DoUSBIn
goto ProgramStart

'Podprogram za citanje podataka sa PC-a
DoUSBIn:
USBBufferCount = USBBufferSizeRX 'Velicina RX bafera
USBService 'Odrzi konekciju
USBIn 1, USBBuffer, USBBufferCount, DoUSBIn 'Procitaj podatke

If USBBuffer[0] = 254 Then
Gosub DoUSBOut
Endif

Return

'Podprogram za upis podatana na PC-u
DoUSBOut:
USBBufferCount = USBBufferSizeTX 'Velicina TX bafera
USBService 'Odrzi konekciju
USBBuffer[0]=254

'Realizacija AD konverzije

ADCIN 3, AD_Rez_1 'Izvrsi konverziju na RA3 i 10 bita
'rezultata smesti u AD_Rez_1
adcin 2, ad_rez_2 'Izvrsi konverziju na RA2 i 10 bita
'rezultata smesti u AD_Rez_2
adcin 1, ad_rez_3 'Izvrsi konverziju na RA1 i 10 bita
'rezultata smesti u AD_Rez_3
ADCIN 0, AD_Rez_4 'Izvrsi konverziju na RA0 i 10 bita
'rezultata smesti u AD_Rez_4
adcin 4, ad_rez_5 'Izvrsi konverziju na RA5 i 10 bita
'rezultata smesti u AD_Rez_5
adcin 5, ad_rez_6 'Izvrsi konverziju na RE0 i 10 bita
'rezultata smesti u AD_Rez_6
ADCIN 6, AD_Rez_7 'Izvrsi konverziju na RE1 i 10 bita
'rezultata smesti u AD_Rez_7
adcin 7, ad_rez_8 'Izvrsi konverziju na RE2 i 10 bita
'rezultata smesti u AD_Rez_8



'Smestanje rezultata konverzije

USBBuffer[1]=AD_rez_1.LowByte 'Nizi bajt rezultata smesten u USBBuffer[1]
USBBuffer[2]=AD_rez_1.HighByte 'Visi bajt rezultata smesten u USBBuffer[2]
USBBUFFER[3]=AD_REZ_2.LOWBYTE
USBBUFFER[4]=AD_REZ_2.HIGHBYTE
USBBUFFER[5]=AD_REZ_3.LOWBYTE
USBBUFFER[6]=AD_REZ_3.HIGHBYTE
USBBUFFER[7]=AD_REZ_4.LOWBYTE
USBBUFFER[8]=AD_REZ_4.HIGHBYTE
USBBUFFER[9]=AD_REZ_5.LOWBYTE
USBBUFFER[10]=AD_REZ_5.HIGHBYTE
USBBUFFER[11]=AD_REZ_6.LOWBYTE
USBBUFFER[12]=AD_REZ_6.HIGHBYTE
USBBUFFER[13]=AD_REZ_7.LOWBYTE
USBBUFFER[14]=AD_REZ_7.HIGHBYTE
USBBUFFER[15]=AD_REZ_8.LOWBYTE
USBBUFFER[16]=AD_REZ_8.HIGHBYTE



USBOut 1, USBBuffer, USBBufferCount, DoUSBOut 'Posalji podatke PC-u
PAUSE 1000
Return
 
Odgovor na temu

VRadule
Vladimir Radulovic

Član broj: 191689
Poruke: 211
*.dynamic.isp.telekom.rs.



+8 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 05:51 - pre 169 meseci
Pic voli nisku izlaznu otpornost generatora napona, manju od 1kohm, ako to nemaš stavi bafer.
Naponska referenca za a/d konverziju mora biti vrlo stabilna, eksterni Vref od 4,096v bi bio o.k, Vcc pica kao naponska referenca za
ad konverziju nije baš neko rešenje.
Takođe Nf filter između generatora napona koji meriš i ulaza u ad konvertor je poželjan.

 
Odgovor na temu

elektrostudio
Vladimir Pavkovic
SZR Elektrostudio, servis idustrijskih
masina i software developer
Novi Sad

Član broj: 201423
Poruke: 283
*.dynamic.isp.telekom.rs.

Sajt: elektrostudio.com


+25 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 07:24 - pre 169 meseci
Da bi smirio stvari uvedi digitalni filtar kao sto svi veliki proizvodjaci rade, (nova vrednost + stara)/2 ili (nova+stara*2)/3...
Elektrostudio
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 11:20 - pre 169 meseci
Možeš da probaš i kondenzator paralelno AD ulazu, probaj 100 nF ili 1 uF tantal.

Pozdrav.
Sinisha
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 12:01 - pre 169 meseci
Zavisi od mnogo faktora, pogotovo kad se radi o uticaju malih velicina.

Prvo, moras imati stabilan referentni napon za AD konvertor.
Dalje, moras imati dobro projektovanu plocicu. Ako plocica nije dobro projektovana, parazitne otpornosti i kapacitivnosti dovode do toga da Vcc i GND "plesu" sa promjenom potrosnje cipa. Zatim, ako VCC i GND geometrijski prave veliku petlju, onda ce ona indukovati struju u svim drugim petljama sa kojima zaklapa neku nezanemarljivu medjusobnu induktivnost.
To najvise ovisi o geometrijskom rasporedu vodova. Ako ti nije problem okaci ovdje tacnu semu i sliku kako je to sve prakticno realizovano pa mozemo prodiskutovati.
 
Odgovor na temu

ruzmarin84
obradovic
kraljevo

Član broj: 141743
Poruke: 33
*.adsl-a-1.sezampro.yu.



Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 12:02 - pre 169 meseci
Pokusao sam sa dodavanjem kondezatora kao sto je Sinisa rekao, ali sa manjim kondenzatorom nema razlike, sa vecim je jos gore. Uglavnom ne menjaju se stvari. Pokusao bih sa eksternim Vref, pa bih molio da mi malo pojasnite. Kako ja kapiram, potrebno je da izmenim ADCON1 tako da se koriste Vref+ i Vref- na pinovima RA3 i RA2, pa Vref- spojim na masu, a Vref+ na 4,096v koji dobijem koriscenjem zenerke ili tako nekako. Ispravite me ako gresim.

Digitalni filter mi se cini kao dobro resenje da se odstupanja malo ublaze, ali ne znam da li bi se totalno neutralisale. Hvala svima na pomoci, odoh da probam pa se javljam sa rezultatima. pozdrav
 
Odgovor na temu

ruzmarin84
obradovic
kraljevo

Član broj: 141743
Poruke: 33
*.adsl-a-1.sezampro.yu.



Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 12:19 - pre 169 meseci
Ovo sve sam realizovao na EasyPic3 razvojnom sistemu. I ja sam mislio da ploca mozda unosi neke nestabilnosti, ali kada sam pic prebacio u plocicu koju sam napravio, sve se potpuno identicno ponasa. Mislio sam da je problem mozda u kondicioneru signala, ali instrument kaze da je napon na izlazu iz njega stabilan.
nasao sam negde da kada ima vise kanala na kojim se vrsi konverzija dolazi do slicnih smetnji, i preporucuje se da se to resi prelaskom sa 10bitnog na 8bitni konvertor, i to sam uradio, ali se sve ponasa potpuno identicno, samo sto sam tada dodavanjem malih pauza od 50ms nakon svake ADCIN komande, uspeo malo da umirim odstupanja. Zakacicu i shemu, samo da provalim kako... Nisam bas najaktivniji ucesnik foruma...
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 13:02 - pre 169 meseci
Pa ako ti sa trimera, kako kazes, ocitava stabilan napon i nemas problema sa njim, onda je izgleda sve u redu sa kolom i programom.
Problem se nalazi negdje na putu od kola do baterije koju testiras, ukljucujuci mozda i bateriju.
U slucaju da koristis duze zice kojima "pipas" polove baterije, probaj da te zice maksimalno skratis i da ih od svog kola pa do baterije vodis priljubljene jednu uz drugu i da ti kontakt izmedju zica i kola i zica i baterije bude sto bolji i cvrsci i da se ne pomjera u toku mjerenja. Takodje, ponovi test sa nekom drugom baterijom.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 13:11 - pre 169 meseci
za tacno merenje, externa referenca je neophodna ... moze zenerka a moze i nesto tipa LM336z-5.0 (5v referenca)

ono sto meni ovde deluje cudno je da ti nigde ne proveravas da li je ciklus akvizicije gotov ...

na picu ti zapocnes akviziciju, i on ti rokne interapt kada je istu zavrsio, ili ga ti pitas "da li je gotova" pa onda sisnes datu .. sisanje date bez da si proverio da li je akvizicija gotova po meni nije ok, nemam pojma kako proveravas da li je akvizicija gotova iz basica
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 13:13 - pre 169 meseci
@odin, ako mu "plesu" vss i vdd onda ce trimer izmedju vss i vdd da uvek daje "stabilnu" vrednost posto njegov izlaz plese u skladu sa vss/vdd tako da ad cita stabilnu vrednost. sa druge strane, ako zabode neku referencu, taj izlaz sa pot-a ce da plese dok ce citanje externog vdd-a biti tacno
 
Odgovor na temu

ruzmarin84
obradovic
kraljevo

Član broj: 141743
Poruke: 33
*.adsl-3.sezampro.yu.



Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 13:53 - pre 169 meseci
Nisam bas siguran da razumem ovo oko zavrsenog ciklusa. Jos uvek sam na pocetku ucenja, pa mi nije bas sve najjasnije. Ovaj kod sam realizovao pomocu knjige Voje Milanovica, i ceo kod se oslanja na njegov u vezi AD konvertora. Samo sam ja ovde prosirio broj kanala, a aplikaciju na PC'u sam doradio dosta, posto mi je to programiranje dosta poznatije od mikrokontrolera. Bogdane, ako ti nije problem usmeri me jos malo na koji deo koda da obratim paznju. Kako da proverim da li je akvizicija gotova? Hvala za dosad...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 14:35 - pre 169 meseci
imas dva nacina da radis ad konverziju ..

1. zapocnes citanje, cekas da se adc konverzija zavrsi (Tad), procitas vrednost
2. zapocnes citanje, radis nesto drugo a adc kontroler ti pukne interapt kada zavrsi, ti procitas vrednost

e sad .. zavisno od biblioteke koju koristis (nemam pojma kako radi picbasic) moguce da ti kad uradis ADCIN da picbasic odradi ceo ciklus [1] tako da on sam zapocne, saceka, procita ..

pogledaj data sheet .. tu ti sve pise ..

Citat:

The following steps should be followed to perform an
A/D conversion:
1. Configure the A/D module:
• Configure analog pins, voltage reference and
digital I/O (ADCON1)
• Select A/D input channel (ADCON0)
• Select A/D acquisition time (ADCON2)
• Select A/D conversion clock (ADCON2)
• Turn on A/D module (ADCON0)
2. Configure A/D interrupt (if desired):
• Clear ADIF bit
• Set ADIE bit
• Set GIE bit
3. Wait the required acquisition time (if required).
4. Start conversion:
• Set GO/DONE bit (ADCON0 register)



u TABLE 21-1 imas tabelu koliko traje acquisition time

no obzirom da ti je citanje potenciometra "ok", bice da ti je problem sa nestabilnom referencom (ti koristis vcc za referencu) tako da ti je resenje ili da ides na stabilnu referencu ( LM336z-5.0 je zgodan posto je cistih 5V, mozes da napravis i 4.77 zenerku + otpornik, to je malo jeftinije ..) ili da "uprosecujes" rezultat kako ti je vec ellektrostudio rekao, neka od cestih resenje:
Code:

rezultat = (stara + nova)/2
rezultat = (stara + 2*nova)/3
rezultat = (2*stara + nova)/3
rezultat = sqrt(stara * nova) //ovaj je odlican ali nije bas preporucljiv uvek posto trosi puno cpu-a i rom-a


 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 17:01 - pre 169 meseci
Uzmi npr. 3 baterije i vezi ih redno da dobijes npr. ~4.5 volti i onda ih povezi izmedju GND i VREF od AD-a.
To ti je neko na brzinu prirucno rjesenje samo da testiras da li ti ti rezultati plesu zbog VREF-a ili ne.
Onda uradi mjerenje, pa vidi da li i tada imas iste probleme.
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 18:46 - pre 169 meseci
Citat:
bogdan.kecman:ono sto meni ovde deluje cudno je da ti nigde ne proveravas da li je ciklus akvizicije gotov ...

ADCIN radi sav posao, startuje konverziju, čeka da se završi, i onda uzme rezultat. Znači, nije potrebna dodatna provera da li je konverzija gotova.

Pozdrav.
Sinisha
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
*.dynamic.isp.telekom.rs.



+321 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 18:55 - pre 169 meseci
Citat:
bogdan.kecman: @odin, ako mu "plesu" vss i vdd onda ce trimer izmedju vss i vdd da uvek daje "stabilnu" vrednost posto njegov izlaz plese u skladu sa vss/vdd tako da ad cita stabilnu vrednost. sa druge strane, ako zabode neku referencu, taj izlaz sa pot-a ce da plese dok ce citanje externog vdd-a biti tacno

Slažem se sa ovim, i mislim da je napon napajanja nedovoljno stabilan, a to bi moglo lako da se vidi osciloskopom. A dodavanjem još ELKO-sa paralelno naponu napajanja, rezultat bi trebalo da bude mnogo bolji.
Pozdrav.
Sinisha
 
Odgovor na temu

ruzmarin84
obradovic
kraljevo

Član broj: 141743
Poruke: 33
*.adsl-3.sezampro.yu.



Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 19:07 - pre 169 meseci
Probao sam sa eksternim referentnim napajanjem, i jeste malo bolje, ali ponovo nije dovoljno stabilna kriva. Uzeo sam 5V sa razvojnog sistema, i doveo na odredjeni pin. Na razvojnom sistemu je napajanje eksterno, nije preko usb porta. Moguce je da je i to napajanje zavisno od vcc-a. Probacu da dovedem potpuno nezavisno napajanje na vref, pa cu javiti rezultat. Pozdrav
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 19:13 - pre 169 meseci
stavi baterije na vref za test kao sto ti je odin rekao .. to ti je najsigurnije, sve sa ispravljaca ti nece biti ok za test
 
Odgovor na temu

ruzmarin84
obradovic
kraljevo

Član broj: 141743
Poruke: 33
*.adsl-3.sezampro.yu.



Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)22.04.2010. u 22:13 - pre 169 meseci
Sa baterijama se ponasa potpuno isto kao i kada sam doveo napajanje sa ploce. Ne znam vise sta da mu radim. Pokusacu sutra da odradim to sa digitalnim filtrom, jos mi je to ostalo, ali malo mi sa ove tacke deluje nelogicno... Hvala svima na trudu... Ako budete imali jos nekih ideja, ja se necu predavati neko vreme... Sve mi se nesto cini da to vreme smirivanja treba da bude pravilno ispostovano, ali iz uputstva ne mogu bas najbolje da razumem kako... E da, ako dovedem referentni napon od recimo 4.25 V, da li to znaci da mi je sada ceo opseg 4,25V a ne 5V? Nije mi ni na pamet palo da ova konverzija moze da se ovoliko iskomplikuje...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)23.04.2010. u 12:14 - pre 169 meseci
ako se ja dobro secam ima fora da mu vreg bude "max" (u tom slucaju stavljas 4.7 - 5V referencu i to ti je max opsega) i da mu vreg bude "pola" (tada stavljas ~2.5V referencu i max opsega ti je vdd) ali nemoj da me drzis za rec nisam dugo citao manual za ad

sto se tice ovog setanja, nisam nikad imao problem sa tolikim oscilacijama (cak ni bez vref-a, samo sa 1000uF na vdd/vss) .. ja doduse vise volim da ih citam na interrupt a ne u petlji al ne verujem da to mnogo menja stvari ... eventualno da posle svakog citanja stavis 5ms pauzu ..

EDIT: sad mi pade na pamet, to sto si ti vezao bateriju na vref ne znaci nista ako nisi iskonfigurisao ADC modul da koristi taj vref. ako nisi menjao kod nisi ni mogao da ocekujes promene

[Ovu poruku je menjao bogdan.kecman dana 23.04.2010. u 13:26 GMT+1]
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)23.04.2010. u 12:19 - pre 169 meseci
bogdan.kecman ti je objasnio zasto nemas nestabilno merenje kada koristis trimer. Iz toga zakljucujem da si referencu ADC-a izveo iz napona napajanja.

To ne mora da znaci da si uradio nesto lose, ukoliko imas u modulu ADC-a generator naponske reference sa kojom mozes da vrsis korekciju konvertovane vrednosti sobzirom na jedva vidljiv brum u napajanju (kazes da ti se varijacije ciklicno pojavljuju sto upucuje na to).

Dalje trebas, a ja uvek tako radim, da konvertovane vrednosti filtriras digitalnim NF filtrom koji moze da potisne sve pa i spoljne smetnje. Najefikasniji filter, u smislu manjeg broja pomocnih varijabli, je opisan formulom:


Y := Y+(X-Y)/2^n

X je vrednost ocitana sa ADC-a, n je konstanta koja odredjuje vremensku konstantu NF filtra, a Y je filtriran signal X. Vremenska konstanta je dT*2^n gde je dT vreme izmedju dva citanja. Konstantu n podesavas, najbolje, empirijski dok ne dobijes zadovoljavajuci rezultat. Kako se radi o merenju temperature koja se sporo menja mozes da podesis veliku vremensku konstantu tako da jako potisnes smetnje. Izabrano je deljenje 2^n jer se ostvaruje samo siftanjem, ali moze biti i bilo koja druga konstanta.

Prakticno za realizaciju ti treba da Y i X budu 4-o bajtne vrednosti u formatu fiksnog zareza, sa 2 celobrojna bajta. Dakle bilo bi:


YYYY.dddd := YYYY.dddd+(XXXX.0000-YYYY.dddd)/2^n

dddd su decimalni delovi od Y odnosno X. Kao rezultat uzimas samo celobrojni deo YYYY. Vodi racuna da n ne bude vece od 31 jer ces posle deljenja sa 2^n dobiti 0 pa filter nece raditi. Medjutin bice ti dovoljno da n bide do 10.

Inicijalno mozes, a ne moras, da postavis Y na 0.

Pozdrav.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Pomoc oko AD konverzije. Vreme smirivanja ili..... (picbasic...)

Strane: 1 2

[ Pregleda: 8690 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.