Frekvencia mérése

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
vavi
Biztosítékgyilkos
Hozzászólások: 72
Csatlakozott: 2006. április 29. szombat, 6:00

Frekvencia mérése

Hozzászólás Szerző: vavi »

Sziasztok!

Vass Csaba vagyok, kb 1 hónapja boldog MegaBoard tulajdonos. Most kezdtem az ismerkedést ezzel a témával, nagyon megfogott.
Olyan kérdésem lenne, hogy hogyan tudnám megmérni egy négyszögjel frekijét (1 Hz pontossággal) , amit ki tudok íratni az LCD-re? A freki nem magas, 1kHz alatti.

Előre is köszönöm válaszotokat: Vass Csaba
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A bemenőjel négyszög, vagy legalábbis négyszögesíthető, periódikus?

Akkor INTx lábon megfogod. 2 impulzus közt eltelt idő a periódusidő.....:)

Ehhez kell egy timer0/timer1 (a Timer 1 a 16bites szamlalo miatt jobb), és az egyik INT.

A progi elejen timert inditod, es a int engedelyez.

"Foprogram"

Int beesik:
idozito kiolvas->periodusido az elozo impulzusnak
idozito nullaz (Stop Timer1;timer1=0;start timer1)
Return


Igy minden impulzust megnezel megmertel, azaz van egy keped arrol hogy ingadozik e a freki (itta frekvencia reciprokat kapod).



Masik megoldas:
Timer indit
ha timer1>1sec eltelt, akkor disable intx
LCDkiir: 1/impulzusszam

Timer0-z, Int engedelyez
goto progi eleje

Intx:
impulzusszam=impulzusszam+1
Return



Szóval valami hasonló a programváz.
Avatar
huba
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2006. október 17. kedd, 6:00

Hozzászólás Szerző: huba »

ha nem nagy kérés irnál egy példaprogit mert a timerekel még nem barátkoztam meg :oops: az elsö megoldasod erdekelne
Avatar
otto
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2007. július 27. péntek, 6:00

"Periódusidő" mérése

Hozzászólás Szerző: otto »

Hello!

Asszimetrikus négyszögjel "periódusidejét" szeretném megmérni. Pontosabban külön a "H" hosszát illetve az "L" hosszát.
A példapogramok alapján a teljes hossz mérése nem látszik nehéznek.

Config Timer1
Prescale xx
Capture Edge rising
stb....

Ez a megoldás csak a teljes periódus hosszának mérésére alkalmas(?).
Létezik-e egyszerű megoldás a Capture felhasználásával a mérésre?

Külső hardvert igénylő elgondolásom van:
A mérendő jel kapuz egy ismert stabil generátort,a kapun átjutó
impulzusokat megszámolom és ebből számítom az időt.

Ennél egyszerűbbet szeretnék,ha van!
Avatar
z1z9z9z2
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2006. szeptember 19. kedd, 6:00

Nagy frekvencia mérés

Hozzászólás Szerző: z1z9z9z2 »

Sziasztok!

Mekkora a legnagyobb frekvencia, amit az attiny2313 be tud fogadni az intx1,2 es lábain?(lehetőleg fel is dolgozza) :) .Mondjuk 20MHz-ról járatva
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Rossz a kérdés:
Mit raksz be az INT rutinba...

Az Int Be és kilépése: ~30-50 órajel. Illetve itt is kell valamit csináni...

Számolj 3-500 órajellel...
Így: 20M/500=40k

DE: erre ne hegyezd ki. Mire akarod használni?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Avatar
z1z9z9z2
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2006. szeptember 19. kedd, 6:00

Hozzászólás Szerző: z1z9z9z2 »

Hát, igazából frekvenciamérőt szeretnék csinálni, 5Ghz-ig. Ezt rf tranyókból összeállított d-flip-flop okkal akarom leosztani. Csak az a kérdés, hogy meddig kell leosztani?Mennyi a maximális frekvencia, amit képes feldolgozni?
Úgy találtam, az általad belinkelt linkben, hogy 1,5MHz.Ez helyes?(Ha rossz a kérdés, akkor boccs)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

15-20 MHz, ha Timerrel viszed....

5 GHz szép feladat....
Avatar
z1z9z9z2
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2006. szeptember 19. kedd, 6:00

Hozzászólás Szerző: z1z9z9z2 »

Köszi!
Avatar
Fli4l
DrótVégénSzéndarab
Hozzászólások: 21
Csatlakozott: 2007. augusztus 21. kedd, 6:00

Hozzászólás Szerző: Fli4l »

Hello!
Végigolvastam a frekimérős témát de nem találtam meg benne az én elképzelésemet. Van egy négyszögjel vagyis sok és azt szeretném mérni ,hogy a felfutás és a lefutás között mennyi idő telik el majd ezeket összeadva kapok egy eredményt...itt igazából az eltelt idő lenne a fontos a négyszögjelet egy schmitt trigger szolgáltatja és Atmega16-os kontrollerem van. Mivel lehetne ezt a legpontosabban mérni és hogyan:?:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Bascom könyv INTerrupt/megszakítás fejezet. A 2. oldalon, középen a capture rész....
Avatar
Fli4l
DrótVégénSzéndarab
Hozzászólások: 21
Csatlakozott: 2007. augusztus 21. kedd, 6:00

Hozzászólás Szerző: Fli4l »

Megcsináltam ezt már hamarabb is csak nem teljesen világos, hogy ezen az ICP bemeneten most mit is kapok meg ha leosztom pl. 1024-el.. a mérés egy induktív elmozdulásérzékelővel történik amit egy Schmitt trigger alakít át mint már írtam és ez pedig az ICP bemenetre. Egyébként ez a bemenet elég érzéken ha már hozzányúlok kézzel azt is számolja... ezért egy 1nF-os kondit rátettem így már jónak bizonyul, szóval a megírt programod szépen fut 1024-es leosztásban 380-at ír ki átlagban 256-nál pedig 1535 körüli az érték.
A kérdésem, hogy ez most milyen idő a nyészögjel felfutás és lefutását mérem ezzel? Elolvastam a könyvnek az erről szóló részeit de nem egy értelmű sok dolog mivel kezdő vagyok.

$crystal = 14318180
$regfile = "m16def.dat"

Config Timer1 = Timer , Prescale = 256 , Capture Edge = Rising
Dim Wtime As Byte
Dim Timercounter As Word
On Capture1 Captmr
Wtime = 20
Timercounter = 0
Enable Interrupts
Enable Capture1
Do
Waitms Wtime
Cls
Lcd "pwidth: " ; " " ; Capture1
Loop
Captmr:
Timercounter = Capture1
Timer1 = 0
Return
End
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

2 timert kell használni....

1 impulzus közti időt lehet mérni....
Avatar
Fli4l
DrótVégénSzéndarab
Hozzászólások: 21
Csatlakozott: 2007. augusztus 21. kedd, 6:00

Hozzászólás Szerző: Fli4l »

Akkor ha jól értelmezem felhasználom a két timert T0 és T1-et egyikkel a felfutó másikkal a lefutó élt nézem egyébként valamiért nem tudtam felfutó élre számoltatni csak lefutóra. Elég csak a Fallingot átírni Rising-ra?
Válasz küldése