PCF8583

Gast #24691
Lesenswert?

hi @ all

ich arbeite gerade an einem schulprojekt bei dem ich eine RTC benötige. 
In meinem projekt soll die RTC (PCF8583) an einen I²C bus angeschlossen 
werden.
nun meine frage, weiss jemand ob es schon einen fertigen schaltplan mit 
dieser Uhr gibt, am besten noch inkl. knopfzelle?
da ich noch ein "frischling" auf dem gebiet bin wär das für ,mich das 
praktischste...
thx im vorraus
cya steffen
Gast #24693
Lesenswert?

Hi,

ich "kämpfe" auch gerade mit dem exakt gleichen Chip rum. Vor ein paar 
Wochen habe ich hier gepostet, weil mein Code den Chip wohl beschreiben, 
nicht aber von ihm lesen konnte.

Leider hatte ich keine Zeit bisher, das Problem zu beheben. Such doch 
mal nach "8583" mit der Suchfunktion.

Grüße,

   Sebastian
Gast #24698
Lesenswert?

hi...erstmal danke für die antworten :)...
jetzt hab ich nochn problem...und zwar find ich den trimmer nicht in den 
eagle librarys...und über GOOGLE (ja ich weiss was google is :-P) find 
ich keine library....hat den jemand zufälligerweise schon???

thx steffen
Gast #24699
Lesenswert?

wie kann ich testen ob der fehler bei meinem programm liegt oder ob der 
pcf 8583 defekt ist ?

ich hab den 8583 an den I2C bus angehängt (mit pull-up wiederständen), 
einen 32 kHz quarz an die ensprechenden pins gelegt, an den OSCI pin 
noch einen 10pF kondensator auf +5V  gehängt !


dann ahb ich an den interrupt pin einen 10k widerstand auf + gehängt 
sowieeine LED auf GND!

da ja im register 0, 0 steht sollte an diesem ausgang ja eine freuquenz 
von 1Hz anliegen.
also die lED blingt anfangs auch, allerdings nach ca. einer minute hört 
sie auf zu blinken und leuchtet permanent !

ist das "normal" ?
Gast #24700
Lesenswert?

Hallo,

ich nutze den Maxim-Chip 1307, habe auch komplette Platine mit 
Stützbatterie. Vorteil : die Batterie wird nur aktiv, wenn die 
Versorgungsspannung unter 2,4V (oder so) fällt.
Läuft astrein über I2C...

Gruss
Alex
Gast #24701
Lesenswert?

Hi Steffen und Chris!

Sofern ich weiß, sollten die Register der Uhr am Anfang beschrieben 
werden, da es sonst sein kann, dass das Flag (im-Sekunden-Register) für 
das Enable der Uhr falsch gesetzt ist und die Uhr nicht losläuft. 
Eventuell könnte ein Überlaufen des Sekunden-Registers bei unsinnigen 
Startwerten den Stop nach einer Minute verursachen.

Der Trimmer am Quarz gegen +5V ist wohl nicht unbedingt nötig. Eine 
Messung des Quarztaktes direkt mit dem Oszi geht nicht, da das Oszi die 
Schaltung zu stark belastet. Ob ein 10/1-tastkopf geht, weiß ich nicht. 
Ein schneller hochohmiger Spannungsfolger mit OPV und geringen 
Eingangskapazitäten direkt am Pin könnte helfen.

Hi A. Arndt!

Ich habe auch den 1307 von Maxim in Arbeit, funktioniert ganz gut, die 
Batteriepufferschaltung ist besser als beim PCF8583. Allerdings hat der 
1307 keine Alarmregister und folglich auch keinen Alarminterrupt.

Beste Grüße

Sven
Gast #24702
Lesenswert?

Hallo Steffen,

mit welchem Prozessortyp möchtest Du denn arbeiten. Für den
Atmel AVR gbt es Beispielprogramme von BASCOM der den PCF
ansprechen kann. Habe ich schon mehrfach erfolgreich getestet.

Gruß Christoph
Gast #24703
Lesenswert?

Hi

also ich möchjte gern mit dem 80C535 von siemens/infineon arbeiten, den 
hat mir mein lehrer empfohlen, da die schule schonmal mit dem ne 
wetterstation aufgebaut hat und da ich genauso luftfeuchtigkeit und 
temperatur messen möchte kann ich auch weitgehend nach dem vorbild der 
wetterstation bauen...nur leider ist keine echtzeituhr eingebaut, da sie 
direkt mit dem PC kommuniziert und so der PC die zeiterfassung vornimmt 
:(
Gast #24704
Lesenswert?

ich habe leider noch immer ein problem mit dem pcf 8583, muss es aber 
dieses wochenende lösen !

also, ich möchte nur einmal die aktuelle sekunden aus dem baustein 
auslesen !

gleich zur erstenfrage, muss ich irgendwelche konfigurationsbits setzen 
wenn ich den baustein ganz normla als uhr verwende ? (laut meiner 
auffassung nicht, aber vielleicht hab cih ja etwas übersehen)

fogendermaßen habe ich versucht die sekunden auszulesen:

zuerst schreibe ich die Adresse des bausteins (0xA0), dann schreibe ich 
die Adresse des entsprechenden registers (0x02), anschließend adressiere 
ich den baustei zum lesen (0xA1) und schlussendlich lese ich die daten 
vom bus ein.

habe ich da einen prinzpiellen fehler ?
Gast #24705
Lesenswert?

Hallo Chris,

versuch es unter www.mcselec.com  Unter Applictaion Nr. 11 findest Du 
sowohl einen Schaltplan als auch ein Beispiel-Programm. In Bascom51. Den 
Compiler gibt es dort auch umsonst (bis 2K-Code) falls Du diesen noch 
nicht hast.

Gruß

Christoph
Gast #24707
Lesenswert?

also ich hab jetzt folgendes problem. der i2c bus scheint jetzt zu 
funktionieren, unter dem oszi habe ich gesehen das die adressierung des 
PCF auch funktioniert, nur als antwort bekomme ich vom pcf nur 1er !

also mein programm shaut folgendermaßen aus:

void RTC_auslesen ()
{
 I2C_BUS_START ();      // Startbit
 I2C_W (0xA0);    // Adresspointer auf die auszu-
 I2C_W (0x02);    // lesende adresse stellen
 I2C_BUS_START_rep ();
 I2C_W (0xA1);    // zum lesen adressieren
 I2C_R ();    // Daten vom bus einlesen
 I2C_NACK ();
 sek = I2Cempfang;      // Daten ins register sek kopieren
 I2C_BUS_STOPP ();
}

wo könnte der fehler liegen ?
Gast #24708
Lesenswert?

Hallo Chris,

auch wenn meine C-Kenntnisse sich in Grenzen halten sieht das
eigentlich ok aus. Aber vielleicht eine ganz dumme Frage:
hast Du den Adresspin A0 (Pin 3) auf Masse gelegt, sonst stimmt
nämlich die Adresse nicht !

Gruß

Christoph
#1485939
Lesenswert?

Hallo Sascha,

...auch wenn die Einträge hier schon etwas älter sind...

ich versuche mit dem PCF8563  zu arbeiten. es währe mir sehr hilfreich, 
wenn du mir deinen Source code schicken könntest. (Atmel AVR´s, AVR-GCC)

Wenn noch jemand anders Programmbeispiele in C-Code hatt, ich bin jedem 
sehr dankbar! Ich Kämpf mit dem Ding schon ein par wochen rum.

Vielen Dank und Gruß,
Bert.
#1486954
Lesenswert?

Hallo,

ich habe ein Problem mit der Zeitabfrage bei der RTC PCF8583.
Ich verwende einen Atmega16, ein EasyAVR5 Board, Programmiere in Visual 
Stuio und Flashe das Programm mit dem AVRFLASHPROGRMMER von 
EasyAVR(2.10).

Mein Problem liegt darin, dass ich die aktuelle Zeit nicht aus dem 
Speicher der RTC lesen kann. Die Routinen für den I²C Bus habe ich aus 
dem Buch von G.Schmitt "Mikrocomputertechnik mit Controllern der Atmel 
AVR-RISC-Familie" entnommen und sie nach dem Datenblatt des  PCF8583 
angepasst.

Für Lösungen und Tipps währe ich sehr dankbar!

Gruß, Bert.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren