vendredi 4 janvier 2019

Kit: fréquencemètre et testeur de quartz

Voici un autre petit kit à souder soi-même que vous pouvez vous procurer en ligne pour une poignée de menue monnaie. Cette fois, il s'agit d'un fréquencemètre et testeur de quartz ("frequency counter and crystal tester"). Le mien m'a coûté un peu moins de 3 euros sur eBay.

Contenu du kit


Le kit est constitué des éléments suivants:
  • Un circuit imprimé ( 8 cm X 5,4 cm)
  • 1 microcontrôleur PIC16F628 et son connecteur (socket) à 16 broches.
  • 5 afficheurs 7 segments (plus grands que j'aurais cru: 1,8 cm X 1,3 cm)
  • 1 transistor NPN S9014, 1 transistor NPN S9018, 1 régulateur de tension 7550 (tous en format TO-92)
  • 9 résistances de 1 kΩ, 2 résistances de 2 kΩ et 1 résistance de 100 kΩ.
  • 5 condensateurs céramique: (3 de 22 pF, 1 de 1 nF et 1 de 100 nF)
  • 1 condensateur à capacité variable
  • 4 diodes 1N4148
  • 1 quartz de 20 MHz
  • 1 bouton poussoir
  • 1 barrette de 3 connecteurs femelles, 1 barrette de 3 connecteurs mâles.
  • Une prise d'alimentation (power jack)

Assemblage

Le circuit imprimé comporte suffisamment d'informations pour qu'on puisse se débrouiller sans manuel d'instructions.


J'ai commencé par les résistances. Il faut évidemment mettre les bonnes valeurs au bon endroit (dans mon cas, un multimètre a été nécessaire, car il était difficile de distinguer les bandes de couleur).


Ensuite, le connecteur à 16 pins (socket) pour le microcontrôleur (petite coche vers la droite).


Nul besoin de multimètre pour les condensateurs et les transistors: le numéro indiqué sur le circuit imprimé correspond à celui indiqué sur le composant.  Peu de risque d'installer un transistor à l'envers, car son profil a été dessiné sur le circuit imprimé.  La position du quartz de 20 MHz est assez évidente aussi.


Pour les 4 diodes, évidemment, on fait attention à la polarité...


La barrette de connecteurs femelles, qui servira à insérer le quartz à tester, se situe sous le condensateur "102". La barrette de connecteurs mâles, qui sert d'alimentation pour la carte et d'entrée pour un signal dont on désire mesurer la fréquence, se situe sous le régulateur 7550.


En ce qui concerne les afficheurs 7 segments, ma recommandation serait de tous les insérer, et de les souder ensuite. J'ai fait l'erreur de les placer un par un à partir de la gauche, et de les souder avant d'avoir placé leur voisin de droite. Résultat: le dernier chiffre à droite n'avait pas tout à fait assez d'espace pour être inséré à fond, et je n'avais pas envie de tout dessouder pour recommencer.  Le résultat final n'est pas très esthétique...


J'ai jugé que le format du jack d'alimentation n'était pas très pratique pour moi, et je l'ai donc remplacé par deux fils que je peux facilement brancher à une source de tension de mon choix (5 V à 9 V). Décision un peu stupide, tout compte fait, puisque la carte dispose déjà d'une deuxième paire de connecteurs pouvant être utilisés pour l'alimentation de la carte (la barrette de connecteurs mâles)...


Il ne reste plus qu'à insérer l'indispensable microcontrôleur PIC16F628 dans son réceptacle, en faisant bien attention de le mettre dans le bon sens (petite coche vers la droite), et on est prêt à tester notre nouvel appareil­­.

Si vous le branchez à une source de tension continue de 5 V à 9 V, le quatrième zéro s'allume, ce qui indique que l'appareil n'a rien trouvé à mesurer. Au bout de quelques secondes, ce zéro va s'éteindre automatiquement, pour économiser l'énergie. Notez que le bouton poussoir ne sert pas à allumer ou éteindre l'appareil: il sert uniquement à le programmer.



Test du testeur de quartz

Pour mesurer la fréquence d'un quartz, on insère une de ses broches dans le connecteur femelle de gauche, et son autre broche dans le connecteur femelle de droite. Le résultat s'affiche en MHz.



En principe, on doit pouvoir calibrer l'appareil en ajustant le condensateur à capacité variable au moyen d'un petit tournevis. Dans mon cas, cet ajustement a eu un effet très subtil, pour ne pas dire inexistant, sur la valeur affichée.

Voici quelques résultats pour différents quartz que j'ai testés:

Valeur imprimée sur le quartz -- valeur affichée par l'appareil
    2.45 MHz -- 0
    4 MHz -- 4.06657 MHz
    6 MHz -- 6.0647 MHz
    8 MHz -- 8.0645 MHz
    9.8304 MHz -- 9.8945 MHz
    16 MHz -- 16.063 MHz
    20 MHz -- 20.062 MHz
    49.920 MHz -- 16.690 MHz

Nous pouvons donc remarquer que les valeurs mesurées correspondent assez bien à ce qui est imprimé sur le quartz lorsque la fréquence se situe entre 4 MHz et 20 MHz. Toutefois, la fréquence du quartz de 2.45 MHz était probablement trop lente pour que l'appareil puisse la mesurer (il a indiqué 0, comme si aucun quartz n'avait été inséré dans le connecteur), et la fréquence de 49.920 MHz était trop rapide (la valeur maximale indiquée par le vendeur est de 50 MHz).  De plus, lors de la mesure du quartz de 4 MHz, l'appareil a d'abord affiché une fréquence beaucoup plus faible, qui augmentait progressivement jusqu'à se stabiliser à 4.006657 MHz au bout de quelques dizaines de secondes.

Test du fréquencemètre

L'appareil peut également servir à mesurer la fréquence d'une tension qui varie de façon périodique. Attention: cette tension, qu'on mesure à la broche "IN" de la barrette de connecteurs mâles,  doit se situer entre 0 et 5 V.

Le résultat est affiché en MHz si le point décimal demeure allumé de façon continue, et en kHz si le point décimal clignote.



Pour vérifier le fonctionnement de cette fonction de l'appareil, j'ai utilisé une carte Arduino pour produire un signal périodique de fréquence connue au moyen de la fonction tone().

Voici quelques résultats:

Fréquence utilisée dans le sketch -- Fréquence affichée
    1000 Hz  -- 1.057 kHz
    5000 Hz -- 5.029 kHz
    10000 Hz -- 9.993 kHz
    20000 Hz -- 19.992 kHz
    50000 Hz -- 49.710 kHz

Bouton de programmation



Le bouton poussoir permet de modifier certains paramètres de l'appareil. En maintenant le bouton enfoncé un certain temps, vous entrez en mode programmation (l'afficheur indique "ProG"). Lorsque vous relâchez le bouton, l'afficheur indique "quit" (maintenez le bouton enfoncé un certain temps pour quitter le mode de programmation).

Pendant que l'afficheur indique "quit", vous pouvez passer à d'autres menus en appuyant brièvement sur le bouton:

PSAVE: mode d'économie d'énergie grâce auquel la valeur mesurée n'est affichée que pendant quelques secondes. En maintenant le bouton enfoncé un certain temps, vous pouvez désactiver cette fonction (qui devient "noPSV").

Add: si vous maintenez le bouton enfoncé un certain temps, la valeur actuellement mesurée sera additionnée à toutes les mesures que vous prendrez ensuite.

Sub: si vous maintenez le bouton enfoncé un certain temps, la valeur actuellement mesurée sera soustraite de toutes les mesures que vous prendrez ensuite.

ZEro: vous maintenez le bouton enfoncé un certain temps pour annuler la fréquence de décalage préalablement programmée grâce à "Add" ou "Sub".

tAbLE: vous maintenez le bouton enfoncé un certain temps afin d'ajouter une fréquence de décalage pré-programmée

En bref

Pas cher, facile d'utilisation, et pas difficile à assembler.

Yves Pelletier   (TwitterFacebook)

mercredi 2 janvier 2019

Afficheur LCD 2 X 16 et carte STM32 (IDE Arduino)

N.B.: Ce billet a été mis à jour le 27 décembre 2019 afin d'inclure des cartes STM32 supplémentaires.

Dans ce billet, je vous explique comment contrôler un afficheur à cristaux liquide de type Hitachi HD44780 (2 lignes de 16 caractères) avec une carte STM32 (Nucleo, Blue Pill, etc.) programmée avec l'IDE Arduino.


Préparation de l'IDE Arduino

Dans un premier temps, s'il s'agit de votre première expérience de programmation d'une carte STM32 avec l'IDE Arduino, il serait important de consulter ce précédent article, qui vous indique comment ajouter les cartes STM32 aux menus de votre IDE Arduino.

Branchements de l'afficheur à la carte

La plupart des afficheurs LCD 2 X 16 sont conçus pour fonctionner à un niveau logique de 5 V mais  interpréteront quand même correctement les signaux de 3,3 V émis par la carte STM32. Il est également possible de se procurer un LCD 2 X 16 spécifiquement conçu pour fonctionner à 3,3 V.

En mode 4 bits, l'afficheur accaparera 6 sorties de votre carte (sans compter les broches d'alimentation). Puisque chacune de ces 6 broches est définie à l'intérieur du sketch, vous pouvez choisir celles que vous voulez. En ce qui me concerne, ma priorité a été de choisir 6 broches disponibles sur toutes mes cartes STM32 afin que le même sketch puisse être utilisé sur chaque carte sans la moindre modification.

La Blue Pill (STM32F103C8T6)


J'ai connecté l'afficheur LCD à la Blue Pill de la façon suivante:
  • Broche 1 du LCD: GND de la blue pill
  • Broche 2 du LCD: sortie 5 V de la blue pill
  • Broche 3 du LCD: curseur d'un potentiomètre pouvant varier de 0 à 5 V.
  • Broche 4 du LCD: broche A4 de la blue pill
  • Broche 5 du LCD: GND de la blue pill
  • Broche 6 du LCD: broche A5 de la blue pill
  • Broche 7 du LCD: pas connectée
  • Broche 8 du LCD: pas connectée
  • Broche 9 du LCD: pas connectée
  • Broche 10 du LCD: pas connectée
  • Broche 11 du LCD: broche A6 de la blue pill
  • Broche 12 du LCD: broche A7 de la blue pill
  • Broche 13 du LCD: broche A9 de la blue pill
  • Broche 14 du LCD: broche A10 de la blue pill
  • Broche 15 du LCD: sortie 5 V de la blue pill
  • Broche 16 du LCD: GND de la blue pill

Nucleo F030R8


Avec ma carte Nucleo F030R8, les connexions étaient:
  • Broche 1 du LCD: GND du Nucleo
  • Broche 2 du LCD: sortie 5 V du Nucleo
  • Broche 3 du LCD: curseur d'un potentiomètre pouvant varier de 0 à 5 V.
  • Broche 4 du LCD: broche A2 du Nucleo
  • Broche 5 du LCD: GND du Nucleo
  • Broche 6 du LCD: broche D13 du Nucleo
  • Broche 7 du LCD: pas connectée
  • Broche 8 du LCD: pas connectée
  • Broche 9 du LCD: pas connectée
  • Broche 10 du LCD: pas connectée
  • Broche 11 du LCD: broche D12 du Nucleo
  • Broche 12 du LCD: broche D11 du Nucleo
  • Broche 13 du LCD: broche D8 du Nucleo
  • Broche 14 du LCD: broche D2 du Nucleo
  • Broche 15 du LCD: sortie 5 V du Nucleo
  • Broche 16 du LCD: GND du Nucleo

STM32F030 Demo Board v1.1

L'afficheur a fonctionné sans problèmes sur ma modeste STM32F030 Demo Board (ce qui n'est pas le cas des afficheurs graphiques, trop gourmants en mémoire).

L'afficheur était branché de cette façon:
  • Broche 1 du LCD: GND de la Demo Board
  • Broche 2 du LCD: sortie 5 V de la Demo Board
  • Broche 3 du LCD: curseur d'un potentiomètre pouvant varier de 0 à 5 V.
  • Broche 4 du LCD: broche PA4 de la Demo Board
  • Broche 5 du LCD: GND de la Demo Board
  • Broche 6 du LCD: broche PA5 de la Demo Board
  • Broche 7 du LCD: pas connectée
  • Broche 8 du LCD: pas connectée
  • Broche 9 du LCD: pas connectée
  • Broche 10 du LCD: pas connectée
  • Broche 11 du LCD: broche PA6 de la Demo Board
  • Broche 12 du LCD: broche PA7 de la Demo Board
  • Broche 13 du LCD: broche PA9 de la Demo Board
  • Broche 14 du LCD: broche PA10 de la Demo Board
  • Broche 15 du LCD: sortie 5 V du Nucleo
  • Broche 16 du LCD: GND du Nucleo

Programmation d'un sketch Arduino

La bibliothèque LiquidCrystal, fournie par défaut avec l'IDE Arduino, est parfaitement compatible avec le core STM32, ce qui signifie que vous pouvez utiliser n'importe quel sketch conçu pour une carte Arduino, à la condition d'adapter le numéro des broches.

Le sketch ci-dessous affiche par alternance sur le LCD les messages "Electronique en amateur" et "STM32Duino Blue Pill".



À lire également 

Si vous préférez utiliser un écran qui affiche également des images, vous pouvez jeter un oeil sur le tutoriel concernant l'écran OLED SH1106 ou celui sur l'écran couleur ST7735.

La liste de tous les projets impliquant les cartes STM32, qu'elles soient programmées avec l'IDE Arduino ou avec mbed, se trouve sur cette page.
Finalement, le même afficheur LCD 2 X 16 peut être piloté par un Arduino, un Raspberry Pi, un ESP8266, un ESP32, un STM32 Nucleo programmé avec mbed, un Pinguino, un MSP430 Launchpad, etc.

Yves Pelletier   (TwitterFacebook)

vendredi 28 décembre 2018

Kit: détecteur de métaux EQKIT MDS-60

Sur des sites comme eBay ou Aliexpress, vous pouvez vous procurer, pour environ 1 euro, un kit permettant de construire un détecteur de métaux pas très performant, mais néanmoins fonctionnel.

Le kit est constitué d'un circuit imprimé qui comporte sur chaque face un fil conducteur en forme de spirale, en plus de 16 composants à souder soi-même: 3 résistances, 5 condensateurs, 3 transistors, une LED, un potentiomètre, un buzzer piézo, un bornier à vis et un interrupteur.



Assemblage

Le kit est livré sans manuel d'instructions, mais les informations écrites directement sur le circuit imprimé sont suffisantes pour permettre à l'utilisateur de placer chaque composant au bon endroit.

La valeur de chaque résistance est indiquée sur le circuit imprimé: R1 est la résistance de 200 kΩ (bandes rouge-noir-jaune), R2 est la résistance de 2 kΩ (bandes rouge-noir-rouge) et R3 est la résistance de 470 Ω (bandes jaune-violet-brun).


C1 et C4 sont des condensateurs céramique de 100 nF (104), alors que C2 et C3 sont des condensateurs céramique de 2,2 nF (222).



Q1 est un transistor S9018 (NPN), alors que Q2 et Q3 sont des transistors S9012 (PNP). Puisque le profil du boîtier TO-92 est clairement dessiné sur le circuit imprimé, il faudrait être particulièrement négligeant pour les souder à l'envers.


En plaçant la LED et le condensateur électrolytique de 100 µF, il faut faire attention à la polarité: le trou entouré d'un carré est la borne positive, et on y insère donc la broche la plus longue.


VR1 est le potentiomètre qui permet de régler la sensibilité du détecteur.



On fait attention à la polarité du buzzer piézo: la borne positive est indiquée sur l'étiquette (c'est aussi la broche la plus longue).


J'ai finalement soudé l'interrupteur marche-arrêt et le bornier à vis.



Mon évaluation de la phase d'assemblage: il s'agit d'un kit facile, qui convient parfaitement aux néophytes (en fait, la plupart des composants ont été soudés par mon fils Zachary, qui n'avait jamais eu l'occasion de souder auparavant).

Test et utilisation du détecteur de métaux

Le détecteur de métaux doit être alimenté par une source de tension continue de 3 à 5 V (qui n'est pas incluse). Au moyen d'un petit tournevis, vous devrez probablement ajuster le potentiomètre (VR1) pour ajuster le circuit (de façon à ce qu'il ne réagisse qu'à proximité d'un objet métallique).

Les premiers tests, réalisés au moyen d'une pièce de monnaie, se sont révélés positifs, mais il faut placer le détecteur vraiment très proche de la pièce (la portée officielle de 6 cm semble quelque peu optimiste, mais peut-être qu'un meilleur réglage du potentiomètre permettrait l'obtention de meilleurs résultats).


Mon évaluation du détecteur de métaux: je le vois plus comme un jouet éducatif que comme un outil vraiment utile. Ne comptez pas trop sur ce dispositif pour trouver des bijoux enfouis sous le sable d'une plage...

Yves Pelletier   (TwitterFacebook)
(avec la précieuse collaboration de Zachary Pelletier)