Inhoudsopgave:

Op afstand bestuurbare computerdesk - Ajarnpa
Op afstand bestuurbare computerdesk - Ajarnpa

Video: Op afstand bestuurbare computerdesk - Ajarnpa

Video: Op afstand bestuurbare computerdesk - Ajarnpa
Video: Op bezoek #2 - de Modcave van Peter Brands (L3P) 2024, Juli-
Anonim
Image
Image
Op afstand bestuurbare computertafel
Op afstand bestuurbare computertafel
Op afstand bestuurbare computertafel
Op afstand bestuurbare computertafel
Op afstand bestuurbare computertafel
Op afstand bestuurbare computertafel

Onlangs ben ik een probleem tegengekomen, dat mijn luiheid een enorm probleem voor mij werd thuis. Zodra ik naar bed ga, zet ik graag een mooi LED-licht met een aantal series op mijn pc. Maar… Als ik deze dingen uit wil zetten, moet ik elke keer OPSTAAN en ze met de hand uitzetten. Daarom heb ik besloten om een complete controller te bouwen voor het hele pc-bureaublad, waar ik monitoren en licht aan en uit kan zetten, het volume van de luidsprekers en de helderheid van de LED-stripverlichting kan aanpassen door op een overeenkomstige knop op mijn afstandsbediening te drukken.

Het project is een PC desk / workbench controller box, die wordt bediend met een IR-afstandsbediening. Er zijn tegenwoordig veel soorten IR-afstandsbedieningen beschikbaar, maar dat is geen probleem. Deze controller is instelbaar en kan worden gekoppeld aan elk type IR-afstandsbediening die het juiste protocol voor onze gebruikte sensor ondersteunt (we zullen dit later bespreken).

De gecontroleerde computerbureaus zijn:

  1. AC-stroomregeling: de monitor die op 220VAC is aangesloten, in-/uitschakelen
  2. DC-stroomregeling: de monitor die is aangesloten op gelijkstroom (tot 48 V) in-/uitschakelen
  3. Audiovolumeregeling: volledige controle over het stereovolume dat aan de luidsprekers wordt doorgegeven
  4. LED-stripverlichtingsregeling: volledige controle over de helderheid van de led-stripverlichting

Het apparaat heeft een goed ontworpen gebruikersinterface en verstelbare mechanische compartimenten, waardoor het eenvoudig te bouwen en te gebruiken is:

  1. Display: de realtime status van alle bestuurde systemen wordt weergegeven op het 16x4 LCD-scherm
  2. RGB-led: voor een aanvullende feedback voor het systeem, is dit bedoeld om de gebruiker te bevestigen dat er een geaccepteerd signaal is ontvangen van de IR-afstandsbediening
  3. Koppelsysteem: apparaat bevat een enkele drukknop, die moet worden ingedrukt voor het koppelen. Wanneer het koppelingsproces is gestart, kunnen we elke IR-afstandsbediening aan ons apparaat koppelen door de instructies op een display te volgen.

Nadat we de basis hebben behandeld, gaan we het bouwen!

Stap 1: Uitleg

Uitleg
Uitleg

De bediening van het apparaat kan als eenvoudig worden beschouwd, vanwege het gebrek aan ontwerpcomplexiteit. Zoals te zien is in het blokschema, is het "brein" de AVR-microcontroller, terwijl alle andere onderdelen worden bestuurd door dit "brein". Om het hele plaatje in onze geest te ordenen, laten we het ontwerp blok voor blok beschrijven:

Voedingseenheid: De voedingsbron voor het geselecteerde apparaat is de LED-strip PSU, die in staat is om 24VDC-invoer aan het systeem te leveren. Microcontroller, relais, digitale potentiometers en audioversterkers werken allemaal op 5V, dus de DC-DC step-down converter werd aan het ontwerp toegevoegd. De belangrijkste reden voor de DC-DC in plaats van de lineaire regelaar is de vermogensdissipatie en het gebrek aan efficiëntie. Stel dat we de klassieke LM7805 gebruiken met 24V input en 5V output. Wanneer de stroom significante waarden bereikt, zal het vermogen dat zal dissiperen in de vorm van warmte op de lineaire regelaar enorm zijn en oververhit kunnen raken, waardoor een zoemend geluid aan audiocircuits wordt bevestigd:

Steenbolk = Pin + Pdiss, dus bij 1A bereiken we: Pdiss = Pin - Steenbolk = 24*1 - 5*1 = 19W (van gedissipeerd vermogen).

Microcontroller: om de code zo snel mogelijk te schrijven, heb ik gekozen voor de op AVR gebaseerde ATMEGA328P, die veel wordt gebruikt in Arduino UNO-kaarten. Volgens de ontwerpvereisten zullen we bijna alle randapparatuur gebruiken: Interrupts, timers, UART, SPI et cetera. Omdat het een hoofdblok in het systeem is, is het verbonden met alle onderdelen in het apparaat

  • Gebruikersinterface: het voorpaneel van het apparaat bevat alle onderdelen waarmee de gebruiker moet communiceren:

    1. IR-sensor: sensor voor het decoderen van de IR-afstandsbedieningsgegevens.
    2. Drukknop: is vereist voor het koppelen van de IR-afstandsbediening aan het apparaat
    3. RGB LED: Esthetische bevestiging om feedback te geven over het ontvangen van informatie door het systeem
    4. LCD: grafische weergave van wat er in het apparaat gebeurt

Besturing van monitoren: om het apparaat in staat te stellen stroom te schakelen op de pc-monitoren, moet er worden omgegaan met grote spanningswaarden. Mijn Samsung-monitoren delen bijvoorbeeld helemaal geen stroomconfiguratie: de ene wordt gevoed door 220VAC, terwijl de andere wordt gevoed door zijn eigen PSU van 19,8V. De oplossing was dus een relaiscircuit voor elk van de voedingslijnen van de monitor. Deze relais worden bestuurd door MCU en zijn volledig gescheiden, waardoor de vermogensoverdracht van de monitor voor elke monitor onafhankelijk is

Lichtregeling: Ik heb een LED-strip, die wordt geleverd met de aangesloten voeding van 24VDC, die wordt gebruikt als ingang voor systeemvoeding. Aangezien er een grote stroom door de LED-strip moet worden geleid, omvat het helderheidsmechanisme een stroombegrenzerschakeling op basis van een MOSFET, die werkt in een lineair gebied van de actieve zone

Volumeregeling: dit systeem is gebaseerd op het doorgeven van de audiosignalen op zowel het LINKER- als het RECHTS-kanaal via spanningsverdelers, waarbij de aangelegde spanning wordt gewijzigd via een digitale potentiometerwisserbeweging. Er zijn twee LM386-basiscircuits waarbij aan elke ingang een enkele spanningsdeler is (daar komen we later op terug). De input en output zijn 3,5 mm stereo jacks

Het lijkt erop dat we alle integrale delen van de circuits hebben behandeld. Laten we verder gaan met elektrische schema's …

Stap 2: Onderdelen en instrumenten

Alles wat we nodig hebben om het project te bouwen:

Elektronische componenten

  1. Gemeenschappelijke componenten:

    • Weerstanden:

      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. condensatoren:
        1. 1 x 68nF
        2. 2 x 10uF
        3. 4 x 100nF
        4. 2 x 50nF
        5. 3 x 47uF
      8. Diversen:

        1. Diodes: 2 x 1N4007
        2. Trimmer: 1 x 10K
        3. BJT: 3x 2N2222A
        4. P-MOSFET: ZVP4424
      9. Geïntegreerde schakelingen:

        • MCU: 1 x ATMEGA328P
        • Audioversterker: 2 x LM386
        • Dubbele digitale potentiometer: 1 x MCP4261
        • Enkele digitale potentiometer: 1 x X9C104P
        • DC-DC: 1 x BCM25335 (kan worden vervangen door elk DC-DC 5V-vriendelijk apparaat)
        • Op-amp: 1 x LM358
        • Relais: 5V tolerante dubbele SPDT
        • Externe 24V-voeding
      10. Gebruikersomgeving:

        • LCD: 1x 1604A
        • IR-sensor: 1 x CDS-IR
        • Drukknop: 1 x SPST
        • LED: 1 x RGB-LED (4 contacten)
      11. Connectoren:

        • Klemmenblokken: 7 x 2-contact TB
        • Board-to-Wire-connectoren: kabel met 3 x 4 contacten + behuizingsconnectoren
        • Audio: 2 x 3,5 mm vrouwelijke jack-connectoren
        • Outlet PSU: 2 x 220VAC voedingsconnectoren (mannelijk)
        • DC-aansluiting: 2 x mannelijke DC-aansluitingen
        • LED-strip en externe voeding: 1 x 4-contact Board-to-Wire geassembleerde connectoren + kabel

      Mechanische componenten

      1. 3D-printerfilament - PLA+ van elke kleur
      2. 4 schroeven met een diameter van 5 mm
      3. Prototypingsbord van minimaal 9 x 15 cm
      4. Voorraad ongebruikte draden

      Gereedschap

      1. 3D-printer (ik heb Creality Ender 3 gebruikt met een vast bed van het glastype)
      2. Heet lijmpistool
      3. Pincet
      4. tang
      5. Snijder
      6. Externe 24V-voeding
      7. Oscilloscoop (optioneel)
      8. AVR ISP-programmeur (voor MCU knipperend)
      9. Elektrische schroevendraaier
      10. Soldeerbout
      11. Functiegenerator (optioneel)

Stap 3: Elektrische schema's

Elektrische schema's
Elektrische schema's
Elektrische schema's
Elektrische schema's
Elektrische schema's
Elektrische schema's

Het schematische diagram is verdeeld in afzonderlijke circuits, waardoor we de werking ervan gemakkelijker kunnen begrijpen:

Microcontroller-eenheid

Dit is een op AVR gebaseerde ATMEGA328P, zoals hierboven beschreven. Het maakt gebruik van een interne oscillator en werkt op 8 MHz. J13 is een programmeerconnector. Er zijn veel programmeurs in de AVR-wereld, in dit project heb ik een ISP Programmer V2.0 van eBay gebruikt. J10 is een UART TX-lijn en wordt voornamelijk gebruikt voor foutopsporingsdoeleinden. Bij het construeren van een interruptafhandelingsprocedure is het soms goed om te weten wat het systeem ons van binnenuit te vertellen heeft. D4 is een RGB-led die rechtstreeks door de MCU wordt aangestuurd, vanwege de lage stroomwaarden. PD0-pin is bevestigd aan een drukknop van het SPST-type met een externe pull-up.

IR-sensor

De IR-sensor die in dit project wordt gebruikt, is een driepolige IR-sensor voor algemeen gebruik die tegen zeer vriendelijke prijzen op eBay verkrijgbaar is. De IR-uitgangssignaalpin is verbonden met de interrupt-ingangspin (INT1) van MCU,

LCD

Display is een eenvoudige implementatie van een 1604A-display, met 4-bit datatransmissie. Alle controle-/gegevenspinnen zijn verbonden met de MCU. Het is belangrijk op te merken dat het LCD-scherm via twee connectoren J17, J18 op het moederbord is aangesloten. Om de LCD-module aan / uit te zetten, is er een enkele BJT-schakelaar, die de aardleiding voor LCD schakelt.

Stroomvoorziening

Alle interne circuits, met uitzondering van de LED-strip, werken op 5V. Zoals eerder vermeld, is de 5V-stroombron een eenvoudige DC-DC-module (Hier hielp eBay me de oplossing te vinden), die 24V omzet in 5V, zonder verwarmingsprobleem, dat zou kunnen optreden op de lineaire regelaar. Condensatoren C[11..14] worden gebruikt voor overbrugging en zijn nodig voor dit ontwerp vanwege schakelruis aanwezig op DC-DC-voedingslijnen - zowel ingang als uitgang.

Controle van de monitor

Monitorbesturingscircuits zijn slechts een relaisschakelsysteem. Aangezien ik twee monitoren heb, één wordt gevoed vanuit 220VAC en de tweede is van 19,8V, is er een andere implementatie vereist.: Elke MCU-uitgang is verbonden met 2N2222 BJT en een relaisspoel is bevestigd als een belasting van 5V naar de BJT-collectorpen. (Vergeet niet om een omgekeerde diode te bevestigen voor de juiste stroomontlading!). Bij een 220VAC schakelt het relais de LIJN- en NEUTRALE lijnen en bij een 19,8V schakelt het relais alleen de DC-voedingslijn - aangezien het zijn eigen voeding heeft, worden de aardingslijnen gedeeld voor beide circuits.

Audiovolumeregeling

Ik wilde LM386-audioversterkers gebruiken als buffers voor de spanningsdelers, voor een zorgvuldige overdracht van audiosignalen. Elk kanaal - links en rechts komt van een 3,5 mm audio-aansluiting. Aangezien de LM386 bij minimale onderdelenconfiguratie een standaardversterking van G = 20 implementeert, is er een weerstand van 1 MOhm voor beide kanalen. Op deze manier kunnen we het totale vermogen voor de ingangskanalen naar het luidsprekersysteem verminderen:

V(uit-max) = R(max) * V(in) / (R(max) + 1MOhm) = V(in) * 100K / 1,1M.

En de totale winst is: G = (Vout / Vin) * 20 = 20/11 ~ 1.9

De spanningsdeler is een eenvoudig digitaal potentiometernetwerk, waarbij de wisser het signaal doorgeeft aan de LM386-buffer (U2 is de IC). Apparaat deelt SPI voor alle perifere circuits, waarbij alleen ENABLE-lijnen voor elk van hen zijn gescheiden. MCP4261 is een 100K 8-bit lineaire digitale potentiometer IC, dus elke stap in de volumeverhoging wordt uitgedrukt: dR = 100.000 / 256 ~ 390Ohm.

Pinnen A en B voor elk kanaal LINKS en RECHTS zijn verbonden met GND en 5V. Dus op de wisserpositie aan de onderkant passeert het hele audiosignaal naar GND via 1 MOhm weerstand MUTING apparaatvolume.

Helderheidsregeling LED-strip:

Het idee van de helderheidsregeling is vergelijkbaar met de volumeregeling, maar hier hebben we een probleem: digitale potentiometer kan alleen signalen verzenden waarvan de amplituden niet groter zijn dan 5V naar GND. Het idee is dus om een eenvoudige Op-Amp-buffer (LM358) achter de digitale potentiometer-spanningsdeler te plaatsen. en stuurspanning direct gekoppeld aan een PMOS-transistor.

X9C104P is een enkele 8-bit digitale potentiometer met een waarde van 100 KOhm. We kunnen een berekening voor poortspanning verkrijgen volgens louter algebraïsche regels voor stroomstroming:

V(gate) = V(wiper) * (1 + R10/R11) = 2V(wiper) ~ 0 - 10V (wat voldoende is om aan/uit te schakelen en de helderheid te regelen)

Stap 4: Een 3D-behuizing maken

Een 3D-behuizing maken
Een 3D-behuizing maken
Een 3D-behuizing maken
Een 3D-behuizing maken
Een 3D-behuizing maken
Een 3D-behuizing maken

Voor apparaatbehuizing heb ik een FreeCAD v0.18 gebruikt, wat een geweldig hulpmiddel is, zelfs voor beginners zoals ik.

Behuizingstype:

Ik wilde een doos maken met een enkele schaal die het gesoldeerde bord zal plaatsen. Het voorpaneel bevat alle onderdelen van de gebruikersinterface en het achterpaneel bevat alle aansluitingen naar de elektronica van het bureau. Deze panelen worden direct in een hoofdschaal gestoken met een 4-schroefs montage aan de bovenklep.

Dimensies

Waarschijnlijk de belangrijkste stap in de reeks. Er moet rekening gehouden worden met alle gepaste afstanden en afkapgebieden. Zoals te zien is op de foto's, zijn allereerst de afmetingen die zijn genomen op de voor- en achterpanelen:

Voorpaneel: Afgesneden gebieden voor LCD-, schakelaar-, LED- en IR-sensor. Al deze afmetingen zijn afgeleid van het gegevensblad van de fabrikant per onderdeel. (Als u een ander onderdeel wilt gebruiken, moet u alle snijgebieden geruststellen.

Achterpaneel: twee gaten voor 3,5 mm audio-aansluitingen, twee 220V 3-lijns stroomaansluitingen, twee mannelijke aansluitingen voor gelijkstroomvoeding en extra gaten voor de LED-strip en voeding naar het apparaat

Bovenschaal: Deze schaal wordt alleen gebruikt om alle onderdelen aan elkaar te bevestigen. Omdat het voor- en achterpaneel in de onderste schaal worden gestoken.

Bodemschaal: de basis voor het apparaat. Het bevat de panelen, het elektronische gesoldeerde bord en de schroeven die aan de bovenklep zijn bevestigd.

De onderdelen ontwerpen

Nadat de panelen zijn gemaakt, kunnen we doorgaan naar de onderste schaal. Het wordt aanbevolen om ervoor te zorgen dat de onderdelen na elke stap volledig passen. De onderste schaal is een eenvoudige geëxtrudeerde vorm op basis van rechthoeken, met symmetrische zakken aan de randen van de schaal (zie foto 4).

Na het inpakken moet er een basis met 4 schroeven worden gemaakt voor de bevestiging van het deksel. Ze zijn ontworpen als een insertie van primitieve cilinders met verschillende straal, waar uitgesneden cilinder beschikbaar is na XOR-bewerking.

Nu hebben we een complete bodemschaal. Om een goede dekking te creëren, moet er een schets op de bovenkant van de schaal worden gemaakt en dezelfde cilinderpunten worden gemaakt (ik heb alleen punten bevestigd om te boren, maar er is een mogelijkheid om gaten met vaste diameters te maken).

Nadat de hele apparaatbehuizing is voltooid, kunnen we deze controleren door de onderdelen samen te voegen.

Stap 5: 3D printen

3d printen
3d printen
3d printen
3d printen
3d printen
3d printen
3d printen
3d printen

Eindelijk zijn we hier en kunnen we een stap verder gaan met het printen. Er zijn STL-bestanden beschikbaar voor dit project, gebaseerd op mijn ontwerp. Er kan een probleem zijn met deze bestanden om af te drukken, omdat er geen rekening wordt gehouden met toleranties. Deze toleranties kunnen worden aangepast in de slicer-applicatie (ik heb een Ultimaker Cura gebruikt) voor de STL-bestanden.

De beschreven onderdelen zijn gedrukt op Creality Ender 3, met glazen bed. De voorwaarden zijn niet ver van de standaard, maar er moet rekening mee worden gehouden:

  • De pijpdiameter: 0.4mm
  • Infill dichtheid: 50%
  • Ondersteuning: er is helemaal geen ondersteuningsbijlage nodig
  • Aanbevolen snelheid: 50 mm/s voor het project

Zodra de onderdelen van de behuizing zijn geprint, moeten ze in het echt worden gecontroleerd. Als er geen problemen zijn bij het bevestigen van onderdelen van de behuizing, kunnen we doorgaan met de montage- en soldeerstap.

Er is een probleem met de STL-viewer in de instructables, dus ik raad aan om deze eerst te downloaden:)

Stap 6: Montage en solderen

Montage en Solderen
Montage en Solderen
Montage en Solderen
Montage en Solderen
Montage en Solderen
Montage en Solderen

Het soldeerproces is zwaar, maar als we de reeks in verschillende circuits scheiden, zal het voor ons veel gemakkelijker zijn om het af te maken.

  1. MCU-circuit: moet eerst worden gesoldeerd met de vrouwelijke programmeerconnector. In dat stadium kunnen we de werking en connectiviteit daadwerkelijk testen.
  2. Audiocircuit: de tweede. Vergeet niet om klemmenblokken op het gesoldeerde bord te bevestigen. Het is erg belangrijk om het retourpad van audiocircuits te isoleren van de digitale - vooral digitale potentiometer-IC's, vanwege hun lawaaierige aard.
  3. Monitorcircuits: Net als bij audiocircuits, vergeet niet om het klemmenblok aan de I/O-poorten te bevestigen.
  4. Connectoren en UI-paneel: de laatste dingen die moeten worden aangesloten. Het gebruikersinterfacepaneel is verbonden met het gesoldeerde bord via een Board-To-Wire-connector, waar draden rechtstreeks in de externe onderdelen worden gesoldeerd.

Na het soldeerproces is er een eenvoudige opeenvolging van mechanische onderdelenbevestigingen. Zoals hierboven opgemerkt, is het nodig om 4 schroeven te plaatsen (ik heb schroeven met een diameter van 5 mm gebruikt) op de hoeken, die aanwezig zijn op de behuizing. Daarna is het nodig om UI-onderdelen en connectoren op het achterpaneel aan de buitenwereld te bevestigen. Het voorkeursgereedschap is een heet lijmpistool.

Het is erg handig om de accommodatie van de onderdelen in de gedrukte bijlage te controleren. Als alles er goed uitziet, kunnen we doorgaan naar de programmeerstap.

Stap 7: Programmeren

Programmeren
Programmeren
Programmeren
Programmeren

Deze stap is een leuke. Omdat er verschillende dingen moeten werken, zullen we in totaal 5 services van de MCU gebruiken: externe interrupt, SPI-randapparatuur, UART voor logging, timers voor nauwkeurig tellen en EEPROM voor het opslaan van onze IR-afstandsbedieningscodes.

De EEPROM is een essentieel hulpmiddel voor onze opgeslagen gegevens. Om IR-afstandsbedieningscodes op te slaan, moet u een reeks drukknoppen uitvoeren. Na elke sequentie zal het systeem de codes onthouden, onafhankelijk van de status van het apparaat dat is ingeschakeld of niet.

U vindt het hele Atmel Studio 7-project gearchiveerd als RAR onderaan deze stap.

De programmering wordt gedaan door AVR ISP Programmer V2, 0, via een eenvoudige applicatie genaamd ProgISP. Het is een zeer vriendelijke app, met een complete gebruikersinterface. Selecteer gewoon het juiste HEX-bestand en download het naar de MCU.

BELANGRIJK: Voordat u de MCU programmeert, moet u ervoor zorgen dat alle juiste instellingen zijn gedefinieerd in overeenstemming met de ontwerpvereisten. Net als de interne klokfrequentie - standaard is de scheidingszekering actief in de fabrieksinstelling, dus moet deze worden geprogrammeerd op logisch HOOG.

Stap 8: koppelen en testen

Koppelen en testen
Koppelen en testen
Koppelen en testen
Koppelen en testen
Koppelen en testen
Koppelen en testen

We zijn er eindelijk, na al het harde werk dat is verzet:)

Om het apparaat correct te gebruiken, is er een koppelvolgorde nodig, dus het apparaat zal de aangesloten IR-afstandsbediening "onthouden" die zou worden gebruikt. De stappen van het koppelen zijn als volgt:

  1. Schakel het apparaat in, wacht op initialisatie van het hoofdscherm van de gebruikersinterface
  2. Druk voor de eerste keer op de knop
  3. Druk nog een keer op de knop voordat de teller op nul staat
  4. Druk op de juiste toets waarvan u een specifieke functie wilt hebben, afhankelijk van het apparaat
  5. Start het apparaat opnieuw op, zorg ervoor dat het nu reageert op de gedefinieerde toetsen.

En dat is het!

Hoop, je zult dit instructable nuttig vinden, Bedankt voor het lezen!

Aanbevolen: