Indholdsfortegnelse:
- Trin 1: Forklaring
- Trin 2: Dele og instrumenter
- Trin 3: Elektrisk skema
- Trin 4: Oprettelse af en 3D -kabinet
- Trin 5: 3D -udskrivning
- Trin 6: Montering og lodning
- Trin 7: Programmering
- Trin 8: Parring og test
Video: Fjernstyret computerbord: 8 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
For nylig har jeg stødt på et problem, at min dovenskab blev et enormt problem for mig derhjemme. Så snart jeg går i seng, kan jeg godt lide at sætte noget flot LED -drevet lys med nogle serier på min pc. Men … Hvis jeg vil slå disse ting fra, skal jeg stå op hver gang og slukke dem i hånden. Således har jeg besluttet at bygge en komplet controller til hele pc'ens skrivebord, hvor jeg kan tænde og slukke skærme og tænde, justere højttalernes lydstyrke og LED -strip belysningens lysstyrke ved at trykke på en tilsvarende knap på min fjernbetjening.
Projektet er et pc -skrivebord / arbejdsbord controller boks, der betjenes af en IR fjernbetjening. Der findes masser af typer IR -fjernbetjeninger i disse dage, men det er ikke et problem. Denne controller er justerbar og kan parres med enhver form for IR -fjernbetjening, der understøtter korrekt protokol for vores brugte sensor (vi dækker dette senere).
Det kontrollerede computerbord har skrivebord:
- AC Power Control: Tænd/sluk for skærmen, der er tilsluttet 220VAC
- DC Power Control: Tænd/sluk for skærmen, der er tilsluttet jævnstrøm (op til 48V)
- Lydstyrkekontrol: Fuld kontrol af stereolydstyrken, der sendes til højttalerne
- LED Strip Lighting Control: Komplet kontrol af LED strip belysning lysstyrke
Enheden har en korrekt designet brugergrænseflade og justerbare mekaniske rum, som gør det let at bygge og let at bruge:
- Display: Realtidsstatus for alle de kontrollerede systemer vises på 16x4 LCD-displayet
- RGB LED: For yderligere feedback til systemet er formålet med dette at anerkende for brugeren, at der er et accepteret signal modtaget fra IR -fjernbetjeningen
- Parringssystem: Enheden indeholder en enkelt trykknap, som skal trykkes på for parringsprocessen. Når parringsprocessen er startet, kan vi parre enhver IR -fjernbetjening til vores enhed ved at følge instruktionerne på et display.
Når vi har dækket det grundlæggende, lad os bygge det!
Trin 1: Forklaring
Enhedsbetjening kan betragtes som en simpel på grund af dens mangel på designkompleksitet. Som det kan ses i blokdiagrammet, er "hjernen" AVR -mikrokontrolleren, mens alle de andre dele styres af denne "hjerne". For at organisere hele billedet i vores sind, lad os beskrive designet blok for blok:
Strømforsyningsenhed: Strømkilde til den enhed, der blev valgt, er LED -strip PSU'en, der kan levere 24VDC input til systemet. Mikrokontroller, relæer, digitale potentiometre og lydforstærkere fungerer alle ved 5V, og derfor blev DC-DC nedtrapningsomformeren tilføjet til designet. Hovedårsagen til DC-DC i stedet for lineær regulator er effekttab og mangel på effektivitet. Antag, at vi bruger den klassiske LM7805 med 24V input og 5V output. Når strømmen når betydelige værdier, vil den effekt, der forsvinder i form af varme på den lineære regulator, være enorm og kan blive overophedet og vedhæfte brummende støj til lydkredsløb:
Pout = Pin + Pdiss, så ved 1A opnår vi: Pdiss = Pin - Pout = 24*1 - 5*1 = 19W (med spredt effekt).
Mikrocontroller: For at skrive koden så hurtigt som jeg kan, har jeg valgt den AVR -baserede ATMEGA328P, som er meget udbredt i Arduino UNO -kort. I henhold til designkravene vil vi bruge næsten al den perifere support: Afbrydelser, timere, UART, SPI osv. Da det er en hovedblok i systemet, forbinder det med alle dele i enheden
-
Brugergrænseflade: Enhedens frontpanel indeholder alle de dele, som brugeren skal interagere med:
- IR -sensor: Sensor til afkodning af IR -fjerndata.
- Push-Button: Er påkrævet for parring af IR-fjernbetjeningen til enheden
- RGB LED: Æstetisk vedhæftet fil til at give feedback om modtagelse af oplysninger fra systemet
- LCD: Grafisk fremstilling af, hvad der foregår inde i enheden
Skærmkontrol: For at gøre enheden i stand til at skifte strøm til pc -skærme, er der behov for at håndtere store spændingsværdier. For eksempel deler mine Samsung -skærme slet ikke strømkonfiguration: Den ene leveres af 220VAC, mens den anden drives af sin egen PSU på 19,8V. Således var løsningen et relækredsløb for hver af skærmens strømledninger. Disse relæer styres af MCU og er totalt adskilt, hvilket gør monitoroverførsel uafhængig for hver skærm
Lysstyring: Jeg har en LED -strip, der leveres med den vedlagte strømforsyning på 24VDC, som bruges som systemstrømforsyningsindgang. Da der er behov for at lede en stor strøm gennem LED-strimlen, involverer dens lysstyrkemekanisme et strømbegrænserkredsløb baseret på en MOSFET, som fungerer i et lineært område af aktiv zone
Volumenkontrol: Dette system er baseret på at sende lydsignalerne på både VENSTRE og HØJRE kanaler gennem spændingsdelere, hvor påført spænding ændres via digital potentiometer viskerbevægelse. Der er to LM386 grundlæggende kredsløb, hvor der ved hver indgang er en enkelt spændingsdeler (vi dækker det senere). Input og output er 3,5 mm stereostik
Det ser ud til, at vi har dækket alle de integrerede dele af kredsløbene. Lad os gå videre til elektrisk skema …
Trin 2: Dele og instrumenter
Alt hvad vi har brug for til at bygge projektet:
Elektroniske komponenter
-
Almindelige komponenter:
-
Modstande:
- 6 x 10K
- 1 x 180R
- 2 x 100R
- 1 x 1K
- 2 x 1M
- 2 x 10R
- Kondensatorer:
-
- 1 x 68nF
- 2 x 10uF
- 4 x 100nF
- 2 x 50nF
- 3 x 47uF
-
Diverse:
- Dioder: 2 x 1N4007
- Trimmer: 1 x 10K
- BJT: 3 x 2N2222A
- P-MOSFET: ZVP4424
-
Integrerede kredsløb:
- MCU: 1 x ATMEGA328P
- Lydforstærker: 2 x LM386
- Dobbelt digitalt potentiometer: 1 x MCP4261
- Enkelt digitalt potentiometer: 1 x X9C104P
- DC-DC: 1 x BCM25335 (Kan erstattes af enhver DC-DC 5V venlig enhed)
- Op-forstærker: 1 x LM358
- Relæer: 5V Tolerant Dual SPDT
- Ekstern 24V strømforsyning
-
Brugergrænseflade:
- LCD: 1 x 1604A
- IR-sensor: 1 x CDS-IR
- Trykknap: 1 x SPST
- LED: 1 x RGB LED (4 kontakter)
-
Stik:
- Terminalblokke: 7 x 2-kontakt TB
- Board-to-Wire-stik: 3 x 4 kontaktkabel + husstik
- Lyd: 2 x 3,5 mm hunstikforbindelser
- Outlet PSU: 2 x 220VAC strømstik (han)
- DC -stik: 2 x han -DC -stik
- LED Strip & ekstern strømforsyning: 1 x 4-kontakt Board-To-Wire-monterede stik + kabel
Mekaniske komponenter
- 3D -printerfilament - PLA+ i enhver farve
- 4 skruer med en diameter på 5 mm
- Mindst 9 x 15 cm prototypetavle
- Lager af ubrugte ledninger
Værktøjer
- 3D-printer (jeg har brugt Creality Ender 3 med vedhæftet glastype)
- Varm limpistol
- Pincet
- Tang
- Skærer
- Ekstern 24V strømforsyning
- Oscilloskop (valgfrit)
- AVR ISP Programmer (Til MCU Blinker)
- Elektrisk skruetrækker
- Loddekolbe
- Funktionsgenerator (valgfri)
-
Trin 3: Elektrisk skema
Det skematiske diagram er opdelt i adskilte kredsløb, hvilket kan gøre det lettere for os at forstå dets funktion:
Mikrokontroller enhed
Dette er en AVR -baseret ATMEGA328P, som det blev beskrevet ovenfor. Den bruger intern oscillator og fungerer ved 8MHz. J13 er programmeringsstik. Der er mange programmerere i AVR -verdenen, i dette projekt brugte jeg en ISP Programmer V2.0 fra eBay. J10 er UART TX -linje og bruges primært til fejlfinding. Når man konstruerer en interrupt -håndteringsprocedure, er det nogle gange godt at vide, hvilket system der skal fortælle os indefra. D4 er RGB LED, der drives direkte fra MCU på grund af dens lave strømværdier. PD0-pin er fastgjort til en trykknap af SPST-typen med en ekstern pull-up.
IR -sensor
IR-sensor, der bruges i dette projekt, er en tre-pin IR-sensor til generelle formål, der er tilgængelig på eBay til meget venlige priser. IR -udgangssignalstiften er forbundet til afbrydelsesindgangsstiften (INT1) på MCU,
LCD
Display er en simpel implementering af et 1604A-display med 4-bit dataoverførsel. Alle kontrol-/datastifter er knyttet til MCU'en. Det er vigtigt at bemærke, at LCD er fastgjort til hovedkortet via to stik J17, J18. For at tænde/slukke LCD -modulet er der en enkelt BJT -switch, der skifter jordlinje til LCD.
Strømforsyning
Alle de interne kredsløb, undtagen LED -båndet, fungerer ved 5V. Som det blev nævnt før, er 5V strømkilde et simpelt DC-DC modul (Her hjalp eBay mig med at finde løsningen), der konverterer 24V til 5V, uden opvarmningsproblem, der kan forekomme på den lineære regulator. Kondensatorer C [11..14] bruges til bypass og er nødvendige for dette design på grund af koblingsstøj på DC -DC -strømledninger - både input og output.
Monitor kontrol
Skærmkontrolkredsløb er blot et relæskiftesystem. Da jeg har to skærme, fodres den ene fra 220VAC og den anden er fra 19.8V, der er forskellig implementering påkrævet.: Hver MCU -udgang er forbundet til 2N2222 BJT, og en relæspole er fastgjort som en belastning fra 5V til BJT -samlerens pin. (Glem ikke at montere en omvendt diode for passende strømudladning!). Ved et 220VAC skifter relæet LINE- og NEUTRAL -linjerne og ved et 19.8V skifter relæet kun DC -strømledningen - da det har sin egen strømforsyning, deles jordledningerne for begge kredsløb.
Lydstyrkekontrol
Jeg ville bruge LM386 lydforstærkere som buffere til spændingsdelerne, til omhyggelig lydsignaltransmission. Hver kanal - venstre og højre kommer fra 3,5 mm lydstikindgang. Da LM386 ved minimum delkonfiguration implementerer en standardforstærkning på G = 20, er der en 1MOhm modstand til begge kanaler. På denne måde kan vi reducere den samlede mængde strøm til inputkanalerne til højttalersystemet:
V (out-max) = R (max) * V (in) / (R (max) + 1MOhm) = V (in) * 100K / 1,1M.
Og den samlede gevinst er: G = (Vout / Vin) * 20 = 20 /11 ~ 1.9
Spændingsdeleren er et simpelt digitalt potentiometernetværk, hvor viskeren sender signalet til LM386 -bufferen (U2 er IC). Enheden deler SPI for alle de perifere kredsløb, hvor kun ENABLE linjer er adskilt for hver af dem. MCP4261 er et 100K 8-bit lineært digitalt potentiometer IC, og hvert trin i volumenforøgelsen udtrykkes således: dR = 100, 000 /256 ~ 390Ohm.
Stifterne A og B for hver VENSTRE og HØJRE kanal er knyttet til GND og 5V. På viskerpositionen i bunden passerer således hele lydsignalet til GND via 1MOhm modstand MUTING -enhedens volumen.
LED Strip Brightness Control:
Ideen om lysstyrkekontrollen ligner lydstyrkekontrollen, men her har vi et problem: digitalt potentiometer sender kun signaler, som amplituder ikke overstiger 5V til GND. Således er tanken at placere en simpel Op-Amp buffer (LM358) efter den digitale potentiometer spændingsdeler. og styrespænding bundet direkte til en PMOS -transistor.
X9C104P er et enkelt 8-bit digitalt potentiometer med en værdi på 100KOhm. Vi kan få en beregning for portspænding efter blot algebraiske regler for strømmen:
V (port) = V (visker) * (1 + R10/R11) = 2V (visker) ~ 0 - 10V (hvilket er tilstrækkeligt til at tænde/slukke og kontrollere lysstyrken)
Trin 4: Oprettelse af en 3D -kabinet
Til enhedsindkapsling har jeg brugt en FreeCAD v0.18, som er et godt værktøj, selv for nybegyndere som mig.
Kapslingstype
Jeg ville oprette en kasse, hvor der er en enkelt skal, der vil svejse det loddede bræt. Frontpanelet indeholder alle dele af brugergrænsefladen, og bagpanelet indeholder alle stik til skrivebordets elektronik. Disse paneler indsættes direkte i en hovedskal med en 4-skruesamling i topdækslet.
Dimensioner
Sandsynligvis det vigtigste trin i sekvensen. Der er behov for at tage alle passende afstande og afskæringsområder i betragtning. Som det ses på billederne, er først og fremmest de mål, der blev taget, på front- og bagpanelerne:
Frontpanel: Afskæringsområder til LCD, switch, LED og IR-sensor. Alle disse dimensioner stammer fra producentens datablad pr. Del. (Hvis du ønsker at bruge en anden del, er det nødvendigt at berolige alle de udskårne områder.
Bagpanel: To huller til 3,5 mm lydstik, To 220V 3-line strømstik, To hanstik til DC-strømforsyning og yderligere huller til LED-stripen og strøm til enheden
Topskal: Denne skal bruges kun til at fastgøre alle delene sammen. Da front- og bagpanelet er indsat i bundskallen.
Bundskal: Basen til enheden. Det holder panelerne, elektronisk loddet bord og skruer fastgjort til topdækslet.
Design af delene
Når panelerne er oprettet, kan vi gå videre til bundskallen. Det anbefales at sikre indkvartering af delene helt efter hvert trin. Bundskallen er en simpel rektangelbaseret ekstruderet form med symmetriske lommer nær kanterne af skallen (se billede 4).
Efter lommetrin er der behov for at oprette en 4-skrues bund til dækslet. De blev designet som en indsættelse af primitive cylindre med forskellig radius, hvor udskåret cylinder er tilgængelig efter XOR -drift.
Nu har vi en komplet bundskal. For at skabe et ordentligt dæksel er det nødvendigt at lave en skitse på toppen af skallen og oprette de samme cylinderpunkter (jeg har kun fastgjort punkter til at bore, men der er mulighed for at oprette huller med faste diametre).
Når hele enhedens kabinet er fuldført, kan vi kontrollere det ved at samle delene sammen.
Trin 5: 3D -udskrivning
Endelig er vi her og kan gå frem til udskrivningen. Der er STL -filer til rådighed for dette projekt, baseret på mit design. Der kan være et problem med disse filer til udskrivning, fordi der ikke tages hensyn til tolerancer. Disse tolerancer kan justeres i slicer -applikationen (jeg har brugt en Ultimaker Cura) til STL -filerne.
De beskrevne dele blev trykt på Creality Ender 3 med glaslag. Betingelserne er ikke langt fra de standard, men bør tages i betragtning:
- Dysediameter: 0,4 mm
- Udfyldningstæthed: 50%
- Support: Der er slet ikke behov for supporttilknytning
- Anbefalet hastighed: 50 mm/s til projektet
Så snart kabinettets dele er trykt, er det nødvendigt at kontrollere dem i det virkelige liv. Hvis der ikke er nogen problemer med at fastgøre kabinetdele, kan vi gå videre til samling og lodningstrin.
Der er et problem med STL -fremviseren i instruktionerne, så jeg foreslår at downloade det først:)
Trin 6: Montering og lodning
Lodningsprocessen er hård, men hvis vi adskiller sekvensen i forskellige kredsløb, vil det være meget lettere for os at afslutte den.
- MCU -kredsløb: Skal først loddes med det kvindelige programmeringsstik. På det tidspunkt kan vi faktisk teste dens funktion og forbindelse.
- Lydkredsløb: Den anden. Glem ikke at fastgøre terminalblokke på loddet bord. Det er meget vigtigt at isolere lydbanens returvej fra de digitale - især digitale potentiometer IC'er på grund af deres støjende karakter.
- Skærmkredsløb: I lighed med lydkredsløb, glem ikke at vedhæfte terminalblok ved I/O -portene.
- Stik og UI -panel: De sidste ting, der skal tilsluttes. Brugergrænsefladepanelet er forbundet til loddet bord via Board-To-Wire-stik, hvor ledninger loddes direkte i de eksterne dele.
Efter lodningsprocessen er der en simpel række af mekaniske dele vedhæftede filer. Som det blev bemærket ovenfor, er der behov for at sætte 4 skruer (jeg har brugt dem med en diameter på 5 mm) i hjørnerne, der findes på kabinettet. Derefter er der behov for at vedhæfte UI -dele og stik på bagpanelet til omverdenen. Foretrukket værktøj er en varm limpistol.
Det vil være meget nyttigt at kontrollere dele indkvartering i det trykte kabinet. Hvis alt ser godt ud, kan vi gå videre til programmeringstrinnet.
Trin 7: Programmering
Dette trin er sjovt. Da der er mange forskellige ting, der skal fungere, vil vi bruge i alt 5 tjenester fra MCU'en: Ekstern afbrydelse, SPI -periferiudstyr, UART til logning, timere til præcis optælling og EEPROM til lagring af vores IR -fjernkoder.
EEPROM er et vigtigt værktøj til vores lagrede data. For at gemme IR -fjernkoder er der behov for at udføre en række tryk på knapper. Efter hver sekvens vil systemet huske koderne uafhængigt af staten, enten er enheden forsynet med strøm eller ej.
Du kan finde hele Atmel Studio 7 -projektet arkiveret som RAR nederst i dette trin.
Programmeringen udføres af AVR ISP Programmer V2, 0, gennem en enkel applikation kaldet ProgISP. Det er en meget venlig app, med komplet brugergrænseflade. Vælg bare den korrekte HEX -fil, og download den til MCU.
VIGTIGT: Inden programmering af MCU skal du sørge for, at alle de passende indstillinger er defineret i henhold til designkravene. Ligesom den interne urfrekvens - som standard har den sin divider sikring aktiv ved fabriksindstilling, så den skal programmeres til logik HIGH.
Trin 8: Parring og test
Vi er endelig her, efter alt det hårde arbejde der blev udført:)
For at kunne bruge enheden korrekt er der behov for parringssekvens, så enheden vil "huske" den tilsluttede IR -fjernbetjening, der ville blive brugt. Parringens trin er som følger:
- Tænd enheden, vent på initialisering af hoved UI -display
- Tryk på knappen for første gang
- Inden tælleren når nul, skal du trykke på knappen en anden gang
- Tryk på den relevante tast, som du vil have en bestemt funktion i henhold til enheden
- Genstart enheden, sørg for, at den nu reagerer på de nøgler, der blev defineret.
Og det er det!
Håber, du finder denne instruktive nyttig, Tak fordi du læste!
Anbefalede:
Fjernstyret LED -øjne og kostumehætte: 7 trin (med billeder)
Fjernstyret LED Eyes & Costume Hood: Twin Jawas! Dobbelt Orko! To spøgelsesguider fra Bubble-Bobble! Denne kostumehætte kan være enhver LED-øjne, du vælger, bare ved at ændre farverne. Jeg lavede først dette projekt i 2015 med et meget simpelt kredsløb og kode, men i år ville jeg cr
Smokin ' - Fjernstyret røgmaskine til den billige: 5 trin (med billeder)
Smokin ' - Fjernstyret røgmaskine til det billige: Dette er en kort instruktion om, hvordan man laver en relativt lille, fjernstyrbar, billig og sjov lille røgmaskine, som kan bruges til at prakke venner, lave trylletricks, teste luftstrømme eller hvad som helst dit hjerte begærer. Ansvarsfraskrivelse: Denne build indeholder
DIY Ir Fjernstyret Led Strip: 10 trin (med billeder)
DIY Ir Fjernstyret Led Strip: Hej hej alle velkommen til vores nye instruktører, som du allerede ved fra miniaturen, at vi i dette projekt skal lave en Ir led strip -controller, som kan styres ved hjælp af enhver almindeligt tilgængelig IR -fjernbetjening, som generelt er brugt i
Fjernstyret hovercraft: 8 trin (med billeder)
Fjernstyret Hovercraft: ss
Sådan opretter du en fjernstyret 3D-printet selvbalancerende robot: 9 trin (med billeder)
Sådan opretter du en fjernstyret 3D-printet selvbalancerende robot: Dette er en udvikling af den tidligere version af B-robot. 100% ÅBEN KILDE / Arduino robot. KODEN, 3D -dele og elektronik er åbne, så du er velkommen til at ændre den eller oprette en enorm version af robotten. Hvis du er i tvivl, ideer eller har brug for hjælp, skal du