Arduino DCF77 Master väggklocka (8 / 11 steg)
Steg 8: Testa slav utgångar
När klockan var klar byggde jag en testrigg (bild 1) för att kontrollera funktionerna klocka slav.
Riggen har den ledar-tar tid, 1 andra slav och 30 andra slav bifogas.
30 andra slav satsen (bild 2) har en 5 volt spole som aktiveras varje 30 sekunden. Det tar 120 impulserna att öka hela timme. Det finns olika tillverkare av dessa rörelse och de var vanliga i telefonväxlar, fabriker och skolor i Storbritannien. Många länder har en liknande elektro-mekanisk rörelse till detta med olika spänningar och eller puls frekvenser.
1 andra satsen (bild 3) drivs av en Lavet typ stegmotor. Motorn kommer från en kvarts klocka rörlighet med styrelsen kvarts kontrollen klipp ut. Motorn kräver mycket låg ström att köra den och kan drivas direkt från Arduino utdata via en trimmer motstånd. Det kräver bara en polaritet förändring på motorn att öka det 1 sekund.
Första testet är bara för att kontrollera att slaven utgångar arbetar dvs 30 andra klocka trappar varje 30 sekunder och 1 andra klocka trappar varje sekund.
Nästa 3 tester vintern sommar, sommar vinter och skottsekund korrigering kräver en extra Arduino och ett testprogram. Det finns ingen manuell kontroll att ställa in klockan klockan synkroniseras automatiskt till det DCF77 Atomic clock. Alla tester utförs genom överföring av dummy radio tid och datum kod i DCF77-format till klockan. Lyckligtvis utformat Udo Klein designer av DCF77 biblioteket används för att avkoda DCF77 signalen i denna klocka har också en DCF77 radio kodgenerator för Arduino.
Om du vill använda generatorn ladda Udos och programfiler Uno via serieporten. När styrelsen är programmerad ansluta en 1K resistor till stift 3 och en liten slinga av tråd till Gnd stift (bild 4). Loop kabeln när du testar runt DCF77 AERIAL-uttaget på enheten. Ladda upp ett terminalprogram eller bara öppna seriell bildskärmen från Arduino-gränssnittet. Uppsättning överföringshastigheten 115200 och tryck Ange. Du bör se följande på serial bildskärmen
kör
utgången på pin D3
Testa koden är förprogrammerad med vinter sommar, sommar vinter och skottsekunder så allt du gör är sätta klockan till en tid och datum 15 minuter före händelsen. Detta ger Master klocktiden till sync till den dummy signalen. Dummy signalen synkroniseras och befälhavaren visar dummy tid och datum ställa in slavarna på test riggen att visa denna tid också.
Video 1 visar klockan automatiskt korrigera 30 andra slav för sommaren.
Brittisk sommartid börjar den sista söndagen i mars 01:00 GMT. DCF77 signalen är inställd CET så när DCF77 radio kodgeneratorn är programmerad ställa det en timme framåt som timmen kommer att tas bort av koden i den ledar-tar tid. Om du är i en CET zon bara sätta den till tid behöver du.
Master klockan hoppar automatiskt från 00:59:59 till 02:00:00 men 30 andra slav Visar 1 oclock. 30 andra slav-tar tid inte kommer automatiskt korrigera tills brukas i växeln "Arm" och sedan "Advance/Retard" nyckel drivs i 1 sekund. Traditionellt gjordes i byggnader där jag arbetade detta på tidigt måndag morgon efter klockor hade ändrat. Du kan ändra koden för att göra detta automatiskt men då skulle du behöva vara runt på 01:00hrs att titta på den.
En gång utlöste med nyckeln "Advance/Retard" 30 andra klocka kommer att börja avancera varje sekund. "Sommaren Advance" kommer att visas på LCD-skärmen tillsammans med antalet advance pulser. 120 extra pulser är skyldiga att föra de slav-tar tid med 1 timme.
De 120 extra pulserna tar 2 minuter att skicka och under denna period ett antal normala 30 andra pulser skulle vara missade (antal beroende på när förskottet startades). För att komma över detta problem advance puls räkningen slutar på noll och 30 sekunder.
När puls räkningen når 120 kommer att slav klockan Visa samma tid som Master klockan och LCD-skärmen kommer att återgå till det normala.
Video 2 visar klockan automatiskt korrigera 30 andra slav för vintern.
30 andra klockor kan inte flytta bakåt så att de är efterbliven genom att stoppa pulser i 1 timme (120 pulser)
På operativt växeln Advance Retard räknas missade pulserna från nästa 30 andra pulsen.
Brittiska vintern börjar den sista söndagen i mars, kl 02:00 GMT + 1. Master klockdisplay hoppar från 01:59:59 till 01:00:00 och GMT + 1 ändras till GMT + 0. Som ovan slav korrigeras klockor inte tills nyckeln "Advance/Retard" är i drift under en sekund.
En gång utlösta befälhavaren väntar nästa 30 andra pulsen och LCD-Display "Vintern Retard" tillsammans med antalet missade pulser. Antalet missade pulser är avancerad för varje 30 andra puls missade och när den når 120 slav kommer att visa samma tid som Master klocka och LCD displayen återgår till det normala.
Video 3 Visar 1 andra klocka korrigera för en skottsekund.
DCF77 radio kodgenerator har skottsekunder byggdes. Bara leta efter senaste skottsekunder och ange generatorn till detta datum och denna tid.
Här är ett exempel på hur du ställer in generatorn att utlösa en skottsekund.
Att utlösa en skottsekund för GMT (för CET ta en timme)
Skicka
X15.01.01 00:45:00 1 0001
Utgångar
kör
utgången på pin D3
nuvarande tid setup (åå. MM. DD hh:mm.ss w sbtl)
w = veckodag, s = sommartid, b = backup antenn, t = timzone ändra planerad, l = skottsekund planerad
15.01.01 00:45:00 1 232001
Ange mål tid Använd en av följande format
enkelt läge: sYY.MM.DD hh:mm.ss
utökad läge: x: YY. MM. DD hh:mm.ss w sbtl
nuvarande tid setup (åå. MM. DD hh:mm.ss w sbtl) w = veckodag, s = sommartid, b = backup antenn, t = timzone ändra planerad, l = skottsekund planerad 15.01.01 00:45:00 1 232001
Detta faktiskt in min klocka (inställd på GMT) en gång avkodas till 23:45 31 December 2015 plus några minuter för avkodning tid.
När skottsekund sprutas stoppas 1 andra klocka slavar under 1 sekund. Befälhavaren visar 23:59:59 sedan 23: 59:60. 1 understöder, och 30 andra slavar är inte klev tills befälhavaren visar 00:00:00. Skottsekund kommer att upptäckas som en snabb puls och registreras på 1 andra displayen tillsammans med datum och tid det inträffade.