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

Tacno merenje vremenskog intervala

[es] :: Elektronika :: Mikrokontroleri :: Tacno merenje vremenskog intervala

Strane: 1 2 3

[ Pregleda: 10741 | Odgovora: 40 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.co.yu.



+1 Profil

icon Tacno merenje vremenskog intervala21.12.2006. u 20:58 - pre 177 meseci
Pozdrav svima!

Olako sam sam se uhvatio sa jednim, naizgled, jednostavnim problemom. Pre nego sto ga opisem,
da kazem da sam do sada radio sa AT89C51RC a sada sa PIC16F877. Problem:

Treba izmeriti vremenski period od 22ms sa tacnoscu 5ppm. Vremnski period je odredjen sa dva
signala: A i B. Period pocinje kada A sa log. 1 padne na log. 0, a zavrsavase kada B skoci
sa log. 0 na log. 1. Ovo se radi da bi se kontrolisao neki uredjaj koji mora vremenski da
radi precizno.

Nabavio sam dva precizna, temperaturno kompenzovana oscilatora. Oba su od 10MHz, jedan ima
stabilnost 2.5ppm a drugi +/- 1ppm. Oni su jako skupi (oko 40 EUR) pa molim za ideju kako
ovaj problem da resim sa sto manje para.

Sve moje racunice kazu da sa pomenutim mikrokontrolerima ne mogu da resim ovaj problem.

Unaped zahvalan.
 
Odgovor na temu

tomam
Tomislav Milicevic
Beograd

Član broj: 104895
Poruke: 154
*.eunet.yu.



+4 Profil

icon Re: Tacno merenje vremenskog intervala21.12.2006. u 21:23 - pre 177 meseci
Mozda moze sa 51 (nisam dogo radio sa njom pa se ne secam najbolje detalja)
Inace generalno sa PLD-om i nekim brojacem (moze biti i mikrokontroler)
 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Tacno merenje vremenskog intervala21.12.2006. u 22:10 - pre 177 meseci
tomam,

hvala na interesovanju, ali

tacnost 5ppm (5 milionita) na 22ms se moze postici brojanjem impulsa periode

0.022*5/1000000 = 110ns, odnosno polovinom od toga, sto je 55ns, a odgovarajuca
frekvencija je 18.18MHz. Za merenje treba koristiti Capture mod tajmera, a na
ovoj frekvenciji 51-ca to ne moze da uradi.

Ipak jos jednom hvala.
 
Odgovor na temu

tomam
Tomislav Milicevic
Beograd

Član broj: 104895
Poruke: 154
*.eunet.yu.



+4 Profil

icon Re: Tacno merenje vremenskog intervala22.12.2006. u 09:26 - pre 177 meseci
Brojac ne ide do 10 MHz???
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 582
*.dynamic.sbb.co.yu.



+7 Profil

icon Re: Tacno merenje vremenskog intervala22.12.2006. u 13:35 - pre 177 meseci
zofr


Mozda mogu da pomognem, kada dodjem do malo vremena.

Pozdrav
 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Tacno merenje vremenskog intervala22.12.2006. u 22:34 - pre 177 meseci
tomam, korak

U tehnickim karakterisikama nisam nasao koja je najveca moguca frekvencija
tajmerskog brojaca AT89C51RC-24, ali se iz seme tajmera vidi, kada on generise
neku frekvenciju, da se brojacu moze dovesti 12MHz.

Nazalost, za tacnost koja mi je potrebna frekvencija brojaca mora biti
najmanje 18.18MHz.

Pozdrav


 
Odgovor na temu

tomam
Tomislav Milicevic
Beograd

Član broj: 104895
Poruke: 154
*.eunet.yu.



+4 Profil

icon Re: Tacno merenje vremenskog intervala22.12.2006. u 23:55 - pre 177 meseci
Za tu tacnost ti je potrebna frekvencija 9.09 MHz
Procesor po data situ ide do 33MHZ.
Za istu tacnost ti je potrebno 18 bita(16 bita brojac + 2 soft.(imas vremena).
Logiku ulaza uradis sa nekoliko AC(ili F ) kapija(simetricno=>isti broj kapija start stop-capture).
Doduse kompleksnost ulaza zavisi od uslova(u definiciji problema nisu obuhvaceni svi uslovi)?
Uzmes oscilator 10 MHz i to ti je to.
Pitanje kod koga si cije oznake oscilatora si nabavio ?
Bilo bi mozda jednostavnije da se cujemo(ako ti jos uvek nije sve jasno) posalji broj tel na PM
 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Tacno merenje vremenskog intervala23.12.2006. u 00:24 - pre 177 meseci
Za tomam,

Za moj problem je ipak potrebna frekvencija od 18.18MHz. Zamisli:

1. Vreme koje merim pocne neposredno po zavrsetku periode odbrojavanja brojaca,
a zavrsava se neposredno pre kraja periode odbrojavanja.

2. Vreme koje merim pocne neposredno pre zavrsetku periode odbrojavanja brojaca,
a zavrsava se neposredno posle kraja periode odbrojavanja.

U oba slucaja brojac ce isto odbrojati, ali ce se merene periode pod 1 i 2 razlikovati
za skoro 2 periode frekvencije brojanja.

Srdacan pozdrav.

PS: oscilatore sam nabavio kod Farnela

 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
80.74.160.*



+10 Profil

icon Re: Tacno merenje vremenskog intervala23.12.2006. u 23:55 - pre 177 meseci
Dali taj pic poseduje komparator na 16bit brojacu?
__*__
*___*
 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Tacno merenje vremenskog intervala24.12.2006. u 23:36 - pre 177 meseci
Za _str_

Da PIC16F877 ima Input Capture tajmer, ali se njegov brojac moze klokovati
najvise sa 5MHz.

 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Tacno merenje vremenskog intervala25.12.2006. u 01:50 - pre 177 meseci
.

[Ovu poruku je menjao zofr dana 25.12.2006. u 03:08 GMT+1]
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1585
213.244.197.*



+321 Profil

icon Re: Tacno merenje vremenskog intervala25.12.2006. u 18:20 - pre 177 meseci
Mislim da sam nasao resenje za tvoj problem, nisam se posebno udubljivao, ali bi trebalo da to moze da ti zavrsi posao. Elem, moje resenje pored mikrokontrolera zahteva i jedan binarni brojac koji mora da ima od ulaza CLK, -EN i RES, a od izlaza 4 (ili vise, procenis sam posle) izlaza, a sve bi se povezalo na sledeci nacin: napravis oscilator potrebne frekvence koji vodis na, naravno, CLK ulaz brojaca. Signal kome treba da meris trajanje log. nule povezes na -EN i na jedan ulazni pin kontrolera, zvacemo ga U1. Izlaze iz brojaca (Q0 do Q3) povezes na 4 ulaza od kontrolera (U2 do U5) i jedan izlazni pin kontrolera (I1) spojis sa RES ulazom brojaca. Program za kontroler bi radio ovako: na pocetku resetujes sa I1 brojac i cekas da na U1 padne nivo na 0. Tog trenutka binarni brojac pocinje da radi (jer je na -EN stigao nizak nivo), a ti kontrolerom proveravas stanje na U5, odn. brojis koliko je "shesnaestica" proslo. Kada na U1 dobijes visok nivo (brojac prestaje da radi zbog visokog nivoa na -EN) uzmes stanje sa sva 4 izlaza brojaca, odn. ulaza U2 do U5, i uz malo matematike dobijes rezultat. Posle toga sve u krug, resetujes brojac itd. E sad, broj izlaza brojaca koji bi se koristili zavisio bi od brzine kontrolera; ako je kontroler spor, uzmes vise izlaza i obrnuto. Ako ne mozes da nadjes brojac sa -EN (nemam sada vremena da trazim po katalozima) mozes da uzmes jednu ILI kapiju na cije bi ulaze doveo izlaz iz oscilatora i mereni signal, a izlaz spojio na CLK.
Ako nisam bash dobro objasnio mogu da ti nacrtam okvirnu shemu.

Pozdrav.
Sinisha
 
Odgovor na temu

tomam
Tomislav Milicevic
Beograd

Član broj: 104895
Poruke: 154
*.eunet.yu.



+4 Profil

icon Re: Tacno merenje vremenskog intervala25.12.2006. u 19:01 - pre 177 meseci
Ljudi su sa PIC16F84 pravili brojace frekvencije preko 30MHz pogledaj po netu?
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1585
213.244.197.*



+321 Profil

icon Re: Tacno merenje vremenskog intervala25.12.2006. u 19:05 - pre 177 meseci
Jeste, i Voja Antonica pravio do 50 Mhz, ali koja rezolucija?

Pozdrav.
Sinisha
 
Odgovor na temu

tomam
Tomislav Milicevic
Beograd

Član broj: 104895
Poruke: 154
*.eunet.yu.



+4 Profil

icon Re: Tacno merenje vremenskog intervala25.12.2006. u 19:25 - pre 177 meseci
Ne razumem to o rezoluciji?
On je direktno u kontroler uvodio tu frekvenciju bez predskalera(samo uoblicavac impulsa) i brojao te impulse!
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1585
*.vdial.verat.net.



+321 Profil

icon Re: Tacno merenje vremenskog intervala25.12.2006. u 20:48 - pre 177 meseci
Kao prvo, cinjenica da je taj instrument pravio Voja Antonic (a poznato je da on hardver i softver iskoristi do krajnjih granica) meni je bila dovoljna da ne sumnjam u to da nije moglo i bolje. U textovima, kao i na displeju instrumenta, jasno se vidi da ima deljenja, a merenje je podeljeno na 4 opsega kako bi preciznost na nizim frekvencama bila veca (zbog manje vrednosti preskalera). Evo, kopao sam malo po prasini i nasao casopis u kome je objavljen prvi deo texta u kome autor kaze:
" I kod frekvencmetra je iskoriscen interni brojac TMR0, cime je dobijena granicna ucestanost od (za ovakav instrumet) zavidnih 50 MHz. Ipak, posto je za ovakvu brzinu bilo neophodno uposliti i preskaler, a povecan stepen deljenja automatski znaci i gubitak rezolucije ocitavanja instrumenta, napravljen je izbor faktora deljenja preskalera u pet koraka, od faktora 0 (pri cemu se dobija granicna ucestanost od 5 MHz, uz rezoluciju ocitavanja od dve jedinice), do faktora 16 (50 MHz / rezolucija 32)."
Doduse, u finalnoj verziji autor je smanjio frekvencu na 40 MHz i podelio to u 4 opsega.

Znaci, da je moglo bez preskalera, Voja bi to sigurno i uradio.

Pozdrav.
Sinisha


[Ovu poruku je menjao rsinisa dana 25.12.2006. u 23:03 GMT+1]

[Ovu poruku je menjao rsinisa dana 25.12.2006. u 23:03 GMT+1]
 
Odgovor na temu

zofr

Član broj: 126534
Poruke: 119
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Tacno merenje vremenskog intervala26.12.2006. u 00:03 - pre 177 meseci
rsinisa

Potpuno ti je tacan komentar sto se tice merenja 50MHz-a.

Tvoj predlog za resenje problema tacnog merenja vremena je najozbiljniji od svih koji su mi ponudjeni.
Sve je u redu samo bih morao da resim nekoliko problema:

1. Tesko mi pada da izdvojim jos 40-tak EUR za tacan i stabilan oscilator od 20 MHz, jer sam vec nabavio
dva od 10MHz.
2. Tvoj predlog ne zahteva da softverski produzujem tajmerski brojac za nekoliko bita, sto je dobro. Nije dobro
to sto se ti bitovi nalaze u spoljasnjem brojacu i vrlo brzo se menjaju, i dok ih pokupim u interrupt proceduri
oni ce biti promenjeni. To ce ozbiljno ugroziti tacnost merenja.

Ipak hvala.

PS: pocecu da razmisljam da trazim resenje sa mozda nekim drugim kontrolerom.
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1585
*.beobug.com.



+321 Profil

icon Re: Tacno merenje vremenskog intervala26.12.2006. u 17:37 - pre 177 meseci
Hm, a zasto si kupovao oscilatore pre nego sto si utvrdio koji ti treba?
Nego, nisi me do kraja razumeo; uopste ti ne treba interapt jer pratis samo stanje najtezeg bita brojaca (dok traje uslov za brojanje) i time uvecavas brojac tih, kako da se izrazim, grupa brojeva. Npr. ako koristis 4 bita brojaca, pratis samo najtezi i kada on predje prvo sa 0 na 1 ne radis nista, samo pamtis da je presao sa 0 na 1. Kada nakon toga predje sa 1 na 0 uvecas jedan brojac koji pamti koliko je grupa od po 16 proslo. Znaci, ako ti je frekvenca oscilatora 16 MHz, ti na Q3 imas frekvencu od samo 1 Mhz (koja otprilike moze da se prati sa 20 MHz oscilatorom na PIC-u). A mozes da gledas stanje na Q4 i kada god se promeni uvecas brojac grupa koji opet oznacava grupu od 16 brojeva (jer gledas svaku promenu). Mozes ti da pratis i neki tezi bit brojaca koji se jos sporije menja, npr. Q7 i imas veoma sporu promenu na njemu. Znaci, ako bi pratio svaku promenu Q7 imao bi brojanje grupa od 128. Jedino sto moras onda da upotrebis vise pinova kontrolera za krajnji broj.
Ne znam da li si me sada bolje razumeo, a ja cu za svaki slucaj da nacrtam shemu (posle sam video da imas 2 signala koja pratis, ali to nije nikakav problem).

Pozdrav.
Sinisha
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
80.74.160.*



+10 Profil

icon Re: Tacno merenje vremenskog intervala26.12.2006. u 20:40 - pre 177 meseci
Ljudi su bili i na Mesecu bez pic-a:,
Koja je oznaka tog glupog (ogranicenog) kontrolera, 16Fxx?

__*__
*___*
 
Odgovor na temu

grabik

Član broj: 32507
Poruke: 311
80.80.60.*



+7 Profil

icon Re: Tacno merenje vremenskog intervala26.12.2006. u 23:26 - pre 177 meseci
Nisam do sada koristio capture modul iz pic mc-a tako da ovo nisam nikada radio u praksi.

Trebalo bi da se iz tog temp. stabilnog oscilatora pogoni pic(16f877a) na 10mhz ujedno i jedan od njegovih brojaca TMR1 ili TMR3 ,

kod nailaska prve ivice koju mjerimo capture upisuje stanje koje je u 16bit brojacu u capture registar ujedno signal koji mjerimo dovodimo na portb gdje kod svake promene na ulazu dobijamo prekid koji oznacava da je prva vrednost tmr1 brojaca capture registru ,

provera logickog stanja na pinu porta b da nije doslo do nekog kratgog prekida onda ponistimo vrednosti i cekamo ponovo ulaznu ili silaznu ivicu ako je signal bio jako kratak doslo je do smetnje,

promjenimo setovanje capture modula da na ulaznom pinu ccp sa ulazne ivice generise capture sada na silaznu ili obrnuto,

brojimo prekide koje dolaze sa ccp registra kod prekoracenja 16bit ccp registra ,vrime je oko 22ms znaci 2-4 prekida,


kod nailaska sledece ivice koja generise ponovo upis vrednosti koja je u tajmeru u ccp ,ocitamo ponovo capture registar ,


sada obracunamo obje vrednosti koje smo ocitali iz capture registara + broj prekida sa ccp modula -1.

Tajmer broji direktno klokove koji dolaze sa vanjskog oscilatora bez preskalera, tmr1 ili tmr3 se ne zaustavlja i samo se iz njega upisuju vrednosti u ccp registar.
Kako pic radi hardverski upis iz tmr u capture registar greska je vrlo mala odnosno kasnjenje upisau ccp registar , a ako postoji greska treba je softverski eliminisati verovatno je konstantna ,eventualno ako zavisi od temperature sa adc meriti temp i izvrsiti korekciju.

 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Tacno merenje vremenskog intervala

Strane: 1 2 3

[ Pregleda: 10741 | Odgovora: 40 ] > FB > Twit

Postavi temu Odgovori

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