Fórum témák

» Több friss téma
Fórum » Nagy LED kijelzős DCF77 óra PIC-kel
Lapozás: OK   4 / 20
(#) Topi válasza brugo hozzászólására (») Ápr 10, 2008 /
 
Szia!

JP1-es tüskesor, a PIC INT0 lábánál.
(#) brugo hozzászólása Ápr 10, 2008 /
 
egy regebbi cikkedben a DCF modul a PIC-hez 1 tranzisztoron keresztul kapcsolodik ,nem lenne jobb a vetel ha itt is igy jarnank ell ?
(#) Topi válasza brugo hozzászólására (») Ápr 10, 2008 /
 
A vételbe nem számít bele. Ott annál a kapcsolásnál azért volt a tranyó, mert nem mindegyik régebbi modul volt relatíve nagyobb áramot elviselő open-collector.
(#) brugo hozzászólása Ápr 11, 2008 /
 
Engem meglepett, hogy tobben is panaszkodtak a veteli viszonyokrol . En 600 Km-re keletebbre vagyok Bp.-tol, ezelott 18-evel kaptam 1 ebresztoora Funkweckert csak akkora mint 1doboz cigaretta , noname ( tehat semmi gyarto nem szerepel rajta ) es azota is tokeletesen mukodik soha nem volt veteli problemam most utobb 1 Duracel elemmel mar3-eve megy. barmilyen helyzetben barhol a lakasban.
(#) liman hozzászólása Ápr 22, 2008 /
 
hello
lenne par kerdesem az oraval kapcsolatban.
Eloszor is a pic-el kapcsolatban a hqvideonal van egy ilyen tipusu pic de pic
ha jol ertelmezem akkor ez 4mhz-es a kapcsolasban pedig 20 mhz-es van ?A picnek mi a pontos tipusa?
A conrad fele dcf modul nem invertalo kimenetet kell a picre kotni?
Illetve a homero reszt esetleg lehet boviteni egy masodik taggal mondjuk hogy a kinti homersekletet is mutassa?
Arra gondoltam hogy egyszer a bentit egyszer a kintit mutatna az ido utan es akkor nem kellene a programban modositani csak valami kapcsolo kellene ami egyszer az egyiket egyszer a masikat kapcsolja a picre.
elore is koszi a valaszokat.
(#) brugo hozzászólása Ápr 24, 2008 /
 
A napokban láttam a conrad.de-én a DCF77-es módúl csak 10 euro Budapesten 4000 Ft ?
(#) liman hozzászólása Máj 16, 2008 /
 
hello
ismet kerdznek bar az elozoekre sem kaptam valaszt de remenykedek.
szoval a pic programozasnal van egy kis gondom mert verifyng faild at 0000h hiba uzenet jelenik meg a programozas vegen.Ez mit jelent ?mi a megoldas?
köszi elore is.
(#) bbalazs_ válasza liman hozzászólására (») Máj 16, 2008 /
 
Ez azt jelenti, hogy egyetlen byte-ot sem sikerult neki beirni. Ha egy darab szappant teszel a vegere, akkor is ezt kapod

Szoval ez kb 'az auto nem mukodik, mi lehet a baja' tipusu kerdes.
Lehet tapellatas, lehet erintkezesi hiba, lehet programhiba, lehet programozofeszultseg hiba, lehet a pic nem megfelelo bekotese/erintkezesi hibaja, stb. Millio lehetoseg.

A pic tipusa mar a linken is rajta van, ha az oldal bejon, akkor is ott van: 16F873
(#) liman válasza bbalazs_ hozzászólására (») Máj 16, 2008 /
 
ok
de 2 nappal ezelott programoztam ugyan igy a propeller clock picjeit es ott semmi gond nem volt es azota nem erte serules . vegig merem a feszultsegeket a pic labain aztan meglatjuk.
a pic tipusa rendben hogy 16f873 csak amit linkeltem az 4 mhz-n mukodik es ebben a kapcsolasban pedig 20mhz kvarc van ezert kerdeztem hogy mi a pontos tipus de ez kozben mar megoldodott 16f873a-i/sp let.
(#) liman válasza liman hozzászólására (») Máj 16, 2008 /
 
vegig mertem a labakat kap tap feszt meg prog feszt is ugyh nem ez a gond.
kiprobaltam 16f628 al is azt gond nelkul programozta.
(#) liman válasza liman hozzászólására (») Máj 17, 2008 /
 
megoldodott a pic problema.olvastam egy kulfoldi oldalon hogy az ujabb verzioju icprog nemelyik pic programozasakor bugos.ugyh letoltottem az 1.05c verziot es azzal mar ment.
Viszont az ora meg mindig nem mukodik.Bekapcsolas utan mit kellene latni?
Panhard tervei alapjan epitettem annyi valtozas van benne hogy a bc556es557 helyett 327 es 337 es tranzisztorok vannak benne.
Illetve a kijelzo 3" es 11v kellene neki viszont csak 8v koruli erteket merek az anod es katod kozott.
Nalam bekapcsolas utan csak az elso kijelzo vilagit de csak halvanyan es egy ideig egy 2-est ir utana meg 3 szegmens vilagit.
Szoval egyreszt tobb fesz kellene a kijelzokre illetve nem ertem hogy a tobbi kijelzo miert nem csinal semmit?
(#) liman válasza liman hozzászólására (») Máj 27, 2008 /
 
Sikerult mukodesre birni az orat viszont a szinkronizalas nekem sem megy.
Mindent kiprobaltam amit itt irtatok kicsereltem az anntenna vezeteket coaxra,probalgattam a felhuzo ellenalasokat valtoztatni,megfelelo iranyba tartani az antennat de semmi sem tortenik.
Viszonylag egyenletesen villog a led illetve az utolso kijelzon a pont ugyanugy villog.Egyszer sikerult egy rossz idot befognia illetve neha neha lenullazodik a masodperc tobbszor is egymas utan de semmi tobb.Ja es az elmult 5 napban folyamatosan ment az ora.
Van meg valami amit nem probaltam?
(#) MPi-c hozzászólása Jún 17, 2008 /
 
Üdvözlet az Olvasóknak!

Vásároltam magam is egy DCF modult. Első körben összeraktam a PIC16F84-es „alap” kapcsolást és a topicban részletezett zavarforrásoktól távol próbáltam ki. Az áramkör sikeresen, max. kb. 3 percen belül szinkronizált és tartotta a szinkront még az utóbbi, zivataros napokban is.
Ezt azonban csak próbának szántam, hogy felmérjem távolabbi céljaimra egyáltalán használhatóan működik-e a modul…

Következő lépésként egy PIC18F2520-assal, egy RTC-vel szintén egy LCD-s kapcsolást készítettem. Nem volt szándékomban DCF dekódoló rutint írni. Keresgélve Topi cikkében találtam meg azt, ami nekem kellett. (Kösz Topi!)
A programot saját igényeimre alakítva azonban a várt eredmény elmaradt, ezért „belemerültem” a dekódolás működésébe. (Szerencsére a cikkben és a programban is egyszerű és érthető a folyamat.)
Úgy találtam, hogy a „DCF77 dekódoló unit” dcf77_alt_decode függvényében a paritás bitek ellenőrzéséhez a beérkezett 1-es bitek összeszámolása nem megfelelően történik.
Az eredeti kód egy része, pl. így néz ki:
  1. case 20: ParityOK = b; /* ez mindig 1 ez a start */ break;
  2.         case 21: dcf_time.minute = b;           parity_cou = 0; break;
  3.         case 22: if(b) dcf_time.minute += 2;  parity_cou++;     break;
  4.         case 23: if(b) dcf_time.minute += 4;  parity_cou++;     break;

A ParityOK változó közli a program további részével, hogy a vett bitek paritás-ellenőrzése rendben volt. A b változó a vett bit állapotának megfelelően 1, vagy 0. A parity_cou változóban számoljuk az ellenőrzéshez az 1-es értékű biteket.
A 3. sorban látható, hogy a perc kód 0. bitje (a 21.-nek beérkezett), b-nek megfelelő állapotot veszi fel. Ezután történik az első hiba, ugyanis ennek a bitnek az értékét vagyis, hogy 1-es-e nem vizsgáljuk, így nem is számoljuk a parity_cou változóban, helyette a változót nullázzuk. (Ugyanez a helyzet az óra és a nap kódjának 0. bitjével is.)
A következő (22-nek érkező) bit értéke már ellenőrzésre kerül és értékének megfelelően változik a perc értéke. A bit számbavétele azonban ismét hibásan történik, ugyanis a parity_cou növelése minden esetben, a b értékétől függetlenül megtörténik. Így pl. a perc kódjának vétele végén, függetlenül a vett 1-es bitek tényleges számától a parity_cou értéke mindig 6.
Szóval a sok magyarázat után a megoldás a helyes működéshez a feltételes utasítás után az adott időérték változtatását és a parity_cou növelését egy blokkba kell foglalni, valamint a 0. bitet is ellenőrizni és számolni kell kb. így:
  1. case 20: ParityOK = b; parity_cou = 0;                  break;
  2.         case 21: dcf_time.minute = b; if(b)          parity_cou++;      break;
  3.         case 22: if(b) { dcf_time.minute += 2;   parity_cou++; }        break;
  4.         case 23: if(b) { dcf_time.minute += 4;   parity_cou++; }        break;

A „megpiszkált” teljes unitot mellékelem.

A sikertelen kísérletezgetéseimet azonban a fenti módosítás nem oldotta meg. Hosszas nyűglődés után kiderült, a fő unit main függvényének for-jában elhelyezett 10 ms-os késleltetés (delay_ms(10)) megakadályozza, hogy a jelre ráméréskor a b változó a megfelelő értéket megkapja. (Lehet, hogy ez csak egyedi probléma és csak az én áramkörömben jelentkezik) Ezt a sort kiírtva már tökéletesen működik a kütyü, néhány perc alatt megtörténik a szinkronizálás.
Még egyszer: köszönet a szerzőnek!

m_dcf77.zip
    
(#) Topi válasza MPi-c hozzászólására (») Jún 17, 2008 /
 
Hát igen... A nyílt forráskód előnye!

Köszönöm mások nevében is a korrekt levezetést. Lehet hogy egy olyan firmware hibára mutattál rá, ami nálam a környezet miatt nem jött elő a mai napig sem.

-- Topi
(#) MPi-c válasza Topi hozzászólására (») Jún 17, 2008 /
 
Sietek is leszögezni, hogy ez a módosítás (bitszámlálás) a helyes adatvétel ellenőrzését javítja, és könnyű belátni, hogy ez nem akadálya a program helyes működésének, ettől még a szinkronizáció megtörténhet.
Ami érdekesebb számomra, az 10 ms-os késleltetés zavaró hatása... Ráadásul 20MHz-en a késleltetés eltávolítása sem oldotta meg a problémát, 4 MHz-en viszont igen.
(#) StefuPeti válasza Topi hozzászólására (») Okt 12, 2008 /
 
Szia
Végigolvastam a cikket és a fórum hozzászólásokat is, de sehol nem találom hogy a PIC melyik lábain jelenik meg a 6 darab kijelző digit kivezetése, és a 7 szegmens kivezetések. Tehát pontosan melyik láb az a,b,c,d,e,f,g szegmens. És a 74164 IC melyik kimeneti lábán a 6 digit.
Az óriás órám müködik csak a vezérlését szeretném ezzel a kapcsolással kiegésziteni.
Csatolok egy képet a nem DCF órámról.
Elöre is köszönöm

Kép 134.jpg
    
(#) tothtechnika hozzászólása Okt 23, 2008 /
 
Helló Topi!

Látom protelbe tervezted a nyákokat. Ha nem nagy kérés fel tudnád tenni zipbe a protel fájlokat (sch, pcb)

Köszi, előre is
(#) Topi válasza tothtechnika hozzászólására (») Okt 23, 2008 / 4
 
Ez eagle.
(#) belganarancs hozzászólása Aug 8, 2009 /
 
Üdv mindenkinek!

Én is találtam a linkek között egyet. DCF77-es időkapcsoló óra PIC16F876-al-kérdésem nekem is az,hogy épített-e már valaki ilyet?

Üdv!
(#) (Felhasználó 20218) hozzászólása Okt 15, 2009 /
 
Üdv Topi!
Most készülök megépíteni az órád! A problémám csupán annyi, hogy nekem semmi szükségem a hőmérséklet mérésére (és amellett Szegeden nehézkes is a DS1621 beszerzése). Szeretném kérdezni hogy ha egész egyszerűen nem rakom rá ezt az IC-t akkor mi történik? Akkor 6mp pontos idő, aztán 3mp nagy semmi, vagy valami kamu értékek? De ha esetleg elküldenéd nekem mail-ben az .asm file-t akkor gondolom ki tudnám iktatni belőle...?
(#) commodo hozzászólása Okt 16, 2009 /
 
Sziasztok!

Most kezdetm PICezni, megépíteném az órát. Az lenne a kérdésem, hogy egy szegmens közös lába pont akkor kap vezérlést amikor a kijelző lábán megjelenik az adat, vagy ha van is egy kis eltolódás, az mekkora és számít e?
Mitől függ, hogy a dcf jel hosszának mérése pont akkor fog elindulni, amikor a felfutó él van a B0 bemeneten? A kódban a 150ms-ként hívódik meg a B0 lekérése.
A kijelző nem fog villogni ha van egy megszakítás (pl kijelzés közben beesik a timer2 int-je), mindíg pont ugyan annyi időközönként fut le a DisplayTime()?

Előre is köszönöm a segítséget!
(#) (Felhasználó 20218) válasza (Felhasználó 20218) hozzászólására (») Okt 16, 2009 /
 
Ó én balga, most esett le hogy azért nem találok .asm file-t mert c-ben írtad... Eddig csak assembly-vel próbálkoztam és c-vel nem foglalkoztam egy másodpercet sem, de hála az interneten fellelhető tananyagoknak, előbb-utóbb csak kitalálom hogy mivel üssem ki a hőmérést...
(#) vicsys válasza (Felhasználó 20218) hozzászólására (») Okt 16, 2009 /
 
Ha kettőt vissza lapozol...
Bővebben: Link
(#) (Felhasználó 20218) válasza vicsys hozzászólására (») Okt 16, 2009 /
 
Na most jól beégtem, pedig nagyjából átfutottam hsz-eket hogy ne járjak így, de már éjszaka nem igazán voltam toppon... Köszönöm szépen hogy szemem felnyitván rávilágítottál a megoldásra.
És ismét köszöm neked a bináris órát, már jó ideje gond nélkül itt ketyeg a polcon!
(#) (Felhasználó 20218) hozzászólása Okt 16, 2009 /
 
Na, hőmérséklet megoldva... helyette új problémám van. Az LRD-ből mekkorát raktatok bele, mert látom többféle induló és záró értékű létezik.
(#) (Felhasználó 20218) hozzászólása Okt 16, 2009 /
 
És még egy kérdés, csak azért mert mindig akad valami... a DCF modulnak az invertáló vagy a nem invertáló kimenetét használtad?
(#) (Felhasználó 20218) hozzászólása Okt 16, 2009 /
 
Mondtam hogy nem fogynak el a kérdések...
A teljesen kész órának hány mA a maximális fogyasztása? Mert gondolkodom rajta hogy dugasztáp helyett inkább tennék rá egy nyáktrafót és közvetlenül a hálózatról táplálnám.
(#) Topi válasza (Felhasználó 20218) hozzászólására (») Okt 17, 2009 /
 
Nem invertáló kimenetet.
(#) Topi válasza (Felhasználó 20218) hozzászólására (») Okt 17, 2009 /
 
40-50mA max.
(#) Topi válasza (Felhasználó 20218) hozzászólására (») Okt 17, 2009 /
 
47K körüli fotoellenállás.
Következő: »»   4 / 20
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem