Schwarz auf Weiß

Auch als Buch mit dem Titel '10 Selbstbauprojekte', ISBN-Nr. 978-3-7448-3433-9 und als e-book mit der ISBN-Nr. 9783744806299 erschienen.

Besuchen Sie auch meine Art site https://khomet.de

Mittwoch, 7. Oktober 2015

Custom designed Kapazitive Taste Teil 2



Inhaltsverzeichnis

Aufbau
Unterschiede zum ersten Post
Signalaufbereitung
Lernfunktion
Event-Steuerung
Entwicklungsumgebung
Downloads

Aufbau

Wie im ersten Post.


Unterschiede zum ersten Post vom August

-Quarz von 20 MHz in 12 MHz geändert
-PLL eingeschaltet, damit intern 4x12=48 MHz
-CTMU 55 uA
-Timer0 Interrupt alle 49 ms
-Summe von 30 Samples in einem Interrupt (ergibt max ca. 30.690 Punkte bei no touch)
-2x gleitender Durchschnitt der Summe im gleichen Interrupt.


Signalaufbereitung

Timer0 Interrupt alle 49 ms. Es wird 30x in einem Interrupt gesampelt, Gesamtdauer 10 ms.
Alle 30 Samples werden addiert (kein Durchschnitt). Nach Abzug eines Offsets von 7000 Punkten wird 2x der gleitende Durchschnitt (keine Wichtung) gebildet. Bei touch stellen sich ca. 2200 Punkte, bei no touch ca. 3000 Punkte ein. Das erlaubt eine sichere und schnelle Auswertung (eine Änderung wird in 98 ms detektiert).

Lernfunktion

Die Schaltschwelle touch/no touch wird beim ersten Tastendruck nach Reset auf 60% des Abstandes Spitzenwert - kleinster Wert festgelegt. Der Spitzenwert bewegt sich bei ca. 3000 Punkten und der kleinste Wert bei ca. 2000 Punkten. Der Vorteil ist der Ausgleich von sich ändernden Masseverhältnissen und parasitären Kapazitäten. Außerdem kann die Empfindlichkeit individuell auf den Bediener abgestimmt werden.


Eventsteuerung

folgende Ereignisse werden im Timer0Interrupt bereit gestellt:
-Key pressed
-Key relased
-Key just pressed
-Key just relased


Entwicklungsumgebung

Als Editor und Compiler wird jetzt Microbasic Pro von Mikroelektronika verwendet. Dieser erlaubt ein Software-Debugging und die Verwendung von Microbasic Bibliotheken. Diese sind allerdings teilweise sehr langsam. Bei der Ausgabe auf ein OLED wurden diese deshalb nur in der Initialisierungsphase verwendet. 

Achtung! bei Microbasic Pro ist die vorgegebene Programmstruktur strikt einzuhalten:
Program name - Declarations - Subs - Main (initialisierungen) - Main (Polling-Loop) - end. (Programm-Ende).

Bibliotheken werden im Reiter Library Manager hinzugefügt, z. B. ADC, C-StdLib.

Sinnvollerweise ist ein entsprechendes Projekt anzulegen.

Mit Build wird unter anderem eine *.hex Datei erzeugt, die dann wie im ersten Post beschrieben in den PIC gebrannt wird.

Mit Run können die Software-Debugging Optionen gewählt werden (Build/Debugger im Reiter Projekt Setting auf Software stellen).

Microbasic Pro ist bis zu einer Code-Größe von 2kByte kostenlos und nicht in den Funktionen eingeschränkt.


Downloads

CodefragmentTouch2.txt








Sonntag, 30. August 2015

UKW-Radio


Das Herz des Mono-UKW-Radios ist der Chip TDA7021. Er beinhaltet ein FLL (frequence locked loop), eine integrierte Zf-Erzeugung von 76 kHz ohne externe Filter und ein Feldstärkesignal. Die Empfängerempfindlichkeit beträgt 4 uV/m. Der Audioverstärker liefert 5 W an den Visaton Lautsprecher FR 8 JS. Der Bau des Holzgehäuses gehört zum Umfang des Projektes.


Inhaltsverzeichnis

Schaltbild
UKW-Empfänger
Audio
Netzteil
Aufbau UKW-Empfänger
Aufbau gesamte Elektronik
Holzgehäuse
Drehkondensator und Bodenplatte
Innenkonstruktion Bogenaufbau und 'blinde' Lautsprecherbefestigung
Bogenaufbau und Seitenwände
Bogen bearbeitet und Rückwand
Downloads




Schaltbild

Die Schaltung besteht aus dem UKW-Empfänger, der Feldstärkeanzeige, der Klangregelung, dem Endverstärker und dem Netzteil.


Schaltplan UKW-Radio

Download Eagle-Datei UKW-Raqdio.sch

UKW-Empfänger

Herz ist das hochintegrierte IC TDA7021T. Der Empfangskreis ist aufgebaut aus einer Luftspule, dem Abstimmkondensator 8 ...25 pF und den Trimmkondensatoren, mit denen der nutzbare Frequenzbereich eingestellt wird. Der Abstimmkondensator (vom RadioFlohmarkt) ist mechanisch 1:3 untersetzt, das erlaubt eine feinfühlige Senderabstimmung. Die Daten der Luftspule sind im Schaltplan angegeben. Die Drahtenden sollten so kurz wie möglich sein. Evtl. muss ein 'Klingeln' durch Verkleben verhindert werden. Die Antenne ist symmetrisch angekoppelt (Drahtschleife, ca. 1,5 m). Das IC ist entsprechend Datenblatt für Mono beschaltet, die Mute-Funktion zwischen den Sendern ist ausgeschaltet. Dadurch ergibt sich eine Eingangsempfindlichkeit von 4uV/m was einer recht guten Empfangsleistung entspricht. Es werden ca. 15-20 UKW-Stationen empfangen. Die Zwischenfrequenz ist mit 76 kHz sehr niedrig und wird intern erzeugt, so dass keine Zf-Filterspulen nötig sind. Das IC besitzt einen Feldstärkeausgang mit dem man über den Transistorverstärker eine LED treiben kann. Die Empfindlichkeit wird so eingestellt, dass die blaue LED bei schwachen Sendern gerade noch flackert.

Audio

Das Nf-Signal wird einem Klangregel-Netzwerk zugeführt. Dieses ermöglicht, das Klangverhalten des UKW-Radios auf die persönlichen Bedürfnisse einzustellen. Der Endverstärker TDA7056B ist ein BTL-Typ, so dass man keinen großen Elko benötigt. Die Ausgangsleistung beträgt bei 12 V ca. 5 W. Der Ruhestrom beträgt nur ca. 10 mA, so dass der Verstärker bei Zimmerlautstärke 'cool' bleibt. Die Lautstärke ist DC gesteuert. Der verwendete Lautsprecher FR8JS-8 von Visaton hat bis in die Tiefen ein ausgeglichenes klares Klangbild

Netzteil

Die Spannungsversorgung erfolgt per Steckernetzteil 15/1A von PHIHONG. Endverstärker, Klangregelnetzwerk und Feldstärkeanzeige werden unsymmetrisch mit 12 V versorgt, der Empfänger mit 3 V.

Download Eagle-Datei UKW-Raqdio.sch

Aufbau UKW-Empfänger

Um parasitäre Kapazitäten zu vermeiden, sind die Verbindungen möglichst kurz zu halten. Im unteren Drittel der Platine sieht man den noch nicht fertig aufgebauten Verstärker für die Feldstärke.


Empfangskreis und Aufbereitung Signalstärke

Aufbau gesamte Elektronik

Links oben befindet sich die Spannungsversorgung, in der Mitte oben die Klangregelung, oben rechts der Endverstärker und unten der Empfänger.


Ansicht gesamte Elektronik

Holzgehäuse

Die Frontplatte und der Boden sind aus 5 mm Pappel-Sperrholz hergestellt, die Seitenteile aus 10 mm Holzplatten. Der runde Bogen wurde mit einer Innenkonstruktion aufgebaut, abgeschliffen und incl. der Seitenteile in einem Stück furniert. Die Schlitze für den Lautsprecher wurden an den Enden gebohrt und dann mit der Laubsäge ausgesägt. Nach Ende der Holzarbeiten wurde das Gehäuse mit Buche gebeizt und schließlich mit klarem, wasserlöslichem Lack lackiert. Die Rückwand besteht aus Presspappe. Diese nimmt den DC-Stecker und die Antennenbuchsen auf. Die Lautsprecherbefestigung erfolgt 'blind' auf der Rückseite, so dass auf der Frontseite keine Schrauben zu sehen sind. Die Konstruktion muss natürlich entsprechend den verwendeten Bauteilen (z. B. Drehkondensator) angepasst werden.


Zeichnung Holzgehäuse

Download Holzgehaeuse.pdf
Download CorelX6-Datei ukw_Holzgehaeuse1.cdr

Bauphasen

Drehkondensator und Bodenplatte


Drehkondensator mit mechanischer Untersetzung 1:3 und Drehknopf vom 'Radioflohmarkt'.

Montage Drehkondensator

Innenkonstruktion Bogenaufbau und 'blinde' Lautsprecherbefestigung

Der Bogenaufbau muss möglichst genau rechtwinklig zur Frontplatte sein. Die Rippen sind leicht überlappt und mit reichlich Holzleim abgedichtet. Auch der Übergang zur Frontplatte wurde nachträglich mit Leim abgedichtet. Der Lautsprecher muss unbedingt gut befestigt sein und die frontseitige Dichtung muss plan auf der Frontplatte aufliegen.

Bogenkonstruktion

Bogenaufbau und Seitenwände

Ein Probebetrieb darf jetzt schon mal sein. Rechts die blaue LED ist die Feldstärkeanzeige, darunter die Senderabstimmung. Links ist die Power-LED, darunter der Lautstärkeknopf. In der Mitte befindet sich der Ein/Aus-Schalter.

Der Bogen ist noch nicht bearbeitet

Bogen bearbeitet und Rückwand

Der Bogen ist jetzt bearbeitet. stirnseitig ist noch ein sauberer Abschluss aufgebracht, der dafür sorgt, dass die Rückwand möglichst luftdicht abschließt. Das beeinflusst den Klang wesentlich. Die Rückwand ist mit Rippen stabilisiert und durch Schaumstoff gedämpft.

Bogen bearbeitet

Downloads

Download Eagle-Datei UKW-Radio.sch
Download Schaltplan UKW-Radio.pdf
Download CorelX6 Datei Holzgehaeuse.cdr




Sweep Generator


Der Sweep Generator ist als Zusatzgerät für Funktionsgeneratoren ohne eingebaute VCF-Funktion gedacht. 

Inhaltsverzeichnis

Aufbau Sweep Generator
Schaltbild
Innenaufbau
Innenaufbau Detail





Aufbau Sweep Generator

Der BNC-Stecker kann direkt an den VCF-Eingang des Funktionsgenerators gesteckt werden. Die Stromversorgung erfolgt über ein handelsübliches Steckernetzteil (12 V/0,3 A, 2,1 mm Hohlstecker und + innen). Die rote LED zeigt an, dass das Gerät betriebsbereit ist. Mit dem Potentiometer kann die Frequenz des Sägezahnes eingestellt werden.

Schaltbild

Der Sweep Generator ist mit einem 4-fach Operationsverstärker LM324 aufgebaut. Die Aussteuerung schließt bei diesem Typ den Ground ein. Offset und Verstärkung sind getrennt einstellbar. Mit dem 470kOhm Potentiometer wird die Frequenz von 50 ... 0,1 Hz eingestellt.


Schaltbild Sweep Generator
Download Eagle-Schaltplan SweepGen.sch
Download Schaltplan Schaltbild-Sweep-Generator.pdf


Oszillogramm, man sieht die gute Linearität durch die Verwendung von Operationsverstärkern.

Fertiges Gerät

Innenaufbau

Innenaufbau Übersicht. Die DC-Buchse ist eine Einlötversion.



Innenaufbau Detail

Die Spannungsversorgung ist massiv mit Lötzinnbahnen ausgeführt, die Signalleitungen mit Fädeldraht. Außer den Elkos finden nur SMD-Bauelemente Verwendung.



Detail 1


Detail 2




Samstag, 29. August 2015

Pickup für Akkustik-Gitarre



Motivation für dieses Projekt war der schlechte Frequenzgang (sehr höhenlastig) des gekauften Pickups.

Inhaltsverzeichnis

Aufbau
PickupSchaltbild
Einzelteile
Die Platine
Außenansicht, montiert
Außenansicht, fertig
Pickup montiert



Aufbau

Der Piezo und die Elektronik wurden einfach ins vorhandene Gehäuse eingebaut. Die Spannungsversorgung erfolgt mittels einer, über einen DC-Stecker verbundenen 9V-Batterie. Um Nebengeräusche zu vermeiden, wurde diese mit Schaumstoff umwickelt. Die Klangfarbe kann durch unterschiedliche Positionierung im Schallloch verändert werden. Klangbeispiel 1 spiegelt den Ursprungszustand wider, Klangbeispiel 2 ist das Ergebnis nach dem Umbau.


PickupSchaltbild

Die Schaltung verwendet den 2-fach Operationsverstärker MC33172. Der Piezo (scheibenförmig rund mit einem Durchmesser von 23 mm) wird mit 3 MOhm abgeschlossen und an einen Impedanzwandler angeschlossen. In der nachfolgenden Stufe wird das Signal 5-fach verstärkt.

Schaltplan pickup


Download Eagle-Schaltplan pickup01.sch
Download Schaltplan Schaltbild-pickup.pdf

Einzelteile

Das geöffnete Gehäuse. Links der Stahlboden, rechts oben der Ausgangs-Pegelsteller, darunter der 'alte' Piezo (inaktiv), links die neue Elektronik, rechts ein Schaumstoffteil um ein Klirren der Einbauten zu verhindern, darunter die Halteklammer und daneben die zentrale Befestigungsschraube.

Einzelteile

Die Platine

Der rote und der schwarze Draht gehen zum DC-Stecker für den Batterieanschluss. Die stoffumwickelte Litze geht zum Piezo (befindet sich außerhalb des Gehäuses, zwischen Gitarrendecke und Stahlboden). Unter der Platine befindet sich zur Dämpfung selbstklebender, schwarzer Fotostoff. Der 'alte' Piezo wurde später entfernt, um eventuelle Einflüsse zu verhindern.

neue Platine und 'alter Piezo'

Außenansicht, montiert

Der Stahlboden ist montiert, der Piezo, eingehüllt in selbstklebenden Fotostoff, ist 
hochgeklappt.

neuer Piezo einghüllt und hochgeklappt

Außenansicht, fertig

Der runde Piezo ist jetzt runtergeklappt und befindet sich unter der montierten Halteklammer. Die beiden anderen runden Füße verhindern ein Kippen (stabiles Dreibein). Die Zuleitung zum Piezo ist ebenfalls mit Fotostoff abgeklebt.

Zusammengebaut.
Außenansicht von oben, links sieht man den DC-Stecker.

Pickup montiert

Rechts sieht man die 9V-Batterie, eingewickelt in Schaumstoff. Beim Spielen liegt sie auf der Seite der Gitarre.



FMS und Graupner D8




Der Modell-Flugsimulator FMS kann mit einer modifizierten Fernsteuerung Graupner D8 statt eines Joysticks geflogen werden. Das ermöglicht 'trocken' zu üben, ohne gleich ein Modell zu Bruch zu fliegen. Die D8 wird mit einer Klinkenbuchse nachgerüstet, an die das PPM-Signal des Integrierten Schaltkreises NE5044 angelegt wird. Die Verbindung PC - D8 wird mit einem USB-Gameport z. B. von MFTech realisiert.


Inhaltsverzeichnis

Umbau Graupner D8
Einstellungen im FMS
Downloads





Umbau Graupner D8


Die Fernsteuerung Graupner D8. Man sieht, dass die Antenne nicht eingeschraubt ist, da der Hf-Teil nicht verwendet wird.

Die Rückseite der Fernsteuerung. Auch der Quarz wurde entfernt, damit der Hf-Sender nicht arbeitet. 


Die Innenansicht der Fernsteuerung. Man sieht den RC-Encoder NE5044 und die zusätzlich eingebaute Buchse für die Ausgabe des PPM-Signals. 
Der zugehörige Schaltplan um den RC-Encoder NE5044 mit der neu eingebauten 2-poligen Buchse (z. B. Mono-Klinkenbuchse 3,5 mm) zu verbinden. Die Verbindung zum PC erfolgt mit einem Gameport-USB-Wandler, z. B. von MFTech. 


Detail-Ansicht des RC-Encoders NE5044 mit dem angelöteten Kabel (dünnes Koax-Kabel). 

Einstellungen im FMS

Die Einstellungen im FMS erfolgen im Menü Steuerung/Analoge Steuerung/Joystick Interface. Beim Kalibrieren werden beide Joysticks der D8 in allen Achsen mit maximalem Ausschlag bewegt. Ebenso können die Kanäle frei belegt werden. Dem USB-Gameport (z. B. bei FMTech die R/C USB Interface Einstellsoftware INTCON) liegt eine Software bei, mit der man die Belegung der Kanäle und die Empfindlichkeit voreinstellen kann. Man kann mit der D8 auch den open source Flugsimulator flightgear steuern. Die entsprechenden Einstellparameter werden hier in eine XML geschrieben.

Downloads

Download XML RC_USB.xml



DCF77



Das DCF77 Projekt besteht aus einem Hardwareteil mit dem Mikroprozessor PIC18F2550 und einem Softwareteil auf dem PC, geschrieben in VB2013.


Inhaltsverzeichnis

Das Zeitzeichensignal des DCF77 in Mainflingen
DCF77 Hardware
Schaltplan
Programmierung MCP2200
DCF77 Firmware PIC
Einstellungen im GCBASIC
Beschreibung der Firmware
Kommunikation zwischen PIC und PC
PC Frontend geschrieben in VB2013
Alle Downloads DCF77







youtube Film

Das Zeitzeichensignal des DCF77 in Mainflingen

Eine Trägerfrequenz von 77,5 kHz wird mit der binären Zeitinformation wie Minute, Stunde und Datum amplitudenmoduliert. Eine Absenkung auf 15% für 100 ms bedeutet eine '0' und für 200 ms eine '1'. Das Signal kann bis zu einer Entfernung von 2000 km empfangen werden. Bis zu einer Entfernung von 500 km breitet sich das Signal als Bodenwelle aus, darüber hinaus als Raumwelle. Die Feldstärke beträgt in 500 km Entfernung noch ca. 1 mV/m, in 2000 km noch ca.100 uV/m. 
Detaillierte Informationen sind auf der PTB-Seite http://www.ptb.de/cms/index.php?id=1787 
zu finden.

DCF77 Hardware

Die Hardware besteht aus dem PIC18F2550, dem hintergrundbeleuchtetem LCD-Display 2x16 Zeichen, der Spannungsreferenz SG 3503 (2,5V), dem Temperatursensor LM35CZ und dem USB-Chip MCP2200. Das DCF77-Modul (Reichelt oder Conrad) wird über ein 1 m langes Kabel abgesetzt.


Platine und Empfangsmodul
Links unten sieht man den USB-Anschluss. Mit der der blauen Taste rechts unten kann man die LCD-Helligkeit einstellen. Rechts sieht man das DCF77-Empfangsmodul  im Gehäuse eingebaut.
Platine
Bedeutung der Anzeigefelder von links nach rechts:

1. Zeile:

- Qualität des Signals
- Gesamtstatus DCF77-Daten ":)=gut :(=schlecht"
- Bit High/Low "- =High _ =Low"
- Sommer/Winterzeit "S=Sommerzeit W=Winterzeit"
- Zeit in hh:mm:ss
- PTB-Ruf-Bit "N=normal R=Rufbit"

2. Zeile:
- Temperatur Sensor, alterniert mit Jahr
- Datum
- Monat
- Wochentag

Der USB-Chip MCP 2200 von Microchip auf der Lötseite.

Das DCF77-Empfangsmodul von Reichelt oder Conrad, 
Es liefert bereits einen sauberen Sekundenimpuls.


Schaltplan

Das LCD-Display ist im 4-Bit Mode an den PIC angeschlossen. Die Helligkeit wird mit einem PWM-Signal des PIC über einen SIPMOS-FET BSS97 (RDS on <2 Ohm) gesteuert. Der LCD-Kontrast wird mit einem 10k Trimmer eingestellt. Der SG3503 ist eine externe, präzise Spannungsreferenz für die Temperaturmessung mit dem LM35CZ. Der PIC arbeitet mit einer Taktfrequenz von 20 MHz. Zusätzlich gibt es einen zweiten Taktgenerator mit 32 kHz zur Messung langer Zeiten (2 s Pause im DCF77-Bitaufbau). Das Bit-Signal des Empfängermoduls erzeugt im PIC jeweils einen Interrupt für die steigende und für die fallende Flanke. Eine LED blinkt kurz bei jedem Interrupt-Ereignis auf. Das Empfängermodul ist sehr empfindlich auf Leitungsstörungen. Deshalb sollte die Spannungsversorgung so sauber wie möglich sein. Die Stromversorgung der gesamten Schaltung erfolgt über USB. Die Datenanbindung an den PC geschieht über einen USB-Chip MCP2200, der mit einer Taktfrequenz von 12 MHz läuft. Die seriellen Leitungen zwischen USB-Chip und PIC müssen gekreuzt werden.


Schaltplan DCF77.


Download Eagle-Schaltplan DCF77-PIC2550-LCD2x16.sch

Programmierung MCP2200

Für den RS232-nach-USB-Converter MCP2200 liefert Microchip eine kostenlose
Einstellsoftware MCP2200Configuration Utility v1.3.1.

Parameter:
-Bauderate 19200
-DataBits  8
-Parity    None
-StopBits  One


Download Einstellsoftware MCP2200Configuration Utility v1.3.1.zip

Weiterhin muss auf dem PC ein entsprechender Treiber installiert werden. 

DCF77 Firmware PIC

Das Programm wurde erstellt mit dem open-source compiler GCBASIC für 8-Bit Microchip PIC's und dem freien Crimson Editor, der mit GCBASIC kommunizieren kann. Gebrannt werden die PIC's mit dem Programmer Brenner8-P nach 'sprut' für 5V-PIC's z. B. PIC18F (von AATis e.V. als Bausatz gekauft , incl. Boot-Loader 1.0 und Firmware 0.8 im PIC18F2550). Das PC-Frontend USBURN 1.3A2 für den Brenner (kann von der sprut-Seite geholt werden) läuft bei mir unter Windows 10 64 Bit im Kompatibilitätsmodus XP SP3.

Einstellungen im GCBASIC

Nach Öffnen obiger Datei sollte in Program/Hardware Settings/Chipselection der Prozessortyp auf 18F2550 und die Taktfrequenz auf 20.000 MHz eingestellt sein. In Chip Configuration soll der Oszillator auf HS=highspeed gesetzt sein. In Device Settings ist das LCD auf 4 Data Bits eingestellt und die Funktionen sind jeweils einem Port-Bit zugeordnet.

Hardware settings

Mit Tools/Compile werden im gleichen Pfad wie das Basic-Programm erzeugt: 
.asm, .hex, .html und .lst
Das .hex File wird in den PIC-Programmer geladen. Rechts sieht man die Subroutinen und Funktionen aufgelistet. 'LED_Blink' ist die Interrupt-Service Routine.

Subroutines

In Program/Interrupts wird 'PORTBChange' mit der Subroutine 'LEDBlink' als Interruptservice-Routine verknüpft. Bei jeder Änderung am PORTB (BIT-Signal vom DCF77-Modul) wird ein Interrupt ausgelöst. Am ausgelesenen Portwert kann die Richtung der Änderung erkannt werden (steigende oder fallende Flanke).

Interrupts

Weiterhin wird USARTRX1Ready mit der Subroutine 'SerEmpfang' verknüpft.

Interrupts

In Program/Variables kann auch die Bit-Breite einer Variablen ausgewählt werden.

Auswahl Bitbreite

Variables

Beschreibung der Firmware

Interrupt Service Routine 'LED_Blink' (Sekundenimpuls DCF77-Modul)

Zunächst wird durch auslesen des B-Ports entschieden, ob eine steigende oder fallende Flanke den Interrupt ausgelöst hat. Bei steigender Flanke wird Timer 1 gestoppt und die Zeit ausgelesen. Für die 1. bis 58. Sekunde ist diese 1 Sekunde. Von der 58. Sekunde sind es bis zum Beginn einer neuen Minute 2 Sekunden (es fehlt ein Sekundenimpuls). Für die nächste Messung wird Timer 1 wieder gestartet. Zur Messung der Impulslänge (Bit-Wertigkeit 0 oder 1) wird Timer 0 gestartet. Bei fallender Flanke wird Timer 0 gestoppt und die Zeit ausgelesen. Die Soll-Zeit für die Bit-Wertigkeit 0 ist 100 ms und für 1 ist 200 ms. Die Abweichung von der Sollzeit wird in 8 Stufen unterteilt und als Signalqualität mit dem Balken auf dem LCD-Display dargestellt.

Kommunikation zwischen PIC und PC

Grundlage ist eine Token-Tabelle. Damit ist eine Zuordnung der vom PIC gesendeten Daten möglich. Nachfolgend die Bedeutung der Token und ein live Protokoll:

Bedeutung Token 1. bis 57. Sekunde:
=====================================================================
@  Sekunde synchron, Zahl danach 10er Sekunden
A  Zahl danach 1er Sekunden
>  Zahl danach Modulation Träger 0,1 s = L = 0, 
   Modulation Träger 0,2 s = H = 1
=  Zahl danach Qualität Empfangssignal 1 bis 6 
   1=schlecht ... 6=sehr gut)
N  Zahl danach Temperatursensor 1/10 °C
O  Zahl danach Temperatursensor 1er °C
P  Zahl danach Temperatursensor 10er °C


Bedeutung Token 59. Sekunde:
=====================================================================
C  Minute synchron, Zahl danach Winter/Sommerzeit (0=Sommerzeit)
D  Zahl danach Minute 1er, BCD
E  Zahl danach Minute 10er, BCD
F  Zahl danach Stunde 1er, BCD
G  Zahl danach Stunde 10er, BCD
I  Zahl danach Tag 1er, BCD
J  Zahl danach Tag 10er, BCD
H  Zahl danach Wochentag, 1=Montag ... 7=Sonntag
K  Zahl danach Monat, Hex, 1=Januar ... C=Dezember
L  Zahl danach Jahr 1er
M  Zahl danach Jahr 10er
?  Zahl danach 0=Rufbit normal, 1=Rufbit Alarm für PTB
B  Zahl danach 1=Daten für 1 Minute vollständig und gültig


live Protokoll der USB/COM-Schnittstelle:
=====================================================================
Sekunde Protokoll                            Bemerkung
-----------------------------------------------------------------
57. @5A7>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
58. @5A8>0=6
    @5A8
59. @5A9N8O8P2z0z0z0z0z0z0z0z0z0z0       Träger nicht moduliert 
                                    Pause), Dummy-Impuls 
                                    für 59. Sekunde
    C0D5E1F9G1I1J3H4KAL3M1?0B1           Komplette Information 
                                    für die nächste Minute 
                                    stehen zur Verfügung
60. @0A0>0=6z0z0z0z0z0z0z0z0z0z0
1.  @0A1>0=6N8O8P2z0z0z0z0z0z0z0z0z0z0   Ab hier wieder 
                                         abgeleitet 
                                    vom moduliertem 
                                    Sekundenimpuls 
2.  @0A2>1=6N8O8P2z0z0z0z0z0z0z0z0z0z0
3.  @0A3>0=6N8O8P2z0z0z0z0z0z0z0z0z0z0
4.  @0A4>0=7N8O8P2z0z0z0z0z0z0z0z0z0z0
5.  @0A5>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
6. @0A6>0=7N8O8P2z0z0z0z0z0z0z0z0z0z0
7. @0A7>0=7N8O8P2z0z0z0z0z0z0z0z0z0z0
8. @0A8>0=5N9O8P2z0z0z0z0z0z0z0z0z0z0
9. @0A9>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
10. @1A0>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
11. @1A1>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
12. @1A2>1=6N8O8P2z0z0z0z0z0z0z0z0z0z0
13. @1A3>0=7N0O9P2z0z0z0z0z0z0z0z0z0z0
14. @1A4>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
15. @1A5>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
16. @1A6>0=5N0O9P2z0z0z0z0z0z0z0z0z0z0
17. @1A7>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
18. @1A8>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
19. @1A9>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
20. @2A0>1=5N9O8P2z0z0z0z0z0z0z0z0z0z0
21. @2A1>0=5N9O8P2z0z0z0z0z0z0z0z0z0z0
22. @2A2>1=6N8O8P2z0z0z0z0z0z0z0z0z0z0
23. @2A3>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
24. @2A4>0=7N0O9P2z0z0z0z0z0z0z0z0z0z0
25. @2A5>1=7N9O8P2z0z0z0z0z0z0z0z0z0z0
26. @2A6>0=5N0O9P2z0z0z0z0z0z0z0z0z0z0
27. @2A7>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
28. @2A8>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
29. @2A9>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
30. @3A0>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
31. @3A1>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
32. @3A2>1=5N0O9P2z0z0z0z0z0z0z0z0z0z0
33. @3A3>1=7N0O9P2z0z0z0z0z0z0z0z0z0z0
34. @3A4>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
35. @3A5>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
36. @3A6>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
37. @3A7>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
38. @3A8>0=5N0O9P2z0z0z0z0z0z0z0z0z0z0
39. @3A9>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
40. @4A0>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
41. @4A1>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
42. @4A2>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
43. @4A3>0=7N0O9P2z0z0z0z0z0z0z0z0z0z0
44. @4A4>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
45. @4A5>0=5N0O9P2z0z0z0z0z0z0z0z0z0z0
46. @4A6>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
47. @4A7>0=6N1O9P2z0z0z0z0z0z0z0z0z0z0
48. @4A8>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
49. @4A9>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
50. @5A0>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
51. @5A1>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
52. @5A2>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
53. @5A3>0=6N9O8P2z0z0z0z0z0z0z0z0z0z0
54. @5A4>1=6N8O8P2z0z0z0z0z0z0z0z0z0z0
55. @5A5>0=5N9O8P2z0z0z0z0z0z0z0z0z0z0
56. @5A6>0=7N0O9P2z0z0z0z0z0z0z0z0z0z0
57. @5A7>0=7N9O8P2z0z0z0z0z0z0z0z0z0z0
58. @5A8>0=6
@5A8
59. @5A9N9O8P2z0z0z0z0z0z0z0z0z0z0
C0D6E1F9G1I1J3H4KAL3M1?0B1
60. @0A0>0=6z0z0z0z0z0z0z0z0z0z0
1. @0A1>1=6N9O8P2z0z0z0z0z0z0z0z0z0z0
2. @0A2>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
3. @0A3>0=6N0O9P2z0z0z0z0z0z0z0z0z0z0
4. @0A4>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0
5. @0A5>1=6N0O9P2z0z0z0z0z0z0z0z0z0z0

Download Firmware in GCBASIC DCF77_Uhr...Release-1-1-011...String.gcb

PC Frontend geschrieben in VB2013

Der PC erhält laufend Daten von der Hardware über die USB-Schnittstelle
entsprechend der Token-Tabelle. Die Synchronisationen für Sekunde und Minute
garantieren die richtige Zuordnung der Daten. Dies wird oben links durch die
Zahnräder mit dem grünen +-Zeichen angezeigt. Sehr schön kann man sehen, dass
erst nach der 59. Sekunde das Protokoll für eine Minute komplett ist und
entsprechend die Daten angezeigt werden.

Folgende Funktionen sind implementiert:

-Signalqualität DCF77 als analoger Balken von schlecht bis gut
-Protokoll DCF77 zeigt an, ob die Übertragung über USB erfolgreich war
-BIT-Nr. entspricht den auf das Trägersignal modulierten Sekunden
-Uhrzeit/Datum wie über die Schnittstelle übermittelt
-COM erlaubt die Einstellung der passenden COM-Nr. (im Gerätemanager ermitteln)
 9600 Bits/s, 8Bit, keine Parität, 1 Stopbit, keine Flusssteuerung
-Sommer/Winterzeit wie über die Schnittstelle übermittelt, wird per Bild dargestellt
-Quelle schaltet um von DCF77-Hardware zu PC-interner Uhr und umgekehrt
-Ticken kann die Sekunden hörbar machen, Schieber unten bedeutet aus (zum Bedienen
 auf den Schieber klicken)
-Die Zeiger der analogen Uhr sind per VB animiert.

Download der Installationsversion DCF77.zip

Alle Downloads DCF77

Download Eagle-Schaltplan DCF77-PIC2550-LCD2x16.sch
Download Schaltplan Schaltbild-DCF77.pdf
Download Firmware in GCBASIC DCF77_Uhr...Release-1-1-011...String.gcb