Online seit Februar 2009
|
1. Bastel-Anleitungen für eine "GPS-Satelliten-Uhr"
und
dem
zugehörenden
"UART-NEO-Satelliten-Empfänger als Modul-Aufbau"
(Der Modul-Aufbau ist jeweils immer
notwendig, um alle Uhren zu betreiben)
2. Eine
Weiterentwicklung mit 1x8 Display mit nur der Zeit
"GPS-Satelliten-Uhr II mit Weck-Funktion und Laufschrift"
3. Eine
Weiterentwicklung mit 2x16 Display auch mit Datum und Wochentag
"GPS-Satelliten-Uhr III mit Weck-Funktion und Laufschrift"
|
1.
Bastelanleitung für GPS-Satelliten-Empfänger-RS232-COM-Port-Modul
|

(Klick auf die Fotos und sie erscheinen größer)
Im Foto das
aufgebaute Modul
mit dem M7-NEO-UART-GPS-Empfänger.
mit aktiver Antenne. Man muss selbst nach einem
Empfänger im Internet
suchen. (bei Amazon oder Ebay)
Er muss einen UART-Port-Anschluss und
einen PPS-Anschluss mit Speisespannung von 3,3V/5V
haben!
Anmerkung :
Der Empfänger ist das Problem !
(Klick
hier) !!!!! und man sieht
eine grobe Zusammenfassung
meiner GPS-Empfänger-Experimente...
an Hand von Fotos.
Dies
könnte beim Empfänger-Kauf hilfreich sein!
(Klick auf die Fotos und sie erscheinen größer) |
Download der Bastelanleitung hier als:
"GPS=Satelliten-RS232-Modul.zip"
ca. 16Mbyte
Bei meinen bisherigen Funkuhren wurde als "Zeitnormal"
das gesendete DCF77-Signal aus Frankfurt/Main genutzt.
Jetzt soll eine GPS-Satelliten-Uhr
entstehen. Dazu wird NUR
die UTC-Zeit aus
einem Satelliten-Navigations-Empfänger empfangen...
Ein
Modul mit Pegel-Anpassung ist notwendig für
Computer-Anwendung und für die GPS-Uhr.
Die Uhren-Anzeige dürfte dann weltweit für jede Zeitzone
mit UTC-Zeit und der programmierten Zeitzonen-Verschiebung funktionieren...
Zuerst
testet man den GPS-NEO-UART Empfänger ohne
Zusatzschaltung. Man
schließt 5Volt / 3,3Volt mit einem Experimentiernetzteil an.
Nach 5min bis 45min müsste die interne PPS-LED vom
Empfänger
beim ersten Neu-Start blinken.
Es empfiehlt sich nahe am Fenster dabei zu testen. Dann geht man an Txd (liefert einen 3,3V-Impuls-Pegel)
mit einem TTL-Pegelstift. (kann auch TTL-5,0Volt-Stift
sein) Kann auch ein Oszillograph sein.
Aber :
Erst mit einem PC-Programm kann man exakt sagen, dass der
Empfänger verwertbare Daten liefert !!!
|

Im Foto das 2-te
aufgebaute
Modul mit dem etwas schlechterem M6-NEO-UART-RX
mit passiver Antenne.
Die "aktive Antenne" von oben könnte man
auch anstecken / austauschen...
(Klick auf die Fotos und sie erscheinen größer) |
Auf
der "wiki"-Seite findet man zu beiden Modulen Erklärungen.
(
Klick hier ) Auch ein PC-Programm ist
vorhanden...
Das Programm funktioniert ab Windows XP bis
Windows10... Es liegt auch dem obigem Bastel-Download bei !!!
Dafür muss man aber erst ein Modul
aufbauen, was die Zusatz- Schaltung für die GPS-Empfänger
beinhaltet...
Den fertigen Aufbau sieht man in den
Fotos links !
Erst dann kann man an den COM-Port des PCs
anschließen und das Programm betreiben.
Ich
habe noch zusätzlich 5stck. weitere DOS-Programme programmiert, welche noch unter
dem Betriebssystem Windows XP funktionieren.
|

Modul mit Klarsicht-Deckel und COM-Port-Kabel Das
Flachkabel zur Fenster-Durchführung ist eigentlich nicht
notwendig. Es funktionierte bei mir auch im Zimmer.
Bei einem Bastel-Freund ging es aber nur
in Fensternähe. |
Links unterhalb im Programm sieht man die Datenflut ankommen. Hier werden alle Daten
angezeigt.
Man erkennt die Codierung... Und weis,
wo die UTC-Zeit zu finden ist...
So ist auch ein
DOS-Programm entstanden, welches nur die UTC-Zeit, die
Länge und die Breite anzeigt. (siehe links etwas
unterhalb)
Auch
die
PC-Quell-Programme liegen dem Bastel-Download in der
Programmiersprache "C++" neben den eigentlichen
Programm exe'en bei...
|

Bildschirm-Copie vom selbst programmierten Prog. Hier
werden alle empfangene Daten angezeigt. (Klick jeweils auf die "Fotos" und sie erscheinen größer) |
Recht interessant war, dass beide Empfänger (M6 und M7) unterschiedliche
Codierungen haben. (aber nur wenig Unterschied) Die UTC-Zeit
ging dennoch durch meine Software jedes mal zu decodieren...
Beide GPS-Empfänger
habe ich in deren Einstellungen nicht verändert. So wie
gekauft, so auch benutzt... (9600Baud / 1Stopbit / keine Parität
/ 8Bit-Daten)
|

Bildschirm-Copie vom selbst programmierten Prog. Hier
wird die UTC-Zeit, die Länge und Breite aus den
empfangenen GPS-Daten angezeigt.
(Klick jeweils auf die "Fotos" und sie erscheinen größer) |
Im Stromlaufplan links erkennt man die Zusatzschaltung
mit Erklärungen...
Der Bastelanleitung liegt Vieles
zum Experimentieren
bei, was man zum Aufbau benötigt : Stck-Liste,
Leiterplatten-Zeichnung, Bestückungsplan, Fotos vom
Aufbau, Beschreibung und Datenblätter.
Ein Video soll die
Funktionsweise an Hand der PC-Programme verdeutlichen
(Klick
hier) |

Stromlaufplan / klick drauf und er wird größer ! Im
Bastel-Download ist es besser erkennbar !
Wichtige Änderung
Liegt dem Download oben bei : Wenn man an Stelle des MAX232 den
MAX3232 (Klick
hier) einsetzt, braucht man überhaupt keine
Transistorstufen für 3,3Volt auf 5,0Volt-TTL-Pegel. Der
MAX3232 muss aber mit 3,3Volt Speisespannung betrieben
werden. So kann man direkt den 3,3V-TTL-Ausgangs-Pegel
PPS und Txd vom GSP-Empfänger am MAX3232
anschließen. Auch den 3,3Volt-Spannungsregler TM317 kann
man als Festspannungsregler LP2950
ACZ3,3 (Klick
hier) ersetzen.
Unterhalb sieht man den NEUEREN einfacheren Stromlaufplan
/ klick drauf und er wird größer !
 |
Bastel-Ergebnis : Die GPS-UTC-Zeit war immer
exakt decodierbar.
Die eigene
Position mittels Koordinaten-Anzeige im PC-Programm hat
häufig "gewackelt" / "gezappelt" , obwohl
der Empfänger an gleicher Stelle stand! Also bei der 5-ten und
6-ten Stelle nach dem Komma haben sich die Länge und
Breite ständig verändert.
Schlussfolgerung: Eine Koordinaten-Anzeige als
Gerät mit diesen GPS-Empfängern ist nicht exakt
und auch nicht sinnvoll. (so etwas gibt es ja auf jedem
Smart-Phone als runterladbare APP)
Unterhalb das
fertige GPS-Modul als NEUERER einfacher Aufbau
Klick drauf und es wird größer !
 |
|
1.
Bastelanleitung für eine GPS-Satelliten-Uhr mit dem
Controller PIC16F88
|

Fertige GPS-Uhr |
Download der Bastelanleitung hier als:
"GPS-Uhr.zip"
ca. 3,0Mbyte
Die GPS-Satelliten-Uhr funktioniert weltweit und ist
nicht wie eine DCF77-Funkuhr von der Reichweite des
Funk-Signals von Frankfurt/Main abhängig.
Es wird
mittels GPS-Navigation immer nur die UTC-Zeit empfangen.
Per Schalter kann man die Uhren-Anzeige auf Winterzeit(+1H)
und Sommerzeit(+2H) einstellen. (dies gilt für
Deutschland / Mittel-Europa...) |

Beleuchtet LCD-Anzeige |
Im GPS-Uhren-Controller-Programm kann man
so auch diesen
Zeitversatz zur UTC-Zeit für jede Zeitzone der Erde ändern. Die Uhr funktioniert weltweit !!!
Der Aufbau der Uhr erfolgt mit den zwei
Leiterplatten von meiner Homepage mit "4 Basteleien mit
nur einem Aufbau"...
Der Schnittstellen-IC "MAX232"
und der Summer wird hier zusätzlich auf einer Universal-Lochraster-Platine
bestückt.
|
Innen-Aufbau der GPS-Uhr

Innen-Aufbau der GPS-Uhr

Rückseite mit dem COM-Port-Kabel, der
Stromversorgung und den Schaltern (klick drauf und es
wird größer)

Stromlaufplan / klick drauf und er wird größer ! Im
Basteldownload ist es besser erkennbar !
|
Ein Video soll die Funktionsweise verdeutlichen
(Klick
hier)
Das Funktionsprinzip als
Text :
Man schaltet die Uhr mit GPS-Modul über das 12V-Steckernetzteil an. Es erscheint auf dem Dispaly die Ausschrift
"GPS-Uhr" für 5sec. Dann läuft die Uhr im Quarzmodus von
0:00.00 beginnend.
Blinkt das GPS-Empfänger-Modul
mit der PPS-LED, liegen fehlerfreie Daten an. Ca. 30sec bis
max. 3min nach dem Einschalten erscheint die exakte Zeit in der Anzeige. Die Uhr
wird in jeder 10-ten sec auf richtige Zeit gestellt.
Das Stellen erfolgt also immer aller 10sec.
Angezeigt wird
jeweils die mit 2 Schaltern eingestellte Zeit. 4
Möglichkeiten könnten es sein Jetzt im Programm sind
diese 4 Zeit-Zonen eingestellt mit :
UTC +0H MEZ
+1H MESZ +2H Sri-Lanka
+5H : 30MIN ((((Es geht also nicht nur die volle Stunde.))))
Bei einem
Umschalten der Zeit-Anzeige ist diese erst nach 10sec aktiv.
Also genau dann, wenn ein Stellen der GPS-Zeit erfolgt.
Liegt kein GPS-Signal an, sind auch die Schalter nicht
wirksam / aktiv.
Eine Zeit-Korrektur auf beliebige Zeitzonen (Länder) erfolgt
im PIC-ASM-Controller-Programm... Und ist nur dort änderbar...
Wenn aller 10sec immer die Uhr gestellt wird, blinkt
dauerhaft der Doppelpunkt.
Das
Stellen aller 10sec wird durch ein Aufblitzen des Punktes
zu einem Komma zwischen min- und sec-Anzeige angezeigt.
Wenn 20sec lang kein PPS-Signal
anliegt, blinkt der Doppelpunkt nicht mehr !
Blitzt es nicht und blinkt der Doppelpunkt nicht (es
kommen keine Daten aus dem GPS-Empfänger) läuft die Uhr
im Quarz-Modus weiter. Die Gang-Genauigkeit liegt bei
besser +/- 1sec in 24H !
Die Zeit
wird immer als UTC-Zeit vom Modul an die Uhr ausgesendet.
Dabei war die Zeit immer 1sec langsamer als die tatsächliche
Zeit !!! Es wurde im Uhren-PIC-ASM-Programm diese
EINE sec als Korrektur hinzu gefügt. Somit läuft die
GPS-Uhr erst jetzt exakt !!!
Ein 1sec langer Pieps
zur vollen Stunde (von 8°° bis 22°°Uhr) kann mittels Schalter
an- und abgeschaltet werden. Die 8°°Uhr und 22°°Uhr kann
man im ASM-Programm ändern.
Vieles ist änderbar im
ASM-Programm von der GPS-Uhr. Man kann selbst
ändern im ASM-File, welches mittels TXT-Editor machbar
ist. Dann wird das geänderte ASM-File assembliert
(Programm liegt bei). Und der PIC-Controller PIC16F88
wird gebrannt.
Hier
raus-kopiert die Einstell-Möglichkeiten im ASM-File.
(jetzt dürfte man auch die Funktionsweise noch besser
verstehen...) (
Klick hier
)
Beide GPS-Empfänger habe
ich in deren Einstellungen nicht verändert. So wie
gekauft, so benutzt... (9600Baud / 1Stopbit / keine Parität
/ 8Bit-Daten)
MEINE ERFAHRUNGEN
NACH EINEM HALBEN JAHR DAUERBETRIEB: Die GPS-Uhr
läuft in der Zeit exakt synchron zu meinen DCF77-Funkuhren.
Es gab keine Ausfälle !
Nach dem Einschalten der GPS-Uhr stand nach ca. 10sec
bis max. 30sec immer die exakte Zeit in der Anzeige !
(mit NEO M7 Empfänger-Modul)
Im Internet habe
ich meist nur Arduino GPS-Uhren-Bastel-Projekte gefunden.
Hier ein Beispiel
(
Klick hier )
|
ZU GPS-SATELLITEN-EMPFANG BEI MIR Im Keller
(mit 12m Altbau darüber) geht es nur wage !!! (so gut wie
kein Empfang) In der untersten Etage (mit 9m Altbau
darüber) guter Empfang !!! In der
obersten Etage (mit 5m Altbau darüber) geht es perfekt !!!
Ich war selbst erstaunt !!! , da ein gekauftes Fahrrad-GPS-Gerät
nicht im Zimmer funktionierte. Und
Deshalb hatte ich auch ein spritzwasser-geschütztes Gehäuse
auf dem Fensterbrett für das GPS-Modul vorgesehen. (siehe
oben) Auch das vorgesehene längere Flachband-Kabel für das
COM-Port-Kabel zur Fenster-Durchführ-Klemmung ist nicht
notwendig...
|
2. GPS-Uhr II mit Weck-Funktion als Weiter-Entwicklung
mit dem Controller PIC16F88 und 1x8 Display
Der GPS-Satelliten-Empfänger
ist bei dieser Bastelei direkt an die Uhr
angeschlossen ! Man benötigt hier keinen
externen GPS-Empfänger-Modul-Aufbau mit dem
Schaltkreis MAX232 und Transistoren !
|
|

Oben Fertige GPS-UhrII Klick auf alle Fotos usw. und
diese werden größer. |
Download der Bastelanleitung hier als:
"GPS-UhrII.zip"
ca. 3Mbyte
Der Bastelanleitung liegt
auch ein vorheriges Testen des GPS-Empfängers am PC bei.
Kurzbeschreibung
:
Es wird mittels GPS-Navigation immer nur die UTC-Zeit
empfangen. Man kann alle Zeitzonen mittels Taster
einstellen.
Nach dem Einschalten der Uhr erscheint
die Laufschrift : "GPS-Uhren-Wecker"
Alle
Bedien-Tasten-Klicks sind mit erklärender Laufschrift
versehen !
Die Uhr beginnt als Quarzuhr ab 00:00.00
zu laufen. Liegen Daten am Empfänger an und blinkt die
PPS-LED des Empfängers, stellt sich die
Uhrzeit ein.
|
Oben Bestückte Leiterplatte |
Jede volle min wird die Uhr durch GPS-Daten gestellt. Man
erkennt ein exaktes Stellen am 0,5sec Aufblitzen des
Punktes durch ein Komma in der Anzeige.
Der
Doppelpunkt blinkt, wenn Daten vorhanden sind. Wenn 10sec
lang kein PPS-Signal geliefert wird (keine Daten) steht
der Doppelpunkt starr in der Anzeige. Die Uhr läuft dann
im Quarz-Modus.
Sie lässt
sich auch als Wecker betreiben. Ein 1min Summer-Ton
ertönt bei der eingestellten Weckzeit. Die Weck-Zeit und
vieles mehr lässt sich mittels Tastern einstellen...
(siehe Bedienung unterhalb)
Jede volle Stunde kommt
ein 1sec Pieps von 8°° bis 22°° Uhr. Er ist mittels
Taster an- und abschaltbar.
|
Oben Testaufbau |
Alle Einstellungen werden im EEPROM des Controllers
gespeichert. Beim erneuten Einschalten oder Stromausfall
stellen sich die selben Einstellungen wieder ein.
Man kann etliches im ASM-PIC-Controller-Programm ändern.
Man könnte so alle 8 Laufschrift-Texte ändern. Zum
Beispiel in englische Sprache... ( jetzt in Deutsch)
Bedienungs-Erklärung als Video
(Klick
hier) |
Stromlaufplan (Klick drauf und es wird größer) |

Bedienung der GPS-Uhr II (Klick drauf...) |
Nachbesserungs-Vorschlag der GPS-UHR II |

Man erkennt hier die Zusatz-Leiterplatte. Klick auf die Fotos usw. und
diese werden größer.
|
Download der Nachbesserungs-Bastelanleitung hier als:
"GPS-UHRII==RS232-Zusatz-Leiterplatte.zip"
ca. 1,5Mbyte
Kurzbeschreibung
:
Bei der GPS-UhrII hatten sich nach einiger Zeit Probleme
ergeben. Der GPS-Empfänger war hier
direkt an den PIC-Controller mittels
5Volt TTL-Prinzip angeschlossen. (siehe oben...)
Folgende Probleme: 1.
Bei einem befreundetem Bastler hat es im Zimmer
nur exakt in Fenster-Nähe
funktioniert. Nur dort konnten Daten
empfangen werden...
|
Man muss das GPS-Empfänger-RS232-Modul jetzt anschließen.
|
2. Beim "NEO 7M" GPS-Empfänger kam
kein 5Volt-TTL-Pegel am Txd Ausgang
heraus. (kleinere Spannung...) Die
Daten konnten nicht vom PIC16F88-Controller "gelesen" werden.
Und dies obwohl bei der
Verkaufs-Seite bei EBAY stand: Ist
sowohl 5V-TTL und 3,3V-TTL kompatibel je nach
Speisespannung.
Schlussfolgerung: Nicht jeder Empfänger ist empfindlich genug um einen Empfang
im Zimmer zu realisieren. Nicht
jeder Empfänger kann direkt an die Uhr angeschlossen werden.
|
Aus diesem Grund wurde das obige GPS-Satelliten-Empfänger-Modul
(ganz am Anfang dieser Seite hier) mit der RS232/COM-Port Schnittstelle verwendet.
Der
GPS-Empfänger wurde also nicht mehr mit dem
5Volt-TTL-Prinzip direkt
angeschlossen.
Damit die GPS-UHRII mit diesem Modul
funktioniert, wurde eine Zusatzleiterplatte eingesetzt.
Diese Leiterplatte mit dem IC "MAX232" ermöglicht erst den Einsatz
der RS232/COM-Port-Schnittstelle.
Jetzt kann man ein langes Kabel zum
"abgesetzten" GPS-Modul in Fenster-Nähe verwenden und auch
der GPS-Empfänger "NEO 7M" funktioniert jetzt mit 3,3Volt
TTL-Pegel im Modul perfekt.

 |
!!!!!!! Außerdem wurde die
Software für ein normales übliches 1x8 DOT-Display geändert. (auch der wenig geänderte Stromlaufplan)
Display Bestell Reichelt : LCD-PM 1X8-11
A oder LCD 081 DIP
Es liegt
dem obigen Bastel-Download der RS232-Zusatz-Leiterplatte bei. !!!!!!! |
Hinweis zur GPS-Empfänger
Empfindlichkeit : Bei Gebäuden aus Gas-Beton-Steinen und Lehmbauten ist ein GPS-Satelliten-Empfang
schwierig, wegen hoher Dämpfung... Bei Gas-Beton wird
zur Porenbildung, bei der Herstellung, Aluminium in geringen
Mengen verwendet...
|
3. GPS-Uhr III mit Weck Funktion als Weiter-Entwicklung
mit dem Controller PIC16F88 und 2x16 Display
|
Download der Bastelanleitung hier als:
"GPS-UhrIII.zip"
ca. 5Mbyte
Kurzbeschreibung
: Die GPS-UhrIII funktioniert genau
so wie die GPS-UhrII.
(also gleiche Bedienung
mit Laufschrift...)
Nur hier wurde eine
Anzeige mit 2x16 Zeichen eingesetzt.
So
erscheint nicht nur die Zeit, sondern auch das
Datum, der Wochentag
und die Zeitzone.
Es unterscheidet sich also der Aufbau des GPS-Uhren-Weckers
III
nur mit dem kompatiblen
2x16Zeichen-Display und der PIC16F88-Software
von der GPS-UhrII. |
|
Nachteilig ist aber die Ziffern-Größe mit hier
nur 6mm.
Bei der GPS-UhrII ist es größer mit
11mm.
Es erfolgt ein exaktes Stellen (auf
1/100 sec genau) der GPS-Zeit mittels PPS (Time-Syncron-Impuls) als
Interrupt-Erkennung jede volle Minute. Der
Punkt in der Anzeige wird kurz zum Komma...
Zum
Software-Prinzip :
Neben der UTC-Uhrzeit
wird auch das Datum für Greenwich-Time
vom
GPS-Empfänger jede sec empfangen und
ausgewertet.
Wenn man eine Zeitzone
einstellt, welche über 24Uhr (00Uhr) geht, wird
hier das Datum korrigiert.
Es muss plus ein
Tag oder minus ein Tag im PIC-Programm berechnet
werden.
Dabei werden die "End"-Tage jedes Monats (30day
oder 31day) beachtet. Dies gilt auch für ein
Schaltjahr im Februar mit 28Tagen oder 29Tagen.
Der Wochentag wie Montag / Dienstag... kommt
nicht aus dem GPS-Empfänger.
Der
Wochentag muss aus dem
Datum berechnet werden.
Dabei wird jede volle Minute beim exakten
Stellen der Wochentag ... im PIC-Programm neu berechnet. |
 |
Nach meinem
Prinzip: Man startet mit einem Montag zum
Beispiel 1.03.2004 und zählt
jeweils plus ein Tag beim Datum und plus ein Tag
beim Wochentag. Dann vergleicht man mit dem
heutigen empfangenem Datum. Wenn nicht
Gleichheit vorliegt, erhöht man erneut Datum und
Wochentag. So lange bis das Datum gleich ist.
Dann weis man, welcher Wochentag heute ist.
Um von 2004 bis 2021 hoch zu zählen
benötigt das Programm ca. 0,7sec. Um also
17Jahre tagesweise hoch zu zählen und zu
vergleichen vergehen ca. 0,7sec.
Um plus 1
Tag zu realisieren werden im
Durchschnitt 100 Befehle (100µsec / 0,1msec)
benötigt. Es kommt zu Problemen mit der
Quarz-Uhr (welche ständig) im
Controller-Programm läuft. Sie arbeitet aber im
Hintergrund als 0,5sec-Interrupt-Programm. So geht die
Uhr nicht nach, sowie keinerlei Fehler
treten auf!
Jetzt ist
als Montags-Start-Datum der 8.03.2021 im PIC-Programm
eingetragen. Es zählt nicht so lange...
Ich schlage aber dennoch vor : So ca. im Jahr
2035 / 2040 müsste man das Montags-Start-Datum
korrigieren. Dies steht am Anfang vom PIC-Programm
"GPS-UHRIII.asm". Der PIC16F88 müsste erneut
gebrannt werden mit der Änderung... (Programm um
eine hex-File zu erstellen liegt bei.)
Natürlich könnte man ein anderes
Datums-Wochentags-Programm-Prinzip nutzen.
Es gibt so C++ oder Basic-Programme (nach der
Gauß-Formel), die aus dem
Datum den Wochentag berechnen. (Klick
hier von Wikipedia) Bei meiner Bastelei
ist aber der Programm-Speicher
des PIC16F88 mit nur 4Kbyte nicht groß genug !
---
ACHTUNG Änderung mit üblichem 2x16 DOT
Display : 1. Der Stromlaufplan und die geänderte Software
für ein übliches 2x16-DOT-Display liegt auch dem
Bastel-Download bei. Hier wurde als
Controller der PIC16F88 verwendet...
UND 2. Auch eine Änderung mit
jetzt dem Controller PIC16F648A. Er ist vom
Preis her billiger... und funktioniert genauso
gut. Hier ist nur der Stromlaufplan und die
Software anders (auch mit 2x16-DOT-Display).
Es liegt dem Bastel-Download oben bei !!!
|
|
|