INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
RTC MCP 7940 geht nach
09.01.2019, 15:36
Beitrag #1
RTC MCP 7940 geht nach
Hallo Arduino Freunde,

mein momentanes Projekt ist eine Uhr die mir die Zeit mittels Nixie Röhren anzeigt. Zur Zeit ist alles auf einem Steckbrett aufgebaut und soweit klappt auch alles. Dem Atmel habe ich eine RTC mit einem 32Khz Quarz samt Lastkondensatoren von 22pF. Problem ist das die RTC mal eine halbe stunde nach Start sekundengenau läuft und dann plötzlich knapp eine halbe bis eine Sekunde lahmt. Laut Datenblatt soll man max 10pF an den Quarz tun, aber ob das jetzt der Fehler ist kann ich nicht sagen.
Desweiteren wollte ich fragen wie ihr, egal was für einen Uhrentyp die RTC auslest? Ich hab das so programiert das ich in jedem Loopdurchgang mir die Sekunden über I2c hole (secs = now.second()Wink Die Loopzeit ist ca 15ms was bedeuten würde er holt sich um die 60mal in der Sekunde den aktuellen Sekundenwert. Bitte korregiert mich wenn ich falsch liege. Zum Aktualiesieren der Minuten und Stunden frage ich diese Werte nur alle 60Sekunden ab was ja auch reicht. Trotzdem hab ich keine Idee mehr was hier faul ist. Selbst der Library Sketch SetundCalibier zeigt mit mittels seriellen Monitor eine Abweichung an. Frage muss der RTC noch kalibriert werden, er besitzt ja dazu ein Register welches man von -127 bis 127 beschreiben kann.
Oder andere Variante, greift ihr den Sekundentakt aus dem RTC an dem TaktPin ab und gebt den via Interrupt in den Atmel?
Wie macht es nun richtig?

Grüße Grobby
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2019, 15:58
Beitrag #2
RE: RTC MCP 7940 geht nach
Leider kenne ich die RTC MCP 7940 nicht, kann dir aber sagen, wenn der Lastkondensator zu groß wird, läuft die RTC langsamer. In einigen Beiträgen habe ich sogar gelesen, dass der Quarz keinen Kondensator benötigt.

Als RTC verwende ich eine DS3231, die hat eine eingebaute Temperaturkompensation und ist damit sehr genau. Auslesen kann ich die komplett im Sekundentakt.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2019, 16:46
Beitrag #3
RE: RTC MCP 7940 geht nach
Hallo,
also eigentlich ist das ein MCP74900 oder eines seiner Derivate.
Wenn du das nun selber aufbaust solltest dich auch an die Specs halten, hier ein Ausschnitt aus dem Datenblatt:
Zitat:The MCP7940X has been designed to operate with a
standard 32 kHz crystal. Devices with a specified load
capacitance of either 12pF or 6pF can be used. The
end user should fully validate the chosen crystal across
all the expected design parameters of the system to
ensure correct operation.
Denn nur so arbeitet der Oszillator optimal. Mit dem ändern der C's ändert man auch leicht die Frequenz...auch kann man die Frequenz so abgleichen...aber das geht heutzutage auch über die Register.... doch warum schleift ihr hier immer so Exoten an wenn die ganze Welt zu nem DS3231 Modul greift wo man weiß das die Uhr sehr genau läuft weil der Chip auch eine Temperaturstabilisierung hat. Allerdings muß man hier noch aufpassen ob auch wirklich eine Akkuzelle eingesetzt ist weil die Ladeschaltung sonst die Batterie schlaucht... Aber auch dem kann man dauerhaft abhelfen indem man die Batterie gegen einen Gold Cap Kondensator ersetzt und die Sache ist auf ewig erledigt....der hält dann ungefähr gute 3 Wochen durch....bei einem regulären Einsatz sollte vorher der Power auch mal wieder anliegen.
Und um das ganze zu toppen kann man noch wenn LAN zur Verfügung steht auch per NTP Dienst die Uhr mit Braunschweig synchronisiert werden.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2019, 17:29
Beitrag #4
RE: RTC MCP 7940 geht nach
Erstmal danke für die Antworten. Hatte vergessen zuerwähnen das ich die Kerkos auch schonmal weggelassen hatte und es damit auch nicht besser wurde. Wie gesagt Steckbrettschaltung, hab den Quarz auch schonmal mit unter die Pins der RTC geklemmt, bringt auch nix. Der MCP 7940 ist ja vergleichbar mit den DS Dingern, hat auch eine TempKmp drinnen. Was ich eben nicht versteh warum der manchmal genau geht und dann plötzlich nachgeht. Von dem DS3231 habe ich keine DIP Packages gefunden, ich will kein SMD zu die Röhren verwenden, soll ja schliesslich nostalgisch wirken da man die Platine hinterher sehen soll. Die Nixie Treiber und der Atmel sind ja auch DIPs.
Wie lest ihr eure RTCs nun aus? jede Sekunde übern Bus oder nehmt ihr das TaktPin?
Der DS3231 hat wohl den Quart integriert? Wenn es den doch als DIP geben sollte wäre das eine Überlegung. Bei meinem MCP hab die Variante ohne VBat erwischt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2019, 17:47
Beitrag #5
RE: RTC MCP 7940 geht nach
(09.01.2019 17:29)grobby schrieb:  .....
Wie lest ihr eure RTCs nun aus? jede Sekunde übern Bus oder nehmt ihr das TaktPin?
Der DS3231 hat wohl den Quart integriert? Wenn es den doch als DIP geben sollte wäre das eine Überlegung.

Ja, jede Sekunde und geht nur über den Bus.
Als Dip ist mir der DS3231 nicht bekannt.

Sieht man die Platine nur von oben ?
Dann einen Dummy drauf setzen und den DS3231 von unten drauf löten.

Bei einer älteren RTC gab es mal das Problem, wenn die zu oft ausgelesen wurde, stimmt die Zeit auch nicht mehr.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2019, 19:14
Beitrag #6
RE: RTC MCP 7940 geht nach
Und wie macht ihr die Auslesung, als Timestamp Array in einem Rutsch?
Bei der Library die ich benutze geht das nur so:
Code:
secs = now.second();
mins = now.minute();
hours = now.hour();
days = now.day();
months = now.month();
years = now.year();
ist das vielleicht zu langsam?

Also wegen der älteren RTCs, hab mal die secs = now.second(); in eine 995ms Millis gesteckt, das Ding zählt nach wie vor falsch.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2019, 20:01
Beitrag #7
RE: RTC MCP 7940 geht nach
...man kann natürlich auch einen 1MHz Quartz nehmen und dann mit einem halben Dutzend 7490 auf 1Hz runterteilen und dann auf weiteren 7490 die Zeit zählen... so habe ich vor 40 Jahren meine Digitaluhr aufgebaut....allerdings mit 15mm Sieben-Segment LED Anzeigen. Den Quartz dann auf 1/10Hz genau abgeglichen.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.01.2019, 21:02
Beitrag #8
RE: RTC MCP 7940 geht nach
Im Datenblat des MCP 7940 auf Seite 14 FIGURE 5-3 gibt es Vorgaben des Herstellers wie man den Oszillator von der Leiterbahnführung und Geometrie aufbauen soll. Diese Vorgaben gäbe es nicht wenn sie Bedeutungslos wären. So wie es aussieht ist damit auch ein SMD Quarz vorgegeben.
Möglicherweise werden im DB auch Angaben zum Typ der zu verwendenden Lastkondensatoren gemacht. (vielleicht NPO ?)
Ein Steckbrettaufbau wird beim Oszillator vermutlich nicht die Vorgaben erfüllen.
Wo deine plötzlichen Zeitabweichungen her kommen kann man aus der Ferne kaum beurteilen. Auch das Steckbrett hat Kapazitäten und u.U. schwankende Übergangswiderstände.

Um das nostalgische Aussehen der Nixie zu wahren kannst du den MCP 7940 auch gerne nehmen. Aber um dann auch eine Uhr zu habe die genau geht kannst du doch unter der Haube eine DS3231 mit Gold Cap verbauen wie es Bitklopfer vorgeschlagen hat. Ich wäre an der Stelle völlig schmerzfrei, Hauptsache die Uhrzeit stimmt.

Alternativ auch den MCP 7940 für die nostalische Optik und unter der Haube einen ESP8266 der sich die Uhrzeit per NTP aus dem Internet holt. Genauer geht es nicht und einstellen muss man dann auch nix mehr. Stecker in die Steckdose und drei Sekunden später läuft die Uhr. Völlig ohne Gold Cap oder Batterien zum puffern der Uhrzeit bei Stromausfall.

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Wink Solar Roboter- Servo dreht nach Stopp nicht weiter Stagneth.Alexander 37 1.521 20.08.2019 14:15
Letzter Beitrag: geist4711
Tongue GSM Modul - Nur erste SMS geht raus Haukini 3 523 24.03.2019 14:04
Letzter Beitrag: hotsystems
  Nichts geht mehr... AnFi 4 546 25.02.2019 14:23
Letzter Beitrag: Tommy56
  Messwert auf OLED 0,96" SSD1306 darstellen geht nicht alpenpower 8 2.167 17.09.2018 10:56
Letzter Beitrag: alpenpower
  Das geht mir auf den Zeiger Sasch600xt 44 3.956 06.09.2018 15:33
Letzter Beitrag: Sasch600xt
  Leonardo macht keinen Auto-Reset (je nach Sketch) SebastianM 5 843 01.09.2018 07:49
Letzter Beitrag: amithlon
  LED an Pin13 geht nicht aus. uweq 7 1.043 24.08.2018 12:31
Letzter Beitrag: uweq
  include *.txt-File ? -- geht nicht :-( uweq 27 3.679 10.08.2018 20:33
Letzter Beitrag: uweq
  OneButton geht im loop() nicht uweq 4 1.331 09.08.2018 21:29
Letzter Beitrag: uweq
  328P geht nicht mehr [gelöst] Harry 37 7.807 04.03.2018 19:57
Letzter Beitrag: Harry

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste