Innholdsfortegnelse:

Fjernstyrt datamaskinbord: 8 trinn (med bilder)
Fjernstyrt datamaskinbord: 8 trinn (med bilder)

Video: Fjernstyrt datamaskinbord: 8 trinn (med bilder)

Video: Fjernstyrt datamaskinbord: 8 trinn (med bilder)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
Image
Image
Fjernstyrt datamaskinbord
Fjernstyrt datamaskinbord
Fjernstyrt datamaskinbord
Fjernstyrt datamaskinbord
Fjernstyrt datamaskinbord
Fjernstyrt datamaskinbord

Nylig har jeg støtt på et problem med at latskap ble et enormt problem for meg hjemme. Så snart jeg legger meg, liker jeg å sette et fint LED -drevet lys med noen serier som spilles på PCen min. Men … Hvis jeg vil slå disse tingene av, må jeg STÅ OPP hver gang og slå dem av for hånd. Dermed har jeg bestemt meg for å bygge en komplett kontroller for hele PC -skrivebordet, hvor jeg kan slå på skjermer og lys på og av, justere høyttalernes volum og LED -stripens lysstyrke ved å trykke på en tilsvarende knapp på fjernkontrollen.

Prosjektet er en PC -skrivebord / arbeidsbenk -kontrollerboks, som drives av en IR -fjernkontroll. Det er mange typer IR -fjernkontroller tilgjengelig i disse dager, men det er ikke et problem. Denne kontrolleren er justerbar og kan kobles til alle typer IR -fjernkontroll som støtter riktig protokoll for vår brukte sensor (vi dekker dette senere).

Det kontrollerte skrivebordet med skrivebord er:

  1. AC Power Control: Slå strømmen på/av skjermen som er koblet til 220VAC
  2. DC Power Control: Slå strømmen på/av skjermen som er koblet til likestrøm (opptil 48V)
  3. Lydvolumkontroll: Fullstendig kontroll av stereovolum som sendes til høyttalerne
  4. LED Strip Lighting Control: Fullstendig kontroll over LED stripelysens lysstyrke

Enheten har et riktig designet brukergrensesnitt og justerbare mekaniske rom, som gjør det enkelt å bygge og enkelt å bruke:

  1. Display: Sanntidsstatus for alle de kontrollerte systemene vises på 16x4 LCD-skjermen
  2. RGB LED: For ytterligere tilbakemelding for systemet, er hensikten med dette å bekrefte for brukeren at det er et akseptert signal mottatt fra IR -fjernkontrollen
  3. Paringssystem: Enheten inneholder én trykknapp, som må trykkes på for sammenkoblingsprosessen. Når paringsprosessen er startet, kan vi koble enhver IR -fjernkontroll til enheten vår ved å følge instruksjonene som vises på en skjerm.

Etter at vi har dekket det grunnleggende, la oss bygge det!

Trinn 1: Forklaring

Forklaring
Forklaring

Enhetsbetjening kan betraktes som en enkel, på grunn av mangel på designkompleksitet. Som det kan sees i blokkdiagrammet, er "hjernen" AVR -mikrokontrolleren, mens alle de andre delene styres av denne "hjernen". For å organisere hele bildet i tankene våre, la oss beskrive designet blokk for blokk:

Strømforsyningsenhet: Strømkilde for enheten som ble valgt er LED -stripen PSU, som kan levere 24VDC -inngang til systemet. Mikrokontroller, reléer, digitale potensiometre og lydforsterkere opererer alle på 5V, og dermed ble DC-DC nedtrappingskonverter lagt til designet. Hovedårsaken til DC-DC i stedet for lineær regulator er effekttap og mangel på effektivitet. Anta at vi bruker den klassiske LM7805 med 24V inngang og 5V utgang. Når strømmen når betydelige verdier, vil kraften som vil forsvinne i form av varme på den lineære regulatoren være enorm og kan bli overopphetet og føye brummende støy til lydkretser:

Pout = Pin + Pdiss, så ved 1A oppnår vi: Pdiss = Pin - Pout = 24*1 - 5*1 = 19W (av spredt effekt).

Mikrokontroller: For å skrive koden så fort jeg kan, har jeg valgt den AVR -baserte ATMEGA328P, som er mye brukt i Arduino UNO -kort. I henhold til designkravene vil vi bruke nesten all den eksterne støtten: Avbrudd, tidtakere, UART, SPI og så videre. Siden den er en hovedblokk i systemet, kobler den seg sammen med alle delene i enheten

  • Brukergrensesnitt: Frontpanelet på enheten inneholder alle delene som brukeren bør samhandle med:

    1. IR -sensor: Sensor for dekoding av IR -eksterne data.
    2. Trykknapp: Kreves for å koble IR-fjernkontrollen til enheten
    3. RGB LED: Estetisk vedlegg for å gi tilbakemelding om mottak av informasjon fra systemet
    4. LCD: Grafisk fremstilling av hva som skjer inne i enheten

Skjermkontroll: For å gjøre enheten i stand til å bytte strøm på PC -skjermene, er det behov for å håndtere store spenningsverdier. For eksempel deler mine Samsung -skjermer ikke strømkonfigurasjon i det hele tatt: Den ene leveres av 220VAC mens den andre drives av sin egen PSU på 19,8V. Således var løsningen en relékrets for hver av skjermens kraftledninger. Disse reléene styres av MCU og er helt atskilt, noe som gjør monitorens kraftoverføring uavhengig for hver skjerm

Lysstyring: Jeg har en LED -stripe, som følger med den vedlagte strømforsyningen på 24VDC, som brukes som systeminngang. Siden det er behov for å lede en stor strøm gjennom LED-stripen, innebærer dens lysstyrkemekanisme en strømbegrenserkrets basert på en MOSFET, som opererer i et lineært område av aktiv sone

Volumkontroll: Dette systemet er basert på å sende lydsignalene på både VENSTRE og HØYRE kanaler gjennom spenningsdelere, der påført spenning endres via digital potensiometer viskerbevegelse. Det er to LM386 grunnkretser der det ved hver inngang er en enkelt spenningsdeler (vi dekker det senere). Inngangen og utgangen er 3,5 mm stereokontakter

Det ser ut til at vi har dekket alle de integrerte delene av kretsene. La oss gå videre til elektrisk skjema …

Trinn 2: Deler og instrumenter

Alt vi trenger for å bygge prosjektet:

Elektroniske komponenter

  1. Vanlige komponenter:

    • Motstander:

      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 10 uF
        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. Integrerte kretser:

        • MCU: 1 x ATMEGA328P
        • Lydforsterker: 2 x LM386
        • Dobbel digitalt potensiometer: 1 x MCP4261
        • Enkelt digitalt potensiometer: 1 x X9C104P
        • DC-DC: 1 x BCM25335 (Kan erstattes av hvilken som helst DC-DC 5V-vennlig enhet)
        • Op-Amp: 1 x LM358
        • Reléer: 5V Tolerant Dual SPDT
        • Ekstern 24V strømforsyning
      10. Brukergrensesnitt:

        • LCD: 1 x 1604A
        • IR-sensor: 1 x CDS-IR
        • Trykknapp: 1 x SPST
        • LED: 1 x RGB LED (4 kontakter)
      11. Koblinger:

        • Terminalblokker: 7 x 2-kontakt TB
        • Board-to-Wire-kontakter: 3 x 4 kontaktkabel + huskontakter
        • Lyd: 2 x 3,5 mm hunkontakter
        • Outlet PSU: 2 x 220VAC strømkontakter (hann)
        • DC -kontakt: 2 x mannlige DC -jack -kontakter
        • LED-stripe og ekstern strømforsyning: 1 x 4-kontakt Board-To-Wire-monterte kontakter + kabel

      Mekaniske komponenter

      1. 3D -skriverfilament - PLA+ i alle farger
      2. 4 skruer med en diameter på 5 mm
      3. Minst 9 x 15 cm prototypebord
      4. Lager av ubrukte ledninger

      Verktøy

      1. 3D-skriver (jeg har brukt Creality Ender 3 med festet seng av glass)
      2. Varm limpistol
      3. Pinsett
      4. Tang
      5. Kutter
      6. Ekstern 24V strømforsyning
      7. Oscilloskop (valgfritt)
      8. AVR ISP -programmerer (for MCU -blinking)
      9. Elektrisk skrutrekker
      10. Loddejern
      11. Funksjonsgenerator (valgfritt)

Trinn 3: Elektrisk skjema

Elektrisk skjema
Elektrisk skjema
Elektrisk skjema
Elektrisk skjema
Elektrisk skjema
Elektrisk skjema

Det skjematiske diagrammet er delt inn i separate kretser, noe som kan gjøre det lettere for oss å forstå driften:

Mikrokontrollerenhet

Dette er en AVR -basert ATMEGA328P, som den ble beskrevet ovenfor. Den bruker intern oscillator og opererer på 8MHz. J13 er programmerer -kontakt. Det er mange programmerere i AVR -verdenen, i dette prosjektet brukte jeg en ISP Programmer V2.0 fra eBay. J10 er UART TX -linje, og brukes hovedsakelig til feilsøkingsformål. Når du konstruerer en avbruddshåndteringsprosedyre, er det noen ganger godt å vite hvilket system som har å si oss fra innsiden. D4 er RGB LED som drives direkte fra MCU, på grunn av den lave strømstyrken. PD0-pinnen er festet til en trykknapp av SPST-typen med en ekstern pull-up.

IR -sensor

IR-sensor som brukes i dette prosjektet er en generell trepinners IR-sensor som er tilgjengelig på eBay, til meget vennlige priser. IR -utgangssignalpinnen er koblet til interrupt -inngangspinnen (INT1) på MCU,

LCD

Display er en enkel implementering av en 1604A-skjerm, med 4-biters dataoverføring. Alle kontroll-/datapinnene er knyttet til MCU. Det er viktig å merke seg at LCD er festet til hovedkortet via to kontakter J17, J18. For å kjøre LCD -modulen på/av, er det en enkelt BJT -bryter, som bytter jordlinje for LCD.

Strømforsyning

Alle de interne kretsene, unntatt LED -stripen, fungerer på 5V. Som det ble nevnt tidligere, er 5V strømkilde en enkel DC-DC-modul (Her hjalp eBay meg med å finne løsningen), som konverterer 24V til 5V, uten oppvarmingsproblem, som kan oppstå på den lineære regulatoren. Kondensatorer C [11..14] brukes til å omgå, og er nødvendige for denne designen på grunn av koblingsstøy på DC -DC -strømledninger - både inngang og utgang.

Skjermkontroll

Skjermkontrollkretser er bare et relékoblingssystem. Siden jeg har to skjermer, blir den ene matet fra 220VAC og den andre er fra 19.8V, det kreves forskjellig implementering.: Hver MCU -utgang er koblet til 2N2222 BJT, og en reléspole er festet som en last fra 5V til BJT -samlerpinnen. (Ikke glem å feste en omvendt diode for passende strømutladning!). Ved en 220VAC bytter reléet LINE- og NEUTRAL -linjene, og på et 19.8V bytter reléet bare DC -strømledningen - siden den har sin egen strømforsyning, deles jordledningene for begge kretsene.

Lydvolumkontroll

Jeg ønsket å bruke LM386 lydforsterkere som buffere for spenningsdelere, for forsiktig lydsignaloverføring. Hver kanal - venstre og høyre kommer fra 3,5 mm lydinngang. Siden LM386 implementerer med minimum delkonfigurasjon en standardforsterkning på G = 20, er det en 1MOhm motstand for begge kanalene. På denne måten kan vi redusere den totale mengden strøm for inngangskanalene til høyttalersystemet:

V (ut-maks) = R (maks) * V (inn) / (R (maks) + 1MOhm) = V (inn) * 100K / 1,1M.

Og den totale gevinsten er: G = (Vout / Vin) * 20 = 20 /11 ~ 1.9

Spenningsdeleren er et enkelt digitalt potensiometernettverk, der viskeren sender signalet til LM386 -bufferen (U2 er IC). Enheten deler SPI for alle perifere kretser, der bare ENABLE linjer er atskilt for hver av dem. MCP4261 er et 100K 8-bits lineært digitalt potensiometer IC, og hvert trinn i volumøkningen uttrykkes: dR = 100, 000 /256 ~ 390Ohm.

Pinnene A og B for hver VENSTRE og HØYRE kanal er knyttet til GND og 5V. Således ved viskerposisjonen nederst passerer hele lydsignalet til GND via 1MOhm motstand MUTING enhet volum.

LED Strip Brightness Control:

Ideen om lysstyrkekontroll ligner på volumkontrollen, men her har vi et problem: digitalt potensiometer kan bare sende signaler som amplituder ikke overstiger 5V til GND. Dermed er ideen å plassere en enkel Op-Amp-buffer (LM358) etter den digitale potensiometer spenningsdeleren. og kontrollspenning knyttet direkte til en PMOS -transistor.

X9C104P er et enkelt 8-biters digitalt potensiometer med en verdi på 100KOhm. Vi kan få en beregning for grensespenning etter bare algebraiske regler for strømmen:

V (gate) = V (visker) * (1 + R10/R11) = 2V (visker) ~ 0 - 10V (som er tilstrekkelig til å slå på/av og kontrollere lysstyrken)

Trinn 4: Opprette en 3D -kabinett

Opprette en 3D -kabinett
Opprette en 3D -kabinett
Opprette en 3D -kabinett
Opprette en 3D -kabinett
Opprette en 3D -kabinett
Opprette en 3D -kabinett

For enhetsskap har jeg brukt en FreeCAD v0.18 som er et flott verktøy selv for nybegynnere som meg.

Kapslingstype

Jeg ønsket å lage en boks der det er et enkelt skall som vil sveie det loddede brettet. Frontpanelet inneholder alle brukergrensesnittdelene og bakpanelet inneholder alle kontaktene til skrivebordselektronikken. Disse panelene settes direkte inn i et hovedskall med en 4-skruers enhet på toppdekselet.

Dimensjoner

Sannsynligvis det viktigste trinnet i sekvensen. Det er nødvendig å ta hensyn til alle passende avstander og avskjæringsområder. Som det fremgår av bildene, er først og fremst dimensjonene som ble tatt på front- og bakpanelene:

Frontpanel: Avskjæringsområder for LCD, bryter, LED og IR-sensor. Alle disse dimensjonene er avledet fra produsentens datablad for hver del. (I tilfelle du ønsker å bruke en annen del, er det nødvendig å berolige alle kuttområder.

Bakpanel: To hull for 3,5 mm lydkontakter, To 220V 3-linjers strømkontakter, To hankontakter for likestrømforsyning og ekstra hull for LED-stripen og strøm til enheten

Toppskall: Dette skallet brukes bare til å feste alle delene sammen. Siden front- og bakpanelet er satt inn i bunnskallet.

Bunnskall: Basen for enheten. Den inneholder panelene, det elektroniske loddetavlet og skruene festet til toppdekselet.

Design av delene

Etter at panelene er opprettet, kan vi gå videre til bunnskallet. Det anbefales å sikre plassering av delene helt etter hvert trinn. Det nederste skallet er en enkel rektangelbasert ekstrudert form, med symmetriske lommer nær kantene på skallet (se bilde 4).

Etter lommetrinnet er det nødvendig å lage en 4-skrues bunn for dekselfestet. De ble designet som innsetting av primitive sylindere med forskjellig radius, hvor utskåret sylinder er tilgjengelig etter XOR -operasjon.

Nå har vi et komplett bunnskall. For å lage et skikkelig deksel, er det nødvendig å lage en skisse på toppen av skallet og lage de samme sylinderpunktene (jeg har bare festet punkter for å bore, men det er en mulighet for å lage hull med faste diametre).

Etter at hele enhetskapslingen er fullført, kan vi kontrollere det ved å sette sammen delene.

Trinn 5: 3D -utskrift

3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift

Endelig er vi her, og kan gå videre til utskriften. Det er STL -filer tilgjengelig for dette prosjektet, basert på mitt design. Det kan være et problem med disse filene å skrive ut, fordi det ikke tas hensyn til toleranser. Disse toleransene kan justeres i skjæreapplikasjonen (jeg har brukt en Ultimaker Cura) for STL -filene.

De beskrevne delene ble trykt på Creality Ender 3, med glass seng. Betingelsene er ikke langt fra de vanlige, men bør tas i betraktning:

  • Dysediameter: 0,4 mm
  • Påfyllingstetthet: 50%
  • Støtte: Det er ikke behov for støttevedlegg i det hele tatt
  • Anbefalt hastighet: 50 mm/s for prosjektet

Så snart kabinettdelene er skrevet ut, er det nødvendig å sjekke dem i virkeligheten. Hvis det ikke er noen problemer med å feste skapdeler, kan vi gå videre til montering og lodding.

Det er et problem med STL -visningen i instruksjonene, så jeg foreslår at du laster den ned først:)

Trinn 6: Montering og lodding

Montering og lodding
Montering og lodding
Montering og lodding
Montering og lodding
Montering og lodding
Montering og lodding

Loddeprosessen er vanskelig, men hvis vi deler sekvensen i forskjellige kretser, blir det mye lettere for oss å fullføre den.

  1. MCU -krets: Bør loddes først med sin kvinnelige programmeringskontakt. På det stadiet kan vi faktisk teste driften og tilkoblingen.
  2. Lydkrets: Den andre. Ikke glem å feste rekkeklemmer på det loddede brettet. Det er veldig viktig å isolere returkanalen til lydkretsene fra de digitale - spesielt digitale potensiometer IC, på grunn av deres støyende natur.
  3. Skjermkretser: I likhet med lydkrets, ikke glem å koble til rekkeklemme ved I/O -portene.
  4. Koblinger og brukergrensesnittpanel: De siste tingene som bør kobles til. Brukergrensesnittpanelet er koblet til loddet bord via Board-To-Wire-kontakt, hvor ledninger loddes direkte inn i de eksterne delene.

Etter loddeprosessen er det en enkel rekkefølge av mekaniske delefester. Som det ble lagt merke til ovenfor, er det nødvendig å sette 4 skruer (jeg har brukt en med en diameter på 5 mm) i hjørnene, som finnes på kabinettet. Etter det er det behov for å feste UI -deler og bakpanelkontakter til omverdenen. Foretrukket verktøy er en varm limpistol.

Det vil være veldig nyttig å sjekke innkvartering av deler i det trykte kabinettet. Hvis alt ser bra ut, kan vi gå videre til programmeringstrinnet.

Trinn 7: Programmering

Programmering
Programmering
Programmering
Programmering

Dette trinnet er morsomt. Siden det er en rekke ting som må opereres, vil vi bruke totalt 5 tjenester av MCU: Ekstern avbrudd, SPI -periferiutstyr, UART for logging, tidtakere for presis telling og EEPROM for lagring av våre IR -fjernkoder.

EEPROM er et viktig verktøy for lagrede data. For å lagre IR -fjernkoder, er det nødvendig å utføre en rekke trykknapper. Etter hver sekvens vil systemet huske kodene uavhengig av tilstand enten enheten er drevet eller ikke.

Du finner hele Atmel Studio 7 -prosjektet arkivert som RAR nederst i dette trinnet.

Programmeringen utføres av AVR ISP Programmer V2, 0, gjennom en enkel applikasjon kalt ProgISP. Det er en veldig vennlig app, med komplett brukergrensesnitt. Bare velg riktig HEX -fil og last den ned til MCU.

VIKTIG: Før du programmerer MCU, må du kontrollere at alle riktige innstillinger er definert i henhold til designkravene. I likhet med den interne klokkefrekvensen - som standard har den delersikringen aktiv ved fabrikkinnstilling, så den må programmeres på logikk HIGH.

Trinn 8: Sammenkobling og testing

Sammenkobling og testing
Sammenkobling og testing
Sammenkobling og testing
Sammenkobling og testing
Sammenkobling og testing
Sammenkobling og testing

Vi er endelig her, etter alt det harde arbeidet som ble gjort:)

For å bruke enheten på riktig måte, er det behov for paringssekvens, og enheten vil derfor "huske" den vedlagte IR -fjernkontrollen som vil bli brukt. Trinnene i sammenkoblingen er som følger:

  1. Slå på enheten, vent på initialisering av hovedgrensesnittet
  2. Trykk på knappen for første gang
  3. Trykk på knappen en annen gang før telleren når null
  4. Trykk på passende tast som du vil ha en bestemt funksjon, i henhold til enheten
  5. Start enheten på nytt, sørg for at den nå reagerer på tastene som ble definert.

Og det er det!

Håper, du finner dette instruerbart nyttig, Takk for at du leste!

Anbefalt: