Forum: Mikrocontroller und Digitale Elektronik DS1307 - Zum Verzweifeln


von Hansl (Gast)


Lesenswert?

Hallo,

kann mir jemand dabei behilflich sein einen DS1307 zur mitarbeit zu
bewegen? ich Habe das ding nun 2 Mal aufgebaut, den 4. Quartz 
ranngepackt.
kabel ausgetauscht. isp kabel getrennt oder dranngelassen(STK500)...
alles ohne erfolg.

mein dDS1307 spielt toter chip. gibts irgendwie eine moeglichkeit
ohne oszilloskop nachzugucken was das ding tut, wenn es was tut?

Ich weiss echt nichtmehr weiter.... dieser kleine schwarze kaefer
macht mich ncoh verrueckt.

..bin kurz davor den ganzen ramsch hier in ne Tonne zu packen.

WIE DEBUGT IHR SOWAS DENN? KANN JA NICHT SEIN DAS IHR ALLE EIN
ELEKTRONIKLABOR ZUHAUSE HABT...ODER DOCH?

beinahe am ende
 hansl

von Thorsten (Gast)


Lesenswert?

Leider ist meine Kristallkugel grad in Reparatur. Du musst schon etwas 
mehr Info (Code, Schema) liefern für eine Fehlerdiagnose.
Ansonsten heisse Kandidaten:
- Speisung?
- Pullups am I2C
und natürlich der Klassiker:
- Software...

Gruss,
Thorsten

von Michael Nagler (Gast)


Lesenswert?

Hallo Hansl,
der Chip ist wirklich "tot", solange der Oszillator per Init-Sequenz 
nicht eingeschaltet wurde! Du wirst das Datenblatt lesen müssen. Darin 
steht (bei mir auf Seite 8):
"Please note that the initial power-on state of all registers is not 
defined. Therefore, it is important to enable the oscillator (CH bit = 
0) during initial configuration."

Viel Glück,
Michael

von Hansl (Gast)


Lesenswert?

servus thorsten,

speisung ist 5V.
pullups sind 2x 10kOhm (an sda, scl) gen VCC

gnd ist mit stk500 gnd pin verbunden.

software
 dies hier:
 http://www.mikrocontroller.net/attachment/20676/ds1307.c

und das hier
 http://www.avrfreaks.net/modules/FreaksFiles/files/1893/DS1307_Utility.ZIP

mfg
 hansl

von Hansl (Gast)


Lesenswert?

hi michael,

hmm, interessant. guck ich mir mal an.

mfg
 hansl

von Hansl (Gast)


Lesenswert?

nungut, das kann ja jetzt ein wenig dauern bis ich das
zusammengebastelt habe.
wieso liefern die diese teile denn NICHT FUNKTIONSFAEHIG = DEFEKT! aus?

klar, wer lesen kann ist klar im vorteil(datenblatt) dennoch
fuehle ich mich ein wenig verarscht.

hansl

von Michael Nagler (Gast)


Lesenswert?

Dafür braucht die Uhr bis zur Aktivierung so gut wie keinen Strom - 
siehe z. B. die dämlichen Plastikstreifen an der Batterie bei diversen 
Billiggeräten, die man beim ersten Einschalten erst mühsam herausziehen 
muss.
Da man die deaktivierte Uhr recht einfach per SW überprüfen kann, lässt 
sich auch der Anwender leicht dazu überreden, sie zu stellen.

Man muss es nur wissen! Ich habs damals auch nicht gleich gesehen und 
mich gewundert, dass die RTC nach dem Stellen nicht weiterzählte.

Gruß
Michael

von Hansl (Gast)


Lesenswert?

also,

um dieses LOCK-bit zu loeschen muss ich nach 0x00 den wert 0x00
schreiben habe ich das soweit kapiert?

irgendwie kommt mir das ganze recht seltsam vor. bits von rechts nach 
links
und so....

mfg
 hansl

von Peter D. (peda)


Lesenswert?

Hansl wrote:

> ..bin kurz davor den ganzen ramsch hier in ne Tonne zu packen.

Dann machs doch.


> WIE DEBUGT IHR SOWAS DENN?

Garnicht, da ich keine RTC benutze.

Ich laß einfach nen Timerinterrupt die Zeit zählen und gut is.

Wozu sind denn die Timer da, wenn man sie nicht benutzt ?



Peter

von Hansl (Gast)


Lesenswert?

hi michael,

hmm, wie nun nicht weiterlaeuft? ich kann ueberhaupt nicht drauf 
zugreifen!

aha das ding hier:
56-Byte, Battery-Backed, Nonvolatile (NV)
RAM for Data Storage
 wozu brauchts denn da noch die externe batterie?

verwirrter als zuvor
 hansl

von Thorsten (Gast)


Lesenswert?

Hansl,
evtl. Vbat nicht angeschlossen?
Laut Datasheet muss Vbat (Pin 3) auf Masse gelegt werden, falls keine 
Batterie benutzt wird (dann stellt sich allerdings die Frage, wozu 
überhaupt eine RTC, siehe Peter Daneggers post).
Gruss,
Thorsten

von Hansl (Gast)


Lesenswert?

servus peter,

ich moecht mit der mcu und den timern gern sinnvolleres machen als 
sekunden
in die hoehe zaehlen. wozu sind rtc denn da ;)

mal im ernst ne rtc ist einfach ein fetzen code um den man sich mal 
nicht
kuemmern muss / connect and forget.

du brauchst keinen kalendar, schaljahr zeug...najo... ich kenn deinen
code koennten den aber nie selbstschreiben oder da was anpassen, dazu
sind meine programmierkenntnisse zu mickrig.

weiss zwar noch nicht ob ich jemals etwas so zeitkritisches basteln 
werde... aber ich hab das ding da, und das wird verwendet.

in diesem sinne
 hansl


von Hansl (Gast)


Lesenswert?

thorsten, hmm, echt?, is mir nicht aufgefallen. probier ich gleich.
danke

von Hansl (Gast)


Lesenswert?

Thorsten, mein held :) danke, VBAT das wars. ich werd wohl anfangen mir
datenblaetter auszudrucken, irgendwie ueberlese ich essentielles zeug
am bildschirm einfach zu haeufig.

mfg
 hansl

von A.K. (Gast)


Lesenswert?

> mal im ernst ne rtc ist einfach ein fetzen code um den man sich mal
> nicht kuemmern muss / connect and forget.

Jau. Anschliessen ist wirklich einfach. Drähte löten und fertig. Bringt 
aber reinweg nix, weil: per Software rankommen und sie zum Leben 
erwecken ist deutlich weniger einfach, wie du hier sehr schön bewiesen 
hast ;-).

Nö, irgendein Timer passt eigentlich immer, kann ja auch ein PWM-Timer 
sein der dann nebenbei noch was anderes mit erledigt. Mit Timer sind es 
ein halbes Dutzend Zeilen, mit RTC (+SPI/I2C) sehr viel mehr.

von Hansl (Gast)


Lesenswert?

hi A.K.

>> mal im ernst ne rtc ist einfach ein fetzen code um den man sich mal
>> nicht kuemmern muss / connect and forget.

>Jau. Anschliessen ist wirklich einfach. Drähte löten und fertig. Bringt
>aber reinweg nix, weil: per Software rankommen und sie zum Leben
>erwecken ist deutlich weniger einfach, wie du hier sehr schön bewiesen
>hast ;-).

da muss ich dir wohl recht geben. einfacher wuerds mir auch besser 
gefallen :) aber wenn du dir mal ueberlegst das ich nun seit ner stunde 
an dem
initialisierungsstring senden herumbastel....
wenn meine eigenbau uhr zb servos steuern soll und ich da anfange das 
timing durcheinander zu bringen.... ich bin totaler anfaenger in sachen 
MC und C :)


>Nö, irgendein Timer passt eigentlich immer, kann ja auch ein PWM-Timer
>sein der dann nebenbei noch was anderes mit erledigt. Mit Timer sind es
>ein halbes Dutzend Zeilen, mit RTC (+SPI/I2C) sehr viel mehr.

jo, wie gesagt... das tipp ich dann und ende. jede aenderung die ich
am programm vornehme ist total von der zeitbasis entkoppelt.
abgesehen davon moechte ich die uhr auch nicht immer neu stellen.

die batterie hatte ich bisher nur nicht angeschlossen weil ich mir
dachte das es fuer einen testlauf nicht notwendig ist..nuja, lesen 
bildet.

mfg
 hansl

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.