LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir de nouveaux articles.
E-mail
Nom
Nom de famille
Comment voulez-vous lire La Cloche ?
Pas de spam

La photo montre un prototype que j'ai assemblé pour déboguer le programme qui gérera l'ensemble de cette installation. Le deuxième arduino nano dans le coin supérieur droit de la planche à pain n'appartient pas au projet et dépasse comme ça, vous n'avez pas besoin d'y prêter attention.

Un peu sur le principe de fonctionnement : Arduino prend les données de la minuterie DS323, les traite, détermine le niveau de lumière à l'aide d'une photorésistance, puis envoie le tout au MAX7219, et celui-ci, à son tour, éclaire les segments requis avec la luminosité requise. De plus, à l’aide de trois boutons, vous pouvez régler l’année, le mois, le jour et l’heure comme vous le souhaitez. Sur la photo, les indicateurs affichent l'heure et la température, qui proviennent d'un capteur de température numérique.

La principale difficulté dans mon cas est que les indicateurs de 2,7 pouces ont une anode commune et qu'ils ont dû, d'une part, se lier d'amitié avec le max7219, qui est conçu pour les indicateurs avec une cathode commune, et d'autre part, résoudre le problème avec leur alimentation, car ils ont besoin de 7,2 volts pour la lueur, ce que le max7219 seul ne peut pas fournir. Après avoir demandé de l'aide sur un forum, j'ai reçu une réponse.

Solution dans la capture d'écran :


Un microcircuit qui inverse le signal est attaché aux sorties des segments du max7219, et un circuit de trois transistors est attaché à chaque broche qui doit être connectée à la cathode commune de l'écran, qui inverse également son signal et augmente la tension. Ainsi, nous avons la possibilité de connecter des écrans avec une anode commune et une tension d'alimentation supérieure à 5 volts au max7219

J'ai branché un indicateur pour le test, tout fonctionne, rien ne fume

Commençons à collectionner.

J'ai décidé de diviser le circuit en 2 parties en raison du grand nombre de cavaliers dans la version séparée par mes pattes tordues, où tout était sur une seule carte. L'horloge sera composée d'une unité d'affichage et d'une unité d'alimentation et de contrôle. Il a été décidé de récupérer ces derniers en premier. Je demande aux esthètes et aux radioamateurs expérimentés de ne pas s'évanouir à cause du traitement cruel des pièces. Je n'ai aucune envie d'acheter une imprimante pour le bien de LUT, donc je le fais à l'ancienne - je m'entraîne sur un morceau de papier, je perce des trous selon un modèle, je trace des chemins avec un marqueur, puis je grave.

Le principe de fixation des indicateurs est resté le même que sur.

Nous marquons la position des indicateurs et des composants à l'aide d'un gabarit en plexiglas conçu pour plus de commodité.

Processus de balisage







Ensuite, à l'aide d'un gabarit, nous perçons des trous aux bons endroits et essayons tous les composants. Tout s'adapte parfaitement.

Nous dessinons des chemins et gravons.




se baigner dans du chlorure ferrique

Prêt!
tableau de commande :


panneau d'indication :


Le tableau de commande s'est avéré excellent, la piste sur le tableau d'affichage n'a pas été rongée de manière critique, elle peut être réparée, il est temps de souder. Cette fois, j'ai perdu ma virginité SMD et inclus des composants 0805 dans le circuit. Au minimum, les premières résistances et condensateurs ont été soudés. Je pense que je vais m'améliorer, ce sera plus facile.
Pour la soudure, j'ai utilisé le flux que j'ai acheté. Souder avec est un plaisir ; maintenant j'utilise de la colophane alcoolisée uniquement pour l'étamage.

Voici les planches terminées. Le tableau de commande a siège pour Arduino nano, horloge, ainsi que des sorties pour la connexion à la carte d'affichage et aux capteurs (photorésistance pour la luminosité automatique et thermomètre numérique ds18s20) et une alimentation avec tension de sortie réglable (pour les grands appareils à sept segments) et pour alimenter l'horloge et Arduino, sur le tableau d'affichage se trouvent des prises de montage pour écrans, des prises pour max2719 et uln2003a, une solution pour alimenter quatre grands appareils à sept segments et un tas de cavaliers.




tableau de commande arrière

Tableau d'affichage arrière :

Installation smd épouvantable :


Lancement

Après avoir soudé tous les câbles, boutons et capteurs, il est temps de tout allumer. Le premier lancement a révélé plusieurs problèmes. Le dernier grand indicateur ne s'allumait pas et le reste brillait faiblement. J'ai résolu le premier problème en soudant la patte du transistor SMD et le second en ajustant la tension produite par le LM317.
C'EST VIVANT !

Vous pouvez en trouver beaucoup en vente divers modèles et des options pour les horloges numériques électroniques, mais la plupart d'entre elles sont conçues pour une utilisation en intérieur, car les chiffres sont petits. Cependant, il est parfois nécessaire de placer une horloge dans la rue - par exemple sur le mur d'une maison, ou dans un stade, une place, c'est-à-dire là où elle sera visible de loin par de nombreuses personnes. A cet effet, ce circuit d'une grande horloge LED a été développé et assemblé avec succès, auquel vous pouvez connecter (via des commutateurs à transistor internes) des indicateurs LED à votre guise. grande taille. Augmenter diagramme schématique tu peux cliquer dessus :

Description de l'horloge

  1. Montre. Dans ce mode, il existe un type standard d'affichage de l'heure. Il existe une correction numérique de la précision de l'horloge.
  2. Thermomètre. Dans ce cas, l'appareil mesure la température de la pièce ou de l'air extérieur à partir d'un capteur. Plage de -55 à +125 degrés.
  3. Le contrôle de l'alimentation est fourni.
  4. Affiche alternativement des informations sur l'indicateur - une horloge et un thermomètre.
  5. Pour enregistrer les paramètres et les paramètres en cas de perte de 220 V, une mémoire non volatile est utilisée.


La base de l'appareil est l'ATMega8 MK, qui est flashé en réglant les fusibles selon le tableau :

Gestion du fonctionnement et de l'horloge

Lorsque vous allumez la montre pour la première fois, un écran de démarrage publicitaire apparaîtra à l'écran, après quoi elle passera à l'affichage de l'heure. En appuyant sur un bouton SET_TIME l'indicateur ira en cercle à partir du mode principal :

  • mode d'affichage des minutes et des secondes. Si dans ce mode vous appuyez simultanément sur le bouton PLUS Et MOINS, alors les secondes seront réinitialisées ;
  • régler les minutes de l'heure actuelle ;
  • régler l'horloge actuelle ;
  • symbole t. Réglage de la durée d'affichage de l'horloge ;
  • symbole o. Temps d'affichage des symboles d'indication de température externe (out);
  • le montant de la correction quotidienne de la précision de l'horloge. Symbole c et valeur de correction. Réglage des limites de -25 à 25 sec. La valeur sélectionnée sera ajoutée ou soustraite de l'heure actuelle chaque jour à 0 heure 0 minute et 30 secondes. Pour plus de détails, lisez les instructions qui se trouvent dans l'archive avec les fichiers du micrologiciel et du circuit imprimé.

Régler l'horloge

Tout en maintenant les boutons enfoncés PLUS/MOINS Nous effectuons une fixation accélérée des valeurs. Après avoir modifié les paramètres, après 10 secondes, les nouvelles valeurs seront écrites dans la mémoire non volatile et seront lues à partir de là lors de la remise sous tension. Les nouveaux paramètres prennent effet lors de l'installation. Le microcontrôleur surveille la présence de l'alimentation principale. Lorsqu'il est éteint, l'appareil est alimenté par une source interne. Le schéma du module d'alimentation redondant est présenté ci-dessous :


Pour réduire la consommation de courant, l'indicateur, les capteurs et les boutons sont éteints, mais l'horloge elle-même continue de compter le temps. Dès l'apparition de la tension secteur 220 V, toutes les fonctions d'indication sont rétablies.


Puisque l'appareil a été conçu comme une grande horloge LED, il dispose de deux écrans : une grande LED - pour la rue, et un petit LCD - pour une configuration facile de l'écran principal. Le grand écran est situé à plusieurs mètres de la centrale et est relié par deux câbles de 8 fils. Pour contrôler les anodes de l'indicateur externe, des commutateurs à transistors sont utilisés selon le schéma donné dans les archives. Auteurs du projet : Alexandrovitch & SOIR.

Cette horloge est assemblée sur un chipset bien connu - K176IE18 (compteur binaire pour horloge avec générateur de signal de cloche),

K176IE13 (compteur d'heures avec alarme) et K176ID2 (convertisseur de code binaire à sept segments)

Lorsque l'appareil est allumé, des zéros sont automatiquement écrits dans le compteur des heures et des minutes et dans le registre mémoire du réveil de la puce U2. Pour installer

l'heure, appuyez sur le bouton S4 (Time Set) et maintenez-le enfoncé, appuyez sur le bouton S3 (Hour) - pour régler l'heure ou S2 (Min) - pour régler

minutes. Dans ce cas, les lectures des indicateurs correspondants commenceront à changer avec une fréquence de 2 Hz de 00 à 59 puis à nouveau 00. Au moment de la transition

de 59 à 00 le compteur horaire augmentera d'une unité. Le réglage de l'heure de l'alarme est le même, il vous suffit de la maintenir enfoncée

bouton S5 (réglage d'alarme). Après avoir réglé l'heure de l'alarme, vous devez appuyer sur le bouton S1 pour activer l'alarme (contacts

fermé). Le bouton S6 (Reset) est utilisé pour forcer la réinitialisation des indicateurs des minutes à 00 lors de la configuration. Les LED D3 et D4 jouent un rôle

points de division clignotant à une fréquence de 1 Hz. Les indicateurs numériques sur le schéma sont situés dans le bon ordre, c'est-à-dire viens en premier

indicateurs d'heures, deux points de séparation (LED D3 et D4) et indicateurs de minutes.

L'horloge utilisait des résistances R6-R12 et R14-R16 d'une puissance de 0,25 W, le reste de 0,125 W. Résonateur à quartz XTAL1 à une fréquence de 32 768Hz -

sentinelle ordinaire, les transistors KT315A peuvent être remplacés par n'importe quel silicium de faible puissance de structure appropriée, KT815A - avec des transistors

puissance moyenne avec un coefficient de transfert de courant de base statique d'au moins 40, diodes - tout silicium de faible puissance. Tweeter BZ1

dynamique, sans générateur intégré, résistance d'enroulement 45 Ohm. Le bouton S1 est naturellement verrouillé.

Les indicateurs utilisés sont le vert TOS-5163AG, vous pouvez utiliser n'importe quel autre indicateur avec une cathode commune sans réduire

résistance des résistances R6-R12. Sur la figure, vous pouvez voir le brochage de cet indicateur ; les conclusions sont présentées sous condition, car présenté

vue de dessus.

Après avoir assemblé la montre, vous devrez peut-être régler la fréquence de l'oscillateur à cristal. Cela peut être fait de manière plus précise en contrôlant numériquement

à l'aide d'un fréquencemètre, la période d'oscillation est de 1 s à la broche 4 du microcircuit U1. Le réglage du générateur au fur et à mesure que l'horloge progresse nécessitera des dépenses beaucoup plus importantes.

temps. Vous devrez peut-être également régler la luminosité des LED D3 et D4 en sélectionnant la résistance de la résistance R5, afin que tout

brillait uniformément et brillamment. Le courant consommé par l'horloge ne dépasse pas 180 mA.

La montre est alimentée par une alimentation classique, montée sur un microcircuit stabilisateur positif 7809 avec une tension de sortie de +9V et un courant de 1,5A.

Je présente à votre attention électronique horloge du microcontrôleur. Le circuit de l'horloge est très simple, contient un minimum de pièces et peut être répété par des radioamateurs débutants.

La conception est assemblée sur un microcontrôleur et une horloge temps réel DS1307. Un indicateur LED à quatre chiffres et sept segments est utilisé comme indicateur de l'heure actuelle (ultra-lumineux, de couleur bleue, qui semble bien dans l'obscurité et, en même temps, l'horloge joue le rôle d'une horloge de nuit. lumière). L'horloge est contrôlée par deux boutons. Grâce à l'utilisation de la puce d'horloge temps réel DS1307, l'algorithme du programme s'est avéré assez simple. Le microcontrôleur communique avec l'horloge temps réel via le bus I2C et est organisé par logiciel.

Schéma de l'horloge :

Malheureusement, il y a une erreur dans le schéma :
— les bornes MK doivent être connectées aux bases des transistors :
РВ0 à Т4, РВ1 à Т3, РВ2 à Т2, РВ3 à Т1
ou changez la connexion des collecteurs de transistors aux chiffres indicateurs :
T1 vers DP1….. T4 vers DP4

Pièces utilisées dans le circuit de l'horloge :

♦ Microcontrôleur ATTiny26 :

♦ horloge temps réel DS1307 :

♦ Indicateur LED à 4 chiffres et sept segments – FYQ-5641UB-21 avec une cathode commune (ultra-lumineuse, bleue) :

♦ quartz 32,768 kHz, avec une capacité d'entrée de 12,5 pF (peut être prélevée sur la carte mère de l'ordinateur), la précision de l'horloge dépend de ce quartz :

♦ tous les transistors sont des structures NPN, vous pouvez en utiliser n'importe lesquels (KT3102, KT315 et leurs analogues étrangers), j'ai utilisé BC547S
♦ stabilisateur de tension à microcircuit type 7805
♦ toutes les résistances d'une puissance de 0,125 watts
♦ condensateurs polaires activés tension de fonctionnement pas inférieure à la tension d'alimentation
♦ alimentation de secours DS1307 – pile lithium 3 volts CR2032

Pour alimenter la montre, vous pouvez utiliser n'importe quel chargeur de téléphone portable inutile (dans ce cas, si la tension de sortie chargeur dans les 5 volts ± 0,5 volts, une partie du circuit est un stabilisateur de tension sur un microcircuit de type 7805, peut être exclu)
La consommation actuelle de l'appareil est de 30 mA.
Vous n’avez pas besoin d’installer la pile de secours pour l’horloge DS1307, mais en cas de panne de courant, l’heure actuelle devra être à nouveau réglée.
Le circuit imprimé de l'appareil n'est pas indiqué ; le modèle a été assemblé dans un boîtier provenant d'une montre mécanique défectueuse. La LED (avec une fréquence de clignotement de 1 Hz, provenant de la broche SQW DS1307) sert à séparer les heures et les minutes sur l'indicateur.

Les paramètres du microcontrôleur sont d'usine : fréquence d'horloge - 1 MHz, les bits FUSE n'ont pas besoin d'être touchés.

Algorithme de fonctionnement de l'horloge(dans le générateur d'algorithmes) :

1. Définition du pointeur de pile
2. Régler la minuterie T0 :
— fréquence SK/8
- interruptions de débordement (à cette fréquence prédéfinie, l'interruption est appelée toutes les 2 millisecondes)
3. Initialisation des ports (les broches PA0-6 et PB0-3 sont configurées en sortie, PA7 et PB6 en entrée)
4. Initialisation du bus I2C (broches PB4 et PB5)
5. Vérification du 7ème bit (CH) du registre zéro DS1307
6. Activation d'interruption globale
7. Entrer dans une boucle et vérifier si un bouton est enfoncé

Lorsqu'il est allumé pour la première fois, ou rallumé s'il n'y a pas d'alimentation de secours sur le DS307, l'heure actuelle est réinitialisée au réglage d'origine. Dans ce cas : bouton S1 – pour régler l’heure, bouton S2 – passage au chiffre suivant. Réglez l'heure : les heures et les minutes sont écrites sur le DS1307 (les secondes sont réglées à zéro) et la broche SQW/OUT (7ème broche) est configurée pour générer des impulsions carrées avec une fréquence de 1 Hz.
Lorsque vous appuyez sur le bouton S2 (S4 - dans le programme), une interruption globale est désactivée, le programme passe au sous-programme de correction du temps. Dans ce cas, à l'aide des boutons S1 et S2, les dizaines et les unités de minutes sont définies, puis, à partir de 0 seconde, l'appui sur le bouton S2 enregistre l'heure mise à jour dans le DS1307, résout l'interruption globale et revient au programme principal.

La montre affichait une bonne précision, la perte de temps par mois était de 3 secondes.
Pour améliorer la précision, il est recommandé de connecter du quartz au DS1307, comme indiqué dans la fiche technique :

Le programme est écrit dans l'environnement Algorithm Builder.
En prenant comme exemple le programme d'horloge, vous pouvez vous familiariser avec l'algorithme de communication entre le microcontrôleur et d'autres appareils via le bus I2C (chaque ligne est commentée en détail dans l'algorithme).

Photo de l'appareil assemblé et du circuit imprimé au format .lay du lecteur du site Anatoly Pilguk, pour lequel un grand merci à lui !

L'appareil utilise : Transistors - Résistances SMD BC847 et CHIP

Pièces jointes à l'article :

(42,9 Ko, 3 227 clics)

(6,3 Ko, 4 180 appels)

(3,1 Ko, 2 657 clics)

(312,1 Ko, 5 929 clics)


La deuxième version du programme d'horloge en AB (pour ceux qui ne peuvent pas télécharger celle du haut)

(11,4 Ko, 1 942 clics)

Dans ce instructions étape par étape Je vais vous expliquer comment fabriquer une horloge murale de vos propres mains.

Caractéristiques de la montre :

  • Grands chiffres (chaque chiffre est approximativement égal à la taille d'une feuille A4).
  • Parois minces (peut être inséré dans un cadre photo).
  • Réglage automatique en fonction de la luminosité de l'éclairage de la pièce.
  • Bouton dédié à l’heure d’été.

Étape 1 : Matériaux nécessaires


Ce que j'ai utilisé pour une horloge murale numérique avec de grands chiffres.

Électronique:

  • Arduino nano V3.0 (malheureusement, comme je ne peux pas me permettre l'Arduino d'origine, j'ai utilisé un clone chinois) - 150 roubles.
  • Module numérique pour mesurer l'intensité lumineuse Photorésistance pour Arduino - 60 roubles.
  • Module de mémoire DS3231 AT24C32 IIC pour une heure précise pour Arduino - 60 roubles.
  • Convertisseur DC-DC LM2596, puissance de sortie 1,23V-30V - 50 roubles.
  • 4 mètres de bande LED WS2811 30 diodes/m - 700 roubles. (un WS2811 contrôle 3 puces LED)

Coût total de l'électronique : 900 roubles.

Autres matériaux :

  • Gaine thermorétractable - 400 roubles (33m en stock)
  • 20 pièces. Circuit imprimé 5 x 7 cm - 200 roubles.
  • 3 pièces. Microswitch - 60 roubles.
  • Soudure - 50 roubles
  • Flux - 50 roubles.
  • Câble UTP (paire torsadée non blindée)
  • Police LCD (http://www.dafont.com/lcd-lcd-mono.font) - gratuite.
  • Le carton est gratuit au supermarché.
  • Panneau en polystyrène - 100 roubles.

Ainsi que divers outils.

Étape 2 : Préparation – Modèles de nombres


  1. Téléchargez et installez la police de l'horloge
  2. Ouvrez Word ou un autre programme et créez un modèle comme celui de la première photo.
  • Taille de police ~ 800,
  • Fonte blanc avec contour noir,
  • Bandes grises où seront les bandes LED

Imprimez le gabarit et découpez les rayures avec un cutter (comme sur la deuxième photo)

Étape 3 : Préparation – découpe du carton et de la bande LED

A l'aide du gabarit numérique, découpez le papier cartonné aux dimensions (pensez à laisser de la place pour les points entre les heures et les minutes)

Si vos bandes LED sont livrées avec un connecteur à chaque extrémité (comme le mien), débranchez le connecteur et coupez-les en 3 morceaux.

Étape 4 : Fixez la bande LED


À l'aide du modèle, collez Bande LED sur carton.

Ce n'est pas nécessaire, mais j'ai utilisé un crayon pour marquer l'endroit où les bandes LED doivent être placées.

Il est beaucoup plus pratique de les coller lorsque vous voyez la forme finale. Grâce à cela, j'ai remarqué que j'avais laissé trop d'espace pour les points entre les chiffres et je l'ai corrigé à temps.

Étape 5 : Souder la bande LED


Le long processus de soudure commence maintenant.

Soudez la bande LED pour former une bande continue. Faites attention à l'ordre dans lequel les bandes sont soudées sur la photo. Pour les points, j'ai utilisé un morceau de ruban adhésif et je l'ai collé au milieu.

Couleurs que j'ai choisi :

  • Bleu pour la terre
  • Vert pour les données
  • Rouge pour +12V

Étape 6 : Installation de l'Arduino sur le PCB


J'ai essayé de dessiner dans Fritzing mais je n'ai pas trouvé tous les détails :)

Ainsi, la première photo montre le schéma de câblage et la deuxième photo montre à quoi cela ressemble pour moi.

Étape 7 : Vérification des LED

Avant de télécharger le code (avec lequel je n'ai rien à voir), assurez-vous d'installer la bibliothèque FastLED.

Si tout fonctionne correctement, les LED devraient parcourir les couleurs. Si vous rencontrez des problèmes, vérifiez d'abord votre soudure.

Fichiers

Étape 8 : Programmer l'horloge

Au bout d'un certain temps, j'ai réussi à fabriquer une montre qui me convient tout à fait. Cependant, chacun trouvera quelque chose qui peut être amélioré.

Le code est bien commenté, il ne devrait donc y avoir aucun problème.

Tous les messages de débogage sont également commentés.

Pour changer la couleur utilisée, vous devez changer la variable à la ligne 22 (int ledColor = 0x0000FF; // Couleur utilisée (en hexadécimal)). Vous pouvez trouver une liste de couleurs au bas de cette page



LA CLOCHE

Il y a ceux qui ont lu cette nouvelle avant vous.
Abonnez-vous pour recevoir de nouveaux articles.
E-mail
Nom
Nom de famille
Comment voulez-vous lire La Cloche ?
Pas de spam