Fórum témák

» Több friss téma
Fórum » DS1307 inicializálása
 
Témaindító: fookos, idő: Jan 29, 2008
Témakörök:
Lapozás: OK   3 / 7
(#) potyo válasza fookos hozzászólására (») Feb 6, 2008 /
 
Szerintem rossz az elméleted. A ppm azt adja meg, hogy a kvarc 1000000 rezgés ideje alatt maximum mennyivel rezeg többet vagy kevesebbet.
(#) zoknee válasza fookos hozzászólására (») Feb 6, 2008 /
 
Nekem egy olyan Ricoh órakvarcom van, amit a ChipCad-ben vettem, és egy DS1306 jár róla, de nem olyan pontos, mint ami az általad írt ppm-ból jönne. Nekem napi 5-6 mp-et siet.
(#) kobold válasza fookos hozzászólására (») Feb 6, 2008 /
 
A ppm, mint írtad a magyarázatát is korábban, szerintem a névleges értéktől való eltérést fejezi ki, többnyire +/- irányban. Vagyis ha lenne egy 32768-as kvarcod 10 ppm alaphibával, akkor (32768 / 1 000 000) * 10, azaz 0.32768 Hz-et tévedhet a névleges értékhez képest, és ezt valószínűleg mindkét irányba (siet, vagy késik).
A ppm értéke nem fog attól megváltozni, hogy mekkora időegységen át számolod az oszcillációt; ehelyett az elvárthoz képest kapsz majd hosszabb-rövidebb időt.
(#) gyengus hozzászólása Feb 7, 2008 /
 
Belefutottam egy érdekes problémába, leírom hátha valakit érdekel.
A SWPutsI2C fvt használtam több bájt átküldésére az i2c-n. Ez a fv a string végjelig küldi az adatokat. A probléma abból jött, h az óra, perc és másodperc értékek lehetnek 0-ák és a string végjel is a 0.
Vagyis ha pl 0 a perc, akkor az óra értéke már nem kerül beállításra, mert a fv végjelként értelmezi.
Ezt kiküszöbölendő írtam 1 fvt az eredeti SWPutsI2C mintájára, h ne a végjelet nézze. Paraméterként meg kell neki adni az átküldendő string hosszát. Így már be lehet állítani 0 értékeket.
(#) fookos hozzászólása Márc 4, 2008 /
 
Elkészült az órám.

Képek az óráról

Mindenkinek nagyon szépen köszönöm a válaszokat és a sok segítséget!
(#) zoknee válasza fookos hozzászólására (») Márc 4, 2008 /
 
Jól néz ki, gratulálok!
Olyan kérédsem lenne, hogy te milyen kvarcot tettél a DS1307 mellé (smd/furatszeret)? Most én is egy hasonló kaliberű órát csináltam, csak DCF nélkül egyenlőre (meg a DS1621-et még nem szereztem be - te hol vetted? vagy sample?) Képeket meg leírást találhatsz a Ki mit épített-ben, pár napon belül.
Neked mennyire pontos az RTC (egy napra vetítve)?
(#) fookos válasza zoknee hozzászólására (») Márc 4, 2008 /
 
Most ChiCad-os 10ppm-es kvarcot használtam. A pontosságát eddig nem néztem (hisz naponta töbször is szinkronizálódik az óra a DCF77 jelről).

A próbapanelon az elektrokontha-nál vásárolt típus van ami naponta 1-2 másodpercet sietett.

A képeken láthatod, hogy hogyan szereltem.

A DS1621-et vagy az elektrokontha-nál megrendelheted vagy pedig a hqvideo-nál raktárról is vehetsz, ha éppen van nekik.

(#) fookos hozzászólása Márc 5, 2008 / 1
 
Ami még talán fontos lehet, hogy a DS1307 használata mellett mindenképpen kapcsolja be az ember a Brown-Out Reset-et (BOR_ON).

Tapasztalataim szerint a bekapcsolásnál, és a kikapcsolásnál is problémát okoz a lassú feszültség fel- illetve leállás. Már pedig ha egy 1000-2000 µF-os kondi van a tápban, akkor ez elkerülhetetlen. Maga a PIC már kb 3v-tól működik, ahol az I2C-buszon lógó chippek (nálam DS1621 és DS1307) még nem igazán tudnak kommunikálni.

A következő képpen próbálhatjátok ki miről beszéltem:

a.) Írjatok egy I2C-hibát figyelő részt a progiba, ami a displayra kiír valamit (nálam ez 6 karakteren ERR_01).

b.) BOR_OFF-al fordítsátok le a progitokat

c.) Hirtelen bekapcs után (rákapcsolod a stabil 5V-ot) csökkentsétek a tápfeszt szép lassan. Nekem valahol 3.9V és 4.1V között előjött az I2C hiba. Ráadásul minden 3.-4. I2C hiba után resetelődőtt a DS1307

d.) Ugyan ezt megpróbálhatjátok a másik irányba. Hirtelen kikapcs után (5V-ot egyszerűen lekapcsolod) szép lassan 0V-ról indulsz a tápfesszel felfelé. A c-pontban leírt jelenséget figyelhettek meg, és sajnos majdnem 100%-ban I2C hibával indul a PIC.

Ha a BOR-t (BOR_ON) bekapcsoljátok a proci csak valahol 4,0-4,1V-nál indul el. Ez pedig ad elég időt és feszt a külső I2C chipeknek hogy normálisan beindulhassanak és kommunikálhassanak a PIC-el.
(#) Rumcájsz hozzászólása Aug 11, 2009 /
 
DS1307-el épitettem egy órát. A DS tölti az akksit ha kap tápfeszt vagy azt külön meg kell oldani?
(#) potyo válasza Rumcájsz hozzászólására (») Aug 11, 2009 /
 
Szerintem a DS1307 mellé egyszerű lithium elem (gombelem) kell, az meg nem tölthető. Ha akkut kötsz mellé, akkor azt neked kell megoldani, hogy töltsd. De egyébként felesleges az akku, az sem birja a strapát 10 évnél tovább. Addig meg a lítium elem is elketyegteti az órát.
(#) gtk hozzászólása Okt 13, 2009 /
 
Letezik, hogy a DS1307 helytelen adattol megadja magat?
Kicsit belenyultam az ora forrasaba kiserlet keppen, es elszallt az RTC. Nincs i2c komunikacio. Probaltam kulsoleg resetelni,.. nem mukodik..(biztosan nem program hiba) A 3V-ra kiadott Varta elemen meg 3.58V-ot mertem, ez nyirta volna ki? Nem tudom elhinni....
(#) gtk hozzászólása Okt 13, 2009 /
 
Fejlemeny az ICvel kapcsolatban. V_BAT labat GND-re kotve mukodik az IC, viszont elemrol nem. Es tolti az elemet, ezert mertem 3.6V-ot az elemen. Valoszinu hogy a Power Control resze ment tonkre.
(#) gtk hozzászólása Okt 13, 2009 /
 
Valaki meg tuda merni, hogy nem backup uzemmodban, adott tipusu elemnel hany V van az elemen? Koszi.
(#) Mate78 hozzászólása Dec 14, 2009 /
 
Sziasztok,

dolgozott már valaki DS1337 RTC-vel?
Most ezt szeretném használni, de sehogyan sem akar pontosan járni az óra.32768kHz-es kvarcot tettem rá,5V a táp, de 1perc alatt 15mp-et késik.3db van itthon, mindegyik ezt csinálja.Csökkentettem a tápfeszt 3,6-4,4V körülire, de akkor meg siet.
1,8-5,5V-ig lehet a tápfesz adatlap szerint.Nem értem.
A kiolvasás rendben működik.

A másik, meg hogy ha leveszem a kvarcot róla,ugyanúgy jár tovább, pedig a sima DS1337-ről van szó, nem a DS1337C-ről, amiben benne van a kvarc.

Adatlap
Találkozott már valaki ilyennel?

köszi
(#) gyengus válasza Mate78 hozzászólására (») Dec 14, 2009 /
 
Szia!

Még csak DS1307-et használtam.
De 1 perc alatt 15 másodperces késés összeszedése az nagyon dúrva pontatlanság. Nem zavarja valami az áramkör működését? A tápfesz elég stabil?
Esetleg nézd meg a DS32kHz-t, ez valamennyit javít a pontosságon. Használom a DS1307-hez.
(#) Mate78 válasza gyengus hozzászólására (») Dec 14, 2009 /
 
A tápegysége szerintem rendben van:12V DC jön be,azután 100µF-100nF-7805-100nF-10uF.
Erről jár a PIC is.(16F877A)
Amit nem írtam, hogy próbapanelen van öszerakva az áramkör, de minimális hosszúságú vezetékekkel,ahogy nézem ez nem zavarja.Kvarc teljesen közel van a tokhoz.
üdv


(#) gyengus válasza Mate78 hozzászólására (») Dec 14, 2009 /
 
Az enyém dugaszolós próbapanelon van és nem centiztem ki a vezetékeket.
Másik kvarcal próbáltad? Lehet, hogy az a hibás.
Az IC táplábainál van 100nF kerámiakondenzátor zavarszűrésnek?
(#) Mate78 válasza gyengus hozzászólására (») Dec 14, 2009 /
 
Ez is dugaszolós próbapanelen megy.Mindenféle kvarccal próbáltam már egészen 20MHz-esig.
Beteszek mindjárt egy 100nF-t a táplábakhoz,igaz kicsit odébb van egy.
Arra valami ötlet hogy miért jár tovább az óra ha leveszem a kvarcot?
(#) gyengus válasza Mate78 hozzászólására (») Dec 15, 2009 /
 
Másik órakvarcal próbáld.
Azt a típust nem ismerem, a másikkal meg eszembe se jutott kipróbálni, megy-e kvarc nélkül.
Biztos, nem a C változat van meg?
(#) MPi-c válasza Mate78 hozzászólására (») Dec 15, 2009 /
 
Tényleg elég hihetetlen, hogy kvarc nélkül jár, ezért kérdezek furcsákat: Már bocs, de a PIC-ben a program rendben van? Nem valami bent maradt, korábbi óraprogram fut? Amikor a kvarcokat cserélgetted a PIC-en az I2C időzítését is módosítgattad? (Vagy nem is PIC kvarcát cserélgetted?)
A C az talán 16 "lábas" tokban van, talán meg lehet különböztetni a 8 "lábas"-tól.
(#) Mate78 válasza MPi-c hozzászólására (») Dec 15, 2009 /
 
Szia

A PIC programja:I2C-n kommunikál egy TC74 hőszenzorral, egy 24FC256 EEPROM-mal, és ezzel a DS1337-tel.A vett adatokat kiírja egy 4X20-as LCD-re.A hőszenzor olvasása is jó, az EEPROM írás olvasás is jó,a DS olvasása is jó, csak nem jár pontosan.
Nem a PIC kvarcát cserélgettem, hanem a DS-ét.De bármit teszek rá, 3,2768-20MHz-ig ugyanolyan sebességgel jár az óra.Viszont, ha lejebb viszem a DS tápját 3,5-4,5V-ra akkor meg felgyorsul nagyon, tehát a tápfeszültséggel is összefügg a dolog.
(Nem a -C változat van,mert az SO16 tokos ez meg DIP8)

Aztán tegnap este levettem mindent a buszról csak a DS-t hagytam rajta, de ugyanaz a hiba.Következő lépés az lesz hogy rászkópolok a DS órajel kimenetére.

üdv
(#) dcsabi válasza Mate78 hozzászólására (») Dec 15, 2009 /
 
Ha nem reagál a quartz sebességre, akkor vagy rossz a DS... vagy a PIC programja folyamatosan ismétel valamit amit nem kellene, esetleg más programhiba is lehet...
(#) Rumcájsz válasza Mate78 hozzászólására (») Dec 18, 2009 /
 
Szia! Én a DS1307 RTC-t használom de a DS1337 is 32.768kHz frekvenciájú órakvarcot kiván -NEM MEGAHERTZES !!- . Tehát hiába viszed 20MHz-re a frekit, persze hogy nem fog működni.
Tegyél be egy 32.768kHz és szerintem menni fog!
Ja majd elfelejtettem a DS1337 adatlapján megtalálod a kvarc frekijét és a hozzátartozó beállitásokat!
(#) Mate78 válasza Rumcájsz hozzászólására (») Dec 19, 2009 /
 
Az órakvarc 32.768kHz-es.(tehát 32768kHz)Az 3,2768MHz nem?
Most tekintsünk el attól a pontatlanságtól, hogy nem órakvarcot tettem mellé, hanem "normál" HC49U tokozásút.Ez még nem indokolja a brutális késést, arról nem is beszélve hogy ha leveszem a kvarcot akkor is jár az óra.

A DS1337 adatlapját átnyálaztam már ezerszer oda vissza.
Másik application note-ban megemlíti a Maxim, hogy az óra késhet attól, ha zajos a kommunikáció,de még nem néztem utána alaposabban.
Plusz adalék, hogy a buszon lévő másik két eszközzel (hőmérő, EEPROM) gond nélkül kommunikálok.

üdv

(#) potyo válasza Mate78 hozzászólására (») Dec 19, 2009 /
 
Nem értem, miért hibáskodnak ezekkel a pontokkal meg vesszőkkel a gyártók, csak összezavarják az embert. Angol nyelvterületen a pont jelenti a tizedesek kezdetét, magyar területen meg előszeretettel használják az ezres csoportosításra. Aztán ha odaírja, hogy 32.768kHz, akkor aki a fentit nem tudja, azt hiszi, hogy kb. 32MHz-ről van szó, közben meg kb. 32kHz-ről. Simán írhatnák azt, hogy 32768Hz, akkor egyértelmű lenne. Szóval 32768Hz-es kvarc az órakvarc. Ha nem ilyened van, akkor nem csoda, hogy rosszul megy.
(#) Mate78 válasza potyo hozzászólására (») Dec 19, 2009 /
 
Nem mondod komolyan.
Akkor én a mai napig tévedésben éltem!
Tehát akkor az órakvarc 32768 Hz-es.
Teszek bele olyat.(nem kicsi ez a freki kvarchoz képest?)

köszi a felvilágosítást!

Most látom előbb elírtam, 32,768MHz-et akartam írni

üdv
(#) Rumcájsz válasza Mate78 hozzászólására (») Dec 19, 2009 /
 
Viszont ha egy 32KHz-es kavicsot teszel bele, még pontos is lesz! Az hogy kvarc nélkül milyen környezeti kapacitások vannak és azokkal hogy indul be a DS már a véletlen műve. Tehát "Most tekintsünk el attól a pontatlanságtól, hogy nem órakvarcot tettem mellé..." - Ettől nem lehet eltekinteni ! A benzines autó sem megy gázolajjal...
Lehet hogy van a fiókodban egy rossz kvarcóra vagy egy öskövület alaplap (egyes alaplapok). Ezekben 32KHz-es kvarc található, tehát még a botba se kell elmenni érte.
Nem HC49 -es a tokozása ezeknek a kavicsoknak általában 2.5mm átmérőjű henger ami kb 10mm hosszú. Ha találsz egy kvarcórát abban ilyen kvarcot keress.

Sok sikert!

Ha nem vagyok indiszkrét, ugye Te egy meterológiai állomást épitesz? Nagyon hasonlitanak ezek az alkatrészek az én projektemben lévőekhez...
(#) Mate78 válasza Rumcájsz hozzászólására (») Dec 19, 2009 /
 
Szia,

igen, közben kiderült, hogy az én tudatlanságom miatt nem működött rendesen.Tudom milyen az órakvarc tokozása, szerintem lesz is itthon, kipróbálom vele.

Igazából csak az I2C kommunikáció programozása a célom vele, csak hát nem hagyott nyugodni, hogy pontatlanul jár az óra.(valamikor aztán majd egy 8 csatornás termosztát lesz belőle)

köszi mégegyszer!

üdv


(#) Mate78 hozzászólása Dec 21, 2009 /
 
Tettem mellé órakvarcot, ezzel már pontosan jár az óra.

Köszi Rumcájsz, Potyo.
(#) pppsss hozzászólása Feb 14, 2010 /
 
Sziasztok !

Én még nem használtam I2C kommunikációt, ezzel az IC-vel /DS1307/ szeretnék egy órát önállóan létrehozni, de sehogy sem értem a DS1307-ből való olvasás folyamatát! Az írást azt igen de az olvasásnál nem értem hogy ha nem címzem meg a regisztert először akkor honnan olvasok ki adatot? Az adatlapban csak az I2C eszköz címe van /7.oldalon/ utána csak az adatok sorban egymás után: n, n+1, n+2 stb. Arra is gondoltam hogy a kiolvasás mindíg a 00 címen indul és folyamatosan olvassa ki a soron következő regisztert, de akkor végig kell mindíg olvastatnom az összes regisztert mire eljutok újra a 00 címig?
Nagyon hálás lennék ha valaki felhomályosítana ebben a témában !
Előre is köszi.

PS.

DS1307.pdf
    
Következő: »»   3 / 7
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