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



Pridružen-a: Sre 30 Nov 2005 14:15 Prispevkov: 1188 Aktiv.: 5.01 Kraj: Medvode
|
Objavljeno: Tor Nov 28, 2006 6:44 pm Naslov sporočila: Točnost RC oscilatorja |
|
|
Pozdravljeni!
Spet imam en problem. Naredil sem timer z AT90S2343. Timer deluje tako, da je rele 14 ur sklenjen in 10 ur razklenjen, potem se vse ponovi. Uporabil sem mikrokontrolerjev notranji RC oscilator, ki deluje na 1MHz. V programu pa izkoriščam 8 bitni Timer0 za zakasnitve. Takt Timer-ja delim s 1024, tako da bi se po mojih izračunih moral interrupt pojaviti vsakih 261,12 ms. Ko se rutina 193015 krat ponovi, bi morala biti zakasnitev 50400 sekund, kar je 14ur. Takrat se rele razklene. Potem se rutina ponovi 137868 krat (10 ur) in rele ponovno sklene kontakte. Vse lepo in prav, a kaj ko zadeva ni točna. Pri testiranju 14 urne zakasnitve je odstopanja za priblužno +1 uro. Kako bi lahko najhitreje in najlažje rešil problem? Vezje imam že narejeno, tako da bi prosil za programsko rešitev.
Prilagam tudi program:
Koda: |
‘$sim
$regfile = "2343def.dat"
$crystal = 1000000
Config Pinb.0 = Output
Dim T As Long , I As Bit
T = 0
I = 1
Config Timer0 = Timer , Prescale = 1024
On Ovf0 Tim0_isr
Enable Timer0
Enable Interrupts
Portb.0 = 1
Do
If I = 1 Then '14 ur
If T >= 193015 Then 'en T je enak zakasnitvi 0,26112s
Portb.0 = 0
T = 0
I = 0
End If
End If
If I = 0 Then ' 10 ur
If T >= 137868 Then
Portb.0 = 1
T = 0
I = 1
End If
End If
Loop
Tim0_isr:
Incr T
Return
|
_________________ It's electric! |
|
Nazaj na vrh |
|
 |
Highlag Član


Pridružen-a: Pet 23 Jan 2004 20:42 Prispevkov: 4034 Aktiv.: 17.03 Kraj: Črnuče
|
Objavljeno: Tor Nov 28, 2006 6:51 pm Naslov sporočila: |
|
|
Najprej točno izmeri koliko imaš napake recimo na uro in potem to napako upoštevaj v programu. Seveda moraš imeti pogoje pod katerimi kontrolerček deluje kolikor toliko stabilne. Če niha temperatura bo nihala tudi frekvenca osciliranja.
Mikrochip ima v svojih mikrokontrolerjih en register, kjer se da pri peki frekvenca skalibrirati. Mogoče je pri Atmelu podobno?
_________________ If at first you don't succeed, destroy all evidence that you tried. |
|
Nazaj na vrh |
|
 |
trobida Član


Pridružen-a: Ned 09 Jul 2006 12:13 Prispevkov: 1250 Aktiv.: 5.42 Kraj: Savinjska dolina-okolica Gornjega Grada
|
Objavljeno: Tor Nov 28, 2006 7:37 pm Naslov sporočila: |
|
|
Tako mimogrede vprašam; Domenius, v katerem programu pa si napisal ta program? Je to v navadnem Bascom AVR, ali si ga mogoče napisal v kakšnem drugem ?
_________________ Lp
Tomaž, S57KO |
|
Nazaj na vrh |
|
 |
GJ Član


Pridružen-a: Čet 02 Nov 2006 15:51 Prispevkov: 946 Aktiv.: 4.17 Kraj: Ljubljana
|
Objavljeno: Tor Nov 28, 2006 9:40 pm Naslov sporočila: |
|
|
Vse prav...
Kako pa kličeš prekinitev???
A zastavic ni potrebo pobrisat???
RC oscilator je ponavadi skalibriran na 1% pri sobni temperturi, poglej datasheet.
Če imaš vezje napajano preko omrežnega transformatorja ti priporočam 'tipanje' omrežne frekvence napetosti oziroma ZCS (Zero Corssing Sense) detektor kot referenco.
Aha, potrebuješ le en dovolj velik upor in en input pin.
LP GJ
|
|
Nazaj na vrh |
|
 |
Domenius Član



Pridružen-a: Sre 30 Nov 2005 14:15 Prispevkov: 1188 Aktiv.: 5.01 Kraj: Medvode
|
Objavljeno: Tor Nov 28, 2006 10:31 pm Naslov sporočila: |
|
|
Highlag je napisal/a: |
Mikrochip ima v svojih mikrokontrolerjih en register, kjer se da pri peki frekvenca skalibrirati. Mogoče je pri Atmelu podobno? |
Tudi Atmel ga ima, a na te stvari se na žalost ne spoznam.
trobida je napisal/a: |
Tako mimogrede vprašam; Domenius, v katerem programu pa si napisal ta program? Je to v navadnem Bascom AVR, ali si ga mogoče napisal v kakšnem drugem Confused ? |
Ja, sem pozabil napisati da programiram v BascomAVRju.
GJ je napisal/a: |
Kako pa kličeš prekinitev???
A zastavic ni potrebo pobrisat??? |
Ne, to vse stori BascomAVR.
GJ je napisal/a: |
Če imaš vezje napajano preko omrežnega transformatorja ti priporočam 'tipanje' omrežne frekvence napetosti oziroma ZCS (Zero Corssing Sense) detektor kot referenco. |
Če je le možno ne bi rad delal novega vezja ali pa lotal po zraku.
V datasheetu RC oscilator ni opisan, omenjeno je le da deluje z nominalno frekvenco 1MHz.
_________________ It's electric! |
|
Nazaj na vrh |
|
 |
VolkD Član


 
Pridružen-a: Pet 24 Sep 2004 21:58 Prispevkov: 14228 Aktiv.: 60.05 Kraj: Divača (Kačiče)
|
Objavljeno: Sre Nov 29, 2006 12:04 am Naslov sporočila: |
|
|
Podoben problem sem reševal z CodeVisionAVR. Mikrokontroler je ATTiny26. Natančnost pa.. jah.. po 11-ih urah je šla stvar za 27 sec prehitro. No.. naslednji dan, ko je bilo malo več mrazu, je šla pa skoraj za minuto prepočasi.
_________________ Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo. |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Sre Nov 29, 2006 12:26 am Naslov sporočila: |
|
|
Darko, to je super-natancno ... vse znotraj specifikacije proizvajalca Tezava se pojavi takrat, ko je potrebno meriti zelo kratke intervale, kjer se parcialna napak (ki se tekom dneva sicer kompenzira sama s sabo) bistveno vecja. UART je tipicen primer, kjer ti nic ne pomaga dejstvo, da se naprava segreje cez dan in ohladi ponoci - v povprecju je sicer OK, a v praksi kaksen SW UART ne deluje najbolj stabilno.
OT: to me spominja na tisti vic o statistiki: eno roko vtaknes v vrelo vodo, drugo pa v tekoci dusik in ti je v povprecju fino
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
Domenius Član



Pridružen-a: Sre 30 Nov 2005 14:15 Prispevkov: 1188 Aktiv.: 5.01 Kraj: Medvode
|
Objavljeno: Sre Nov 29, 2006 12:49 am Naslov sporočila: |
|
|
Darko, če bi bilo pri meni tako bi bil zadovoljen. Kolega bo timer namreč uporabil za vklop/izklop luči pri akvariju, kjer se minuta gol/dol ne pozna. Mogoče bo treba vsake par tednov stvar resetirati, ampak nič za to. Kako si pa rešil problem? Kar z meritvami?
_________________ It's electric! |
|
Nazaj na vrh |
|
 |
Bozo Član


Pridružen-a: Čet 08 Jan 2004 9:21 Prispevkov: 660 Aktiv.: 2.79 Kraj: Lendava, Trimlini
|
Objavljeno: Sre Nov 29, 2006 2:21 am Naslov sporočila: |
|
|
Če je za preklop luči v akvariju, polj kupi preklopno uro, digitalno, dobiš jo za kaka dva tisočaka v Šparu.
LP
Božo
|
|
Nazaj na vrh |
|
 |
sulc Član


Pridružen-a: Pet 28 Jan 2005 20:34 Prispevkov: 473 Aktiv.: 2.00
|
Objavljeno: Sre Nov 29, 2006 2:24 am Naslov sporočila: |
|
|
Razen, če si res želiš narediti svoj izdelek, ti priporočam, da uporabiš timer (tisti za vtakniti v vtičnico) iz Bau**a. Kak mesec nazaj sem dal zanj pod 1500 sit, uporabljam ga pa ravno za akvarijsko osvetlitev.
_________________ LP Aljaž |
|
Nazaj na vrh |
|
 |
VolkD Član


 
Pridružen-a: Pet 24 Sep 2004 21:58 Prispevkov: 14228 Aktiv.: 60.05 Kraj: Divača (Kačiče)
|
Objavljeno: Sre Nov 29, 2006 10:28 am Naslov sporočila: |
|
|
Sokrat je napisal/a: |
Tezava se pojavi takrat, ko je potrebno meriti zelo kratke intervale, kjer se parcialna napak (ki se tekom dneva sicer kompenzira sama s sabo) bistveno vecja. |
Stvar sem naredil kot timer za osvetljevanje tiskanih vezij. Ker pri časih do 10 min nisem uspel opaziti razlike med uro in mojim timerjem sem ga pač pustil čez noč, da sploh ugotovim kolikšna je razlika.
Opis: |
|
Velikost datoteke: |
2.5 MB |
Pogledana: |
3 krat |

|
_________________ Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo. |
|
Nazaj na vrh |
|
 |
Domenius Član



Pridružen-a: Sre 30 Nov 2005 14:15 Prispevkov: 1188 Aktiv.: 5.01 Kraj: Medvode
|
Objavljeno: Sre Nov 29, 2006 10:34 am Naslov sporočila: |
|
|
Bozo je napisal/a: |
Če je za preklop luči v akvariju, polj kupi preklopno uro, digitalno, dobiš jo za kaka dva tisočaka v Šparu.
LP
Božo |
To sem tudi jaz kolegu svetoval, pa pravi da ne bi imel takšne.
_________________ It's electric! |
|
Nazaj na vrh |
|
 |
twom Član


Pridružen-a: Ned 26 Okt 2003 0:37 Prispevkov: 986 Aktiv.: 4.16 Kraj: Ljubljana
|
Objavljeno: Sre Nov 29, 2006 9:39 pm Naslov sporočila: |
|
|
Če imaš prost INT pin (interupt) gor priklopi 32768 Hz kvarc, ki je izredno majhen in poceni in še dobi se v vsaki trgovini.
Z njim je narejena marsikatera ura (tudi quarc ročne ure).
Je zelo stabilen, za velko natančnost pa rabiš še nastavljiv kondenzator.
Lp,
Peter
|
|
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
|