Online seit Februar 2009
|
Hier findet man :
1. Bastel-Anleitung für einen
"UART-NEO-Satelliten-Empfänger als Modul-Aufbau"
2. Bastel-Anleitung für eine
"GPS-Satelliten-Uhr mit 1x8 Display"
[mein erster Versuch]
3. Bastel-Anleitung für eine
"GPS-Satelliten-Uhr II mit Weck-Funktion und Laufschrift mit
1x8 Display"
4. Bastel-Anleitung für eine
"GPS-Satelliten-Uhr III mit Weck-Funktion und Laufschrift mit
2x16 Display"
hier auch mit Datum und Wochentag
Download der kompletten Bastelanleitung
ALLER GPS-UHREN
und des
GPS-MODULS hier als:
"GPS-UHREN=ALLES.zip"
ca. 30Mbyte
|
1.
UART-NEO-Satelliten-Empfänger als Modul-Aufbau
|
(Klick auf das Foto und es erscheint größer) Im Foto das
aufgebaute Modul Links der gekaufte M76-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-RS232-COM-Port-Anschluss und einen PPS-Anschluss (Time-[Zeit]-Synchron...) und eine Speisespannung von 3,3V
bzw. 5V
haben!
Anmerkung :
Der Empfänger ist das Problem !
(Klick
hier) !!!!! und man sieht eine grobe Zusammenfassung meiner GPS-Empfänger an Hand von Fotos. Dies
könnte beim Empfänger-Kauf hilfreich sein!
|
Die Bastelanleitung für das :
"GPS=Satelliten-RS232-Modul"
findet man ganz oben bei
GPS-UHREN=ALLES.zip
Bei meinen bisherigen Bastel-Funkuhren wurde als "Zeitnormal"
das gesendete DCF77-Signal aus Frankfurt/Main genutzt.
Jetzt soll eine GPS-Satelliten-Uhr
entstehen. Hier kann man
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-Uhren. Oder ein
Einfacher Steckbrett-Aufbau zum nur testen.
Die Uhren-Anzeige dürfte dann weltweit für jede Zeitzone mit die 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.
Dann geht man an den Anschluss Txd (liefert Impulse)
mit einem TTL-Pegelstift oder einem Oszillograph.
Man erkennt ob Impulse aus dem Empfänger kommen.
Aber : Erst mit einem PC-Programm kann man exakt sagen, dass der
Empfänger verwertbare Daten liefert !!!
|
(Klick auf das Foto und es erscheint größer) Im Foto das 2-te
aufgebaute
Modul mit dem etwas schlechterem
M6-NEO-UART-Empfänger mit passiver Antenne.
(Klick auf das Foto und es erscheint größer) 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.
|
(Klick auf das Foto und es erscheint größer) Das Programm
(siehe oben) funktioniert ab Windows XP bis Windows10... Es liegt auch dem obigem Bastel-Download bei !!!
An den COM-Port des PCs wird angeschlossen (an Rxd vom PC)
und das Programm betrieben. [[ deshalb mit MAX232 oder
MAX3232 Steckbrett- oder Modul-Aufbau ]]
Ich
habe noch zusätzlich 5stck. weitere DOS-Programme programmiert, welche
noch unter
dem Betriebssystem Windows XP funktionieren.
Windows XP ist das letzte Betriebssystem, wo noch
DOS-Programme laufen. (siehe unterhalb) |
(Klick auf das Foto und es erscheint größer) Oberhalb sieht man auch mein
DOS-Programm, welches nur die UTC-Zeit, die
Länge und die Breite anzeigt.
Auch
meine
PC-Quell-Programme liegen dem Bastel-Download in der
Programmiersprache "C++" neben den eigentlichen
Programm exe'en bei...
Unterhalb
sieht man den Stromlaufplan des Moduls mit dem Schaltkreis
MAX 3232. |
(Klick auf das Foto und es erscheint größer) Oberhalb sieht man die Datenflut
im Programm ankommen. Hier werden alle Daten
angezeigt.
Man erkennt die Codierung... Und weis,
wo die UTC-Zeit zu finden ist... Es wird nur die UTC-Zeit
empfangen !
Ein Video soll die
Funktionsweise an Hand der PC-Programme verdeutlichen
(Klick
hier) [ 7min ]
|
(Klick drauf und der Stromlaufplan erscheint größer)
Es gibt noch einen Weiteren Aufbau mit dem
Schaltkreis MAX 232. (siehe im Bastel-Download)
Man muss selbst entscheiden oder
probieren ob man den GPS-Empfänger
direkt an die Uhr anschließt oder ob man den Modulaufbau nutzt.
(siehe hierzu unterhalb die GPS-UhrII mit der
Nachbesserung) |
Mein Bastel-Ergebnis mit dem Modul: Die GPS-UTC-Zeit war
im Zimmer bei mir immer
exakt decodier bar.
Dennoch konnte ich hiermit in
der Mitte vom Keller (von dicken Mauern umgeben
und 3 Stockwerke darüber) keinen exakten Empfang realisieren.
Nur in Keller-Fenster-Nähe (3m-Abstand) ging es perfekt.
Auch in "niedrigeren" Werkhallen und Groß-Verkaufsstellen mit
oberer Leichtmetall-Zwischendecke war ein Empfang nur in
Fenster-Nähe möglich.
Auch bei Häusern aus Gas-Beton und
Lehm ist eine hohe Dämpfung vorhanden.
Anmerkung :
Eine englische Firma verkauft GPS-Empfänger-Module getrennt für
russische oder amerikanische Satelliten als Außenmontage für ihre
digitalen Uhren. (Klick
hier) und dann "GPS and Glonass
Time Receiver" anklicken.
Bei der eng. Firma wird auf jeden Fall ein Modul verwendet und nicht direkt angeschlossen !
|
2. GPS-Satelliten-Uhr mit 1x8 Display
[mein erster Versuch]
mit dem
Controller PIC16F88 |
(Klick auf das Foto und es erscheint größer) Hier der komplette GPS-Uhren-Aufbau. Man sieht, dass
GPS-Empfänger-Modul ist notwendig. |
Die Bastelanleitung für die :
"GPS-Uhr"
findet man ganz oben bei
GPS-UHREN=ALLES.zip
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 entsprechende Zeitzone einstellen.
Im GPS-Uhren-Controller-Programm kann man
so auch diesen
Zeitversatz zur UTC-Zeit für jede Zeitzone der Erde ändern. |
(Klick auf das Foto und es erscheint größer)
-Rechts die 12Volt Steckernetzteil-Buchse -Daneben
der COM-Port-Stecker vom GPS- Empf.-Modul. -Mit zwei
Schaltern kann man die Zeitzone einstellen :
4
Schalt-Möglichkeiten gibt es. Jetzt sind
diese 4 Zeit-Zonen software-mäßig eingestellt :
UTC +0H MEZ
+1H MESZ +2H Sri-Lanka
+5H : 30MIN Es geht also nicht nur die volle Stunde. Es
gibt auch Zeitzonen mit 30min und 45min "Versatz".
-Ganz
links der Schalter für den 1sec Pieps zur vollen
Stunde [mit Ein / Aus] Es piepst von 8°° bis 22°° Software-Mäßig
eingestellt / änderbar
(Klick auf das Foto und es erscheint größer)
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.
|
Das Funktionsprinzip: 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.
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.
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
vom GPS-Modul 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 !
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 (Assembler-Programm liegt dem Bastel-Download bei). Und der PIC-Controller PIC16F88
wird neu gebrannt.
Hier
raus-kopiert die Einstell-Möglichkeiten im ASM-File.
(
Klick hier
)
Ein Video soll die Funktionsweise verdeutlichen (
Klick
hier ) [ 6min ]
(Klick drauf und der Stromlaufplan erscheint größer)
|
3. GPS-Satelliten-Uhr II mit Weck-Funktion und
Laufschrift mit 1x8 Display
und dem
Controller PIC16F88 |
(Klick auf das Foto und es erscheint größer)
ACHTUNG : Hier wurde
KEIN GPS-Modul
angeschlossen. Hier wurde der reine GPS-Empfänger-NEO
angeschlossen. Im hinteren Teil des Uhren-Gerätes sieht man
noch die aktive GPS-Antenne vom Empfänger... |
Die Bastelanleitung für die :
"GPS-UhrII"
findet man ganz oben bei
GPS-UHREN=ALLES.zip
Kurzbeschreibung
:
Es wird mittels GPS-Navigation immer nur die UTC-Zeit
empfangen. Man kann aber hier 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, erscheint die
Uhrzeit im Display.
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.
|
(Klick auf das Foto und es erscheint größer) |
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 Weck-Zeit.
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. (software-mäßig
änderbar) Er ist mittels
Taster an- und abschaltbar.
|
(Klick auf das Foto und es erscheint größer)
|
Alle Einstellungen werden im EEPROM des Controllers
gespeichert. Beim erneuten Einschalten oder Stromausfall
stellt sich die selben Einstellungen wieder ein.
Man kann etliches im ASM-PIC-Controller-Programm ändern,
wie oben bei der anderen GPS-Uhr.
Man könnte so alle 8 Laufschrift-Texte ändern. Zum
Beispiel in englische Sprache... (jetzt in Deutsch)
Beschreibungs-Erklärung als Video (
Klick hier ) [ 4min ]
|
(Klick drauf und der Stromlaufplan erscheint größer)
|
(Klick drauf und die Beschreibung erscheint größer)
|
Zu 3. Nachbesserung der GPS-Uhr II |
(Klick auf das Foto und es erscheint größer)
Jetzt bei der Nachbesserung mit Zusatz-Leiterplatte ! |
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... ohne
GPS-Modul-Aufbau !!!!)
Folgende Probleme: 1. Bei
einem befreundetem Bastler hat es im Zimmer nur exakt in
Fenster-Nähe funktioniert. Nur dort konnten Daten empfangen
werden.. |
(Klick auf das Foto und es erscheint größer)
ACHTUNG :
Man sieht
im Foto, dass GPS-Empfänger-Modul ist notwendig. |
2. Beim "NEO 7/6M" 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.
Dies war aber nicht bei jedem GPS-Empfänger
so. Es gab auch Empfänger, wo man direkt anschließen
konnte !
|
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 vom Modul.
Jetzt kann man ein langes
Kabel zum "abgesetzten" GPS-Modul zur Fenster-Nähe verwenden und auch der GPS-Empfänger "NEO 7/6M" funktioniert jetzt mit 3,3Volt
TTL-Pegel im Modul perfekt.
|
4. GPS-Uhr III mit Weck Funktion und Laufschrift
mit dem Controller PIC16F88 und 2x16 Display
auch mit Datum und Wochentag
|
(Klick auf das Foto und es erscheint größer)
(Klick auf das Foto und es erscheint größer)
Man sieht, dass GPS-Empfänger-Modul ist notwendig.
(Klick auf das Foto und es erscheint größer)
Auch wie bei der GPS-UhrII wird eine Zusatz-Leiterplatte
benötigt. Das Modul ist ja angeschlossen.
|
Die Bastelanleitung für die :
"GPS-UhrIII"
findet man ganz oben bei
GPS-UHREN=ALLES.zip
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-Synchron-Impuls) Der Punkt in der Anzeige wird
kurz zum Komma... Also alles genauso wie bei der
GPS-UhrII (oben) !
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 die
Wochentags-Berechnung aus dem Datum: 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.
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 !
|
|
|