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

50Hz picbasic merenje

[es] :: Elektronika :: Mikrokontroleri :: 50Hz picbasic merenje

[ Pregleda: 2606 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

yt1nvs
programer,microm
srbija

Član broj: 231966
Poruke: 152
*.dynamic.isp.telekom.rs.



+7 Profil

icon 50Hz picbasic merenje13.02.2010. u 22:13 - pre 171 meseci
Pozdrav,
Radim neka merenja vezana za agregat znaci napon struja radni sati itd.Izmedju ostalog meri se i frekfencija generatora.Moj problem je kako najlakse izmeriti tu vrednost sa malo tacnijim rezultatom npr 49.5Hz ili 50.1Hz.Hocu da kazem sa naredbom COUNT ja to merim ali je rezultat npr. 49 ili 50Hz.Da li neko ima neko bollje resenje.
 
Odgovor na temu

Sepa011

Član broj: 161918
Poruke: 1817
91.148.92.*



+28 Profil

icon Re: 50Hz picbasic merenje13.02.2010. u 22:34 - pre 171 meseci
Ne mogu mnogo da ti pomognem kada je PBP u pitanju ali kod Proton+ to izgleda ovako:

Code:
Syntax

Variable = COUNTER Pin , Period
 
Overview

Count the number of pulses that appear on pin during period, and store the result in variable.

Operators
Variable - a user-defined variable.
Pin - a Port.Pin constant declaration i.e. PORTA.0.
Period - a constant, variable, or expression.
Example

 ' Count the pulses that occur on PORTA.0 within a 100ms period and displays the results.
 DIM WRD as WORD          ' Declare a word size variable
 SYMBOL Pin = PORTA.0     ' Assign the input pin to PORTA.0
 CLS
Loop:
 WRD = COUNTER Pin , 100  ' Variable WRD now contains the Count
 CURSOR 1 , 1
 PRINT DEC WRD , " "      ' Display the decimal result on the LCD
 GOTO Loop                ' Do it indefinitely
Notes

The resolution of period is in milliseconds (ms). It obtains its scaling from the oscillator declaration, Declare XTAL.  
Counter checks the state of the pin in a concise loop, and counts the rising edge of a transition (low to high). 
 
With a 4MHz oscillator, the pin is checked every 20us, and every 4us with a 20MHz oscillator. 
From this we can determine that the highest frequency of pulses that may be counted is: - 
25KHz using a 4MHz oscillator. 
125KHz using a 20MHz oscillator. 



Uz sve ovo, monitorisanje odradis tako sto na ulazu upotrebis grec umesto jedne diode, tada imas signal od 100 Hz. Malko matematike, produzeno vreme merenja, usrednjavanje sa metodom FIFO,...

[Ovu poruku je menjao Sepa011 dana 13.02.2010. u 23:48 GMT+1]
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

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



+321 Profil

icon Re: 50Hz picbasic merenje13.02.2010. u 23:02 - pre 171 meseci
Ne možeš to da radiš sa naredom COUNT pošto ona služi da za FIKSNI period meri broj impulsa, a tebi treba obrnuto, da za fiksni broj impulsa meriš period. U prevodu, meriš trajanje jedne periode. Treba da upotrebiš naredbu PULSIN, ali ne možeš samo jednu jer ona meri trajanje jednog stanja, pozitivnog ili negativnog (poluperiodu). Da budem precizniji, možeš da meriš trajanje samo jednog stanja ako ti je njihov odnos 1, odnosno ako je 50%/50%, u protivnom moraš da upotrebiš dve, jednu koja će da meri pozitivan, i drugu koja će da meri negativan impuls i uz malo matematike pretvoriš to u frekvencu. Tebi za jednu decimalu treba rezolucija od oko 40 µs što zadovoljava osc. od 4 MHz jer tada PULSIN ima rezoluciju 10 µs.

Pozdrav.
Sinisha
 
Odgovor na temu

yt1nvs
programer,microm
srbija

Član broj: 231966
Poruke: 152
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: 50Hz picbasic merenje13.02.2010. u 23:44 - pre 171 meseci
Da,probacu sa PULSIN odlicno!!!

@Sepa011 hvala za ovu PROTON varijantu!
 
Odgovor na temu

Sepa011

Član broj: 161918
Poruke: 1817
91.148.92.*



+28 Profil

icon Re: 50Hz picbasic merenje14.02.2010. u 00:09 - pre 171 meseci
Nema na sta fala, to ti je iz Help-a

A i Sinisina varijanta ti sasvim lepo moze da posluzi, samo mora da se poigrac sa registrima i interaptom.
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

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



+321 Profil

icon Re: 50Hz picbasic merenje14.02.2010. u 00:15 - pre 171 meseci
Nema tu interapta, naprotiv, ako je uključen interapt biće netačno merenje.

Pozdrav.
Sinisha
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
91.191.7.126



+333 Profil

icon Re: 50Hz picbasic merenje14.02.2010. u 08:17 - pre 171 meseci
Citat:
Sepa011

A i Sinisina varijanta ti sasvim lepo moze da posluzi, samo mora da se poigrac sa registrima i interaptom.


Scepo, ne pazis na casu.
Sinisa ne voli interapte i to daje car njegovim programima.
U principu interapt koristis kad ne znas kad ce se nesto desiti, a u ovom primjeru je izvjesno da poslije negativne ide poitivna poluperioda i tako u krug.
 
Odgovor na temu

Sepa011

Član broj: 161918
Poruke: 1817
91.148.92.*



+28 Profil

icon Re: 50Hz picbasic merenje14.02.2010. u 09:04 - pre 171 meseci
Jes, Jovancho, u pravu si, sitni sati nekad malo pomute razmisljanje
 
Odgovor na temu

rsinisa
Siniša Radanočević
Smederevo

Član broj: 2716
Poruke: 1586
77.46.222.*



+321 Profil

icon Re: 50Hz picbasic merenje14.02.2010. u 15:25 - pre 171 meseci
Jes, Jovane, u pravu si, baš sam štedljiv kad su u pitanju interapti :). Ovde se ionako radi o PBP naredbi koja je takva da ne radi sa interaptom već meri trajanje jednog logičkog nivoa u petlji, ali čisto reda radi da razjasnim da dve uzastopne naredbe od kojih prva meri trajanje niskog, a druga viskog nivoa u stvari ne mere dva susedna nivoa.
Evo o čemu se radi: recimo da prva PULSIN naredba meri trajanje visokog log. nivoa, a ona, da bi merenje bilo precizno, mora prvo da sačeka da stanje bude nisko kako bi sačekala rastuću ivicu, i tek tada kreće merenje koje će da traje sve do pojave opadajuće ivice. Sada dolazi red na drugu naredbu koja će da meri trajanje niskog nivoa, ali da bi merenje bilo precizno ona mora da sačeka da se pojavi visok nivo, a kako je već nastupio nizak nivo, ona će morati da sačeka još jedan "krug" tako da će da izmeri trajane sledećeg niskog nivoa. Sreća pa u ovoj situaciji to nije bitno jer promene nisu česte i velike pa sam zato i predložio ovakvo rešenje. U protivnom bi to trebalo da se uradi na neki drugi način.

Pozdrav.
Sinisha
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
91.191.7.126



+333 Profil

icon Re: 50Hz picbasic merenje14.02.2010. u 17:42 - pre 171 meseci
Hehehe,
i ja zbog PBP-a nisam volio interapte. Skoro uvijek ima neko drugo rjesenje.
A PBP je bas zgodan za interapte.
 
Odgovor na temu

yt1nvs
programer,microm
srbija

Član broj: 231966
Poruke: 152
109.93.65.*



+7 Profil

icon Re: 50Hz picbasic merenje14.02.2010. u 18:37 - pre 171 meseci
Odradjeno sa PULSIN

'f = 1000ms / traj.periode (ms) == 500ms / traj.poluperiode (ms)
'f = 500 000uS / (izmereno sa PULSIN * 10) == 50 000 / izmereno sa PULSIN

' NAPOMENA: (izmereno sa PULSIN * 10) rezolucija merenja na 4MHz je 10uS


pulsin fq,1,polper
a = 50000 / polper
b = 50000 // polper
lcdout $FE,$C0,dec a,".",dec b dig 2,"Hz" 'rezultat u drugom redu LCD


Simulacija u PROTEUSU daje OK rezultat1
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: 50Hz picbasic merenje

[ Pregleda: 2606 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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