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
Echtzeit für den MEGA 2560 - Lösung gefunden
16.11.2014, 18:33 (Dieser Beitrag wurde zuletzt bearbeitet: 24.11.2014 16:43 von ardu_arne.)
Beitrag #1
Echtzeit für den MEGA 2560 - Lösung gefunden
Hallo,

Wie der Titel schon sagt suche ich eine Möglichkeit einem MEGA2560 zu sagen was die Uhr geschlagen hat, sekundengenau.

Serielle Schnittstelle
So erfährt mein MEGA bisher die aktuelle Uhrzeit.
Die Zeitinformation ist eigentlich ein Abfallprodukt aus Daten die er eh schon über eine serielle Schnittstelle von einem anderen Gerät empfängt.
Auf dem Arduino läuft eine Softwareuhr mit der Time library. Alle 30min synchronisiere ich die Software Uhr mit den seriellen Daten.
Dabei wird die Softwareuhr immer um ein paar Millisekunden nachgestellt. Alles wunderbar, kein Problem.
Aber einmal am Tag, nämlich dann wenn das Gerät welches die Daten über die serielle Schnittstelle liefert sich selbst mit einem NTP-Zeitserver synchronisiert, gibt es auf dem Arduino auch eine größere Korrektur um mehrere hundert Millisekunden.
Das stört mich. Ich suche daher eine für mich zufriedenstellende Lösung um die Softwareuhr ohne größere Sprünge zu synchronisieren.

NTP - Zeitserver
Weil der MEGA auch ein Ethernet Shield hat könnte ich direkt einen NTP - Server abfragen.
Daran stört mich dass meine Internetverbindung nicht 100% stabil läuft.
Da sind z.B. die 24stündigen Zwangstrennungen der DSL-Verbindung und manchmal auch einfach so mal zwischendurch.
Je nachdem wie lange eine Unterbrechung der DSL-Verbindung andauert habe ich dann auch im Anschluss größere Korrekturen in der Softwareuhr.

RTC - DS1307 oder die bessere DS3231
Einfach und günstig.
Aber diesen Teilen muss man auch erst mal sagen was die Stunde geschlagen hat. Und diese Information muss man sich dazu aber erst mal aus anderer Quelle holen.

DCF77
Der Oldie, Deutschlanweit und darüber hinaus empfangbar.
Aber leider nicht problemlos in "verseuchter" Umgebung.
Alles was mit mehr als 50Hz arbeitet kann stören. (Mobiltelefon, Handy, WLAN, Bluetooth, Stecker- / Schaltnetzteile, PCs, u.s.w.)
Ich habe hier einige laufen aber keine davon schafft es in meiner Bastelbude die aktuelle Zeit zu finden.
Die günstigen, einfachen Empfänger die nur Impulse ausgeben brauchen dann noch umfangreiche Software auf dem Arduino welche sich um die Dekodierung kümmert.

GPS - Ublox NEO-6M o.ä.
Im Moment mein Favorit.
Serielle Ausgabe bereits aufbereiteter Daten.
Deshalb kein großer Softwareaufwand auf dem Arduino. Nur eine weitere serielle Schnittstelle belegt, aber der MEGA hat ja 4 davon.
Den Empfänger/Antenne könnte ich sogar unter einem Dachfenster mit freiem Blick gen Himmel postieren.

Was soll ich nehmen?
Beliebt:
einfache Handhabung
ganggenau - keine Zeittrift > 1s/Jahr
kostengünstig (bis 25€)
immer UTC-Time reicht
nach Reset oder Stromausfall schnell wieder die aktuelle Zeit haben (nicht erst nach mehreren Minuten)

Danke für eure Meinung
Arne

Zeit macht nur vor dem Teufel halt

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2014, 21:26
Beitrag #2
RE: Echtzeit für den MEGA 2560
Hallo Arne,
also auf dem Trial war ich auch schon und bin zu dem Schluß gekommen einen UNO etc. als Timeserver für die ganzen Netzwerkteilnehmer zu basteln der zum einen eine RTC hat (1307 etc.), eine NTP Abfrage machen kann oder noch den DCF Sender einliest. An die GPS Zeit denke ich nicht da ich mich ja unter Dach befinde.
NTP Zeit beziehen habe ich mit Hilfe der Beispiele schon am laufen gehabt, nur darf man diese Server nicht zu schnell hintereinander zu oft abfragen...dann sperren sie die abfragende IP. Mehr habe ich noch nicht gemacht.
lg
bk

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
16.11.2014, 23:25
Beitrag #3
RE: Echtzeit für den MEGA 2560
Hallo bk,

ein lokaler Zeitserver auf einem UNO? Das wäre eine Überlegung wert.

Ich habe aber auch einen PC (Windows) der rund um die Uhr läuft. Der Synchronisiert sich stündlich via NTP bei der PTB. Laut Logdatei bewegen sich die stündlichen Korrekturen um 100ms.
Soweit ich weiß kann Windows auch einen lokalen Zeitserver bereit stellen.
Mit dem MEGA müsste ich dann nicht via Internet auf einen externen NTP-Server zugreifen sondern auf den Lokalen im LAN.
Damit wären die Probleme bei DSL-Ausfall hinfällig.

Auf dem MEGA brauche ich dann auch keine DNS-Namensauflösung weil ich diesem PC, genau wie allen anderen Komponenten in lokalen Netzwerk, eine feste IP gegeben habe. Mein gesamtes Netzwerk läuft also ohne DHCP.

Mal sehen wie ich dem MEGA das NTP beibringe. Welche Beispiele hatten dir geholfen?

Danke für den Denkanstoß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.11.2014, 23:55
Beitrag #4
RE: Echtzeit für den MEGA 2560
(16.11.2014 23:25)ardu_arne schrieb:  Hallo bk,

ein lokaler Zeitserver auf einem UNO? Das wäre eine Überlegung wert.

Ich habe aber auch einen PC (Windows) der rund um die Uhr läuft. Der Synchronisiert sich stündlich via NTP bei der PTB. Laut Logdatei bewegen sich die stündlichen Korrekturen um 100ms.
Soweit ich weiß kann Windows auch einen lokalen Zeitserver bereit stellen.
Mit dem MEGA müsste ich dann nicht via Internet auf einen externen NTP-Server zugreifen sondern auf den Lokalen im LAN.
Damit wären die Probleme bei DSL-Ausfall hinfällig.

Auf dem MEGA brauche ich dann auch keine DNS-Namensauflösung weil ich diesem PC, genau wie allen anderen Komponenten in lokalen Netzwerk, eine feste IP gegeben habe. Mein gesamtes Netzwerk läuft also ohne DHCP.

Mal sehen wie ich dem MEGA das NTP beibringe. Welche Beispiele hatten dir geholfen?

Danke für den Denkanstoß
Arne

Hallo Arne,
also soo tief bin ich noch nicht eingestiegen...also den PC lasse ich auch bei den Basteleien ausen vor um da unabhängig zu sein.
Japp, die Dinge wo den Charakter des Eigenbau haben haben auch eine feste IP und ich habe den Adressraum da in DHCP und fixe IP aufgeteilt das man ich da nicht in die Quere kommt.

Die Software von meinem Mega-Datenlogger habe ich hier schon mal gepostet.
Siehe unter MEGALOGGER.
Diese Version ist ein bischen anonymisiert... was hier noch fehlt wäre die Einbindung einer RTC und die Syncsoftware dazu. Andererseits müßte man die Datenloggerfunktion rauswerfen weil sonst der Programmspeicher vom UNO zu klein ist. Auf dem Mega läufts so.
Also Display ist da ein gewöhnliches LCD-Keypad aufgesteckt wo die Leitungen etwas umverdrahtet sind das die CS Leitungen vom ETH Shield bzw. vom SD Interface angesteuert werden können weshalb ich so langsam auch auf Displays mit I2C umsteigen will.
lg
bk

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
17.11.2014, 11:54
Beitrag #5
RE: Echtzeit für den MEGA 2560
Da ich diverse Uhren besitze plane ich es ein bisschen anders.
Und dam jede ja einen Mikrocontroller besitzt, plane ich eine Funk Zeitquelle also ein Controller der so Positioniert ist dass er DCF77 sauber vorhält oder aber halt mit dem >klick hier<.

Jeder der µC bekommt ein HopeRF RFM12B 433 oder besser 868Mhz. Jetzt kann jeder µC die Zentrale fragen wie spät es ist und sich selbst stellen. Das kann man dann z.B. alle 10min machen. Jede Uhr von mir hat einen lokalen Timekeeper (falls die Zentrale doch mal nicht geht) mit RTC meist DS1307 bzw DS3132.
Dann hat man immer die aktuelle Zeit.
Ich bin mir aber nicht sicher ob die GPS Zeit sich automatisch Winter und Sommer umschaltet.
Ich habe hier mindestens 5 Uhren die die Zeitquelle beutzen würden.

Gruß
DerDani

Mal so als Idee
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.11.2014, 20:51
Beitrag #6
RE: Echtzeit für den MEGA 2560
Danke erst mal an alle für die Tipps und Links.

Hab ne Idee die ich umzusetzen versuche.
Ich melde mich dann nochmal mit dem Ergebnis.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.11.2014, 15:30 (Dieser Beitrag wurde zuletzt bearbeitet: 24.11.2014 18:06 von ardu_arne.)
Beitrag #7
RE: Echtzeit für den MEGA 2560 - Lösung gefunden
Hallo zusammen,

es gibt Neues zu berichten.

Bitklopfer hatte mich mit Beitrag #2 auf eine Idee gebracht.
Mit Hilfe des Beispielcodes aus seinem MEGALOGGER kann ich jetzt auch mit meinem MEGA 2560 einen NTP-Server abfragen.

Wie ich schon geschrieben habe ist meine Internetverbindung nicht so zuverlässig dass ich einen NTP-Server im Internet nutzen wollte/konnte.
Ich habe aber auch noch diesen o.g. PC im Netzwerk der sich regelmäßig mit einem PTB-Timeserver synchronisiert.
Dieser PC läuft zuverlässiger als meine Internetverbindung und dessen interne Uhr wird auch von Synchronisierung zu Synchronisierung nur wenige Millisekunden verstellt. Es ist also nicht tragisch wenn dieser PC wegen Problemen mit der Internetverbindung mal nicht synchronisieren kann.

Windows hat aber auch einen NTP-Server den man nur durch einen kleinen Eintag in der Registry aktivieren muss.
Das habe ich getan und jetzt ist der NTP-Server für meinen MEGA 2560 dieser lokale PC im Netzwerk.

Bin jetzt also unabhängig von einer etwas wackligen Internetverbindung und ohne zusätzlich Kosten und Hardware weiß mein MEGA 2560 jetzt immer was die Stunde geschlagen hat.

Gruß
Arne

Anleitung zum aktivieren des Windows NTP-Servers.

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


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  MEGA 2560 mit 5V 12A Netzteil betreiben möglich? Nafetz 18 474 11.11.2016 05:59
Letzter Beitrag: peterfido
  3 Arduino Mega, 2 Sender 1 Empfänger claudius 22 619 18.10.2016 17:32
Letzter Beitrag: Pardini
  Arduino 2560 p900 1 498 28.03.2016 14:04
Letzter Beitrag: hotsystems
  Zwei Ausgabeports am Mega verbinden um 50 mA Verbraucher anzuschließen ? holo 15 859 01.02.2016 13:07
Letzter Beitrag: Bitklopfer
  Arduino Mega Fehlverhalten hanse44 5 720 27.01.2016 08:25
Letzter Beitrag: hotsystems
  Pinbelegung UNO und Mega für TFT Anschluss AchDuShrek 4 1.473 19.11.2015 21:40
Letzter Beitrag: Klaus(i)
  UTFT an Arduino mega mit Flachbandkabel anschließen Jensus 1 876 03.10.2015 12:52
Letzter Beitrag: hotsystems
  MPU 9150 mit Arduino Mega Neo2030 6 904 19.09.2015 21:01
Letzter Beitrag: HaWe
Question Mega und nrf24 MeRo113 0 728 19.08.2015 17:56
Letzter Beitrag: MeRo113
  Windows 10 erkennt Arduino Mega 2560 nicht Th3o 5 2.117 08.08.2015 09:02
Letzter Beitrag: Th3o

Gehe zu:


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