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



Pridružen-a: Ned 01 Apr 2012 10:22 Prispevkov: 585 Aktiv.: 3.64 Kraj: Žižki - Prekmurje
|
Objavljeno: Tor Apr 23, 2013 5:36 pm Naslov sporočila: Frekvenca na pinu |
|
|
Živijo..spet se igram z AVR. Zanima me še kakšen drugi način dobivanje koliko toliko točne frekvence na pinu uP.
Trnutno imam narejeno tako, da imam prekinitev timerja na 0.5 ms in potem v prekinitveni rutini uporabljam še števec :
Koda: |
Casovnik2 = Casovnik2 + 1
If Casovnik2 = 10 Then
Casovnik2 = 0
Portk.0 = Not Portk.0
end IF
|
Je še kakšen drug način ?
Koliko je ta način natančen ? Gledam sem z osciloskopom in je glede na izračunano frekvenco 100 HZ, na osciloskopu je recimo 98,78 Hz. |
|
Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 18.41
|
Objavljeno: Tor Apr 23, 2013 5:42 pm Naslov sporočila: |
|
|
Daj kvarc, če hočeš točne intervale. Interni oscilator je bolj približen... _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
 |
besoft Član



Pridružen-a: Ned 01 Apr 2012 10:22 Prispevkov: 585 Aktiv.: 3.64 Kraj: Žižki - Prekmurje
|
Objavljeno: Tor Apr 23, 2013 5:45 pm Naslov sporočila: |
|
|
Imam zunanji kristal 11.0592 MHz. |
|
Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 18.41
|
Objavljeno: Tor Apr 23, 2013 5:54 pm Naslov sporočila: |
|
|
Na kakšen način dobiš 0,5ms prekinitev? Za to je pri tej uri potrebno 5529,6 ciklov, kar ni ravno okrogla številka... _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
 |
besoft Član



Pridružen-a: Ned 01 Apr 2012 10:22 Prispevkov: 585 Aktiv.: 3.64 Kraj: Žižki - Prekmurje
|
Objavljeno: Tor Apr 23, 2013 6:04 pm Naslov sporočila: |
|
|
Timer je definiran tako :
Koda: |
Const Timer1reload = 5529
Config Timer1 = Timer , Prescale = 1
|
V tej smeri sem tudi razmišljal, da bi to lahko bil problem. Sicer za trenutne potrebe je ta natančnost čisto OK. Mi pa ne da miru, kako to izboljšati.
Na osciloskopu pa če gledam meritve sta zanimiva dva podatka:
+Duty = 50.5%
- Duty = 48.5%
Menim, da je to tudi posledica tega, ker že matematično številka ni okrogla. |
|
Nazaj na vrh |
|
 |
SkunkyLee Član

Pridružen-a: Čet 12 Feb 2009 16:59 Prispevkov: 198 Aktiv.: 1.00 Kraj: Maribor, Ljubljana
|
Objavljeno: Tor Apr 23, 2013 7:26 pm Naslov sporočila: |
|
|
Duty cycle ne vpliva na meritev frekvence.
Prekinitev sproži na pozitivno fronto, nato štej dokler ne prideš do nove pozitivne fronte. Tako zajameš trajanje cele periode.
Če hočeš bolj natančno, ponovi to meritev 5x, vrzi ven meritvi največjim in najmanjšim odstopanjem ter nato povpreči ostale tri. |
|
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: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|