Inhoudsopgave:

Voice Home Control V1.0: 12 stappen
Voice Home Control V1.0: 12 stappen

Video: Voice Home Control V1.0: 12 stappen

Video: Voice Home Control V1.0: 12 stappen
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Juli-
Anonim
Voice Home Control V1.0
Voice Home Control V1.0

Een paar maanden geleden heb ik een persoonlijke assistent aangeschaft, met name een Echo Dot uitgerust met Alexa. Ik heb ervoor gekozen omdat ik ontdekte dat je op een simpele manier plug-ins kan toevoegen om het apparaat aan en uit te zetten zoals lampen, ventilatoren, etc. In online winkels zag ik een groot aantal apparaten die deze functie vervullen, en toen dacht ik…. waarom niet zelf maken?

Met dit idee in gedachten ben ik begonnen met het ontwerpen van een bord met wifi-verbinding en 4 uitgangsrelais. Hieronder zal ik het ontwerp stap voor stap beschrijven vanuit het schema, PCB-ontwerp, programmeren en testen met als hoogtepunt een succesvolle werking.

KENMERKEN

  1. Wifi-netwerkverbinding
  2. 100 / 240VAC ingangsspanning
  3. 4 uitgangsrelais (maximaal 10A)
  4. Aan/uit-indicator LED
  5. 4 LED's power indicator van het relais
  6. Programmeerkop
  7. Reset knop

Stap 1: Componenten en gereedschappen

Componenten en gereedschappen
Componenten en gereedschappen
Componenten en gereedschappen
Componenten en gereedschappen
Componenten en gereedschappen
Componenten en gereedschappen

Componenten

  1. 3 Weerstanden 0805 van 1k ohm
  2. 5 Weerstanden 0805 van 220 ohm
  3. 2 weerstanden 0805 van 10k ohm
  4. 1 Weerstand 0805 van 4,7k ohm
  5. 2 condensatoren 0805 van 0.1uf
  6. 2 condensatoren 0805 van 10uf
  7. 4 Diodes ES1B of vergelijkbaar van 100v 1A SMA pakket
  8. 1 Spanningsregelaar AMS1117-3.3
  9. 4 Groene LED's 0805
  10. 1 Rode LED 0805
  11. 4 Transistors NPN MMBT2222A of vergelijkbaar SOT23-pakket
  12. 1 ESP 12-E wifi-module
  13. 1 Voeding HLK-PM01
  14. 1 Switch tactiele SMD
  15. 1 Pin header van 6 posities
  16. 5 klemmenblok van 2 posities 5,08 mm pitch
  17. 4 relais van 5VDC

Gereedschap

  1. Soldeerstation of cautin van 25-30 Watt
  2. Loodsoldeer
  3. flux
  4. Pincet
  5. Desoldeerlont

Stap 2: Voeding en spanningsregelaar

Voeding en spanningsregelaar
Voeding en spanningsregelaar
Voeding en spanningsregelaar
Voeding en spanningsregelaar

Voor de werking van het circuit zijn 2 spanningen vereist, een van 3,3 VDC voor het besturingsgedeelte en een andere van 5 VDC voor het vermogensgedeelte, aangezien het idee is dat het bord alles heeft wat nodig is voor de werking, gebruik een geschakelde bron die rechtstreeks voedt 5v en wordt gevoed door lijnspanning is essentieel, dit bespaart ons een externe voedingsadapter en we hoeven alleen een 3.3v lineaire regelaar (LDO) toe te voegen.

Met het bovenstaande in gedachten heb ik als bron de Hi-Link HLK-PM01 gekozen die een ingangsspanning heeft van 100-240VAC bij 0.1A en een output van 5VDC bij 0.6A, gevolgd door de veelgebruikte AMS1117-3.3 regelgever al wat heel gebruikelijk is en daarom gemakkelijk verkrijgbaar.

Bij het raadplegen van de datasheet van de AMS1117 vind je de waarden voor de input en output condensatoren, deze zijn 0.1uf en 10uf voor de input en een ander gelijk gedeelte voor de output. Ten slotte heb ik een stroomindicator-LED geplaatst met zijn respectieve beperkende weerstand, die gemakkelijk kan worden berekend met behulp van de wet van de ohm:

R = 5V-Vled / Iled

R = 5 - 2 / 0,015 = 200

De stroom van 15mA in de led is zo dat deze niet zo fel schijnt en de levensduur verlengt.

Stap 3: Besturingssectie

Besturingssectie
Besturingssectie
Besturingssectie
Besturingssectie

Voor deze sectie heb ik een ESP-12-E Wi-Fi-module gekozen omdat deze klein, goedkoop en zeer eenvoudig te gebruiken is met de Arduino IDE. Omdat de module alles heeft wat nodig is voor zijn werking, is de externe hardware die nodig is om de ESP te laten werken minimaal.

Iets om in gedachten te houden is dat sommige GPIO's van de module niet worden aanbevolen om te gebruiken en andere specifieke functies hebben, hierna zal ik een tabel laten zien over de pinnen en welke functies ze vervullen:

GPIO--------- Ingang---------------- Uitgang---------------------- ---Opmerkingen:

GPIO16 ------ geen onderbreking ------ geen PWM- of I2C-ondersteuning --- Hoog bij opstarten gebruikt om wakker te worden uit diepe slaap

GPIO5-------OK-------------------OK---------------vaak gebruikt als SCL (I2C)

GPIO4-------OK-------------------OK---------------vaak gebruikt als SDA (I2C)

GPIO0 ------- omhoog getrokken ---------- OK--------------- Laag naar FLASH-modus, opstarten mislukt als laag wordt getrokken

GPIO2------- omhoog getrokken----------OK--------------- opstarten mislukt als hij wordt uitgetrokken Laag

GPIO14-----OK-------------------OK---------------SPI (SCLK)

GPIO12-----OK-------------------OK---------------SPI (MISO)

GPIO13-----OK-------------------OK---------------SPI (MOSI)

GPIO15 ----- naar GND getrokken ---- OK--------------- SPI (CS) Opstart mislukt als hoog getrokken

GPIO3-------OK-------------------RX-pin ---------- Hoog bij opstarten

GPIO1-------TX-pin --------------OK--------------- Hoog bij opstarten, opstarten mislukt als het laag wordt getrokken

ADC0 -------- Analoge ingang ----- X

Bovenstaande informatie is gevonden via de volgende link:

Op basis van de bovenstaande gegevens heb ik pinnen 5, 4, 12 en 14 gekozen als de digitale uitgangen die elk van de relais zullen activeren, deze zijn het meest stabiel en veilig voor activering.

Ten slotte heb ik toegevoegd wat nodig is voor het programmeren, een resetknop op die pin, een weerstand die is aangesloten op de voeding op de enable-pin, een weerstand tegen aarde op de GPIO15, een header die wordt gebruikt om een FTDI aan te sluiten op de TX-, RX-pinnen en aard de GPIO0 om de module in Flash-modus te zetten.

Stap 4: Vermogenssectie

Vermogenssectie
Vermogenssectie
Vermogenssectie
Vermogenssectie

Deze sectie zorgt voor het gebruik van de output 3.3VDC's op de GPIO-poorten om een relais te activeren. De relais hebben meer stroom nodig dan die van een ESP-pin, dus er is een transistor nodig om deze te activeren, in dit geval gebruiken we de MMBT2222A.

We moeten rekening houden met de stroom die door de collector (Ic) gaat, met deze gegevens kunnen we de weerstand berekenen die aan de basis van de transistor wordt geplaatst. In dit geval is de Ic de som van de stroom die door de relaisspoel gaat en de stroom van de LED die de ontsteking aangeeft:

Ic = Irelay + Iled

Ic = 75mA + 15mA = 90mA

Aangezien we de huidige Ic hebben, kunnen we de basisweerstand van de transistor (Rb) berekenen, maar we hebben een extra datapaar nodig, de versterking van de transistor (hFE), die in het geval van de MMBT2222A een waarde heeft van 40 (de versterking is dimensieloos, daarom heeft het geen meeteenheden) en de barrièrepotentiaal (VL) die in siliciumtransistors een waarde heeft van 0,7v. Met het bovenstaande kunnen we overgaan tot het berekenen van Rb met de volgende formule:

Rb = [(VGPIO - VL) (hFE)] / Ic

Rb = [(3.3 - 0.7) (40)] / 0.09 = 1155.55 ohm

Op basis van bovenstaande berekening heb ik gekozen voor een weerstand van 1kohm.

Ten slotte werd een diode parallel aan de relaisspoel geplaatst met de kathode naar Vcc gericht. De ES1B-diode voorkomt omgekeerde FEM (FEM of Reverse Electromotive Force is de spanning die optreedt wanneer de stroom door een spoel varieert)

Stap 5: PCB-ontwerp: schematische en componentorganisatie

PCB-ontwerp: schematische en componentorganisatie
PCB-ontwerp: schematische en componentorganisatie
PCB-ontwerp: schematische en componentorganisatie
PCB-ontwerp: schematische en componentorganisatie

Voor de uitwerking van het schema en de kaart heb ik de Eagle software gebruikt.

Het begint met het maken van het schema van de PCB, het moet elk eerder uitgelegd deel van het circuit vastleggen, het begint met het plaatsen van het symbool van elk onderdeel dat het integreert, dan worden de verbindingen tussen elk onderdeel gemaakt, ervoor zorgen dat er geen verbinding wordt gemaakt ten onrechte zal deze fout worden weerspiegeld in het circuitontwerp dat een storing veroorzaakt. Ten slotte worden de waarden van elk onderdeel aangegeven volgens wat in de vorige stappen is berekend.

Nu kunnen we doorgaan met het ontwerp van de kaart, het eerste wat we moeten doen is de componenten zo organiseren dat ze zo min mogelijk ruimte innemen, dit zal de productiekosten verlagen. Persoonlijk vind ik het leuk om de componenten zo te organiseren dat een symmetrisch ontwerp wordt gewaardeerd, deze praktijk helpt me bij het routeren, maakt het gemakkelijker en stijlvoller.

Het is belangrijk om een raster te volgen bij het accommoderen van de componenten en route, in mijn geval gebruikte ik een 25mil-raster, volgens de IPC-regel moeten de componenten een scheiding tussen hen hebben, over het algemeen is deze scheiding ook 25mil.

Stap 6: PCB-ontwerp: randen en montagegaten

PCB-ontwerp: randen en montagegaten
PCB-ontwerp: randen en montagegaten
PCB-ontwerp: randen en montagegaten
PCB-ontwerp: randen en montagegaten

Als alle componenten op hun plaats zijn, kunnen we de PCB afbakenen, met behulp van de "20 Dimension" -laag, de omtrek van het bord wordt getekend, zodat alle componenten erin zitten.

Als speciale overwegingen is het vermeldenswaard dat de Wi-Fi-module een antenne heeft die in de PCB is geïntegreerd, om te voorkomen dat de ontvangst van het signaal wordt verzwakt, heb ik een snede gemaakt net onder het gebied waarin de antenne zich bevindt.

Aan de andere kant gaan we werken met wisselstroom, deze heeft een frequentie van 50 tot 60Hz afhankelijk van het land waar je bent, deze frequentie kan ruis genereren in digitale signalen, dus het is goed om de secties die omgaan wisselstroom van het digitale gedeelte, dit wordt gedaan door insnijdingen in de kaart te maken bij de gebieden waardoor de wisselstroom zal circuleren. Het bovenstaande helpt ook om kortsluiting op de printplaat te voorkomen.

Tot slot worden er montagegaten in de 4 hoeken van de print geplaatst zodat als je hem in een kast wilt plaatsen, de plaatsing makkelijk en snel gaat.

Stap 7: PCB-ontwerp: toprouting

PCB-ontwerp: toprouting
PCB-ontwerp: toprouting

We beginnen met het leuke gedeelte, routing, is om de verbindingen tussen componenten te maken volgens bepaalde overwegingen, zoals spoorbreedte en draaihoeken. Over het algemeen maak ik eerst de verbindingen die niet stroom en aarde zijn, aangezien de laatste ik maak met plannen.

Parallelle grond- en vermogensvlakken zijn uiterst nuttig bij het dempen van ruis bij de stroombron vanwege de capacitieve impedantie en moeten over een zo breed mogelijk gebied van het bord worden verspreid. Ze helpen ons ook om elektromagnetische straling (EMI) te verminderen.

Voor de tracks moeten we oppassen dat we geen bochten maken met hoeken van 90 °, niet te breed en niet te dun. Online vindt u tools die ons helpen de breedte van de sporen te berekenen, rekening houdend met de temperatuur, de stroom die zal circuleren en de dichtheid van koper op de PCB: https://www.4pcb.com/trace-width-calculator. html

Stap 8: PCB-ontwerp: bodemrouting

PCB-ontwerp: bodemrouting
PCB-ontwerp: bodemrouting
PCB-ontwerp: bodemrouting
PCB-ontwerp: bodemrouting
PCB-ontwerp: bodemrouting
PCB-ontwerp: bodemrouting

Op het onderste vlak maken we de ontbrekende verbindingen en in de overtollige ruimte plaatsen we grond- en stroomvlakken, we kunnen opmerken dat er verschillende via's zijn geplaatst die de grondvlakken van beide zijden verbinden, dit is om aardlussen te voorkomen.

Aardlussen zijn 2 punten die theoretisch hetzelfde potentieel zouden moeten hebben, maar dat zijn ze echt niet vanwege de weerstand van het geleidende materiaal.

De sporen van de relaiscontacten naar de klemmen werden ook blootgelegd om te worden versterkt met soldeer en bestand te zijn tegen een hogere stroombelasting zonder oververhitting en verbranding.

Stap 9: Gerber-bestanden en de PCB's bestellen

Gerber-bestanden en de printplaten bestellen
Gerber-bestanden en de printplaten bestellen
Gerber-bestanden en de printplaten bestellen
Gerber-bestanden en de printplaten bestellen
Gerber-bestanden en de printplaten bestellen
Gerber-bestanden en de printplaten bestellen
Gerber-bestanden en de printplaten bestellen
Gerber-bestanden en de printplaten bestellen

Gerber-bestanden worden door de printplaatindustrie gebruikt om PCB's te vervaardigen, ze bevatten alle informatie die nodig is voor de vervaardiging ervan, zoals koperlagen, soldeermasker, zeefdruk, enz.

Het exporteren van Gerber-bestanden vanuit Eagle is heel eenvoudig met behulp van de "Generate CAM Data"-optie, de CAM-processor genereert een.zip-bestand dat 10 bestanden bevat die overeenkomen met de volgende PCB-lagen:

  1. Bodem Koper
  2. Bodem zeefdruk
  3. Bodemsoldeerpasta
  4. Bodem Soldeermasker
  5. Molenlaag
  6. Bovenste koper
  7. Top Zeefdruk
  8. Top soldeerpasta
  9. Top Soldeermasker
  10. Boorbestand

Dit is het moment om van onze Gerber-bestanden een echte PCB te maken. Upload mijn Gerber-bestanden in JLCPCB om mijn PCB te maken. Hun service is vrij snel. Ik ontving mijn PCB in Mexico in 10 dagen.

Stap 10: De printplaat monteren

De printplaat monteren
De printplaat monteren
De printplaat monteren
De printplaat monteren
De printplaat monteren
De printplaat monteren

Nu we de PCB's hebben, zijn we klaar voor de montage van het bord, hiervoor hebben we het soldeerstation, soldeer, flux, pincet en gaas nodig om te desolderen.

We zullen beginnen met het solderen van alle weerstanden op hun respectievelijke plaatsen, we plaatsen een kleine hoeveelheid soldeer op een van de twee pads, we solderen de terminal van de weerstand en we gaan verder met het solderen van de resterende terminal, we zullen dit in elk herhalen van de weerstanden.

Op dezelfde manier zullen we doorgaan met de condensatoren en LED's, we moeten voorzichtig zijn met de laatste omdat ze een klein groen merkteken hebben dat de kathode aangeeft.

We gaan over tot het solderen van de diodes, transistors, spanningsregelaar en drukknop. Het respecteert de polariteitsmarkeringen van de diodes die de zeefdruk laat zien, wees ook voorzichtig bij het solderen van de transistors, te veel verhitten kan ze beschadigen.

Nu zullen we de wifi-module plaatsen, eerst zullen we een pin solderen en ervoor zorgen dat deze perfect is uitgelijnd, om dit te bereiken, zullen we alle resterende pins solderen.

Het blijft alleen om alle Through-Hole-componenten te lassen, ze zijn het eenvoudigst omdat ze groter zijn, zorg er gewoon voor dat u een schone las maakt met een glanzend uiterlijk.

Als extra stap zullen we de blootgestelde sporen van de relais versterken met tin, zoals ik eerder al zei, dit zal de baan helpen om meer stroom te weerstaan zonder te verbranden.

Stap 11: Software

Software
Software

Voor het programmeren heb ik de Arduino fauxmoesp-bibliotheek geïnstalleerd, met deze bibliotheek kun je Phillips Hue-lampen emuleren, hoewel je ook het helderheidsniveau kunt regelen, werkt dit bord alleen als een aan / uit-schakelaar.

Ik laat je de link zodat je de bibliotheek kunt downloaden en installeren:

Gebruik een voorbeeldcode uit deze bibliotheek en breng de nodige wijzigingen aan voor de werking van het apparaat, ik laat de Arduino-code voor u om te downloaden en te testen.

Stap 12: Conclusie

Zodra het apparaat is gemonteerd en geprogrammeerd, gaan we verder met het testen van de functionaliteit, we hoeven alleen een voedingskabel in het bovenste klemmenbord te plaatsen en deze aan te sluiten op een stopcontact dat 100-240VAC levert, de rode LED (ON) licht op, zoekt het netwerk van internet en maakt verbinding.

we gaan naar onze Alexa-applicatie en vragen je om naar nieuwe apparaten te zoeken, dit proces duurt ongeveer 45 seconden. Als alles correct is, zou je 4 nieuwe apparaten moeten zien, één voor elk relais op het bord.

Nu blijft het alleen nog om Alexa te vertellen de apparaten aan en uit te zetten, deze test wordt getoond in de video.

Klaar!!! Nu kunt u met uw persoonlijke assistent het apparaat in- en uitschakelen dat u wilt.

Aanbevolen: