Table des matières:
- Étape 1: Familiarisez-vous avec l'écran
- Étape 2: Défi 1: Haute tension
- Étape 3: Défi 2: Alimenter le filament
- Étape 4: Interfaçage avec la logique 5V
- Étape 5: fabrication d'un indicateur de niveau
- Étape 6: Programmation de l'Arduino
- Étape 7: PCB
Vidéo: Indicateur de niveau audio à partir d'un VFD recyclé : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
VFD - Les écrans fluorescents sous vide, une sorte de technologie d'affichage de dinosaure, toujours assez sympa et cool, peuvent être trouvés dans de nombreux appareils électroniques domestiques obsolètes et négligés. Alors allons-nous les jeter? Noooon, nous pouvons toujours les utiliser. Cela coûte un peu d'effort mais cela en vaut la peine.
Étape 1: Familiarisez-vous avec l'écran
Un VFD a 3 parties principales
- Filament (bleu)
- Portails (vert)
- Plaques (jaunes) recouvertes de phosphore qui s'illuminent lorsqu'elles sont frappées par des électrons.
Les électrons voyagent du filament vers les plaques, en passant par les grilles. Pour que cela se produise, la plaque doit être environ 12 à 50V plus positive que le filament (les électrons négatifs sont attirés vers le côté positif). Les grilles permettront aux électrons de passer lorsque leur tension sera proche de celle des plaques. Sinon, lorsque les portes ont une tension faible ou négative, les électrons rebondissent et n'atteignent pas les plaques, ce qui entraîne l'absence de lumière.
En regardant de près l'affichage, vous verrez que les portes (les plaques métalliques ponctuées) couvrent plusieurs plaques (les éléments d'affichage derrière), donc une porte bascule un certain nombre d'éléments d'affichage. Un certain nombre de plaques sont également connectées ensemble sur une seule broche. Il en résulte une matrice, qui doit être exécutée de manière multiplexée. Vous activez une porte à la fois et allumez également les plaques qui doivent s'allumer sous cette porte, puis allumez la porte suivante et d'autres plaques.
Pour tester l'écran, vous pouvez rechercher les broches à filament - généralement les plus à l'extérieur - et y appliquer environ 3 V, en utilisant 2 piles AA. N'utilisez pas de tension plus élevée, cela pourrait faire exploser les fils de filaments fins. Ensuite, les fils deviennent visibles sous forme de bandes rougeoyantes, vous aviez l'habitude de beaucoup de tension !
Ensuite, appliquez 9/12/18V (2 piles 9V) à une porte et à une plaque (il suffit de regarder dans l'affichage où se trouvent les broches des portes métalliques), cela devrait allumer un élément d'affichage quelque part.
Sur les photos, j'ai simplement connecté (presque) toutes les portes et anodes à 12V, cela allume tout.
Prenez des notes sur quelle broche s'allume quel segment d'affichage ! Cela sera nécessaire pour connecter et programmer l'affichage.
Étape 2: Défi 1: Haute tension
Comme nous l'avons vu en théorie, les plaques/portes ont besoin d'une tension de 12 à 50 volts pour attirer les électrons et obtenir un bon éclairage du phosphore. Dans les appareils grand public, cette tension provient généralement d'une languette supplémentaire sur le transformateur principal. En tant que bricoleur, vous n'avez pas de transformateurs avec des languettes supplémentaires et vous privilégiez de toute façon les simples alimentations USB 5V:)
Ensuite, en exécutant un affichage matriciel multiplexé, nous avons besoin de plus de tension lorsque le ~12V de notre test, car les segments d'affichage ne s'allument que peu de temps l'un après l'autre, ce qui entraîne un effet de gradation (style PWM avec un rapport 1:NumberOfGates). Il faut donc viser le 50V.
Il existe un certain nombre de circuits pour augmenter les tensions d'aussi bas que 5V à 30V..50V, mais la plupart ne fournissent qu'une petite quantité d'énergie, comme quelques mA@50V pour le pilote que je montre dans les étapes suivantes, qui utilise des résistances de rappel, ce n'est pas suffisant. J'ai fini par utiliser l'un des circuits booster de tension que vous pouvez trouver sur Amazon ou eBay (recherchez "XL6009"), il convertit 5V en ~ 35V avec un courant élevé, ce qui est assez bon.
Ces appareils basés sur XL6009 peuvent être proxénés pour produire ~50V en changeant une résistance. La résistance est marquée dans les images avec une flèche rouge. Vous pouvez également rechercher une fiche technique du XL6009, qui contient les informations nécessaires pour calculer la tension de sortie.
Étape 3: Défi 2: Alimenter le filament
Le filament doit être alimenté avec environ 3V (dépend de l'affichage). De préférence AC et en quelque sorte scotché au milieu sur GND. Puh, 3 vœux d'affilée.
Encore une fois dans les appareils d'origine, cela serait réalisé avec un onglet sur le transformateur et une sorte de connexion de la diode Z à GND ou quelque part encore plus étrange (comme un rail -24V)
Quelques expériences plus tard, j'ai trouvé qu'une simple tension alternative au-dessus de GND est assez bonne. La tension continue, comme 2 piles AA, fonctionne également, mais elle produit un gradient de luminosité d'un côté du VFD à l'autre, voici quelques exemples sur youtube lorsque vous recherchez "VFD".
Ma solution
Pour obtenir une tension alternative, c'est une tension qui change constamment de polarité, je peux utiliser un circuit H-Bridge. Celles-ci sont très courantes en robotique pour contrôler les moteurs à courant continu. Le H-Bridge permet de changer la direction (polarité) et aussi la vitesse d'un moteur.
Mon fournisseur d'électronique DIY préféré propose un petit module "Pololu DRV8838" qui fait exactement ce que je veux.
La seule entrée nécessaire est l'alimentation et une source d'horloge, de sorte que la chose change constamment de polarité. L'horloge? Il s'avère qu'un simple élément RC entre la sortie négative et l'entrée PHASE peut agir comme un oscillateur pour cette chose.
L'image montre le branchement du pilote du moteur pour générer une tension alternative pour le filament VFD.
Étape 4: Interfaçage avec la logique 5V
Maintenant, nous pouvons éclairer tout l'écran, super. Comment montrer un seul point/chiffre ?
Nous devons basculer chaque porte et anode à un certain moment. C'est ce qu'on appelle le multiplexage. J'ai vu d'autres tutoriels à ce sujet ici. Par exemple (https://www.instructables.com/id/Seven-Segment-Di…
Notre VFD a beaucoup de broches, toutes doivent être pilotées avec des valeurs différentes, donc chacune aurait besoin d'une broche sur le contrôleur. La plupart des petits contrôleurs n'ont pas autant de broches. Nous utilisons donc des registres à décalage comme extensions de ports. Ceux-ci se connectent avec une horloge, des données et une ligne de sélection à la puce du contrôleur (seulement 3 broches) et peuvent être mis en cascade pour fournir autant de broches de sortie que nécessaire. Un Arduino peut utiliser son SPI pour sérialiser efficacement les données vers ces puces.
Côté affichage, il y a aussi une puce à cet effet. Le "TPIC6b595" est un registre à décalage avec des sorties à drain ouvert, qui gère jusqu'à 50V. Le drain ouvert signifie que la sortie est laissée ouverte lorsqu'elle est définie sur TRUE/1/HIGH et qu'un transistor interne passe activement au côté bas FALSE/0/LOW. Lors de l'ajout d'une résistance de la broche de sortie à V + (50 V), la broche sera tirée jusqu'à ce niveau de tension tant que le transistor interne ne la tirera pas vers GND.
Le circuit représenté cascade 3 de ces registres à décalage. Les matrices de résistances sont utilisées comme pull up. Le circuit contient également le commutateur de puissance à filament (pont en H) et un simple amplificateur de tension qui a ensuite été rejeté et remplacé par la carte XL6009.
Étape 5: fabrication d'un indicateur de niveau
Pour cela, j'utilise un écran matriciel à 20 chiffres et 5x12 pixels par chiffre. Il a 20 portes, une pour chaque chiffre et chaque pixel a une broche de plaque. Le contrôle de chaque pixel nécessiterait 60+20 broches contrôlables individuelles, par ex. 10 puces TPIC6b595.
Je n'ai que 24 broches contrôlables à partir de 3x TPIC6b595. Je connecte donc un tas de pixels à un pixel indicateur de niveau plus grand. En fait, je peux diviser chaque chiffre en 4 car je peux contrôler 20+4 broches. J'utilise 2x5 pixels par étape d'indicateur de niveau. Les broches de ces pixels sont soudées ensemble, ça a l'air un peu chaotique mais ça marche:)
PS: Je viens de trouver ce projet où cet affichage est contrôlé au niveau des pixels.
Étape 6: Programmation de l'Arduino
Comme mentionné, le registre à décalage sera connecté à un SPI matériel. Dans le schéma de brochage du Leonardo (image d'Arduino), les broches sont appelées "SCK" et "MOSI" et sont violettes. MOSI signifie MasterOutSlaveIn, c'est là que la date est sérialisée.
Si vous utilisez un autre Arduino, recherchez le schéma de brochage pour SCK et MOSI et utilisez ces broches à la place. Le signal RCK doit être conservé sur la broche 2, mais cela peut être déplacé lors de la modification également dans le code.
L'esquisse exécute le convertisseur AD à la broche A0 en tant que service d'interruption. Ainsi, les valeurs AD sont constamment lues et ajoutées à une variable globale. Après quelques lectures, un drapeau est défini et la boucle principale récupère la valeur de l'annonce, la transforme en quelle broche fait quoi et la transfère vers le SPI dans le TPIC6b. La mise à jour de l'affichage doit être bouclée sur tous les chiffres/portes. et encore avec un taux tel que l'œil humain ne le verra pas clignoter.
Exactement le genre de travail pour lequel un Arduino a été conçu:)
Voici le code de mon indicateur de niveau…
github.com/mariosgit/VFD/tree/master/VFD_T…
Étape 7: PCB
J'ai fait quelques PCB pour ce projet, juste pour avoir une construction agréable et propre. Ce PCB contient un autre survolteur qui n'a pas fourni assez de puissance, donc je ne l'ai pas utilisé ici et j'ai injecté le 50V du booster XL6009 à la place.
La partie délicate consiste à ajouter le VFD, car ceux-ci peuvent avoir toutes sortes de formes. J'ai essayé de rendre le PCB quelque peu générique dans la partie connecteur VFD. En fin de compte, vous devez déterminer le brochage de votre écran et raccorder le câblage d'une manière ou d'une autre et éventuellement modifier un peu le code du programme pour que tout s'emboîte.
Le PCB est disponible ici:
Conseillé:
Indicateur de niveau d'eau utilisant Arduino dans TinkerCad : 3 étapes
Indicateur de niveau d'eau utilisant Arduino dans TinkerCad : Cet article concerne un contrôleur de niveau d'eau entièrement fonctionnel utilisant Arduino. Le circuit affiche le niveau d'eau dans le réservoir et met le moteur en marche lorsque le niveau d'eau descend en dessous d'un niveau prédéterminé. Le circuit commute automatiquement le
Indicateur de niveau d'eau : 4 étapes
Indicateur de niveau d'eau : L'alarme de niveau d'eau est un mécanisme simple pour détecter et indiquer le niveau d'eau dans divers récipients. De nos jours, en raison de la vie bien remplie, de nombreuses personnes ont du mal à contrôler en permanence le niveau d'eau du récipient. Quand l'eau est
Indicateur de niveau audio LED DIY : 5 étapes
Indicateur de niveau audio LED bricolage : cette instructable vous emmènera dans un voyage pour créer votre propre indicateur de niveau audio, en utilisant un Arduino Leonardo et quelques pièces de rechange. L'appareil vous permet de visualiser votre sortie audio pour voir l'état de votre audiovisuel et en temps réel. Ce
Indicateur de niveau sonore/audio : 10 étapes
Indicateur de niveau sonore/audio : dans ce projet, je vais vous montrer comment créer un indicateur de niveau sonore simple à l'aide d'amplificateurs opérationnels. Remarque : Pour poser des questions, veuillez visiter mon site à l'adresse Ask the Expert.Vidéos supplémentaires utiles : Configuration d'un circuit simulé sur une planche à pain (Proto
Comment faire un indicateur de niveau audio : 4 étapes
Comment faire un indicateur de niveau audio : L'indicateur de niveau audio est un appareil qui montre le niveau audio en faisant briller les LED en fonction de l'amplitude audio. Nous pouvons utiliser des LED colorées pour