Les lecteurs attentifs ont remarqué que dans les articles de l'auteur Instructables sous le surnom WilkoL sur le générateur de diapason et une horloge avec son utilisation, un seul fréquencemètre est affiché, et dans l'article sur le générateur avec un verre comme élément de réglage de fréquence, un deuxième y a été ajouté, et il a même monté sur le KDPV là-bas. Cette histoire parle de lui.
Je suis content de travailler fait maison le master commence par l'étude de la partie théorique, c'est-à-dire par le choix de la méthode de mesure de la fréquence. Dans de nombreux fréquencemètres, le nombre de périodes du signal d'entrée pendant une certaine période de temps, disons une seconde, est compté pour cela:
Cette méthode est bonne pour des fréquences suffisamment élevées, mais si la fréquence est basse, elle ne permet pas d'obtenir un nombre suffisamment grand de décimales. Par exemple, si le cycle de mesure dure une seconde, alors pour une fréquence de l'ordre de 50 Hz, il n'y aura aucune décimale. Vous voulez, par exemple, trois signes - il y a un moyen de sortir, nous étendons le cycle de mesure à 1000 secondes. Mais c'est une chose quand un PC ou un smartphone ralentit, ce à quoi tout le monde est habitué, et c'est tout autre chose - si un fréquencemètre rejoint également cette entreprise amusante, cela mettra complètement l'utilisateur hors de lui. En général, une autre voie est nécessaire. Mais que se passe-t-il si nous mesurons la période des oscillations, comme ça?
Faites de même. Ils prennent un signal de la fréquence de référence, qui est de plusieurs ordres de grandeur supérieur à celui mesuré, et considèrent combien de périodes du signal de référence passeront dans une période de celle mesurée. Ainsi, par exemple, avec une fréquence de référence de 10 MHz et mesurée à 50 Hz, ce sera 200 000. Cela signifie que la période est de 20 000,0 ms, et un microcontrôleur moderne (et, soit dit en passant, pas très), si le programmeur "l'enseigne", avec recalcule facilement la période à une fréquence égale à 50 000 Hz. Si la fréquence augmente à 50,087 Hz, alors dans une période du signal d'entrée, 199650 périodes de l'exemple s'intègrent, et un tel changement que le fréquencemètre remarquera en temps réel.
Mais avec cette méthode de mesure, le nombre de décimales, au contraire, diminue avec l'augmentation de la fréquence du signal d'entrée. Par exemple, si elle est de 40 kHz et que la référence est toujours de 10 MHz, à 40-161 Hz, nous obtenons 249 périodes de la fréquence de référence et à 39840 Hz - 251 périodes. Au moins deux fréquencemètres sont en ordre: l'un pour les hautes fréquences, fonctionnant dans le premier sens, l'autre pour les basses fréquences, dans le second. Bien - attendez! N'est-il pas possible de combiner les deux méthodes dans un fréquencemètre? Vous pouvez, et le maître vous dira comment. Vous devez prendre un déclencheur D ordinaire, puis son symbole et la table de vérité sont donnés:
L'assistant affiche quatre signaux sur le graphique, dont le quatrième produit un déclencheur:
Le premier de ces signaux est la fréquence mesurée, il est envoyé à l'entrée d'horloge du déclencheur D. La seconde est une fréquence de référence, par exemple, encore de 10 MHz, ce qui nécessite une grande stabilité. Le troisième est un signal avec une fréquence de l'ordre de 1 Hz, dont la stabilité n'est pas du tout requise, il est appliqué au même déclencheur à l'entrée D.Eh bien, le quatrième est généré par le déclencheur du premier et du troisième comme suit. Lorsque le troisième signal passe de zéro à un, le déclencheur ne répond pas immédiatement à cela, mais uniquement lorsqu'un tel changement se produit avec le premier signal après cela. Ainsi, le front de l'une des impulsions du quatrième signal coïncide exactement avec le front de l'une des impulsions du premier. Ensuite, le troisième signal, suivi du quatrième, passe à zéro, auquel le microcontrôleur ne réagit en aucune façon, puis le troisième signal revient à un, mais le déclencheur ne réagit plus immédiatement, mais seulement après la même commutation du premier signal. Et encore une fois, les fronts des premier et quatrième signaux coïncident complètement. Et dans la période complète du quatrième signal correspond à un nombre entier de périodes du premier. Plus loin - une question technique: n'oubliez pas que nous avons également un deuxième signal. Le microcontrôleur calcule combien de périodes complètes des premier et deuxième signaux sont tombées pendant la période complète du quatrième.
Nous avons donc obtenu deux chiffres. Par exemple, 32 et 10185892. Multipliez 32 par 10 000 000 (fréquence de référence) et divisez par 10185892. Nous obtenons 31,416 Hz. Trois décimales. Et la mesure reste précise à la fois aux basses fréquences et aux hautes, s'approchant du modèle. Et si vous avez besoin de mesurer des fréquences encore plus élevées, vous pouvez ajouter un diviseur.
Nous devons maintenant décider quel microcontrôleur pour exécuter le fréquencemètre. Le maître a déjà essayé de les faire sur l'ATmega328, et même sur le STM32F407, fonctionnant à une fréquence d'horloge de 168 MHz. Mais cette fois, il est imprégné de minimalisme et décide de vérifier s'il peut obtenir un résultat similaire sur ATtiny2313.
Il a plus qu'assez de conclusions, surtout si vous utilisez un écran LED avec une puce de pilote intégrée comme MAX7219:
Un diagramme complet de l'appareil ressemble à ceci:
Un pilote assez complexe pour les composants discrets, contenant des circuits RC, un limiteur de diode, des étages amplificateurs, est utilisé pour obtenir des impulsions rectangulaires à partir d'un signal de presque n'importe quelle forme. Le déclencheur D est situé à l'extérieur, le signal de fréquence mesuré (premier) lui est fourni par le pilote, des signaux avec des fréquences de 10 MHz et 1 Hz (deuxième et troisième respectivement) sont reçus du microcontrôleur, le signal de sortie (quatrième) revient au microcontrôleur. Le deuxième déclencheur de ce type sert à générer un signal à un point de contrôle. Le même schéma PDF dans l'archive ZIP est disponible. ici.
Après avoir compilé un diagramme, le maître recueille un fréquencemètre dessus, il s'avère comme ceci:
Sur la photo, contrairement au circuit, la batterie et le contrôleur de charge sont représentés, le stabilisateur d'impulsions est également mentionné par le maître, mais où il est, il n'est pas visible. Tous ces composants ont été ajoutés plus tard, ce qui a rendu le travail avec le fréquencemètre plus pratique. Une batterie 18650 doit être prise avec une protection, le soudage des fils est inacceptable. Soit le compartiment, soit le soudage par points.
Firmware (se trouve ici également dans l'archive ZIP) le maître écrit en tenant compte de la nécessité de transférer le microcontrôleur de l'horloge vers le générateur RC pour travailler à partir de quartz externe, ainsi que la possibilité d'assigner différentes fonctions à chacune des sorties du microcircuit:
Pour télécharger le firmware, l'assistant prend un programmateur en circuit d'Olimex. Il s'agit d'une entreprise bulgare avec un profil proche d'Adafruit.
Le capitaine scelle la décharge mineure sur l'écran, puis perce un trou dans le couvercle du boîtier pour que cette décharge soit fermée, car ses lectures étaient inexactes malgré toutes les mesures prises.Ceci est affecté par les caractéristiques de l'algorithme et par la stabilité à une température pas trop élevée de l'oscillateur à cristal. Pour le configurer, le maître connecte un fréquencemètre externe au point de contrôle avec stabilisation de la fréquence du générateur d'horloge du récepteur GPS, après quoi il définit l'exacte 5 MHz en tournant le condensateur d'accord (le déclencheur divise la fréquence d'horloge par deux). Un fréquencemètre correctement réglé fournit la précision requise dans la plage de fréquences mesurées de 0,2 Hz à 2 MHz. Les deux photos suivantes montrent comment le maître a appliqué le même signal simultanément aux fréquencemètres de référence et vérifiés: