In the spring 2010 Hans Sundgren designed and built a DCF77 simulator/demonstrator as part of a PIC programming course at the Royal Institute of Technology (KTH) in Stockholm. [ IL131V Tillämpad digitalteknik med PIC-processor ]
The project was presented May 5th in KTH Campus, Kista.
The acronym DCF77 stands for:
C=Long wave signal
77=frequency: 77.5 kHz.
The DCF77 Simulator is a combined simulator and demonstrator. It generates DCF77 time code at the same time as it displays the code in different views. The time code to be generated can be set to any time between 2000-01-01 and 2099-12-31.
The simulator can control DCF clocks via two interfaces:
DCF77 protocol (in Swedish)
Based on the information on this web page other people have succeeded building the simulator, with smaller or larger personal adjustments. One of them is Nick Raptis from Greece. Extracts from Nicks report 2011-01-24 published with his permission:
... I'm an electronics engineer living in Athens, Greece and the reception of DCF-77 signal is rather pure as I suppose is, also, the case in certain parts of Sweden. Especially in my lab, I had no success to receive it and even less luck to test or troubleshoot any circuits designed to use this signal.
I found your site almost after you published this circuit, during summer 2010, and started gathering all necessary components. Unfortunately, I got lazy during the process and left this project behind although not forgetting about it. During last Christmas holiday period I pulled myself together and started building it. I used almost the same method as you did, by point to point wiring. The first tests with the main signal generating microprocessor were succesfull and I continued to the end. Although, I didn't follow your method of the very professional front panel construction, my approach was quite good looking and generally acceptable. Even more, I have enriched my electronics lab with a trustful DCF-77 signal generator ready for any upcoming project.
Just for your knowledge, as I could not find anywhere the 77,5 KHz crystal and the antenna required (my father could not help me as yours did!!), I ripped these components from a Conrad DCF-77 receiver module. ...
Start/Stop: Starts and stops the time signal according to the DCF77 protocol and the set time.
Transmit: Switches the transmitter on/off. Can only be activated when signal generation is in progress.
View: Switches between 4 different viewing modes:
a) Shows the set time and transmitted bit value, without LCD background light
b) Shows the set time and transmitted bit value, with LCD background light
c) Shows an overview of all 60 bit values for a complete minute interval, where the current bit is underlined
d) Shows a dynamic explanation of the bit information currently sent.
Set time and -/+ dial: Activates setting mode where the time can be set using the -/+ dial. The time parameters are sequentially stepped through: Hour, Minute, Second, DST, Year, Month, Day, Weekday. The set time is finally stored in EEPROM.
Sound: Activates a audio indication to complement the text display. The dial is a normal volume control. In addition, it controls the sound types. By quickly turning the knob up+down, 5 different sound types are stepped through:
a) No sound, amplifier off. b) Click sound. c) Tone sound. d) Tone sound inverted, high frequency. e) Tone sound inverted, low frequency.
77.5 kHz: Connection to external antenna, if required.
Pulse: Pulse interface for electrical connection to a DCF clock. The signal simulates the output from a DCF77 receiver.
9-12 V: External power supply, if required.
The simulator is built around a PIC-processor for the DCF77 simulation and control. In addition the following modules are included:
The code is written in the programming language C, for the B Knudsen Cc5x C-compiler - not ANSI-C.
|DCF Simulator – PIC16F886 first part|
|DCF Simulator – PIC16F886||dcf_sim_886_0503.hex|
|Sound selection – PIC16F690||dcf_sound_selection_0502.hex|
|Tone generator – PIC16F628||tone_generator_0502.hex|
The DCF77 simulator was first designed with PIC16F628, a two-row LCD display and an electrical interface to the clocks.
After upgrading to PIC16F690 a rotary encoder could be used for setting time. In addition, a 4-row LCD display with several "views" could be utilized thanks to the larger program memory.
The final simulator design added sound to emphasise the "display" of the time signal. A rotary encoder is used for both volume control and for selecting sound type.
This final version uses PIC16F886 as the main processor with the two previously used processors as support processors taking care of the sound selection and generation.
Besides the 3 PIC controllers the circuit also uses an amplifier, a digital potentiometer and a MOS-FET relay.
Eagle schematics file:
The simulator is built on a strip-board, also known as Veroboard. The board also holds the loudspeaker.
Besides pin connectors to the front panel controls, battery and antenna there are also 3 pin connectors for in-circuit programming (ICSP™) of the three PIC controllers on the board. The PICkit™ 2 programmer can be plugged in directly onto the connectors.
The front panel was drawn in Front Panel Designer and sent to Schaeffer AG for milling and engraving. More >>>
Fronr Panel Designer file:
The front panel is the base for the unit. The LCD display is base for the circuit board.
The project was completely designed and built in the kitchen using a soldering iron from Biltema.
To verify the function several different radio controlled clocks were used, some of them digital and some of them analog.
Sture Sundgren (88) had a suitable ferrite antenna and helped Hans tuning the antenna to the frequency 77.5 kHz. Only a low-power transmitter was used in the project. The cover range is only some meter.
To be able to control all push-buttons and rotary encoders and to display the DCF protocol in different views, the PIC16F886 was required. The processor was purchased from Kjell & Company in Västerås during a lunch break for SEK 49. This little chip includes:
Even though the computer was used for most of the development some design was made by pencil and paper, for example the strip-board layout.
Hans wrote it in Swedish.
The program code was written with PFE. The text editor requires no installation, as it is run as an exe-file.
The circuit diagram was drawn in Eagle. The program is an easy to use drawing tool with the possibility to define your own components.
The front panel was designed with the Front Panel Designer. It is possible to make cut-outs in different shapes and specify engraving with different styles and sizes. A menu command Pricing presents a detailed price specification. When the design is ready, the order is sent to Schaeffer AG in Germany by some clicks. After some weeks the front panel is delivered, exactly as drawn.