Table des matières:

Radio SteamPunk : 10 étapes (avec photos)
Radio SteamPunk : 10 étapes (avec photos)

Vidéo: Radio SteamPunk : 10 étapes (avec photos)

Vidéo: Radio SteamPunk : 10 étapes (avec photos)
Vidéo: Ghosts, Dates, and Darker Fates | Critical Role | Campaign 3, Episode 10 2024, Juillet
Anonim
Radio SteamPunk
Radio SteamPunk

Projet: Radio SteamPunk

Date: mai 2019 – août 2019

APERÇU

Ce projet est sans aucun doute le plus complexe que j'ai entrepris, avec seize tubes IV-11 VFD, deux cartes Arduino Mega, dix circuits de néons LED, un servo, un électro-aimant, deux puces IC MAX6921AWI, cinq alimentations CC, une alimentation HV alimentation, deux voltmètres CC, un ampèremètre CC, une radio FM stéréo, un amplificateur de puissance 3 W, un écran LCD et un clavier. Outre la liste de pièces ci-dessus, deux logiciels ont dû être développés à partir de zéro et finalement la construction de l'ensemble de la radio a nécessité environ 200 heures de travail.

J'ai décidé d'inclure ce projet sur le site Instructables sans m'attendre à ce que les membres reproduisent ce projet dans son intégralité, mais plutôt à sélectionner les éléments qui les intéressent. Deux domaines d'intérêt particulier pour les membres du site peuvent être le contrôle des 16 tubes IV-11 VDF à l'aide de deux puces MAX6921AWI et son câblage associé, et les communications entre deux cartes Mega 2650.

Les différents composants inclus dans ce projet ont été achetés localement, à l'exception des tubes IV-11 et des puces MAX6921AWI tous deux obtenus sur EBay. Je voulais redonner vie à divers objets qui, autrement, croupiraient dans des cartons pendant des années. Toutes les vannes HF ont été achetées, étant entendu que toutes les unités ont échoué.

Étape 1: LISTE DES PIÈCES

LISTE DES PIÈCES
LISTE DES PIÈCES
LISTE DES PIÈCES
LISTE DES PIÈCES
LISTE DES PIÈCES
LISTE DES PIÈCES

1. 2 x Arduino Mega 2560 R3

2. Radio FM RDA5807M

3. Amplificateur PAM8403 3W

4. 2 haut-parleurs 20W

5. Dipole FM Ariel

6. 16 tubes VDF IV-11

7. 2 puces MAX6921AWI IC

8. 2 x MT3608 2A Max DC-DC Module d'alimentation Booster Module d'alimentation

9. 2 x module Buck automatique XL6009 400KHz

10. Module 1 canal, déclencheur bas niveau 5 V pour Arduino ARM PIC AVR DSP

11. Bouclier de module 2 canaux 5V 2 canaux pour Arduino ARM PIC AVR DSP

12. Aimant électrique soulevant l'électroaimant DC 6V de ventouse de solénoïde 2.5KG/25N

13. Le moteur pas à pas à 4 phases peut être entraîné par une puce ULN2003

14. 20*4 LCD 20X4 5V écran bleu LCD2004 module LCD d'affichage

15. Module d'interface série IIC/I2C

16. 6 x Bits 7 X WS2812 5050 RVB LED Lampe annulaire avec pilotes intégrés Neo Pixel

17. 3 x Anneau LED 12 x WS2812 5050 LED RVB avec Pilotes Intégrés Neo Pixel

18. 2 x Anneau LED 16 x WS2812 5050 LED RVB avec Pilotes Intégrés Neo Pixel

19. Bande LED Flexible RVB 5m Longueur

20. Clavier à interrupteur à membrane à 12 touches Tableau matriciel 4 x 3 Clavier à interrupteur à clavier matriciel

21. Capteur d'altitude de pression barométrique numérique BMP280 3.3V ou 5V pour Arduino

22. Module d'horloge temps réel RTC de précision du module DS3231 AT24C32 IIC

23. 2 x potentiomètre rotatif linéaire à arbre moleté 50K

24. Adaptateur secteur 12 V 1 A

Étape 2: IV-11 TUBES VDF ET PUCE MAX6921AWI IC

IV-11 TUBES VDF ET PUCE IC MAX6921AWI
IV-11 TUBES VDF ET PUCE IC MAX6921AWI
IV-11 TUBES VDF ET PUCE IC MAX6921AWI
IV-11 TUBES VDF ET PUCE IC MAX6921AWI
IV-11 TUBES VDF ET PUCE IC MAX6921AWI
IV-11 TUBES VDF ET PUCE IC MAX6921AWI

L'utilisation de la puce MAX6921AWI par ce projet s'appuie sur mon précédent projet de réveil. Chaque ensemble de huit tubes IV-11 est contrôlé via une seule puce MAX6921AWI en utilisant la méthode de contrôle Multiplex. Les deux fichiers PDF joints montrent le câblage de l'ensemble de huit tubes et comment la puce MAX6921AWI est câblée à l'ensemble de tubes et, à son tour, câblée à l'Arduino Mega 2560. Un codage couleur strict du câblage est nécessaire pour garantir que segment et Les lignes de tension du réseau sont séparées. Il est très important d'identifier les sorties du tube, voir le PDF ci-joint, cela inclut les broches de chauffage 1.5V 1 et 11, la broche d'anode 24v (2), et enfin les huit broches segment et "dp", 3 - 10. À ce stade temps, il vaut également la peine de tester chaque segment et "dp" à l'aide d'un simple banc d'essai avant de commencer à câbler l'ensemble de tubes. Chaque broche de tube est câblée en série avec la suivante dans la ligne de tubes jusqu'au dernier tube où un câblage supplémentaire est ajouté pour permettre une connexion à distance à la puce MAX6921AWI. Ce même processus est poursuivi pour les deux lignes d'alimentation de chauffage broches 1 et 11. J'ai utilisé du fil de couleur pour chacune des 11 lignes, lorsque je n'ai plus de couleurs, j'ai recommencé la séquence de couleurs mais j'ai ajouté une bande noire autour de chaque extrémité du fil à l'aide de thermorétractable. L'exception à la séquence de câblage ci-dessus concerne la broche 2, l'alimentation à 24 anodes qui a un fil individuel câblé entre la broche 2 et les sorties d'alimentation de l'anode sur la puce MAX6921. Voir le PDF ci-joint pour plus de détails sur la puce et ses connexions. On ne saurait trop insister sur le fait qu'à aucun moment pendant le fonctionnement de la puce, la puce ne doit devenir chaude, chaude après quelques heures d'utilisation oui, mais jamais chaude. Le schéma de câblage de la puce montre les trois connexions au Mega, les broches 27, 16 et 15, l'alimentation 3,5 V-5 V de la broche Mega 27, son GND à la broche Mega 14 et la broche d'alimentation 24 V 1. Ne dépassez jamais l'alimentation 5V et maintenez la plage de puissance de l'anode entre 24V et 30V maximum. Avant de continuer, utilisez un testeur de continuité pour tester chaque fil entre ses points les plus éloignés.

J'ai utilisé la version AWI de cette puce car c'était le plus petit format avec lequel j'étais prêt à travailler. La fabrication de la puce et de son support commence par deux ensembles de 14 broches PCB placées sur une planche à pain, le support de puce placé sur les broches avec la broche 1 en haut à gauche. À l'aide de flux et de soudure, soudez les broches et « étamez » chacune des 28 pattes de puce. Une fois terminé, placez la puce du support de puce en prenant grand soin d'aligner les pattes de la puce avec les coussinets des pattes et en vous assurant que l'encoche de la puce est tournée vers la broche 1. J'ai trouvé que l'utilisation d'un morceau de ruban adhésif sur un côté de la puce m'a aidé stabiliser la puce avant de souder. Lors du soudage, assurez-vous que le flux a été appliqué sur les coussinets des jambes et que le fer à souder est propre. Appuyez généralement sur chaque patte de la puce, cela la pliera légèrement sur le coussinet de la patte et vous devriez voir la soudure couler. Répétez cette opération pour les 28 pattes, vous ne devriez pas avoir besoin d'ajouter de soudure au fer à souder pendant ce processus.

Une fois terminé, nettoyez le support de puce du flux, puis à l'aide d'un testeur de continuité, testez chaque jambe en plaçant une sonde sur la jambe de la puce et l'autre sur la broche du PCB. Enfin, assurez-vous toujours que toutes les connexions ont été effectuées sur le support de puce avant toute mise sous tension réelle, si la puce commence à devenir chaude, éteignez immédiatement et vérifiez toutes les connexions.

Étape 3: CORDE DE LUMIÈRE RVB ET ANNEAU DE LUMIÈRE AU NÉON

CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON
CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON
CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON
CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON
CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON
CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON
CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON
CORDE DE LUMIÈRE RVB & ANNEAU DE LUMIÈRE AU NÉON

Ce projet nécessitait dix éléments d'éclairage, trois cordes lumineuses RVB et sept anneaux lumineux NEON de différentes tailles. Cinq des anneaux lumineux NEON étaient câblés en une série de trois anneaux. Ces types d'anneaux d'éclairage sont très polyvalents dans leur contrôle et les couleurs qu'ils peuvent afficher, j'ai utilisé uniquement les trois couleurs primaires qui étaient allumées ou éteintes. Le câblage consistait en trois fils, 5V, GND et une ligne de contrôle qui était contrôlée via l'esclave Mega, voir la liste Arduino ci-jointe "SteampunkRadioV1Slave" pour plus de détails. Les lignes 14 à 20 sont importantes, en particulier le nombre défini d'unités lumineuses, celles-ci doivent correspondre au nombre physique, sinon l'anneau ne fonctionnera pas correctement.

Les câbles lumineux RVB nécessitaient la construction d'une unité de contrôle qui prenait trois lignes de contrôle du Mega contrôlant chacune les trois couleurs primaires, rouge, bleu et vert. L'unité de contrôle se composait de neuf transistors TIP122 N-P-N, voir la fiche technique TIP122 ci-jointe, chaque circuit se compose de trois transistors TIP122 où une branche est mise à la terre, la deuxième branche est connectée à une alimentation 12V et la branche médiane est attachée à la ligne de commande Mega. L'alimentation de la corde RGB se compose de quatre lignes, une seule ligne GND et trois lignes de contrôle, une pour chacune des trois pattes médianes du TIP122. Cela fournit les trois couleurs primaires, l'intensité de la lumière est contrôlée à l'aide d'une commande d'écriture analogique avec une valeur de 0, pour éteint, et 255 pour maximum.

Étape 4: COMMUNICATIONS ARDUINO MEGA 2560

COMMUNICATION ARDUINO MEGA 2560
COMMUNICATION ARDUINO MEGA 2560
COMMUNICATION ARDUINO MEGA 2560
COMMUNICATION ARDUINO MEGA 2560
COMMUNICATION ARDUINO MEGA 2560
COMMUNICATION ARDUINO MEGA 2560

Cet aspect du projet était nouveau pour moi et en tant que tel nécessitait la construction d'un tableau de distribution IC2 et la connexion de chacun des Mega GND. La carte de distribution IC2 permettait de connecter les deux cartes Mega via les broches 21 et 22, la carte servait également à connecter l'écran LCD, le capteur BME280, l'horloge temps réel et la radio FM. Voir le fichier Arduino joint "SteampunkRadioV1Master" pour plus de détails sur les communications à caractère unique du maître à l'unité esclave. Les lignes de code critiques sont la ligne 90, définissant la deuxième Mega comme unité esclave, la ligne 291 est un appel de procédure de demande d'action esclave typique, la procédure commençant à la ligne 718, enfin la ligne 278 qui a une réponse renvoyée de la procédure esclave, cependant je décidé de ne pas implémenter complètement cette fonctionnalité.

Le fichier "SteampunkRadioV1Slave" joint détaille le côté esclave de cette communication, les lignes critiques sont la ligne 57, définit l'adresse IC2 de l'esclave, les lignes 119 et 122, et la procédure "receiveEvent" commençant un 133.

Il y a un très bon article sur You Tube: Arduino IC2 Communications by DroneBot Workshop qui a été très utile pour comprendre ce sujet.

Étape 5: CONTRLE ÉLECTROMAGNÉTIQUE

CONTRLE ÉLECTRO-AIMANT
CONTRLE ÉLECTRO-AIMANT
CONTRLE ÉLECTRO-AIMANT
CONTRLE ÉLECTRO-AIMANT

Encore une fois, un élément nouveau dans ce projet était l'utilisation d'un électro-aimant. J'ai utilisé une unité 5V, contrôlée via un relais monocanal. Cette unité a été utilisée pour déplacer la clé du code Morse et elle a très bien fonctionné avec des impulsions courtes ou longues fournissant les sons "point" et "tiret" qu'une clé Morse typique présente. Cependant, un problème est survenu lors de l'utilisation de cet appareil, il a introduit un EMF arrière dans le circuit qui a eu pour effet de réinitialiser le Mega attaché. Pour surmonter ce problème, j'ai ajouté une diode en parallèle avec l'électro-aimant qui a résolu le problème car elle attraperait la force contre-électromotrice avant qu'elle n'affecte le circuit d'alimentation.

Étape 6: RADIO FM & AMPLIFICATEUR 3W

RADIO FM & AMPLIFICATEUR 3W
RADIO FM & AMPLIFICATEUR 3W
RADIO FM & AMPLIFICATEUR 3W
RADIO FM & AMPLIFICATEUR 3W

Comme le nom du projet l'indique, il s'agit d'une radio et j'ai décidé d'utiliser un module FM RDA5807M. Bien que cette unité fonctionnait bien, son format nécessite un très grand soin dans la fixation des fils afin de créer une carte PCB. Les languettes à souder de cet appareil sont très faibles et se cassent, ce qui rend très difficile la soudure d'un fil sur cette connexion. Le PDF ci-joint montre le câblage de cette unité, les lignes de commande SDA et SDL permettent de contrôler cette unité à partir du Mega, la ligne VCC nécessite 3,5 V, ne dépassez pas cette tension ou cela endommagera l'unité. La ligne GND et la ligne ANT vont de soi, les lignes Lout et Rout alimentent une prise casque femelle standard de 3,5 mm. J'ai ajouté un mini point de prise d'antenne FM et une antenne FM dipôle et la réception est très bonne. Je ne voulais pas utiliser le casque pour écouter la radio, j'ai donc ajouté deux haut-parleurs de 20 W connectés via un amplificateur PAM8403 3 W avec l'entrée de l'amplificateur utilisant la même prise casque femelle 3,5 mm et un câble de connexion mâle à mâle 3,5 mm commercial. C'est à ce moment-là que j'ai rencontré un problème avec la sortie du RDA5807M qui a submergé l'amplificateur et provoqué une distorsion importante. Pour surmonter ce problème, j'ai ajouté deux résistances 1M et 470 ohms en série à chacune des lignes de canal et cela a supprimé la distorsion. Avec ce format, je n'ai pas pu réduire le volume de l'unité à 0, même en réglant l'unité sur 0, tout le son n'a pas été complètement supprimé, j'ai donc ajouté une commande "radio.setMute(true)" lorsque le volume a été réglé sur 0 et cela a effectivement supprimé tous les sons. Les trois derniers tubes IV-11 sur la ligne inférieure des tubes affichent normalement la température et l'humidité, cependant si le contrôle du volume est utilisé, cet affichage est modifié pour afficher le volume actuel avec un maximum de 15 et un minimum de 0. Cet affichage de volume est jusqu'à ce que le système mette à jour les tubes supérieurs de l'affichage de la date à l'affichage de l'heure, après quoi la température s'affiche à nouveau.

Étape 7: SERVOCOMMANDE

SERVOCOMMANDE
SERVOCOMMANDE
SERVOCOMMANDE
SERVOCOMMANDE

Le Servo 5V a été utilisé pour déplacer l'unité d'horlogerie. Après avoir acheté un mécanisme d'horloge « pour pièces uniquement », puis retiré le ressort principal et la moitié du mécanisme, ce qui restait a été nettoyé, huilé, puis alimenté à l'aide du servo en attachant le bras du servo à l'un des pignons d'horloge d'origine de rechange. Le code critique pour le fonctionnement du servo peut être trouvé dans le fichier « SteamunRadioV1Slave » à partir de la ligne 294, où 2048 impulsions produisent une rotation de 360 degrés.

Étape 8: CONSTRUCTION GÉNÉRALE

CONSTRUCTION GÉNÉRALE
CONSTRUCTION GÉNÉRALE
CONSTRUCTION GÉNÉRALE
CONSTRUCTION GÉNÉRALE
CONSTRUCTION GÉNÉRALE
CONSTRUCTION GÉNÉRALE

Le boitier provenait d'une vieille radio, l'ancien vernis enlevé, l'avant et l'arrière enlevés puis re-vernis. Chacune des cinq valves avait leurs bases retirées, puis des anneaux lumineux NEON étaient attachés en haut et en bas. Les deux valves les plus en arrière avaient seize petits trous percés dans la base, puis seize lumières LCD scellées à chaque trou, chaque lumière LCD était câblée à la suivante en série. Toutes les tuyauteries utilisaient des tuyaux et des connexions en cuivre de 15 mm. Les cloisons internes étaient fabriquées à partir de plis de 3 mm peints en noir et la façade était en Perspex transparent de 3 mm. Une feuille de laiton, avec des formes pressées, a été utilisée pour recouvrir le plexiglas avant et l'intérieur de chacune des baies de tube IV-11. Les trois commandes avant pour marche/arrêt, volume et fréquence utilisent toutes des potentiomètres rotatifs linéaires fixés via un tube en plastique à la tige d'un robinet-vanne. L'antenne en forme de cuivre a été construite à partir de fil de cuivre toronné de 5 mm, tandis que la bobine en spirale autour des deux valves les plus hautes a été fabriquée à partir de fil d'acier inoxydable de 3 mm peint avec une peinture de couleur cuivre. Trois tableaux de distribution là où ils sont construits, 12 V, 5 V et 1,5 V, et un autre tableau distribue les connexions IC2. Quatre alimentations CC sont fournies avec 12 V à partir d'un adaptateur d'alimentation 12 V, 1 A. Deux fournissent 24 V pour alimenter les puces IC MAX6921AWI, une fournit une alimentation 5 V pour prendre en charge tous les systèmes d'éclairage et de mouvement, et une fournit 1,5 V pour les deux circuits de chauffage IV-11.

Étape 9: LOGICIEL

Le logiciel a été développé en deux parties, Maître et Esclave. Le programme principal prend en charge le capteur BME208, l'horloge en temps réel, deux puces IC MAX6921AWI et IC2. Le programme esclave contrôle toutes les lumières, le servo, l'électro-aimant, l'ampèremètre et les deux voltmètres. Le programme Master prend en charge les seize tubes IV-11, l'écran LCD arrière et le clavier à 12 touches. Le programme esclave prend en charge toutes les fonctions d'éclairage, servo, électro-aimant, relais, ampèremètre et les deux voltmètres. Une série de programmes de test a été développée pour tester chacune des fonctions avant que chaque fonction ne soit ajoutée aux programmes maître ou esclave. Voir les fichiers Arduino joints et les détails des fichiers de bibliothèque supplémentaires nécessaires pour prendre en charge le code.

Fichiers inclus: Arduino.h, Wire.h, radio.h, RDA5807M.h, SPI.h, LiquidCrystal_I2C.h, Wire.h, SparkFunBME280.h, DS3231.h, Servo.h, Adafruit_NeoPixel.h, Stepper-28BYJ -48.h.

Étape 10: EXAMEN DU PROJET

Image
Image
REVUE DE PROJET
REVUE DE PROJET
REVUE DE PROJET
REVUE DE PROJET

J'ai apprécié le développement de ce projet, avec ses nouveaux éléments de communication Mega, électroaimant, servo et support de seize tubes IV-11 VFD. La complexité des circuits était parfois difficile et l'utilisation de connecteurs Dupont cause parfois des problèmes de connexion. L'utilisation de colle chaude pour sécuriser ces connexions permet de réduire les problèmes de connexion aléatoires.

Conseillé: