Stap 8: Testen slaaf uitgangen
Toen de klok was voltooid bouwde ik een test rig (foto 1) Controleer de klok slaaf functies.
Het tuig heeft de master klok, 1 tweede slaaf en een 30 tweede slaaf gekoppeld.
De 30 tweede slaaf beweging (foto 2) heeft een 5 volt spoel die elke 30 seconden wordt geactiveerd. Duurt 120 impulsen te voeren een hele uur. Er zijn verschillende fabrikanten van deze beweging en ze waren gebruikelijk in telefooncentrales, fabrieken en scholen in het Verenigd Koninkrijk. Veel landen hebben een soortgelijke electro-mechanische beweging om dit met behulp van verschillende spanningen en/of puls frequenties.
De 1 tweede beweging (foto 3) wordt gedreven door een Lavet type stepping motor. De motor is afkomstig van een klok quartz uurwerk met de kwarts control board uitgesneden. De motor vereist zeer laag stroom om te rijden en kan worden gereden direct van de Arduino-uitvoer via een snoeischaar weerstand. Het vereist slechts een verandering van polariteit op de motor stap het voor 1 seconde.
De eerste test is gewoon om te controleren dat de slaaf uitgangen werkt ie de 30 tweede klok is intensivering elke 30 seconden en de 1 seconde klok is intensivering elke seconde.
De volgende 3 proeven winter zomer, zomer-winter en een schrikkelseconde correctie vereisen een reserve Arduino en een testprogramma. Als de klok automatisch gesynchroniseerd aan de Atomic DCF77 klok is er geen handmatige controle de klok wilt instellen. Alle tests worden uitgevoerd door verzending van de tijd en datum code dummy radio in de DCF77-indeling op de klok. Gelukkig ontworpen Udo Klein de ontwerper van de DCF77-bibliotheek gebruikt om te decoderen van het signaal van DCF77 in deze klok ook heeft een generator van de code van de radio van DCF77 voor de Arduino.
Voor het gebruik van de generator downloaden Udo de code en programma de Uno via de seriële poort. Zodra de Raad van bestuur is geprogrammeerd sluit een weerstand van 1K aan op pin 3 en een kleine lus van de draad aan op de Gnd pin (foto 4). Lus van de draad zodra rond de DCF77 antenne van het apparaat u wilt testen. Laad-up van een terminalprogramma of gewoon de seriële monitor openen vanuit de Arduino interface. Set de baud-rate tot 115200 en druk voer. Moet u het volgende op de seriële monitor
uitgevoerd
uitgang op pin D3
De test code is voorgeprogrammeerd met winter zomer, zomer-winter en leap seconden dus alle jij is de klok ingesteld op een tijd en datum 15 minuten vóór de gebeurtenis. Dit geeft de tijd van de Master klok te synchroniseren in de dummy signaal. Zodra de dummy signaal wordt gesynchroniseerd en de kapitein wordt weergegeven instellen de dummy tijd en datum de slaven op de beproevingsinrichting te tonen van dit moment ook.
Video 1 toont de klok de 30 tweede slaaf automatisch te corrigeren voor de zomer.
Britse zomertijd begint op de laatste zondag in maart om 01:00 GMT. Het DCF77-signaal is ingesteld op CET zo wanneer de DCF77 radio codegenerator is geprogrammeerd instellen het een uur vooruit als het uur worden verwijderd door de code in de master klok. Als u in een CET zone enkel het aan de tijd die u nodig.
De Master klok springt automatisch van 00:59:59 tot 02:00:00 maar de 30 tweede slaaf 1 oclock zal tonen. De 30 tweede slaaf klokken zal niet automatisch corrigeren totdat de "Arm" switch wordt beheerd en vervolgens "Voorschot/Retard" toets gedurende 1 seconde wordt beheerd. Traditioneel werd in de gebouwen waar ik dit werkte gedaan op vroege maandagochtend nadat de klokken had gewijzigd. U kunt de code zodat deze automatische maar dan zou u moeten worden rond op 01:00hrs om hem te bekijken.
Eenmaal geactiveerd door de "Voorschot/Retard" sleutel de 30 tweede klok beginnen zal om elke seconde. "Zomer Advance" wordt getoond op het LCD-scherm samen met het aantal pulsen van het voorschot. 120 extra pulsen zijn vereist voor het opschuiven van de slave-klokken van 1 uur.
De 120 extra pulsen duurt 2 minuten om te sturen en gedurende deze periode een aantal normale 30 seconde pulsen zou gemist (het aantal afhankelijk van waarop het voorschot is gestart). Om over dit probleem het voorschot pols tellen stopt op nul seconden en 30 seconden.
Zodra de pols tellen 120 tot toont de slaaf klok tegelijkertijd de Master klok en het LCD-scherm naar de normale terugkeren zal.
Video 2 toont de klok de 30 tweede slaaf automatisch te corrigeren voor de winter.
30 seconden klokken niet achteruit verplaatsen zodat ze zijn achterlijk door het stoppen van pulsen voor 1 uur (120 pulsen)
Op de operationele de Advance Retard-schakeloptie worden de gemiste pulsen geteld vanaf de volgende 30 tweede pols.
Britse winter begint op de laatste zondag in maart om 02:00 GMT + 1. De master klokvertoning springt van 01:59:59 tot 01:00:00 uur en GMT + 1 zal veranderen in GMT + 0. Als boven de slaaf worden klokken niet gecorrigeerd tot de "Voorschot/Retard"-toets wordt beheerd voor een tweede.
Eenmaal geactiveerd de Master wacht voor de volgende 30 tweede puls en de LCD Display "Winter Retard" samen met het nummer van gemiste pulsen. Het aantal gemiste pulsen is gevorderd voor elke 30 tweede pulse gemist en zodra zij 120 die de slaaf tonen de dezelfde tijd tot zal als de Master klok en LCD display zal terugkeren naar normaal.
Video 3 toont de 1 tweede klok corrigeren voor een schrikkelseconde.
De generator van de code van de radio van DCF77 heeft leap seconden in gebouwd. Gewoon zoeken naar afgelopen leap seconden en de generator op deze datum en tijd ingesteld.
Hier is een voorbeeld van het instellen van de generator om te activeren een schrikkelseconde.
Om trigger een schrikkelseconde voor GMT (voor CET opstijgen uurtje)
Verzenden
x15.01.01 00:45:00 1 0001
Uitgangen
uitgevoerd
uitgang op pin D3
huidige tijd setup (JJ. MM. DD hh:mm.ss w sbtl)
w = weekdag, s = zomer, b = back-antenne, t = timzone wijzigen gepland, l = schrikkelseconde gepland
15.01.01 00:45:00 1 232001
Doel gebruik een van de volgende indelingen instellen
simpele modus: sYY.MM.DD hh:mm.ss
uitgebreide modus: x: JJ. MM. DD hh:mm.ss w sbtl
huidige tijd setup (JJ. MM. DD hh:mm.ss w sbtl) w = weekdag, s = zomer, b = back-antenne, t = timzone wijzigen gepland, l = schrikkelseconde gepland 15.01.01 00:45:00 1 232001
Deze set eigenlijk mijn klok (ingesteld op GMT) eenmaal gedecodeerd tot en met 23:45 31 December 2015 plus een paar minuten voor tijd decoderen.
Wanneer de schrikkelseconde wordt geïnjecteerd bent de 1 tweede klok slaven gestopt voor 1 seconde. De kapitein verschijnt 23:59:59 dan 23: 59:60. De 1 tweede en 30 tweede slaven zijn niet stapte totdat de master 00:00:00 toont. De schrikkelseconde zal worden gedetecteerd als een snelle puls en zal worden opgenomen op het 1 tweede display samen met de datum en tijd die het plaatsvond.