Inhaltsverzeichnis:

Voice Home Control V1.0 - Gunook
Voice Home Control V1.0 - Gunook

Video: Voice Home Control V1.0 - Gunook

Video: Voice Home Control V1.0 - Gunook
Video: Arduino Tutorial - Control LED by voice (via Bluetooth) 2024, Juli
Anonim
Voice Home Control V1.0
Voice Home Control V1.0

Vor einigen Monaten habe ich mir einen persönlichen Assistenten angeschafft, genauer gesagt einen Echo Dot mit Alexa. Ich habe mich dafür entschieden, weil ich entdeckt habe, dass man auf einfache Weise Plugins hinzufügen kann, um das Gerät wie Lichter, Lüfter usw. warum machst du es nicht selbst?

Mit dieser Idee im Hinterkopf begann ich, eine Platine mit Wi-Fi-Verbindung und 4 Ausgangsrelais zu entwerfen. Im Folgenden beschreibe ich das Design Schritt für Schritt vom Schaltplan, PCB-Design, Programmierung und Test bis hin zum erfolgreichen Betrieb.

MERKMALE

  1. WLAN-Netzwerkverbindung
  2. 100 / 240VAC Eingangsspannung
  3. 4 Ausgangsrelais (maximal 10A)
  4. Betriebsanzeige-LED
  5. 4 LED´s Betriebsanzeige des Relais
  6. Programmierkopf
  7. Reset-Knopf

Schritt 1: Komponenten und Werkzeuge

Komponenten und Werkzeuge
Komponenten und Werkzeuge
Komponenten und Werkzeuge
Komponenten und Werkzeuge
Komponenten und Werkzeuge
Komponenten und Werkzeuge

Komponenten

  1. 3 Widerstände 0805 von 1k Ohm
  2. 5 Widerstände 0805 von 220 Ohm
  3. 2 Widerstände 0805 von 10k Ohm
  4. 1 Widerstand 0805 von 4,7 kOhm
  5. 2 Kondensatoren 0805 von 0.1uf
  6. 2 Kondensatoren 0805 von 10uf
  7. 4 Dioden ES1B oder ähnliches von 100 V 1 A SMA-Gehäuse
  8. 1 Spannungsregler AMS1117-3.3
  9. 4 grüne LED´s 0805
  10. 1 rote LED 0805
  11. 4 Transistoren NPN MMBT2222A oder ähnliches SOT23-Gehäuse
  12. 1 ESP 12-E WLAN-Modul
  13. 1 Netzteil HLK-PM01
  14. 1 Schalter taktiles SMD
  15. 1 Stiftleiste mit 6 Positionen
  16. 5 Klemmenblock mit 2 Positionen 5,08 mm Rastermaß
  17. 4 Relais von 5VDC

Werkzeuge

  1. Lötstation oder Lötstation von 25-30 Watt
  2. Bleilot
  3. Fluss
  4. Pinzette
  5. Entlötdocht

Schritt 2: Netzteil und Spannungsregler

Netzteil und Spannungsregler
Netzteil und Spannungsregler
Netzteil und Spannungsregler
Netzteil und Spannungsregler

Für den Betrieb der Schaltung werden 2 Spannungen benötigt, eine von 3,3 VDC für den Steuerteil und eine andere von 5 VDC für den Leistungsteil, da die Platine alles Notwendige für den Betrieb hat, verwenden Sie eine geschaltete Quelle, die direkt versorgt 5 V und wird mit Netzspannung betrieben, ist unerlässlich, dies erspart uns die Notwendigkeit eines externen Netzteils und wir müssen nur einen 3,3 V-Linearregler (LDO) hinzufügen.

Vor diesem Hintergrund habe ich als Quelle den Hi-Link HLK-PM01 gewählt, der eine Eingangsspannung von 100-240VAC bei 0,1A und einen Ausgang von 5VDC bei 0,6A hat, gefolgt von dem weit verbreiteten AMS1117-3,3 Regler bereits, der sehr verbreitet und daher leicht erhältlich ist.

Im Datenblatt des AMS1117 finden Sie die Werte für die Eingangs- und Ausgangskondensatoren, dies sind 0.1uf und 10uf für den Eingang und ein weiterer gleicher Abschnitt für den Ausgang. Zuletzt habe ich noch eine Power-Anzeige-LED mit ihrem jeweiligen Grenzwiderstand platziert, der sich einfach nach dem Ohmschen Gesetz berechnen lässt:

R = 5V-Vled / Iled

R = 5 - 2 / 0,015 = 200

Der Strom von 15mA in der LED ist so, dass sie nicht so hell leuchtet und ihre Lebensdauer verlängert.

Schritt 3: Kontrollabschnitt

Kontrollabschnitt
Kontrollabschnitt
Kontrollabschnitt
Kontrollabschnitt

Für diesen Abschnitt habe ich ein ESP-12-E Wi-Fi-Modul ausgewählt, da es klein, günstig und sehr einfach mit der Arduino IDE zu verwenden ist. Da das Modul über alles Notwendige für seinen Betrieb verfügt, ist die externe Hardware, die für das Funktionieren des ESP erforderlich ist, minimal.

Zu beachten ist, dass einige GPIOs des Moduls nicht empfohlen werden und andere spezifische Funktionen haben. Als nächstes zeige ich eine Tabelle über die Pins und welche Funktionen sie erfüllen:

GPIO ---------- Eingang ------ Ausgang ---------------------- ---Anmerkungen

GPIO16 ------kein Interrupt ------keine PWM- oder I2C-Unterstützung --- Hoch beim Booten verwendet, um aus dem Tiefschlaf aufzuwachen

GPIO5-------OK------------------OK--------------oft als SCL verwendet (I2C)

GPIO4-------OK------------------OK--------------oft als SDA (I2C)

GPIO0-------hochgezogen----------OK---------------Low in den FLASH-Modus, Boot schlägt fehl, wenn Low gezogen wird

GPIO2-------hochgezogen----------OK--------------Boot schlägt fehl, wenn gezogen Low

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

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

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

GPIO15 ------ auf GND gezogen ---- OK -------------- SPI (CS) Boot schlägt fehl, wenn High gezogen wird

GPIO3-------OK------------------RX-Pin----------High beim Booten

GPIO1-------TX-Pin--------------OK--------------High beim Booten, Booten schlägt fehl, wenn auf low gezogen

ADC0--------Analoger Eingang-----X

Die obigen Informationen wurden unter folgendem Link gefunden:

Basierend auf den obigen Daten habe ich die Pins 5, 4, 12 und 14 als digitale Ausgänge gewählt, die jedes der Relais aktivieren. Diese sind am stabilsten und sichersten für die Aktivierung.

Schließlich fügte ich hinzu, was für die Programmierung erforderlich ist, eine Reset-Taste an diesem Pin, einen mit der Stromversorgung verbundenen Widerstand am Enable-Pin, einen Widerstand gegen Masse am GPIO15, einen Header, der verwendet wird, um ein FTDI mit den TX-, RX-Pins und zu verbinden Erden Sie den GPIO0, um das Modul in den Flash-Modus zu versetzen.

Schritt 4: Leistungsteil

Leistungsteil
Leistungsteil
Leistungsteil
Leistungsteil

In diesem Abschnitt wird darauf geachtet, dass der Ausgang von 3,3 VDC an den GPIO-Ports verwendet wird, um ein Relais zu aktivieren. Die Relais benötigen mehr Leistung als ein ESP-Pin, daher ist ein Transistor erforderlich, um sie zu aktivieren, in diesem Fall verwenden wir den MMBT2222A.

Wir müssen den Strom berücksichtigen, der durch den Kollektor (Ic) fließt. Mit diesen Daten können wir den Widerstand berechnen, der an der Basis des Transistors platziert wird. In diesem Fall ist Ic die Summe des Stroms, der durch die Relaisspule fließt, und des Stroms der LED, die die Zündung anzeigt:

Ic = Relais + Iled

Ic = 75mA + 15mA = 90mA

Da wir den Strom Ic haben, können wir den Basiswiderstand des Transistors (Rb) berechnen, aber wir benötigen ein zusätzliches Datenpaar, die Verstärkung des Transistors (hFE), die im Fall des MMBT2222A einen Wert von 40 hat (die Verstärkung ist dimensionslos, hat also keine Maßeinheiten) und das Sperrpotential (VL), das bei Siliziumtransistoren einen Wert von 0,7 V hat. Damit können wir Rb mit der folgenden Formel berechnen:

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

Rb = [(3,3 - 0,7) (40)] / 0,09 = 1155,55 Ohm

Basierend auf der obigen Berechnung habe ich einen Widerstand von 1kOhm gewählt.

Schließlich wurde eine Diode parallel zur Relaisspule angeordnet, wobei die Kathode Vcc zugewandt war. Die ES1B-Diode verhindert eine umgekehrte FEM (FEM oder Reverse Electromotive Force ist die Spannung, die auftritt, wenn der Strom durch eine Spule variiert)

Schritt 5: PCB-Design: Schaltplan und Komponentenorganisation

PCB-Design: Schaltplan und Komponentenorganisation
PCB-Design: Schaltplan und Komponentenorganisation
PCB-Design: Schaltplan und Komponentenorganisation
PCB-Design: Schaltplan und Komponentenorganisation

Für die Ausarbeitung des Schaltplans und der Karte habe ich die Eagle-Software verwendet.

Es beginnt mit der Erstellung des Schaltplans der Platine, es muss jeden zuvor erklärten Teil der Schaltung erfassen, es beginnt mit dem Platzieren des Symbols jeder Komponente, die es integriert, dann werden die Verbindungen zwischen den einzelnen Komponenten hergestellt, es muss darauf geachtet werden, dass keine Verbindung hergestellt wird fälschlicherweise wird sich dieser Fehler im Schaltungsdesign widerspiegeln und eine Fehlfunktion verursachen. Schließlich werden die Werte jeder Komponente entsprechend den Berechnungen in den vorherigen Schritten angezeigt.

Jetzt können wir mit dem Design der Karte fortfahren. Das erste, was wir tun müssen, ist die Komponenten so zu organisieren, dass sie möglichst wenig Platz einnehmen, dies senkt die Herstellungskosten. Persönlich organisiere ich die Komponenten gerne so, dass ein symmetrisches Design geschätzt wird, diese Praxis hilft mir beim Routing, macht es einfacher und stilvoller.

Es ist wichtig, bei der Unterbringung der Komponenten und der Route einem Raster zu folgen, in meinem Fall habe ich ein 25-mil-Raster verwendet, nach IPC-Regel müssen die Komponenten einen Abstand zwischen sich haben, im Allgemeinen beträgt dieser Abstand auch 25 mil.

Schritt 6: PCB-Design: Kanten und Befestigungslöcher

PCB-Design: Kanten und Montagelöcher
PCB-Design: Kanten und Montagelöcher
PCB-Design: Kanten und Montagelöcher
PCB-Design: Kanten und Montagelöcher

Nachdem alle Komponenten an Ort und Stelle sind, können wir die Leiterplatte mit der "20 Dimension" -Schicht abgrenzen, den Umfang der Platine zeichnen und sicherstellen, dass sich alle Komponenten darin befinden.

Als Besonderheit ist zu erwähnen, dass das WLAN-Modul eine in die Platine integrierte Antenne hat, um den Empfang des Signals nicht zu dämpfen, habe ich knapp unterhalb des Bereichs, in dem sich die Antenne befindet, einen Schnitt gemacht.

Auf der anderen Seite werden wir mit Wechselstrom arbeiten, dieser hat je nach Land, in dem Sie sich befinden, eine Frequenz von 50 bis 60 Hz. Diese Frequenz kann in digitalen Signalen Rauschen erzeugen, daher ist es gut, die Abschnitte zu isolieren, die damit umgehen Wechselstrom aus dem Digitalteil, dies geschieht durch Einschneiden der Karte in der Nähe der Bereiche, durch die der Wechselstrom zirkuliert. Das oben Genannte hilft auch, einen Kurzschluss auf der Platine zu vermeiden.

Schließlich werden in den 4 Ecken der Platine Montagelöcher angebracht, damit die Platzierung in einem Schrank einfach und schnell ist.

Schritt 7: PCB-Design: Top Routing

PCB-Design: Top-Routing
PCB-Design: Top-Routing

Wir beginnen mit dem lustigen Teil, dem Routing, darin, die Verbindungen zwischen den Komponenten unter Berücksichtigung bestimmter Überlegungen wie Spurbreite und Drehwinkel herzustellen. Im Allgemeinen stelle ich zuerst die Verbindungen her, die nicht Strom und Masse sind, da ich letztere mit Plänen mache.

Parallele Masse- und Stromebenen sind aufgrund ihrer kapazitiven Impedanz äußerst nützlich, um Rauschen an der Stromquelle zu dämpfen und sollten über einen möglichst großen Bereich der Platine verteilt werden. Sie helfen uns auch, elektromagnetische Strahlung (EMI) zu reduzieren.

Bei den Bahnen müssen wir aufpassen, dass keine Kurven mit 90°-Winkel erzeugt werden, weder zu breit noch zu dünn. Online finden Sie Tools, die uns helfen, die Breite der Leiterbahnen unter Berücksichtigung der Temperatur, des zirkulierenden Stroms und der Kupferdichte auf der Leiterplatte zu berechnen: https://www.4pcb.com/trace-width-calculator. html

Schritt 8: PCB-Design: Bottom Routing

PCB-Design: Unteres Routing
PCB-Design: Unteres Routing
PCB-Design: Unteres Routing
PCB-Design: Unteres Routing
PCB-Design: Unteres Routing
PCB-Design: Unteres Routing

Auf der Unterseite stellen wir die fehlenden Verbindungen her und in dem überschüssigen Platz, den wir Masse- und Stromebenen platzieren, können wir feststellen, dass mehrere Durchkontaktierungen platziert wurden, die die Masseebenen beider Seiten verbinden. Diese Praxis dient dazu, Masseschleifen zu vermeiden.

Erdschleifen sind 2 Punkte, die theoretisch das gleiche Potenzial haben müssten, aber aufgrund des Widerstands des leitfähigen Materials nicht wirklich.

Auch die Leiterbahnen von den Relaiskontakten zu den Klemmen wurden freigelegt, um mit Lot verstärkt zu werden und einer höheren Strombelastung ohne Überhitzung und Verbrennung standzuhalten.

Schritt 9: Gerber-Dateien und Bestellung der Leiterplatten

Gerber-Dateien und Bestellung der Leiterplatten
Gerber-Dateien und Bestellung der Leiterplatten
Gerber-Dateien und Bestellung der Leiterplatten
Gerber-Dateien und Bestellung der Leiterplatten
Gerber-Dateien und Bestellung der Leiterplatten
Gerber-Dateien und Bestellung der Leiterplatten
Gerber-Dateien und Bestellung der Leiterplatten
Gerber-Dateien und Bestellung der Leiterplatten

Gerberdateien werden von der Leiterplattenindustrie zur Herstellung von Leiterplatten verwendet, sie enthalten alle für deren Herstellung notwendigen Informationen wie Kupferschichten, Lötstopplack, Siebdruck etc.

Der Export von Gerber-Dateien aus Eagle ist mit der Option "CAM-Daten generieren" sehr einfach. Der CAM-Prozessor generiert eine.zip-Datei, die 10 Dateien enthält, die den folgenden PCB-Schichten entsprechen:

  1. Unterseite Kupfer
  2. Unterer Siebdruck
  3. Untere Lötpaste
  4. Unterseite Lötstoppmaske
  5. Schicht fräsen
  6. Oberes Kupfer
  7. Top-Siebdruck
  8. Top Lotpaste
  9. Top Lötstopplack
  10. Bohrdatei

Jetzt ist es an der Zeit, unsere Gerber-Dateien in eine echte Leiterplatte zu verwandeln. Laden Sie meine Gerber-Dateien in JLCPCB hoch, um meine Leiterplatte herzustellen. Ihr Service ist ziemlich schnell. Ich habe mein PCB in Mexiko in 10 Tagen erhalten.

Schritt 10: Zusammenbau der Platine

Montage der Platine
Montage der Platine
Montage der Platine
Montage der Platine
Montage der Platine
Montage der Platine

Nun, da wir die Leiterplatten haben, sind wir bereit für die Bestückung der Platine, dazu benötigen wir die Lötstation, Lötmittel, Flussmittel, Pinzette und Netz zum Entlöten.

Wir beginnen damit, alle Widerstände an ihren jeweiligen Stellen zu löten, wir platzieren eine kleine Menge Lötzinn auf einem der beiden Pads, wir löten den Anschluss des Widerstands und fahren fort, den verbleibenden Anschluss zu löten, wir werden dies in jedem wiederholen der Widerstände.

Ebenso werden wir mit den Kondensatoren und LEDs fortfahren, bei letzteren müssen wir vorsichtig sein, da sie eine kleine grüne Markierung haben, die die Kathode anzeigt.

Wir werden mit dem Löten der Dioden, Transistoren, des Spannungsreglers und des Druckknopfes fortfahren. Es respektiert die Polaritätsmarkierungen der Dioden, die auf dem Siebdruck angezeigt werden. Seien Sie auch beim Löten der Transistoren vorsichtig, zu starkes Erhitzen kann sie beschädigen.

Jetzt platzieren wir das Wi-Fi-Modul, zuerst löten wir einen Pin und achten darauf, dass er perfekt ausgerichtet ist. Um dies zu erreichen, werden wir alle restlichen Pins verlöten.

Es müssen nur noch alle Through-Hole-Komponenten geschweißt werden. Sie sind am einfachsten, da sie größer sind.

Als zusätzlichen Schritt werden wir, wie bereits erwähnt, die freigelegten Gleise der Relais mit Zinn verstärken, damit die Gleise mehr Strom aushalten, ohne zu brennen.

Schritt 11: Software

Software
Software

Zur Programmierung habe ich die Arduino fauxmoesp Bibliothek installiert, mit dieser Bibliothek kann man Phillips Hue Lichter emulieren, man kann aber auch die Helligkeit regeln, dieses Board funktioniert nur als Ein/Aus Schalter.

Ich hinterlasse Ihnen den Link, damit Sie die Bibliothek herunterladen und installieren können:

Verwenden Sie einen Beispielcode aus dieser Bibliothek und nehmen Sie die notwendigen Änderungen für den Betrieb des Geräts vor, ich überlasse Ihnen den Arduino-Code zum Herunterladen und Testen.

Schritt 12: Fazit

Sobald das Gerät zusammengebaut und programmiert ist, testen wir seine Funktionsfähigkeit, wir müssen nur ein Stromkabel in die obere Klemmleiste legen und es an eine Steckdose anschließen, die 100-240VAC liefert, die rote LED (ON) leuchtet, sucht nach dem Internet-Netzwerk und wird eine Verbindung herstellen.

Wir rufen unsere Alexa-Anwendung auf und bitten Sie, nach neuen Geräten zu suchen. Dieser Vorgang dauert etwa 45 Sekunden. Wenn alles korrekt ist, sollten Sie 4 neue Geräte sehen, eines für jedes Relais auf der Platine.

Jetzt muss nur noch Alexa gesagt werden, dass sie die Geräte ein- und ausschalten soll, dieser Test wird im Video gezeigt.

Bereit!!! Jetzt können Sie mit Ihrem persönlichen Assistenten das gewünschte Gerät ein- und ausschalten.

Empfohlen: