Online seit Februar 2009
|
Bastel-Anleitungen für eine GPS-Satelliten-Uhr
mit dem Controller PIC16F88
und
dem zugehörenden UART-NEO-Satelliten-Empfänger
als Modul-Aufbau
Am Schluss (unterhalb) die
GPS-UhrII mit Weck-Funktion
als Weiter-Entwicklung mit dem Controller
PIC16F88
|
Bastelanleitung für GPS-Satelliten-Empfänger-Modul
|

Im Foto das
aufgebaute Modul
mit dem M7-NEO-UART-GPS-Empfänger.
Kauf-Bestell-Seite vom Empfänger klick
hier
(Klick auf das Foto oben und es erscheint größer) |
Download der Bastelanleitung hier als:
"GPS=Satelliten-RS232-Modul.zip"
ca. 17Mbyte
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...
|

Im Foto das 2-te
aufgebaute
Modul mit dem etwas
schlechterem M6-NEO-UART-RX.
Kauf-Bestell-Seite vom Empfänger klick
hier
(Klick auf das Foto oben und es erscheint größer) |
Zuerst
testet man den GPS-NEO-UART Empfänger ohne
Zusatzschaltung. Man
schließt 3,3Volt mit einem Experimentiernetzteil an.
Nach 5min bis 30min müsste die interne PPS-LED vom
Empfänger
beim ersten Neu-Start blinken.
Beim schlechteren RX (Empfänger M6) hat es recht lange
gedauert bis es zu blinken begonnen hatte.
Auf beiden
Empfänger-Leiterplatten befindet sich eine selbst-ladbare 3Volt
Lithium Batterie.
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. |

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.
Aber bei einem Bastel-Freund ging es nur
in Fenster-Nähe... |
Aber :
Erst mit einem PC-Programm kann man exakt sagen, dass der
Empfänger verwertbare Daten liefert !!!
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...
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 ! (klickt man auf die Fotos erscheinen diese
größer)
Erst dann kann man an den COM-Port des PCs
anschließen und das Programm betreiben.
|

Bildschirm-Copie vom selbst programmierten Prog. |
Ich
habe noch zusätzlich 5stck. weitere DOS-Programme programmiert, welche noch unter
dem Betriebssystem Windows XP funktionieren.
Links
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) |

Bildschirm-Copie vom selbst programmierten Prog.
(Klick jeweils auf die "Fotos" und sie erscheinen größer) |
Auch
die
PC-Quell-Programme liegen dem Bastel-Download in der
Programmiersprache "C++" neben den eigentlichen
Programm exe'en bei...
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) |

Stromlaufplan / klick drauf und er wird größer ! Im
Basteldownload ist es besser erkennbar ! |
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)
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) |
Natürlich kann man die Zusatz-Schaltung mit einem
gekauften RS232/COM-Port-Modul realisieren. (
Klick hier ) Auf dieser Leiterplatte befindet
sich aber nur ein Txd als Ausgang und
ein Rxd-Anschluss als
Eingang. Ein Anschluss vom COM-Port am PC wäre machbar.
Meine GPS-Uhr
(unterhalb) benötigt aber auch das Ausgang-Signal "PPS"
vom GPS-Modul.
Beim gekauften RS232-Modul (oben) ist aber kein weiterer nutzbarer Anschluss
"für PPS" mehr vorhanden... ( man müsste
zwei Module kaufen um die GPS-Uhr mit RS232 zu betreiben...
also Txd als Ausgang und PPS als Ausgang)
Oder ohne die beiden Schaltkreise MAX232 gleich an den
PIC16F88 der GPS-Uhr anschließen ... (Ohne RS232-Wandlung)
Also gleich 5Volt-TTL von den Transistoren meiner GPS-Modul-Schaltung
an den PIC16F88, welcher 5V-TTL-Eingänge hat ... Mit
dieser Methode ist aber kein langes RS232/COM-Port-Kabel
einsetzbar ... Und am Computer funktioniert es nicht / da
kein COM-Port...
DIES WURDE ALLES
NICHT GETESTET / PROBIERT !!!
|
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. Es steht auch eine Erklärung dazu
in der Bastel-Anleitung bei Software.
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 nur ein GPS-Uhren-Bastel-Projekt gefunden.
(
Klick hier ) Ohne Bastel-Anleitung, aber
interessant !
|
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...
|
GPS-UhrII mit Weck-Funktion als Weiter-Entwicklung
mit dem Controller PIC16F88
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. 15Mbyte
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.
Das
Assembler-Prog. liegt im Download bei, um die neuen Werte
brennbar für das
hex-File zu machen. Am Anfang des ASM-PIC-Programms ist folgendes
einstellbar. Man könnte durch "nur Zahlen ändern"
verändern :
1. Auswerte-Code für den GPS-Empfänger
2. Ab wo / wann die Uhr gestellt wird. Jetzt bei
00sec 3. Nach wie viel sec PPS-Impuls fehlend,
der Doppelpunkt nicht mehr blinkt. 4. Stunden-Pieps
von / bis ertönen lassen 5.
Laufschrift-Geschwindigkeit
|
Stromlaufplan (Klick drauf und es wird größer) |
Oder man könnte alle 8 Laufschrift-Texte ändern. Zum
Beispiel in englische Sprache... ( jetzt in Deutsch)
Dies steht am Ende des ASM-Files in Form von 8 Tabellen
Hier muss man geschickt sein, um Überschneidungen mit
den Controller-Adressen zu vermeiden.
Man könnte auch
die üblichen herkömmlichen Displays verwenden mit
1x8 Zeichen.
Dann muss man folgendes ändern :
-Initialisierung des Displays -Die Zeiten bei den
Unterprogrammen "BEFEHL" und "DATEN"
-Hier werden aber die Umlaute (ä,ö,ü,Ä,Ö,Ü,ß) im Lauf-Text
nicht so ohne weiteres dargestellt. Etwas anderer
Zeichen-Satz... |
Bedienung der GPS-UhrII (Klick drauf und es wird
größer) |
Video als Erklärung der GPS-UhrII:
Klick hier
|
Nachbesserungs-Vorschlag der GPS-UHRII |

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...
|
|
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.
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...
|
 |
ACHTUNG:
Auch die PIC16F88 Software wurde für die GPS-Uhr II geändert
und liegt dem obigem Download bei.
Und Es wurde ein weiterer
Aufbau mit Blau/Weißem Display gemacht. Unter "Software"
im Download oberhalb findet man dazu Hinweise...
|
|