You are here

PIC mikrokontroller órajel stabilitásának kérdése...[MEGOLDVA]

90 posts / 0 new
Last post
Lengyel József
Lengyel József picture

Sziasztok !

A PIC 18F4620 mikrokontrollerrel megvalósítottam egy digitális órát. Az óra szoftveres tehát nincs Real Time Clock (valós idejű óra) IC a hardverben.

A tapasztalataim a következők :

-A szoftver működik ugyan rendesen viszont az óra hol siet ,hol késik.

Be vallom őszintén azt a tervezési hibát elkövettem többek között hogy az idő alapot a mikrokontroller 4MHz-es kvarcára bíztam.

A Microchip datasheet-ben az "Oscillator" fejezetben egy kis táblázatban közli,hogy melyik kvarchoz milyen kondenzátor érték tartozik. Igaz a szürke satírozott rovatban közli ,hogy az általuk közölt kondenzátor értékekkel működik a mikrokontroller ugyan, de ha nagyobb frekvencia stabilitásra van szükség specialis alkalmazásra akkor ki kell tapasztalni, milyen értékekkel stabilabb az oszcillátor.

Ha már így alakult,hogy megépítettem ezt az órát azt szeretném megkérdezni tisztelettel ,hogy 4MHz-kvarc- kristály-hóz milyen kondenzátor párossal stabilabb az oszcillátor . jelenleg a Microchip datasheet ajánlása alapján
15pF- kondenzátorok vannak.
Azt is megfigyeltem, az óra akkor kezd el sietni ,ha a szoba hőmérséklete nővekszík. Rá adásul egy óra alatt több másodpercet siet. És ráadásul ez a változás nem lineáris. Tehát egy negyed órán belül mondjuk siet 2-3 másodpercet a következő negyed órában --nem bíztos ,hogy ismét ugyan ennyivel siet.

A kvarc paraméterrei közül sajnos későn figyeltem fel a "tolerance at room temperature " ,és "frequency stability " paraméterekre. Mindkét paraméter ppm-ben (part per million) milliomód részben van megadva.

*** A tiszteletbeli kérdésem :

-Hogyan tehetem stabilabbá az oszcillátort ? Milyen kondenzátor értékekkel 4MHz-esetén ?

-Megoldás e ,kicserélni a kvarcot olyanra amely jobb hőfüggő ,illetve frekvencia stabilitás paraméterekkel rendelkezik ?

Elnézést,hogy hosszura sikerült a bevezető.

Mindenkinek ---nagyon szépen köszönöm a fáradozását,a segítségét --- !

Üdv : Lengyel József

Comments
Lengyel József
Lengyel József picture

Sziasztok !

Meg csináltam a szoftver módosítást,úgy ,hogy a TMR0 megszakítással van kezelve.

Tapasztalatok :

-Így a szoftver módosítással az digitális óra , egy óra elteltével NEM EGÉSZEN EGY másodpercet siet!

Be vallom férfiasan --korábban én követtem el a szoftver hibát--- .Ezért ment a digitális óra "randomszerűen".(Hol sietett ,hol késett).

***EZÚTTAL SZERETNÉM MEGRAGADNI AZ ALKALMAT ---ÉS MEGKÖSZÖNNI NEKTEK ,A FÁRADOZÁST ,AZ ÉRTÉKES SZAKMAI TANÁCSOKAT, A SEGÍTSÉG NYÚJTÁST ! KÖSZÖNÖM!

Csak Összejött az a "fránya óra " HÁLA NEKTEK !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

BlackForce
BlackForce picture

Esetleg volna még egy ötletem,hogy megfigyeled napi szintem mennyi az eltérés,esetleg heti szinten,majd csinálsz egy meghatározott időnkénti korrekciót,az eltéréstől függően (mondjuk napi szinten egy alkalommal,egy bizonyos óra álláshoz kötve).

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia, BlackForce !

Maga az ötlet amit közöltél jó ,és köszönöm szépen !

Ezt megoldhatnám úgy ,hogy a korrekció szoftveres lenne nyilván .A megfigyelések alapján a periodikus eltérések esetén mint például : óránként siét/késik "x" időt . ezt a differenciát az adott periodus elteltével "kompenzálnám".

Ez a szoftver módosítás nem lenne bonyolult .Sőt lehetne "egy extra" funkciója az órának mint :

Arra gondolok,hogy a felhasználó számára rejtve egy amolyan "service menü lenne".

Lényege ,hogy két paramétert tartalmazna :

1) paraméter : mennyi a differencia másodpercben és siet/ vagy késik,jelző
2) paraméter : periodus (mennyi időnként !rendszeresen!) jelentkezik a differencia.
majd mentés EEPROM-ban és kilépés a "service menüből".

De ez már így nagyon olyan ,hogy "el kalandoztam " ,hogy lehetne mondjuk egy ilyen is.

A Te ötleted alapvetően okos dolog nagyon is ! Köszönöm szépen !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Oszi11
Oszi11 picture

Szia!

Van itt pár ötlet hogyan kell pontos 1 másodperces rutint írni!

http://www.romanblack.com/one_sec.htm

Üdv,
Oszi

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Oszi11 !

Köszönöm szépen a linket ! Hasznos nagyon is !

Ne haragudj kérlek ,hogy késve válaszoltam nem voltam gépközelben.

Köszi szépen még egyszer !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

lcsaszar
lcsaszar picture

Szia József!

Gratulálok, az ilyesmiken sokat lehet tanulni, amit az ember a későbbiekben is jól tud hasznosítani. Következő lépés a dátumkijelzés megoldása lehet, természetesen a hét napjaival, szökőéveket figyelembe véve :-) Aztán jöhetnek a névnapok, külső-belső hőmérséklet kijelzése, légnyomás változásából a várható időjárás előrejelzése, stb. A lehetőségek határtalanok...

Üdv, lcsaszar

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Icsazar !

Köszönöm szépen !

Az elektronika olyan Te is tudod,hogy folyamatosan tanulásra kényszerít.Olyan fizikai folyamatok játszódnak le az alkatrészekben ,hogy az embert elgondolkodásra kényszeríti.
Sokat köszönhetek nektek ,szoktam elég sokat olvasni itt az elektrotanyán,és Nektek van tapasztalatotok ezen a területen.
A lényeg ,hogy tőletek sokat tanul az ember.

Igyekszem a szerény tudásomat tovább fejleszteni ,a hardver területén (elektronika) a szoftver területén ,valamint finom mechanika (fali órák :)) )területén.
Célom az ,hogy a szerény tudásomat megosszam másokkal ,hogy segíthessek másoknak .

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

SziaJózsef!

Régi tapasztalat, hogy nem jó egyedül gondolkodni :)
https://youtu.be/K6ANpT3Uoos?t=87

Üdv: Jácint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Jaca!

Nagyon JÓ ! Jót nevettünk ! Köszi ! :-)))))

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Edmundson
Edmundson picture
*

Sziasztok!

Itt teljesen más okozza a hibát, nem a kvarc. A 4MHz-es kvarc több mint elég a pontos órához, hisz gyakorlatilag 1 Hz-re kell leosztani. Nyilván nem ideálisan pontos a kvarc frekije de ilyen osztásnál évek alatt késne vagy sietne 1 másodpercet az óra. A kondenzátorokkal a rezonancia frekvenciát lehet kissé csökkenteni, a stabilitást nem igen befolyásolja.

Egy nagyon fontos apróságról megfeledkeztél. Nevezetesen arról, hogy az utasítás végrehajtási ideje 4 vagy 8 órajel ciklus. A programrészletek futási ideje az utasítások idejétől, késleltetésektől és a ciklusoktól függ. ASSEMBLY-ben ez kiszámolható és figyelembe lehet venni, de ha van benne változó paraméterű ciklus, akkor már ott is dőlt az időzítés. Ha C-be, vagy Basic-be írod a programot, akkor fogalmad sincs, hogy az egyes részletek mennyi idő alatt futnak le így aztán az egész időzítés össze-vissza csúszik. Ha pontos órát szeretnél ASSEMBLY-ben írd meg a programot és használd a TIMER-eket.

üdv.

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Edmunson !

Teljesen igazad van minden tekinteben !

Most azt csináltam amit "ty" javasolt ,és pedig :

-A TMR0 túlcsordulását megszakítással kezelem ;

-korábban ,eredetileg én periodikus állapot figyeléssel vizsgáltattam meg a TMR0 túlcsordulását. Nagyon nagy pontatlanságot értem el "random szerűen".

Mivel most a szoftver módosítva lett mint említettem "ty" javaslatára a tapasztalat a következő :

**** Az óra 90 perce üzemel így **** és még egy másodpercet sem változott meg a megfigyelt (WEB-es órához)képest. TEHÁT AZ ÓRA MEGSZAKÍTÁS KEZELÉSSEL ---
EDDDIG MEGFELELŐEN MŰKÖDIK---. Ez az eddigi tapasztalat egyenlőre.

Amít írtál az teljesen jogos ,és köszönöm szépen a segítségedet !

Maga a progi Basic nyelvben írodott, "MIkroelektronika MikroBasic for PIC" a neve a szoftvernek.

Mindenképp annyival tartozóm ,hogy beszámolók majd ,hogy mire jutottam.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

lcsaszar
lcsaszar picture

Szia!

A hozzászólásod elejét (a pontosságról írtakat) gondold át még egyszer, mert félreviheti a kevésbé járatos kollégákat.

Üdv, lcsaszar

0

Vote up!

You voted ‘up’

gadenes
gadenes picture

Sziasztok!

Az általad használt PIC-nek a TIMER2 modulját használd a számláláshoz ez a beállított időzítés lejártakor, ad egy megszakítást, és úja indul. A PIC-ed tud egyszerre két kvarcot használni. Az OSC1, OSC2 párra tedd a 4 MHz kvarcot, és a RC0/T1OSO/T13CKI, RC1/T1OSI párra tagyél egy 32.768 kHz óra kvarcot . A 32.768 kHz-ről mennyen TIMER2. A 4 MHz-ről a rendszer. A 4 MHz-et a belső PLL-el meglehet négyszerezni (16 MHz-re), ha kell a gyorsabb működés.

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,gadenes !

Köszönöm szépen a javaslatodat ! Eleve így kellett volna megterveznem a hardvert , hasonló a TMR1 is.

Egyenlőre úgy néz ki be vallom férfiasan maga a szoftverben --volt a hiba ---.

Nem alkalmaztam megszakítást a TMR0 kezelésére. Most egy kollegánk javaslatára ("ty") --alkalmazok megszakítást.

Köszönöm szépen még egyszer a segítségedet !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

josef.48
josef.48 picture

Szia József !A kvarcórákban 32,xxxxKhz-es kvarc van és pontosak (pl.karora ,változó hömérséklet), független milyen osztó kapcsolás van alkalmazva ,a lényeg az 1 sec. impulzus .Ha 4000khz-es kvarcot alkalmazol és azt leosztod ugyan arra az 1sec.idöre az több mint 121-szer lesz pontosabb.Tehát nem a kvarc a hibás.Az osztásban van a hiba,ez akkor szokot megtörténi ha a jel alakja valamilyen okból nem megfelelö.Az osztó kihagy az impulzusokból amelyek nem elégitik ki a feltételeket.Ez megtörténhet ha pl. a frekvencia túl magas az osztónak,valami zavaró jel kerül az impulzusokra ,a tápfeszültség ingadozás (pl.nem elég az amplitudó),a kvarc nincs rendesen berezgetve (ic ),ugy értve amplizudó-forma.Igy jártam; osztót készitettem egy synthétizátoros generátorhoz, egy marék ttl-böl.Minden rendbe volt de néha nem osztott rendesen,mindent szürtem- probáltam.Külsö tápról eltünt a hiba ,az 5v-os stabilizátor kimenöfeszültsége nem volt elegendö /egy/ ic-nek a sorból.Megnöveltem kb.5,1v-ra és minden müködött.üdv.Jóska

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,josef48 !

Köszönöm szépen ,hogy megosztottad velem a tapasztalataidat. Hasznosak ,értékesek mindenképpen. Ezzel az alkalommal sokat tanultam Tőled, másoktól is.

Jó dolog kérdezni , meg van a "gyümölcse". A tapasztalatokon el gondolkodtam és köteleségemnek érzem ,hogy a tudást amít itt szereztem tovább adjam annak akit érdekel az ilyesmi. Mint egy staféta botot.

Köszönöm szépen a segítséget !

Üdv : Lengyel józsef

0

Vote up!

You voted ‘up’

ty
ty picture

Lassan elnézést kell kérjek a témában tett hozzászólásaim száma miatt, de rengeteg pontatlanság hangzik el és ezeket nem tudom szó nélkül hagyni.

"Ha 4000khz-es kvarcot alkalmazol és azt leosztod ugyan arra az 1sec.idöre az több mint 121-szer lesz pontosabb"

Amiket olvastam a témában - és javítsatok ki ha tévedek, de csak akkor ha tényleg tévedek :) - az alapján két 20 PPM-es quartz relatív pontossága azonos, függetlenül attól, hogy az egyik 32.768 kHz-es a másik pedig 4MHz-es.
Mivel a PPM jelentése Parts Per Million, azaz 1.000.000 rezgésre eső hibák száma - ez egy relatív pontosság, gyorsabban rezgő quartz nagyobb abszolut hibát produkál.
Ha visszaosztod pontosan ugyanaz lesz az eredmény
A 32.768 KHz +/- 20PPM quartz rezgési tartománya (32.768 * 0.999980) és (32.768 * 1.000020) közé fog esni
A 4MHz +/- 20PPM quartz rezgési tartománya (4.000.000 * 0.999980) és (4.000.000 * 1.000020) közé fog esni

Üdv, ty

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Szia ty!

A ppm az nem olyan, mint a százalék, csak ez milliomolék? Vagyis 32,768kHz * 20 / 1 000 000?
"Part per 100 (Az egész százada): Leggyakrabban százalék formában ismert (%). Egy százalék az egész század részét jelenti.
Part per 1000 (Az egész ezrede): Ezrelék (‰).
Part per ten thousand (Az egész tízezrede): Erre is van külön szimbólum (‱), de ritkán használjuk. Valamint az is gátolja elterjedését, hogy a tízezrelék kifejezés könnyen összetéveszthető lenne a 10 ezrelékkel, ami egy százalék.
Part per million (Az egész milliomod része) (ppm): Az egész rész egy milliomodát jelenti."

Szóval a 4MHz-nél +/- 80 Hz.
Akármelyik kvarcot visszaosszunk 1Hz-re, ha ugyanolyan ppm értéke van, ugyanakkorát fog hibázni. (20ppm-nél ha végig szélső értéken van, akkor 10 perc durván évente)

Üdv: Jácint

0

Vote up!

You voted ‘up’

ty
ty picture

Igen.
Üdv, ty

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,ty !

Találtam példát a "MIkroelektronika" példatárában. Áttanulmányoztam és alkalmaztam a kis hobbi óra szoftverén. Jelenleg be töltöttem a PIC-ben a módosított (megszakítás kezelés) . Be kapcsoltam ,be állítottam a pontos időt ,most figyelem ,hogy viselkedik megszakítás módosítással ,az eredeti 4MHz-kvarc mellett.

Az INTCON regiszter értékei :

INTCON = 0x20
- TMR0IF törlése
-TMR0IE engedélyezése
INTCON = 0xA0 ;
-General interrupt enabled;
- A TMR0 -ra vonatkozó megszakítás kezelés teljesítve.

A megszakító rutin így néz ki :

sub procedure interrupt

Inc(a1) 'Minden megszakításnál amit TMR0 generál
if a1 > 4 then 'inkremmentálja az "a1" változót
a1 = 0 ' ha 4-nagyobb nulláza.
end if 'Ha az "a1" értéke 4 akkor a hurok többi része
TMR0L = 0XDC ' a másodperc számlálót eggyel nőveli.
TMR0H = 0x0B
INTCON = 0x20
end sub

Köszönöm szépen a segítséget ,a magyarázatokat ! Tanulni lehet Tőled !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

ty
ty picture

A TMR0L és TMR0H regisztereket az interrupt rutin legelején frissítsd, mivel a timer ketyeg addig is amíg az interrupt kód fut,
tehát a TMR változók későbbi frissítése pontatlanságot okoz.
Írd majd meg milyen pontosságot sikerült elérjél!
ps.: A timert kicsit gyorsabbra kell majd vegyed az elméletileg számolt értéknél.
Igazából jó lenne vm. pontos időalappal rendelkező műszer a pontosításhoz, mert ennek hiányában nagyon lassú a tesztelés, pontosítás.

Üdv, ty

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,ty !

Pontosság kérdése : A WEB-es órához képest ez 90 perc alatt nem egészen egy másodpercet siet. LÉNYEGESEN JOBBAN MŰKÖDIK ÍGY MEGSZAKÍTÁSSAL ,AHOGY JAVASOLTAD ! KÖSZÖNÖM SZÉPEN !

a TMR0L és a TMR0H regiszterek frisítését áthelyezem a megszakítás rutin elejére ahogy javasoltad.

***Mindenképp beszámolók ,hogy milyenek a tapasztalatok.***

Nagyon szépen köszönöm neked is a segítséget !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

ty
ty picture

Ok, örülök neki!

Jaca írt egy lényegeset.
Nem mentem utána, de ha a timer auto-reload jelleggel működik akkor nem kell írogatni, mert az csak pontatlanságot okoz.

Üdv, ty

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,ty !

Az addig rendben van ,hogy auto-reload módban legyen a timer .A kérdés,hogy lehet erre konfigurálni a PIC 18F4620 esetén TMR0-át ?

Van egy elképzelés (amit többek között te is javasoltál ,valamint "gadenes" :

Amit javasoltál 32,768KHz-kvarcot rá csatlakoztatom a TMR1-re .Ennek megfelelően körültekintően módosítom a szoftvert. Amit rendeltem 32,76KHz kvarc +/- 10ppm-es. A HQ Elektronikánál van ilyen.

Van értelme szerinted ennek a módosításnak ?

A választ a kérdésre előre is köszönöm ,és természetesen az eddiggi segítséget !

Addig is mint ígértem beszámolok milyen fejlemények vannak.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Szia József!

Amíg meg nem állítod, addig számol körbe-körbe a számláló, tehát elég csak engedélyezni.

Üdv: Jácint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Jácint !

Köszönöm szépen, kipróbálom !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Sziasztok!

Mint lentebb írtam, nem is kellene írni a TMR-t, hadd pörögjön.
http://elektrotanya.com/?q=hu/content/pic-mikrokontroller-orajel-stabili...

Üdv: Jácint

0

Vote up!

You voted ‘up’

SzBálint
SzBálint picture
**

szia József:
A Rádiótechnika 2014/10. és 11. számában van egy PIC-es óra, órakvarccal.
---------------
Ha abszolút pontosság kell, egy DCF vevővel ki kell egészíteni

http://www.tfd.hu/tfdhu/index.php?n=30

http://www.conrad.hu/conrad.php?name=Products&pid=641138

http://www.electronic.hu/Epitoelemek/Automatizalas/C-Control/DCF_vevomodul

----------

A tápfeszültség stabilizált?

Másik felvetés: mihez hasonlítod az időt?
Nálam a rádió, TV, Mindíg tv, DCF óra, Internet pontos idő, több másodperces eltéréssel mutatja az időt.

Bálint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia ,Szbálint !

Köszönöm, szépen a csatolmányokat (Rádiótechnika).

A tápfeszültség kérdése : igen stabilizált nincs vele gond.

Az időt amit a kis áramkör mutat összehasonlitom a "pontos idő " ezt írtam a Googleban. Van azt hiszem a pontosido.hu web oldal a Budapesti időpontot mutatja.
Köszi szépen még egyszer !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

SzBálint
SzBálint picture
**

szia: az nem okozhat járulékos hibát, hogy netes pontos időt használsz?
Nem biztos, hogy mindíg ugyanazon az úton jut el hozzád a jel.
Nem tudom, ez milyen késleltetést jelent

Mondok egy furcsábbat is.
Van nálunk 3 db DCF77 vezérlésű óra, kettő között 3 másodperc az eltérés, a harmadikon 10 másodperccel több van,

Bálint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia ,SzBálint !

Valóban furcsa tapasztalat amit az említett DCF- órákról írtál.Tényleg érdekes !

Nekem is van egy DCF-es órám A WEB órához képest 5 másodpercet siet.A WEB-es óra elméletileg egy rendkívül pontos óra. Annyi biztos,hogy olyan illúzióban nem élek ,hogy hosszú távon a hobbi órám ezzel a WEB-es órával együtt járjon.
Azzal is meg elégednék ,ha a napi 4-5 másodperc differencia lenne ,persze nem lenne baj ,ha ennél pontosabbra sikerülne.(Napi 3-4 másodperc).

Minden esetre az óra pontatlanságát a hobbi óránál az okozza ,hogy a 4MHz-es óra jelre bíztam, a hozzá tartozó kondenzátor páros 15pF ugyan --de nem ismerem a tűrését a kondinak-- .

Amit javasoltál az egyik hozzá szolásódban --és köszönöm szépen !-- , már néztem ismét 15pF kondenzátorokat , viszont most ezekről tudom ,hogy +/- 5% a tűrésüek.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

SzBálint
SzBálint picture
**

szia: ezeknél a kondentátoroknál nem annyira a tűrés, hanem a hőmérsékletváltozás hatására bekövetkező kapacitásváltozás(TK=termikus koefficiens) valamint a hosszútávú kapacitásállandóság fontos.

http://www.hiradastechnika.hu/data/upload/file/1983/07/1983_07_04.PDF

http://vip.tilb.sze.hu/~wersenyi/HA.pdf
54. oldal

NPO típusú kondenzátor a legalkalmasabb.

Ha órakvarcot használsz, ezek a kívánalmak kiesnek.

Bálint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia.SzBalint !

Nagyon szépen köszönöm a dokumentációkat. Tanulmányozni fogom őket.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

AzzA
AzzA picture

Szia !

Kár a kondikkal fáradnod, önmagában a PIC nem alkalmas erre.
DS1307 fillérekbe kerül és nem véletlen van kitalálva :)

Üdv.

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Azza !

Nagyon szépen köszönöm a válaszodat,a segítségedet,javaslatodat.

Valóban igazad van az RTC (Real Time Clock) Valós idejű Óra a legjobb megoldás. Ez nem vitás.Sajnos tervezési hibát követtem el amikor szoftveres óra mellett döntöttem. Most láttam meg a "buktatóit".Van még egy RTC IC amit ismerek a PCF8583 I2C buszon keresztül kommunikál.Ez PHILIPS fejlesztésű IC.

Nagyon szépen köszönöm a válaszodat !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

ty
ty picture

"önmagában a PIC nem alkalmas erre"

Miért?

0

Vote up!

You voted ‘up’

SzBálint
SzBálint picture
**

szia: mert pontos időalap kell hozzá.
Több helyen írják, hogy a PIC kvarc osztása nem erre való

Bálint

0

Vote up!

You voted ‘up’

ty
ty picture

Hello,
A timer órajelét adhatja külön quartz, tipikusan 32.768 kHz.
Ebben az esetben 1:32.768 (2^15) előosztás mellett megvan az 1kHz / 1ms interrupt, ami az RTC-t hajtja.
Pont az ilyen jellegű alkalmazásokhoz van kitalálva.
ty

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Szia József!

Nekem van egy ezeréves digitális órám, ami a hálózatól veszi az időalapot (a szekunder tekercsről egy diódával és némi alakformálással érkezik az 50Hz). Nincs panaszom a pontosságára. Tudom, elég "kőkorszaki" módszer, viszont a legegyszerűbb megoldás, csak áramszünet esetén, elemes táplálásnál kellene hagyatkozni a PIC belső órajelére, hogy addig se álljon az idő (ebben az esetben a kijelzést ki is lehet kapcsolni).

Üdv: Jácint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Jaca !

Bár csak eszemben jutott volna ez az ötlet amit Te közöltél. Egyszerű és az 50Hz ,is megfelelt volna. Mondjuk az 50Hz-es szinusz jelet fogjuk és rá visszük egy schmidt trigger áramkörre .Így kapni fogunk egy 50Hz-es négyszőg jelet. Bár csak eszemben jutott volna.... Tényleg szuper !

Nagyon szépen köszönöm a javaslatodat !

Üdv : lengyel józsef

0

Vote up!

You voted ‘up’

lcsaszar
lcsaszar picture

Szia,

Helyesen úgy írják, mint egy híres diplomás sportvezetőnk nevét :izom:

Üdv, lcsaszar

0

Vote up!

You voted ‘up’

josef.48
josef.48 picture

Szia Jácint!Ha a tiéd ezer az enyém egyel több ezeregy vagyis a mesébe ilö.A mai napig is müködik,halványan világitó kijelzöje (fény visszavéve)ép jó a sötétben.A többi óráim mind /DCF77 / rádiovezérlésü még a karorám is.Ezek nálatók is müködnek ,enél praktikusabb nincs.Csak az elemet kell cseréln ,de azt is kjelzi ha kezd lemerülni.Ajánlanám a Józsefnek is de nem akarok ünneprontó lenni.üdj.Jóska

https://hu.wikipedia.org/wiki/DCF77

0

Vote up!

You voted ‘up’

SzBálint
SzBálint picture
**

szia: találó a címadásod!

PIC mikorkontroller

Bálint

érdemes lenne kisebb hőfokfüggésű kondenzátort keresni, esetleg lég vagy kerámiatrimmerrel kipróbálni

0

Vote up!

You voted ‘up’

ty
ty picture

Javítsatok ki ha tévedek, de én úgy tudom, hogy a kondenzátor kapacitása nem szól bele a rezgés frekvenciájába. Tehát a hőfokfüggése ebben az esetben közömbös.

0

Vote up!

You voted ‘up’

balage
balage picture

Helló! Szerintem sem szól bele. Mert akkor értelmét veszti a kvarc pontossága és elég lenne azt ráírni a hogy kb.4MHz.

0

Vote up!

You voted ‘up’

lcsaszar
lcsaszar picture

Szia!

De beleszól, mert áramkörileg párhuzamosan kapcsolódik a kvarccal. Éppen ezért a hőfokfüggés is beleszól. Nem ismerem a konkrét kapcsolást. Ez olyan, hogy a kvarc a PIC két lába között van, és egy-egy kondenzátor megy a föld felé? Léteznek kis hőfoktényezőjű kondenzátorok, és a kvarccal sorba kötött trimmer kondenzátorral is be lehet állítani a pontos frekvenciát, persze csak a magasabb frekvenciák felé lehet elhúzni.

Üdv, lcsaszar

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Icsaszar !

Nagyon szépen köszönöm a válaszodat !

Ezen is el gondolkodom amit írtál.

Köszi szépen mégegyszer !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

sandor58
sandor58 picture
*****

Hali! Bizony,így van.Nem kell ragozni:termosztátba kell tenni(kondival együtt),aztán hogy azt szoftverből vezérli,vagy más módon,részletkérdés. Üdv.

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,sandor58 !

Köszönöm szépen a javaslatodat ! Küldtem PM-et.

Ki fogom próbálni ezt a kvarckályhát.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

ty
ty picture

1) Láttál már quartz óra mellett termosztátot?? (nem)
Amit ennyire reklámoztok az egy laboratóriumi megoldás, nem hobbielektronika, jelen esetben nincsen létjogosultsága.

2) Emberünk a PIC órajelét akarja stabilizálni, RTC funkció kapcsán.
Megoldás: a belső RC oszcillátora helyett (amelynek hőfok stabilitása nem a legjobb) quartzot kell használni, legalább az egyik timerre.

3) Erre egyébként 32.768 kHz-es kristályt szoktak használni, nem 4MHz-et.
Azért írtam, hogy az egyik timerre, mert a processzor elsődleges órajele lehet a magasabb, nem túl pontos 4MHz és a timer interrupt pedig illeszthető a 32.768 kHz visszaosztására.

4) A kondi funkciója tudtommal a quartz rezgésének beindítása. Ha test felé van kötve, akkor egy vm. impedanciájú terhelést jelent a quartz kimenetén. Szóval ez az ami a frekvenciát talán mégsem befolyásolja.

0

Vote up!

You voted ‘up’

morgo
morgo picture

:D

0

Vote up!

You voted ‘up’

sandor58
sandor58 picture
*****

Hali
Ha "hobbielektronika,akkor nincs létjogosultsága",akkor miről beszélünk? Gondolom,a kvarc frekije változik a hő függvényében?Társunk pontos órát akar csinálni.Miről beszélünk?Nézzél meg "hőskorból való" PIC16F84 ICvel felépített frekimérőt.Miért is volt ott a trimmerkondi?(mondjuk az se segített :D)Üdv.
Még utólag,mert megnéztem az adatlapodat.Azt ugye nem tagadod,hogy az "órajel"pontossága és nem mászása sok gondot megold?Főleg 1 óránál,vagy frekimérőnél...stb..

0

Vote up!

You voted ‘up’

ty
ty picture

Ha egy problémát nem a minimálisan szükséges eszközökkel valósítasz meg, akkor nem a megfelelő megoldást választottad.

Leírtam a kérdéses problémát hogyan szokták megoldani.
A GPS vevőkben is processzor van és quartz. Ott például fontos az idő pontos mérése.
Vélhetően alkalmaznak hőmérséklet kompenzációt, ez praktikusan egy egyszerű hőmérséklet mérés és szoftveres kompenzáció lehet, táblázat alapján.

Mellesleg arra még egyik hozzászóló sem vette a fáradságot, hogy csatoljon egy adatlapot a quartz hőmérséklet függéséről, esetleg számszerűsítse, hogy mekkora pontatlanságról is beszélünk.

szerk.:

Az érdeklődők kedvéért:
egy kis átfogó ismeret a quartzokról
A mélyebben érdeklődők kedvéért

"A typical quartz is expected to drift about 1 PPM per °C."
Azaz fokonként 1/1.000.000 a hiba.
1.000.000/86.400 = 11.57

Tehát 11 C fok hőmérséklet változás hatására fog napi +/- 1 másodpercet eltérni az óra egy átlagosnak mondott quartz hibája miatt.

Ezért mondom azt, hogy nem látom létjogosultságát a leírt megoldásnak.

0

Vote up!

You voted ‘up’

lcsaszar
lcsaszar picture

"A GPS vevőkben is processzor van és quartz. Ott például fontos az idő pontos mérése."

Mindenütt van kvarc, ahol processzor van. De ezek a kvarcok nem alkalmasak időalapnak. A nagyobb, HC-49 tokozású kvarcok már jobbak, de azok még mindig AT metszésűek, ezért a hőfoktényezőjük nem ideális. Ahogy írták előttem, termosztáttal javítható, persze ennek ára van (méret, energia). Az SC metszésű kvarcok a legjobbak, de nagyon ritkák és drágák.

A GPS jel maga tartalmazza az időkódot, és a vevő a műhold helyzetéből kiszámítja a késleltetési időt a műhold és a vevő között, ezzel korrigálva az időt. A GPS órák a legpontosabbak átlagos felhasználó számára. A DCF-77 nem tudja figyelembe venni a késleltetést, de mivel az 0.01 másodpercnél kisebb, nem is szükséges.

Üdv, lcsaszar

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia ,ty !

Nagyon szépen köszönöm a magyarázatokat. Nagyon hasznosak,és ezt nem csak udvariaságból íróm hanem tényleg így is gondolom.

Az a baj ,hogy tervezési hibát követtem el az áramkör már adott, valóban igazad van be látom ,hogy két kvarc kellet volna . A 4MHz-es ,és a 32768Hz a TMR0-ra. A szoftverben ezt használom TMR0-át , a konfigurációja :

T0CON : 0x81 ;

jelentését bíztos ismered :

-TMR0 engedélyezve ;
-Van prescaler (értéke 1:4);
-belső rendszerórajélről üzemel. (Fosc/4 );
- A TMR0 16 bitesnek konfigurálva
-A TMR0-rol "le jön " jelenleg 4Hz és ezt tovább szoftveresen kezelem.

Például igy :

if INTCON.2 = 1 Then

Inc(a)
TMRL = $ED
TMRH = $0C
INTCON.2 = 0
End If

if a = 4 then 'Osztó 4-el és másodperc léptetés
B = B + 1 "ezen korrigálnom kell !!
a = 0
end if

A TMR0 -nak a Preset értéket (azt,hogy honnan kezdjen el számolni 65535-ig)
ugy állapítottam meg ,hogy figyelemben vettem a fő program hurok "önidejét is". Például a multiplexer (display) 8ms vesz igényben.

Nem vagyok egy Bill Gates tehát a programozást hobbi szinten csinálom,természetesen nagyon ,nagyon érdekel .

Nagyon szépen köszönöm a segítségedet még egyszer ! Hasznosak !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

om3bc
om3bc picture

Szia!
A topicot vegigolvasva sok erdekes otletet talaltam en is. Termeszetesen a hokompenzalt kvarc, vagy a GPS vevovel vezerelt ora mind jo otlet - magam is epitettem ilyet is olyat is, de ugy latom az altalam hasznalt es a legjobb szoftveres megoldast senki sem ajanlotta. En idoziteshez a CCP1 vagy CCP2-ot hasznalom valahogy igy:
(ez Proton basicben van irva, de en is hasznalom a Mikroelektronikas MikroBasic Pro for PIC32-ot, az elv ugyan az)

CCP1CON = %00001011
CCPR1H = $FA
CCPR1L = $00
.
.
.
Az interrupt kezelo rutin:
Disable Interrupt
myint:
If CCP1IF = 1 Then
CCP1IF = 0
Inc pov
If pov > 14 Then
pov = 0
.
. a valodi kezelo program
.
.
Endif
Endif
Resume
Enable Interrupt

Konkretan ez egy olyan program ami 64 MHz-es orajellel fut. A 4 MHz-nel termeszetesen a konstansokat meg kell valtoztatni. Ennek a modszernek az az elonye, hogy a CCP ertekegyezesnel automatikusan nullazza a szamlalo tartalmat ezert az idozites mindig pontos, raadasul az idozites idejet is egyenesen kell a CCPR1L es CCPR1H regiszterbe beirni, nem kell az erteket 65536-bol kivonni.

Joska

U.I. Ha a MikroBasicet hasznalod ebben az esetben nem szukseges feltetlenul a hardveres megszakitast hasznalni, eleg a szoftveres is aminek a kezelese kezdo programozoknak sokkal elonyosebb.

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,om3bc !

Nagyon szépen köszönöm a javaslatodat ! Maga a probléma Hála a Jó Istennek megoldodótt !Tesztelgettem az órát a télen nagyából amikor indítottam ezt a topikot . A lényeg ,hogy én "puskáztam el" szoftveres dolgokat. Neked ,és a kedves forumozók segítségének köszönhetően a probléma meoldodott !

Maga a módszer amit vázoltál érdekel ,és ha szükséges a későbbiekben alkalmazni fogom !

Nagyon szépen köszönöm még egyszer a fáradozásodat ,segítségedet !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Szia József!

A hiba igazából nem abból eredt, hogy melyik timert használtad, hanem abból, hogy írtad a timer értékét. Ha hagyod pörögni a számlálót folyamatosan, és csak azt figyeled, hogy történt-e túlcsordulás, akkor kaptál volna egy osztásaránytól függő frekvenciát (pl: 4MHz / 65536 =61,035Hz ha nem használunk 4-es előosztót), ami alapján már lehetne órát működtetni, 61 túlcsordulásonként nőtt volna a másodpercek értéke, meg egy kis számolt korrekció, hogy hány másodpercenként kellene 62 túlcsordulásnál léptetni a másodperceket.
Igaz, így a kijelzésre és a vizsgálatra 16ms maradt volna, de ezt meg a 4-es előosztóval meg lehetett volna nyújtani.
Ez például megszakítás nélküli megoldás lehetne, de ha előbb jut eszembe, akkor nem ismerkedsz meg a megszakítással :)

Üdv: Jácint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia, Jácint !

Köszönöm szépen a javaslatot ,érdekes gondolat menet ez is az biztos. Persze akár így is meg lehetett volna oldani.

Most a megszakításos szoftver verzió fut -és rá adásul elég jól --- .

Köszi szépen még egyszer !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

ty
ty picture

Hello!

- Jól értem, hogy ezek szerint nem tartalmaz a kódod tényleges interruptot, hanem a main() ciklusban vizsgálod a timer interrupt flaget?

- Mekkora a tapasztalati hibád és mekkora az az érték amit még elfogadhatónak tartanál?

- Azt írod jelenleg 4 Hz jön le. Ez 4-es prescaler mellett 62.500-as timer beállítást jelent. Ez talán nem is a legrosszabb.

- Elképzelhetőnek tartom, hogy a pontatlanságnak részben szoftveres oka van - bár a mértéke ebből a szempontból alapvető információ, mert ha napi 1-2 másodpercről beszélünk, az ebben az alkalmazásban nem számít soknak.

Üdv, ty

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia ,ty !

Igen a main()-ben az TMR0 interrupt flagjét ellenőriztettem periodikusan (polling).

Magának a szoftverhuroknak a legnagyobb "késleltetése" a kijelző vezérlésének van. Ezt figyelemben vettem az említett 4Hz-nél ami le jőn a TMR0-ról . Tehát ezt számításban vettem .

Pollingot alkalmaztam ( az interrupt kezelés nekem még "homályos" olvastam ugyan róla).Ha erről tudnál adni ,egy kis magyarázatot azt tisztelettel megköszönném.

Az interruptról annyit tudok ,hogy figyelni kell arra ,hogy az "interrupt" a program futása alatt ne legyen "túlsúlyban" a fő programhóz képest .

Tehát , a interrupt magyarázatot azt tisztelettel megköszönöm !

Mivel a szoftverem szervezése olyan,hogy pollingot használ a TMR0 flag figyelésére ,és mivel a main()-belül a display kezelés egy "For Next " típusú ciklus , a display kezelésében be kellett vonnom a TMR0 interrupt flag figyelést is. Azért ,hogy mindenkor az interrupt flag figyelve és kezelve legyen.

Arra készülők most ,hogy Hála Istennek ,van lehetőségem az apró hardver módosításra és a TMR0 helyett , a TMR1-et használnám ,mert részben -- ezt javasoltad az egyik hozzászolásodban-- , -- és köszönöm szépen-- . A TMR1 rendelkezik saját oszcillátorral ,ide csatlakozna egy 32768Hz-es óra kristály a kondenzátor párosával együtt. (Esetleg trimmer).
-Bele értve a szoftver módosítást a hardver módosításnak megfelelően.

Nagyon szépen köszönöm eddig is a javaslataidat !

U.I : Ezzel a hobbi órával az a célom ,hogy napi +/- 3...4 másodperc legyen a differencia,persze nem lenne baj ,ha ennél pontosabb lenne.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Szia József!

Az interrupttól én is féltem először.
A program elején meg kell adni, hogy honnan kezdődjön a fő programod, illetve meg kell adni, hogy hová ugorjon, ha megszakítás érkezik:
ORG 0 ;Reset vector address
GOTO RESET ;goto RESET routine when boot.
ORG 4 ;Interrupt vector address
GOTO MEGSZAKITAS ;goto Interrupt routine

Alaphelyzetben a RESET cimkénél kezdi a program a futást, aztán ha bármikor jön egy megszakítás (mert pl. lejár a timer) akkor ugrik a MEGSZAKITAS cimkére, ott megcsinálja a dolgát, és visszatér oda, ahol abbahagyta. Egy dolog fontos, a megszakítási programrész első lépései, hogy a regiszterek állapotát lementsük, majd visszatérés előtt vissza kell őket állítani.

Üdv: Jácint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Jaca !

Köszönöm szépen a megszakítás kérdésére (Interrupt) a magyarázatot ! Nagyon jó! Most is tanultam valamit.

Köszönöm szépen még egyszer !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

ty
ty picture

Ok. Pollinggal sose lesz pontos a timered, a hibád elsődleges oka szoftveres.
Amit írsz, hogy számításba vettél késleltetést, valószínűleg nem pont úgy van ahogy elgondoltad.

Pontos időzítéseket timer + interrupt segítségével lehet elérni.
Az interrupt lényege, hogy egy feltétel esetén (esetünkben timer overflow) a program végrehajt egy meghatározott kód részt (esetünkben az órához tartozó változók frissítését).
Erre az esetre vonatkoztatva: 250 ms-ként elugrik az aktuális utasításról a PC (program counter) az interrupt címre.
Végrehajtja az ott található kódot, majd visszaugrik oda ahonnan elugrott.
Ezzel az óra változóidat PONTOSAN 250ms-ként növelheted és a pontatlanságod TÉNYLEGESEN a quartz pontatlanságából fog adódni.

Javaslom keress interrupt példaprogramot azon a nyelven (?PIC basic?) amin programozol, kezdd el próbálgatni a működését, mert a hibád oka szoftveres, amit ha jól látom FELSZOROZ a quartz csekély mértékű freki változása.

Még két dolog: írtam, a quartz normál esetben kb. 10 fokos hőm. változása kell napi 1s relatív eltéréshez, tehát nem ez a hibád oka.

Szintén írtam és más is megerősítette, hogy a quartz rezgési frekvenciájába nem szól bele a kondenzátor, ezen kár agyalni.

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia, ty !

A szoftver Basic-ban írodott. (Mikroelektronika MikroBasic).

Köszönöm szépen a magyarázatot ! Keresni fogok Interrup-os példa programokat ,és azok alapján alkalmazni fogom az óra esetén is.

Köszönöm szépen még egyszer a segítséget !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Sziasztok!

ty-nek igaza van, első körben én sem lihegném túl. A PIC 4-MHz-es kvarca, amiről a topiknyitóban szó van szerintem nem külső kvarc, hanem a belső órajel, ami tényleg nem stabil. Ennél nagyságrendekkel jobb egy külső kvarc. Első körben én csak annyit tennék bele, aztán ha az sem elég, akkor lehet termosztátba rakni, Bocs, felületesen olvastam. bár legjobb megoldás az lenne, hogy egy kvarc, ami le van osztva, az adná az órajelet. Én még az osztást se bíznám a PIC-re.

Üdv: Jácint

0

Vote up!

You voted ‘up’

ty
ty picture

A PIC-ben hardware-es osztó van ami jól paraméterezhető, kár lenne erre a célra mást használni.

Igaz az elérni kívánt pontosságot nem határoztuk meg, de hobbi kategóriában napi 1-2 másodpercet teljesen normálnak gondolok.

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia SzBálint !

Köszönöm szépen a javaslatot !

Az alkatrész forgalmazó "cégeknél " (HE STORE ,stb) megnézem a kondenzátorok adatlapját ,és a "kedvezőbb" paraméterűből rendelek. Kerül amiben kerül...

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

balage
balage picture

Helló! Próbáld meg ilyen XO-val:

File csatolás: 

0

Vote up!

You voted ‘up’

uniman
uniman picture
**

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Uniman !

Köszönöm szépen a tippet !

Üdv : Lengyel józsef

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia, balage !

Köszönöm szépen a segítséget !

Megprobálom ezzel is. Ezek lézer trimmerelt komplett oszcílláttor modulok. Milyen a hőmérséklet karakterisztikájuk ?

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

josef.48
josef.48 picture

Szia József!A frekvenciaméröben lévö kvarcot termikusan stabilan tartottam (80-as évek).Sajnos a rajom már nincs meg de emlékezetböl megrajzoltam.Egy BD (npn)tranzisztort a kvarcot és egy termisztort (-th)egymással öszzefogtam (termikusan).Az értékek függnek a termisztortól.A kapcsolásra egy müanyag gyüszü került ( hasonló)vatával bélelve.üdv.Jóska

File csatolás: 

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia josef 48 !

Nagyon szépen köszönöm neked is a segítséget. Annyi munka volt ezzel a kapcsolással ,a panelt megtervezni, összeépíteni ,a szoftvert megírni és tesztelni. És amikor láttam,hogy a gyakorlatban vannak ezek a hibák egy kicsit el keseredtem.

De --köszönöm neked is-- a javaslatot,a rajzot ,a segítséget mert most "fel villanyozott " a dolog és meg akarom oldani a problémát.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Kalex
Kalex picture
*****

Szia!
Tedd termosztátba a kvarcot és a kondenzátort. Probléma megoldva.

Üdv! Kalex

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia !

Nagyon szépen köszönöm a javaslatot. Tisztelettel szeretnélek megkérdezni ,hogyan is néz ki egy ilyen "termosztat" ?

Üdv :Lengyel József

0

Vote up!

You voted ‘up’

uniman
uniman picture
**

Hello.
"google számtalan kapcsolást ad"
"Kristálykályha"
Rajz1...Rajz2...Rajz3
Üdv.: Uniman

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Hello !

Nagyon szépen köszönöm a fáradozásodat ,a segítségedet ! Meg fogom valósítani az egyik megoldást. Gondoltam arra ,hogy már bele olvasgattam ,hogy a mikrokontroller A/D konverterével megmérem (a termisztor) által közölt hőmérsékletet, és maga a mikrokontroller vezérelné a fűtést.Rá adásul ez egyáltalán nem egy komplex szoftver részlet lenne "csak egy apró módosítás".

Lényeges : Nagyon szépen köszönöm a segítségedet ,a fáradozásodat !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Kari
Kari picture
*****

Szervusz Jozsi!
Csak a kvarc stabilitasi temakat ragoznam.
Sokfele velemeny, ötlet elhangzott-jok is, egyszerübbek is, stb, de en a lenyegi keveredes veszelyere hivnam fel a figyelmed:
1,_Kvarc/oszci stabilitasa nem = az abszolut pontossagaval, azt trimmelni-beallitani szükseges. Esetedben ugy ertettem, hogy altalanossagban siet az orad, tehat a kvarc ket laban levö 12-27pF-okat kell kisse megnövelned.
Erre egeszen jol alkalmazhatsz egy "kukac trimmert" is-olcso, nem igenyel nyak valtoztatast-max. nèmi helyet_a regi radiokban a hullamvoltokon böven lathatok_ ha nem tetszik kis trimmert meg mindeg raforraszthatsz a nyakra...

2,_ Az oszillatorok/rezgökörök hömerseklet kompenzalasi elve mintegy 90 eve kidolgozott, jol leirta man a 60`-as evekben elöször megjelent "Magyari_Radioamatörök zsebkönyve", & nem keves cikk is. Erre klf. TK ertekü (pozitiv es negativ is) kondenzator csalad volt beszerezhetö, ahol a test szine + kiegeszitö szines pöttyök jelöltek a tudnivalot: mèg a "Köporc" is több kivitelben (csö & tarcsa) gyartott ilyesmit... Sztem a Philips mai napig is gyart effele tarcsakondi csaladot.
2b,_ a TK kompenzalasakor teves csak a kvarcrol beszelni, muszaj az oszci/keszülek egeszet, valtozasat, kikompenzalni, amit a szerencses esetedben szükseges kiegeszitö kis kapacertekekkl is hozzadhatsz, de sok s faradtsagos piszmogas aran.
--Egy hsz-ben elhangzott, hogy az altalanos kvarcok 1ppm körül vannnak_EZ TEVES, minimum 1 nagysagrenddel gyengebbek, s az un. rezonatorok meginkabb-külsöleg nem okvetlen elteröek.Az 1ppm stabilitasi fok ugyanis profi /high-Q XTAL-ok vagy olcsobb celokra gyartott (akàr DIP14/SMD) TCXO-k sajatja!
3,_Helyedben inkabb egy külsö 4MHz-es TCXO-t alkalmaznek orajel forrasnak, de amit emlitettek; a plusz 32 KHz-es masodik orajel is jo ötlet, viszont megjegyzendö, hogy 32KHz XTAL nem = automatikusan "Ora minösegü" kvarccal!! Azok mugyan elterjedtek, de konkretan kell az 1-5ppm kategoriasat valasztani- àrban nem veszes az elteres, abszolut tömeg ari, mint a mobiltelefonok.
Csak most akadtam erre a „PIC-es oszci oldalra“ _asszem sokat megsporolhatttal/tunk volna vele ha elöbb ismert lett volna…
Ha segietett valamit-örülök neki, különben eredmenyes tenykedest!
Kari

File csatolás: 

0

Vote up!

You voted ‘up’

ty
ty picture

Szia Kari!

Lassan ennek a quartz kérdésnek nyithatnánk egy új témát az iskolapadban.
Már nem az eredeti kérdés miatt írok, az megoldva, egyszerűen csak szeretném tisztázni a quartz működésének részleteit.

Továbbra is az a véleményem, hogy a PIC esetében a quartz lábán lévő két kondenzátor mint itt is írják nem szól bele a rezgési frekvenciába, legfeljebb a fázistolás mértékébe.
Ha úgy gondolod, hogy a rajzon lévő két kondenzátorral frekvenciát lehet finomhangolni, akkor kérlek hivatkozz vm. forrást ami ezt alátámasztja.

- Az 1PPM-et korábban hőfokfüggésként írtam, tehát az 1PPM/Celsius

- József, a napi 4 másodperc az elvileg szoftveres beállítással pontosítható. A timered most 62.500-ra van állítva. Ha eggyel növeled vagy csökkented, az órád 1/62.500-szor gyorsabban vagy lassabban fog járni. Egy nap 86.400 másodperc, tehát egy egység durván 1.4 másodpercet számít. Ha 3 egységgel módosítod a timert, az kb. 4.2 másodpercet számít naponta.

Üdv, ty

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,ty !

Köszönöm szépen a javaslatot. Tulajdonképpen a TMR0-nak a "PRESET" "start értéket " kell módosítanom ,ahogy írtad és köszönöm ,mert :

jelenleg a "start érték" : 3036 . Ebből : 65535-3036 = 62499. Tényleg csökkenteni kell mindenképp. De egyébként a magszakítással ,HATALMAS ELŐRE LÉPÉS történt. Vagy is ez a 4 napi 4 másodperc is nagyon jó a "randomszerű"üzemhez képest ami volt.

Nagyon érdekes dolog ez a PIC programozás : gyakorlatot úgy szerez benne az ember ,ha dolgozik vele intenzíven.

Hála Istennek ,hogy vannak olyan kedves emberek olyan mint Te és --mindenki-- aki segített a probléma megoldásában.

A szerzett szerény tudásomat kamatoztatni szeretném,hogy majd ,ha eljön az idő és remélem minél hamarabb --én is segíthessek --- másoknak.

Köszönöm szépen azt a sok,sok útban igazítást,írányítást .Erre is volt szükségem .

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Szia ty!

A quartz frekvenciája igenis állítható:
http://www.oddmix.com/tech/circ_crystal_audio_oscillator.html
De ha belenézel a régi Videoton TV-k PAL dekóderébe, ott is a quartz melletti trimmerkondenzátorral kellett beállítani a megfelelő frekvenciát, hogy színes legyen a kép.

A csatolmány egy igen nagyrabecsült könyvből származik.
(Ez egy régebbi kiadása: http://www.vasynet.com/downloads/doc2/isi/Debreceni%20Egyetem%20-%20Mern... )

Üdv: Jácint

File csatolás: 

0

Vote up!

You voted ‘up’

ty
ty picture

Szia Jaca!

Köszönöm a választ!
Lassan azt hiszem összeáll a kép.
Tehát a csatolmány szerinti C1 és C2 amik egy normál PIC-es kapcsolásban vannak nem szólnak bele a frekvenciába.
Viszont ha Rs helyére bekerülne egy trimmer kondi, azzal elvégezhető lenne a frekvencia finomhangolása.

Ezzel az alkalmazással valószínűleg azért nem találkoztam PIC-es áramkörökben, mert a PIC-en belül van lehetőség az oszcillátor kalibrálására, és az ebben a környezetben egyszerűbb szoftveresen, mint csavarhúzóval, külső alkatrész segítségével.

Üdv, ty

File csatolás: 

0

Vote up!

You voted ‘up’

Jaca
Jaca picture
***

Szia ty!

A mellékelt linkről letölthető kiadásban a fájl 419. oldalán (ami a könyv 422. oldala szépen leírja, mire való a qvartz lábára tett kondenzátor. A PIC a soros rezonanciát használja, ahol nem szól bele a párhuzamos kapacítás, de egy sorbakötött trimmerel már beleszólunk a rezonancia frekvenciába.
(ezért jók az ilyen témák, mert nem is számítunk rá, de mindig tanulunk valamit :) )

Üdv: Jácint

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia,Kari !

Elnézésedet kérem,hogy késve válaszolok . A magyarázatot elolvastam és probálom megérteni ,elgondolkodni rajta .

Arra gondoltam,ha a kvarc "nagy hő függést" mutat akkor a32,768KHz-járulékos kvarc mellett döntök .---!!!PLUSZ!!!--- amit írtál,közöltél és köszönöm szépen, az egész oszcillátort kikompenzálom trimmerrel ,ahogy javasoltad.

A helység ahol van az óra 18-20°C-van. Jelenleg +4 másodperc /nap a differencia. Tehát napi 4 másodpercet siet.

A javaslat mindenképpen értékes amít közöltél ,mert ha a helység hőmérséklete nagyobb mint 20°C akkor elvileg jobban siet.

Ennek a 4MHz-es kvarcnak a termikus paramétere :+/- 30ppm. A járulékos 32,768KHz termikus paramétere : +/- 10ppm !.
Elvileg a harmada a 32Khz-es kvarcnak a 4MHz-el szemben.

****Sajnos volt egy szoftver hibám --is-- amit a kedves "ty" kollégánk jóvoltából sikerült korrigálni.

*** az általad javasolt trimmerelés eljárást ---mindenképp--- alkalmazni fogom .

Szeretném megragadni az alkalmat és megköszöni --Neked is-- a hasznos szakmai tanácsokat ,javaslatot.

Nagyon szépen köszönöm a segítégedet,fáradozásodat.Remélem még sokat "eszmecserélünk" ,jókat itt a tanyán !

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Kari
Kari picture
*****

Szervusz Jozsi!
Köszi a reakciod, a kesedelmed egyebkent èszlelhetetlen volt.
Egy 32KHz-es ora-kvarcot nem tudsz kikapni valami kiselejtezett jobb karorabol (alighanem kissebb/stabilabb TK-ju lehetne mint amit rendeltel)? A kvarc nevleges frekvencia beallitasara tervezett trimmert esetleg a kukactrimmerrel is megoldhatod(ime egy iparibb kivitele), de a hömeresekleti függöseget a trimmeles önmagaban aligha fogja egyuttal kikompenzalni!
Erre elöször megkiserelnem valami 2-6-8pF-os, de pl. P100-as, azaz pozitiv Tk-ju kondikbol kirakni a kvarc labara szükseges nagyobb kapac erteket. Nemtom, hogy a trimmerednek mifele Tk-ja lenne, de magad is ellenörizheted ha tudsz par pF-os valtozasokat megbizhato stabilitassal-ismetelhetöseggel merni, miközben a merendö kondit pl. hajszaritoval melegited(nem sütöd!), ha növekvö kapacitast mersz= pont az kellene....A merömüszert ne èrje a melegitett levegö aramlasa!
Jobb forgalmazok listazzak a szinsês testü müanyag trimmerkondik Tk-jat is, de nem latok +Tk-jut, csak minuszosokat, max 0+/_300ppm-est(rot/piros)...
Ugy latom, hogy pl. Tronser keramia csö-trimmerhez kellene hozzajutnod, ezek kis 20-60-as pozitv Tk-val, s annak +/-20-50-es tartomanyaval rendelkeznek.
Az elözö hsz-emben emlitett Philips rezgökör kompenzalasra gyartott kondi csalad-szinezese is jol lathato...
Node hosszu lesz, s az "àl modinak" ismet nemfog tetszeni_avagy az kit izgat?
Kari

0

Vote up!

You voted ‘up’

cs_laci
cs_laci picture

Szia!

Ha már a PIC-el akarod mérni a hőmérsékletet és azzal vezérelni a termosztát fűtőelemét, akkor inkább a hőmérséklettől függően a másodperc előosztódat korrigáld, mert ahhoz nem kell HW.

További szép napot: cs_laci

0

Vote up!

You voted ‘up’

Kalex
Kalex picture
*****

Szia!
Egy zárt térben elhelyezett fűtőelemmel (ellenállás), állandó hőmérsékletet biztosítasz. Ehhez természetesen szabályoznod kell a fűtő teljesítményt. A google számtalan kapcsolást ad fel, ha rákeresel.

Üdv! Kalex

0

Vote up!

You voted ‘up’

Lengyel József
Lengyel József picture

Szia !

Nagyon szépen köszönöm a magyarázatot !

Megpróbálom a fűtés szabályzást megoldani magával a mikrokontrollerel. Ez egy apró módosítás lenne az óra szoftverben.

Üdv : Lengyel József

0

Vote up!

You voted ‘up’

Sponsored links