DCF77 op 50228

DCF77 is de atoomklok tijdseinzender in Mainflingen. 50228 is het typenummer van 1 van de display-printplaten die de MakerSpace kreeg. En mijn idee was op dat display een klok te laten weergeven, gesynchroniseerd aan de tijdzender. Zodoende: DCF77 op 50228.

Op de foto is het 20 uur 23 en 33 seconden, op 7 maart 2026.

De Atmega161 op de 50228 print werd niet ondersteund door Arduino, en ik wilde graag de DCF77 Arduino bibliotheek gebruiken. Daarom heb de MajorCore van MCUDude aangepast om ook de Atmega161 te ondersteunen. Je vind mijn aanpassingen hier.

Ik heb een Arduino-bibliotheek gemaakt voor de 50228 displayprint, gebaseerd op de bestaande C sources. Te gebruiken in combinatie met de aangepaste MarjorCore. Daarmee is de 50228 displayprint nu bruikbaar voor alle Arduino-Makers ipv. alleen de elektroMakers.

Ik gebruik de fantastische DCF77-xtal bibliotheek van blinkenlight. Op de print zit namelijk een keurig 8 MHz kristal oscillator1 die hier heel geschikt voor is. Ook hier waren kleine aanpassingen nodig, omdat de bibliotheek origineel niet bedoeld was voor de Atmega161. Die aanpassingen vind je hier.

Snel iets flansen met een ‘duino bleek dus wat meer voeten in de aarde te hebben. Waarschijnlijk was het niet de makkelijkste route een aangepaste Arduinocore en een displaybibliotheek te maken. Maar nu kunnen anderen er ook mee aan de slag alsof de 50228 print een Arduino is.

Verder heb ik een behuizing voor het geheel ontworpen. Dat ontwerp staat op printables.

Howto:

  • De behuizing vindt je hier, alsmede uitleg hoe deze te printen en lasercutten.
  • Voeg de aangepaste MajorCore aan arduino toe (download ‘m en zet ‘m in de juiste map)
  • Voeg de arduinobibliotheek voor het display toe aan arduino (download ‘m en zet ‘m in de libraries-map)
  • Pas de hardware aan en laad de bootloader:
    • Gebruik een AVR programmer om de bootloader in de Atmega161 te laden. (“Burn bootloader” in het menu, aansluitingen op de main header beschikbaar, ziet tabblad 50228 op de displays-pagina op de MakerWiki)
    • Sluit Rx, Tx, GND en DTR aan op een USB-serial converter. DTR wordt via 100 nF op de reset van de atmega161 aangesloten, daarvoor kan de ongebruikte pin boven de resetpin op de boxheaderconnector gebruikt worden, door 100 nF tussen die pinnen te solderen. Zie bovenstaande foto’s. Soortgelijk kan RTS via 100 Ohm op de reset worden aangesloten.
      Voortaan is de print dan bruikbaar alsof het een Arduino is: Uploaden kan via de bootloader met deze USB-serial converter
  • Wil je de klok maken?
    • Voeg dan op dezelfde manier de aangepaste DCF77-bibliotheek toe. De sourcecode van de klok vindt je hier.
    • Sluit dan de DCF77 ontvanger aan op pin PE0 . Daarvoor kan een draadje gelegd worden tussen een vrije pin van de boxheader en pin 29 van de Atmega161. Dit is de enige vrije interrupt pin (INT2), de andere interruptpinnen worden door de schakelaars gebruikt.
      Ook de voeding kan van de boxheader worden afgenomen. Ik heb de vrije pinnen naast GND en VCC gebruikt als extra voedingspinnen, zodat tegelijkertijd mijn AVR dragon, DCF77 ontvanger en USB-serial converter aangesloten kunnen zijn. Zie bovenstaande foto’s.

Voetnootjes:

  1. Die oscillator is een SG-531-P C van Seiko / Epson : 8.000 MHz, 100 ppm ↩︎

Posted

in

, , ,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *