Ik ben bezig met een scoreboard en wil hier graag een klok aan toe voegen.
Het scoreboard bevat 6 zelf gemaakte 7 segment display's (mbv ledstrips van samenkopen) welke worden aangestuurd mbv een max7219 tevens zit er een 8 x (8x8 dotmatrix) lichtkrant op welke ook mbv de max7219 wordt aangestuurd.
Voor de lichtkrant gebruik ik een 18f2620 vanwege zijn ruime geheugen en voor de score segmenten een 16f.

Nu wil ik graag een klok toevoegen (eigen pic) met de actuele tijd en evt datum. Zelf dacht ik meteen aan de DF77 module maar lees ier dat daar toch wel vaak problemen met de ontvangst mee zijn... Nu komt het scorebord buiten te hangen tegen een metalen gevel...kan iemand inschatten of dit problemen gaat geven. Als tweede optie zag ik de DS1302/7 welke hiervoor ook geschikt is. Echter wordt het bord steeds spanningsloos geschakeld en zal ik hiervoor dus iets voor moeten verzinnen om de actuele tijd te behouden.

Wat zou de 'beste' keuze zijn?

Heeft iemand suggesties?

Je hebt een tijdsbasis nodig, die redelijk stabiel is. Daarvoor kan je de frequentie van het lichtnet gebruiken, of een kristal-oscillator of de klok van de PIC, als die kristal-gestuurd is, of een RTC.
Daarnaast kan je een DCF77-module gebruiken om de de tijd in te stellen bij het inschakelen van het scorebord.
Het is waar, dat een onweer of andere malheuren de DCF77-ontvangst flink kunnen verstoren. Precies daarom is die niet geschikt als tijdbasis. Maar hij is wel geschikt om je tijdsbasis in te stellen en zo nodig te corrigeren.

Bedankt Pros,

Het is misschien inderdaad handig om de dfc77 te gebruiken om de klok in te stellen na inschakelen van het bord. Vervolgens zorgen dat de pic met een redelijke nauwkeurigheid de tijd bijhoudt en naar
de max7219 stuurt.
Ik zal m'n vriend google eens raadplegen hierover. Er zijn er vast al een heleboel hiermee bezig geweest....
Ik zal de vorderingen van de klok posten.

Ik ben zelf met iets soortgelijks bezig. Ik ben alleen aan het twijfelen of ik de pic als klok gebruik of hier een RTC voor gebruik. Verder gebruik ik wel de DCF77 module om 1 of misschien 2 keer per dag de tijd evt te corrigeren. Ik denk zelf de RTC te gebruiken, maar in principe kan het ook goed zonder.

Je kunt ook een GPS ontvanger nemen met een 1PPS uitgang.

De meeste CO-leden zullen ondertussen al wel weten dat ik 100% fervent voorstander ben van DCF77.

Al mijn zelfbouw 6-digit LED/Nixie/VFD klokprojecten zijn uitgerust met een DCF77-ontvanger, ook mijn 3 commerciële LCD-muurklokken, 2 reiswekkers en 1 radiowekker zijn DCF77-gestuurd (zelfs mijn polshorloge is DCF77: Casio Waveceptor).
Het grote voordeel: De precisie en de omschakeling naar zomer of wintertijd gebeurt automatisch, alsook schrikkeljaren en de invoeging van een schrikkelseconde.

De enige klok die nog niet DCF77-gestuurd is is die van mijn microgolfoven (tot nu toe nog geen gevonden ;)).

Tot eind jaren '80 werkte ik hoofdzakelijk met de 50Hz netfrekwentie als tijdbasis maar de precisie (tot een verschillende minuten afwijking/maand) viel persoonlijk erg tegen, zeer zeker niet door de netfrekwentie zelf maar door allerlei viezigheid op het spanningsnet die ik er nooit 100% uitgefilterd kreeg.

Daarna overgestapt op kristaltijdbasis (o.a. met de Intersil ICM7238, nu obsolete).
De precisie van de meeste kristallen (30-100ppm) is ook niet om over naar huis te schrijven.
De volgende stap waren de Maxim DS13xx RTC's waarvan de precisie ca. 35ppm is, met wel het voordeel dat datum/tijdsinstellingen bewaard blijven.
De laatste stap met RTC's was de Maxim DS32KHZ TCXO (Temperature Controlled Xtal Oscillator) met een afwijking van ca. 1 minuut/jaar tussen 0 en 40°C.

En zeg nou zelf: Wat is het nut van een secondenaanduiding als deze van geen kanten klopt?

In 2004 ben ik dan begonnen, op basis van het Conrad 641138 DCF77-ontvangertje, met het ontwikkelen van DCF77 ontvangst-en decodeerroutines in PIC16F assembly.
Dit werkte zo goed dat ik sindsdien niet meer van DCF77 afgestapt ben.

Mijn recept is een standalone 24-uurs klok/kalender routine op basis van een goedkoop standaard 4.194MHz kristal, met een afwijking van zo'n 10 seconden/dag.
Het complete klokprogramma heeft geen manuele tijd/datuminstelling maar wordt puur gesynchronizeerd met DCF77 na ontvangst van het eerste geldig DCF77-frame en nadien elke minuut voor zover deze frames ook foutloos zijn.
Commerciële DCF77 klokken worden slechts 1x/dag gesynchronizeerd maar ik ben hier van mening: méér is beter. ;)
De informatie is er, waarom deze niet gebruiken.
Via een jumper kan CET, CET-1 en CET+1 tijdzone ingesteld worden.

Er zijn 4 statusLEDs voorzien voor indicatie van de 1Hz DCF77 beat (blauw), missend startbit (bit20)/parity error/afwijking bitlengte (100&200msec) > 25% (rood), missend DCF77-signaal/missend bit59 (geel), en geldig DCF77-frame (groen).
De status LED's zijn een enorme hulp (zeg maar onmisbaar) bij het plaatsen/uitrichten van de DCF77-ontvanger op de beste ontvangst.

Op nu 6 jaar tijd heb ik nooit gezien dat het DCF77-signaal ontbrak (het PTB heeft een DCF77-reservezender en reserveantenne in geval van defect of onderhoudswerkzaamheden - zie bit15 van het DCF77-frame).
Wel heb ik een paar maal storing ondervonden tijdens (hevige) onweders alsook bij aanwezigheid van sterke EMI rond de DCF77-ontvanger.
Dit heeft méér te maken met de eenvoud van het Conrad ontvangertje zelf (rechtuitontvanger) en zijn middelmatige ontvangstgevoeligheid en selectiviteit (onvangertje kost dan ook maar 10€).
Meinberg in Zwitserland verkoopt professionele DCF77-ontvangers maar die zijn wel een veelvoud duurder.
Bij mijn LED/VFD klokken is 50cm afstand van de ontvanger t.o.v. de klok voldoende voor een storingsvrije ontvangst.
Bij mijn Nixieklokken lukt dit niet met 50cm maar daar wordt de hoogspanning (+180V) in de opstartfase uitgeschakeld als er binnen de paar minuten geen geldig DCF77-frame ontvangen wordt.
's Nachts worden de nixies gedoofd tussen 00:00 en 06:00 uur zodat ook daar succesvolle DCF77-synchronisatie geen probleem is.

GPS als tijdbasis is even nauwkeurig als DCF77 maar met als nadeel dat alleen de minuten gesynchronizeerd worden (zomer/wintertijd blijft manueel, evenals de tijdzone).

@Bas Aaij:
1. Je kan de DCF77-klok/ontvanger uitgeschakeld laten en bij inschakelen laten synchronizeren (indien nodig de DCF77-ontvanger op een geschikte plaats monteren en verbinden met de klok via een afgeschermd kabeltje zodat de klok binnen de paar minuten kan synchronizeren).
2. De klok/DCF77-ontvanger 24/24 ingeschakeld laten en enkel het scorebord (display) uitschakelen.

PS: Had ik al gezegd dat ik fervent voorstander van DCF77 ben? ;)

Een andere optie is een PIC met (inter)netwerk interface nemen, en de tijd binnenhalen van een NIST/NTP server. Kan handig zijn bij gebieden met slechte DCF dekking... Als je er een kiest in Nederland (nl.pool.ntp.org), dan geeft die ook zomer/wintertijd door, alhoewel je die ook zelf kunt berekenen natuurlijk. (Laatste zondag maart/oktober)

Zo.. Bedankt voor al de interresante informatie.. Het lijkt me inderdaad wel handig om de dfc77 toe te gaan passen. Het is geen probleem om na inschakelen van het bord de eerste minuut(en) te moeten wachten op de tijdsweergave. Aangezien ik toch al had gedagd om ook maar de actuele temperatuur toe te voegen laat ik deze gewoon zien zolang er nog geen ontvangst is...
Bedankt.
Wordt vervolgd...

zeg TURBOKEU , is er nou niet een "antenne versterker"
of zoiets?
aan mijn wekkerradio "hangt "een losse antenna die
(maakt niet uit ) hoe het ligt zit of staat , altijd een goede ontvangst heeft.

Dat antennetje is voor de AM/FM radioontvangst van de wekkerradio, niet voor de DCF77-ontvanger.
Al dan niet ingebouwde DCF77-ontvangers komen met hun eigen ferrietantenne.

Ik heb de dcf77 ontvanger icm een pic18f4520 draaien mbv het programma van Frits van picbasic.nl.
Dit werkt perfect. Ook dit is weer een prima voorbeeld programma van Frits.
Nu wil ik graag een dotmatrix erbij voegen en hierop de ontvangen tijd presenteren.
Ik heb het programma zo aangepast dat het gereed is om de tijd op het matrix weer te gaan geven maar nu de vraag hoe..
Er zijn hiervoor 3 bytes in het programma van Frits, uur,seconden en minuten. Deze worden geprint door de instructie print DEC2 uur, DEC2 min, DEC2 sec.
hoe kan ik deze variabelen gebruiken ofwel naar decimaal om zetten zodat ik uren (0-24) minuten (0-60) en seconden(0-60) krijg. helaas mag ik niet zeggen, urendec= DEC2 uren.
Hoe zou ik dit kunnen doen.
Als het nodig is post ik de code.

Ik heb het gevonden.. Ben nog een beetje aan het kijken naar de netste manier maar dit werkt in ieder geval:


StrN tijdarray1 = Str$(Dec uurDOT)
      tijdarray1[0] = Dig uurDOT, 1
      tijdarray1[1] = Dig uurDOT, 0
      h1 = tijdarray1[0]
      h2 = tijdarray1[1]

[Bericht gewijzigd door Bas Aaij op (16%)]