PrécédentLes écrans OLED13 / 24SuivantLes servomoteurs
3. Les microcontrôleurs

Les Module RTC

Les Module RTC

Introduction

Le module RTC est une horloge temps réel largement utilisée dans les projets électroniques nécessitant une gestion précise du temps. Il permet de conserver l'heure et la date même en l'absence d'alimentation grâce à une batterie de sauvegarde.

Caractéristiques principales

Horloge Temps Réel (RTC)

DS1307

Général

Fabricant

Maxim Integrated (Analog Devices)

Description

RTC I$^2$C BCD, 56 octets NV RAM, cristal externe 32.768 kHz

Boîtier

8-DIP / 8-SOIC

Électrique

Alimentation (VCC)

4.5 V – 5.5 V

Alimentation batterie (VBAT)

2.0 V – 3.5 V (CR2032 typique)

Courant actif

1.5 mA typ.

Courant batterie

< 500 nA (oscillateur en marche)

VCC absolue max

7.0 V

Précision

Dépend du cristal – typiquement $>$2 min/mois à 25°C

Fonctions

Données horloge

Secondes, minutes, heures (12/24h), jour, date, mois, année

Compensation année bissextile

Valide jusqu'en 2100

RAM non-volatile

56 octets NV SRAM

Sortie fréquence (SQW)

1 Hz, 4.096 kHz, 8.192 kHz, 32.768 kHz

Bascule batterie

Automatique sur VBAT si VCC absent

Interface

Interface

I$^2$C (100 kHz standard uniquement)

Adresse I$^2$C

0x68 (fixe)

Brochage du RTC

Le DS1307 possède 8 broches :

Horloge Temps Réel (RTC)

DS3231

Général

Fabricant

Maxim Integrated (Analog Devices)

Description

RTC I$^2$C haute précision avec TCXO et cristal intégrés

Boîtier

16-SOIC / SOP-8

Électrique

Alimentation (VCC)

2.3 V – 5.5 V

Alimentation batterie (VBAT)

2.3 V – 5.5 V (CR2032 typique)

Courant actif

200 µA typ. (VCC = 3.3 V)

Courant batterie

3 µA typ. (VBAT = 3.0 V)

VCC absolue max

6.0 V

Précision

Précision (0°C – 40°C)

$\pm$2 ppm

Précision ($-$40°C – +85°C)

$\pm$3.5 ppm

Capteur température intégré

Précision $\pm$3°C, résolution 0.25°C

Fonctions

Données horloge

Secondes, minutes, heures, jour, date, mois, année

Compensation année bissextile

Valide jusqu'en 2100

Alarmes

2 alarmes programmables avec sortie INT/SQW

Sortie fréquence

1 Hz, 1.024 kHz, 4.096 kHz, 8.192 kHz (SQW)

Sortie 32 kHz

Disponible sur broche dédiée 32KHZ

Maintien sur batterie

Bascule automatique sur VBAT si VCC absent

Interface \& Commande

Interface

I$^2$C (100 kHz standard / 400 kHz fast-mode)

Adresse I$^2$C

0x68 (fixe)

Le DS323 possède broches :

Fonctionnement

Le RTC stocke l'heure et la date en utilisant un format BCD (Binary-Coded Decimal). Il doit être initialisé et lu via une interface I2C.

Format BCD

Le format BCD encode chaque chiffre décimal sur 4 bits. Par exemple :

Configuration initiale

Pour utiliser le RTC, il faut :
  1. Initialiser la communication I2C

  2. Configurer l'heure et la date si elles ne sont pas déjà définies

  3. Lire périodiquement l'heure et la date pour les afficher ou les utiliser dans un programme

Lecture de l'heure et de la date

Le microcontrôleur doit envoyer une requête sur le bus I2C pour récupérer les valeurs stockées dans le registre de temps.

Exemple d'utilisation avec la carte CREPP.io

Matériel nécessaire

⚠️

Le module sur la carte a été routé en +3.3V suite à une erreur. Il semblerait que ce module fonctionne quand même en +3.3V.

Utilisation de la carte CREPP.io

La carte CREPP.io dispose d'un emplacement pour le module RTC:

Le module RTC
Le module RTC
⚠️

Le méplat sur le composant DS1307 se situe sur le coté du potentiomètre POT1.

Le module RTC
Le module RTC

Code

Code pour le module RTC

💡

L'adresse I2C pour ces modules est souvent 0x68.

Programme du module RTC

Le temps doit s'afficher dans le moniteur série et la LED à coté du DS1307 doit clignoter à 1 Hz.

Alternatives au DS1307

Bien que le DS1307 soit largement utilisé, il existe des alternatives plus précises et plus performantes, telles que :

Conclusion

Le module RTC DS1307 est un composant essentiel pour les projets nécessitant une gestion fiable du temps. Grâce à sa batterie de secours et sa communication I2C, il est simple à intégrer dans des projets utilisant des microcontrôleurs comme Arduino ou Raspberry Pi. Cependant, pour une meilleure précision, des alternatives comme le DS3231 sont recommandées.
PrécédentLes écrans OLED13 / 24SuivantLes servomoteurs