Je travaille sur un projet ATMega qui gardera du temps et j'essaie de le faire pour que vous ayez une option de temps logiciel (basé sur millis ()), DS1307 ou DS3231 (ChronoDot) RTC.
À la base, ce que je voudrais faire, c'est d'avoir des en-têtes pour un ChronoDot disponibles à souder, puis en quelque sorte dans le logiciel de détecter si le ChronoDot est connecté et de passer à l'utilisation de cela. Il serait généralement assez facile de vérifier que le DS1307 ou DS3231 est présent car ils utilisent le même registre I2C, mais après cette vérification initiale, ils s'écartent un peu les uns des autres et ce dernier a plus de fonctionnalités. Je veux donc toujours déterminer lequel est connecté. En général, je prévois d'avoir une place directement à bord pour souder dans le DS1307 comme option par défaut et le support du DS3231 serait avec un ChronoDot complet uniquement via deux en-têtes à 4 broches. Le ChronoDot s'adapterait essentiellement à l'endroit où le DS1307 irait normalement (il ne serait pas rempli dans ce cas). La principale raison pour laquelle je me concentre spécifiquement sur le ChronoDot est qu'il ' s populaire, facile à acquérir et ne nécessite pas de soudure SMD pour l'utilisateur final (ceci pour un kit). Alors, voici ce que je pense ...
Les deux DS1307 et DS3231 ont une ligne Vbat sur la puce, mais ce n'est vraiment pas nécessaire pour rien. Cependant, le ChronoDot a une broche VBat réelle sur la carte de dérivation. Je pourrais peut-être brancher uniquement Vbat à partir de l'en-tête ChronoDot et non le DS1307 et le connecter à une broche d'entrée numérique sur mon ATMega. Mais faites abattre cette broche d'entrée à la masse par une résistance (vous ne savez pas vraiment quelle valeur ... peut-être 4,7 k?). Si ma théorie de l'EE est correcte, je peux alors lire cette broche et si j'obtiens un bas, il n'y a pas de chronodot mais si j'obtiens un haut, il y en a un.
Quelque chose comme ça:
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Ma principale question ici est de savoir si cela va finir par vider la batterie de secours sur le RTC? Normalement, il n'y aurait pas de courant tiré de la batterie de secours pendant que l'alimentation principale, 5 V, est fournie, mais est-ce que le brancher à une entrée numérique lui permettrait de tirer tout le temps de la batterie? Ou, y a-t-il un mode dans lequel je devrais mettre la broche après l'avoir lue pour la "déconnecter", pour ainsi dire? Je sais que je pourrais le changer en sortie, mais je crois que si elle est définie comme sortie et faible, je mettrais essentiellement la batterie à la terre.
Quoi qu'il en soit, mes cours d'EE étaient il y a longtemps. Toute aide sur la théorie ici serait appréciée.