Fórum témák
» Több friss téma |
Oké, én benne vagyok, örülnék is neki, de nem tudom átríni a programot, esetleg ha valaki...
![]() Idézet: „Azt a csoda kvarcot hol tudom beszerezni?? Nekem olyan nincs.” El ne hidd, hogy ezen múlik a dolog! Bármilyen frekijű kvarccal lehet értelmes pontosságú órát építeni. Az 1-2 másodperc / nap pontosság célozható meg így kb., annak meg otthonra elégnek kéne lennie (ha nem elég, akkor marad a DCF vevő, vagy nagyon ügyeseknek Internet + NTP kliens). Viszont rendes kondikat kell rakni a kvarcra, mert ha nem stabilak (csak NP0/C0G típusúak jók), akkor megette a fene az egészet. Továbbá rendes panelt kell neki tervezni, mindenféle légszereléssel meg dugdosós panellal nem várható pontosság. A kondikból vagy különféle értékűeket kell venni (ez a korrektebb megoldás), vagy egy trimmer kondit. Ugyanis a megépítés után meg kell mérni, hogy mennyire pontos az óra, és a kondik értékének változtatásával lehet/kell behangolni. Persze lehetne olyat is csinálni, hogy nem az órajelet állítja az ember, hanem a szoftver kompenzál, de az azért bonyolultabb úgy.
Megérne egy kísérletet, csak nagyon hosszú idő mire megvan hogy tényleg mennyire pontos.
Mire beállítod a timert abban nem tudom hogy beleszámít-e a timer megszakítása. Ha jól fogalmazok.
Én elhiszem. De a szoftveres megoldást nem csinálná meg nekem valaki, amit Hp4IC ajánl??? Nekem elég az 1-2 másodperces pontatlanság..
![]() Köszi mindent előre is !
A timer2 (4, 6) -nak pontosan az az előnye, hogy a PR2, (PR4, PR6) elérését hardver figyeli. Csak egyszer kell beállítani, onnan mindent a hardver kezel. Ld. adatlap. timer2 fejezete. Az alap órajel pedig ugyan az a Fosc / 4, amit a Timer1, Timer0 is megkap. Mitől lenne pontatlanabb, mint a Timer1?
Egyetlen problémája van csak, Sleep módban nem járnak a Timer2 típusú timerek...
Körülbelül az antenna jelnek 30dBuV felett kell lennie hogy a dekóder hibamentesen működjön.
Van pár egyszerű rds dekóder ami sorosan kiadja az rds jelet de csak megállás nélkül jönnek a data clock jelek így nehéz feldolgozni, viszont a SAA6588T rds pre processor ic-vel az i2c buszon könnyen kiolvasható bármi; nagyon érdekes a dátum elküldése: MJD formátumban van azaz 1857 november 17 óta eltelt napok számát küldik el. Most néztem a dcf77 órához képest 3 másodperccel késett az rds óra a Petőfi rádióról.
Én nem értem minek sz*rakodni a kaviccsal, mikor párszáz forintért már van belső kristályos RTC, ami backupot, óra-perc-dátumot tud. (Ha nem lenne kritérium a drága DCF-es vevő, akkor azt IS ajánlanám hozzá.) Az RTC használatával meg a PIC a belső oszcijáról is mehet.
Nincs kritérium semmihez, csupán próbáltunk összedobni valamit . Remélem a szoftver módosításos cuccot megkapom .
![]() ![]() Üdv!
A megszakításban a timer1 értékét 35 vagy 36 ra veszem akkor is pont 2Hz lesz a megszakítás így jó 4MHz kristállyal.
Amíg a program el nem készül, van egy kérdésem: közös anódosra meg lehetne csinálni? Mert anódos kijelzőm van 6db, de katódosból csak 3.
![]()
Köszönöm, közben az utolsó hszmhez még egy kérdés felmerült: miért kell 5 kijelző??,
Ott villog a középső kijelzőn g szegmens, de a helyére 2 led-et is tehetsz mint kettőspont.
Oké. És valahogy nem lehet anódosra megcsinálni a kapcsolást?
![]() üdv!
Nem tudom,Én úgy érzem , olyan kvarccal lehet pontos(abb) órát építeni ,amihez a timmer értékét nem kell állítani (tehát rendesen lefut ,majd mindenféle beavatkozás nélkül resetelődik , vagy újra töltődik.) mert a megszakítás érvényre jutása ,a timmer új értékkel való feltöltése nem pontosan ugyanakkor történik,Így elcsúszhat (csúszzkálhat) az idő egy előre pontosan ki nem számítható órajellel. Vagy nem másodperc alapú lesz az egész ,de akkor a világ végéig lehet korrigálgatni szoftveresen.
Ami még a külön kvarc (esetleg RTC) mellett szól ,a PIC-hez használt frekvenciákon már elég nagy hőfokfüggésű kvarcok csak vannak olcsón.
Meg, a tranzisztorok kollektorát a + ra kötöd, az emitter meg meghajtja a közös anódokat, a szegmenseket meg egy ULN2003 IC-vel meghajtod.
Így jobb is főleg ha kis fényerejű a kijelző. Nagy kijelzőhöz amiben több led is sorba van kötve már nem jó a tranzisztoros meghajtás hanem egy pozitív oldali meghajtó kell pl. TD62783 vagy hasonló IC és a szükséges tápfeszre kötni az ic + bemenetét.
Akkor inkább maradok a katódosnál, és próbálok 1-et bontani valahonnan.
![]() Üdv!
Én is erre gondoltam csak nem tudtam jól megfogalmazni, azért gyártanak ilyen frekvenciájú kristályt, ezeknek kicsi a hőfokfüggésük mert általában óra készül belőle, meg ott a termosztát is ha már pontosak szeretnénk lenni.
Nekem ez már 5 éve megy és a félévi óraállításkor jó ha 1 percet késik, de megoldhatnám egy trimmerkondival a dolgot ha lenne egy etalon frekvenciamérőm.
Egy datasheet-et tudsz mutatni arról a bizonyos HD-H103-ról? Nem találok semmit.
![]()
Nem érdekes, csak az eagle rajzolóval ezt választottam ki, nekem FN1-0561 kijelzőm van a ret-től.
Köszi. Akkor a lábkiosztás megfelel annak, ahogy be van kötve?
![]() Üdv!
Attól függ milyen kijelződ van annak eltérő lehet a lábkiosztása, ellenőrizd le még hány led van sorbakötve egy szegmensben mert módosulhat ezáltal a meghajtás.
Szia!
A megszakítás során nem értéket kell betölteni, hanem a TIMER RESET-elődött és már továbbszámolt értékéhez hozzá kell adni! Ezzel a módszerrel nem számít, hogy kicsit később történik a megszakítás kiszolgálása, a hiba nem összegződik és "bármilyen" kvarccal képes jól működni! Steve Idézet: „amihez a timmer értékét nem kell állítani (tehát rendesen lefut ,majd mindenféle beavatkozás nélkül resetelődik , vagy újra töltődik.) mert a megszakítás érvényre jutása ,a timmer új értékkel való feltöltése nem pontosan ugyanakkor történik,Így elcsúszhat (csúszzkálhat) az idő egy előre pontosan ki nem számítható órajellel. Vagy nem másodperc alapú lesz az egész ,de akkor a világ végéig lehet korrigálgatni szoftveresen.” Nehézséget okoz egy 4 MHz-es kvarcról járatott PIC esetén összeütni egy másodperc alapú, teljesen HW-ből futó timeren alapuló órát? Mert Hp41C lentebb leírta, hogy hogyan kell csinálni... Idézet: „a PIC-hez használt frekvenciákon már elég nagy hőfokfüggésű kvarcok csak vannak olcsón.” Hm? 20-30ppm-es kvarcokat lehet könnyűszerrel kapni (gyakorlatilag bármilyen frekvenciából), azok 15-35 Celsius fokon járatva (= beltérben) simán 10ppm alatti hőmérsékletfüggésűek, a példányonkénti különbségeket meg a kondikkal simán lehet erre a szintre kalibrálni. Szerintem ennél sokkal pontosabb jelet 32kHz-esekkel sem fogsz előállítani. A külön RTC-nek bizony van sok értelme, különösen, ha áramkimaradás után nem szeretnénk újra beállítani a készüléket.
Sziasztok!
- Végülis bármilyen frekvenciából előállítható a pontos 1Hz (vagy más frekvencia) hosszú idő átlagát nézve, csak egy kicsit macerás. - Ha timer2 (4, 6) használunk, megszabadulink a timer írásától. A timer0 írása 2 ciklusig megakadályozza a számlálást, a timer1 írása sokkal bonyolultabb problémát vet fel: Timer1 Errata - Egy átlagos quartz a 10 - 20 ppm pontossággal 0.8 - 1.6 s eltérés / nap. Lehet kapni sokkal pontosabbat, de sokkal drágábban és általában kerek frekvenciákra illetve a 32.768kHz -re. Egy 10.000MHz 2.5 ppm 850 Ft+Áfa, a 10.000MHz 1 ppm oszcilátor már 16000 Ft+Áfa... Egy DS32kHz 3000Ft +Áfa. Ezekhez a költségekhez jön még az állandó hőmérséklet tartásához szükséges termosztát is. Ne az alap oszcillátorra költsünk ennyit, inkább a szinkronizációra, lehet az RDS (500 Ft), DCF77 (3500 Ft) vagy GPS... Így nem kell törődnünk a dátum, a hét napjának számításával, a téli - nyári időszámítás áttéréssel és mindig pontos lesz az óra. Persze valamit tennünk kell, akkor is, ha nincs vétel...
Készítettem neki egy nyákot (katódosnak), felraktam ide, hogy nézze át valaki.
![]()
Értettem... Teszem is bele a Propeller órába... Ld. topik...
Szia!
Írtad, hogy a Timer1-et macerásabb időalapnak használni. Erre a részre gondolsz:
? Bár nem teljesen értem miért van szükség erre, mert ha megy a Timer, akkor itt marad, amíg nem nullázódik (majd állítódik 1-be) a TMR1L; ha meg valamiért itt megáll, akkor végtelen ciklusba megáll a program (bár erre nem tudom van-e esély).
Szia!
Jók ezek a miért kérdések: - Miért nem használjuk a 18F2550 család kétszintű megszakítás kezelését? - Miért nem a movff utasítással írjuk az INTCON, BSR regisztereket? - Miért kell várni 1 -2 utasítást a TXREG írása és a PIR1,TXIF olvasása között? - Miért kell, hogy a timer1 regiszterek módosítása után lefutó órajelet kapjon a timer1, ha külső órajelről jár? - Miért kell bizonyos kontrollereken az AD átalakítást programból megszakítani? stb... Mindegyiknek egy - egy aprócska áramköri hiba az oka.. Idézet: „When Timer1 is started or updated, the timer needs to see a falling edge from the external clock source before a rising edge can increment the counter. If writes to TMR1H and TMR1L are not completed while the external clock pulse is still high, Timer1 will miss ounting the first clock pulse after the update.” |
Bejelentkezés
Hirdetés |