Sommario:

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

Video: Voice Home Control V1.0: 12 passaggi

Video: Voice Home Control V1.0: 12 passaggi
Video: How to set up Voice Assistants / What's New in Home Assistant May 2023.5? Voice, Voice, and Voice! 2024, Novembre
Anonim
Controllo vocale della casa V1.0
Controllo vocale della casa V1.0

Alcuni mesi fa ho acquisito un assistente personale, nello specifico un Echo Dot dotato di Alexa. L'ho scelto perché ho scoperto che in modo semplice si possono aggiungere plugin per controllare lo spegnimento e l'accensione del dispositivo come luci, ventole, ecc. Nei negozi online ho visto un gran numero di dispositivi che assolvono a questa funzione, ed è allora che ho pensato…. perché non crearne uno tuo?

Con questa idea in mente, ho iniziato a progettare una scheda con connessione Wi-Fi e 4 relè di uscita. Di seguito descriverò la progettazione passo dopo passo dal diagramma schematico, progettazione PCB, programmazione e test che culminano in un funzionamento riuscito.

CARATTERISTICHE

  1. Connessione di rete Wi-Fi
  2. Tensione di ingresso 100/240 V CA
  3. 4 Relè di uscita (Massimo 10A)
  4. LED indicatore di alimentazione
  5. Indicatore di alimentazione a 4 LED del relè
  6. Intestazione di programmazione
  7. Tasto reset

Passaggio 1: componenti e strumenti

Componenti e strumenti
Componenti e strumenti
Componenti e strumenti
Componenti e strumenti
Componenti e strumenti
Componenti e strumenti

Componenti

  1. 3 Resistenze 0805 da 1k ohm
  2. 5 Resistenze 0805 da 220 ohm
  3. 2 resistori 0805 da 10k ohm
  4. 1 Resistenza 0805 da 4,7k ohm
  5. 2 Condensatori 0805 di 0.1uf
  6. 2 Condensatori 0805 da 10uf
  7. 4 diodi ES1B o simili del pacchetto SMA 100v 1A
  8. 1 Regolatore di tensione AMS1117-3.3
  9. 4 LED verdi 0805
  10. 1 LED rosso 0805
  11. 4 transistor NPN MMBT2222A o pacchetto SOT23 simile
  12. 1 modulo Wi-Fi ESP 12-E
  13. 1 alimentatore HLK-PM01
  14. 1 Interruttore tattile SMD
  15. 1 Pin header di 6 posizioni
  16. 5 Morsettiera a 2 posizioni passo 5,08 mm
  17. 4 Relè da 5VDC

Utensili

  1. Stazione di saldatura o cautina di 25-30 Watt
  2. saldatura al piombo
  3. Flusso
  4. pinzette
  5. Stoppino dissaldante

Passaggio 2: alimentatore e regolatore di tensione

Alimentazione e regolatore di tensione
Alimentazione e regolatore di tensione
Alimentazione e regolatore di tensione
Alimentazione e regolatore di tensione

Per il funzionamento del circuito sono necessarie 2 tensioni, una di 3,3 VDC per la sezione di controllo, e un'altra di 5 VDC per la sezione di potenza, in quanto l'idea è che la scheda abbia tutto il necessario per il funzionamento, utilizzare una sorgente commutata che alimenta direttamente 5v ed è alimentato dalla tensione di linea è essenziale, questo ci evita di aver bisogno di un adattatore di alimentazione esterno e abbiamo solo bisogno di aggiungere un regolatore lineare da 3,3v (LDO).

Tenendo presente quanto sopra, come sorgente ho selezionato l'Hi-Link HLK-PM01 che ha una tensione di ingresso di 100-240 V CA a 0,1 A e un'uscita di 5 V CC a 0,6 A, seguito da questo, ho posizionato il diffuso AMS1117-3.3 regolatore già molto diffuso e quindi facilmente reperibile.

Consultando la scheda tecnica dell'AMS1117 troverete i valori per i condensatori di ingresso e di uscita, questi sono 0.1uf e 10uf per l'ingresso e un'altra sezione uguale per l'uscita. Infine ho posizionato un LED indicatore di alimentazione con la rispettiva resistenza limite, facilmente calcolabile applicando la legge di ohm:

R = 5V-Vled / Iled

R = 5 - 2 / 0,015 = 200

La corrente di 15mA nel led è tale che non brilli così intensamente e allunghi la sua durata.

Passaggio 3: sezione di controllo

Sezione di controllo
Sezione di controllo
Sezione di controllo
Sezione di controllo

Per questa sezione ho selezionato un modulo Wi-Fi ESP-12-E perché è piccolo, economico e molto semplice da usare con l'IDE Arduino. Poiché il modulo dispone di tutto il necessario per il suo funzionamento, l'hardware esterno necessario per il funzionamento dell'ESP è minimo.

Qualcosa da tenere a mente è che alcuni GPIO del modulo non sono consigliati per l'uso e altri hanno funzioni specifiche, successivamente mostrerò una tabella sui pin e quali funzioni svolgono:

GPIO---------Ingresso----------------Uscita-------- ---Appunti

GPIO16------nessun interrupt------nessun supporto PWM o I2C---Alto all'avvio utilizzato per svegliarsi dal sonno profondo

GPIO5-------OK-----OK---------------spesso usato come SCL (I2C)

GPIO4-------OK-----OK---------------spesso usato come SDA (I2C)

GPIO0-------tirato su----------OK--------------- Modalità FLASH bassa, l'avvio non riesce se tirato in basso

GPIO2-------tirato su-----------OK--------------- l'avvio non riesce se tirato in basso

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

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

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

GPIO15-----tirato a GND----OK--------------- L'avvio SPI (CS) non riesce se tirato in alto

GPIO3-------OK----Perno RX----------Alto all'avvio

GPIO1-------pin TX--------------OK--------------- Alto all'avvio, l'avvio fallisce se tirato in basso

ADC0--------Ingresso analogico-----X

Le informazioni di cui sopra sono state trovate al seguente link:

Sulla base dei dati di cui sopra, ho scelto i pin 5, 4, 12 e 14 come uscite digitali che attiveranno ciascuno dei relè, questi sono i più stabili e sicuri per l'attivazione.

Infine ho aggiunto quanto necessario per la programmazione, un pulsante di reset su quel pin, una resistenza collegata all'alimentazione sul pin di abilitazione, una resistenza a massa sul GPIO15, un header che serve per collegare un FTDI ai pin TX, RX e mettere a terra il GPIO0 per mettere il modulo in modalità Flash.

Passaggio 4: sezione di alimentazione

Sezione Potenza
Sezione Potenza
Sezione Potenza
Sezione Potenza

Questa sezione si occuperà di utilizzare l'uscita 3.3VDC sulle porte GPIO per attivare un relè. I relè necessitano di più potenza di quella fornita da un pin ESP, quindi è necessario un transistor per attivarlo, in questo caso utilizziamo l'MMBT2222A.

Dobbiamo tenere conto della corrente che passerà attraverso il collettore (Ic), con questo dato possiamo calcolare la resistenza che verrà posta alla base del transistor. In questo caso, Ic sarà la somma della corrente che passa attraverso la bobina del relè e la corrente del LED che indica l'accensione:

Ic = Irelè + Iled

Ic = 75mA + 15mA = 90mA

Avendo la corrente Ic possiamo calcolare la resistenza di base del transistor (Rb) ma abbiamo bisogno di una coppia di dati in più, il guadagno del transistor (hFE), che nel caso dell'MMBT2222A ha un valore di 40 (il guadagno è adimensionale, quindi non ha unità di misura) e il potenziale di barriera (VL) che nei transistori al silicio ha un valore di 0.7v. Con quanto sopra possiamo procedere al calcolo di Rb con la seguente formula:

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

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

Sulla base del calcolo sopra, ho scelto una resistenza di 1kohm.

Infine, è stato posizionato un diodo parallelo alla bobina del relè con il catodo rivolto verso Vcc. Il diodo ES1B impedisce il FEM inverso (FEM, o forza elettromotrice inversa è la tensione che si verifica quando la corrente attraverso una bobina varia)

Passaggio 5: progettazione PCB: organizzazione schematica e dei componenti

Progettazione PCB: organizzazione schematica e dei componenti
Progettazione PCB: organizzazione schematica e dei componenti
Progettazione PCB: organizzazione schematica e dei componenti
Progettazione PCB: organizzazione schematica e dei componenti

Per l'elaborazione dello schema e della scheda ho utilizzato il software Eagle.

Si inizia realizzando lo schema del PCB, si deve catturare ogni parte del circuito spiegata in precedenza, si inizia posizionando il simbolo di ogni componente che lo integra, poi si fanno i collegamenti tra ogni componente, bisogna fare attenzione a non connettere erroneamente, questo errore si rifletterà nella progettazione del circuito causando un malfunzionamento. Infine verranno indicati i valori di ogni componente secondo quanto calcolato nei passaggi precedenti.

Ora possiamo continuare con la progettazione della scheda, la prima cosa che dobbiamo fare è organizzare i componenti in modo che occupino il minor spazio possibile, questo ridurrà il costo di produzione. Personalmente, mi piace organizzare i componenti in modo tale che sia apprezzato un design simmetrico, questa pratica mi aiuta durante il routing, lo rende più facile e più elegante.

È importante seguire una griglia quando si sistemano i componenti e il percorso, nel mio caso ho usato una griglia da 25mil, per regola IPC, i componenti devono avere una separazione tra loro, generalmente anche questa separazione è di 25mil.

Passaggio 6: progettazione PCB: bordi e fori di montaggio

Progettazione PCB: bordi e fori di montaggio
Progettazione PCB: bordi e fori di montaggio
Progettazione PCB: bordi e fori di montaggio
Progettazione PCB: bordi e fori di montaggio

Avendo tutti i componenti a posto, possiamo delimitare il PCB, utilizzando il layer "20 Dimension", viene disegnato il perimetro della scheda, assicurandoci che tutti i componenti siano al suo interno.

Come considerazioni particolari, vale la pena ricordare che il modulo Wi-Fi ha un'antenna integrata nel PCB, per evitare di attenuare la ricezione del segnale, ho fatto un taglio appena sotto la zona in cui si trova l'antenna.

D'altra parte, lavoreremo con corrente alternata, questa ha una frequenza da 50 a 60Hz a seconda del paese in cui ti trovi, questa frequenza può generare rumore nei segnali digitali, quindi è bene isolare le sezioni che gestiscono corrente alternata proveniente dalla parte digitale, ciò avviene praticando dei tagli nella scheda in prossimità delle zone in cui circolerà la corrente alternata. Quanto sopra aiuta anche a evitare qualsiasi cortocircuito sul PCB.

Infine, i fori di montaggio sono posizionati nei 4 angoli del PCB in modo che, se si desidera posizionarlo in un armadio, il posizionamento sia facile e veloce.

Passaggio 7: progettazione PCB: routing superiore

Progettazione PCB: routing superiore
Progettazione PCB: routing superiore

Iniziamo la parte divertente, il routing, è fare i collegamenti tra i componenti seguendo alcune considerazioni come la larghezza della carreggiata e gli angoli di sterzata. Generalmente faccio prima i collegamenti che non sono alimentazione e terra, poiché quest'ultimi li faccio con piani.

I piani di massa e di alimentazione paralleli sono estremamente utili per attenuare il rumore alla fonte di alimentazione a causa della sua impedenza capacitiva e dovrebbero essere distribuiti sull'area più ampia possibile della scheda. Ci aiutano anche a ridurre le radiazioni elettromagnetiche (EMI).

Per le piste bisogna fare attenzione a non generare curve con angoli di 90°, né troppo larghe né troppo sottili. Online puoi trovare strumenti che ci aiutano a calcolare la larghezza delle piste tenendo conto della temperatura, della corrente che circolerà e della densità del rame sul PCB: https://www.4pcb.com/trace-width-calculator. html

Passaggio 8: Progettazione PCB: Instradamento inferiore

Progettazione PCB: Instradamento inferiore
Progettazione PCB: Instradamento inferiore
Progettazione PCB: Instradamento inferiore
Progettazione PCB: Instradamento inferiore
Progettazione PCB: Instradamento inferiore
Progettazione PCB: Instradamento inferiore

Sulla faccia inferiore effettuiamo le connessioni mancanti e nello spazio in eccesso mettiamo i piani di massa e di potenza, possiamo notare che sono state posizionate diverse vie che collegano i piani di massa di entrambe le facce, questa pratica è per evitare loop di massa.

I loop di massa sono 2 punti che teoricamente dovrebbero avere lo stesso potenziale, ma in realtà non lo sono a causa della resistenza del materiale conduttivo.

Anche le tracce dai contatti del relè ai terminali sono state esposte, in modo da essere rinforzate con saldatura e resistere a un carico di corrente più elevato senza surriscaldarsi e bruciarsi.

Passaggio 9: file Gerber e ordinazione dei PCB

File Gerber e ordinazione dei PCB
File Gerber e ordinazione dei PCB
File Gerber e ordinazione dei PCB
File Gerber e ordinazione dei PCB
File Gerber e ordinazione dei PCB
File Gerber e ordinazione dei PCB
File Gerber e ordinazione dei PCB
File Gerber e ordinazione dei PCB

I file Gerber vengono utilizzati dall'industria dei circuiti stampati per produrre PCB, contengono tutte le informazioni necessarie per la loro fabbricazione, come strati di rame, maschera di saldatura, serigrafia, ecc.

Esportare file Gerber da Eagle è molto semplice utilizzando l'opzione "Genera dati CAM", il processore CAM genera un file.zip che contiene 10 file corrispondenti ai seguenti livelli PCB:

  1. Rame inferiore
  2. Serigrafia inferiore
  3. Pasta saldante inferiore
  4. Soldermask inferiore
  5. Strato mulino
  6. Top rame
  7. Serigrafia superiore
  8. Pasta saldante superiore
  9. Top Soldermask
  10. File trapano

Ora è il momento di trasformare i nostri file Gerber in un vero PCB. Carica i miei file Gerber in JLCPCB per produrre il mio PCB. Il loro servizio è abbastanza veloce. Ho ricevuto il mio PCB in Messico in 10 giorni.

Passaggio 10: assemblaggio del PCB

Assemblaggio del PCB
Assemblaggio del PCB
Assemblaggio del PCB
Assemblaggio del PCB
Assemblaggio del PCB
Assemblaggio del PCB

Ora che abbiamo i PCB, siamo pronti per l'assemblaggio della scheda, per questo avremo bisogno della stazione di saldatura, saldatura, flusso, pinzette e mesh per dissaldare.

Inizieremo saldando tutte le resistenze nelle rispettive sedi, posizioniamo una piccola quantità di saldatura su uno dei due pad, saldiamo il terminale della resistenza e procediamo a saldare il terminale rimanente, lo ripeteremo in ciascuno dei resistori.

Allo stesso modo, continueremo con i condensatori e i LED, dobbiamo stare attenti con questi ultimi poiché hanno un piccolo segno verde che indica il catodo.

Procederemo alla saldatura dei diodi, dei transistor, del regolatore di tensione e del pulsante. Rispetta i segni di polarità dei diodi che mostra la serigrafia, inoltre fai attenzione durante la saldatura dei transistor, scaldarli troppo può danneggiarli.

Ora posizioneremo il modulo Wi-Fi, per prima cosa saldare un pin avendo cura che sia perfettamente allineato, realizzando ciò, salderemo tutti i pin rimanenti.

Resta solo da saldare tutti i componenti Through-Hole, sono i più semplici per essere di dimensioni maggiori, basta assicurarsi di fare una saldatura pulita che abbia un aspetto lucido.

Come ulteriore passo, rafforzeremo le piste esposte dei relè con stagno, come ho detto prima, questo aiuterà la pista a sopportare più corrente senza bruciare.

Passaggio 11: software

Software
Software

Per la programmazione ho installato la libreria Arduino fauxmoesp, con questa libreria puoi emulare le luci Phillips Hue, anche se puoi anche controllare il livello di luminosità, questa scheda funzionerà solo come interruttore on/off.

Vi lascio il link così potrete scaricare e installare la libreria:

Usa un codice di esempio da questa libreria e apporta le modifiche necessarie per il funzionamento del dispositivo, ti lascio il codice Arduino da scaricare e testare.

Passaggio 12: Conclusione

Una volta assemblato e programmato il dispositivo, si procederà a testarne la funzionalità, basterà inserire un cavo di alimentazione nella morsettiera superiore e collegarlo ad una presa che fornisca 100-240VAC, il led rosso (ON) si accende, cercherà la rete di internet e si collegherà.

entriamo nella nostra applicazione Alexa e ti chiediamo di cercare nuovi dispositivi, questo processo richiederà circa 45 secondi. Se tutto è corretto, dovresti vedere 4 nuovi dispositivi, uno per ogni relè sulla scheda.

Ora resta solo da dire ad Alexa di accendere e spegnere i dispositivi, questo test è mostrato nel video.

Pronto!!! Ora puoi accendere e spegnere con il tuo assistente personale il dispositivo che desideri.

Consigliato: