www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Frekvenca na pinu

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
besoft
Član
Član



Pridružen-a: Ned 01 Apr 2012 10:22
Prispevkov: 585
Aktiv.: 3.64
Kraj: Žižki - Prekmurje

PrispevekObjavljeno: Tor Apr 23, 2013 5:36 pm    Naslov sporočila:  Frekvenca na pinu Odgovori s citatom

Ž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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Tor Apr 23, 2013 5:42 pm    Naslov sporočila:   Odgovori s citatom

Daj kvarc, če hočeš točne intervale. Interni oscilator je bolj približen...
_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
besoft
Član
Član



Pridružen-a: Ned 01 Apr 2012 10:22
Prispevkov: 585
Aktiv.: 3.64
Kraj: Žižki - Prekmurje

PrispevekObjavljeno: Tor Apr 23, 2013 5:45 pm    Naslov sporočila:   Odgovori s citatom

Imam zunanji kristal 11.0592 MHz.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.41

PrispevekObjavljeno: Tor Apr 23, 2013 5:54 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
besoft
Član
Član



Pridružen-a: Ned 01 Apr 2012 10:22
Prispevkov: 585
Aktiv.: 3.64
Kraj: Žižki - Prekmurje

PrispevekObjavljeno: Tor Apr 23, 2013 6:04 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
SkunkyLee
Član
Član



Pridružen-a: Čet 12 Feb 2009 16:59
Prispevkov: 198
Aktiv.: 1.00
Kraj: Maribor, Ljubljana

PrispevekObjavljeno: Tor Apr 23, 2013 7:26 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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