- Composants requis
- Schéma de circuit et explication
- Conception et fabrication de circuits imprimés pour l'horloge numérique
- Commande du PCB avec PCBGoGo
- Assemblage du PCB
- Test de l'horloge numérique
Chaque horloge numérique a un cristal à l'intérieur pour garder une trace de l'heure. Ce cristal est non seulement présent dans l'horloge mais également présent dans tous les systèmes informatiques en temps réel. Ce cristal génère des impulsions d'horloge, nécessaires pour les calculs de synchronisation. Bien qu'il existe d'autres moyens d'obtenir des impulsions d'horloge pour une précision et une fréquence plus élevées, le moyen le plus préféré est d'utiliser le cristal pour garder une trace du temps. Ici, nous allons DS3231 RTC IC pour construire une horloge murale numérique basée sur Atmega16. DS3231 RTC a un cristal très précis à l'intérieur, donc aucun oscillateur à cristal externe n'est nécessaire.
Dans ce projet d'horloge numérique, dix affichages communs à 7 segments d'anode de 0,8 pouce sont utilisés pour afficher l'heure et la date. Ici, sept affichages de segments sont utilisés pour afficher l'heure, les minutes, la date, le mois et l'année. Notre conception de PCB a également des options pour afficher les secondes et la température, qui peuvent être affichées en ajoutant plus d'unités d'affichage.
Composants requis
- Microcontrôleur ATmega16 AVR
- DS3231 RTC IC
- Affichage à sept segments d'anode commune de 0,8 pouce (son écran plus grand que la taille commune (0,56 pouce)
- Bouton poussoir
- Pile bouton 3v
- Régulateur de tension 7805
- Condensateur 1000 uf
- Buzzer (facultatif)
- Transistors BC547 et BC557
- Condensateur 10 uf
- Résistance 100 Ohm
- Résistance 1k
- Résistance 10k
- Carte PCB
- Fils de cavalier
- Burgstips
- Adaptateur d'alimentation
L'utilisateur peut également utiliser Atmega32, il doit être configuré dans le compilateur avant de générer hex.
Schéma de circuit et explication
Il y a deux parties de ce circuit d'horloge murale numérique, l'une est une partie d'affichage qui comporte 5 paires de 7 segments sur cinq cartes de circuits imprimés différentes et une autre est une partie de l'unité contrôlée qui est responsable de la récupération du temps de la puce RTC et d'envoyer ces données et cette heure à Affichage à 7 segments. Comme nous avons utilisé 10 écrans à sept segments, nous ne pouvons donc pas connecter chaque écran à un port IO séparé. Donc, ici, la technique de multiplexage est utilisée pour connecter plusieurs sept segments en utilisant moins de broches de microcontrôleur.
Les broches LED a, b, c, d, e, f, g, h de l'affichage à sept segments sont connectées au PORTB de l'atmega16 en parallèle. Ici, nous avons utilisé 10 écrans à sept segments, nous avons donc besoin de 10 broches de contrôle qui sont connectées à PORTD, PORTA et PORTC.
Le RTC DS3231 ayant un cristal interne est connecté aux broches SDA et SCL de PORTC car cette puce fonctionne sur la communication I2C. La méthode d'interfaçage de cette puce est la même que celle du DS1307. Nous avons utilisé DS1307 avec Arduino, Raspberry Pi et 8051 MCU. Le même code peut être utilisé pour DS3231 et DS1307.
Deux résistances pull-up 10k sont connectées sur la ligne SDA et SCL. Une pile bouton 3v est utilisée pour alimenter la puce RTC pour garder une trace de l'heure même lorsque l'alimentation principale est coupée. Chaque fois que le courant revient, le temps commencera à s'afficher sur l'affichage à sept segments. Maintenant, nous avons quelques boutons poussoirs pour régler l'heure au PORT A, le processus complet est expliqué dans la vidéo donnée à la fin. Un régulateur de tension 5v est utilisé pour convertir la tension d'entrée en 5v. Toutes les connexions sont illustrées dans le schéma ci-dessous:
Pour un panneau d'affichage, deux affichages à sept segments et 2 LED sont utilisés. Nous avons donc ici cinq panneaux d'affichage différents pour afficher l'heure en heures et minutes (HH-MM) et la date en JJ-MM-AA.
Conception et fabrication de circuits imprimés pour l'horloge numérique
Pour ce projet d'horloge murale basé sur Atmega16, nous avons conçu deux PCB. L'un est pour l'unité de contrôle qui est utilisée pour contrôler toutes les opérations du projet et la seconde partie est pour afficher l'heure et la date sur sept segments d'affichage. La partie d'affichage contient cinq paires d'affichage à sept segments de 0,8 pouces. Donc, en assemblant 5 pièces, nous avons l'horloge numérique complète. Pour multiplexer les affichages à 7 segments, la ligne de données des 5 PCB sera connectée au même port de l'unité de contrôle et la ligne de contrôle est connectée à une broche différente de l'unité de contrôle.
Vous trouverez ci-dessous les vues de dessus et de dessous des dispositions de circuits imprimés d'une carte d'affichage composée de deux écrans à sept segments:
Vous trouverez ci-dessous les vues de dessus et de dessous des circuits imprimés de l'unité de contrôle
Ici, nous sommes attachés au fichier Gerber pour les deux cartes:
- Fichier Gerber pour unité de contrôle basée sur Atmega16
- Fichier Gerber pour tableau d'affichage à sept segments
Commande du PCB avec PCBGoGo
Il existe de nombreux services de fabrication de PCB disponibles en ligne, mais comme j'ai déjà utilisé PCBGoGo dans l'un de mes autres projets, je l'ai trouvé bon marché et sans tracas par rapport à d'autres fournisseurs.
Voici les étapes pour commander un PCB auprès de PCBGoGo:
Étape 1: Accédez à www.pcbgogo.com, inscrivez-vous si c'est votre première fois. Ensuite, dans l'onglet Prototype PCB, entrez les dimensions de votre PCB, le nombre de couches et le nombre de PCB dont vous avez besoin.
Étape 2: Continuez en cliquant sur le bouton Soumettre maintenant . Vous serez redirigé vers une page où définir quelques paramètres supplémentaires si nécessaire, comme le matériau utilisé, l'espacement des pistes, etc. Mais la plupart du temps, les valeurs par défaut fonctionneront bien. La seule chose que nous devons considérer ici est le prix et le temps. Comme vous pouvez le voir, le temps de construction n'est que de 2-3 jours et il ne coûte que 5 $ pour notre PSB. Vous pouvez ensuite sélectionner une méthode d'expédition préférée en fonction de vos besoins.
Étape 3: La dernière étape consiste à télécharger le fichier Gerber et à procéder au paiement. Pour vous assurer que le processus est fluide, PCBGOGO vérifie si votre fichier Gerber est valide avant de procéder au paiement. De cette façon, vous pouvez être sûr que votre PCB est facile à fabriquer et vous atteindra comme engagé.
Maintenant, PCBGoGo prendra environ 10 minutes à 1 heure pour examiner votre fichier Gerber. Une fois l'examen terminé, vous pouvez procéder au paiement.
Assemblage du PCB
Après la commande de la carte, elle m'est parvenue au bout de quelques jours par courrier dans une boîte bien emballée soigneusement étiquetée et, comme toujours, la qualité du PCB était excellente. Je partage quelques photos des planches ci-dessous pour que vous puissiez en juger.
J'ai allumé ma tige à souder et j'ai commencé à assembler la carte. Comme les empreintes, les pads, les vias et la sérigraphie sont parfaitement de la bonne forme et de la bonne taille, je n'ai eu aucun problème à assembler la planche. La planche était prête en seulement 10 minutes après le déballage de la boîte.
Quelques photos de la carte après le soudage sont présentées ci-dessous.
Test de l'horloge numérique
Le code complet est donné à la fin de ce tutoriel, connectez simplement les PCB comme indiqué dans le schéma de circuit et téléchargez le code dans Atmega16. Et vous verrez l'heure et la date apparaître sur les dix sept segments.
L'heure et la date peuvent être réglées à l'aide des quatre boutons-poussoirs de l'unité de commande comme illustré dans la vidéo ci-dessous.