Inhoudsopgave:

SteamPunk Radio: 10 stappen (met afbeeldingen)
SteamPunk Radio: 10 stappen (met afbeeldingen)

Video: SteamPunk Radio: 10 stappen (met afbeeldingen)

Video: SteamPunk Radio: 10 stappen (met afbeeldingen)
Video: Jochem Myjer - De Bonaire-menéér (Adem in, adem uit) 2024, Juni-
Anonim
SteamPunk-radio
SteamPunk-radio

Project: SteamPunk Radio

Datum: mei 2019 – augustus 2019

OVERZICHT

Dit project is zonder twijfel het meest complexe dat ik heb ondernomen, met zestien IV-11 VFD-buizen, twee Arduino Mega-kaarten, tien LED-neonlichtcircuits, een servo, een elektromagneet, twee MAX6921AWI IC-chips, vijf DC-voedingen, een HV-voeding voeding, twee DC Volt-meters, een DC Amp-meter, FM-stereoradio, 3W-eindversterker, LCD-scherm en toetsenbord. Afgezien van de bovenstaande onderdelenlijst moesten er twee softwareprogramma's van de grond af worden ontwikkeld en uiteindelijk vergde de constructie van de hele radio ongeveer 200 uur werk.

Ik besloot dit project op de Instructables-site op te nemen en verwachtte niet dat leden dit project in zijn geheel zouden reproduceren, maar eerder om de elementen te kiezen die voor hen interessant waren. Twee gebieden die van bijzonder belang zijn voor de siteleden kunnen de besturing zijn van de 16 IV-11 VDF-buizen met behulp van twee MAX6921AWI-chips en de bijbehorende bedrading, en de communicatie tussen twee Mega 2650-kaarten.

De verschillende componenten die in dit project zijn opgenomen, zijn lokaal ingekocht, behalve de IV-11-buizen en de MAX6921AWI-chips die beide op eBay zijn verkregen. Ik wilde verschillende items weer tot leven brengen die anders jarenlang in dozen zouden wegkwijnen. Alle HF-kleppen waren afkomstig met dien verstande dat alle defecte eenheden waren.

Stap 1: ONDERDELENLIJST

ONDERDELEN LIJST
ONDERDELEN LIJST
ONDERDELEN LIJST
ONDERDELEN LIJST
ONDERDELEN LIJST
ONDERDELEN LIJST

1. 2 x Arduino Mega 2560 R3

2. RDA5807M FM-radio

3. PAM8403 3W versterker

4. 2 x 20W-luidsprekers

5. Di-pool FM Ariel

6. 16 X IV-11 VDF-buizen

7. 2 x MAX6921AWI IC-chip

8. 2 x MT3608 2A Max DC-DC Step Up Power Module Booster Power Module

9. 2 x XL6009 400KHz automatische buck-module

10. 1-kanaalsmodule, 5V-trigger op laag niveau voor Arduino ARM PIC AVR DSP

11. 2-kanaals 5V 2-kanaals modulescherm voor Arduino ARM PIC AVR DSP

12. Elektrische magneet die 2.5KG/25N Solenoid Sucker Elektromagneet DC 6V opheft

13. 4-fasen stappenmotor kan worden aangedreven door ULN2003-chip;

14. 20*4 LCD 20X4 5V Blauw scherm LCD2004 display LCD-module

15. IIC/I2C seriële interfacemodule

16. 6 x Bits 7 X WS2812 5050 RGB LED-ringlamplicht met geïntegreerde stuurprogramma's Neo Pixel

17. 3 x LED Ring 12 x WS2812 5050 RGB LED met geïntegreerde drivers Neo Pixel

18. 2 x LED Ring 16 x WS2812 5050 RGB LED met geïntegreerde drivers Neo Pixel

19. LED-strip flexibele RGB 5m lengte

20. 12 Key Membrane Switch Keypad 4 x 3 Matrix Array Matrix toetsenbordschakelaar toetsenbord

21. BMP280 Digitale luchtdrukhoogtesensor 3.3V of 5V voor Arduino

22. DS3231 AT24C32 IIC-module Precisie RTC real-time klokmodule

23. 2 x gekartelde as lineaire roterende potentiometer 50K

24. 12V 1 Amp voedingsadapter

Stap 2: IV-11 VDF BUIZEN EN MAX6921AWI IC CHIP

IV-11 VDF BUIZEN EN MAX6921AWI IC CHIP
IV-11 VDF BUIZEN EN MAX6921AWI IC CHIP
IV-11 VDF BUIZEN EN MAX6921AWI IC CHIP
IV-11 VDF BUIZEN EN MAX6921AWI IC CHIP
IV-11 VDF BUIZEN EN MAX6921AWI IC CHIP
IV-11 VDF BUIZEN EN MAX6921AWI IC CHIP

Het gebruik van de MAX6921AWI-chip door dit project bouwt voort op mijn vorige Alarm Clock-project. Elke set van acht IV-11-buizen wordt bestuurd via een enkele MAX6921AWI-chip met behulp van de Multiplex-besturingsmethode. De twee bijgevoegde PDF's tonen de bedrading van de set met acht buizen en hoe de MAX6921AWI-chip is aangesloten op de buizenset en op zijn beurt is aangesloten op de Arduino Mega 2560. Een strikte kleurcodering van de bedrading is vereist om ervoor te zorgen dat segment en Netspanningsleidingen worden gescheiden gehouden. Het is erg belangrijk om de buisuitgangen te identificeren, zie bijgevoegde PDF, dit omvat de 1.5V verwarmingspennen 1 en 11, de 24v anodepen (2) en tenslotte de acht segment- en "dp"-pennen, 3 – 10. tijd, is het ook de moeite waard om elk segment en "dp" te testen met behulp van een eenvoudige testopstelling voordat u begint met het bedraden van de buizenset. Elke buispen is in serie bedraad met de volgende buis in de rij tot de laatste buis waar extra bedrading wordt toegevoegd om verbinding op afstand met de MAX6921AWI-chip mogelijk te maken. Ditzelfde proces wordt voortgezet voor de twee verwarmingstoevoerlijnen pinnen 1 en 11. Ik gebruikte gekleurde draad voor elk van de 11 lijnen, toen ik geen kleuren meer had, begon ik de kleurenreeks opnieuw, maar voegde een zwarte band toe rond elk uiteinde van de draad krimpkous gebruiken. De uitzondering op de bovenstaande bedradingsvolgorde is voor pin 2, de 24-anodevoeding met een individuele draad die is aangesloten tussen pin 2 en de anodevermogensuitgangen op de MAX6921-chip. Zie de bijgevoegde PDF voor details van de chip en zijn verbindingen. Het kan niet genoeg benadrukt worden dat de chip tijdens de werking van de chip op geen enkel moment heet mag worden, warm na een paar uur gebruik ja, maar nooit heet. Het bedradingsschema van de chip toont de drie verbindingen naar de Mega, pinnen 27, 16 en 15, de 3,5V-5V-voeding van de Mega-pin 27, de GND naar de Mega-pin 14 en de 24V-voedingspin1. Overschrijd nooit de 5V-voeding en houd het anodevermogensbereik tussen 24V en maximaal 30V. Voordat u verder gaat, gebruikt u een continuïteitstester om elke draad tussen de meeste afstandspunten te testen.

Ik gebruikte de AWI-versie van deze chip omdat dit het kleinste formaat was waarmee ik wilde werken. Het fabriceren van de chip en zijn drager begint met twee sets van 14 PCB-pinnen die op een breadboard zijn geplaatst, de chipdrager wordt over de pinnen geplaatst met pin 1 linksboven. Gebruik vloeimiddel en soldeer, soldeer de pinnen en "tin" elk van de 28 chip beenpads. Eenmaal voltooid, plaats de chip van de chipdrager en zorg ervoor dat de poten van de chip op één lijn liggen met de beenkussens en zorg ervoor dat de inkeping in de chip naar pin 1 wijst. Ik ontdekte dat het gebruik van een stuk plakband over één kant van de chip hielp stabiliseer de chip voorafgaand aan het solderen. Zorg er bij het solderen voor dat er vloeimiddel op de beenpads is aangebracht en dat de soldeerbout schoon is. Druk in het algemeen op elke chippoot, hierdoor wordt deze lichtjes op het beenkussen gebogen en u zou het soldeer moeten zien lopen. Herhaal dit voor alle 28 poten, u hoeft tijdens dit proces geen soldeer aan de soldeerbout toe te voegen.

Eenmaal voltooid, reinigt u de chipdrager van flux en gebruikt u een continuïteitstester om elke poot te testen door een sonde op de chippoot te plaatsen en de andere op de PCB-pin. Zorg er ten slotte altijd voor dat alle verbindingen met de chipdrager zijn gemaakt voordat er daadwerkelijk stroom wordt ingeschakeld, als de chip heet begint te worden, schakel dan onmiddellijk uit en controleer alle verbindingen.

Stap 3: RGB LIGHT ROPE & NEON LIGHT RING

RGB LICHT TOUW & NEON LICHT RING
RGB LICHT TOUW & NEON LICHT RING
RGB LICHT TOUW & NEON LICHT RING
RGB LICHT TOUW & NEON LICHT RING
RGB LICHT TOUW & NEON LICHT RING
RGB LICHT TOUW & NEON LICHT RING
RGB LICHT TOUW & NEON LICHT RING
RGB LICHT TOUW & NEON LICHT RING

Voor dit project waren tien verlichtingselementen, drie RGB-lichtkabels en zeven NEON-lichtringen van verschillende afmetingen nodig. Vijf van de NEON-lichtringen waren bedraad in een reeks van drie ringen. Dit soort verlichtingsringen zijn zeer veelzijdig in hun controle en welke kleuren ze kunnen weergeven, ik heb alleen de drie primaire kleuren gebruikt die aan of uit waren. Bedrading bestond uit drie draden, 5V, GND, en een besturingslijn die werd bestuurd via de slave Mega, zie bijgevoegde Arduino-lijst "SteampunkRadioV1Slave" voor details. Regels 14 t/m 20 zijn belangrijk, vooral het gedefinieerde aantal lichteenheden, deze moeten overeenkomen met het fysieke aantal, anders werkt de ring niet correct.

De RGB-lichtkabels vereisten de constructie van een besturingseenheid die drie besturingslijnen van de Mega nam die elk de drie primaire kleuren rood, blauw en groen bestuurden. De besturingseenheid bestond uit negen TIP122 N-P-N-transistoren, zie bijgevoegde TIP122-datasheet, elk circuit bestaat uit drie TIP122-transistoren waarvan één poot is geaard, de tweede poot is aangesloten op een 12V-voeding en de middelste poot is aangesloten op de Mega-stuurleiding. De RGB-kabeltoevoer bestaat uit vier lijnen, een enkele GND-lijn en drie stuurlijnen, één van elk van de drie TIP122 middelste poten. Dit levert de drie primaire kleuren, de intensiteit van het licht wordt geregeld met een analoog schrijfcommando met een waarde van 0, voor uit en 255 voor maximum.

Stap 4: ARDUINO MEGA 2560 COMMUNICATIE

ARDUINO MEGA 2560 COMMUNICATIE
ARDUINO MEGA 2560 COMMUNICATIE
ARDUINO MEGA 2560 COMMUNICATIE
ARDUINO MEGA 2560 COMMUNICATIE
ARDUINO MEGA 2560 COMMUNICATIE
ARDUINO MEGA 2560 COMMUNICATIE

Dit aspect van het project was nieuw voor mij en vereiste daarom het zelf bouwen van een IC2-distributiebord en het aansluiten van elk van de Mega GND's. Met het IC2-distributiebord konden de twee Mega-kaarten worden aangesloten via pin 21 en 22, het bord werd ook gebruikt om het LCD-scherm, de BME280-sensor, de realtimeklok en de FM-radio aan te sluiten. Zie het bijgevoegde Arduino-bestand "SteampunkRadioV1Master" voor details over de communicatie met één teken van de master naar de slave-eenheid. De kritieke coderegels zijn regel 90, die de tweede Mega definieert als een slave-eenheid, regel 291 is een typische oproep voor een verzoekprocedure voor een slave-actie, de procedure begint op regel 718, ten slotte regel 278 die een geretourneerd antwoord heeft van de slave-procedure, maar ik besloten om deze functie niet volledig te implementeren.

Het bijgevoegde "SteampunkRadioV1Slave" -bestand beschrijft de slave-kant van deze communicatie, kritieke lijnen zijn regel 57, definieert het slave IC2-adres, regels 119 en 122, en de "receiveEvent" -procedure die een 133 start.

Er is een heel goed You Tube-artikel: Arduino IC2 Communications door DroneBot Workshop, dat erg nuttig was om dit onderwerp te begrijpen.

Stap 5: ELEKTROMAGNET BEDIENING

ELEKTROMAGNET BESTURING
ELEKTROMAGNET BESTURING
ELEKTROMAGNET BESTURING
ELEKTROMAGNET BESTURING

Een nieuw element in dit project was opnieuw het gebruik van een elektromagneet. Ik gebruikte een 5V-eenheid, bestuurd via een enkelkanaals relais. Dit apparaat werd gebruikt om de morsecodesleutel te verplaatsen en het werkte heel goed met korte of lange pulsen die de "punt" en "streepje" -geluiden gaven die een typische morsesleutel vertoont. Er deed zich echter een probleem voor toen dit apparaat werd gebruikt, het introduceerde een back-EMF in het circuit waardoor de aangesloten Mega werd gereset. Om dit probleem op te lossen, heb ik een diode parallel aan de elektromagneet toegevoegd die het probleem oploste omdat het de tegen-EMK zou opvangen voordat het het stroomcircuit beïnvloedde.

Stap 6: FM-RADIO & 3W VERSTERKER

FM-RADIO & 3W VERSTERKER
FM-RADIO & 3W VERSTERKER
FM-RADIO & 3W VERSTERKER
FM-RADIO & 3W VERSTERKER

Zoals de projectnaam al doet vermoeden, is dit een radio en heb ik besloten om een RDA5807M FM-module te gebruiken. Hoewel dit apparaat goed werkte, vereist het formaat grote zorg bij het bevestigen van draden om een printplaat te maken. De soldeerlipjes op dit apparaat zijn erg zwak en zullen afbreken waardoor het erg moeilijk is om een draad op die verbinding te solderen. De bijgevoegde PDF toont de bedrading van dit apparaat, SDA- en SDL-besturingslijnen bieden controle aan dit apparaat vanaf de Mega, de VCC-lijn vereist 3,5V, overschrijd deze spanning niet of het zal het apparaat beschadigen. De GND-lijn en ANT-lijn zijn vanzelfsprekend, de Lout- en Rout-lijnen voeden een standaard 3,5 mm vrouwelijke hoofdtelefoonaansluiting. Ik heb een mini FM-antenne-aansluiting en een di-pole FM-antenne toegevoegd en de ontvangst is erg goed. Ik wilde de koptelefoon niet gebruiken om naar de radio te luisteren, dus heb ik twee 20W-luidsprekers toegevoegd die zijn aangesloten via een PAM8403 3W-versterker met de ingang naar de versterker met dezelfde 3,5 mm vrouwelijke hoofdtelefoonstekker en een commerciële 3,5 mm mannelijke naar mannelijke verbindingsdraad. Het was op dit punt dat ik een probleem tegenkwam met de uitvoer van de RDA5807M die de versterker overweldigde en aanzienlijke vervorming veroorzaakte. Om dit probleem op te lossen, heb ik twee weerstanden van 1M en 470 ohm in serie toegevoegd aan elk van de kanaallijnen en dit verwijderde de vervorming. Met dit formaat was ik niet in staat om het volume van het apparaat naar 0 te verlagen, zelfs als ik het apparaat op 0 zette, werd niet alle geluid volledig verwijderd, dus ik voegde een "radio.setMute(true)" -opdracht toe toen het volume op 0 stond en dit verwijderde effectief al het geluid. De laatste drie IV-11 buizen op de onderste regel van buizen geven normaal gesproken de temperatuur en vochtigheid weer, maar als de volumeregelaar wordt gebruikt, wordt dit display gewijzigd om het huidige volume weer te geven met een maximum van 15 en een minimum van 0. Dit volumedisplay is weergegeven totdat het systeem de bovenbuizen bijwerkt van het weergeven van de datum terug naar het weergeven van de tijd, waarna de temperatuur opnieuw wordt weergegeven.

Stap 7: SERVO-CONTROLE

SERVO-BEDIENING
SERVO-BEDIENING
SERVO-BEDIENING
SERVO-BEDIENING

De 5V Servo werd gebruikt om het uurwerk te verplaatsen. Na de aankoop van een "for parts only" klokmechanisme en vervolgens het verwijderen van de hoofdveer en de helft van het mechanisme, werd wat overbleef schoongemaakt, geolied en vervolgens aangedreven met behulp van de servo door de servo-arm aan een van de reserve originele kloktandwielen te bevestigen. De kritieke code voor de werking van de servo is te vinden in het bestand "SteampunRadioV1Slave" vanaf regel 294, waar 2048 pulsen een rotatie van 360 graden produceren.

Stap 8: ALGEMENE CONSTRUCTIE

ALGEMENE CONSTRUCTIE
ALGEMENE CONSTRUCTIE
ALGEMENE CONSTRUCTIE
ALGEMENE CONSTRUCTIE
ALGEMENE CONSTRUCTIE
ALGEMENE CONSTRUCTIE

De doos kwam van een oude radio, de oude lak verwijderd, voor- en achterzijde verwijderd en daarna opnieuw gelakt. Van elk van de vijf kleppen was de basis verwijderd en vervolgens werden NEON-lichtringen aan zowel de boven- als onderkant bevestigd. De achterste twee kleppen hadden zestien kleine gaatjes die in de basis waren geboord en vervolgens zestien LCD-lampjes verzegeld aan elk gat, elk LCD-lampje was in serie met de volgende bedraad. Alle leidingen gebruikten 15 mm koperen leidingen en aansluitingen. Interne partities waren gemaakt van 3 mm laag zwart geverfd en de voorkant was 3 mm helder perspex. Messingplaat, met uitgeperste vormen, werd gebruikt om de voorste perspex en de binnenkant van elk van de IV-11-buisbaaien te bekleden. De drie bedieningselementen aan de voorzijde voor aan/uit, volume en frequentie maken allemaal gebruik van lineaire roterende potentiometers die via een plastic buis aan de steel van een schuifafsluiter zijn bevestigd. De kopervormige antenne was gemaakt van 5 mm gevlochten koperdraad, terwijl de spiraalvormige spoel rond de twee bovenste kleppen was gemaakt van 3 mm roestvrij staaldraad, geverfd met koperkleurige verf. Er zijn drie verdeelborden gebouwd, 12V, 5V en 1,5V, en een ander bord verdeelt de IC2-aansluitingen. Vier gelijkstroomvoedingen zijn voorzien van 12V van een 12V, 1 Ampère voedingsadapter. Twee leveren 24 V om de MAX6921AWI IC-chips van stroom te voorzien, één levert een 5 V-voeding om alle verlichtings- en bewegingssystemen te ondersteunen en één levert 1,5 V voor de twee IV-11 verwarmingscircuits.

Stap 9: SOFTWARE

De software is ontwikkeld in twee delen, Master en Slave. Het masterprogramma ondersteunt de BME208-sensor, Real Time Clock, twee MAX6921AWI IC-chips en IC2. Het Slave-programma regelt alle lichten, servo, elektromagneet, Ampèremeter en beide Voltmeters. Het Master-programma ondersteunt de zestien IV-11-buizen, het LCD-display op de achterkant en het toetsenbord met 12 toetsen. Het Slave-programma ondersteunt alle verlichtingsfuncties, servo, elektromagneet, relais, ampèremeter en beide voltmeters. Er werd een reeks testprogramma's ontwikkeld om elk van de functies te testen voordat elke functie werd toegevoegd aan de Master- of Slave-programma's. Zie bijgevoegde Arduino-bestanden en details van de extra bibliotheekbestanden die nodig zijn om de code te ondersteunen.

Bestanden opnemen: 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.u.

Stap 10: PROJECTBEOORDELING

Image
Image
PROJECTEVALUATIE
PROJECTEVALUATIE
PROJECTEVALUATIE
PROJECTEVALUATIE

Ik heb genoten van de ontwikkeling van dit project, met zijn nieuwe elementen van Mega-communicatie, elektromagneet, servo en ondersteuning van zestien IV-11 VFD-buizen. De complexiteit van het circuit was soms een uitdaging en het gebruik van Dupont-connectoren veroorzaakt van tijd tot tijd verbindingsproblemen. Het gebruik van hete lijm om deze verbindingen te beveiligen, helpt om willekeurige verbindingsproblemen te verminderen.

Aanbevolen: