DS1302 RTC-module: tijd behouden in projecten op batterijen
By Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules | Published: 2026-11-02
Category: Handleidingen
Leer hoe je een DS1302 realtimeklokmodule op Arduino aansluit, een back-upbatterij toevoegt en de tijd instelt, zodat je project nauwkeurig de tijd blijft bijhouden, zelfs wanneer de stroom wordt uitgeschakeld.
Snel antwoord
Sluit de DS1302-module aan op je Arduino met drie signaallijnen plus voeding en aarde, plaats een nieuwe back-upbatterij en voer een korte sketch uit om de tijd één keer in te stellen. Daarna houdt de module zelf de tijd bij zolang de back-upbatterij opgeladen blijft.
Waarom de DS1302 een back-upbatterij nodig heeft en hoe hij zich gedraagt
De DS1302-chip houdt zijn klok en kalender draaiende op een kleine back-upbatterij wanneer de hoofdvoeding wordt verwijderd. Dat maakt hem nuttig voor projecten op batterijen of met onregelmatige voeding. De module die je koopt bevat meestal een batterijhouder, maar de batterij zelf kan wel of niet zijn inbegrepen, dus controleer de productvermelding voordat je aanneemt dat je hem zo kunt aansluiten.
De DS1302 gebruikt een eenvoudige seriële interface met drie draden (reset, data en klok) in plaats van I2C, dus hij bezet drie digitale pinnen op je microcontroller. Dat is een afweging: hij is eenvoudig te bedraden en zeer goedkoop, maar niet zo busefficiënt als een I2C RTC. Hij slaat het jaar ook op als twee cijfers, dus je moet beslissen hoe je code de eeuw interpreteert.
Wat de DS1302 wel en niet voor je regelt
De chip houdt uren, minuten, seconden, dag van de week, datum, maand en een tweecijferig jaar bij. De kalender corrigeert automatisch voor maanden met verschillende aantallen dagen en voor schrikkeljaren, dus je hoeft die logica niet zelf te schrijven. Hij corrigeert niet voor de eeuwovergang en past geen zomertijd of tijdzonewijzigingen aan — je sketch moet dat doen als je project dat nodig heeft.
De nauwkeurigheid hangt af van het kristal en de batterijspanning. De DS1302 is geen temperatuurgecompenseerde module, dus verwacht enige drift in de loop van de tijd. Voor projecten die nauwkeuriger op lange termijn nodig hebben, is een DS3231 het gebruikelijke alternatief, maar voor veel hobbyprojecten is de DS1302 nauwkeurig genoeg en veel goedkoper.
Stap voor stap: de DS1302 bedraden, van voeding voorzien en instellen
- Sluit de module aan op je Arduino: Verbind VCC met 5V (of 3.3V als je module daarvoor is gespecificeerd), GND met aarde en de drie signaalpinnen (RST, DAT, CLK) met drie digitale pinnen. Een veelgemaakte fout is DAT en CLK verwisselen; controleer de silkscreen-labels dubbel voordat je hem aanzet. Als de module niet reageert, controleer dan opnieuw of RST daadwerkelijk door je code wordt geschakeld — een zwevende RST-lijn laat de bus dood lijken.
- Plaats en controleer de back-upbatterij: Plaats een nieuwe knoopcel als je module een houder heeft en de batterij niet vooraf is geïnstalleerd. Meet de batterijspanning met een multimeter voordat je erop vertrouwt; een zwakke cel laat de tijd resetten wanneer de hoofdvoeding wordt verwijderd. Sommige modules worden zonder batterij geleverd — controleer wat er in de doos zit voordat je een build op batterijen plant.
- Laad een bibliotheek en stel de tijd één keer in: Gebruik een DS1302-compatibele bibliotheek voor je board (bijvoorbeeld een gangbare Arduino RTC-bibliotheek) en voer het set-time-voorbeeld uit met de huidige datum en tijd. Upload het één keer en zet de set-aanroep daarna in commentaar of verwijder hem, zodat de klok niet bij elke herstart wordt gereset. De set-aanroep actief laten is de meest voorkomende reden dat een project na elke voedingscyclus dezelfde verkeerde tijd toont.
- Controleer de tijdregistratie over een voedingscyclus: Nadat je de tijd hebt ingesteld, koppel je de hoofdvoeding een minuut los, sluit je hem weer aan en lees je de tijd opnieuw. Hij zou ongeveer met de verstreken tijd moeten zijn opgeschoven. Als hij naar de standaardwaarde is gereset, zijn de back-upbatterij of de houder daarvan het eerste om te controleren. Een klok die reset bij stroomverlies wijst bijna altijd op het back-upbatterijcircuit, niet op de code.
- Verwerk het tweecijferige jaar en de zomertijd in je sketch: Bepaal hoe je code het tweecijferige jaar aan een volledig jaar koppelt (behandel 00–69 bijvoorbeeld als 2000–2069) en voeg eventuele zomertijd- of tijdzone-offset in software toe. De DS1302 doet dit niet voor je. Schrijf je eeuwregel in een opmerking, zodat de volgende lezer van de sketch niet hoeft te gokken.
Productfeiten
- DS1302 realtimeklokmodule: De DS1302 realtimeklokmodule is een compacte klokmodule met batterijback-up, met een 24-uursklok en een kalender die het jaar in twee cijfers opslaat en corrigeert voor maandlengtes en schrikkeljaren. Dankzij die ingebouwde kalenderafhandeling kun je je richten op de logica van je project in plaats van datumrekenwerk te schrijven, en het compacte formaat past netjes in kleine behuizingen.

DS1302 realtimeklokmodule
