Indholdsfortegnelse:

Fjernstyret computerbord: 8 trin (med billeder)
Fjernstyret computerbord: 8 trin (med billeder)

Video: Fjernstyret computerbord: 8 trin (med billeder)

Video: Fjernstyret computerbord: 8 trin (med billeder)
Video: 8 Excel -værktøjer bør alle kunne bruge 2024, Juli
Anonim
Image
Image
Fjernstyret computerbord
Fjernstyret computerbord
Fjernstyret computerbord
Fjernstyret computerbord
Fjernstyret computerbord
Fjernstyret computerbord

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:

  1. AC Power Control: Tænd/sluk for skærmen, der er tilsluttet 220VAC
  2. DC Power Control: Tænd/sluk for skærmen, der er tilsluttet jævnstrøm (op til 48V)
  3. Lydstyrkekontrol: Fuld kontrol af stereolydstyrken, der sendes til højttalerne
  4. 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:

  1. Display: Realtidsstatus for alle de kontrollerede systemer vises på 16x4 LCD-displayet
  2. 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
  3. 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

Forklaring
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:

    1. IR -sensor: Sensor til afkodning af IR -fjerndata.
    2. Push-Button: Er påkrævet for parring af IR-fjernbetjeningen til enheden
    3. RGB LED: Æstetisk vedhæftet fil til at give feedback om modtagelse af oplysninger fra systemet
    4. 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

  1. Almindelige komponenter:

    • Modstande:

      1. 6 x 10K
      2. 1 x 180R
      3. 2 x 100R
      4. 1 x 1K
      5. 2 x 1M
      6. 2 x 10R
      7. Kondensatorer:
        1. 1 x 68nF
        2. 2 x 10uF
        3. 4 x 100nF
        4. 2 x 50nF
        5. 3 x 47uF
      8. Diverse:

        1. Dioder: 2 x 1N4007
        2. Trimmer: 1 x 10K
        3. BJT: 3 x 2N2222A
        4. P-MOSFET: ZVP4424
      9. 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
      10. Brugergrænseflade:

        • LCD: 1 x 1604A
        • IR-sensor: 1 x CDS-IR
        • Trykknap: 1 x SPST
        • LED: 1 x RGB LED (4 kontakter)
      11. 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

      1. 3D -printerfilament - PLA+ i enhver farve
      2. 4 skruer med en diameter på 5 mm
      3. Mindst 9 x 15 cm prototypetavle
      4. Lager af ubrugte ledninger

      Værktøjer

      1. 3D-printer (jeg har brugt Creality Ender 3 med vedhæftet glastype)
      2. Varm limpistol
      3. Pincet
      4. Tang
      5. Skærer
      6. Ekstern 24V strømforsyning
      7. Oscilloskop (valgfrit)
      8. AVR ISP Programmer (Til MCU Blinker)
      9. Elektrisk skruetrækker
      10. Loddekolbe
      11. Funktionsgenerator (valgfri)

Trin 3: Elektrisk skema

Elektrisk skema
Elektrisk skema
Elektrisk skema
Elektrisk skema
Elektrisk skema
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

Oprettelse af en 3D -kabinet
Oprettelse af en 3D -kabinet
Oprettelse af en 3D -kabinet
Oprettelse af en 3D -kabinet
Oprettelse af en 3D -kabinet
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

3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
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

Montering og lodning
Montering og lodning
Montering og lodning
Montering og lodning
Montering og lodning
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.

  1. MCU -kredsløb: Skal først loddes med det kvindelige programmeringsstik. På det tidspunkt kan vi faktisk teste dens funktion og forbindelse.
  2. 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.
  3. Skærmkredsløb: I lighed med lydkredsløb, glem ikke at vedhæfte terminalblok ved I/O -portene.
  4. 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

Programmering
Programmering
Programmering
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

Parring og test
Parring og test
Parring og test
Parring og test
Parring og test
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:

  1. Tænd enheden, vent på initialisering af hoved UI -display
  2. Tryk på knappen for første gang
  3. Inden tælleren når nul, skal du trykke på knappen en anden gang
  4. Tryk på den relevante tast, som du vil have en bestemt funktion i henhold til enheden
  5. 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: