Julien De Bona
Free Software, Cooking, and Everything


Un oscillateur battant la seconde

Publié le 2015-11-03.

Le montage repose sur un circuit intégré CD4060 et un cristal à 32 768 Hz, qui, avec quelques résistance et condensateurs, formeront un oscillateur à cette fréquence. Le CD4060 dispose d'une série de flip-flops qui vont chacun diviser la fréquence du signal obtenu par deux, arrivant ainsi à un signal de 2 Hertz. Pour arriver à un signal d'un Hertz, un flip-flop, fourni par un circuit CD4027, réalise la dernière division et pilote, dans le schéma ci-dessous, pilote une LED.

schéma de l'oscillateur sur breadboard

L'oscillateur

L'oscillateur est de type "Pierce" (voir le schéma sur Wikipedia ci-dessous). C'est un classique, grâce au faible nombre de composants qu'il implique. J'en ai par exemple identifié deux sur une vieille carte-mère. Le schéma est celui de la figure 7 dans la fiche technique du CD4060 ci-dessous. D'autres schémas indiquent des montages à base de résistance et de condensateurs, mais sans un cristal de quartz, il ne peuvent pas fournir une précision satisfaisante pour une horloge. On voit que le CD4060 ne fournit pas l'inverseur nécessaire à l'oscillateur, mais une porte logique NAND avec comme entrées l'oscillateur et le pin "Reset". Lorsque le pin "Reset" est à faux (tension basse), cette porte se comporte comme un inverseur. A propos des résistances, la résistance R1 (ou Rbias sur la fiche technique) a une résistance inversément proportionnelle à la fréquence du cristal. Pour du 32 kHz, la plage valide est entre 10 et 15 MΩ. Il y a eu une partie d'essais-erreurs pour parvenir à un oscillateur fonctionnel, et les imperfections de la breadboard et les caractéristiques pas toujours disponibles des composants peuvent avoir un impact sur le bon fonctionnement. Pour ne pas ajouter plus d'imperfections, il est aussi recommandé de limiter les fils au strict minimum. Les valeurs qui marchent pour moi sont:

  • 10 MΩ pour la résistance R1 (celle avec 5 bandes)
  • 330 kΩ pour la résistance R2 (celle avec 4 bandes)
  • 45 pF pour les deux condensateurs (les pastilles bleues)

Le cristal fait bien sûr 32 768 Hz. Le reste du câblage du CD4060 est:

  • une tension de 0V sur le pin 8 (fil bleu)
  • une tension de 5V sur le pin 16 (fil rouge)
  • une tension de 0V sur le pin 12 (fil noir) - cette broche est le "Reset"

En sortie, le pin 3 est connecté à la sortie du 14ème flip-flop du circuit, et va générer une fréquence de 2 Hz. Les autres pins fournissent des fréquences intermédiaires: 4, 8, 16, 32 ... Hz.

Des mauvaises valeurs pour les condensateurs et les résistances peuvent mener à un oscillateur qui met plusieurs secondes à démarrer, ou qui n'oscille que rarement, voire pas du tout. Je n'exclus pas de devoir corriger certaines de ces valeurs si je recréais le circuit sur un circuit imprimé.

Le flip-flop supplémentaire

Si on veut connecter ce signal à l'Arduino, celui-ci peut effectuer directement la dernière division par zéro de manière programmatique; sinon, il faut rajouter un flip-flop supplémentaire. Le circuit CD4027 fournit deux flip-flops. Comme pour le CD4060, le pin 16 est connecté à 5V et le pin 8 à 0V. Les pins 1 à 7 et 9 à 15 sont connectés à deux flip-flops, avec dans l'ordre de gauche à droite (soit de 1 à 7 et de 15 à 9):

  1. La sortie (Q)
  2. L'inverse de la sortie (Q)
  3. Le signal d'horloge
  4. Set (voir flip-flop S-R)
  5. K (voir flip-flop J-K)
  6. J (voir flip-flop J-K)
  7. Reset (voir flip-flop S-R)

Le flip-flop du haut (pins 9 à 15) n'est pas utilisé, et toutes ses entrées sont connectés à une tension de 0V pour leur éviter de flotter (fils noirs). Pour le flip-flop du bas, la table de vérité de la fiche technique (table 3 page 14) indique ce qui est nécessaire: S et R à 0V, J et K à 5V. En connectant le signal à 2 Hz au pin de l'horloge, la sortie Q va générer un signal à 1 Hz. En effet, à chaque phase montante (1 cycle) du signal d'horloge, la sortie Q est inversée. Après 2 inversions, elle a effectué un cycle complet, et on obient ainsi une fréquence qui est la moitié de la fréquence de l'horloge. Pour la démonstration, la sortie Q est connectée à une LED, qui va clignoter (1/2 seconde éteinte, 1/2 seconde allumée).

Alimentation

Les réglettes d'alimenttion sont alimentées par mon Arduino, qui cans ce cas, ne sert qu'à ça (rouge = +5V, bleu = 0V). Les fiches techniques de circuits intégrés indiquent qu'ils peuvent fonctionner entre 3 et 15V. Dans le cas d'une tension différente, ne pas oublier de changer la valeur de la résistance pour la LED (qui est ici de 330 kΩ pour 5V).

Liens


tags: arduino

Quelques tags ...