De digitale klok Barebone rev2


De kerels van Hey...

Hier is een opvolging van het project van de digitale klok dat ik over een jaar geleden gepost heb. Ik heb niet overwogen de drift van de RTC-module! Ik heb gevonden de drift te zijn plus 1 RTC minuut voor elke 21 dagen voorbij, dat is enorm. Dit is al na heroriëntatie op de xtal-oscillator in de module van de break-out DS1307 om zo dicht mogelijk bij de chip mogelijk te zijn, die samen met andere overwegingen, in de maxim app Opmerkingwerd gesuggereerd.


Opties overwogen:

1. optimaliseren van RTC: Kijk voor de beste xtal, bijpassende capacitances, etc, etc <--niet onmogelijk

2. handmatige decrement knop voor de minuten waarde toevoegen <--dit betekent dat wijzigingen in de hardware. De gemakkelijke uitweg!!

3. auto-kalibratie door de host-microcontroller


Het algoritme:

Wat ik nodig heb is een automatische software gebaseerde kalibratieroutine. Na sommige proeven (en eigenlijk vinden van de tijd om het te doen!), kwam ik met dit... Opslaan van de cal factor 21 (dagen per minuut) en de dag de laatste cal werd gedaan op een handige locatie voor niet-vluchtig. Elke keer dat de klok is ingeschakeld (in mijn geval dat is elke ochtend 7:05 uur, met uitzondering van weekends en feestdagen ;), de mcu leest deze waarden en vergelijken met de huidige RTC datum als veelvouden van 21 dagen reeds is verstreken. Als ja, decrement minuut waarde door de overeenkomstige graaf sla huidige dag terug naar de locatie van de 'lastCalDay'. Hetzelfde controleren op de volgende kracht...


De uitvoering:

Voor de locatie van de cal heeft DS1307 een 'algemene reservebatterij ram met onbeperkt schrijft'. Voor de calFactor en de lastCalDay zullen we twee 8-bit bytes. Voor het tellen van dagen verschil, zullen we de RTC-datum (maand en dag getallen) omzetten in een enkel geheel getal vanaf een referentiedatum. We kunnen voor dit eerste dag van het huidige jaar gebruiken als referentie, dagnummer 1. Dit betekent dat het maximum aantal dagen tussen cal mag niet meer dan 365. Met behulp van dagnummer is handig om het verschil te krijgen, en ook voor het opslaan van de datum op het RAM-geheugen. Voeg gewoon de voorziening voor nieuwe jaar wanneer dagen tellen van 365 tot 1 teruggaat. Eenmaal dagen verschil wordt bepaald dat we vervolgens het desbetreffende aantal minuten kunt verlagen. Voor de eenvoud van de code koos ik om cal overslaan als de resulterende minuut verschil zal wrong weerom het cijfer van uren. Raadpleeg de attachmed voor de volledige code uitvoering.


De resultaten:

Resultaten van mijn validatie gebleken juiste werking zoals ontworpen. Natuurlijk, de code, en inderdaad het algoritme kunnen nog steeds worden geoptimaliseerd voor de nauwkeurigheid en elegantie, maar voor nu deze werkt voor mijn doel prima!

Laat het me weten als je meer details nodig indien u wenst te maken van dit project... Suggesties zijn ook welkom.

Bedankt. Geniet van!



Gerelateerde Artikelen

De digitale klok Barebone

De digitale klok Barebone

hier is een snelle en eenvoudige digitale klok die u aan uw kast muur kunt spelden. Goed gesprek stuk en vertelt u wanneer zijn tijd naar huis te gaan...Voor de hardware: Ik gebruikte een tiny2313 (u kunt gebruiken met ten minste 14 IO van ieder klei
Volledige digitale klok met aanwezigheid Sensor (RTC - Alarm - PIR - temperatuur - vochtigheid - dauwpunt)

Volledige digitale klok met aanwezigheid Sensor (RTC - Alarm - PIR - temperatuur - vochtigheid - dauwpunt)

HoiIk heb al enkele digitale klokken projecten gedaan met Arduino met inbegrip van LED en LCD schermen, maar deze is specialer omdat ik hebben een nieuwe functie ingevoerd met een bewegingssensor (PIR).Zie VIDEOBelangrijkste kenmerkenPIR (aanwezighei
Digitale klok RTC in LED-scherm van 4 cijfers en 7 segmenten

Digitale klok RTC in LED-scherm van 4 cijfers en 7 segmenten

Hallo, alle!!Dit is mijn project van een digitale klok met RTC (Real Time Clock) met behulp van een LED-display van 04 cijfers en 07 segmenten met inbegrip van de functies van temperatuur en vochtigheid.Om de weergave te besturen die ik heb gebruikt
Digitale klok met behulp van 7 Segment Display gecontroleerd met behulp van TV Remote

Digitale klok met behulp van 7 Segment Display gecontroleerd met behulp van TV Remote

er zijn rassen van digitale klok beschikbaar in ons dagelijks leven. Eenvoudige digitale klok zal meestal hebben sommige gebouwd in functies zoals alarm klok, kalender en thermometer naast de display de klok-informatie. Sommige van de vooraf digitale
Digitale klok beurt model van "Johnny 5" circa 1980 's films

Digitale klok beurt model van "Johnny 5" circa 1980 's films

Nummer 5 leeft!Dat is juist u jaren 1980 mafkezen. Ik bracht de heer Johnny 5 weer tot leven in dit nieuwe leuke instructable. Als u een ding over nummer 5 weet, u zult zich herinneren hem als een geestig, lief, militaire rang robot die meer menselij
Nintendo Game Boy verfilmd met een digitale klok

Nintendo Game Boy verfilmd met een digitale klok

In dit instructable ik zal je laten zien hoe ik mijn eigen retro videospel thema digitale klok gemaakt van een oude gebroken Nintendo Game Boy.Ding nodig; Een oude gebroken Nintendo Game Boy je het niet erg versnijden, goedkope digitale wekker ongeve
Digitale klok!

Digitale klok!

Ik zal u tonen hoe te maken van een digitale klok met een arduino.Stap 1: materialen Arduino uno r3geassorteerde jumper dradenUSB 5v batterijpackUSB-kabelDigitaal zeven seg display (SMA420564)vak/behuizing voor proejectSolderless breadboardPush-swith
DIY digitale klok

DIY digitale klok

Hebben u ooit echt verveeld en enkele leuke DIY-project te doen nodig? Nou, heb je ooit gedacht over het maken van een super, geweldig, digitale klok die u kunt eigenlijk tijd met vertellen? Goed dan u moet echt volgt awesome. Veel plezier!Stap 1: ba
Massief hout digitale klok

Massief hout digitale klok

hoe het bouwen van een houten digitale klok aangedreven door een atmega168 (arduino) met een ingebouwd alarm en spelletjes.Ik dacht eerst over het maken van dit, toen ik zag een LED klok gedekt door een houten fineer. Ik vond het toen ik het zag, tot
De digitale klok Numechron

De digitale klok Numechron

Mijn Numechron digitale klok-ontwerp is geïnspireerd op de Pennwood Model 1364 digitale klok. Klokken van dit type is ontstaan in de jaren 1930, en jarenlang werden gebouwd door de Pennwood en Lawson bedrijven in vele verschillende hout, metaal en pl
Nieuwe aarde tijd (NET) digitale klok in geval van gerecycled retro-moderne

Nieuwe aarde tijd (NET) digitale klok in geval van gerecycled retro-moderne

ooit krijgen verward door GMT, of wou dat u had een koeler manier om het bijhouden van de tijd?  Bouw van een Nieuwe aarde Time klok!  Met een paar afzonderlijke delen, een PIC-microcontroller en wat code kan te hebt u een unieke tijdwaarneming appar
Zelfgemaakte TTL Circuit 24 uur digitale klok

Zelfgemaakte TTL Circuit 24 uur digitale klok

na het nemen van een intro-niveau EE klasse op mijn lokale gemeenschap college heb ik besloten om een digitale klok met fundamentele ICs en 7-segment displays. De vorige foto's tonen het proces van het maken van het in de loop van ongeveer een maand.
Digitale klok van de Romeinse cijfers

Digitale klok van de Romeinse cijfers

A digitale Romeinse cijfers klokZie het in actie in de quicktime-films aangesloten!Er zijn vele manieren om tijd weergeven in zowel analoog en digitaal, maar nooit gezien door de meeste is een digitale Romeinse cijfers-klok. Ik heb een met behulp van
Tissue Box & digitale klok Mash-Up!

Tissue Box & digitale klok Mash-Up!

Nou, hier is een digitale klok en tissue box... MASH UP!* dun dun dun!!! *Hoe dan ook...Ik heb een digitale klok bij Target voor $5.00 (+ belasting natuurlijk), en ik had het voor een lange tijd.Maar veel Instructables inspireerde mij om sommige goed