Sei sulla pagina 1di 164

P E R I O D I C O D I P R O G E T TA Z I O N E E L E T T R O N I C A • AT T U A L I TÀ S C I E N T I F I C A • N O V I TÀ T E C N O LO G I C H E

w w w . e l e t t r o n i c a i n . i t € 7,50 - Bimestrale, anno XXIX - n. 272 - APRILE / MAGGIO 2023

160 PAGINE

Indicatore prezzi
carburante
Poste italiane Spa - Spedizione in abbonamento Postale: D.L. 353/2003 (conv. in L. 27/02/2004 n°46) art. 1 - comma 1 - DCB Milano. Prima immissione: 04/04/2023.

 Matter, il nuovo protocollo


per la domotica
 Le novità di KiCad 7
 MKR-UNO Arduino carrier board
S
 cheda FTR2040LoRa
 Mini driver LED

Ganimede.E12

 Minion Robot
 IoTicontrollo
SO L E
 Saldare a stagno
CO
R
A G
 Riflettometria nel dominio del tempo E
 Controllo smart per tapparelle
Affidabilità e precisione!
CON
Generatore di forme d’onda TECNOLOGIA

arbitrarie 2 Canali-25 MHz DDS


- Canali: 2
- Lunghezza record: 2 Mpts
- Range frequenza: 25 MHz
- Frequenza di campionamento: 300 MSa/s
- Risoluzione di tensione: 16 Bits
- Uscita forma d’onda standard: sinusoidale, quadra,
triangolare, pulsante, noise, armoniche
- Uscita forma d’onda arbitraria: 160 tipi di forme d’onda
arbitrarie, tra cui: exponential rise, exponential fall, ECG
signal, Gauss, half vector, Lorentz, dual tone μlti-frequency,
DC voltage, etc.
- Noise (3 db): Larghezza di banda 100 MHz
- Onda Arbitraria: 1 μHz ~ 15 MHz Cod. HDG3022B

€ 388
388,,00
- Risoluzione: 1 μHz
- Precisione: ±1 ppm, 18~28 °C

Generatore di segnali con


frequenzimetro 2 CH-60 MHz
- Canali: 2
- Frequenza max. di uscita: 60 MHz
- Frequenza di campionamento: 100 MSa/s
- F orme d’onda standard: sinusoidale, quadra, rampa,
triangolare, impulso, noise, arbitraria, impulso di Lorenz,
aumento/diminuzione esponenziale, CMOS
- Interfaccia: USB
- Display: 2.4” TFT LCD colori
Cod. JDS6600 ​

€ 189
189,,00
Generatore di funzioni
e forme d’onda arbitrarie
2 Canali-25 MHz
- Display: TFT LCD a colori da 4,3 pollici
- Frequenza di campionamento: 125 MS/s
- Forme d’onda standard: sinusoidale, quadra, rampa, triangolare,
impulso, rumore gaussiano, DC, arbitrarie
- Ampiezza del segnale di uscita: fino a 5 Vpp con impedenza
di 50 Ω o fino a 10 Vpp in modalità ad alta impedenza
Prezzi IVA inclusa.

- Impedenza di uscita regolabile


- Tipo di modulazione: AM, FM, PM, ASK, FSK, PSK, PWM
- Modalità Sweep e Burst
- Distorsione armonica totale: 20 kHz, 1Vpp (valore tipico): <0,2% Cod. TP388

€ 498
498,,00
- Interfaccia: USB

Futura Group srl


Caratteristiche tecniche di questi prodotti
®
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
EDITORIALE
Anno XXIX n. 272
APRILE / MAGGIO 2023

La tecnologia EDITORIALE

che unisce Direttore Responsabile


Boris Landoni
@ boris.landoni@elettronicain.it
Redazione
Stefano Garavaglia, Paolo Gaspari,
Davide Scullino, Gabriele Daghetta

L’IoT (o internet delle cose) è stato creato per migliorare la @ redazione@elettronicain.it


nostra esperienza quotidiana, rendendo casa e ufficio interattivi Grafica
Alessia Sfulcini
e facili da gestire, ma anche suggerendoci abitudini di vita più @ alessia.sfulcini@elettronicain.it
salutari. Tuttavia, fino ad oggi, ogni produttore di dispositivi IoT Ufficio Pubblicità
ha utilizzato un proprio protocollo di comunicazione, rendendo Monica Premoli (0331-752668)
@ monica.premoli@elettronicain.it
difficile l’interazione tra dispositivi di marche diverse.
Ufficio Abbonamenti
La tecnologia Matter rappresenta una svolta in questo senso,  Tel. 0331-752668
creando un protocollo di comunicazione comune che prescinde @ abbonati@elettronicain.it
dal produttore; così è possibile utilizzare una sola app per Direzione, Redazione, Pubblicità
FUTURA GROUP srl - Divisione Editoriale
controllare tutti i dispositivi, invece di una per ogni produttore. via Adige 11 - 21013 Gallarate (VA)
Matter è un esempio di come  Tel. 0331-752668
la tecnologia possa essere Abbonamenti
Matter è un esempio di come Annuo 6 numeri Euro 39,00
utilizzata per unire le persone
la tecnologia possa essere Annuo 6 numeri digitale Euro 29,00
e semplificare la loro vita, Le richieste di abbonamento vanno inviate a:
utilizzata per unire le persone FUTURA GROUP srl
creando nel contempo
e semplificare la loro vita via Adige 11, 21013 Gallarate (VA)
un’interazione tra dispositivi  Tel. 0331-752668
eterogenei che altrimenti oppure tramite il sito
https://futuranet.it/abbonamenti
sarebbero estranei gli uni agli altri e incapaci di “parlarsi”.
Distribuzione per l’Italia
Ma non è solo una questione di facilità d’uso: la sicurezza dei SO.DI.P. Angelo Patuzzi S.p.A.
dati degli utenti è un tema centrale nella tecnologia Matter, via Bettola 18 - 20092 Cinisello Balsamo (MI)
 Tel. 02-660301  Fax 02-66030320
che si preoccupa di proteggere la privacy dei suoi utenti,
Stampa
dimostrando che la tecnologia può essere utilizzata in modo ROTO3 Spa - Via Turbigo, 11/b
etico e responsabile. Matter è quindi un esempio di tecnologia 20022 CASTANO PRIMO (MI)

che non si limita all’aspetto tecnologico, ma che raggiunge


lo scopo per cui la tecnologia dovrebbe esistere: aiutare
realmente le persone e farlo in tutte le loro attività.
Rivista registrata presso il Tribunale di Milano
Ne sentiremo parlare sempre di più, ma intanto potete anticipare con il n. 245 il 03/05/1995.
ON LINE i tempi leggendo l’articolo che in questo numero abbiamo Prezzo di copertina Euro 7,50.
Gli arretrati nei formati cartaceo e digitale (pdf) sono acquistabili
elettronicain.it dedicato a Matter e all’impiego in Domotica. sul sito della rivista al prezzo di Euro 7,50.
Poste Italiane Spa - Spedizione in abbonamento Postale - D.L.
353/2003 (conv. in L. 27/02/2004) art. 1 comma 1 - DCB Milano.
SI RINGRAZIA Futura Group srl è iscritta al Registro Operatori della
Comunicazione n. 23650 del 02/07/2013.
Futura Elettronica Boris Landoni Impaginazione ed immagini sono realizzati in DeskTop Publishing
Microchip
@ boris.landoni@elettronicain.it con programmi Adobe InDesign e Adobe Photoshop per Windows.
Mouser
Tutti i contenuti della Rivista sono protetti da Copyright.
Ne è vietata la riproduzione, anche parziale, la traduzione e più in
generale la diffusione con qualsiasi mezzo senza l’autorizzazione
scritta da parte dell’Editore. I circuiti, il firmware ed il software
descritti sulla Rivista possono essere realizzati solo per uso
In copertina: personale, ne è proibito lo sfruttamento a carattere commerciale
Il nostro indicatore e industriale. Tutti possono collaborare con Elettronica In.
di prezzi del L’invio di articoli, materiale redazionale, programmi, traduzioni,
carburante ci aiuta ecc. implica da parte del Collaboratore l’accettazione dei compensi
a trovare il fornitore e delle condizioni stabilite dall’Editore (per maggiori informazioni
più economico scrivere a redazione@elettronicain.it). Manoscritti, disegni e
vicino a casa. foto non richiesti non verranno in alcun caso restituiti. L’utilizzo
dei progetti e dei programmi pubblicati non comporta alcuna
responsabilità da parte della Società Editrice.
© 2023 Futura Group srl

1
Contenuti 11 ARTICOLI
DOMOTICA
11 Matter, il nuovo protocollo
per la domotica
01 RUBRICHE Matter, il nuovo standard per la domotica
che ha come obiettivo principale quello di
far “collaborare” tutti i dispositivi connessi
01 Editoriale già presenti in una casa intelligente,
unificandone tutti i protocolli.
05 T&T Tips & Tricks
IN VETRINA
156 Scienza & Tecnologia
17 Le novità di Kicad 7
Conosciamo l’ultima versione dell’ECAD
prediletto dal mondo open, evidenziando
Progetto di Copertina le nuove funzionalità che porta con sé.

ARDUINO
25 MKR-UNO Arduino Shield
Adattatore che consente la compatibilità
tra la serie di board MKR e gli shield di
Arduino UNO.

RASPBERRY PI
35 Scheda FTR2040LoRa
La scheda FTR2040LoRa unisce le
potenzialità del chip RP2040 di Raspberry
Pi e del modulo RFM95W allo scopo di
creare un end device LoRa/LoRaWAN
in grado di comunicare con The Things
Network e altri cloud simili.

LIGHTING

FUEL PRICE 49 Mini driver LED

66 MONITOR I LED sono diventati sempre più comuni


nell’elettronica di consumo, ma per farli
funzionare in modo efficiente e sicuro, è
necessario utilizzare un driver LED.

DOMOTICA IN VETRINA ARDUINO RASPBERRY PI


Matter, la nuova Le novità di MKR-UNO Scheda
domotica KiCad 7 Arduino shield FTR2040LoRa

11 17 25 35
2
CONTENUTI

LIGHTING NETWORKING ROBOTICA DOMOTICA


Mini driver Ganimede E.12 Robot Smart Roller
LED Minions Shutter

49 55 81 89

NETWORKING MISURE
55 GanimedeE.12 105 Riflettometria nel dominio
Versatile ed economica scheda di sviluppo basata del tempo
su ESP12, dotata di USB, WiFi, Bluetooth, slot Misuriamo l’impedenza caratteristica di un cavo
mikroBus. Programmabile tramite IDE Arduino, coassiale e rileviamo le condizioni di adattamento,
Micropython o Javascript. mediante un semplice hardware ed un oscilloscopio.

NETWORKING DIDATTICA
66 Fuel price monitor 115 Saldare a stagno
Controllo attraverso ESP32 di un pannello touch Impariamo a saldare e dissaldare i componenti
interattivo che espone i prezzi dei distributori di elettronici, da quelli più tradizionali a foro passante
carburante in una determinata zona. fino agli SMD nei package più moderni.

ROBOTICA IN VETRINA

81 Robot Minions 129 IoTicontrollo


Simpatico automa personalizzabile, Una suite di dispositivi di controllo e acquisizione da
con cui sperimentare la programmazione remoto gestiti tramite un’app attraverso un servizio
e il controllo del movimento. NBIoT che si appoggia alla rete cellulare LTE.

DOMOTICA DIDATTICA
89 Smart Roller shutter 137 Impariamo ad utilizzare Eagle
Permette il comando di tapparelle motorizzate
Cominciamo il nostro viaggio alla scoperta di un
mediante assistente vocale Amazon Alexa, Google
potente strumento di progettazione elettronica, che
assistant oppure tramite App; connesso in WiFi, è
permette di coprire l’intero ciclo di sviluppo di una
programmato con un firmware che si appoggia al
scheda elettronica. Prima Puntata.
server Sinric Pro.

MISURE DIDATTICA IN VETRINA DIDATTICA


Riflettometria nel Saldare a stagno IoTicontrollo Impariamo ad
dominio del tempo utilizzare Eagle

105 115 129 137


3
Gli strumenti di sviluppo
in un unico posto
Migliaia di strumenti da centinaia
di produttori fidati

Scegli tra i prodotti della


nostra vasta selezione su
mouser.it/dev-tools
TT
TIPS & TRICKS

OTA per ESP32

&
Per i dispositivi che dispongono di
una connessione dati (ad esempio
gli smartphone, che contano sulla
connettività cellulare) esiste da
tempo una funzionalità chiamata
OTA (Over-the-Air) che consente
di aggiornare il firmware tramite la
rete, invece di doverlo fare connet-
tendoli fisicamente a un computer.
La funzione OTA è disponibile anche
per device e moduli WiFi come
Tips & Tricks sono i nostri suggerimenti in pillole
e i piccoli trucchi riguardanti sia l'hardware che
il firmware, che sperimentatori, tecnici e progettisti
elettronici vorrebbero conoscere per sviluppare meglio
l’ESP32, da noi molto utilizzato nei la propria passione: quella per l'Elettronica applicata.
nostri progetti.
Purtroppo sembra che la OTA Ecco quelli che abbiamo preparato questo mese per voi.
disponibile per tale hardware e utile
quando occorre aggiornare il codice care nello sketch caricato le linee la necessità della connessione seriale.
su un ESP32, non sia facilmente seguenti e scrivere le credenziali di Dopo l’upload, bisogna aprire Serial
accessibile. accesso alla rete WiFi che si utiliz- Monitor con un baud rate di 115.200,
Una possibilità consiste nell’ese- zerà, al posto di ssid e password: premere il pulsante di enable del modulo
guire la programmazione da remoto ESP32 ed a quel punto si potrà ottenere
con l’ESP32 e il browser posti sulla const char* ssid = ""; l’IP address del modulo stesso, come
stessa rete locale. const char* password = ""; mostrato nell’immagine in queste pagi-
Vediamo come utilizzare, allo scopo, ne nella cornice rossa.
lo strumento OTA Web Updater, che Si deve quindi salvare lo sketch e Fatto ciò, bisogna aprire il browser su un
però richiede di aggiungere il codice caricarlo nella board ESP32. computer affacciato sulla stessa rete e
per l’OTA in ogni sketch che si vuole L’OTAWebUpdater per the ESP32 scrivere tale IP nella bassa degli indirizzi,
caricare: questo permetterà di utiliz- crea così un web server asincrono quindi premere Invio.
zare l’OTA all’occorrenza per poter dove si potrà caricare il nuovo codi- Apparirà la pagina web ESP32 Login
caricare successivamente il codice ce (quello di aggiornamento) senza Page nella quale inserire le credenziali di
tramite browser.
L’OTA Web Updater creerà un server
web al quale potete accedere per
caricare un nuovo sketch tramite
browser.
Successivamente, bisognerà im-
plementare, come già accennato,
le routine OTA, in modo da poter
fare gli aggiornamenti successivi in
modalità wireless.
Per poter implementare tutto ciò,
come prima cosa nell’IDE di Arduino
bisogna installare l’add-on ESP32,
il che automaticamente installerà la
libreria ArduinoOTA.
Fatto ciò bisogna impartire dall’IDE
il comando di menù File > Examples
>ArduinoOTA> OTAWebUpdater;
ciò determinerà il caricamento del
codice corrispondente.
A questo punto bisogna identifi-  Esposizione dell’IP address della scheda ESP32 per l'OTA Updater.

5
Mpx che dir si voglia) ma è condiziona-
ta da altri parametri, uno dei quali (il più
importante) è la sensibilità, tipicamente
espressa in lux.
La sensibilità rappresenta la capacità
della fotocamera di riprodurre immagini
di una certa qualità in base alle condi-
zioni d’illuminazione della scena ripresa
e corrisponde al minimo livello di illu-
minamento (i lux, appunto) per fornire
un'immagine leggibile. Si potrebbe dire
che la sensibilità determina a partire da
 Caricamento del file .bin nel web server e aggiornamento dello sketch. che livello di illuminamento della scena
i pixel della fotocamera iniziano ad at-
tivarsi; per questa ragione, si può avere
un sensore d'immagine con un numero
default che sono: diffusione che consente, grazie al fatto e una densità molto grande di pixel,
che come veicolo di connessione dati ma ottenere immagini che ingrandite e
• Username: admin sfrutta la rete di telefonia cellulare 4G. schiarite non hanno la qualità che ci si
• Password: admin Il CAT-M è supportato in Italia da Vo- aspetta: perché alcuni o tanti di quei pi-
dafone, garantisce ampia copertura a xel, in condizioni di scarsa illuminazio-
Potete cambiare queste credenziali nel velocità e consumi di energia ridotti per ne non si attivano e ciò porta, di fatto, a
codice, se volete. Dopo aver cliccato le comunicazioni Machine-to-Machine riprese a risoluzione effettiva inferiore.
sul pulsante Login, verrete ridiretti alla (M2M), e 5G, con latenza minore di Una maniera per elevare la qualità delle
URL del server web e nel browser si 10 millisecondi e banda ultra-larga fotografie in caso di scarsa luminosità
aprirà una nuova scheda che permette per applicazioni in tempo reale o con della scena consiste nell'allungare il
di fare l’upload del codice per l’aggior- contenuti in alta definizione. tempo di esposizione, fermo restan-
namento, scegliendo il relativo file con Con CAT-M i dati degli oggetti in mo- do che ciò può esporre all'effetto
il pulsante Choose File; i file importabili vimento vengono trasferiti con tempi mosso. Sugli smartphone i valori ISO
sono .bin. di latenza inferiori e velocità superiori sono spesso predefiniti e molto alti
Va ricordato che quando si carica un rispetto al Narrowband IoT, caratteri- (800/1600 ISO) e questo rende le foto
nuovo sketch via OTA, questo deve stiche che la rendono una tecnologia molto luminose. É anche possibile
sempre essere completato con la particolarmente adatta allo scambio modificare il valore predefinito, ottenuto
porzione di codice per eseguire aggior- di piccole e medie quantità di dati in dalla modalità "Automatico".
namenti futuri; la soluzione migliore mobilità, con una velocità massima di
è aprire lo sketch OTAWebUpdater e 800 kbps.
includervi il codice desiderato. La tecnologia CAT-M abilita anche
Dopo aver copiato il codice, nell’IDE l'utilizzo dei dispositivi indossabili (i Simulare i progetti IoT
Arduino bisogna generare un file .bin: cosiddetti wearable device) e alcune basati su Arduino
ciò può essere fatto dal comando di importanti applicazioni di telemedicina,
menù Sketch>Export compiled binary, consentendo un monitoraggio continuo
ovvero con la scorciatoia da tastie- delle funzioni vitali e sanitarie garan- L'Internet delle cose, meglio noto come
ra Ctrl+Alt+S, allorché nella cartella tendo la massima sicurezza nella tra- IoT (Internet of Things) è uno dei trend
Sketch (comando Sketch>Show sketch smissione di dati grazie alla crittografia più gettonato degli ultimi anni ed è
folder) apparirà il nuovo file, che andrà end-to-end dello standard LTE. per questo che un po' tutti i progettisti
caricato attraverso la pagina del web vogliono sviluppare qualcosa che rientri
server con Choose file, quindi con in tale concetto e che tutte le principali
Update. Dopo alcuni secondi, il codice piattaforme e schede di prototipazione
dovrebbe essere caricato correttamen- Megapixel e sensibilità puntano ad avere un supporto in grado
te. Il LED integrato dell'ESP32 dovreb- delle fotocamere di renderlo possibile. Il pubblico di
be lampeggiare a conferma dell’avve- Arduino, che tipicamente è composto
nuto aggiornamento. da maker e progettisti alle prime armi,
Talvolta capita di fare un confronto tra potrebbe trovare arduo lo sviluppo di
fotografie e riprese effettuate tramite applicazioni IoT ed è per questo che
la fotocamera di uno smartphone e di sono disponibili strumenti come Wokwi,
CAT-M, un link per IoT rimanere perplessi di fronte alla con- un simulatore on-line che permette di
statazione che a parità di risoluzione simulare un progetto IoT.
Tra gli standard wireless impiegati della fotocamera stessa, le immagini Wokwi è un simulatore di circuiti
nell'IoT spicca CAT-M, l’ultima ge- ottenute non hanno la stessa qualità elettronici che permette di sperimen-
nerazione delle tecnologie di Mobile e non appaiono ugualmente definite. tare e migliorare l'esperienza in fatto
IoT, che utilizza la rete cellulare 4G Questo accade perché la qualità di una di nell’IoT. Consente di simulare il
complementando l'NBIoT; la sua fotografia non dipende solamente dalla comportamento di schede come Ardu-
importanza e versatilità sta nell'ampia risoluzione (i famigerati megapixel o ino ed ESP32 (perché i moduli ESP32

6
TIPS & TRICKS

 Simulazione di un tipico progetto IoT basato su Wokwi.

possono essere programmati con l'IDE (triangolino nel cerchio verde) in alto Proprio in tema di batteria al litio, una
di Arduino) interfacciate a componenti a sinistra nella sezione contenente protezione del genere è integrata nell'e-
e sensori. Permette, tramite un'inter- lo schema di cablaggio del circuito); lettronica dei pacchi al litio montati nei
faccia web accessibile da un browser accanto al pulsante di playback ce computer notebook, per fare in modo
puntando all'indirizzo wokwi.com, di n'è uno di arresto (quadrato) della che quando la batteria è troppo scarica
iniziare a scrivere codice per appli- simulazione ed uno di pausa. Ogni il polo positivo venga sconnesso attra-
cazioni in pochi secondi, senza alcun simulazione determina in basso nello verso un MOSFET enhancement-mode
rischio di danneggiare l’hardware come schermo una serie di parametri, nel posto in serie.
avverrebbe se si stesse testando uno caso il progetto preveda l'acquisizione Anche sulle pagine di Elettronica In
sketch con un circuito materiale. di grandezze fisiche da sensori, ovvero abbiamo pubblicato circuiti di protezio-
La piattaforma consente sia di creare la comparsa nel display di testo scritto ne da sotto-tensione all'ingresso: un
un proprio circuito e farne scrivere e nel codice, oppure lo spostamento del esempio è il circuito di disconnessione
simulare il firmware, sia di partire da braccetto di un servomotore in base dell'utilizzatore quando la tensione di
esempi consultabili scorrendo in basso alle istruzioni contenute nel codice. alimentazione è troppo bassa, pubbli-
nella home page alla sezione Quick cato nel fascicolo n° 270; quest'ultimo
Start Templates, ma anche di aprire è dotato di un trimmer per impostare la
e simulare o personalizzare progetti soglia di distacco.
esistenti caricati dagli utenti del sito. La protezione UVLO
È anche possibile partire da zero sce-
gliendo la piattaforma (tra esse figura Circuiti come gli alimentatori e integra-
anche Raspberry Pi Pico) desiderata ti regolatori di tensione o di carica del-
nella sezione Start from Scratch. le batterie, quando al loro ingresso si Web Forum
Di ciascun progetto creato o aperto è presenta una tensione insufficiente a e supporto tecnico
possibile consultare in tab dedicate, garantire i requisiti nominali (tensione
lo sketch e lo schema di cablaggio, il e corrente) in uscita, vengono dotati di Hai un problema con uno
JSON, le librerie Arduino interessate, una protezione chiamata UVLO (Under dei circuiti pubblicati?
nonché gestire le librerie stesse, magari Voltage Lock Out); si tratta di un circui- Vorresti effettuare una modifica?
aggiornandole o editandole. to in grado di disattivare l'uscita per Accedi al nostro Web Forum
Una cosa interessante è che il sito evitare malfunzionamenti dell'utiliz- dove i nostri tecnici
(ma anche gli altri lettori)
Wokwi consente, per le schede ESP32, zatore, problemi alla batteria con-
ti aiuteranno a chiarire qualsiasi
anche di creare progetti con codice nessa, ma anche utilizzati nei sistemi
dubbio di natura tecnica.
scritto in Micropython, invece che con il alimentati da batterie al litio per evitare Collegati a:
classico linguaggio di Arduino. che queste vengano scaricate oltre un
Per avviare la simulazione del proget- valore che porterebbe al degrado delle www.elettronicain.it/webforum
to è previsto il pulsante di playback loro celle.

7
ABBONAMENTO
ANNUALE

Abbonati a Elettronica In!


Realizza i Progetti descritti sulla rivista,
rimani aggiornato con i nostri Corsi,
approfondisci la conoscenza delle
tecniche e dei componenti
più avanzati con i Tutorial
e le nostre News.

Visita: www.elettronicain.it
ABBONAMENTO
6 NUMERI
ANNUALE PER RIVISTA
€29
A SOLI

DIGITALE
In OMAGGIO avrai
ANZICHÉ € 45, 00

il 10% DI SCONTO per i tuoi ordini


su Futuranet.it

C O M E A B B O N A R S I
 on-line  e-mail  telefono
nella pagina “Riviste e Corsi Gratuiti” scrivendo a telefonando a
del nostro sito www.elettronicain.it abbonati@elettronicain.it +39-0331-752668

NUOVO FORMATO 160 PAGINE CON PIÙ CONTENUTI

ABBONAMENTO ANNUALE
PER RIVISTA CARTACEA 6
NUMERI
In OMAGGIO avrai A SOLI

€39
il 10% DI SCONTO per i tuoi ordini
su Futuranet.it
GRATIS 1 VOLUME A SCELTA della collana
ANZICHÉ € 45,00
"L'elettronica per tutti" oppure
BUONO SCONTO DA 5€ valido 12 mesi
da utilizzare su Futuranet.it nelle categorie "Libri" o "Riviste"
La possibilità di LEGGERE GRATUITAMENTE
la versione digitale di ELETTRONICA IN
DISPOSITIVI INNOVATIVI STUDIATI PER METTERE IN COMUNICAZIONE APPARATI E
OGGETTI CON LA RETE INTERNET PER SEMPLIFICARE LA VITA DI TUTTI I GIORNI.

POWER SECURITY SMOKE


CONTROL IOT DETECTOR
IOT BOX IOT

cod. SEC3NV000

cod. PWC3NV000
€ 119,00 cod. SMK3NV000

€ 119,00 € 149,00
Ideale per proteggere gli
oggetti dai furti. Basato su un
accelerometro, Security IoT
BOX è in grado di rilevare e
Collegato alla rete elettrica, segnalare tempestivamente, È in grado di rilevare la presenza
permette di essere avvisati da tramite l’apposita APP, eventuali di fumi potenzialmente pericolosi
remoto, tramite apposita APP, di spostamenti degli oggetti sui quali segnalandolo, tempestivamente
una eventuale mancanza di corrente viene posizionato. Per funzionare tramite l’apposita APP. Per
e di intervenire tempestivamente. non necessita di Bluetooth funzionare non necessita di
Il dispositivo dispone anche di una o Wi-Fi; dispone infatti di una SIM Bluetooth o Wi-Fi; dispone infatti
di una SIM on chip con durata
Prezzi IVA inclusa.

uscita a contatto pulito molto utile on chip con durata di connettività


per attivare da remoto dispositivi illimitata. Funziona con due batterie di connettività illimitata. Funziona
elettrici. Dispone di una SIM on chip a stilo tipo AA (incluse). con una batteria al litio da 3V
con durata di connettività illimitata. Autonomia circa 18 mesi. (incluse). Autonomia circa 18 mesi.

CONNETTIVITÀ APP
ILLIMITATA GRATUITA
nessun abbonamento

Futura Group srl


Caratteristiche tecniche di questi prodotti
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
DOMOTICA

MATTER,
IL NUOVO PROTOCOLLO
PER LA DOMOTICA
dell’Ing. VINCENZO GERMANO

Matter, il nuovo

Q
standard per la uando si parla di domotica si pensa
sempre ad un sistema unificato che ge-
domotica che ha stisce e controlla ogni aspetto del vivere
come obiettivo abitativo, ad esempio un appartamento
all’interno del quale sono stati installati
principale quello di dei dispositivi interconnessi che ne
far “collaborare” tutti permettono il monitoraggio e la ge-
stione da remoto (e non solo). Tali dispositivi devono svolgere
i dispositivi connessi funzioni differenti che vanno dalla gestione dell’illuminazione
già presenti in una al controllo del riscaldamento in autonomia, dalla sicurez-
za dell’appartamento alla regolazione della continuità tra
casa intelligente, ambienti interni ed esterni, integrando l’esperienza high-tech
unificandone tutti i della propria abitazione con estrema semplicità. Ciò viene
fatto sia per fornire un nuovo concetto di benessere abita-
protocolli. tivo ma anche e soprattutto per poter ridurre i consumi e gli

11
In poche parole, questo significa che quando si
 Fig. 1 andrà ad acquistare un dispositivo intelligente per
Matter, The Founda-
tion for Connected la casa non ci sarà più la necessità di chiedersi se
Things è compatibile con il sistema già installato, perché
comprando un dispositivo certificato Matter si avrà
la certezza che sarà sicuramente compatibile. Una
bella svolta, ma vediamo più nei dettagli di cosa si
tratta.
sprechi che possono derivare da vari aspetti come
il riscaldamento/raffrescamento, l’illuminazione e COSA È MATTER?
altro. Negli ultimi anni, il mercato della casa intelli- Il progetto CHIP (negli anni) ha poi assunto il nome
gente e quindi della domotica, è cresciuto in modo di Matter (lanciato ufficialmente nel novembre
esponenziale, attraversando un periodo di enorme 2022) Fig. 1, gestito dalla Connectivity Standards
sviluppo, in un ambito che un tempo era dominato Alliance (CSA) – precedentemente nota come
da utenti esperti di tecnologia, mentre a oggi la Zigbee Alliance –, esente da royalty, con l’intento
maggior parte delle famiglie possiede un disposi- di incoraggiare l’interoperabilità tra dispositivi e
tivo per la gestione di una casa intelligente. Tutto piattaforme. Perciò il progetto non ha cambiato lo
ciò è stato trainato da vari aspetti, tra cui il salto scopo iniziale, ovvero un protocollo standard volto
tecnologico dei dispositivi dettato da una sempre a ridurre la frammentazione esistente tra i vari
costante evoluzione dell’elettronica ma anche produttori di dispositivi per la domotica (puntando
dalla continua riduzione economica per renderli alla totale interoperatività dei vari apparati dome-
più convenienti. Tuttavia, fino a qualche tempo fa, stici intelligenti interconnessi di produttori diversi).
farli funzionare bene insieme continuava ad essere Perciò Matter si impone come nuovo standard
una sfida. Infatti, sia per gli appassionati di settore per le case intelligenti e va a risolvere molti dei
sia per gli utenti meno esperti che hanno deciso di punti deboli di interoperabilità creati da software
addentrarsi nella domotica sperimentando come e hardware proprietari, oltre che alla necessità
poter rendere il proprio alloggio intelligente, si di una connessione costante ad Internet. Infatti,
saranno immediatamente accorti di quali possono gli attuali dispositivi utilizzati nel settore della
essere gli straordinari vantaggi della compatibi- domotica (prima di Matter), fanno affidamento
lità tra dispositivi e di quanto sia fondamentale il esclusivamente sulla connessione ad Internet e sul
tema dell’interoperabilità. Questo perché, quando cloud per qualsiasi funzionalità, rendendoli di fatto
acquistiamo un qualunque dispositivo intelligente, inutili in assenza di connessione. Matter al con-
non dovremmo preoccuparci della sua compatibi- trario consente di funzionare anche offline senza
lità all’interno del nostro sistema già installato, tut- la richiesta continua dell’accesso al cloud e ai vari
tavia oggi è una verifica che va fatta e il timore che servizi associati. Ciò implica anche una maggiore
il nuovo dispositivo non funzioni è giustificato. sicurezza per tutti i dispositivi, soprattutto in ottica
In quest’ambito, alla fine del 2019 ha visto la luce il di funzionalità sensibili come le serrature intelli-
progetto CHIP, acronimo anglosassone che sta per genti o le telecamere di sicurezza, aggiungendo un
“Connected Home over IP”, ovvero ‘Casa connessa su ulteriore punto a favore nell’utilizzo di Matter.
IP’ (dove IP sta per Internet Protocol), realizzato Inutile sottolineare gli enormi vantaggi del suo
da colossi di settore che hanno spinto e accelerato utilizzo, visto che questo standard Open-Source
la diffusione dei prodotti smart home come Apple, permette a tutti i dispositivi (certificati Matter) del-
Google, Amazon e Zigbee Alliance. Ciò è stato fatto la smart home di poter dialogare tra di loro (anche
con l’intento di realizzare uno standard comune per e soprattutto a livello locale), senza aver bisogno di
consentire ai prodotti (ma anche ai servizi) per le una connessione ad Internet o di un cloud, andan-
case intelligenti, di dialogare facilmente tra di loro; do a sfruttare tecnologie come il Wi-Fi, il Bluetooth,
con un conseguente obiettivo di facilitare i consu- l’Ethernet o il Thread. Con un tale vantaggio è
matori nel costruire il loro ambiente di domotica facile immaginare come sarà possibile da ora in
ideale. D’altro canto questo ha anche incentivato poi avere una casa intelligente semplicemente
le aziende a sviluppare e produrre nuovi prodotti, acquistando dispositivi certificati Matter (basati su
permettendo di arrivare ad un sistema standardiz- questo nuovo standard) e un access point Wi-Fi.
zato in grado di superare le barriere tra dispositivi Essendo Open-Source, è possibile contribuire
e produttori differenti. direttamente su Github, visto che è totalmente

12
aperto a qualsiasi contribuzione esterna e senza riferimento alla Fig. 2. Per essere precisi Matter
bisogno di pagare i diritti di utilizzo; infatti i privati è un Application Layer basato su IP, ovvero un
o le aziende che vogliono partecipare al progetto layer superiore di comunicazione e non un intero
sono libere di farlo e aggiornare i dispositivi senza standard di connessione (per semplificare, è un
costi aggiuntivi (tranne quelli per le certificazioni). software che va a definire il linguaggio con cui i di-
Per verificare se i dispositivi hanno compatibilità spositivi dialogano tra loro). A oggi, essendo ancora
con Matter lo si può fare facilmente verificando in sviluppo, presenta un set di istruzioni ridotto,
sul sito ufficiale quali sono i brand e i rispettivi uno dei motivi per cui è in grado di funzionare
produttori che adottano già o adotteranno questo solo con determinate tipologie di prodotti. Alcuni
standard; nel caso il prodotto o il brand ricercato esempi possono essere gli interruttori, le lampa-
non è presente nella lista non è detto che in futuro dine o la sensoristica, tuttavia sta “maturando”
non offrirà la compatibilità ma semplicemente che per supportare prodotti più complessi come gli
al momento non offre il supporto (quindi non è elettrodomestici e molto altro, che a differenza
compatibile). Per i consumatori, tutto ciò si traduce di prodotti semplici (es. la sensoristica) possono
facilmente nel verificare se l’etichetta riporta la avere centinaia di funzioni.
compatibilità con Matter o meno, visto che garan-
tirà il loro funzionamento con altri dispositivi della MATTER E THREAD
rete in modo affidabile, permettendo all’utente Lo standard Matter non ha la pretesa di sostitu-
di scegliere tra una gamma ampia di marchi con irsi agli attuali sistemi proprietari utilizzati per il
la certezza che questi funzionino/dialoghino controllo e la configurazione dei dispositivi smart
all’interno della smart home in sicurezza e senza home, ma piuttosto vuole affiancarsi ad essi
interruzioni. (andando ad utilizzare un linguaggio comune e
Un ulteriore punto a favore, da non sottovalutare, comprensibile a tutti i prodotti e i brand), in modo
è rappresentato dalla configurazione semplificata tale da poter offrire soluzioni sia hardware che
offerta, ovvero basterà collegare il nuovo dispositi- software. Infatti, con riferimento alla Fig. 3, è fa-
vo alla rete domotica affinché lui si possa connet- cilmente intuibile come il livello di trasporto scelto
tere in automatico al resto della casa intelligente; per Matter usa i protocolli già noti TCP e UDP,
di sicuro un passo in avanti determinante che che a loro volta usano il livello di rete IP (Internet
permetterà anche agli utenti meno esperti di poter Protocol), mentre il livello di collegamento dati e
costruire una casa smart senza per forza essere il livello fisico (cioè i sistemi usati per trasmettere
esperti di settore. i dati), si affidano a tecnologie differenti come
Visti i principali vantaggi di Matter, scendiamo Ethernet, Wi-Fi, Bluetooth LE e Thread.
maggiormente in alcuni dettagli tecnici con Considerando il Bluetooth, esso viene usato princi-

 Fig. 2
Il layer
Matter, un
Application
Layer

13
elementi di rete “passivi” e “attivi”, con i quali si
possono ricevere comandi via radio ed attivare
specifiche funzioni. Oltre a queste due tipologie, i
dispositivi della rete possono anche essere degli
“estensori di rete” (bridge) permettendo di ampliare
la copertura dei segnali, ottimizzare i consumi
energetici e ridurre la latenza (tre i comandi e le
notifiche passa meno tempo). Perciò a differenza
del protocollo Zigbee, Thread non richiede un hub
dedicato, sia esso esterno o integrato diretta-
mente nei dispositivi ma è sufficiente un “border
router” (o anche Router Thread) ovvero un circuito
elettronico integrato dedicato in qualsiasi disposi-
tivo della rete.
Come si nota dalla Fig. 4, Thread può supporta-
re più border router in modo tale da creare una
ridondanza anche in caso di guasti o malfunziona-
menti, offrendo molti vantaggi rispetto a protocolli
e tecnologie già adottate nella Smart Home come
Bluetooth, Wi-Fi e Zigbee.
Da quanto detto possiamo concludere che Thread
opera su un livello hardware più che un livello
palmente per l’operazione di commissioning, ovvero software come accade per il Matter. Ciò significa
 Fig. 3
l’inserimento del dispositivo all’interno della rete, che deve essere necessariamente previsto in
Le tipologie grazie al quale il dispositivo viene “installato” nella fase di progettazione e industrializzazione del
di protocolli smart home. Possiamo considerarlo come un’at- dispositivo che sarà border router e non sempli-
tività paragonabile al pairing delle cuffie Bluetooth, cemente aggiunto in un secondo momento via
grazie al quale vengono associate ad un determi- software (senza la necessaria predisposizione di
nato dispositivo. un hardware dedicato). Questo implica che solo i
Questa funzionalità di commissioning è possibile dispositivi già commercializzati che hanno a bordo
anche svolgerla agevolmente via QR Code. Al con- l’hardware potranno essere aggiornati a Thread
trario, sia l’Ethernet che il Wi-Fi vengono utilizzati mentre gli altri non lo potranno essere. Tuttavia
soprattutto per i dispositivi che hanno necessità il mancato hardware di Thread non impedisce a
di una banda di trasmissione dati molto ampia, questi dispositivi domotici comunque di supportare
l’esempio più immediato può essere il video in Matter, dato che rappresenta il “linguaggio comu-
streaming di una telecamera di videosorveglianza. ne” a livello software e quindi aggiornabile/utiliz-
Con riferimento alla Fig. 4, di sicuro la “novità” tra zabile grazie al protocollo IP mediante standard già
questi protocolli riguarda il Thread, che si colloca affermati e universalmente implementati come il
nella gestione della connessione dei dispositivi di Wi-Fi e il Bluetooth.
rete a bassa potenza e che generalmente non ri-
chiedo una banda di trasmissione ampia (visto che LA SICUREZZA PRIMA DI TUTTO
la dimensione dei dati inviati e ricevuti è contenu- Man mano che la domotica connette sempre più
ta). Viene utilizzato principalmente per interruttori, dispositivi e sistemi tra loro e le case intelligen-
sensori, serrature, luci, prese e molto altro. Creato ti continuano ad evolversi, aumentano di pari
da Nest e altre aziende nel 2014 si basa sullo stes- passo i rischi di attacchi informatici che suscitano
so protocollo di comunicazione wireless di Zigbee preoccupazioni da parte degli utenti finali e ne li-
con connessione di rete “mesh” (a maglia, una sin- mitano l’adozione. Basti pensare ad attacchi DDoS
gola rete Thread può ospitare oltre 250 dispositivi) (Distributed Denial of Service), violazioni dei dati
a basso consumo energetico, viene generalmente e della privacy con potenziale danno agli umani e
utilizzato per dispositivi a batteria o che richiedono molto altro. Tuttavia proprio per superare questo
un’alta efficienza energetica. ostacolo, Matter è stato concepito con massimi
A livello di tipologia di rete, la rete mesh permette livelli di sicurezza e privacy che sono stati conside-
di utilizzare i singoli dispositivi domotici come rati come principali chiavi del design; infatti sono

14
state implementate tra le altre cose, comunica- non autorizzato;
zioni sicure, autenticità dell’identità e connessioni Regolamenti sulla sicurezza: le iniziative di regola-
con dispositivi comprovati e controllo dell’accesso. mentazione domotica per la sicurezza e la privacy
Questa sfida legata alla sicurezza e alla privacy ha differiscono da paese a paese e continuano a
di fatto richiesto l’implementazione delle migliori evolversi, perciò i dispositivi intelligenti devono es-
pratiche di sicurezza su larga scala a 360 gradi, sere progettati con funzionalità dedicate per poter
andando a curare aspetti chiave come: supportare queste modifiche.
Produzione sicura: nella fabbrica o nella catena di
approvvigionamento, i dispositivi possono essere CONCLUSIONI
soggetti a una varietà di attacchi come l’iniezione Arriviamo a termine di questo articolo all’interno
di codice dannoso; del quale abbiamo visto come la rivoluzione del
Operazioni: una volta all’interno della rete i disposi- nuovo standard Matter è appena cominciata, una
tivi sono suscettibili a una vasta gamma di attacchi nuova epoca per la domotica, con la promessa di
remoti ma anche in alcuni casi ad attacchi fisici, migliorare la vita delle persone e soddisfarne le
perciò le comunicazioni devono essere crittogra- esigenze tramite strumenti in continua evoluzio-
fate e autenticate per proteggere dagli attacchi ne. Di sicuro il supporto agli altri protocolli oggi
remoti/locali una volta installati; per cui proteggere disponibili e alle attuali tecnologie continuerà ad
dagli attacchi significa garantire che i dati arrivino esserci, perciò si potranno ancora utilizzare i vecchi
nella destinazione prevista in una forma riservata, dispositivi senza la necessità di sostituire per inte-
autenticata e inalterata; ro il sistema costruito negli ultimi anni.
Manutenzione: il processo di aggiornamento del Per quanto è solo una questione di tempo prima
software per i dispositivi deve essere sicuro per che gli utilizzatori si convincano ad abbracciare il
evitare l’inserimento di software non autorizzato, nuovo standard Matter per risolvere una volta per
inclusi aggiornamenti del firmware e delle creden- tutte i problemi di compatibilità affrontati negli
ziali. Un processo di aggiornamento sicuro aiuta ultimi anni, ma anche godere di tutti i vantaggi di

a prevenire il caricamento di malware o firmware questa nuova tecnologia.

 Fig. 4
Matter e
Thread, una
possibile
rete.

15
Rilevamento ad Alta Precisione per applicazioni
moderne
Famiglia di Microcontroller AVR® EA
I Microcontroller AVR® EA semplificano l’integrazione di controllo intelligente nei sistemi embedded
con sensori analogici. Gli MCU, appositamente costruiti, offrono un ADC differenziale a 12 bit (con
Programmable Gain Amplifier integrato), un DAC a 10 bit e un comparatore on-chip per un’incredibile
flessibilità nell’interfacciamento con i componenti analogici.

In combinazione con la potente CPU AVR e le periferiche digitali “core independent”, la famiglia AVR EA
consente di creare progetti compatti con flessibilità integrata e costi inferiori di sistema.

Caratteristiche Salienti
• CPU AVR fino a 20 MHz
• Memoria flash da 16 64KB con sezione Read-While-Write (RWW) dedicata
• 2- 6KB SRAM
• 512 B EEPROM
• 28 a 64 pin nei package SPDIP, SSOP, TQFP e VQFN
• Temperature di esercizio Standard ed Estesa: da -40°C a +85°C e da
-40°C a +125°C

Il nome e il logo Microchip e il logo Microchip sono


marchi industriali registrati di Microchip Technology
Incorporated negli U.S.A. e in altri Stati. Tutti gli altri
marchi appartengono ai loro rispettivi titolari
© 2023 Microchip Technology Inc. Tutti i diritti riservati.
microchip.com/AVREA MEC2478A-ITA-02-23
IN VETRINA

KICAD 7
dell’Ing. VINCENZO MENDOLA

N
egli ultimi anni i software open source
Conosciamo hanno raggiunto un livello qualitativo
l’ultima versione e di maturità davvero notevole; tra
questi, a chi come noi è interessato
dell’ECAD al mondo dell’elettronica, è di grande
prediletto dal interesse KiCad, un insieme completo di
applicativi per tracciare schemi elettrici,
mondo open, realizzare i layout delle schede elettroniche e per visualizzare
evidenziando le i file GERBER (ossia i file di produzione) corrispondenti.
La storia di questo incredibile tool di progettazione elettro-
nuove funzionalità nica inizia più di 30 anni fa: la prima release risale al 1992 e
che porta con sé. fu sviluppata da Jean-Pierre Charras ed ora il suo sviluppo è
affidato ad un team dedicato chiamato “KiCad Development
Team”. Il nome di questa squadra di sviluppatori deriva dalle
prime lettere di un’azienda di un amico del suo ideatore, che

17
 Fig. 1
La precedente
funzione di
spostamento dei
componenti
manteneva le
connessioni, ma
disordinate.

 Fig. 2
Connessioni
ottenute con lo
spostamento del
componente nella
versione 7.

sono “Ki”; trattandosi di un software di progetta- presenta grandi miglioramenti e nuove funzionalità
zione assistita da computer, a queste due lettere rispetto alla precedente versione 6. Gli sviluppatori
è stato aggiunto “Cad”. Ecco nascere, così, il nome hanno dichiarato di voler continuare lo sviluppo di
KiCad. KiCad con l’attuale cadenza, rendendo disponibile
una nuova major release all’anno, anticipando fin
PRESENTE E FUTURO DI KICAD d’ora la disponibilità della nuova versione 8 nel
Come tutti i software di progettazione, dovendo 2024. Anche la politica di supporto rimarrà la stes-
tenere da conto l’evoluzione tecnologica e il conse- sa: prendendo come esempio l’attuale versione 7,
guente cambiamento o incremento delle esigenze la versione 6 non verrà più aggiornata, mentre la 7
dell’utenza, anche KiCad viene costantemente verrà mantenuta e i bachi che dovessero emergere
aggiornato. saranno risolti fintantoché non verrà rilasciata la
Il 12 febbraio 2023 è stata rilasciata la versione successiva versione, che sarà la 8.
7.0, che introduce molte novità e miglioramen-
ti rispetto alla precedente versione 6, uscita LICENZA D’USO
appena un anno fa, esattamente il 25 dicembre Come abbiamo accennato, KiCad è un software
2021. Come dichiarato dallo stesso team che ha gratuito, il cui codice sorgente viene rilasciato sotto
contribuito allo sviluppo della versione 7, questa licenza GNU General Public License(GPL) version

18
3 o superiore; ci possono essere parti di codice di
terze parti rilasciate sotto licenza MIT o altre, per  Fig. 3
Modalità di
i cui dettagli si rimanda al codice sorgente stesso. disegno dei
Per quanto riguarda le librerie di KiCad, queste collegamenti
a 45°.
sono rilasciate con licenza CC-BY-SA 4.0, la quale
permette un utilizzo libero delle stesse, per cui è
possibile usarle anche per attività commerciali e
per applicazioni “closed-source” ed il loro utilizzo
non comporta la necessità di condividere il lavoro dalla Fig. 1, nella versione precedente alla 7, il
fatto o di rilasciarlo con la stessa tipologia di trascinamento di un componente o di un insieme
licenza. di componenti, comportava lo spostamento anche
A chi fosse interessato ad un utilizzo professionale delle connessioni collegate alla parte interes-
di KiCad o fosse semplicemente curioso, consiglia- sata allo spostamento, che avveniva in maniera,
mo di leggere con attenzione la documentazione per così dire, “irregolare”: KiCad si preoccupava
ufficiale, nella quale vengono forniti tutti dettagli solamente di mantenere intatte le connessioni
relativi alle licenze delle varie parti di KiCad, com- ma non di mantenerle nella forma in cui erano e
presa la documentazione ed il sito stesso, anch’es- si venivano a creare angolazioni varie, obbligando
si rilasciati sotto licenza. il progettista a sistemarle una ad una; ora questo
non è più necessario, in quanto nella versione 7
VERSIONI PRECOMPILATE viene mantenuta l’ortogonalità delle stesse, velo-
Per la maggior parte degli utenti, che non sono cizzando e semplificando il lavoro (Fig. 2).
interessati ai sorgenti ma direttamente ai file bi- Sempre riguardo alle connessioni, nella versione
nari precompilati, nella pagina di download del sito 7 è stata aggiunta una modalità per tracciare i fili
ufficiale sono disponibili i file per Windows, MacOS, (o “wires” in inglese) a 45°, oltre alla consueta
Ubuntu, Debian, Fedora e altre distribuzioni Linux possibilità di mantenere angoli retti o di tracciare
tra le più diffuse; ma non solo, perché ci troviamo connessioni con qualunque angolo; si può passare
anche i file per FreeBSD e Raspberry PI OS. da una modalità all’altra, in maniera ciclica, tramite
Quindi possiamo affermare che KiCad punta a la combinazione di tasti Shift + Spazio (Fig. 3).
tutte le piattaforme che toccano, oltre al mondo È stato aggiunto il supporto alla funzionalità “Do
professionale, quello dei Maker. Not Populate” (“DNP”, cioè non montare), per poter
esplicitare direttamente nello schema elettrico
NOVITÀ VERSIONE 7 EDITOR DEGLI SCHEMI quei componenti che vogliamo che siano chiara-
Veniamo ora alle novità introdotte, partendo dall’e- mente identificati come da non montare: KiCad li
ditor di schemi elettrici. Come si vede chiaramente disegnerà in grigio e verranno barrati con una croce

 Fig. 4
Indicazione
dei
componenti
da non
montare.

19
 Fig. 5
Impostazioni in
Proprietà per il
componente
da non montare.

rossa, come esemplificato nella Fig. 4. tendo da esso il comando “Simulatore…” dello
I componenti contrassegnati come “DNP” saranno “Schematic Editor” (Fig. 6).
esclusi dai file di piazzamento che verranno ge- Nella versione 7 è stato introdotto un editor del
nerati da KiCad. Per indicare che si vuole marcare modello utilizzato per la simulazione, raggiungibile
un componente come “DNP”, è necessario entrare all’interno delle proprietà del simbolo, selezionabile
nella finestra di dialogo delle sue proprietà: per cliccando sopra “Modello di simulazione”; una volta
fare ciò è possibile cliccare sopra il simbolo del aperto è possibile definire i parametri del modello
componente e premere il tasto “E” della tastiera tramite una semplice interfaccia grafica a finestra
del computer, oppure selezionare il componente, piuttosto che inserendo direttamente il codice
cliccarvi con il pulsante destro del mouse e sele- spice nello schema (Fig. 7).
zionare, dal menù contestuale che si apre, la voce Sono disponibili dei modelli standard, come ad
“proprietà”; questo comando fa apparire la finestra esempio quelli di condensatori, resistori, diodi
di dialogo Proprietà simbolo nella sezione Attributi e transistor, ma è anche possibile caricare delle
della quale, si deve spuntare “Non popolare” (come proprie librerie da cui poi andare a selezionare un
visibile in Fig. 5) e poi cliccare sul pulsante OK per componente specifico.
confermare. Una nuova funzionalità importante e largamente
KiCad dispone di un simulatore circuitale integrato richiesta, che avvicina KiCad ai software commer-
open source (chiamato ngspice) che può accettare ciali, è la possibilità di definire un sistema centra-
vari modelli, compatibili con spice, Pspice, LTspice lizzato di librerie di simboli e di footprint, che può
e Hspice; questo simulatore di circuiti può essere essere condiviso con tutti quanti hanno accesso al
lanciato dal menù a tendina “Ispeziona”, impar- database, all’interno del quale è possibile effettua-

 Fig. 6
Avvio del simulatore
di KiCad 7.

20
 Fig. 7
re una ricerca selezionando a piacimento i campi di appartenente alla stessa NET; Gestione dei para-
ricerca, in modo parametrico. • aggiunta di un nuovo e potente tool che per- metri del modello
per la simulazione,
Altre modifiche introdotte nell’editor degli schemi mette di selezionare una parte dello schema e tramite finestra.
elettrici sono: tramite un nuovo menù raggiungibile tramite
• possibilità di inserire hyperlink nello schema il tasto destro del mouse o con il tasto “P”
elettrico; all’interno del PCB editor, permette lo sposta-
• possibilità di inserire delle forme geometri- mento in gruppo dei footprint dei componenti
che come cerchi o rettangoli, ad esempio per selezionati, invece che singolarmente;
contornare ed evidenziare parti dello schema • miglioramento nella generazione di PDF che
elettrico; vengono generati con un indice che contiene
• possibilità di effettuare automaticamente il i link alle singole pagine ed ai singoli elementi
controllo dell’eventuale disponibilità di nuove costituenti lo schema elettrico;
versioni di un pacchetto installato (PCM Auto- • aggiunta all’interno dei PDF, di alcune informa-
matic Updates); zioni relative ai componenti quando ci si clicca
• possibilità di inserire delle caselle di testo sia sopra, visualizzate quando si utilizza Adobe
nello schematico che nell’editor di PCB; Acrobat Reader (al momento la compatibilità
• potenziamento del sistema di “drag & drop”; con gli altri lettori di PDF non è garantita); un
• miglioramento della tabella in cui si editano i esempio è proposto nella Fig. 8.
pin dei simboli, in cui ad esempio si definiscono
le caratteristiche grafiche e la posizione in cui NOVITÀ VERSIONE 7: PCB EDITOR
verranno disegnati i pin; Anche per l’editor dei circuiti stampati esistono
• aggiunta di un nuovo sistema che mostra il miglioramenti e novità:
piazzamento di un componente fuori griglia, • aggiunta di una nuova opzione che permette
cosa che potrebbe comportare problemi in di verificare la consistenza tra il footprint
quanto le connessioni non sono correttamente utilizzato nel layout della scheda che si sta
effettuate, causando errori nel PCB; realizzando, con il footprint presente nella
• aggiunta di una nuova funzione di tracciamento libreria del componente stesso;
assistito, grazie alla quale le piste possono ora • introduzione nella tabella riassuntiva del DRC
essere parzialmente inserite a mano e l’editor (Design Rule Checking) di un tab separato in
si occupa poi del tracciamento delle restanti, cui sono presenti i test che sono stati ignorati;
collegando la pista alla connessione più vicina • introduzione di due nuove regole per il DRC

21
 Fig. 8
Pop-up con
le informazioni
sul compo-
nente.

(“mechanical_clearance” e “mechanical_hole_ • inserimento di un nuovo pannello delle pro-


clearance”), aggiunte all’interno delle regole prietà che permette un rapido accesso a molti
personalizzate relative alle “clearence” e dei parametri di un oggetto e che permette di
“hole_cleareance constraints”; editare più oggetti allo stesso tempo; di tale
• introduzione della funzione che permette di funzionalità è previsto un ulteriore sviluppo
 Fig. 9 effettuare l’unroute delle piste selezionate, nelle future versioni di KiCad;
Impostazioni utile sia per correggere errori senza rifare il • aggiunta di un nuovo pannello di ricerca, che
di riempimen-
to automatico PCB da zero, sia per modificare il percorso permette di cercare e filtrare i risultati, utiliz-
delle piste. creato; zando i caratteri “jolly”;

22
• introduzione di un’opzione, abilitata per impo- CONCLUSIONI
stazione predefinita, che permette di riempire I software open source hanno raggiunto un livel-  Fig. 10
Tracciatura da
automaticamente le zone di riempimento lo di maturità e una diffusione senza precedenti, un’immagine
quando viene rilevato un cambiamento della rendendo disponibili a chiunque dei tool di svi- importata.
scheda, invece di dover effettuare nuova- luppo veramente potenti, senza dover sostenere
mente a mano tale operazione; l’opzione l’onere economico di acquistare licenze di pro-
può essere eventualmente deselezionata dotti professionali, ingiustificati quando magari
entrando in “Preferenze”, “Editor c.s.”, “Opzioni l’ECAD ci serve per realizzare a livello scolastico o
di modifica”, deselezionando nella sezione dilettantistico i nostri progetti.
“Varie”, “Zone ad autoriempimento” (Fig. 9). KiCad spicca nel panorama di questi tool.
In questo articolo vi abbiamo esposto gli sviluppi
Un’opzione interessante che sarà molto apprez- di KiCad, un ottimo strumento di utilizzo gratuito
zata da quanti, tra voi, potrebbero avere neces- che permette di realizzare circuiti stampati anche
sità di effettuare un reverse engineering di una multistrato, ormai arrivato alla versione 7, la
scheda esistente, di cui magari si è persa la do- quale porta, a poco più di un anno di distanza
cumentazione, è quella di selezionare un’imma- dal rilascio della versione 6 (già molto ricca di
gine da porre in background, magari del PCB da caratteristiche e miglioramenti rispetto alla
replicare, in modo da poter piazzare i componenti precedente versione, la 5...) ulteriori migliorie e
e tracciare le piste, usando come riferimento la nuove funzionalità indubbiamente utili a chi deve
figura o la foto sottostante (la Fig. 10 esempli- disegnare schemi e circuiti stampati.
fica l’utilizzo di tale strumento). Tale funzionalità Siamo certi che vorrete subito provare dal vivo
semplifica enormemente il lavoro, risparmiando quello che uno strumento come kiCad può offrirvi
al progettista l’onere di dover misurare tutte le e che sfrutterete le nuove funzionalità delle
quote del PCB da ridisegnare e replicarle sullo quali vi abbiamo messo al corrente in queste
schermo del computer a rischio di errori: è suf- pagine. Scaricate quindi l’ultima versione dal sito
ficiente ripassare le piste ed esportare il Gerber www.kicad.org e... buon lavoro con il vostro nuovo

per avere un circuito identico all’originale. CAD per circuiti elettronici!

23
Arduino,
su
Solo t.it
futur
ane

la piattaforma
open source per tutti!
cod. ARDUKITLEVEL1 cod. ARDUKITLEVEL2
ARDUKITLEVEL1 ARDUKITLEVEL2
ARDUINO UNO R3 ORIGINALE ARDUINO UNO R3 ORIGINALE
+ SET COMPONENTI + SET COMPONENTI
Entra
nell’affascinante
mondo di Arduino
e impara ad
utilizzarlo al meglio
con i nostri kit!
Scegli quello più € €
adatto a te. 35,90 45,90

IL PIÙ
COMPLETO!
cod. ARDUKITABC cod. ARDUKITV6 cod. ARDUINOSTARKIT
ARDUKITABC ARDUKITV6 ARDUINOSTARKIT
STARTER KIT CON ARDUINO ARDUINO ORIGINALE + ARDUINO ORIGINALE +
UNO REV3 E COMPONENTI LIBRO L’ABC DI ARDUINO + LIBRO IN ITALIANO +
COMPONENTI COMPONENTI

Prezzi IVA inclusa.

€ € €
58 ,00
68 ,00
118,00

Futura Group srl


Caratteristiche tecniche di questi prodotti
® www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
ARDUINO

MKR-UNO
ARDUINO SHIELD
dell’Ing. VINCENZO MENDOLA

D
alla fondazione di Arduino ad oggi sono
cambiate tantissime cose, parten-
do dalle caratteristiche hardware e
arrivando alla tipologia di utilizzatori
Adattatore che ed applicazioni; nata come una piccola
consente la scheda a microcontrollore ad 8 bit per
avvicinare i giovani al mondo della
compatibilità tecnologia, anche se non provenienti
tra la serie di dal mondo dell’elettronica, Arduino è diventato un dispositivo
hardware con moltissimi modelli, schede di espansione (i
board MKR cosiddetti “shield”), utilizzato sia dagli hobbisti, i cosiddetti
e gli shield di “makers”, sia dai professionisti. Visto il gran numero di shield
ufficiali e non, realizzati in questi anni per la famiglia Arduino
Arduino UNO. UNO, abbiamo pensato di fare cosa gradita pensando ad una
scheda di adattamento che permettesse di utilizzare quanto
creato per le board Uno e compatibili, come ad esempio le

25
schema ELETTRICO

26
Fishino UNO e Fishino 32, ma anche per la recente te la progettazione dello shield di adattamento.
famiglia MKR, che ha espanso moltissimo le po- Per quanto riguarda la dimensione delle schede
tenzialità di Arduino, sia in termini di connettività MKR, essendo queste come abbiamo già detto di
(aggiungendo nativamente BLE e WiFi) sia in ter- dimensioni inferiori (è il formato più piccolo delle
mini di prestazioni, utilizzando dei microcontrollori attuali schede ufficiali di Arduino), non è stato
a 32 bit. Ad onor del vero esiste già uno shield di affatto problematico inserire nella nostra scheda
adattamento ufficiale ma ci è sembrato vera- due file di strip femmina a passo 2,54mm in cui
mente troppo “basic”. Abbiamo deciso pertanto di introdurre la Arduino MKR a 32 bit, rispettandone
pensarne uno nuovo realizzato partendo da zero, le connessioni native. Nella progettazione dello
garantendo comunque la compatibilità elettrica e shield, si è cercato di seguire il più possibile le linee
meccanica con le schede esistenti. guida per la realizzazione di schede compatibili
con Arduino UNO, a partire dal fattore di forma.
MKR VS UNO Per questo motivo, chi ha già utilizzato Arduino
Dopo anni in cui gli sviluppatori di Arduino sono UNO e i suoi shield, non farà fatica a trovarsi tra
stati legati ai microcontrollori ad 8 bit della Atmel le mani un oggetto familiare: a parte il connettore
(ora parte di Microchip), in particolar modo al famo- “DC IN”, cui si connette la tensione d’ingresso, ed
sissimo ATmega328P, hanno finalmente deciso di i due strip J2 e J3 ai quali va connessa la Arduino
utilizzare anche MCU a 32 bit, più veloci e prestanti, MKR, le altre connessioni sono quelle standard,
affiancandole a modulini radio per estenderne la con le porte analogiche da A0 ad A5, i GPIO da A2
connettività (BLE, WiFi, LoRa, Sigfox, GSM/3G, LTE), a A13, compresi RX e TX della connessione seriale,
dando vita alla famiglia MKR, caratterizzata, oltre le connessioni del bus I²C e, ovviamente, vicino al
ai miglioramenti appena visti, da un nuovo fattore connettore degli ingressi analogici, c’è quello delle
di forma, più piccolo e compatto del classico “UNO”. alimentazioni, anche questo con la stessa pin-out
Per completezza facciamo presente che esistono della Arduino UNO. Per mantenere la compatibilità
anche dei modelli con FPGA, come ad esempio è stato inserito anche il connettore a 6 pin ICSP,
l’Arduino MKR Vidor 4000 oppure i prodotti della nella stessa posizione in cui lo troviamo in Arduino
linea professionale Arduino Pro, con caratteristiche UNO; appena sotto abbiamo messo il pulsantino di
ancora più spinte, nati per applicazioni particolari e RESET. Ovviamente anche i fori di fissaggio sono
dai prezzi meno “hobbistici”. stati messi nelle posizioni originali, a parte quello
La transizione verso i microcontrolli ARM a 32 bit in basso, vicino al jack di alimentazione, che è stato
ha comportato, per prima cosa, il passaggio della eliminato perché troppo vicino ai componenti.
tensione di alimentazione e dei bus di comuni- Per completezza, rimandiamo allo schema elettri-
cazione, come ad esempio I²C, allo standard a co e al piano di montaggio.
3,3V, invece dei 5V a cui siamo stati abituati con
la famiglia UNO e derivati. Anche l’ADC lavora SCHEMA ELETTRICO
conseguentemente a questa tensione massima Passiamo ora all’analisi dello schema elettrico,
per cui è stato necessario tenerne conto duran- partendo innanzitutto dalla sezione di alimentazio-

 Fig. 1
Simulazione
del com-
portamento
dell’ingresso
di alimenta-
zione.

27
 Fig. 2
Misura attraverso la
sonda differenziale.

ne: questa è costituita essenzialmente da un robu- stesso; il partitore costituito da R1 e R2 si assicura,


sto buck converter da 3A (IC1), che, vista l’attuale insieme allo Zener D2 da 12V, che la tensione tra
difficoltà nel reperimento dei componenti, è stato source e gate, non sia mai superiore ai 12V, tensio-
scelto in modo da poter essere sostituito almeno ne più che sufficiente a portare correttamente in
da un alternativo: la scelta originaria era per il conduzione il MOSFET, garantendo al contempo un
TPS54302 della Texas Instruments, al momento buon margine di sicurezza (VGSmax=+/--20V per
difficilmente reperibile, caratterizzato da una Vin il MOSFET in uso). Essendo la VGS in modulo mag-
compresa tra 4,5V e 28V, pin to pin compatibile giore del valore di soglia VGSth, il MOSFET entra in
con l’integrato RT6214 della Richtek, che accet- conduzione, cortocircuitando il diodo di body dello
ta tensioni d’ingresso tra i 4,5V e 18V, inferiori stesso, portando la caduta tra DRAIN e SOURCE a
all’integrato della Texas Instruments, ma comun- zero; tutto questo avviene in maniera pressoché
que adeguate per l’utilizzo che vogliamo farne istantanea.
nel nostro shield; sarà necessario tenere conto Nella Fig. 1 è possibile vedere il risultato di una
di questa differenza solo nel caso di applicazioni simulazione con LTSPICE della sezione d’ingresso
particolari, in cui si voglia ad esempio utilizzare una del circuito di alimentazione, con una corrente
tensione esterna di 24V. Entrambi i produttori han- circolante nel PMOS di circa 600mA, che dimo-
no messo all’interno di IC1 varie protezioni, tra cui stra quanto appena detto: si vede inizialmente la
una protezione in caso di sovracorrente in uscita e caduta sul body diode pari a circa 600mV ma dopo
una protezione in caso di riscaldamento eccessivo. appena una manciata di microsecondi il MOSFET
All’ingresso dell’integrato, subito dopo il jack a cui entra in conduzione e la caduta di tensione tra
connettiamo la tensione continua di alimentazione, Drain e Source scende a zero.
abbiamo un fusibile PTC (autoripristinante), seguito In Fig. 2 vede invece la misura effettuata tramite
dal mosfet a canale P indicato con T1 che, insieme una sonda differenziale che mostra l’andamento
ad R1, R2 e allo zener D2, realizza la protezione della VDS all’applicazione della tensione d’ingres-
contro le inversioni di polarità. so: a parte una transizione iniziale non presente
Il funzionamento è il seguente: applicando una nella simulazione, si vede anche in questo caso
tensione con polarità corretta, cioè con il positivo la caduta di tensione che inizialmente è di circa
sul drain e negativo a massa, il diodo di body è 680mV ma poi va a zero; l’unica vera differenza
polarizzato positivamente ed entra pertanto in con la simulazione è il tempo in cui questo avviene:
conduzione, portando il source a un potenziale pari possiamo dire che il modello utilizzato è piuttosto
a quello d’ingresso diminuito dalla caduta sul diodo “ottimistico”, calcolando questo transitorio della

28
durata di circa 2 µs, mentre in realtà abbiamo previsti per il corretto funzionamento dell’integra-
misurato circa 2 ms, quindi 3 ordini di grandezza in to IC1. R11 e R12 sono le resistenze di feedback,
più, differenza quindi non trascurabile ma di impat- che servono per impostare la tensione in uscita e
to nullo nella nostra applicazione reale. variano a seconda dell’integrato: R11 è 100K per
Ricordiamo che le simulazioni servono per orien- l’integrato della Texas Instruments e 40.2K per
tarci nelle scelte progettuali ma non vanno prese la Richtek, mentre R12 è del valore di 13,3 kohm
come “oro colato” perché i modelli non sono mai per la Texas Instruments e di 7,68 kohm per la
perfetti e soprattutto non sempre è possibile Richtek, ovviamente calcolati in entrambi i casi per
considerare e parametrizzare tutte le grandezze avere 5V in uscita; questo perché i due convertitori
e gli elementi in gioco, dato che a volte ci possono utilizzano internamente Vref di valore differente.
essere effetti di ordine superiore che magari noi Anche per l’induttore L1 bisogna distinguere tra il
stessi trascuriamo creando il modello, che si som- caso in cui venga utilizzato il TPS54302, nel qual
mano creando degli effetti che possono “polarizza- caso si utilizzerà un induttore da 10uH, ed il caso
re” il risultato della misura. del RT6214, in cui servirà un induttore da 4,7µH;
Aggiungiamo che la misura si può effettuare in entrambi i casi il circuito è stato dimensionato
anche usando due sonde comuni opportunamente per poter erogare una corrente in uscita fino a 3A
collegate, cioè una sul Drain e una sul Source con e quindi l’induttore dovrà avere con una corrente
entrambe le masse delle stesse connesse alla nominale di saturazione adeguata. C9 è il con-
massa del circuito; per ottenere la misura voluta densatore di bootstrap, previsto per entrambi gli
è necessario far calcolare la funzione differenza integrati. R3 è la resistenza di pull-up dell’enable,
all’oscilloscopio, implementabile in diversi modi a indispensabile per far funzionare gli RT6214,
seconda dello strumento in uso. Si ricorda che la mentre per i TPS54302 non è necessaria e non va
massa dell’oscilloscopio è collegata direttamen- montata. L’uscita a 5V di IC1 è la VIN sul pin 13 di
te alla terra e che collegare questo terminale (la J3 dell’Arduino MKR; tramite J1 è possibile, qualora
massa della sonda) ad un potenziale diverso da necessario, connettere la VIN sul pin 13 alla 5V sul
zero, può causare gravi danni allo strumento e al pin 14, connessa anche al 5V sul connettore ICSP,
dispositivo connesso. in questo modo si può fornire la 5V all’arduino
La Fig. 3 mostra invece la simulazione del caso in MKR senza connetterlo alla presa USB.
 Fig. 3
cui si applichi all’ingresso una tensione negativa di Come per i 4 connettori dell’Arduino UNO visti Simulazione con
-15V: in essa si vede che l’uscita rimane a zero. in precedenza, anche quelli a cui connettiamo tensione d’ingresso
negativa.
Per quanto riguarda C5, C6, C7, C8, C11, C12, C13, l’Arduino MKR rispettano le connessioni standard:
C14, sono i condensatori di ingresso e di uscita su J2 ci sono i 7 ingressi analogici A0-A6 ed i primi

29
6 GPIO (D0-D5) mentre su J3 ci sono gli altri GPIO, lavorare correttamente ed operare la conversione
 Fig. 4 le connessioni del Bus I²C, SPI, UART e le tensioni del livello alto da 3,3V a 5V; in molti shield queste
Il diagramma
di Bode 5V e 3,3V. Facciamo notare alcune differenze tra la resistenze sono già inserite, per cui si è scelto di
simulato. famiglia “UNO” e quella “MKR”: sugli Arduino MKR non inserirle nella nostra scheda; in ogni caso è
il pin corrispondente a D11 e D12 sono rispet- molto facile aggiungerle, qualora necessario, utiliz-
tivamente “SDA” e “SCL”, mentre il D14 e il D13 zando delle resistenze a foro passante, connesse
sono “TX” e “RX” e sono stati collegati a D1 e D0 al connettore femmina delle porte digitali a cui
dell’Arduino UNO; il pin D0 MKR è stato collegato serve il pull-up e la 5V, disponibile ad esempio
al D13 dell’UNO, mentre il pin D1 del MKR non è sullo strip delle alimentazioni.
stato collegato, non corrispondendo direttamente Per quanto riguarda le porte analogiche, sono
ad una funzionalità dell’UNO. previste delle protezioni, costituite, analizzando ad
Nella realizzazione dello shield è stato necessario esempio la porta analogica A0, dal doppio diodo
prendere alcune decisioni, tipo quelle appena viste, schottky D8 che taglia le tensioni superiori a 3,3V
abbiamo, per così dire, dato una nostra interpre- (a cui si aggiunge la tensione di soglia del diodo che
tazione nel cercare di mappare i pin-out delle due entra in conduzione) e protegge la porta contro le
famiglie di Arduino; è chiaro che per applicazioni inversioni di polarità e da R9 che limita la corrente
particolari e meno universali potrebbe essere ne- in ingresso alla porta ed insieme al condensatore
cessario avere una corrispondenza differente delle C10 (che può anche non essere montato, accet-
porte, nel qual caso le modifiche andranno fatte da tando di rinunciare all’azione di filtro) realizza il
voi, in base alle vostre esigenze. filtro passa basso antialiasing. In particolare, se
Come abbiamo già spiegato, la famiglia MKR si sceglie (come abbiamo fatto noi per il nostro
utilizza come tensione di alimentazione del test) di utilizzare per R9 il valore di 1KΩ e per C10 il
microcontrollore, 3,3V invece dei canonici 5V e valore di 100 nF, avremo un filtro passa-basso del
di conseguenza anche i BUS seriali, i GPIO e gli primo ordine, con una frequenza di taglio di 1,59
ingressi dell’ADC funzionano a 3,3V; per questo kHz, determinabile con la formula:
motivo nello shield sono presenti i due integrati IC2
e IC3 che effettuano la traslazione bidirezionale da
5V sul lato connesso all’Arduino UNO ai 3,3V della
Arduino MKR per le porte digitali. A tal proposito Otterremo anche una fase di -45°, che deriva
è necessaria una precisazione: sul lato a 5V è ne- dall’applicazione della formula seguente:
cessaria una resistenza di pull-up su tutte le porte
utilizzate, per permettere al traslatore di livello di

30
 Fig. 5
Andamento
della tensione
di uscita del
filtro.

come chiaramente mostrato dal diagramma di e frequenza pari a 1,59 kHz; l’ampiezza della com-
Bode proposto nella Fig. 4, in cui è visualizzato ponente in uscita è pari a 178 mV, corrispondente
l’andamento sia del modulo che della fase del all’ingresso a -3dB; le formule seguenti chiarisco-
nostro sistema, ottenuto dalla simulazione fatta no da dove derivano tali valori:
con lo strumento LTSPICE.
In questo caso le misure rispecchiano perfetta-
mente l’andamento delle simulazioni.
Nella Fig. 5 si vede l’andamento della tensione
in uscita del filtro, al cui ingresso è applicata una Per quanto riguarda la fase, è facile calcolare che
sinusoide di ampiezza pari a 250 millivolt di picco un ritardo di 78 µs corrisponde ad uno sfasamento

 Fig. 6
Sfasamento
di 45°
all’uscita del
filtro.

31
piano di MONTAGGIO

Elenco Componenti:

R1: 15 kohm (0603) D3, D4, D5, D6, D7, D8, D9: BAT54S
R2: 4,7 kohm (0603) IC1: TPS54302 TI / RT6214AHGJ6F vedi testo
R3: 100 kohm (0603) vedi testo IC2, IC3: LSF0108PW
R4, R5, R6, R7, R8, R9, R10: 1 kohm (0805) L1: 4,7 µH / 10 µH vedi testo
R11: 40,2 kohm / 100 kohm (0603) vedi testo S1: Microswitch
R12: 7,68 kohm / 13.7 kohm (0603) vedi testo T1: CPH6354
C1, C2, C3, C4, C5, C9, C10, C11, C15, C16, C17, C18, C19, F1: PTC 1812L110_33MR
C20, C21: 100 nF ceramico (0603)
C6, C7: 10 µF 25 VL ceramico (1206) Varie:
C8: 2,2 µF 25 VL ceramico (1206) - Plug DC
C12,C13,C14: 22 µF 16 VL ceramico (1206) - Strip Femmina torniti passo 2,54 mm
D1: MBRA320T3G - Circuito stampato S1672 (69 x 54 mm)
D2: Zener 12V PTVS12VS1UR,115

di 45°, che risulta visibile nell’oscillogramma pro- controllore, limitando la corrente che può circolare
posto nella Fig. 6. Le formule che consentono di negli stessi; il suo valore, qualora venisse scelto
arrivare a questa conclusione, ossia di determinare troppo alto, potrebbe interferire con il corretto fun-
la corrispondenza tra sfasamento e ritardo, sono zionamento del circuito di Sample & Hold interno
proposte qui di seguito (il ritardo viene definito con al microcontrollore, causando una diminuzione
T e lo sfasamento con j: dell’accuratezza della misura, per cui si consiglia di
non aumentarlo troppo, mantenendolo possibil-
mente al di sotto di 1,5 KΩ.
Chiaramente montando resistori da 0 ohm bisogna
accettare il rischio di non disporre della protezio-
ne da sovracorrente implementata sugli ingressi
Sulle schede Arduino MKR è disponibile anche un proprio da essi.
ingresso analogico in più rispetto a quelli delle
schede standard (per esempio la UNO), chiamato REALIZZAZIONE PRATICA
A6, che è stato collegato anch’esso al circuito di Bene, con la teoria e l’analisi dello schema elettrico
protezione e filtraggio appena analizzato ed è abbiamo concluso; adesso possiamo occuparci de-
disponibile sui pin A7P - A7. gli aspetti costruttivi, vale a dire della preparazione
Se si volesse eliminare del tutto il filtraggio agli dello shield/adattatore qui descritto.
ingressi analogici, si può decidere di non montare il Per la realizzazione della scheda abbiamo scelto
condensatore e utilizzare una resistenza da 0 ohm; di utilizzare un PCB a 4 strati, non tanto per la
si ricorda che la resistenza ha anche una funzione complessità del circuito, tutto sommato piuttosto
di protezione degli ingressi analogici del micro- limitata, ma più che altro per il grande numero di

32
componenti e di connessioni necessari.
Ci rendiamo conto che a livello prototipale e
hobbistico non è possibile realizzare un circuito
stampato del genere, che è un multilayer, per-
tanto suggeriamo a chi fosse intenzionato a
realizzare il progetto, di appoggiarsi a un servizio
di PCB industriale, magari di quelli on-line. Allo
scopo si possono utilizzare i file gerber caricati
sul nostro sito www.elettronicain.it ed utilizzare il
servizio di prototipazione rapida dei PCB offerto
da Futura Elettronica (PCBPRODUCTION), sul sito
www.futuranet.it; anche i componenti principali
sono facilmente reperibili presso la stessa azienda.
Una volta in possesso del circuito stampato e dei
componenti, la saldatura non presenta particolari
difficoltà per chi ha una buona esperienza nei
montaggi elettronici, essendo tutti i componenti
di dimensioni e di tipologia facilmente saldabili a 
mano con un saldatore a stilo e una lega saldante L’adattatore trasla
la piedinatura delle
di buona qualità, quest’ultima di diametro preferi- Arduino MKR su
bilmente inferiore o uguale a 0,7 mm. quella di Arduino
Come sempre consigliamo di partire dai compo- UNO.

nenti SMD a più basso profilo, per poi montare Tale compatibilità è stata raggiunta utilizzando un
per ultimi i componenti a montaggio tradizionale DC/DC converter in grado di fornire una tensione
(foro passante) e quindi i pin-strip, il jack DC e gli di 5V e di erogare fino a 3A, due traslatori di livello
strip femmina. In tutte le fasi del montaggio, per per i segnali digitali ed i GPIO i cui livelli vanno
il corretto orientamento degli elementi polarizzati convertiti in maniera bidirezionale da 3,3V a 5V, cui
fate riferimento al piano di montaggio visibile sono state aggiunte una serie di protezioni sugli
in queste pagine. Per il collaudo della scheda si ingressi analogici ed eventualmente anche dei filtri
procederà verificando innanzitutto la correttezza antialiasing.
delle saldature, l’assenza di cortocircuiti causati La grande praticità della scheda è nella possibilità
dallo stagno (che nel caso possono essere rimossi di utilizzare la serie Arduino MKR come fosse una
aiutandosi con la treccia dissaldante ed il saldatore Arduino UNO, quindi interfacciandola fisicamente e
ed eventualmente anche con del flussante) per poi meccanicamente come fosse Arduino UNO, ma be-
passare alla verifica della tensione di 5V a vuoto, neficiando delle prestazioni più elevate della MKR.
ossia senza shield e senza board MKR connessa. Avrete così in mano un prezioso strumento per
Una volta fatto ciò, si potrà inserire, nello zoccolo eseguire l’upgrade di progetti esistenti e mante-
formato dagli strip femmina, la Arduino MKR e a nere gli shield della Arduino UNO, con evidente

quel punto, alimentata la scheda, si potranno te- risparmio di tempo e denaro!
stare le porte digitali e quelle analogiche on-board
attraverso gli header dello shield. Come vedete,
passate dalla MKR alla UNO senza fatica...
Con questo è tutto: abbiamo terminato.
Cosa occorre?
CONCLUSIONI
In questo articolo abbiamo visto come sia possibile La serie MKR è disponibile presso Futura Elettronica.
Il PCB della scheda presentata in questo articolo può essere
realizzare uno shield di adattamento tra la nuova realizzato con il servizio di realizzazione circuiti stampati
serie di Arduino MKR e la storica Arduino UNO ed (cod. PCBPRODUCTION) utilizzando il gerber scaricabile dalla
i suoi shield, mantenendo la compatibilità con for- pagina di questa rivista. I prezzi si intendono IVA compresa.
me, dimensioni e tensioni caratteristiche delle due
Il materiale va richiesto a:
versioni, una con microntrollore ad 8 bit, l’ormai
conosciutissimo ATmega 328P, l’altra con i nuovi Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
microcontrollori Cortex a 32 bit.

33
Piastre
Piastre sperimentali
Ideali per creare velocemente un circuito sperimentale per effettuare test,
senza dover necessariamente realizzare un PCB.

MILLEFORI
CODICE MISURA (mm) FACCIA DISTANZA PREZZO
Piastra Millefori 150×90 mm PIAZZOLE (€)
(mm)
doppia faccia
cod. YK653

€ 4,50
YK604 150×90 singola 2,54 3,80

YK647 100×50 singola 2,54 2,60

YK009 70×30 doppia 2,54 1,50


Distanza tra
piazzole: 2,54 mm HR2570 120×80 doppia - 4,50

BREADBOARD
Breadbord 170 contatti Breadbord con base Breadboard 1660 contatti
colore bianco autoadesiva 400 contatti con base in metallo
45x35 mm 82x55 mm e boccole
ROSSO Misura piastra:
cod. BBMINIW 164x109x9,5 mm
cod. BBMINIR
€ 2,50
cod. BB400 cod. YJ319
Misura base:
€4 ,00
€ 14,00
NERO 215x131x1 mm
cod. BBMININ

BLU
cod. BBMINIB COD. MISURA N. PREZZO COD. MISURA MISURA N. PREZZO
(mm) CONT. (€) PIASTRA BASE CONT. (€)
VERDE (mm) (mm)
cod. BBMINIV BB830 165x55 830 5,50 BB3220 188x182x9,5 240x210 3220 21,00

RAMATE PRESENSIBILIZZATE
Piastra Ramata 160×100 mm Piastra Presensibilizzata
singola faccia 160×100 mm singola faccia
cod. P-951 cod. 4062

€2 ,50
€ 5,50

CODICE MISURA (mm) FACCIA PREZZO (€) CODICE MISURA (mm) FACCIA PREZZO (€)
Prezzi IVA inclusa.

P-952 200×150 singola 4,20 4072 160×100 doppia 7,80

P-956 160×100 doppia 5,40 P-995 233×160 singola 13,50

P-957 200×150 doppia 6,20 P-997 233×160 doppia 17,00

Futura Group srl


Caratteristiche tecniche di questi prodotti
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
RASPBERRY PI

SCHEDA
FTR2040LoRa

di PIER CALDERAN

N
La scheda el corso dedicato al microcontrollo-
re RP2040 (vedi le sei puntate dal
FTR2040LoRa unisce numero 266 al numero 271 di Elet-
le potenzialità del chip tronica In) abbiamo spiegato come
collegare la scheda FTR2040 a una
RP2040 di Raspberry Pi breakout LoRa/LoRaWAN della HopeRF
e del modulo RFM95W RFM95W, con collegamenti “volanti”.
Per semplificarvi le cose, abbiamo
allo scopo di creare pensato a una nuova scheda che comprendesse già il modulo
un end device HopeRF RFM95W che qui vi presentiamo.
Il nuovo prodotto è disponibile nello shop di Futura Elettroni-
LoRa/LoRaWAN in ca con il codice FTR2040_LORA868 (Fig. 1).
grado di comunicare con Oltre al modulo LoRa, abbiamo apportato anche numerose
migliorie:
The Things Network e • aggiunta di una porta USB con connettore USB-C per
altri cloud simili. l’alimentazione e la programmazione;

35
Se non avete già configurato la toolchain C/C++
 Fig. 1 di Raspberry Pi Pico nel vostro Raspberry Pi, fate
La nostra scheda riferimento alla seconda puntata del corso.
FTR2040LoRa.
Se avete già configurato la toolchain C/C++, clona-
te il repository dal link seguente:

git clone --recurse-submodules https://github.com/


sandeepmistry/pico-lorawan.git

Assicuratevi di avere il percorso PICO_SDK_PATH


impostato prima di procedere.
Per esempio, se state compilando su un Raspberry
Pi e avete seguito la seconda puntata, dovreste
avere già eseguito il comando seguente (senza
spazi prima e dopo il segno di uguale):
• aggiunta di un pulsante di accensione e spegni- export PICO_SDK_PATH=/home/pi/pico/pico-sdk
mento;
• aggiunta di un pulsante di reset; REGISTRAZIONE DEL GATEWAY SULLA RETE TTN
• aggiunta di un pulsante per il BOOTSEL; Nella terza puntata del corso RP2040 abbiamo
• due file di connettori per il collegamento ester- spiegato in dettaglio la procedura per la registra-
no a sensori, attuatori e quant’altro. zione di un gateway su The Things Network (TTN)
e come creare un’applicazione con un end device.
LA LIBRERIA LORAWAN Pertanto oggi diamo solo alcune rapide indicazioni
Come già detto nel suddetto corso RP2040, il riguardanti le operazioni che dovete fare (Fig. 2).
supporto per la connettività LoRaWAN è stato 1. Creazione di un account su TTN
messo a disposizione da Sandeep Mistry, l’autore https://www.thethingsnetwork.org
della libreria Arduino LoRa, che più recentemente 2. Accesso a TTN facendo clic su Sign Up.
ha fornito anche il supporto LoRa per Pico e altre 3. Accedere alla console e fare clic su Go to gateways.
schede basate su RP2040, utilizzando il modulo 4. Registrare un gateway. Attenzione! Nel nuovo
radio Semtech SX1276. stack V3 di TTN i gateway a singolo canale non
Questo rende la nostra scheda FTR2040LoRa sono più supportati.
completamente compatibile. Per questo motivo dovrete acquistare un ga-
teway disponibile in commercio o costruirvi da
soli un gateway multicanale.
5. Digitate l’EUI ovvero un identificatore unico
per il gateway. Se usate un gateway iC880A
che utilizza il Semtech UDP Packet Forwarder,
copiatelo dal file global_conf.json.
Per esempio, l’ID di default
AA555A0000000000, può diventare sempli-
cemente BB555A0000000000 e deve essere
unico.
6. Cliccate su confirm.
7. Inserite un nome qualsiasi per il campo Gate-
way name.
8. La voce Frequency plan deve essere impostata
con Europe 863 - 870 MHz (SF9 for RX2 -re-
commended).
 Fig. 2
Pagina di CREAZIONE DI UN’APPLICAZIONE
registrazione E DI UN END DEVICE
del gateway.
Facendo clic su Applications della console, potete
aggiungere una nuova applicazione (Fig. 3).

36
Ecco un riepilogo rapido delle operazioni che dove-
te compiere.
1. Inserite un identificativo univoco per Application  Fig. 3
ID (per esempio, my-rp2040). Pagina Add
Application.
2. Inserite un nome qualsiasi per Application name
(per esempio my-rp2040).
3. Inserite una descrizione a piacere per il campo
Description.
4. Fate clic sul pulsante “Create application”.
5. Nella sezione End devices delle Applications fate
clic sul collegamento Add end device (Fig. 4).
6. Scegliete l’opzione Manually per compilare
manualmente i campi come segue:
• Frequency plan: Europe 863-870 MHz (SF9
for RX2 - recommended).  Fig. 4
Pagina
• LoRaWAN version: selezionare 1.0.2. Manually
• Regional Parameters version: RP001 Regio- Register end
device.
nal Parameters 1.0.2.
• Activation mode: lasciare selezionato OTAA.
• DevEUI: un ID generato automaticamente.
• AppEUI: riempire l’ID con tutti 0 (zero).
• AppKey: un chiave generata automaticamente.
• End device name: un nome qualsiasi, per
esempio, rp2040-otaa.
7. Premere sul tasto “Register end device” per
registrare il dispositivo.
8. Apparirà una pagina simile alla Fig. 5.

SCHEMA ELETTRICO  Fig. 5


Prima di procedere vi vogliamo illustrare la nostra Pagina di
scheda FTR2040LoRa iniziando dallo schema registrazio-
ne dell’end
elettrico. device.
Come potete vedere nella breakout sono portati
all’esterno i GPIO del chip RP2040, siglato U3 e le
linee USB sono collegate direttamente alla porta
Type-C. Il clock che scandisce il funzionamento è
ricavato grazie al quarzo Q1 e ai condensatori C5 e
C6, connessi ai piedini di temporizzazione 20 e 21,
che appartengono all’oscillatore principale e cui si
connettono i componenti esterni. L’alimentazione per
il chip è ricavata dal regolatore a basso drop-out U4, il
quale, ricava 3,3V stabilizzati. Grazie ai diodi Schottky
(utilizzati per minimizzare la caduta di tensione) D1
e D2, come fonte di alimentazione principale si pos-
sono utilizzare i 5V in arrivo dalla connessione USB o
quelli provenienti dal contatto 5V.
In altre parole, il circuito può essere alimentato
attraverso la porta USB o il pin 5V, ma è anche
possibile connettere il cavo USB mentre il circuito
è alimentato dai suoi pad di alimentazione, proprio le tipiche connessioni NSS, RST, MOSI, MISO, SCK,
grazie alla presenza degli Schottky, che impedisco- rispettivamente ai pin 11, 12, 30, 27 e 29. Le porte
no ad una tensione di andare sulla linea dell’altra. DIO0 e DIO1 del modulo sono controllate dai pin 9
Il modulo RFM95W è collegato a un porta SPI con e 13 e servono al protocollo LoRa per le funzioni di

37
schema ELETTRICO

38
TX/RX e per impostare la modalità LoRa. una certa competenza per essere realizzato, ma
Completiamo l’analisi dello schema elettrico con che potete farvi preparare da un servizio di circuiti
l’integrato siglato U2, il quale altro non è che l’in- stampati on-line come il PCBPRODUCTION di
dispensabile memoria Flash EPROM da 64Mbit ad Futura Elettronica.
accesso seriale, con modalità DUAL e QUAD SPI; In ogni caso, per il montaggio serve un minimo di
come vedete, è interfacciata all’RP2040 attraverso attrezzatura, della quale deve far parte un salda-
una connessione Serial Peripheral Interface a 4 tore a punta molto fine, una stazione ad aria calda
linee più 2 segnali di controllo. Questa memoria per lavorazione di SMD e BGA (la classica ed eco-
Flash serve a caricare i firmware che scriveremo nomica hot-air station in versione basic va sempre
e a contenere eventuali dati da memorizzare a bene...) delle pinzette per posizionare i componenti
permanenza, utili alle applicazioni che andremo a prima della saldatura, del filo sottilissimo di stagno
realizzare con la nostra board, sia durante questo (diametro non superiore a 0,5 mm) o della pasta-
corso, sia in autonomia. salda per SMD, una lente d’ingrandimento per
verificare il posizionamento del chip RP2040 prima
REALIZZAZIONE DELLA SCHEDA di saldarlo e tutte le saldature effettuate (alla
FTR2040LORA ricerca di baffi di stagno che potrebbero costituire
Il modulo FTR2040LoRa può essere autocostruito cortocircuiti) e della pasta flussante.
seguendo il piano di montaggio dopo aver realizza- Il montaggio deve iniziare dal chip RP2040, che
to il relativo PCB. è il componente più impegnativo e che va posi-
Il circuito stampato è un doppia faccia che richiede zionato, rispettando il verso indicato nel piano di

piano di MONTAGGIO

Elenco Componenti:

R1, R7, R8: 10 kohm (0603) LD2: LED green (0603)


R9, R10: 330 ohm (0603) D1, D2: MBR0520LT1G (SOD123)
R2, R4: 1 kohm (0603) Q1: Crystal 12MHz (3.2x2.5 mm)
R5, R6: 27 ohm (0603) RST, BOOT: PTS810SJK250SMTRLFS
R3: - SW1: DPDT slide switch JS202011JCQN
R11, R12: 5,1 kohm (0603) U1: Module RFM95 868 MHz
C1, C3, C4, C9: 100 nF ceramic (0603) U2: W25Q64JVXGIQ TR
C2: 10 µF 6,3 VL tantalum (2012) U3: RP2040
C5, C6: 22 pF ceramic (0603) U4: MIC5317-3.3YM5-TR
C7, C8: 10 µF ceramic (0603) USB: Molex USB connector 2169900002
LD1: LED red (0603) ANT: IPEX connector RECE.20369.001E.01

39
 Fig. 6
La cartella con
l’esempio
compilato.

montaggio, ben centrato sulle rispettive piazzole, Possiamo quindi scordarci l’hardware ed entrare
preventivamente cosparse di stagno e poi di pasta nel vivo della sua programmazione.
flussante; fatto ciò, scaldandolo con la stazione ad Chi, tra voi, non ha l’attrezzatura o non se la sente
aria calda, si salderà quando avrete visto lo stagno di costruire da sè il circuito, non deve disperare
brillare, allorché toglierete il getto d’aria calda. perché Futura Elettronica (www.futurashop.it)
La saldatura della Flash dovrà essere fatta in rende disponibile la scheda FTR2040LoRa già
modo simile. montata e collaudata (cod. FTR2040_LORA868).
Sicuramente più facile è la saldatura del modulo
LoRa RFM95W che ha la spaziatura delle piazzole IL CODICE DI ESEMPIO
di 2 mm. Per il resto dei componenti, tutti molto Nella stessa cartella della libreria che avete clonato
semplici, potrete procedere con il saldatore, sem- in precedenza, troverete una cartella examples.
pre dopo aver stagnato e cosparso di flussante le Al suo interno troverete una sottocartella
piazzole. Terminato il montaggio e verificato, con hello_otaa con dentro tre file:
l’aiuto della lente d’ingrandimento che sia tutto a • CMakeLists.txt
posto, la scheda è pronta per l’uso. • Config.h
• Main.c

Aprite il file config.h e modificatelo in questo modo:

#define LORAWAN_REGION LORAMAC_REGION_EU868


#define LORAWAN_DEVICE_EUI “70B3D57ED0054DEF”
#define LORAWAN_APP_EUI “0000000000000000”
#define LORAWAN_APP_KEY “9CABA5322B-
2630BE471F0C769B81A977”

Ovviamente, dovete sostituire le stringhe DEVICE


EUI e APP KEY con quelle dell’end device che avete
creato in precedenza su TTN (fate riferimento alla
Fig. 5). La voce APP EUI può rimanere con tutti zero,
 Fig. 7
La cartella del perché l’attivazione OTAA viene gestita da TTN.
dispositivo. Quindi, dopo aver modificato il file config.h, potete
andare avanti e creare l’applicazione di esempio
per il vostro end device.

40
 Fig. 8
La cartella
con i file
INDEX.HTM
e INFO_UF2.
TXT.

Per fare questo, entrate nella cartella pico-lorawan, A questo punto, potete caricare questo file UF2
create una cartella build, entrate nella cartella build nella scheda nel modo consueto, ma con la facilità
ed eseguite prima cmake e quindi make. offerta da questa nostra nuova scheda:
La compilazione potrebbe richiedere qualche • collegate la scheda tramite un cavetto USB-C;
minuto: • spegnete la scheda con il pulsante ON/OFF;
• tenete premuto il pulsante BOOT e accendete la
cd home/pi/pico-lorawan. scheda con il pulsante ON/OFF;
mkdir build
cd build In questo modo, si aprirà la cartella del dispositivo
cmake .. -DPICO_BOARD=pico (Fig. 7).
make Nella cartella che apparirà, contenente i due file
INDEX.HTM e INFO_UF2.TXT (Fig. 8), trascinate al
Se tutto va bene, dovreste avere il file pico_lora- suo interno il suddetto file UF2.
wan_hello_otaa.uf2 nella cartella build/examples/ La cartella si chiuderà e il programma si avvierà.
hello_otaa (Fig. 6). Dal terminale potete lanciare il comando seguente

 Fig. 9
Il debug del
dispositivo
sul terminale.

41
 Fig. 10 per vedere il debug della porta seriale USB: aspettare TTN per il JOIN, cioè la connessione
I dati dell’end-
dell’end device all’applicazione. Quando apparirà
device in arrivo
nell’applicazione minicom -D /dev/ttyACM0 “success”, significa che il dispositivo è collegato
TTN. all’applicazione e dovreste vedere arrivare i dati
Se il collegamento OTAA ha successo, potrete nella pagina dell’applicazione e del device (Fig.
vedere i messaggi seguenti (Fig. 10): 11). Attenzione! L’esempio hello_otaa prevede di
• success! (significa che l’inizializzazione del dispo- mandare i dati della stringa “hello world!” ogni 5
sitivo ha avuto successo) secondi. Dato che TTN pone delle limitazioni nella
• Joining LoRaWAN network ... joined successfully! Community Edition, ovvero alla versione gratui-
(significa che il collegamento con l’applicazione su ta, vi consigliamo di portare l’invio ad almeno 60
TTN ha avuto successo) secondi. Per fare questo, andate alla riga seguente
• sending unconfirmed message ‘hello world!’ ... suc- del file main.c nella cartella dell’esempio, e cam-
cess! (significa che il messaggio è stato inviato con biate il valore dei millisecondi fra un messaggio e
successo a TTN) l’altro portandolo a 60000:
Essendo l’esempio hello_otaa un collegamento
di tipo OTAA (Over The Air Activation) bisognerà if ((now - last_message_time) > 60000)

 Fig. 11
Il messaggio hello
world! decodificato.

42
 Fig. 12
Il terminale
con i dati di
temperatura.

DECODIFICA DEI MESSAGGI Joining LoRaWAN network .........joined successfully!


I messaggi inviati dal dispositivo sono ovviamente sending internal temperature: 27 °C (0x1b)... success!
una serie di byte incomprensibili all’uomo. sending internal temperature: 28 °C (0x1c)... success!
Se andate nella pagina Live data del device e fate sending internal temperature: 27 °C (0x1b)... success!
clic su un messaggio, dovreste vedere la stringa sending internal temperature: 27 °C (0x1b)... success!
hello world! esattamente in questo modo: sending internal temperature: 27 °C (0x1b)... success!

68 65 6c 6c 6f 20 77 6f 72 6c 64 21 INTEGRAZIONE MQTT E NODE-RED


Prima di visualizzare i dati con Node-RED, è neces-
… ovvero la serie di numeri esadecimali corrispon- sario attivare l’integrazione MQTT in TTN.
denti ai valori ASCII della stringa hello world!. Se aprite il menu a sinistra alla voce Integrations,
Nella puntata 4 del corso RP2040 viene spiega- fra le numerose voci, troverete anche l’integrazio-
to in dettaglio come decodificare in automatico i ne MQTT.
messaggi del dispositivo. Per il momento potete Facendo clic su MQTT, si aprirà una pagina simile
decodificare il messaggio manualmente copiando alla Fig. 13.
il messaggio e andando in uno dei tanti siti dedicati Qui troverete tutte le informazioni da inserire in
alla conversione hex to string, come per esempio seguito in Node-RED per l’integrazione MQTT di
https://codebeautify.org/hex-string-converter. Dovreste TTN.
vedere il messaggio decodificato come nella Fig. 11.
MQTT server host
VISUALIZZARE I DATI IN NODE-RED Public address eu1.cloud.thethings.
Se avete seguito il corso RP2040 o il corso network:1883
Node-RED della nostra rivista sapete già come Public TLS address eu1.cloud.thethings.network:8883
fare. Per vostra comodità riassumiamo in breve Connection credentials
come poter visualizzare, per esempio, i dati di Username my-rp2040@ttn
temperatura del sensore interno al chip RP2040 Password Generate new API key
tramite il browser di Node-RED.
Il codice di esempio per la scheda si trova nella Oltre all’indirizzo del server MQTT e la porta di con-
stessa cartella examples che avete clonato. Modi- nessione, vengono date le credenziali di accesso,
ficate l’esempio otaa_temperature_led seguendo che sono relative al nome utente, ovvero il nome
la stessa procedura che abbiamo già spiegato. dell’applicazione che state utilizzando seguito da
Dalla cartella build copiate l’esempio pico_lora- @ttn, e la password che viene generata tramite il
wan_otaa_temperature_led.uf2 nella scheda pulsante Generate new API key.
esattamente come prima. Dovrete copiare queste informazioni dopo aver
Dopo il Join OTAA, dovreste vedere arrivare nel creato un flow su Node-RED, come spieghiamo nel
terminale i dati di temperatura (Fig. 12): prossimo paragrafo.

43
 Fig. 13
Pagina Integrations
per l’integrazione
MQTT di TTN.

MQTT E NODE-RED Name: mqtt TTN (o qualsiasi altro nome)


Per approfondire l’uso di Node-RED vi consigliamo Facendo clic sull’icona matita del menu Add new
il corso Node-RED pubblicato su Elettronica In dal mqtt-broker… si aprirà una finestra in cui dovete
numero 258 al numero 265. inserire le informazioni dell’integrazione MQTT di
Per la connessione con TTN, dovete innanzitutto TTN, viste prima.
creare un nodo MQTT In, cioè un nodo che rimar- Nel tab Connection inserite l’indirizzo del broker
rà in ascolto dei dati del broker MQTT di TTN. In un TTN e un nome qualsiasi (Fig. 15):
flow di Node-RED trascinate il nodo MQTT In (Fig. Name: ttn broker
14) dalla barra laterale sinistra ed editate il conte- Server: eu1.cloud.thethings.network:1883 Port 1883
nuto in questo modo:
Server: Add new mqtt-broker… Nel tab Security inserite Username e password
Action: Subscribe to single topic generati da TTN (Fig. 16).
Topic: # (significa la sottoscrizione a qualsiasi topic)
QoS: 2 Username: my-rp2040@ttn
Output: auto-detect (string or buffer) Password: ****************** (l’API key generata da TTN)

 Fig. 15
Il tab Connection
del nodo MQTT.

 Fig. 14
Il nodo MQTT.

44
 Fig. 16
Il tab
Security del
nodo MQTT.

Fate clic Update e Done per chiudere l’editor e quindi va inserita nella pagina Payload formatter dell’end
su Deploy per distribuire il nodo. device. Una volta aperta la pagina Payload format-
Dovreste vedere la connessione attivarsi, ovvero ters dovreste vedere qualcosa di simile alla Fig. 18.
visualizzare connected in verde in corrispondenza Nella finestra Custom Javascript formatter copiate
del nodo MQTT In. il codice che riportiamo nel Listato 1 e che potete
Senza entrare nei dettagli, possiamo solo dirvi che i trovare nella nostra pagina di download (paylo-
dati del nodo vanno convertiti in un oggetto JSON da ad_formatter.txt).
un nodo json collegato all’uscita del nodo MQTT In. A questo punto possiamo collegare un nodo fun-
Collegando un nodo debug all’uscita del nodo json ction e scrivere una funzione che “isoli” solo il dato
dovreste vedere nella finestra di debug qualcosa di che ci interessa, ovvero il valore di temperatura.
simile alla Fig. 17. Per fare questo, all’interno del nodo function scri-
Sono tutti i dati provenienti dall’end device, viamo una funzione che trovate nel Listato 2.
compreso la coppia chiave-valore che abbiamo Nella variabile obj creiamo una coppia  Fig. 17
decodificato con il Payload formatter. chiave-valore composta dalla chiave “temp” e dal Il debug di
Node-RED.
Il Payload formatter è una funzione Javascript che valore msg.payload.uplink_message.decoded_

45
 Listato 1
function Decoder(bytes, port) {
var decoded = {};
decoded.t1 = bytes[0]; // assegnazione del byte di temperatura alla variabile
return decoded;
}

function decodeUplink(input) {
var data = input.bytes;
var valid = true;

if (typeof Decoder === “function”) {


data = Decoder(data, input.fPort);
}

if (typeof Converter === “function”) {


data = Converter(data, input.fPort);
}

if (typeof Validator === “function”) {


valid = Validator(data, input.fPort);
}

if (valid) {
return {
data: data
};
} else {
return {
data: {},
errors: [“Invalid data received”]
};
}
}

payload.t1, ovvero dal valore di t1, che corrisponde temperatura nella dashboard di Node-RED, basta
alla chiave di temperatura. aggiungere un nodo gauge e collegarlo all’uscita
Con la variabile var res_temp = obj[“temp”] as- del nodo function.
segniamo il valore decodificato della temperatura Ovviamente dovrete creare anche un gruppo e
e con var msg1 = { payload:res_temp } creiamo tab per visualizzare il nodo gauge nella dashboard.
l’oggetto da restituire con return [msg1]. Andando all’indirizzo della dashboard (solitamente
Collegando un nodo debug all’uscita del nodo fun- 127.0.0.1:1880/ui) dovreste vedere qualcosa di
ction dovreste vedere solo il valore di temperatura simile alla Fig. 20.
(Fig. 19). Ogni qualvolta il valore di temperatura del vostro
A questo punto, per visualizzare il valore di end device cambierà, vedrete l’ago del gauge muo-

 Listato 2
var obj =
{
“temp”:msg.payload.uplink_message.decoded_payload.t1
}

var res_temp = obj[“temp”]


var msg1 = { payload:res_temp };

return [msg1]

46
 Fig. 18
La pagina
Payload
formatters
dell’end
device.

 Fig. 19
Il debug di Node-
RED con solo il valore
di temperatura.

 Fig. 20
I dati di
temperatura
nel terminale.

versi e indicare la temperatura esattamente come


Cosa occorre?
viene rilevata. La breakout board con il chip RP2040 e il modulo LoRa 868
Il flow di Node-RED pronto all’uso è disponibile MHz (cod. FTR2040_LORA868) è in vendita a Euro 28,00
mentre la breakout senza il modulo radio (cod. FTR2040)
come risorsa scaricabile gratuitamente. è disponibile a Euro 13,90. Il microcontrollore RP2040
(cod. RP2040) è in vendita a 2,50 Euro.
CONCLUSIONI I prezzi si intendono IVA compresa.

Con la speranza di essere stati sufficientemente Il materiale va richiesto a:


chiari, vi invitiamo a sperimentare con la nostra
scheda FTR2040LoRa e a costruire la vostra rete Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
 Tel: 0331-799775 - www.futurashop.it
LoRaWAN senza sforzo.

47
Dai la giusta tensione
al tuo progetto.
SCEGLI TRA LA VASTA GAMMA DI CONVERTITORI DC-DC
QUELLO CHE FA PER TE.
STEP UP

CONVERTITORE DC/DC CONVERTITORE DC/DC CONVERTITORE DC/DC


CON INGRESSO 3,5-30V CON INGRESSO 10-60V CON INGRESSO 3-30V
E USCITA 4-30V CON USCITA 12-80V E USCITA 5-35V
cod. MODSTEPUP cod. BOOSTDCDC cod. YXA347
€5 ,00
€ 25 ,00
€ 6,00

STEP DOWN

CONVERTITORE DC/DC CONVERTITORE DC/DC CONVERTITORE DC/DC


CON INGRESSO 4-40V CON INGRESSO 9-35V CON INGRESSO 7-36V
E USCITA 1,25-37V E USCITA 5V E USCITA 1,25-32V
cod. STEPDOWNDISP cod. DCDCSTEPDOWN cod. YB728

€6 ,90 €6 ,50
€ 14,00

CONVERTITORE DC/DC CONVERTITORE DC/DC CONVERTITORE DC/DC


CON INGRESSO 5-32V CON INGRESSO 3-40V CON INGRESSO 7,5-20V
E USCITA 1,2-30V CON USCITA 1,5-35V E USCITA 5V-1,2A
cod. STEPD5V32 cod. MODULODCDC cod. YM355
€5 ,90
€4 ,30
€ 5,00

STEP UP/DOWN

CONVERTITORE DC/DC
CON INGRESSO 4-35V
Prezzi IVA inclusa.

E USCITA 1,5-25V
cod. STEPUPDOWN
€ 16,00

Futura Group srl


Caratteristiche tecniche di questi prodotti
®
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
LIGHTING

BREAKOUT BOARD
DRIVER LED DIODES
AL8861

dell’Ing. VINCENZO GERMANO

P
er quanto i LED (dall’acronimo anglo-
sassone Light Emitting Diodes ovvero
diodo a emissione di luce) hanno una
I LED sono diventati storia ormai di varie decine di anni, il
sempre più comuni loro pieno potenziale si è realizzato
solo negli anni sessanta da ricerca-
nell’elettronica di tori e ingegneri che cominciarono a
consumo, ma per concentrarsi sulla realizzazione e poi
industrializzazione di LED più efficienti. Ad oggi questo com-
farli funzionare in ponente viene comunemente utilizzato nella maggior parte
modo efficiente e di dispositivi elettronici, solo per citarne alcuni, li ritroviamo
nei display di dispositivi tipo computer, TV, tablet, smartpho-
sicuro, è necessario ne, semafori, fotocamere digitali, elettronica di consumo,
utilizzare un driver illuminazione ambientale, domotica e molto altro ancora.
Com’è facile immaginare non ha filamenti né tantomeno
LED. gas (come nelle vecchie lampadine a filamento) ma è un

49
schema ELETTRICO

associata, vediamo a grandi linee le caratteristi-


che principali dei driver LED.

TIPOLOGIE E CARATTERISTICHE PRINCIPALI


DEI DRIVER LED
Per quanto di distinzioni e classificazioni se ne
possono fare molte sulla tipologia di driver, possia-
mo generalizzare considerando che sul mercato si
possono distinguere due macro tipologie differenti
di driver LED, quella a corrente costante e quella a
tensione costante, che, com’è facile immaginare,
hanno applicazioni e utilizzi diversi tra loro.
I primi sono progettati per LED che richiedono una
corrente fissa (costante) ma possono sopportare
una gamma di tensioni differenti, che trovano
dispositivo a semiconduttore che va ad emettere maggiore applicazione per alimentare faretti a LED
luce nello spettro del visibile (e non solo) quando o ad alta potenza.
riceve tensione tra i suoi due terminali (o pin) Mentre il driver a tensione costante, è progettato
esterni; semplificando estremamente, con una per LED che richiedono una tensione fissa e una
polarizzazione di tensione “positiva” tra i due corrente regolabile; generalmente vengono uti-
terminali, si polarizza positivamente la sua giun- lizzati per strisce LED, illuminazione d’ambiente e
zione interna e viene generata luce. I vantaggi di applicazioni affini in cui si ha una tensione costante
questa tecnologia rispetto al filamento è indubbia, per mantenere sia il colore che l’intensità dell’illu-
offrendo un consumo energetico molto basso, minazione.
una lunga durata d’utilizzo e sicuramente maggior Possiamo considerare che la maggior parte degli
“rispetto” verso l’ambiente. usi a LED sono a bassa tensione, tipo le strisce
Tuttavia, diversamente dall’illuminazione tradizio- LED utilizzate per l’illuminazione ambientale che
nale, uno degli elementi più importanti nel funzio- tendenzialmente sono a 12V o 24V (ovviamente
namento dei LED sono i driver. Dato che i LED non bisogna associare il corretto driver con la tensione
vengono collegati direttamente alla corrente elet- corretta per poterle gestire) ma oltre alla caratte-
trica, per il loro pilotaggio hanno la necessità di ristica in tensione bisogna tener presente anche i
essere gestiti mediante un dispositivo elettronico Watt di un driver, che stanno ad indicare la sua ca-
identificato come driver LED, che adatta tensione pacità massima in uscita (come relazione corrente-
e corrente alle necessità di utilizzo del particolare tensione). In generale si scelgono driver in grado
LED in base alle caratteristiche richieste. di erogare una potenza superiore di almeno il 10%
Andando a considerare il settore dell’illuminazio- rispetto alla potenza del LED o della striscia di
ne e non la gestione magari di un singolo LED di LED alimentata, questo per garantire anche una
segnalazione, essendo i LED un tipo di carico mol- maggiore durata del sistema. Tuttavia per quanto
to particolare, questa funzione apparentemente la potenza indica la quantità di energia consumata
semplice in realtà non lo è, richiedendo lo svilup- durante l’utilizzo, non conviene scegliere un driver
po di soluzioni non banali da progettare e gestire con potenza troppo alta per evitare deterioramen-
caso per caso. Due principali fattori complicano ti/danneggiamenti nel tempo.
ulteriormente lo scenario, il primo riguarda il
panorama di questo settore in continua evoluzio- IL DRIVER LED AL8861
ne dovendo proporre un’elettronica di pilotaggio Tralasciando ulteriori dettagli legati ai driver in
sempre al passo con nuovi sviluppo e tecnologie generale, procediamo con un focus particolare sul
LED, il secondo fattore è la moltitudine di diffe- part numer della Diodes AL8861.
renti soluzioni per il pilotaggio di LED mediante Questo driver LED è un convertitore step-down
le proposte più svariate di tipologie di driver con DC-DC con isteresi; questa tipologia di convertitori
caratteristiche e requisiti specifici da valutare con sono utilizzati in un’ampia gamma di sistemi nella
attenzione in base al progetto d’interesse. nostra vita quotidiana e il loro obiettivo principale
Prima di affrontare le caratteristiche principali del è aumentare o diminuire la tensione in continua
driver della Diodes AL8861 e la breakout board in base all’applicazione in questione, fornendo

50
 Fig. 1
al contempo anche la regolazione della tensione. o inferiore al pin VSET può disattivare l’uscita e far AL8861, tipologie di
package
Nel particolare, il codice Diodes è uno step-down, entrare il dispositivo nello stato di standby con un
perciò riduce in uscita una tensione in ingresso basso consumo di corrente.
all’interno di un dato range più alto, in questo caso Con riferimento alla Fig. 2 in cui è riportato un pos-
il dispositivo può funzionare con tensioni di input sibile schema con la componentistica esterna per il
tra 4,5V e 40V. pilotaggio del driver, è possibile notare come il pin
Progettato per la gestione di LED singoli o multipli, Lx (1 nel TSOT e 5,6 nel MSOP) è relativo al drain
riesce a pilotarli in modo efficiente a partire da una del NMOS integrato nel driver per il pilotaggio dei
tensione superiore a quella richiesta dal/dai LED, LED (ad esso va collegato il catodo del LED).
fornendo una corrente di uscita regolabile esterna- Il pin VIN è relativo alla tensione d’ingresso ed ha
mente fino ad arrivare a 1A per il package TSOT25 la necessità di un condensatore di disaccoppia-
e 1,5A per i due package SOT89-5 e MSOP-8EP mento C1 da 10uF o maggiore (collocato vicino al
(con riferimento alla Fig. 1). Ovviamente la scelta dispositivo).
del package dipende dalla corrente erogabile ma Il pin Isense che grazie a un resistore Rs (tra
anche dall’ingombro del componente sul circuito questo pin a VIN) permette di definire la corrente
stampato e soprattutto dalla capacità di dissipa- di uscita media nominale, infine il pin VSET che è
zione di potenza necessaria. Infatti è consigliabile multifunzionale, ovvero:
utilizzare la versione SOT89-5 con correnti LED più • se viene lasciato non collegato il driver avrà un
elevate e circuiti stampati più piccoli per massimiz- comportamento di normale funzionamento;
zare la corrente LED consentita in un intervallo di • con una tensione inferiore a 0,2V disattiva la
temperatura ambiente più ampio. corrente di uscita;
Riguardo la potenza erogata, a seconda della ten- • con una tensione continua (0.3V < VSET < 2.5V)
sione di alimentazione e dei componenti esterni viene regolata la corrente di uscita da 0 a 100%
con cui è progettato, questo convertitore può rispetto al nominale (regolazione lineare dal 5%
fornire fino a 40W di potenza di uscita. al 100% del nominale);
L’AL8861 integra l’interruttore di alimentazione (in-
tegrated power switch) e un circuito di rilevamento
della corrente di uscita, impostabile mediante una
resistenza esterna che configura la corrente di
uscita media nominale. Ulteriori caratteristiche
salienti sono la possibilità di dimmerare median-
te un segnale PWM (Pulse Width Modulation o
modulazione a larghezza d’impulso) di controllo sul  Fig. 2
AL8861,
pin VSET che può essere anche gestito in continua possibile
nel caso non si voglia il dimming. Inoltre si può componenti-
stica esterna
gestire il tempo di soft start mediante il valore
di un condensatore esterno tra il pin di VSET e il
GND. Infine l’applicazione di una tensione di 0,2V

51
piano di MONTAGGIO

nenti necessari per il corretto utilizzo del driver e


collegato il pin VSET sul connettore CN1 pin 2 CTR,
in modo tale che l’utente possa utilizzare tutte le
funzionalità appena descritte.
Mentre sul connettore CN2 è possibile collegare
uno o più LED in cascata.
Durante il normale funzionamento, quando viene
applicata la normale tensione di ingresso su VIN
Elenco Componenti: (pin 3 del CN1), l’interruttore all’interno del driver
AL8861 si accende e la corrente inizia a fluire
R1 0,1 ohm (2010) attraverso il resistore di rilevamento R1, l’induttore
C1 2,2 µF 50 VL ceramico (0805) L1 e i LED collegati al connettore CN2.
D1 CDBVF240-HF La corrente comincia ad aumentare linearmente e
U1 AL8861WT-7 la velocità di rampa è determinata dalla tensione
L1 Induttanza 22 µH 2A
di ingresso VIN e dall’induttore L1, producendo una
rampa di tensione attraverso R1. Il circuito interno
Varie:
- Morsetto 2 vie 2.54 mm dell’AL8861 rileva la tensione su R1 e applica una
- Morsetto 3 vie 2.54 mm tensione proporzionale all’ingresso del compara-
- Circuito stampato S1667 (39x11 mm) tore interno. Quando questa tensione raggiunge
una soglia superiore impostata internamente,
l’interruttore interno viene disattivato. La corrente
dell’induttore continua a fluire attraverso R1, L1,
i LED e il diodo D1 e torna alla linea di alimen-
tazione, ma decade con la velocità determinata
• con segnale PWM si riesce a regolare l’uscita dalla caduta di tensione diretta dei LED e del
(regolazione lineare da 1% a 100% del nominale diodo D1. Questa corrente in diminuzione produce
per f < 500Hz) una tensione in caduta su R1, che viene rilevata
• se si prevede un condensatore da questo pin a dall’AL8861. All’ingresso del comparatore interno
GND, si può aumentare il tempo di soft-start, verrà applicata una tensione proporzionale alla
ovvero un avvio graduale, il tempo predefinito tensione di rilevamento su R1. Quando questa
è di 0,1 ms, mentre il tempo di avvio graduale tensione scende alla soglia inferiore impostata
aggiuntivo è di circa 1,5 ms/1 nF internamente, l’interruttore interno viene riattivato.
Questo ciclo di accensione e spegnimento continua
Passiamo a questo punto all’analisi della breakout a fornire la corrente LED media impostata dal
board acquistabile su futuranet.it con il codice resistore di rilevamento R1.
FT1667 per comprenderne la sua implementazio- Come appena visto, la corrente di uscita media
ne e il suo funzionamento. nominale nei LED è determinata dal valore del
resistore di rilevamento della corrente esterna
IL DRIVER LED (R1) collegato tra VIN e ISENSE ed è data dalla
Facendo riferimento allo schema elettrico, possia- seguente relazione Iout(nominale) = 0,1/R1; la
mo notare come siano stati riportati tutti i compo- Tabella 1 fornisce i valori della corrente di uscita
media nominale per diversi valori preferiti del resi-
store di impostazione della corrente (R1), nel caso
specifico della breakout board S1667 la corrente
NOMINAL AVERAGE OUTPUT è stata impostata su 1A, quindi con resistenza
RS (Ω)
CURRENT (mA)
0,1Ohm.
0.066 1,500 Questi valori presuppongono che il pin VSET sia
non collegato e ad una tensione di riferimento
0.1 1,000
 Tabella 1 nominale per il comparatore interno. È possibile
Valori di R1 0.13 760 utilizzare diversi valori di R1 se il Pin VSET è pilota-
configurabili
rispetto la corrente 0.15 667 to da un segnale di regolazione esterno.
di uscita. Considerando l’applicazione di una tensione DC da
0.3 333 0,3 V a 2,5 V sul pin VSET, il driver può regolare

52
la corrente di uscita dallo 0 al 100% del nominale,
come mostrato nella Fig. 3, tuttavia l’intervallo di
regolazione consigliato va dal 5% al 100%.
Se il Pin VSET viene portato al di sopra di 2,5V,
la corrente del LED verrà bloccata al 100% del
nominale mentre se la tensione VSET scende al
di sotto della soglia di 0,3V, l’interruttore di uscita
si spegnerà. In più, la corrente del LED può essere
regolata digitalmente applicando un segnale logico
modulato in larghezza di impulso (PWM) a bassa
frequenza al pin VSET per accendere e spegnere
il dispositivo. Ciò produrrà una corrente di uscita CONCLUSIONI  Fig. 3
media proporzionale al ciclo di lavoro del segnale Abbiamo visto a grandi linee cosa sono i driver Il driver LED con
AL8861
di controllo. Per ottenere una risoluzione eleva- LED, analizzate le loro caratteristiche principali per
ta, è raccomandabile che la frequenza PWM sia poi fare un focus diretto su un componente della
inferiore a 500 Hz, tuttavia è possibile utilizzare Diodes, ovvero il driver LED AL8861 che è stato
frequenze di regolazione più elevate a scapito della utilizzato per la realizzazione della breakout board
gamma dinamica e della precisione della regolazio- S1667, acquistabile sul sito futuranet.it. Grazie a
ne. Tipicamente, per una frequenza PWM di 500Hz questa board è possibile pilotare LED con il sempli-
la precisione è migliore dell’1% per PWM che va ce ausilio di un Arduino e di qualche rigo di codice

dall’1% al 100%. La precisione del dimming a basso come visto precedentemente.
ciclo di lavoro è influenzata sia dalla frequen-
za PWM che dalla frequenza di commutazione
dell’AL8861; perciò per una migliore precisione/ri-
soluzione, la frequenza di commutazione dovrebbe
essere aumentata mentre la frequenza PWM
dovrebbe essere ridotta.
Qualche ulteriore considerazione sulla selezio-
ne dei componenti è, per la massima efficienza
e prestazioni, il diodo D1 è stato scelto come
diodo Schottky veloce a bassa capacità con bassa
corrente di dispersione inversa che fornisce inoltre
una migliore efficienza rispetto ai diodi al silicio,
grazie alla minore tensione diretta e al ridotto
tempo di ripristino.
La maggiore tensione diretta e l’overshoot dovuto
al tempo di recupero inverso nei diodi al silicio
possono aumentare la tensione di picco sull’uscita
Lx, perciò se veniva utilizzato un diodo al silicio
era necessario prestare maggiore attenzione per
garantire che la tensione totale sul pin Lx (inclusa
l’ondulazione dell’alimentazione), non superasse il
valore massimo specificato.
Infine rispetto la scelta del condensatore C1, è
stato selezionato un condensatore a bassa ESR
Cosa occorre?
(Equivalent Series Resistance) per il disaccop-
piamento dell’ingresso, poiché l’ESR di questo Il driver LED (cod. FT1667M) è disponibile già montato a Euro
8,50 IVA compresa.
condensatore appare in serie con l’impedenza della
sorgente di alimentazione e può ridurre l’efficienza
complessiva. Il materiale va richiesto a:
E’ possibile utilizzare il driver LED con Arduino
per controllare la luminosità di un led sfruttando Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
un’uscita PWM.

53
FUTURA
IDEE IN ELETTRONICA

Entra nel mondo dell’elettronica!


Le scatole di montaggio KIT di Futura Elettronica sono semplici da montare e di facile utilizzo,
ideali per avvicinarsi al fantastico mondo dell’elettronica. Non utilizzano microcontrollori e sono fornite
con schemi elettrici e istruzioni così da capire e personalizzare il funzionamento.

Interruttore Modulo Alimentatore


Crepuscolare Intermittenza stabilizzato
da 1,5 a 35 V

cod. FK001 | € 9,00 cod. FK002 | € 12,00 cod. FK003 | € 10,50

Alimentatore Timer Start e Stop Interruttore


stabilizzato duale da 1 a 240 secondi Battimani
e regolabile

cod. FK004 | € 14,00 cod. FK005 | € 14,00 cod. FK006 | € 14,00

Controllo Regolatore di
automatico velocità per ventole
ventilazione

cod. FK007 | € 14,00 cod. FK008 | € 17,80

Luce psichedelica Protezione bassa Regolatore PWM


a LED tensione per pannelli
fotovoltaici 12/24V

cod. FK009 | € 12,00 cod. FK010 | € 11,50 cod. FK011 | € 18,00

Futura Group srl


Caratteristiche tecniche di questi prodotti
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
NETWORKING

GANIMEDE.E12 di FRANCESCO FICILI

N
egli ultimi anni abbiamo assistito ad
una importante proliferazione di nuovi
strumenti di sviluppo, che hanno sem-
Versatile ed pre di più allargato il perimetro delle
economica scheda di possibilità progettuali dei Maker.
Questi nuovi strumenti hanno consen-
sviluppo basata su tito di migrare il range applicativo dai
ESP12, dotata di USB, semplici progettini con LED e pulsanti, verso sistemi sempre
più complessi e connessi.
WiFi, slot mikroBus e Se Arduino è sicuramente definibile come il capostipite
Grove. Programmabile di questa famiglia di strumenti, sistemi di sviluppo come
NodeMCU, ESP32 Thing e Raspberry Pi Pico ne costituiscono
tramite IDE Arduino, sicuramente la nuova generazione. Le schede citate in pre-
Micropython o cedenza sono tutti strumenti validi, ma spesso presentano il
difetto di non supportare un ben definito standard di interfac-
Javascript. ciamento hardware, esponendo semplicemente quanti più pin

55
schema ELETTRICO

possibili verso l’esterno tramite delle comuni strip utilizzasse standard di interfacciamento hardware
a passo 2,54 mm. Questa configurazione hardwa- comuni e per i quali esistono già svariate breakout
re richiede quindi che l’utente utilizzi collegamenti board con i vari sensori ed attuatori necessari per
cablati tramite cavetti tipo dupont e breadboard i tipici progetti hobbistici. Abbiamo inoltre voluto
per la realizzazione delle applicazioni finali basate che questa scheda mantenesse le caratteristiche
su queste schede, portando spesso a realizzazioni dei sistemi descritti in precedenza, e quindi che
hardware molto sommarie, ingombranti e scomo- fosse economica, semplice da utilizzare, dotata di
de da gestire sul campo (Fig. 1). interfacciamento USB e WiFi ed in grado di sup-
Per ovviare a questo problema abbiamo pensato portare una vasta gamma di linguaggi di program-
di realizzare una semplice scheda di sviluppo che mazione e frameworks.

56
 Fig. 1
Tipica
realizzazione
hardware
basata su
NodeMCU.

GANIMEDE.E12 SCHEMA ELETTRICO


Il risultato dei nostri ragionamenti è una famiglia Dopo aver descritto a grandi linee il progetto,
di schede con hardware totalmente open, basata passiamo alla descrizione hardware di dettaglio
sul modulo ESP12, prodotto da AI-Thinker (a sua della scheda, per la quale ci riferiamo allo schema
volta basato sul SoC ESP8266, con l’aggiunta di elettrico visibile nella pagina qui accanto.
memoria Flash QSPI, antenna WiFi integrata e Come già anticipato, il cuore della nostra scheda
tutta la circuiteria necessaria al funzionamento è il modulo ESP12 (indicato nello schema elet-
del SoC stesso); ciascuna scheda è dotata di trico come U1). E’ stato scelto questo particolare
interfacciamento hardware verso gli standard modello in quanto risulta estremamente diffuso ed
Mikroelektronika MikroBus (Click Boards) e economico, oltre ad essere dotato di antenna WiFi
SeedStudio Grove, in modo da poter utilizzare integrata (e certificata), risolvendo di conseguenza
tutte le breakout board messe a disposizione da la problematica dell’implementazione dell’antenna  Fig. 2
La board Ganimede
questi due standard. Ogni board è dotata inoltre, su PCB. Sebbene la maggior parte della circuiteria E.12.
di porta USB per programmazione, debug ed necessaria per il funzionamento dell’ESP8266 sia
interfacciamento verso Host PC, di connettore per effettivamente racchiusa all’interno del modulo, ci
interfacciamento con standard NeoPixel e 1-Wire,
nonché per display OLED da 0,96’’ I²C-Bus.
Abbiamo deciso di chiamare questa famiglia
Ganimede, ed il modello specifico Ganimede.E12,
per evidenziare il fatto che sia stata sviluppata
partendo dal modulo ESP12. Ganimede è una
piccola luna di Giove ed il nome è stato scelto per
rappresentare il parallelismo tra il macrosistema
costituito dagli strumenti di sviluppo per maker
ed hobbisti (Giove) ed il piccolo ecosistema deri-
vato che intendiamo costruire.
Nella Fig. 2 è riportata la scheda Ganimede.E12,
dalla quale si vede la dotazione hardware.

57
IL MODULO ESP-12
E IL SOC ESP8266

Il modulo ESP-12 è una scheda di di collegare il modulo ESP-12 a


sviluppo basata sul System-on- vari sensori e dispositivi esterni
Chip (SoC) ESP8266 prodotto da per creare progetti di vario tipo. sono alcuni accorgimenti importanti da implemen-
Espressif Systems. La piccola L’ESP8266 supporta diversi pro- tare dal punto di vista hardware affinchè il modulo
board è stata progettata per tocolli di rete come TCP/IP, HTTP, funzioni correttamente. Per prima cosa ci sono alcuni
fornire una soluzione compatta DNS, DHCP, UDP e molti altri, il pin speciali che devono essere opportunamente ge-
ed economica per l’implementa- che lo rende una soluzione versa- stiti. Il primo è il pin EN (o chip-enable), che permette
zione di dispositivi connessi a tile per la connettività Wi-Fi. Dal di mettere il chip in basso consumo dall’esterno,
Internet. punto di vista della programma- portando il pin stesso ad un valore logico basso.
zione, è possibile programmare Non prevedendo di utilizzare questa funzionalità,
l’ESP8266 utilizzando il linguag- abbiamo portato costantemente il pin ad un valore
gio di programmazione C/C++, logico alto tramite la resistenza di pull-up da 10kohm
come anche linguaggi di scripting R5. L’altro pin speciale è il pin RST, che permette di
come LUA, uPython e JavaScript, resettare il modulo dall’esterno. Noi abbiamo deciso
rendendolo accessibile a una di fornire la possibilità all’utente di resettare tramite
vasta gamma di sviluppatori. un pulsante, quindi abbiamo collegato il pin RST al
Inoltre, il SoC supporta vari pulsante SW2, e mantenuto per impostazione pre-
ambienti di programmazione definita lo stesso pin ad un valore logico alto tramite
Il SoC ESP8266 è un microcon- integrati, come l’IDE Arduino e la resistenza R13, sempre da 10 kohm. In questo
trollore a basso costo che integra PlatformIO, sistemi operativi modo è possibile resettare la scheda premendo
un processore a 32 bit basato real-time come FreRTOS e vari il pulsante SW2. I pin 9, 10, 11, 12, 13 e 14 sono
su processore Tensilica Xtensa framework, come i popolari da non collegare, perché sono utilizzati all’interno
LX106, un modulo Wi-Fi, una framework di sviluppo NodeMCU del modulo ESP12 per interfacciare la memoria
memoria flash e una serie di peri- e Tasmota. programma QSPI interna da 4MB, nella quale viene
feriche I/O. Queste caratteristiche In sintesi, il modulo ESP-12 è una salvato il codice da eseguire. Ci sono poi una serie di
lo rendono un’ottima soluzione soluzione economica e compatta GPIO standard dotati di doppia funzionalità, potendo
per la costruzione di dispositivi per creare dispositivi connessi ad funzionare come normali GPIO in running, ma che
connessi ad internet, come ad Internet, che sfrutta le potenti vengono letti dal SoC allo startup per determinare
esempio sensori remoti, dispositi- funzionalità del SoC ESP8266. la modalità di boot. Questi pin sono GPIO0, GPIO2 e
vi di automazione domestica e Grazie alla sua versatilità e alla GPIO15. In sostanza, allo startup, il SoC può eseguire
prodotti IoT (Internet of Things). vasta gamma di periferiche dispo- il codice precedentemente flashato sulla Flash QSPI
Il Soc ESP8266 è dotato di una nibili, il modulo ESP-12 è una internal (Flash Boot) oppure, in alternativa, entrare
interfaccia UART, un modulo ADC, scelta ideale per molti progetti di in modalità bootloader UART (indicato come UART
un modulo SPI, un modulo I²C, una sviluppo di prodotti IoT. La pin-out nella Tabella 1) e permettere l’aggiornamento della
serie di GPIO e un modulo PWM. del modulo ESP-12 è proposta memoria Flash con un nuovo programma. La sezione
Queste interfacce permettono nella Fig. A in questo riquadro. di codice che implementa il bootloader UART è
memorizzata in una ROM interna al SoC, e quindi non
modificabile accidentalmente, rendendo il sistema
 Fig. A
Piedinatura molto robusto. Per entrare nelle due modalità, i pin
ESP-12. GPIO 0, 2 e 15 devono avere ben determinati valori,
come indicato nella Tabella 1, estratta dal datasheet
del modulo ESP12.

Fig. A
Finestra
di log.
 Tabella 1
Stato dei GPIO 0, 2 e 15 per determinare
i due boot mode del modulo ESP-12.

MODE GPIO15 GPIO0 GPIO2


ESP-12 UART low low high

Flash Boot low high high

58
Come si può vedere, GPIO15 e GPIO2 devono stare USB-seriale CH340G. Questo dispositivo è in grado
sempre, rispettivamente, a GND e VCC, cosa che di convertire una linea differenziale USB 2.0 in una
è stata ottenuta nel nostro schema tramite l’uso porta UART standard, implementando di fatto una
della resistenza di pull-down R6 e della resistenza specifica classe di comunicazione USB, la classe
di pull-up R15. Lo stato di GPIO0 determina effet- CDC: Communication Device Class, pensata per sop-
tivamente la modalità di startup, quindi abbiamo piantare tramite lo standard USB, le vecchie porte
collegato questo pin al pulsante SW1 (Flash) e lo seriali standard RS232.
abbiamo portato a livello logico alto tramite R12. In Per funzionare il CH340G necessita solamente del
questo modo la scheda parte sempre in modalità circuito di oscillazione costituito dal cristallo Y1 da
Flash Boot (ossia esegue il programma contenuto 12MHz e dai due condensatori C5 e C6 da 12pF,
nella memoria Flash esterna), a meno che all’avvio oltre che dai condensatori C7 e C8, rispettivamente
non sia premuto SW1, nel qual caso viene avviamo da 10uF e 100nF e C9 da 100nF.
il bootloader UART, consentendo l’aggiornamento Il dispositivo è collegato tramite linea differenziale
del programma (bootloading). ai pin D+/D- del connettore USB e tramite una linea
Infine un altro pin degno di attenzione è ADC_IN, standard UART (TXD ed RXD, pin 2 e 3) ai pin GPIO1
che è l’unico pin analogico dell’ESP8266, ma ha e GPIO3 del modulo ESP-12.
una dinamica di tensione che va da 0 a 1V, mentre In questo modo il modulo vede una porta standard
il SoC è alimentato a 3,3V. Di conseguenza ab- UART, mentre un qualsiasi dispositivo USB Host
biamo dovuto adattare la dinamica di tensione in (ad esempio un Personal Computer) vede la scheda
ingresso a questo pin tramite il partitore di tensio- come un dispositivo USB 2.0.
ne costituito da R7 ed R8, rispettivamente da 220 Passiamo adesso alla descrizione della sezione di
kohm e 100kohm, ottenendo: alimentazione. La porta USB appena descritta è
anche la principale sorgente di alimentazione della
scheda, ma i 5V forniti dal dispositivo USB host (o
da un alimentatore USB standard), necessitano di
essere adattati a 3,3V, in quanto quella è la tensio-
Un ultimo pin con funzione speciale è GPIO16, che è ne di lavoro del modulo ESP12 (il CH340G funziona
utilizzato come pin di wake-up. Noi abbiamo deciso invece a 5V). Per adattare questa tensione è stato
di non implementare questa funzionalità, preferen- utilizzato il regolatore lineare SPX3819M5-L-3-3
do utilizzare GPIO16 per il controllo del LED LD2. (U2), in grado di erogare fino a 500mA, più che suf-
Infine, tra Vcc e GND del modulo è stato collegato il ficienti per il funzionamento della Ganimede. Per
condensatore di bypass C1, da 100nF. il suo funzionamento il regolatore necessita della
Passiamo adesso alla descrizione della sezione circuiteria di condensatori costituita da C2 (1uF),
USB: Ganimede.E12 dispone di un’interfaccia USB C3 (470pF) e C4 (10uF).
2.0 che può essere utilizzata sia come porta di Il LED LD1, con la sua resistenza di limitazione R9,
comunicazione seriale, che per la programmazione è stato posto a valle del regolatore per indicare la
della scheda, in quanto è collegata alla porta UART presenza della corretta tensione di funzionamento.
che viene utilizzata come canale di comunicazione La parte restante della scheda è costituita da una
dal ROM bootloader. Questa porta è costituita da serie di connettori che permettono di interfacciare
due elementi: il connettore USB CN1 ed il converti- standard di espansione hardware.
tore USB-Seriale U3 (CH340G). In particolare la scheda è dotata di:
Il connettore CN1 è un connettore USB-C, adattato • un socket Mikroelektronica mikroBus (CN2),
allo standard USB2.0. Questo vuol dire che può che permette di interfacciare le popolari Click
essere utilizzato per il collegamento, un cavetto board prodotte da Mikroelektronica (https://
USB-C, ma non tutte le funzionalità dello stan- www.mikroe.com/mikrobus), per il quale sono
dard USB 3.0 sono supportate (ad esempio non è disponibili più di 1000 schede attualmente in
possibile utilizzare la piena banda di comunicazione commercio;
o negoziare con l’host livelli di corrente USB 3.0). • un socket Seed Studio Grove (CN3), che per-
Tuttavia sono mantenute le caratteristiche mecca- mette di interfacciare i dispositivi dello standard
niche, ossia la robustezza e la facilità di inserimento Grove (https://www.seeedstudio.com/category/
del connettore e la sua simmetria, ossia la pos- Grove-c-1003.html), per il quale esistono circa
sibilità di inserire il connettore in entrambi i versi. 200 breakout board in commercio;
L’altro elemento dell’interfaccia è il convertitore • un header a 3 poli (CN4) con il quale è possibile

59
 Fig. 4
Ganimede.E12
con Click Relay
montata sul suo
socket Mikrobus.

 Fig. 3 interfacciare dispositivi NeoPixel, quindi LED le schede della linea Click, prodotte sempre da
Piedinatura Strip o Moduli LED Neopixel di vario tipo, ma Mikroelektronica, delle quali esistono più di 1.000
del
connettore anche dispositivi 1-wire, quindi sensori di tem- diverse varianti in commercio, ognuna con una
standard peratura tipo DS18B20 o dispositivi simili; specifica funzione e con un proprio hardware.
Mikrobus.
• due header a 4 poli (CN6 e CN7) pensato per La specifica dello standard è open source e disponi-
l’interfacciamento di OLED da 0,96’’ tramite bile al seguente indirizzo web:
protocollo I²C o dispositivi similari. https://download.mikroe.com/documents/standards/
mikrobus/mikrobus-standard-specification-v200.pdf
GLI STANDARD MIKROBUS E GROVE La specifica permette che anche altri produttori di
I due connettori di espansione della Ganimede.E12 schede possano adoperare la specifica nelle loro
che offrono maggiori possibilità sono CN2 e CN3, realizzazioni hardware o anche contribuire nella
che permettono di interfacciare rispettivamente realizzazione di nuovi dispositivi.
gli standard Mikrobus e Grove. Analizziamo più in L’utilizzo di uno standard di connettività come
dettaglio le caratteristiche di questi due standard. Mikrobus semplifica notevolmente lo sviluppo
MikroBus è uno standard di connettività hardware di progetti embedded. Gli sviluppatori possono
per microcontrollori e dispositivi embedded, svilup- concentrarsi sulle loro attività di codifica, poiché
pato dall’azienda Serba Mikroelektronica. il connettore Mikrobus fornisce una soluzione
È stato progettato per fornire un modo semplice e semplice e conveniente per la connessione di com-
conveniente per connettere sensori, attuatori e altri ponenti. Inoltre, questo standard è molto comodo
componenti a microcontrollori di vario tipo. per la prototipazione rapida, poiché gli sviluppatori
Lo standard è basato su un connettore (o socket), possono facilmente sostituire o aggiungere com-
con pin-out standardizzata, riportato in Fig. 3. ponenti al loro progetto senza dover preoccuparsi
Il prodotto più noto che fa uso dello standard sono della connessione hardware.

 Fig. 5
Sistema Grove.

60
In fig. 4 è rappresentata la scheda ganimede.e12 bus I²C, Digital I/O, Analog, UART RX a seconda
connessa ad una click board Relay. della scheda connessa;
Grove è un altro standard molto diffuso nel panora- • pin 2 – Bianco – Segnale 2; può essere SDA
ma hobbystico/maker creato da SeedStudio. dell’I²C, Digital I/O, Analog, UART TX a seconda
Si tratta di un altro standard di espansione hardwa- della scheda connessa;
re che però, a differenza di MikroBus, che utilizza un • pin 3 - Rosso – VC; comune a tutti i connettori;
socket con 16 poli e breakout dotate di connettori • pin 4 - Nero – GND; ripetuto su tutti i connettori.
equivalenti (è quindi possibile pluggare le schede
su socket), usa un connettore standard a 4 poli e Anche in questo caso abbiamo una vasta
breakout connesse via cavo. I 4 pin del connettore gamma di dispositivi, circa 200-300 unità
standard grove portano potenza e segnali e questi (Fig. 5) che possono essere connessi alla no-
ultimi hanno delle connessioni che variano a secon- stra scheda Ganimede. Maggiori info posso-
da della tipologia di scheda connessa: no essere reperite al seguente indirzzo web:
• pin 1 – Giallo – Segnale 1; può essere l’SCL del https://wiki.seeedstudio.com/Grove_System/.

piano di MONTAGGIO

Elenco Componenti:
R9, R14: 1 kohm (0402) C2: 1 µF ceramico (0402) CN1: Connettore Usb Type-C
R10, R11: 470 ohm (0402) C4, C7: 10 µF ceramico (0402)
R8: 100 kohm (0402) LD1: LED verde (0603) Varie:
R3, R4, R5, R6, R12, R13, R15: 10 kohm (0402) LD2: LED rosso (0603) - Strip Femmina 4 vie (1 pz.)
R7: 220 kohm (0402) U1: ESP-12F - Strip Femmina 8 vie (2 pz.)
R1, R2: 5,1 kohm (0402) U2: SPX3819M5-L-3-3 - Strip Maschio 3 vie (1 pz.)
C1, C8, C9: 100 nF ceramico (0402) U3: CH340G - Connettore JST 4 vie passo 2 mm da CS
C3: 470 pF ceramico (0402) SW1, SW2: Microswitch - Circuito stampato S1673 (82x34 mm)
C5, C6: 12 pF ceramico (0402) Y1: Quarzo 12 MHz (3.2x2.5mm)

61
 Fig. 6
L’editor Python
Thonny.

INSTALLAZIONE DELL’INTERPRETE Step 1: per prima cosa occorre scarica-


MICROPYTHON re il firmware Micropython dal seguente
Come abbiamo già anticipato, la scheda Ganimede. link: https://micropython.org/download/esp8266/.
E12 è programmabile con una varietà di linguaggi Step 2: ora che abbiamo il firmware, occorre
di programmazione, tutti molto validi. Sicuramente flasharlo sulla scheda. Per poterlo fare abbiamo
una scelta ideale per chi comincia ad utilizzarla bisogno di un tool fornito alla expressif, che si
è MicroPython, che è un ambiente semplice da chiama ESPtool, che può essere scaricato dal se-
apprendere, ma sorprendentemente potente. guente link: https://github.com/espressif/esptool.
Una descrizione dettagliata degli step necessari Il tool è a sua volta basato su Python, quindi oc-
all’installazione dell’ambiente MicroPython, con corre averlo installato sulla macchina che verrà
anche una serie di esempi, può essere trovata nella effettivamente utilizzata per flashare la scheda.
sezione Python del repository GitHub della scheda: Istruzioni utili all’installazione del tool stesso
https://github.com/ffich/Ganimede/tree/main/10_ ed alla soluzione di eventuali problemi possono
Python. essere reperite al seguente link: https://docs.
Per vostra comodità, riportiamo qui di seguito espressif.com/projects/esptool/en/latest/esp32/.
l’intera procedura. Step 3: a questo punto possiamo procedere alla
programmazione, e per prima cosa va attivato il
bootloader. Come abbiamo visto possiamo farlo
tenendo premuto il tasto SW2 all’accensione
o al riavvio della scheda. Una volta attivato il
bootloader possiamo flashare, aprendo una
 Fig. 7 finestra di comando nella directory nella quale
Selezione delle
opzioni di configu-
abbiamo scaricato ed estratto ESPtool, scriven-
razione dell’inter- do le seguenti righe:
prete micropython.

esptool.py --port [VCP] erase_flash

62
 Fig. 8
Selezione
delle opzioni
dell’inter-
prete.

per la cancellazione della memoria e: zionate (Fig. 8):


• nel primo combobox, MicroPyhon(Esp8266);
esptool.py --port [VCP] --baud 460800 write_flash • nel secondo combobox, USB-SERIAL CH340
--flash_size=detect 0 esp8266.bin (VCP).

per il flashing dell’inteprete MicroPython. Dove VCP è la porta COM virtuale associata alla
vostra scheda Ganimede dal vostro Personal Com-
In entrambe le righe [VCP] sta ad indicare il numero puter. Da questa stessa finestra, tramite l’opzione
della porta COM virtuale associata alla scheda (ad “Install or update Firmware”, è possibile installare
esempio COM3 o COM5). una nuova versione di MicroPython, senza dover
Invece esp8266.bin rappresenta il file binario dell’in- chiudere l’editor Thonny o dover ricorrere agli script
terprete Micropython, che deve essere copiato nella batch presentati nella sezione precedente.
stessa directory (cartella) dalla quale eseguirete la Selezionando l’opzione “Install or update Firmwa-
finestra di comando. re”, si aprirà una finestra di dialogo come quella
A questo punto l’interprete è presente sulla scheda proposta in Fig. 9, dalla quale potrete selezionare
e possiamo utilizzare un editor Python per pro- il binario MicroPython da caricare sulla scheda e la
grammarla. porta COM virtuale.
Come editor suggeriamo Thonny Se tutto è andato a buon fine, una volta resettata o
(https://thonny.org/), perché è molto semplice da scollegata e poi ricollegata la scheda Ganimede.E12,
utilizzare, del quale la Fig. 6 propone una schermata. nella Shell di Thonny dovreste vedere un prompt
Una volta installato Thonny, potete aprirlo e simile a quello di Fig. 10 (la versione di MicroPython
configurare l’interprete per lavorare con Ganimede. potrebbe essere differente).
Per farlo, cliccare con il tasto sinistro del mouse Il prompt che vedrete è i REPL, acronimo di Read
nell’angolo in basso a destra e selezionate l’opzio- Evaluate Print Loop, ed è il nome che è stato dato
ne “Configure Interpreter”, come illustrato in Fig. 7. alla shell di MicroPython con la quale è possibile
A questo punto navigate nel tab “Interpreter” sele- interagire.

63
IL LINGUAGGIO DI
PROGRAMMAZIONE MICROPYTHON

MicroPython è un linguaggio di per supportare molte funzionalità


programmazione open source di base, come la connessione
che mira a fornire una versio- Wi-Fi, l’elaborazione di protocolli HELLO WORLD IN MICROPYTHON
ne semplificata e più piccola di rete, la gestione della memoria, Ora che abbiamo Micropython installato sulla
di Python per microcontrollori la creazione di interfacce grafiche nostra Ganimede.E12, possiamo implementare il
e altri dispositivi embedded. e molto altro. Il port per ESP8266 nostro primo, semplice script. Come nel più classi-
MicroPython è stato progettato di MicroPython offre un modo co dei casi, vogliamo far lampeggiare il LED utente
per essere efficiente in termini di semplice e conveniente per alla frequenza di 1Hz. Apriamo Thonny e scriviamo
memoria e di velocità sui dispo- programmare il modulo ESP-12 lo script riportato qui di seguito:
sitivi embedded, il che lo rende basato su ESP8266 ed è stato
un’ottima scelta per progetti IoT progettato per fornire una solu- from machine import Pin
(Internet delle cose). Una delle zione completa e integrata per la import time
caratteristiche più interessanti programmazione di progetti IoT led = Pin(16, Pin.OUT)
di MicroPython è la sua compa- con MicroPython. Inoltre, il port
tibilità con il linguaggio Python, per ESP8266 offre un ambiente while True:
che lo rende accessibile a molte di sviluppo integrato che include led.value(not led.value())
persone che hanno già familiarità un’interfaccia REPL (Read-Eval- if (led.value()):
con Python. Questo significa che Print Loop), un editor di codice print(“Il LED è acceso!!!”)
gli sviluppatori possono utilizzare integrato e molte altre funziona- else:
la maggior parte delle conoscenze lità che semplificano la vita degli print(“Il LED è spento!!!”)
acquisite con Python anche su sviluppatori. time.sleep(1)
MicroPython. MicroPython ha
molte applicazioni nell’ambito Lo script inizia importando le librerie “machine” e
dell’IoT. Può essere utilizzato “time” che forniscono rispettivamente l’accesso alle
per creare dispositivi embedded funzionalità del microcontrollore e alle funzioni di
come sensori ambientali, sistemi timing. Quindi, si crea un oggetto “led” utilizzando
di automazione domestica, la classe Pin. L’oggetto “led” viene inizializzato con
dispositivi di sicurezza e molto il numero di pin 16 (collegato allo user LED, come
altro ancora. Inoltre, offre una abbiamo visto in precedenza) e il modo “Pin.OUT”, il
vasta gamma di librerie integrate che significa che il pin viene configurato come usci-
ta. La sezione di codice all’interno del ciclo “while”
viene eseguita in continuazione. Il codice all’inter-

 Fig. 9
Aggiornamento o
installazione del
FW MicrfoPython
direttamente da
Thonny.

64
 Fig. 10
REPL di
MicroPython.

 Fig. 11
Script di
esempio in
funzione.

no del ciclo cambia il valore del pin utilizzando la economica ed è facilmente espandibile tramite gli
funzione “led.value(not led.value())”. Questo codice standard MikroBus e Grove e gli altri connettori di
inverte il valore corrente del pin 16 ad ogni ciclo cui dispone, e permette di realizzare applicazioni
del ciclo “while”, spegnendo o accendendo il LED ad complete senza fare ricorso all’utilizzo di breadbo-
ogni iterazione. ard o cavetti volanti. Stiamo già lavorando a una
L’istruzione condizionale if…else serve a stampare serie di progetti pratici sviluppati con Ganimede.

sulla Shell lo stato del LED, tramite l’istruzione E12, che contiamo di proporvi a breve.
print. Infine, la funzione “time.sleep(1)” fa sì che il
programma attenda un secondo prima di passare
alla prossima iterazione del ciclo “while”. Questo fa
in modo che il LED lampeggi alla frequenza di 1Hz.
In Fig. 11 è riportato l’output della shell con lo Cosa occorre?
script in funzione.
La board Ganimede (cod. GANIMEDE-E12) è disponibile
presso Futura Elettronica a Euro 13,00, il modulo ESP12
CONCLUSIONI (cod. ESP12F) è in vendita anche separatamente a Euro 7,50.
Come avete potuto vedere in queste pagine, la I prezzi si intendono IVA compresa.
Ganimede.E12 è una scheda estremamente versa-
Il materiale va richiesto a:
tile e semplice da utilizzare, specialmente utiliz-
zando linguaggi di programmazione evoluti come Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Micropython. Allo stesso tempo la scheda è molto Tel: 0331-799775 - www.futurashop.it

65
66
NETWORKING

di DANIEL SCAINI

FUEL I
continui rincari delle materie prime che colpi-
scono la nostra vita quotidiana cominciano ad

PRICE
essere un problema non trascurabile. Alcuni di
questi sono inevitabili, mentre per altri riuscia-
mo ad avere un minimo di scelta e a far fronte
trovando alternative. Quello che da alcuni mesi
ci preoccupa molto è il rincaro dei carburanti,
tanto che è cresciuta la sensibilità circa la ricer-

MONITOR
ca del distributore che esponga il prezzo migliore.
Ma quante volte subito dopo aver appena fatto il pieno, ma-
gari in una zona che frequentiamo d’abitudine, notiamo lungo
la strada un distributore di gran lunga più conveniente?
La soluzione potrebbe essere un dispositivo che ci aiuti in
Controllo attraverso ESP32 queste decisioni e ci consigli il migliore.
In questo articolo proveremo a sviluppare un assistente a cui,
di un pannello touch passati in ingresso una città oppure le sue coordinate, ci pro-
interattivo che espone ponga a video tutti i distributori e ci comunichi in tempo reale
quale o quali siano i migliori dove poter fare rifornimento.
i prezzi dei distributori Per far ciò utilizzeremo, lato software, un’app di messaggisti-
di carburante in una ca già nota a tutti: Telegram. La quale potrà inviare mes-
saggi di testo oppure condividere la propria posizione. Lato
determinata zona. hardware invece utilizzeremo una delle schede più conosciute
ed utilizzate, ovvero la ESP32.
Quest’ultima sarà all’interno di un circuito più complesso
che prevede al suo fianco un utilissimo display touch LCD, in
modo da poter mostrare a video i risultati e da poter interagi-
re con essi attraverso un’interfaccia semplicissima, facilmen-

67
Una volta registrati sul sito, attraverso l’inseri-
mento di una username valida ed una password
e ricevuta la e-mail di conferma, viene rilasciata
API_KEY personale per poter invocare le richieste.
L’engagement con l’API avviene attraverso una
chiamata GET al seguente URL: https://geocode.xyz/
Milano?json=1&auth=API_KEY.
Una volta completata la richiesta, abbiamo ac-
cesso al seguente codice JSON che riporta, oltre
a latitudine e longitudine, anche la precisione del
dato di ritorno:
{
"standard": {
"addresst": {},
"statename": {},
"city": "Milano",
"prov": "IT",
"countryname": "Italy",
"postal": {},
"confidence": "0.90"
},
"longt": "9.18023",
"alt": {
"loc": [
{
"longt": "9.16903501162404",
"prov": "LOMBARDIA",
te consultabile anche da chi è poco avvezzo alla "city": "MILANO",

 Fig. 1 tecnica (Fig. 1). "postal": "20161",


Interfaccia "score": "3011",
utente.
I SERVIZI "latt": "45.5186721687148"
Come accennato durante l’introduzione l’algorit- },
mo si basa su latitudine e longitudine e sfrutta {
due servizi per poter estrarre i dati di cui abbiamo "longt": "9.20334553448277",
bisogno. "prov": "IT",
Il primo servizio si occupa di risalire, dall’inseri- "city": "Milano",
mento di un campo testuale, alle coordinate vere "postal": "20124",
e proprie. Su Internet oggigiorno vengono offerti "score": "580",
numerosi servizi che si occupano di geo tracking o "latt": "45.4855161034483"
di reverse geo tracking. },
Fra i più famosi vi sono senza dubbio quelli offerti {
da società come Google (https://developers.google. "longt": "9.16904",
com/maps/documentation/geocoding/overview), "prov": "IT",
Here, uno dei leader nel campo dei navigatori "city": "Milano",
(https://developer.here.com/tutorials/learn-the-rever- "countryname": "Italy",
se-geocoding-using-postman/) oppure OpenWeather "postal": "20161",
(https://openweathermap.org/api/geocoding-api). "region": {},
Nel nostro caso sfrutteremo un quarto fornitore "latt": "45.51867"
free. La nostra scelta ricade infatti su Geocode.xyz. }
Questo ci offre, previa iscrizione, la possibili- ]
tà di fare diverse richieste gratis a patto che },
non superiamo la frequenza di 1 per secondo "elevation": {},
(https://geocode.xyz/pricing). "remaining_credits": "-7",

68
 Listato 1
{
"success": true,
"center": {
"lat": 44.90938025959227,
"lng": 10.66000690845997
},
"results": [
{
"id": "Tamoil Gualtieri",
"name": "8976",
"fuels": [
{
"id": 47742999,
"price": 1.819,
"name": "Benzina",
"fuelId": 1,
"isSelf": true
},
{
"id": 47742998,
"price": 1.859,
"name": "Gasolio",
"fuelId": 2,
"isSelf": true
}
],
"location": {
"lat": 44.889557326884855,
"lng": 10.617287009954453
},
"insertDate": "2023-01-17T11:16:11+01:00",
"address": "VARIANTE S.S. 62 9 42044 - GUALTIERI RE",
"brand": "Tamoil"
},......
]
}

"latt": "45.47547" invece, se impostate un raggio inferiore.


} La riga di codice interessata è riportata nel para-
grafo qui sotto e il parametro passato è "radius": 5.
Il secondo servizio, una volta impostati la posizio- L’API alla base di questa piattaforma, a diffe-
ne ed un raggio intorno ad essa, ci restituisce tutti i renza della precedente, è una chiamata POST,
distributori della zona interessata. accessibile anche dall’esterno all’indirizzo:
Per ottenere questa lista sfruttiamo un API pubbli- https://carburanti.mise.gov.it/ospzApi/search/zone.
ca presente anche all’interno del sito del Ministero Trattandosi di una funzione POST, vi è un dato
delle Imprese e del Made in Italy (https://carburanti. in entrata e un codice JSON che conterrà tutto il
mise.gov.it/ospzSearch/zona). necessario; questa è la stringa corrispondente:
All’interno del portale è possibile, attraverso
un’interfaccia grafica basilare, scegliere il proprio {"points": [{"lat": "44.917653509784884", "lng":
comune di residenza sulla mappa, impostare un "10.65221077251436"}], "radius": 5}
raggio di azione e ottenere così la lista completa di
tutti i distributori di benzina nelle vicinanze. In risposta ad essa avremo accesso ad un oggetto
A proposito del raggio, va precisato che il portale con la struttura proposta dal Listato 1.
del MISE consente di impostare un’area di ricerca
limitata, quindi se intendete modificare il raggio ri- L’HARDWARE DEL PROGETTO
cordate che il raggio impostato nel nostro firmwa- L’hardware su cui ci basiamo, che potete tro-
re è 5 km e se andate oltre è possibile che i risultati vare nello store on-line di Futura Elettronica
restituiti contengano un errore; nessun problema, (www.futurashop.it), è un Esp32-S3 con display

69
schermo; pertanto, una volta aperto il nostro IDE
entriamo nella finestra di dialogo del Gestore
Librerie (comando di menù Strumenti>Gestione Li-
brerie) e da essa andiamo ad installare la versione
1.1.2 di LovyanGFX.
L’uso di questa libreria è veramente elementare:
si crea un oggetto LGFX, si inizializza, si settano
alcuni parametri, che vedremo dopo, quindi questo
diventa la “tela” su cui possiamo disegnare o
scrivere. Un esempio può essere il codice conte-
nuto in HowToUse→simple_use.ino che si trova
nella libreria LovyanGFX. Ci sono anche altre entità,
come per esempio le Sprite, ma servono in caso di
utilizzi più avanzati.

IL BOT DI TELEGRAM
Telegram è un’applicazione di messaggistica
istantanea, tra le più utilizzate in Italia insieme
con Facebook Messenger, WhatsApp, Signal e
Instagram Direct.
Nasce dall’idea di Pavel Durov, giovane imprendi-
tore russo ed ex studente dell’Università statale di
San Pietroburgo, insieme a suo fratello Nikolai.
Tra le altre cose, i fratelli Durov hanno fondato
anche il social network russo VK (VKontakte, che in
italiano significa letteralmente “in contatto”).
L’anno di nascita di Telegram risale al 2013, quat-
tro anni più tardi rispetto al suo diretto concorrente
WhatsApp. Pavel Durov sapeva che per ottenere
successo avrebbe dovuto proporre qualcosa di
diverso, come effettivamente ha fatto.
Nel corso degli ultimi anni, numerosi utenti si sono
 Fig. 2
TFT da 3,5”. Il core di questa scheda è un proces- avvicinati a Telegram perché delusi dai “down” che
Il display con
Esp32 utilizzato. sore operante a 2,4 GHz di frequenza di clock, con hanno colpito l’app concorrente.
interfacce I²C-Bus, I²S, SPI, PWM, UART, USB; Un altro fattore importante da considerare nella
dispone inoltre di due porte USB di tipo C, uno vicenda è la sicurezza di WhatsApp, più volte finito
slot per SD-Card ed è dotato connettività WiFi e sotto attacco dai suoi detrattori, i quali spingono
Bluetooth. Nella Fig. 2 vedete la nostra board da molto sulle polemiche legate alla composizione
entrambe le facce. dell’impero Zuckerberg (WhatsApp, Instagram,
Un altro aspetto non trascurabile è sicuramente la Facebook).
memoria, che può essere una Flash, RAM oppure Una delle peculiarità più interessanti di questo
EEPROM. servizio di messaggistica è insita nei gruppi: questi
Sfrutteremo quest’ultima, Electronically Erasable possono raggiungere dimensioni enormi, anche
Programmable Read Only Memory, per poter oltre i 100.000 membri.
immagazzinare informazioni capaci di sopravvivere Inoltre ci dà la possibilità di creare dei veri e propri
al riavvio della macchina stessa. canali di trasmissione che possono avere un
Il display ha un touchscreen capacitivo e sfrutta il numero illimitato di utenti e possono essere sia
controller grafico ILI9488 e interfacciamento SPI. privati che pubblici.
Quest’ultima caratteristica lo rende decisamen- Tra quelli privati ci sono i bot ed è proprio quest’ul-
te migliore di altri display dotati di interfaccia di tima caratteristica che possiamo sfruttare per
comunicazione parallela. creare un filo diretto fra noi e la nostra scheda con
Arduino IDE ci mette a disposizione una libreria ESP32.
molto importante per poter interagire con questo Un bot è un “utente” di Telegram non umano, fatto

70
da righe di codice e capace di svolgere azioni più o },
meno complesse in modo automatico, ricevendo i "chat":{
comandi dell’utente sotto forma di richieste HTTP. "id": XXXXXXXX,
Le tipologie di bot Telegram sono due: "first_name":"NOME COMPLETO TELEGRAM",
• Bot stand alone, dotato di una finestra di chat "username":"IL TUO USERNAME TELEGRAM",
autonoma in cui l’utente può impartire i coman- "type":"private"
di; per raggiungere un bot stand alone basta },
aggiungerlo attraverso un link; "date":1600324371,
• Bot inline, che può essere richiamato da altre "text":"Ciao"
finestre di chat (singole o di gruppi) tramite il }
comando @nomebot. }
]
Ciascun bot Telegram è identificato univocamente }
da un token: una sequenza di numeri e lettere
usata dalle applicazioni web e dalle API per riferirsi Questa struttura rappresenta le interazioni con il
a quello stesso Bot. Bot da parte degli utenti che vi si collegano. Ovvia-
Apriamo l’app e clicchiamo sulla lente di ricerca nella mente noi abbiamo interagito con lui precedente-
barra superiore. Qui digitiamo BotFather. (Fig. 3). mente con il messaggio “Ciao”.
Clicchiamo su questa e apriamo la chat nella quale L’ultima variabile, SECRET_CHAT_ID, si trova
andremo a scrivere questo messaggio: /newbot, e proprio all’interno di questo json nel campo in
seguiamo le istruzioni a video. grassetto.
Dopo questa procedura copiamo il token rilasciato
da BotFather.
Questa è una delle due variabili, SECRET_BOT_
TOKEN, che ci servirà per comunicare con le API di
Telegram.
La seconda invece la possiamo ottenere in di-
versi modi. Quello che consigliamo è mandare un
messaggio con scritto “Ciao” all’interno della chat
appena creata e inserire all’interno di un browser
questo link: https://api.telegram.org/bot<BOTToken>/
getUpdates. Dove <BOTToken> è il token del passo
precedente.
Gli step dovranno esser fatti esattamente in
questo ordine.
In risposta, sul browser apparirà un JSON, ovvero
una struttura dati formattata in un determinato
modo, simile al seguente:

{
"ok":true,
"result":[
{
"update_id":YYYYYY,
"message":{
"message_id":18,
"from":{
"id":XXXXXXXX,  Fig. 3
Interfaccia di
"is_bot":false,
BotFather
"first_name":"NOME COMPLETO TELEGRAM",
"username":"IL TUO USERNAME TELEGRAM",
"language_code":"it"

71
le librerie necessarie:
 Fig. 4
La schermata #include <ArduinoJson.h>
dell'IDE di Arduino.
#define LGFX_AUTODETECT
#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>
#include <WiFi.h>
#include <EEPROM.h>
#include <StreamUtils.h>
#include "arduino_secrets.h"
#include "display_touch.h"
#include "times.h" //FACOLTATIVA
#include "telegram_bot.h"
#include "coordinates.h"
#include "fuelprice.h"

IL SOFTWARE Le prime otto importate riguardano classi standard


L’hardware scelto per il progetto si programma con come quella per trattare i JSON (Javascript Object
gli stessi tool di Arduino e quindi con il relativo IDE; Notation) per poter interagire con l’esterno oppure
per poter programmare la nostra scheda, dob- quella già citata per poter lavorare con il display
biamo verificare che l’IDE abbia già i relativi driver integrato nella scheda; invece le ultime saranno
di terze parti, altrimenti andiamo ad impostare il le nostre classi personalizzate che servono per
nostro ambiente IDE per poter riuscire ad uploa- poter mantenere il codice ordinato, facilitandone
dare correttamente il nostro firmware. Ci rechiamo la lettura, nonché migliorare la manutenibilità e la
quindi in File->Impostazioni e qui inseriamo il modularità.
seguente URL: https://raw.githubusercontent.com/ Ora salviamo il file, in modo tale da poter creare già
espressif/arduino-esp32/gh-pages/package_esp32_ la cartella del progetto.
index.json e facciamo clic su OK. Creiamo la prima classe personalizzata: ardui-
Andando in Strumenti->Scheda->Gestore schede no_secrets.h e per semplicità lo collocheremo sul
cerchiamo esp32 e installiamo o aggiorniamo con Desktop. A questo punto importiamo il all’interno
la versione 2.0.6. del progetto Arduino: nella barra degli strumenti
Uscendo ora selezioniamo la nostra scheda di dell’IDE clicchiamo su Sketch e poi su Importa file.
riferimento ovvero ESP32S3 Dev Module. Selezioniamo un file alla volta.
Ora possiamo cominciare a dedicarci al vero codice, Lo stesso procedimento lo faremo anche per le
ossia quello di Arduino; per prima cosa importiamo altre librerie personalizzate. Per queste, oltre a cre-

 Listato 2

#define WIFI_SECRET_SSID "WiFi SSID"


#define WIFI_SECRET_PASSWORD "WiFi Password"

#define TIME_ZONE "http://worldtimeapi.org/api/timezone/Europe/Rome"

#define COORDINATES_PATH "https://geocode.xyz/"


#define COORDINATES_KEY "?json=1&auth=AUTH_KEY"

#define PRICE_PATH "https://carburanti.mise.gov.it/ospzApi/search/zone"

#define SECRET_BOT_TOKEN "Telegram_CHAT_TOKEN"


#define SECRET_CHAT_ID "Telegram_CHAT_ID"

#define VERS_SW 1

72
 Listato 3
boolean Coordinates::getLatLong(String city0){
HTTPClient http;
boolean ret = false;

String path = url0 + city0 + key0;

http.begin(path.c_str());

int httpResponseCode = http.GET();

if (httpResponseCode>0) {
//Serial.print("HTTP Response code: ");
//Serial.println(httpResponseCode);
String payload = http.getString();
//Serial.println(payload);

DynamicJsonDocument doc(2048);
DeserializationError error = deserializeJson(doc, payload);
if (error) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
return false;
}

if(doc["longt"]=="0.00000" && doc["latt"]=="0.00000"){


ret = false;
}else{
long0 = doc["longt"].as<String>();
lat0 = doc["latt"].as<String>();
ret = true;
}
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
ret = false;
}
http.end();
return ret;
}

are un file .h creiamo anche il suo corrispondente https://carburanti.mise.gov.it/ospzApi/search/zone;


.cpp nel quale inseriremo il body e l’implementazio- sempre per garantire la connessione, dovrete
ne delle varie funzioni dichiarate in precedenza. scrivere al posto del virgolettato WiFi Password
Il risultato ottenuto dovrà essere simile a quanto la passkey utilizzata per l'accesso al WiFi. Una
proposto nella Fig. 4. volta personalizzato il codice potete salvare il file e
Come già accennato, il primo include è molto facile caricarlo nella scheda.
poiché conterrà solamente i define delle varie Andiamo ora a disegnare quello che sarà il control-
variabili usate a livello globale. In caso cambias- ler responsabile di tradurre in coordinate un’even-
se la configurazione della rete o di Telegram tuale città che verrà inviata dall’esterno.
potremmo agire solamente su questo blocco di Apriamo la tab con coordinates.h e compiliamo la
codice (Listato 2) senza minimamente intaccare prima classe come proposto qui di seguito:
il programma principale. A riguardo vi ricordiamo
che per far funzionare il sistema è indispensabile #define coordinates_h
editare la porzione di codice contenente i define
(quindi quella proposta nel Listato 2) e scrive- #if ARDUINO >= 100
re al posto del termine WiFi SSID tra virgolette #include "Arduino.h"
l'SSID della rete WiFi cui il vostro hardware si #else
connetterà per comunicare con il servizio on-line #include "WProgram.h"

73
#endif Questa rappresenta una chiamata REST ad un API
in GET. Sicuramente è il più semplice e il più imme-
#include <ArduinoJson.h> diato. È consigliato soprattutto in quelle richieste in
#include <WiFi.h> cui è utile salvare nell'URL i parametri, ad esempio
#include <HTTPClient.h> per poter essere cachati. Un classico caso d'uso è
una query di ricerca.
class Coordinates{ L’ingaggio di queste richieste API può essere anche
public: in POST, che vedremo più avanti e in questo caso
Coordinates(); aumenta di gran lunga la sicurezza.
Coordinates(String url1, String key1); Il metodo POST si differenza da GET in quanto i
boolean getLatLong(String city0); parametri della richiesta non vengono passati in
String getLatt(); query string e quindi non possono essere tracciati
String getLongt(); nemmeno negli access log dei web server.
void setLatt(String d0); Caso d'uso comune di una richiesta in POST è un
void setLongt(String d0); form che invia dati personali, come in una registra-
zione, login form.
private: Inoltre è importante chiamare una sola volta il
String url0; metodo http.getString() ed assegnarlo ad una
String key0; variabile per poterlo utilizzare in più momenti nel
String lat0; corso della funzione.
String long0; In questo caso per esempio sia per loggarlo che
}; passarlo alla funzione di decodifica JSON.
Questo perché tale metodo va a scaricare il dato
e se dopo una prima chiamata il dato sarebbe
Qui, come possiamo notare, abbiamo tutti i proto- quello che ci ha risposto realmente il server, nella
tipi delle funzioni che andremo a richiamare nel no- seconda risulterebbe nullo andando ad invalidare il
stro main.ino e che implementeremo nel file .cpp. nostro codice.
Si tratta di una classe abbastanza “asciutta” e fra Occorre sempre liberare la risorsa attraverso la
le funzioni corrispondenti vi è il costruttore: funzione http.end().
Andiamo a rifinire questo oggetto con le funzioni
Coordinates::Coordinates(){ pubbliche di set e get delle due variabili lat0 e
} long0 in modo da poterle usare ovunque; il codice
interessato è quello proposto nel Listato 4.
Coordinates::Coordinates(String url1, String key1){ Un’altra classe veramente elementare e responsa-
url0 = url1; bile dell’ingaggio di un altro servizio è la fuelprice.
key0 = key1; Il servizio in questione, di cui abbiamo già accen-
} nato nel capitolo precedente, recupererà tutti i
distributori di benzina di una specifica zona.
Ovviamente in override, per poter istanziare sia Troviamo un header, fuelprice.h, nel quali sono
senza parametri che con, dando una maggiore dichiarati i prototipi delle funzioni.
flessibilità. Tutte le classi a seguire sfrutteranno Oltre alla dichiarazione troviamo un body nel quale,
questo aspetto. così come prima, si intravedono poche funzioni,
In ingresso abbiamo il path per la chiamata e la prime fra tutti i costruttori:
api_key. In realtà avremmo potuto inserire anche
solo la chiave lasciando il path come costante FuelPrice::FuelPrice(){
interno alla classe. doc = new DynamicJsonDocument(16500);
A seguire (Listato 3) troviamo il vero cuore pulsan- }
te di questo oggetto, ovvero la funzione responsa-
bile di agganciare il servizio esterno Geocode.xyz. FuelPrice::FuelPrice(String url1)
In entrata abbiamo solo una stringa che rappre- {
senta la città inserita dall’utente mentre in uscita doc = new DynamicJsonDocument(16500);
un boolean che ci permette di capire se la chiama- url0 = url1;
ta è andata bene o meno. }

74
 Listato 4
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#include "pins_arduino.h"
#include "WConstants.h"
#endif

#include "coordinates.h"
#include <ArduinoJson.h>
#include <WiFi.h>
#include <HTTPClient.h>

Coordinates::Coordinates(){

Coordinates::Coordinates(String url1, String key1){


url0 = url1;
key0 = key1;
}

boolean Coordinates::getLatLong(String city0){


HTTPClient http;
boolean ret = false;

String path = url0 + city0 + key0;

http.begin(path.c_str());

int httpResponseCode = http.GET();

if (httpResponseCode>0) {
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
String payload = http.getString();
Serial.println(payload);

DynamicJsonDocument doc(2048);
DeserializationError error = deserializeJson(doc, payload);
if (error) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
return false;
}

if(doc["longt"]=="0.00000" && doc["latt"]=="0.00000"){


ret = false;
}else{
long0 = doc["longt"].as<String>();
lat0 = doc["latt"].as<String>();
ret = true;
}
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
ret = false;
}
// Free resources
http.end();
return ret;
}

String Coordinates::getLatt(){
return lat0;
}

String Coordinates::getLongt(){
return long0;
}

void Coordinates::setLatt(String d0){


lat0 = d0;
}

void Coordinates::setLongt(String d0){


long0 = d0;

75
 Listato 5
DynamicJsonDocument FuelPrice::getItems(){
return (*doc);
}

void FuelPrice::getPrice(String lat0, String long0){


WiFiClientSecure client;
client.setInsecure();

HTTPClient http;

http.begin(client, url0);

//http.addHeader("Content-Type", "application/x-www-form-urlencoded");
http.addHeader("Content-Type", "application/json");
String httpRequestData = "{\"points\": [{\"lat\": \""+lat0+"\", \"lng\": \""+long0+"\"}], \"radius\": 5}";
int httpResponseCode = http.POST(httpRequestData);

//Serial.print("HTTP Response code: ");


//Serial.println(httpResponseCode);

String payload = http.getString();


//Serial.println(payload);

DeserializationError error = deserializeJson((*doc), payload);


if (error) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
}

//Serial.println((*doc)["results"][1]["name"].as<String>());

http.end();
}

 Listato 6
#define EEPROM_SIZE 1024
//display_touch display0;
static LGFX lcd;
static LGFX_Sprite sprite(&lcd);
static LGFX_Sprite body(&lcd);

DisplayTouch dis;
TimesUNI timeUNI; //FACOLTATIVO
Coordinates myCoords;
FuelPrice myPrice;
telegram_bot myBot;
E le costanti necessarie:
const uint32_t BG_BAR_COLOR = lcd.color888(42, 59, 201);
const uint32_t TXT_BAR_COLOR = lcd.color888(255, 255, 255);
const uint32_t BG_CARD_COLOR = lcd.color888(192, 192, 192);
const uint32_t TXT_CARD_COLOR_M = lcd.color888(0, 0, 0);
const uint32_t TXT_CARD_COLOR_L = lcd.color888(127, 127, 127);
const int HOME_PAGE = 0;
const int MENU_PAGE = 1;
const int CONNECT_PAGE = 2;
const int LOAD_PAGE = 3;
const int TOUCH_BACK_BT_X0 = 10;
const int TOUCH_BACK_BT_Y0 = 180;
const int TOUCH_BACK_BT_X1 = 50;

const int TOUCH_FOR_BT_X0 = 470;


const int TOUCH_FOR_BT_X1 = 430;

String botToken = SECRET_BOT_TOKEN;


String CHAT_ID = SECRET_CHAT_ID;
String COORDINATES_PATH0 = COORDINATES_PATH;
String COORDINATES_KEY0 = COORDINATES_KEY;
String PRICE_PATH0 = PRICE_PATH;
const int TIME_REFRESH = SECRET_TIMEREFRESH;
int versionSW = VERS_SW;

76
Anche in questi costruttori, così come per i pre- sull’ESP, che salverà i vari stati e le richieste inviate
cedenti, prendiamo in ingresso la URL del path per poter dare dei valori predefiniti nel caso di
remoto cui punteremo per accedere alla risorsa. riavvio del dispositivo.
Inizializziamo anche la variabile doc, che sarà Dove ovviamente per leggere e scrivere usiamo
l’oggetto che conterrà un array con tutti i vari due funzioni basate sulla EepromStream, per facili-
distributori di benzina, che renderemo fruibile e tare le operazioni:
pubblica attraverso la getItems() nella maniera
proposta nel Listato 5. void writeStringToEEPROM(int con, String res){
Quest’ultima funzione consente di inviare una EepromStream eepromStream(0, 1024);
richiesta POST ad un secure provider, ovvero ad un //serializeJson(docRes, res);
fornitore che espone su un canale https. eepromStream.print(res);
Poi a differenza della GET, qui dobbiamo aggiunge- eepromStream.flush();
re un HEADER per dichiarare il content-type e una EEPROM.commit();
REQUEST DATA. }
Dopo aver salvato la risposta in una variabile
di tipo String cerco di deserializzarla all’interno String readStringFromEEPROM(int addrOffset){
dell’oggetto doc. EepromStream eepromStream(0, 1024);
L’ultima fra le classi obbligatorie è quella per il con- return eepromStream.readString();
trollo dei click che vengono fatti sul nostro display. }
Questa potrebbe essere arricchita anche con tutte
le funzioni di disegno del pannello ma a scopo Sempre a questo livello disegniamo all’interno del
didattico si è preferito lasciarle all’interno del main. nostro LCD.
Ed infine passiamo quindi al main .ino, ossia lo
sketch principale, vale a dire il vero cuore pulsante dis.setMode(HOME_PAGE);
del progetto firmware, che andrà a mescolare i vari drawHeaderBar(dis.getMode(), timeUNI.getHours(),
connettori di cui abbiamo spiegato fina a qui. timeUNI.getDays());
Al di là degli include, già menzionati, istanziamo drawBody(dis.getMode(), true, 0);
tutti gli oggetti come si vede nel Listato 6. lcd.startWrite();
Come ben sappiamo, il ciclo di Arduino si basa su
due macro funzioni: Setup e Loop. Il nostro template di layout si basa principalmente
La prima è responsabile di tutte le inizializzazioni e su due aree: la prima, header, è la tipica barra in
della prima fase di “messa in moto” dell’apparato. alto nel display tipica del mondo embedded, la
Come mostra il Listato 7, troviamo infatti l’ini- ritroviamo infatti in molti sistemi per smartphone
zializzazione della EEPROM, memoria residente o PLC che devono generare un output a video.

 Listato 7
EEPROM.begin(EEPROM_SIZE);
String myMem = readStringFromEEPROM(0);
Serial.println(myMem);
DynamicJsonDocument doc(2048);
DeserializationError error = deserializeJson(doc, myMem);
if (error) {
myBot.setOffsetString(428401491);
myBot.setCity("Guastalla");
myCoords.setLatt("");
myCoords.setLongt("");
writeStringToEEPROM(0, "{\"vers\":\""+String(versionSW)+"\",\"update_id\":\"428401491\",\"city\"
:\"Guastalla\",\"latt\":\"\",\"longt\":\"\"}");
}else{
myBot.setOffsetString(doc["update_id"]);
myBot.setCity(doc["city"]);
myCoords.setLatt(doc["latt"]);
myCoords.setLongt(doc["longt"]);
}

77
 Listato 8
int ind = 0;

void loop() {
std::int32_t tx, ty, tc;
tc = lcd.getTouch(&tx, &ty);
getEvent(tc, tx, ty);

//FACOLTATIVA
if(timeUNI.getEnvolveTIME()){
drawHeaderBar(dis.getMode(), timeUNI.getHours(), "");
}
}

void getEvent(int tc, int tx, int ty){


if(tc==1 && tx >= (TOUCH_BACK_BT_X0-5) && tx <= (TOUCH_BACK_BT_X1+5) && ty >= 55 &&
ty <= 310 && (dis.getIndex()-1)>=0){
dis.setIndex(dis.getIndex()-1);
drawBody(dis.getMode(), false, 0);
delay(500);
} else if(tc==1 && tx >= (TOUCH_FOR_BT_X1-5) && tx <= (TOUCH_FOR_BT_X0+5) && ty >= 55 &&
ty <= 310 && (dis.getIndex()+1)<myPrice.getItems()["results"].size()){
dis.setIndex(dis.getIndex()+1);
drawBody(dis.getMode(), false, 0);
delay(500);
}else if(tc==1 && tx>= 370 && tx <= 460 && ty >= 10 && ty <= 40){
dis.setIndex(0);
int resMsg = myBot.getMessages();
if(resMsg==1){
drawBody(LOAD_PAGE, false, 0);
String city = myBot.getCity();
if(city!="" && myCoords.getLatLong(city)){
myPrice.getPrice(myCoords.getLatt(), myCoords.getLongt());
myBot.sendMessage("[INFO] Settings changed");
}else if(city=="" && myBot.getLatt()!="" && myBot.getLongt()!=""){
myBot.setCity("");
myCoords.setLatt(myBot.getLatt());
myCoords.setLongt(myBot.getLongt());
myPrice.getPrice(myCoords.getLatt(), myCoords.getLongt());
}else{
myBot.sendMessage("[INFO] No city found");
}
}else if(resMsg==2){
float pb = 100000;
float pd = 100000;
String namePB = "";
String namePD = "";
String type1= "Benzina";
String type2= "Gasolio";
for(int i=0;i<myPrice.getItems()["results"].size();i++){
String tmpName = myPrice.getItems()["results"][i]["name"].as<String>();
for (int j=0; j < myPrice.getItems()["results"][i]["fuels"].size(); j++){
String type = myPrice.getItems()["results"][i]["fuels"][j]["name"].as<String>();
float tmpPrice = myPrice.getItems()["results"][i]["fuels"][j]["price"].as<String>().toFloat();
if(type.equals(type1) && tmpPrice<pb){
namePB = tmpName;
pb = tmpPrice;
}else if(type.equals(type2) && tmpPrice<pd){
namePD = tmpName;
pd = tmpPrice;
}
}
}
myBot.sendMessage("[INFO] Il miglior prezzo Benzina è di "+String(pb)+", presso
"+namePB+"\nIl miglior prezzo Gasolio è di "+String(pd)+", presso "+namePD);
}else{
myPrice.getPrice(myCoords.getLatt(), myCoords.getLongt());
}
drawBody(dis.getMode(), false, 0);
String tmp = "{\"vers\":\""+String(versionSW)+"\",\"update_id\":\""+myBot.getOffsetString()+"\",
\"city\":\""+myBot.getCity()+"\",\"latt\":\""+myCoords.getLatt()+"\",\"longt\":\""
+myCoords.getLongt()+"\"}";
writeStringToEEPROM(0,tmp);
}
}

78
Qui, volendo possiamo arricchirlo con l’orario scaricare per intero dal nostro sito www.elettroni-
oppure un tasto per commutare la modalità e cain.it insieme ai file del progetto. L'applicazione
passare dalla sola visualizzazione ad un menu di che è stata qui descritta è una base che fornisce
configurazione. il servizio essenziale, ma può costituire, per chi
La seconda area, vale a dire il body, è il corpo nel fra voi se la sente di "mettere mano" al codice, un
quale visualizzeremo, in primis, messaggi per punto di partenza per arricchirla e personalizzar-
l’utente e poi, una volta scelto il punto, i vari di- la. A riguardo, qui di seguito vi forniamo qualche
stributori e magari due frecce per scorrerli in tutta spunto, iniziando dall’oggetto TimesUNI che tro-
comodità. vate all'interno del codice; questa domanda ad un
L’altra macro area in cui si suddivide il ciclo di vita server online l’orario e poi lo mantiene ad ogni ciclo
di un programma per Arduino o micro di questo di clock, funzionando a tutti gli effetti da orologio
tipo è la funzione di Loop. Questa viene chiamata aggiornato in Rete.
costantemente ed è la vera “vita” del programma: Nella funzione di loop viene richiamata la getEn-
un ciclo continuo (un loop...) delle istruzioni conte- volveTime che si occupa esattamente di questo:
nute al suo interno; come si vede chiaramente dal tenere allineati i minuti e le ore che passano.
Listato 8, tale ciclo è davvero corto. Si può sviluppare una parte aggiuntiva che in caso
Di tipo void, senza alcun ritorno, è quella che svol- di non utilizzo del dispositivo per un tot di minuti lo
ge praticamente tutti i controlli e la parte di ridise- mette in standby oppure lo trasforma in un vero e
gno. In ingresso prende i punti cliccati dall’utente e proprio orologio.
se avviene il click. Un ulteriore sviluppo potrebbe essere quello di
Questi punti sono poi all’interno di if che servono al programmare SSID e PASSWORD della rete diret-
firmware per determinare, in base alle coordinate tamente da un menu di configurazione all’interno
sul display, quale tasto è stato premuto e quali del touch. Nella parte di header può essere quindi
azioni correlare. aggiunto un tasto MENU in grado di passare ad
I tasti principali sono tre: i primi due sono controlli, una schermata di impostazioni. A tale scopo è im-
infatti riguardano le frecce “avanti” e “indietro” che portante capire come poter aggiungere, attraverso
visualizzeranno il distributore successivo o prece- il versioning, i campi nel database temporaneo che
dente. Qui si ha solo una fase di disegno, finalizza- storiamo nella EEPROM e come poter scrivere poi
ta ad aggiornare la grafica. all’interno di questi.
Mentre rimane più complesso l’ultimo tasto, ov- Entrambe sono sfide molto complesse da supe-
vero ”aggiorna”. Questo avremmo potuto evitarlo rare, che però potrebbero migliorare il sistema e
controllare ad ogni ciclo di clock ma è oneroso e portarci una conoscenza maggiore del dispositivo e

poco significativo ai fini didattici e in caso di infor- della programmazione su di esso.
mazioni abbastanza statiche come queste.
In questo tasto vi è inserita anche la parte che con-
trolla il bot di Telegram e ci informa se arrivano o
meno messaggi per cambiare la posizione attuale
o richieste per conoscere i prezzi più convenienti.
Come si può intuire dalla lettura e analisi del codice,
se il messaggio in arrivo è di tipo "città" o "propria
posizione" allora vengono ricercati tutti i distribu-
tori della zona e vengono disegnati a video tramite
una paginazione; invece alla richiesta di un TAG
specifico, nel nostro esempio “prezzi”, vengono
valutati attraverso un ciclo tutti i prezzi della zona
Cosa occorre?
e viene inviato un messaggio di risposta contenen-
te i valori più bassi e a che distributore tra quelli Il display TFT da 3,5"″ con ESP32-S3 è disponibile presso
Futura Elettronica (cod. ESP32S335D) a Euro 89,00.
dell'area selezionata fanno capo.
I prezzi si intendono IVA compresa.

CONCLUSIONI Il materiale va richiesto a:


Bene, possiamo fermarci qui, dopo avervi intro-
dotto la finalità di questo progetto ed averne Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
snocciolato gli aspetti del firmware, che potete

79
Easy to Program
MICRO:BIT È UNA PICCOLA SCHEDA
DI SVILUPPO CHE INTEGRA
UN MICROCOMPUTER A 32 BIT;
PUÒ ESSERE UTILIZZATA PER IMPARARE
LE BASI DELLA PROGRAMMAZIONE
ED È ADATTA A TUTTE LE ETÀ.

Prezzi IVA inclusa.

cod. MICROBITGOV2 UTILIZZALA SUBITO CON IL NUOVO SET!

€ 37 ,00 Set con tutto quello che serve per chi - la scheda micro:bit
vuole muovere i primi passi nel campo - due pile ministilo AAA
della programmazione con micro:bit. - un cavetto USB-micro USB
Il set comprende: - un portapile

ROBOT MAQUEEN LITE


Mini robot didattico programmabile basa-
to su micro:bit. Maqueen Lite è compatibi-
le con micro:Bit V1 e V2 e può essere pro-
grammato utilizzando la piattaforma di
programmazione grafica Mind+ di DFRO-
cod. DFMAQUEENLB cod. DFMAQUEENLW
BOT oppure MakeCode. Il robot viene
fornito completamente assemblato! Sarà Blu € 57 ,90
Bianco € 57,90
necessario aggiungere solo le batterie e
la scheda micro:bit (acquistabili separata-
mente) e programmarlo con uno dei molti
esempi presenti nella Wiki page. Dispone
di connettore per l’inserimento della sche-
da micro:bit, 2 motori in miniatura con
ingranaggi in metallo, 2 ruote in ABS con
pneumatico in gomma, 2 sensori ad infra-
rossi, un buzzer, un ricevitore a infraros-
si, 2 luci a LED, 4 LED RGB, un sensore di cod. DFMAQUEENLR cod. DFMAQUEENLG

€ 57 ,90
€ 57,90
distanza ad ultrasuoni, un portabatteria e
una mappa per l’inseguimento della linea. Rosa Verde

Futura Group srl


Caratteristiche tecniche di questi prodotti
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
ROBOTICA

ROBOT
MINIONS

di GRETA
GALLI

L’
estate scorsa è uscito al cinema un
nuovo film dedicato ai Minions, dei per-
sonaggi immaginari gialli che parlano
una lingua tutta loro e che seguono
Simpatico automa solo ed esclusivamente il loro capo
nelle sue avventure, ma che sono anche
personalizzabile, molto amati dai bambini. In questo ar-
con cui sperimentare ticolo vi proponiamo un’idea di progetto
da sviluppare nelle vacanze di Pasqua che renda felici anche
la programmazione i più piccoli, perché si tratta di costruire un “robottino” il cui
e il controllo aspetto è quello di uno dei suggestivi personaggi della serie
Minions e la cui realizzazione, oltre che semplice e in stile
del movimento. Maker, è un’occasione per fare un po’ di robotica didattica.

81
MATERIALE NECESSARIO quindi potete personalizzare il progetto sulla base
Perché è da fare proprio nelle vacanze di Pasqua della vostra creatività. Ma ora vi spieghiamo come
questo progetto? Perché abbiamo bisogno di un l’abbiamo pensato noi.
uovo di plastica delle sorprese, proprio quello che Come unità logica del Minions abbiamo optato per
per l’appunto si trova nell’uovo di Pasqua della un Arduino Nano, una scheda a microcontrollore
Kinder. della famiglia Arduino conosciuta soprattutto per
I Minions sono gialli e indossano delle casacche blu, le sue dimensioni ridotte. Grazie a questa ca-
quindi con una bomboletta spray possiamo colora- ratteristica diventa molto semplice nasconderla
re di conseguenza il nostro uovo delle sorprese, ma all’interno dell’uovo. In alternativa potete usare un
vi consigliamo di fare prima i fori per i componenti, Arduino nano 33 IoT o un Esp32 nel caso voglia-
così da non rovinare la vernice. te avere anche una connettività e controllare da
I componenti da utilizzare non sono vincolanti, tablet o smartphone il robot.
Abbiamo poi bisogno di due motori per il movi-
mento; a riguardo precisiamo che non dovranno
spostare un grande peso e non avendo bisogno di
 Fig. 1 chissà quale velocità, possiamo utilizzare due unità
Schematizzazione
del ponte ad H: gli del motore reperibile on-line su www.futurashop.it
interruttori simula- con il codice prodotto YJFF280. Si tratta di un mo-
no il funzionamento
dei transistor. tore che si “accontenta” di tensioni di lavoro molto
basse, come quelle ottenibili da batterie al litio o
comuni pile a secco.
A questo punto viene spontaneo chiedersi come si
pilotano questi motori? Potremmo collegarli diret-
tamente ad Arduino? No, semplicemente perché
questi motori necessitano sì di poca corrente, ma
che una board Arduino non è in grado di erogare
(tipicamente si parla di 20mA per ogni pin); inoltre
necessitano di una tensione compresa tra i 6V e
i 12V, e Arduino nano è in grado di erogare 5V dai
pin.
Quindi come possiamo fare? Ebbene, abbiamo due
metodi da scegliere: il primo è quello di utilizzare
dei transistor, mentre il secondo consiste nell’usa-
re un ponte H. Nel caso della prima scelta potete
utilizzare un transistor di tipo NPN, come il BC337,
calcolare la resistenza di base e aggiungere un dio-
do di protezione per ogni motore, ma il problema
di questa soluzione è il fatto che il motore sarà in
grado di girare solo in un verso.
Nel caso invece della seconda scelta si può utiliz-
zare un ponte H per ogni motore, un circuito sem-
pre fatto da dei transistor ma che ci consente di
direzionare il verso della corrente e di conseguenza
di far girare il motore in entrambi i sensi di marcia.
Nella Fig. 1 è illustrato lo schema di un ponte H
fatto con degli interruttori, che rappresentano i
transistor (bipolari o ad effetto di campo) normal-
mente utilizzati come interruttori allo stato solido
 Fig. 2 nei ponti ad H, per capire meglio il funzionamento
Attivazione degli in-
di questo circuito; proviamo dunque a spiegare
terruttori per avere
5V positivi sul lato il ponte ipotizzando in una prima fase che, come
sinistro del ponte. nella Fig. 2, andiamo a chiudere gli interruttori S3
e S2. Ebbene, in tale condizione avremo la corrente

82
che circolerà da VCC, attraverso S3, passerà nel
 Fig.3
carico (una resistenza, in questo caso, ma nella Attivazione
nostra applicazione il carico è un motore elettrico degli interrut-
tori per avere
a spazzole in continua), arriverà da S2 e infine a 5V la polarità
GND, determinando la rotazione in un senso di positiva sul
terminale di
marcia; invece nel caso, schematizzato nella Fig.
sinistra della
3, andiamo a chiudere gli interruttori S1 e S4, la resistenza.
polarità ai capi del carico si inverte e, nel caso del
motore, l’albero gira al contrario rispetto al caso
precedente.
Ma come si realizza in pratica un ponte ad H? Il
circuito è facile, come vedete nelle figure appena
citate, però siccome ciò richiederebbe la realizza-
zione di un circuito stampato (sebbene si possano
montare i componenti su un pezzetto di basetta
millefori…) è più comodo utilizzare una breakout
board (se ne trovano diverse in commercio) già
pronta che dispone dei contatti di uscita e di in-
gresso comandabili da livelli logici TTL. Nel nostro
caso abbiamo scelto di utilizzare un modulo che
già dispone di due ponte H, proprio quelli che ci di 12V utilizzando due porta-batterie in serie (cod.
servono per controllare i nostri motori, ma nel BH343B).
caso voleste crearvi il ponte H da zero vi lasciamo Come ultimo elemento aggiungiamo un sensore
lo schema elettrico del circuito da realizzare: lo ad ultrasuoni, ovvero un sensore che ci consente di
trovate nella Fig. 4. misurare la distanza da un oggetto e inoltre, dato
Il modulo ponte H, da noi utilizzato e dettagliato l’aspetto che i due trasduttori gli conferiscono, si-
nello schema di cablaggio visibile in Fig. 5, potete mile a due occhi, permette di creare anche gli occhi
acquistarlo on-line su futuranet.it con il codi- del nostro Minion robotico.
ce HBRIDGEMOD. Abbiamo detto che i motori Il sensore a ultrasuoni cui ci riferiamo è acquistabi-
necessitano di un’alimentazione superiore ai 5V e le on-line sempre su www.futuranet.it (cod. MISDI-
per questo motivo utilizzeremo un porta-batteria ST04); è in grado di misurare distanze comprese
esterno per pile stilo che permette di disporre di tra 2 cm e 4,5 m (questo significa che il nostro
una tensione di 6V se vi si montano quattro stilo, o robottino potrà riconoscere ostacoli a questa

 Fig. 4
Schema
elettrico del
ponte ad H.

83
 Fig. 5
Cablaggio dei com-
ponenti utilizzati nel
robot.

distanza). È composto da due capsule ad ultra- leghiamo l’alimentazione di ogni componente, dal
suoni a 40 kHz (una trasmittente e una ricevente) vano batteria prendiamo il cavo nero, ovvero GND,
e dall’elettronica di controllo, della quale tra breve e lo colleghiamo alla massa di Arduino, del modulo
spiegheremo il funzionamento. ponte H e del sensore ad ultrasuoni.
Il cavo rosso, ovvero VCC, lo colleghiamo al pin
STRUTTURA MECCANICA Vin della scheda Arduino e al pin VCC del ponte H,
Per quanto riguarda la struttura fisica del robot po- mentre il pin di alimentazione (VCC) del sensore ad
tete dare sfogo alla vostra fantasia: potrete usare ultrasuoni lo colleghiamo all’uscita 5V di Arduino
delle ruote che si trovano in commercio, ma creare Nano.
tutto da zero è un ottimo modo per rendere ancora Il sensore ad ultrasuoni ha due contatti chiamati
più personale il nostro robot. trig ed echo (oltre all’alimentazione) i quali consen-
Per l’assemblaggio potete trarre spunto dalle foto tono al sensore di funzionare come il senso che il
del prototipo; nel nostro caso abbiamo utilizzato pipistrello utilizza per percepire gli ostacoli intorno
stampa 3D, viti, colla a caldo e cartoncino colorato, ad esso: con un trasduttore piezoelettrico emit-
ma per fare le ruote potete utilizzare anche dei tente irradia frontalmente, entro un cono ristretto,
tappi delle bottiglie! delle onde ultrasoniche alla frequenza di 40 kHz e
Nella sezione download della pagina di questa quando queste colpiscono un corpo riflettente nel
rivista sul nostro sito www.elettronicain.it trovate, raggio di azione del dispositivo, parte di esse torna
insieme ai file del progetto, i file .STL per stampare indietro e viene captata dalla seconda capsula
le ruote ed il “carrello” posteriore che supporta il piezo, stavolta in funzione di ricevente. Il segnale
portapile. ai capi di quest’ultima viene amplificato e trattato
da un comparatore per ottenere degli impulsi la cui
COLLEGAMENTI larghezza è proporzionale alla distanza rilevata.
I componenti e gli elementi che realizzano la parte Per generare un impulso di ultrasuoni il dispositivo
elettronica del nostro Robot Minion devono essere richiede che il suo pin trig venga posto a livello alto
interconnessi seguendo lo schema di cablaggio per 10 ms (ogni commutazione 0/1 logico su di
proposto nella Fig. 5. esso determina l’emissione di un treno di 8 onde
Sulla base di questo disegno, come prima cosa col- ultrasoniche); se degli ultrasuoni tornano con

84
ampiezza sufficiente alla capsula ricevente, un ap- quattro morsetti, che collegheremo ad altri quattro
posito circuito genera i predetti impulsi rendendoli pin digitali di Arduino Nano.
disponibili sul pin echo. Per le connessioni potete utilizzare i classici cavetti
La durata dell’impulso di risposta al trig restituito jumper, ad esempio quelli reperibili da futura Elet-
dal modulo sul pin di uscita echo varia da 150 µs tronica con il codice JUMPERFF40P.
(alla distanza di 2 cm) a 25 ms (in corrispondenza
della massima distanza rilevabile, ossia 4,5 m) PROGRAMMAZIONE
proporzionale alla distanza dell’oggetto. Bene, vista la parte meccanica e l’elettronica
Se il dispositivo non rileva alcun ostacolo entro i (ossia l’hardware) del robot, passiamo agli aspetti
4,5 m, produce un impulso di durata di circa 38 ms. firmware, quindi al caricamento dello sketch nel
Per calcolare la distanza in centimetri bisogna divi- microcontrollore della scheda Arduino Nano.
dere la durata dell’impulso in µs per 58. Il firmware Apriamo dunque l’Arduino IDE e iniziamo col
che abbiamo scritto per il nostro robot si basa su dichiarare tutto ciò che abbiamo collegato, vale a
tale proporzione per calcolare la distanza. dire le variabili associate al sensore a ultrasuoni e
Nel nostro circuito i due pin trig ed echo vengono in generale le linee di I/O utilizzate per la gestione
collegati a due pin digitali di Arduino. di esso e dei motori.
Vediamo adesso il modulo ponte H, il quale possie- Riguardo al sensore di distanza, notate che non
de quattro morsetti divisi in due coppie, ad ognuno abbiamo fatto uso della specifica libreria per
dei quali va collegato uno dei due cavi del motore Arduino ma lo gestiamo a basso livello, quindi ci
(da saldare ai morsetti del motore); nel nostro caso basiamo sugli impulsi che esso produce e le cui
non ci sono particolari problemi di polarità, perché caratteristiche sono correlate alla distanza rilevata.
anche scambiando i fili il motore gira ugualmente. Riguardo alle dichiarazioni dei pin utilizzati ab-
Chiaramente il motore elettrico ha una polarità, biamo due pin digitali per ogni motore e i pin trig
nel senso che normalmente collegando il positivo ed echo del sensore. Abbiamo poi due variabili
sul positivo l’albero ruota in senso orario. Diciamo che ci serviranno per leggere la distanza letta dal
che la polarità è abbastanza irrilevante, perché sensore: distanza e durata, distanza può essere
alla peggio basta scambiare i fili degli ingressi del dichiarata come int in quanto conterrà un valore
ponte, ovvero invertire il verso nel firmware, alle abbastanza piccolo da poter essere memorizza-
sezioni void avanti() e void indietro(). to in un int, mentre durata, che memorizzerà il
Sul modulo troviamo poi quattro pin dedicati ai tempo che passa da quando il pin trig manda un  Il nostro
robot mon-
tato.

85
segnale e il pin echo lo memorizza, sarà di tipo long
 Listato 1 in quanto non sarebbe possibile utilizzare un int
#define A1A 2 (negli int si possono memorizzare valori che vanno
#define A1B 3
#define B1A 5
da -32.768 a 32.767).
#define B1B 6 Nel setup dichiariamo input e output: in questo
const int Trig = 7;
caso come input abbiamo solo il pin echo del
const int Echo = 8; sensore.
long durata;
Per semplificare il codice abbiamo deciso di creare
int distanza; una funzione per ogni movimento, ossia una avanti,
void setup() {
indietro, destra e sinistra.
// put your setup code here, to run once: Chiaramente in avanti e indietro i motori gireranno
pinMode(A1A, OUTPUT);
pinMode(A1B, OUTPUT);
uno opposto all’altro a pari velocità.
pinMode(B1A, OUTPUT); Per far ruotare un motore con il ponte H, come vi-
pinMode(B1B, OUTPUT);
pinMode(Trig, OUTPUT);
sto precedentemente, bisogna dare alimentazione
pinMode(Echo, INPUT); ad un pin e mettere a massa l’altro, se si inverte il
}
pin alimentato con quello a massa si ottiene il mo-
void loop() { vimento del motore nel senso di marcia opposto, e
// put your main code here, to run repeatedly:
se per caso vi trovate con un motore che non gira
avanti(); come dovrebbe vi basta invertire i cavi collegati ai
digitalWrite(Trig, LOW);
morsetti oppure quelli collegati ai pin.
delayMicroseconds(2); Per andare avanti ci devono quindi essere due
digitalWrite(Trig, HIGH);
pin alimentati e due spenti (uno per motore), per
delayMicroseconds(10); andare indietro si invertono i pin e per girare abbia-
digitalWrite(Trig, LOW);
mo due metodi: attiviamo solo un motore (quello
durata = pulseIn(Echo, HIGH); opposto al senso di rotazione, quindi se si deve
distanza = durata * 0.0343 / 2;
girare a destra si attiverà solo il motore di sinistra)
digitalWrite(Echo, LOW); oppure possiamo attivare un motore in un senso e
Serial.println(distanza);
uno nel senso opposto.
Nel primo caso il robot compierà un arco con
if(distanza < 30){
fermo();
raggio pari alla larghezza del robot in quanto il
delay(1000); motore spento fa da perno, mentre nel secondo
indietro();
delay(800);
caso avremo un robot che gira su se stesso, come
fermo(); fanno i robot delle pulizie che abbiamo in casa per
delay(1000);
destra();
fare un paragone.
delay(1000); Alla domanda “quale metodo conviene?” rispon-
fermo();
delay(500);
diamo che non ce n’è uno preferibile: dipende
} da quanto spazio il robot può occupare nel suo
}
spostamento.
void avanti(){ Nel loop come prima operazione andiamo a richia-
digitalWrite(A1A, HIGH);
digitalWrite(A1B, LOW);
mare la funzione avanti() così da far muovere il no-
digitalWrite(B1A, LOW); stro robot, successivamente andiamo a controllare
digitalWrite(B1B, HIGH);
}
la distanza; questa operazione può essere scritta
nel loop oppure può avere una funzione dedicata
void indietro(){
digitalWrite(A1A, LOW);
int distanza() che poi viene richiamata.
digitalWrite(A1B, HIGH); Per calcolare la distanza dobbiamo attivare, ossia
digitalWrite(B1A, HIGH);
digitalWrite(B1B, LOW);
porre a livello alto il pin di trig per 10 millisecondi
} allo scopo di far generare al misuratore a ultrasuo-
void destra(){
ni; le righe di codice che attivano e disattivano il pin
digitalWrite(A1A, HIGH); trig sono le seguenti:
digitalWrite(A1B, LOW);
digitalWrite(B1A, LOW);
digitalWrite(B1B, LOW); digitalWrite(Trig, LOW);
}
delayMicroseconds(2);
digitalWrite(Trig, HIGH);

86
delayMicroseconds(10);
digitalWrite(Trig, LOW);

Successivamente Arduino si pone in ascolto dello


stato logico fornito dal pin echo e andrà a memo-
rizzare la durata del relativo impulso nella variabile
durata; una volta acquisita la durata, viene applica-
ta la formula:

distanza = durata * 0,0343 / 2

contenuta nella riga di codice corrispondente. In


pratica moltiplicando per 0,0343 e dividendo il
risultato per 2 otteniamo lo stesso valore che ot-
terremmo dividendo per 58 la durata dell’impulso.
Notate che il fattore 0,0343 deriva dalla velocità
del suono, che è 340 m/s ed è insito nella correla-
zione tra distanza, che il sensore fornisce raddop-
piata perché il tempo trascorso tra l’attivazione
del trig e l’arrivo della risposta su echo corrisponde da evitare l’ostacolo.
all’andata e al ritorno delle onde a 40 kHz. Tutto quanto appena spiegato apparirà più chiaro  L’elettronica
Siccome la distanza (d) è data dal prodotto della leggendo il Listato 1, che riporta il codice Arduino all’interno del
robot.
velocità del suono (v, pari a circa 344 m/s nell’aria utilizzato per gestire il nostro piccolo robot.
a 20 °C) per il tempo trascorso (t), ogni millise-
condo di ritardo indica una distanza di 0,344/2 m, CONCLUSIONI
quindi 17,24 cm. Infatti se nella formula: Bene, con questo abbiamo terminato.
Con la speranza che questo progetto di riciclo cre-
d=vxt ativo vi sia piaciuto e che gli abbiate dato la forma
che più vi aggrada, vi ricordiamo che nessun robot
sostituiamo i valori, otteniamo: è perfetto, ma l’importante è che piaccia a voi!
Questo vale anche per il firmware, che potrete
d = 344 m/s x 103 s = 0,344 m personalizzare a vostro piacimento per adattare
ancora di più il robot al vostro gusto o alle vostre

Dividendo per due risultano 17,2 cm. esigenze, scegliendone il comportamento.
Con un costrutto if controlliamo se questa distan-
za è minore di un valore a nostra scelta e in caso
affermativo fermiamo il robot, lo facciamo tornare
indietro e girare verso un’altra direzione, in modo

 Listato 1 - continua

void sinistra(){
digitalWrite(A1A, LOW); Cosa occorre?
digitalWrite(A1B, LOW);
digitalWrite(B1A, LOW); I componenti utilizzati in questo progetto sono disponibili da
digitalWrite(B1B, HIGH); Futura Elettronica.
} La board Arduino Nano (cod. ARDUINONANO) è disponibile a
Euro 29,00, il sensore ad ultrasuoni (cod. MISDIST04) a Euro
void fermo(){ 5,00, il ponte H (cod. HBRIDGEMOD) a Euro 3,90, il motore
digitalWrite(A1A, LOW);
(cod. YJFF280) a Euro 2,90 l’uno.
digitalWrite(A1B, LOW);
digitalWrite(B1A, LOW);
digitalWrite(B1B, LOW); Il materiale va richiesto a:
}
Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it

87
Stop ai fili con gli interruttori
wireless a 433 MHz!
Interruttori wireless da utilizzare in abbinamento al ricevitore wireless a 433 MHz a 1 canale (FR790). Non
richiedono nessuna alimentazione in quanto si auto-alimentano tramite un generatore elettrodinamico posto
al loro interno. Ideali per controllare facilmente senza fili le luci in abitazioni, garage, negozi o altri dispositivi
funzionanti a 220 VAC con carico inferiore a 1000 W e in tutte le situazioni in cui è necessario installare un
interruttore ad un impianto già esistente senza aggiungere cavi di collegamento. La procedura di abbinamento
tra ricevitore e pulsante è molto semplice e offre la possibilità di memorizzare fino a 5 dispositivi.

Interruttori wireless a 1 o 2 canali Ricevitore wireless 433 MHz


a 433 MHz autoalimentati 1 Canale - 220 VAC

1 CANALE 2 CANALI

€ 11,00 € 19,00 € 18,00


Cod. FR791 Cod. FR792 Cod. FR790
Prezzi IVA inclusa

Ideali per:
Elettrodomestici

Illuminazione Ventilatori Utilizzi industriali

Futura Group srl


Caratteristiche tecniche di questi prodotti
®
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
DOMOTICA

SMART
ROLLER SHUTTER di MAURIZIO ŠKERLIČ

Permette il comando di

I
tapparelle motorizzate l tema wireless è strettamente legato alla
mediante assistente domotica e all’IoT, ambiti che affrontiamo con
entusiasmo e per cui vi proponiamo mensilmente
vocale Amazon Alexa, progetti basati su soluzioni di prototipazione già
Google assistant oppure disponibili e dotate di connettività di rete.
In questo articolo ci riallacciamo alla “saga” dei di-
tramite App; connesso spositivi Smart basati sul modulo WiFi ESP8266
in WiFi, è programmato (Smart Switch, Smart Dimmer e via di seguito),
proponendovi un nuovo progetto per la domotica, che abbia-
con un firmware che mo chiamato “Smart roller shutter”: si tratta di un dispositivo
si appoggia al server “intelligente” dedicato al controllo delle tapparelle elettriche
mediante l’assistente vocale Amazon Alexa o Google assi-
Sinric Pro. stant oppure tramite App da smartphone.

89
| schema ELETTRICO

90
L’installazione non prevede assolutamente nessu- l’integrato PCA9536 un espansore di porte input
na modifica dell’impianto elettrico, né tantomeno output a 4 bit, nello schema elettrico siglato U3, e CARATTERISTICHE
la sostituzione del motore della tapparella oppure con l’integrato ADC (analog to digital converter) TECNICHE
la sostituzione dei pulsanti o interruttori auto- da 18 bit MCP3421 siglato U6. Facciamo presente
bloccanti preesistenti. Basterà cablare opportuna- che vengono commercializzati ben sette versioni Montaggio in scatola da
incasso oppure su supporti
mente il nostro dispositivo e in pochi minuti avrete di questo chip che si differenziano unicamente per Vimar, Gewiss o BTicino.
trasformato la vostra tapparella in un dispositivo il diverso indirizzo I2C. Quello utilizzato nel nostro
smart. Le sue dimensioni contenute gli permet- progetto risponde all’indirizzo I2C 0x69 ed è siglato
Carico massimo 550 W.
tono di essere installato in qualsiasi scatola di MCP3421A1. Se non lo trovate presso il vostro ne-
derivazione per impianti elettrici oppure montato gozio di fiducia potete tranquillamente utilizzarne
sul supporto portafrutto nelle scatole rettangolari uno con indirizzo I2C diverso, in questo caso dovre- Protezione termica, da
503 utilizzando gli appositi adattatori, stampabili te opportunamente modificare lo sketch inserendo sovracorrenti e sovratensioni.
mediante stampante 3D, scaricabili dal nostro sito. il corretto indirizzo di comunicazione. Ad esempio
se acquisterete il chip MCP3421A2, come descritto Compatibile con gli
SCHEMA ELETTRICO nel datasheet, al numero binario 1101XXX sostitu- assistenti vocali Amazon
Alexa e Google Assistant.
Chi ci segue da tempo avrà notato la somiglianza ite le “X” con l’address bits del chip, che è definito
tra lo “Smart roller shutter” e il “Double smart dagli ultimi due valori della sigla. Nel nostro caso
Configurazione tramite
switch” presentato nella pubblicazione di febbraio specifico è A2 che equivale all’address bit numero interfaccia web.
2022, numero 261. 2, il quale espresso in formato binario è 010.
Andiamo quindi ad analizzarlo partendo dal modu- Dopo l’opportuna sostituzione l’indirizzo I2C diven-
Collegamento alla rete
lo ESP03, siglato U5 e basato sul microprocessore ta 1101010 che convertito in esadecimale equivale WiFi domestica.
Espressif ESP8266 con architettura RISC a 32 bit, a 0x6A (vedere Fig. 1).
caratterizzato da una frequenza di funzionamen- Analizziamo ora la parte più importante del nostro
Funzionamento con pulsanti
to a 80 MHz ed equipaggiato con una memoria dispositivo cioè quella che permette di imposta- o interruttori interbloccati.
flash da 1MB. Il circuito viene alimentato da un re la posizione della tapparella senza l’ausilio di
alimentatore switching integrato a bordo scheda, un sensore di posizione. Questo avviene grazie
che eroga 5 V di tensione e 1 A di corrente; nello a un sensore di corrente a effetto Hall ACS712 Protezione con password.
schema elettrico, tale modulo è siglato TR1. prodotto dall’Allegro Microsystems, nello schema
La tensione di uscita di questo dispositivo viene elettrico siglato U7, che rileva lo spegnimento del
abbassata a 3,3 V dal regolatore di tensione motore una volta raggiunto il finecorsa. Indispen- Reset password tramite
pulsante.
NPC1117, nello schema elettrico siglato U4. sabile soprattutto in fase di calibrazione per poter
La tensione a 5 V viene filtrata dai condensatori cronometrare il tempo che la tapparella impiega
ceramici multistrato C4, C5 e C8 mentre quella per chiudersi e aprirsi. Questo chip viene commer- Rilevamento della corrente
e della potenza assorbita.
a 3,3 V dai condensatori C6, C7, C9, C11 e C12 cializzato in tre versioni a seconda della corrente
indispensabili per evitare reset o crash di sistema massima rilevabile; da 30 A con una sensibilità di
casuali. Ricordiamo che il processore Espressif è 66 mV/A, da 20 A con una sensibilità di 100 mV/A
molto sensibile ai cali di tensione, ai disturbi elettro e da 5 A con una sensibilità di 185 mV/A.
magnetici, detti EMI (Electro Magnetic Interferen- Nel nostro prototipo abbiamo utilizzato la versione
ce), e soprattutto all’eccessivo ripple tipico degli da 5 A poiché ha la massima sensibilità (185 mV/A)
alimentatori switching in particolar modo quelli a e permette di rilevare l’intensità di corrente con
basso costo. Queste sono le principali cause per il una risoluzione migliore. Anche se in commercio
mancato funzionamento dei progetti realizzati dai esistono diversi sensori con sensibilità e caratte-
neofiti che si cimentano per la prima volta con i ristiche anche migliori abbiamo optato l’utilizzo
processori della famiglia ESP, soprattutto quando i
prototipi vengono montati su breadboard e i colle-
gamenti sono realizzati con cavetti in modo caotico
e approssimativo. Oppure dove, per la fretta o  Fig. 1
Procedura
per pigrizia, l’alimentazione non viene quasi mai per ricavare
disaccoppiata o filtrata con i condensatori. Chiusa l’indirizzo
I2C del
questa doverosa parentesi continuiamo con l’a-
convertitore
nalisi dello schema elettrico. I piedini 10 (GPIO 12) A/D MCP3421.
e 11 (GPIO 13) dell’ESP03, rispettivamente SDA
e SCL, sono utilizzati per la comunicazione I2C con

91
L’INTEGRATO ACS712

Si tratta di un sensore di corrente prodotto dalla Allegro senza l’uso di optoisolatori o altre costose tecniche di isolamento.
Microsystems e basato sull’effetto di Hall. L’ACS712 è fornito in un piccolo contenitore SOIC8 a montaggio
L’Allegro ACS712 è una soluzione economica e precisa per il superficiale. La tabella seguente descrive la funzione degli 8
rilevamento della corrente CA o CC in applicazioni industriali, piedini.
commerciali, e sistemi di comunicazione. Applicazioni tipiche
includono il controllo di motori elettrici, il rilevamento e la gestio-
NUMERO NOME DESCRIZIONE
ne del carico, modalità di alimentazione e protezione dai guasti da
PIN
sovracorrente. Il dispositivo non è destinato ad applicazioni auto-
mobilistiche. Il dispositivo è costituito da un circuito Hall preciso, 1e2 IP+ Terminale per il rilevamento della corrente
a basso offset e lineare con un percorso di conduzione in rame 3e4 IP- Terminale per il rilevamento della corrente
situato vicino alla “superficie del die, cioè la sottile piastrina di
5 GND Terminale del segnale di terra
materiale semiconduttore sulla quale è stato realizzato il circuito
elettronico del circuito integrato. La corrente scorre attraverso il Terminale per il condensatore esterno che
6 FILTER
percorso in rame e genera un campo magnetico che il sensore di imposta la larghezza di banda
Hall converte in una tensione proporzionale al campo.
7 VOUT Uscita analogica
La precisione del dispositivo è ottimizzata attraverso la stretta
vicinanza del segnale magnetico al trasduttore di Hall e alla 8 VCC Terminale di alimentazione del dispositivo
posizione fissa e stabile rispetto ad esso. L’uscita del dispositi-
vo ha una pendenza positiva (>VIOUT(Q)) quando una corrente Le principali caratteristiche del componente sono:
crescente scorre attraverso il percorso di conduzione primario di • segnale analogico a basso rumore;
rame (dal pin 1 e 2, ai pin 3 e 4), che è il percorso utilizzato per il • tempo di salita dell’uscita di 5 μs;
campionamento della corrente. La resistenza interna di questo • larghezza di banda di 80 kHz;
percorso conduttivo è tipico di 1,2 mΩ e fornisce una bassa per- • errore di uscita totale 1,5% a 25°C;
dita di potenza. Lo spessore del conduttore di rame permette al • resistenza del conduttore interno di 1,2 mΩ;
dispositivo di sopportare fino a volte le condizioni di sovracorren- • tensione di isolamento minima dai pin 1-4 ai pin 5-8
te. I terminali del percorso conduttivo sono elettricamente isolati di 2,1 kVRMS;
dai terminali del segnale (pin da 5 a 8). Ciò consente di utilizzare • funzionamento con alimentazione singola di 5V;
l’ACS712 nelle applicazioni che richiedono l’isolamento elettrico • Sensibilità di uscita da 66 a 185 mV/A.

dell’ACS712 esclusivamente per la sua facile presentano tensioni diverse, abbiamo dovuto
reperibilità. usare un traslatore di tensione (voltage transla-
Questo chip misura la corrente alternata che flui- tor) detto level shifter, composto da un doppio
sce attraverso i piedini 1, 2 e 3, 4, e la trasforma in MOSFET a canale N nello schema elettrico siglato
una tensione proporzionale di 185 mV/A prelevabi- con T3, e quattro resistenze R7, R8, R17 e R18 che
le dal piedino 7. Il segnale alternato viene raddriz- a loro volta hanno anche la funzione di mantenere
zato dall’operazionale MCP6402, nello schema alto il livello del bus I2C.
elettrico siglato U8, montato in configurazione di I piedini 1 (IO0) e 2 (IO1) di U3 sono configurati
raddrizzatore a doppia semionda per misurare il come porte OUTPUT mentre il piedino 3 (IO3) e 5
valore efficace della corrente alternata. (IO4) sono configurati come porta INPUT. Queste
Il segnale raddrizzato in uscita dal piedino 7 di sono mantenute ad alto livello dalle resistenze R5
U8 viene prelevato e convertito dal convertitore e R6 e i segnali, proveniente dal collettore dei tran-
analogico digitale U6, che è un MCP3421. Poi- sistor presenti nei fotoacoppiatori U1 e U2, sono
ché il sensore di corrente ACS712 funziona a 5 V, filtrati dai condensatore C1 e C2.
anche il segnale in uscita dal pin 7 deve essere La tensione alternata a 230 V proveniente dai
raddrizzato e convertito da un chip alimentato con pulsanti collegati ai piedini 1 e 2 del connettore
la stessa tensione. Difatti sia l’operazionale U8 in CON1, rispettivamente salita e discesa, viene
configurazione di raddrizzatore a doppia semionda disaccoppiata grazie ai doppi diodi LED, dei fotoa-
e il convertitore A/D U6 vengono alimentati da una coppiatori U1 e U2, e dalle resistenze limitatrici di
tensione a 5 V, mentre il livello logico del bus I2C corrente R1, R2 e R3, R4. Le resistenze R5 e R6,
del modulo ESP03, che comunica con il convertito- usate come resistenze di pullup, mantengono a
re A/D, non è a 5V ma bensì a 3,3 V. potenziale alto rispettivamente le linee SCL e SDA
Per rendere compatibili i due segnali logici, che del bus I2C. Il pulsante SW1 collegato al piedino

92
9 (GPIO2) del modulo ESP03, mantenuto ad alto rispettivamente ai piedini 5 e 6 di CON1. Il circuito
livello dalla resistenza R9, serve a reimpostare la è protetto dalle sovratensioni e sovracorrenti
password predefinita di sistema “123456789”, in mediante il varistore VR1 e il fusibile F1, mentre il
caso dimenticaste quella memorizzata. diodo transil unidirezionale D1 protegge il circuito
I piedini 1 e 2 dell’integrato PCA9536 (U3), pilotano da una tensione eccessiva in uscita dall’alimenta-
una coppia di relé elettromeccanici mediante due tore in caso di guasto.
doppi MOSFET a canale N e canale P (una coppia
incapsulata in un unico contenitore), nello schema REALIZZAZIONE PRATICA
elettrico siglati con T1 e T2. In parallelo alla bobina Prima di addentrarci nella realizzazione pratica
dei relé troviamo i diodi di riciclo (Flyback), siglati vogliamo informarvi che a causa delle dimensioni
D2 e D3, i quali limitano l’ampiezza delle sovra- ridotte del circuito stampato (imposte dalla neces-
tensioni induttive, sopprimendo le extratensioni sità di renderlo compatibile con i frutti dei marchi
di segno opposto generate dalle bobine quando i più diffusi) per riuscire a far stare tutti i componen-
relé vengono diseccitati e quindi proteggendo i due ti sul PCB siamo stati costretti a utilizzare alcuni
transistor T1 e T2 montati a valle. componenti SMD con package 0201. Ciononostan-
Il carico, nel nostro caso il motoriduttore della tap- te, la realizzazione del nostro circuito non richiede-
parella, viene collegato sui piedini 3 salita (OUT1), rà conoscenze particolari né un’estrema precisione.
4 discesa (OUT2) e 5 comune (NEUTRO), mentre Come sempre per il montaggio dei componenti
la tensione di rete, neutro e fase, viene collegata suggeriamo l’utilizzo di un saldatore stilo a punta

| piano di MONTAGGIO
Elenco Componenti:
R1, R2, R3, R4: 150 kohm U1, U2: TLP184
300V (0805) U3: PCA9536TK
R5, R6: 470 kohm (0402) U4: NCP1117ST33T3G
R7, R8: 2,2 kohm (0603) U5: ESP03
R9, R10: 10 kohm (0603) U6: MCP3421A1T-E/CH
R11, R14: 100 ohm (0402) U7: ACS712ELCTR-05B-T
R12, R15: 10 ohm (0402) U8: MCP6402
R13, R16, R23: 10 kohm VR1: V430CH8
(0402) T1, T2: BSD235CH
R17, R18: 2,2 kohm (0402) T3: BSS 138 DW
R19: 5,6 kohm (0201) D1: SMF5.0A
R20, R21, R22, R24: 10 kohm D2, D3: 1N4148W
(0201) D4, D5: PMEG4002EB,115
R25: 1 Mohm (0201) RL1, RL2: G6DN-1A-SL
C1, C2, C16: 1 µF 6,3 VL DC5
ceramico (0402) F1: Fusibile T 2,5 A -
C3, C4, C7, C9, C13, C14: 7.4x4.5x5.1mm
100 nF 6,3 VL ceramico SW1: Pulsante SMD
(0402) 4.6X2.8mm
C5, C6, C12: 10 µF 6,3 VL TR1: RAC05-05 (5V / 5W)
ceramico (0402) CON1: Morsettiera 6 vie
C8: 220 µF 6,3 VL ceramico passo 5 mm
(1206) CON2: Connettore Maschio
C10, C11: 100 µF 6,3 VL ad inserzione 4 poli passo
ceramico (1206) 2 mm
C15: 1 nF 6,3 VL ceramico
(0402) Varie:
C17: 22 µF 6,3 VL ceramico - circuito stampato S1665
(0603) (41x37 mm)

93
IL DOPPIO SCHOTTKY BAT54

Il doppio diodo Schottky tipo un suffisso, ossia una coppia di


BAT54 con cui potete sostituire la lettere che segue la sigla. Nel
coppia di diodi D5 e D6 esiste in nostro caso abbiamo scelto la SW Per chi fosse interessato a realizzare da solo lo
varie versioni, tutte incapsulate e pertanto il circuito stampato è stampato, facciamo presente che sul nostro sito
in package formato SOT-323; ciò progettato per ospitare questa web www.elettronicain.it trovate i file Gerber del
che le distingue è la piedinatura, e non altre. Le possibili versioni, circuito stampato a doppia faccia ottenibile per fo-
che differisce per offrire al pro- associate alle rispettive pin-out, toincisione, nonché il firmware; il tutto è disponibi-
gettista varie soluzioni. Ciascuna sono dettagliate nell’immagine in le nella sezione Download insieme ai file di questo
pin-out è contraddistinta da questo riquadro. numero della rivista.
Come al solito iniziate a saldare i semiconduttori
e successivamente tutti i componenti passivi,
facendo attenzione al corretto orientamento dei
semiconduttori, come visibile nel piano di montag-
gio proposto nella pagina seguente.
Nel saldare i componenti passivi, stagnate prima
quelli con il contenitore più piccolo e successiva-
mente quelli più grandi. Per ottimizzare lo spazio
il modulo ESP03, che nello schema elettrico è si-
glato U5, andrà prima stagnato sul PCB adattatore
e successivamente montato verticalmente come
mostrato qualche pagina indietro, nella Fig. 2.
Per ultimi andranno montati i componenti a foro
passante, ossia le morsettiere, i relé e il modulo
alimentatore switching.
Per chi non riuscisse a reperire i due diodi schottky
“PMEG4002EB,115” abbiamo previsto sul PCB che
si possano sostituire con un doppio diodo Schottky
tipo BAT54, che è in formato SOT-323. Nell’acqui-
sto di quest’ultimo ricordiamo di fare attenzione
al suffisso della sigla, che indica la disposizione
interna dei diodi; nel nostro caso va utilizzato il
tipo SW. Per aiutarvi, dettagliamo le versioni nel
riquadro dedicato al BAT54.
sottile con potenza non troppo elevata (20 ÷ 25 Una volta terminato il montaggio di tutti i com-
watts) e del filo di lega saldante possibilmente non ponenti consigliamo sempre di pulire il PCB dal
superiore a 0,7 mm di diametro. flussante con alcol isopropilico.
Consigliamo di usare un flussante di ottima qualità Con una lente di ingrandimento controllate atten-
che non lascia scorie residue, possibilmente di bas- tamente che non si siano formati ponticelli di sta-
sa o media densità. Per posizionare i componenti gno tra i piedini dei componenti in particolar modo
aiutatevi con delle pinzette a punta fine possibil- tra i piedini di U1 e le piazzole dei componenti con
mente amagnetiche di acciaio inox oppure con le case 0201. A questo punto potete alimentare il
punte in plastica o ceramica, altrimenti magnetiz- prototipo, seguendo il cablaggio illustrato nello
zandosi, i componenti saranno attratti dalle punte schema elettrico.
metalliche, complicandovi il lavoro. Come sempre, e non ci stancheremo di ripeterlo,
non toccate con le mani nude i circuiti quando
sono allacciati alla rete elettrica a 230 V, altrimenti
rischiate di rimanere folgorati.
Siccome gli impianti elettrici domestici per legge
hanno l’interruttore differenziale, impropriamente
 Fig. 2
Montaggio del
chiamato “salvavita”, molti di voi pensano che que-
modulo ESP03 in sto interverrà e lo proteggerà da eventuali scosse.
posizione verticale
In realtà il differenziale scatta unicamente se ci
sul PCB.
sono dispersioni di corrente verso terra, quindi se
toccate con le dita la fase e il neutro probabilmente
il differenziale non interverrà e voi vi beccherete

94
 Fig. 3
Collegamento
del
programmatore
seriale allo
“Smart roller
shutter”.

una scossa che potrebbe essere anche mortale: la ne del package core dell’ESP8266 è arrivata alla
prudenza non è mai troppa. versione 3.0.2. Con questa versione abbiamo ri-
scontrato problemi con la rete WiFi, probabilmente
PROGRAMMAZIONE E COLLAUDO con gli aggiornamenti futuri verrà risolto.
Poiché la configurazione e il collaudo dello “Smart All’inizio dello sketch ci sono delle righe commen-
roller shutter” è identica a quella degli altri disposi- tate che servono per impostare la compilazione del
tivi smart proposti in passato su questa rivista, per sorgente.
non essere ripetitivi, rimandiamo il lettore a leg- Ad esempio se la memoria Flash montata sul
gere gli articolo già pubblicati, riportando in questo modulo ESP03 è marchiata Puya, e volete abilitare
numero solo i passaggi più importanti. il supporto di tale memoria in fase di compila-
La programmazione del modulo ESP03 deve zione, dovete togliere il commento “//” davanti
essere effettuata mediante un adattatore USB a “#define PUYA_SUPPORT 1”, e se volete attivare
per ESP8266 oppure con un qualsiasi convertitore il debug togliete il commento davanti a “#define
USB TTL, purché compatibile con logica a 3,3 V, ENABLE_DEBUG”.
usato per programmare i moduli Arduino mini. La libreria Iotwebconf, per impostazione predefinita
Per il collegamento fate riferimento alla figura fa visualizzare sulla seriale le chiavi in chiaro del
Fig. 3. Collegate l’uscita TX del convertitore all’en- vostro account IoT. Per motivi di sicurezza vi con-
trata RX pin 4 del connettore CON2 e l’entrata RX sigliamo di disabilitare tale opzione aggiungendo
del convertitore all’uscita TX pin 3 di CON2. all’inizio del file IotWebConfSetitings.h, che si trova
Per mettere lo “Smart roller shutter” in modalità di nella cartella SRC, la seguente riga di testo “#define
programmazione, prima di allacciarlo alla corrente IOTWEBCONF_DEBUG_DISABLED”.
elettrica, premete il pulsante Prog collegato al Tra i file scaricabili dal sito web www.elettronicain.it,
pin 2 del connettore CON2 rilasciandolo dopo un nella cartella STL, trovate i file per la stampa 3D
secondo. degli adattatori e frutti per i supporti della serie
Per il corretto cablaggio del pulsante sul connetto- Vimar Plana, Gewiss System, Gewiss Playbus e
re CON2 fate riferimento al cablaggio di Fig. 3. BTicino living, visibile in Fig. 7, che faciliteranno
A scopo informativo precisiamo che lo sketch l’installazione dello “Smart roller shutter” nel
è stato compilato utilizzando il package core vostro impianto elettrico domestico.
ESP8266 versione 2.7.4 e le librerie “Iotweb- Fate attenzione al corretto orientamento del
conf” versione 3.2.1, “SinricPro” versione 2.10.0, coperchietto di chiusura del contenitore, in modo
“SparkFun_PCA9536_Arduino_Library” versione che il forellino laterale sia posizionato sopra al
1.2.2 e “ArduinoJson” versione 6.19.4. pulsante SW1, per permettere di schiacciarlo in
Fate attenzione che la versione del package core caso vogliate resettare il dispositivo se scordate la
dell’ESP8266 in Arduino Ide sia aggiornato almeno password.
alla versione 2.7.4, altrimenti avrete problemi di Per quelli che vogliono realizzare da soli il conteni-
funzionamento con la libreria IotWebConf. tore con la stampante 3D, consigliamo di imposta-
Al momento della stesura dell’articolo la versio- re l’altezza del layer a un valore non superiore di

95
te 3D, può usufruire del servizio di stampa 3D
messo a disposizione sul nostro sito all’indirizzo
 Fig. 4
Home page https://futuranet.it/servizio-di-stampa-3d/ e chiedere
dello “Smart roller un preventivo. In caso di conferma le stampe 3D
shutter”.
verranno spedite nelle 24 ore successive al termi-
ne della stampa.

UTILIZZO DELLO SMART ROLLER SHUTTER


Una volta acceso lo “Smart roller shutter” potete
accedere alla pagina web iniziale, come visibile in
Fig. 4, dove viene visualizzato il numero IP del di-
spositivo, il numero MAC (Media Access Control), la
corrente assorbita dal carico espressa in ampere, il
0,2 mm e, a seconda della versione del software consumo espresso in watt e la posizione della tap-
di slicing, attivare l’utilizzo del riempimento a linee parella espressa in percentuale. Per accedere alla
nel riempimento a griglia ad alta densità, altrimenti pagina di configurazione vi verrà richiesto il nome
la parete del contenitore, spessa appena 1,5 mm, utente e la password. Come nome utente inserite
non verrà riempita correttamente presentando “admin” e come password “123456789”. Una volta
uno spazio vuoto. entrati nella sezione “Settings” potete impostare i
Benché con il filamento PLA si ottengono ottimi parametri, come visibile in Fig. 5.
risultati, consigliamo comunque l’utilizzo di fila- I settaggi sono uguali a quelli degli altri disposi-
mento in ABS che sopporta temperature di fusione tivi IoT analizzati negli altri articoli già pubblicati.
più alte, oppure quello ABS V0 autoestinguente Per questo motivo andremo a elencare le varie
certificato dallo standard UL94 V0. impostazioni soffermandoci solo su quelle presenti
In alternativa, per chi ha difficoltà a realizzare i esclusivamente in questo dispositivo.
contenitori, oppure non possiede una stampan- Nella sezione “Shutter calibration” trovate il

 Fig. 5
Schermata della
pagina web di
configurazione
dello “Smart roller
shutter”.

96
pulsante per la calibrazione, che bisogna necessa- tapparella che non sarà mai lineare ma logaritmica.
riamente avviare alla prima accensione, affinché Difatti, una volta installato il nostro dispositivo, vi
il dispositivo acquisisca il tempo che il motore accorgerete che al comando di posizionamento
impiega per avvolgere completamente la tap- della tapparella a 50% questa non si posizionerà
parella. In poche parole deve apprendere quanto a metà corsa dell’apertura della finestra. Questo
tempo intercorre dal finecorsa di apertura a quello sarà più evidente su una porta finestra piuttosto
di chiusura. che su una finestra dove l’altezza luce è quasi
Per il posizionamento della tapparella, il nostro doppia. Per ovviare a questo inconveniente è
dispositivo, si affida al tempo trascorso e non sufficiente modificare il sorgente implementando
a sensori di posizione da montare sull’asse del un algoritmo che calcoli la percentuale di aper-
motore rendendo complicata l’installazione. Sicu- tura prendendo in considerazione il diametro del
ramente il posizionamento calcolato, utilizzando il rullo, lo spessore delle doghe e la lunghezza della
tempo come metodo di misura, non sarà accurato, tapparella.
ciononostante non pregiudica il corretto funziona- Nella sezione “Roller shutter start position” la ca-
mento del dispositivo. sella di spunta “Start at last position” vi permette
Stiamo parlando pur sempre di una tapparella e di abilitare la funzione di ripristino dell’ultima po-
non di una macchina CNC. Anche se usassimo dei sizione memorizzata. Dopo un riavvio, dovuto ad
sensori, avremmo comunque un errore di posizio- esempio a un blackout, il dispositivo, per risincro-
namento causato dall’aumento progressivo del nizzarsi con i fine corsa, prima chiuderà la tappa-
diametro di arrotolamento dato dallo spessore rella e successivamente la riposizionerà sull’ultima
della tapparella che si avvolge sul rullo. L’errore posizione impostata.
 Fig. 6
ovviamente aumenta proporzionalmente alla La casella di spunta “Start at custom position” Schema di cablag-
lunghezza della tapparella e allo spessore delle vi permette di abilitare il posizionamento della gio dello “Smart
roller shutter” con il
sue doghe. Man mano che la tapparella si avvolge tapparella su un valore in percentuale impostabile pulsante interbloc-
sul rullo il suo diametro aumenta, aumentando dal menu a tendina “Set custom position”. Anche cato e il motore
della tapparella.
di conseguenza la velocità di avanzamento della in questo caso dopo un riavvio il dispositivo si

97
 Fig. 7
Contenitori,
adattatori e frutti
stampati in 3D
per placche Vimar
Plana, Vimar Idea,
Gewiss Basic e
Gewis PlayBus.

risincronizzerà chiudendo la tapparella e successi- se lo “Smart roller shutter” si riavvia, ad esempio


vamente si posizionerà nella posizione impostata. a causa di un calo momentaneo di tensione sulla
Se non si seleziona nessuna di queste funzioni linea elettrica, invece di aspettare i preimpostati
all’avvio la tapparella rimarrà ferma. In questo caso 30 secondi di delay, si collegherà alla rete WiFi im-
la sincronizzazione dovrà essere effettuata por- mediatamente e sarà attivo più in fretta. Il tempo
tandola, con un comando vocale o con il pulsante, di 30 secondi serve esclusivamente al primo avvio
in una delle due posizioni di finecorsa aperto o in fase di configurazione, quando il dispositivo
chiuso. Facciamo presente che il dispositivo, per diventa un punto di accesso (access point) per per-
minimizzare gli errori, si risincronizza ogni volta mettervi di individuarlo e selezionare la sua SSID.
raggiunto uno dei finecorsa. In Fig. 6 trovate lo schema esemplificativo di colle-
La casella di spunta “Enable external pushbutton” vi gamento dello “Smart roller shutter”.
permette di abilitate o disabilitare la regolazione Se sul vostro smartphone installate l’applicazione
mediante pulsanti o interruttori esterni. La casella Google Home, lo “Smart roller shutter potrà essere
di spunta “Enable assistant control” vi permette di comandato anche con l’assistente vocale Google
abilitare o disabilitare il controllo mediante assi- Assistant.
stente vocale Amazon Alexa o Google assistance. Di seguito riportiamo alcuni comandi riconosciuti
La casella di spunta “Reboot device on save”, abilita dall’assistente vocale Amazon Alexa. Supponiamo
il riavvio del dispositivo dopo il salvataggio delle che in https://sinric.pro al nostro dispositivo abbiate
impostazioni schiacciando il tasto “Apply”. assegnato il nome “Finestra cucina”.
Una volta configurato il dispositivo vi consigliamo Per alzare tutta la tapparella pronunciate: “Alexa,
di impostare lo “Startup delay” presente nella apri finestra cucina” oppure “Hey Google, apri
sezione “System configuration” a 1 secondo, così finestra cucina”. Per abbassare tutta la tapparella

 Fig. 8
Interfaccia dell’app
Sinric pro.

98
 Fig. 9
Interfaccia
dell’app
Google
Home.

 Fig. 10
Cablaggio degli
snubber per limitare i
disturbi EMI.

99
SOPPRIMERE LE EXTRATENSIONI
 Fig. 11 Quando l’interruttore si apre, la carica immagaz-
Snubber integrato
reperibile in com- zinata nell’induttanza del carico provoca un’ex-
mercio. tratensione dovuta al fatto che la natura inerziale
degli induttori nei riguardi della corrente tende a far
permanere il regime dell’istante precedente; è pos-
sibile calcolare l’extratensione generata utilizzando
la seguente formula:

dove V è la tensione da calcolare, L è il valore


dell’induttanza della bobina, I è la corrente nomina-
le della bobina e t corrisponde al tempo di rilascio
pronunciate: “Alexa, chiudi finestra cucina” oppure dell’alimentazione.
“Hey Google, chiudi finestra cucina”. Tale tensione si presenta tra i contatti dell’interrut-
Per posizionare la tapparella a metà corsa: “Alexa, tore, il quale nel momento dell’apertura presenta
imposta finestra cucina a 50%” oppure “Hey Goo- una distanza tra i contatti minima.
gle, imposta finestra cucina a 50%”. Pertanto, la formazione di un arco tra i contatti può
Per aumentare l’apertura di 10%: “Alexa, incre- verificarsi quasi immediatamente cioè nell’istante
menta di 10% finestra cucina” oppure “Hey Google, in cui questi si stanno separando e non si toccano
incrementa di 10% finestra cucina”. Per diminuire più. Il fenomeno può verificarsi anche con carichi
l’apertura di 10%: “Alexa, decrementa di 10% fine- resistivi, ma è accentuato in quelli induttivi, i quali
stra cucina” oppure “Hey Google, decrementa di determinano un arco elettrico intenso che riduce la
10% finestra cucina”. vita dell’interruttore.
In Fig. 8 potete osservare le immagini dell’inter- Anche se i contatti sono rivestiti o realizzati in
faccia dell’app di Sinric pro, mentre in Fig. 9 potete Tungsteno (detto anche Wolframio) ossia un metal-
osservare le immagini dell’app Google home. lo che fonde ad altissime temperature (3.410 °C)
Prima di terminare vogliamo informarvi che a con il tempo comunque possono erodersi.
causa dello spazio ridotto non siamo riusciti a im- Nei circuiti a corrente continua per eliminare la
plementare gli snubber antidisturbo sullo stampa- corrente indotta ad alta tensione di solito viene
to. Se il funzionamento del motore della tapparella utilizzato semplicemente un diodo chiamato
disturba altri dispositivi o apparecchi domestici, diodo di flyback. Sfortunatamente, l’applicazione
oppure volete proteggere i contatti del relé dal de- di questo diodo nei circuiti a corrente alternata
terioramento causato dalle correnti indotte, vi con- non è possibile. Quando abbiamo a che fare con la
sigliamo di inserire in parallelo agli avvolgimenti del corrente alternata, abbiamo tre possibili soluzioni:
motore uno snubber formato da un condensatore possiamo usare un varistore di ossido di metallo
e una resistenza da 1-2 W, come visibile in Fig. 10. (metal oxide varistor - MOV), un diodo soppresso-
Va specificato che il condensatore deve essere di re di tensione transitoria bidirezionale (transient
classe X2 possibilmente MKP, mentre la resistenza voltage suppression - TVS) oppure una rete di
meglio se a strato metallico e assolutamente non soppressione RC, nota anche come snubber.
a filo. In alternativa in commercio potete trovare Oltre a queste soluzioni esiste anche quella di non
snubber già pronti e integrati, con componenti di utilizzare alcun soppressore, però in questo caso la
diversi valori e caratteristiche specifiche (un esem- vita dei contatti ne risentirà.
pio è visibile in Fig. 11) il cui contenitore assomiglia I diodi MOV e TVS conducono corrente unicamente
a un comune condensatore rettangolare a film di quando viene superata la tensione di soglia.
polipropilene o poliestere. Normalmente questi diodi sono collegati in paral-
Lo potete collegare vicino al motoriduttore nel lelo al contatto dell’interruttore e sono in grado di
cassonetto della tapparella oppure, se avete funzionare in modo efficiente sia a basse che alte
spazio, nella scatola di derivazione che ne realizza tensioni. Lo snubber RC invece ha il vantaggio di
le connessioni. limitare la tensione esattamente durante l’aper-

100
tura dell’interruttore cioè quando la distanza tra i
contatti è ridotta. É realizzato da un condensatore
e da una resistenza collegate tra loro in serie e  Fig. 12
Cablaggio
possono essere montati in parallelo al contatto dello Snubber
dell’interruttore oppure in parallelo al carico, come parallelo
all’interrut-
visibile in Fig. 12. tore (in alto)
Anche se il montaggio dello snubber in parallelo al e parallelo al
carico
contatto è la configurazione ideale, c’è un enorme (in basso).
svantaggio quando questi sono aperti, poiché pro-
voca un passaggio di corrente verso il carico.
Al contrario se lo snubber è installato in parallelo al
carico l’impedenza di quest’ultimo può influenzare
sull’efficienza del circuito RC.
Quindi quando lo snubber è in parallelo ai contatti
dell’interruttore, la resistenza deve avere un valore
sufficientemente alto da limitare la corrente di sca-
rica del condensatore quando i contatti dell’inter-
ruttore si chiudono.
Allo stesso tempo, deve avere un valore abbastan-
za piccolo da limitare la tensione indotta quando i
contatti dell’interruttore si aprono.
Se scegliamo un condensatore con valore elevato,
sicuramente ridurrà meglio le extra tensioni quan-
do i contatti dell’interruttore si aprono; ma allo d’onda della tensione indotta generata quando vie-
stesso tempo un condensatore di questo tipo può ne spento un carico induttivo, chiamata frequenza
essere più costoso, più ingombrante e potrebbe di risonanza, che indichiamo con FRING1. In parallelo
causare danni maggiori durante la sua scarica sui al carico colleghiamo un condensatore di valore
contatti quando questi si chiudono. basso che deve essere gradualmente incremen-
Quando invece lo snubber è in parallelo al carico, tato fino a riuscire a dimezzare l’ampiezza della
per diminuire il degrado dei contatti dovuto all’arco, frequenza di risonanza iniziale.
dobbiamo assicurarci che il valore della resistenza Questa frequenza dimezzata la chiamiamo FRING2.
sia minimo. Allo stesso tempo però, per ridurre Il valore di questo condensatore sarà il condensa-
l’arco sul contatto, dovuto alla corrente di spunto tore Cs del nostro snubber.
del condensatore, il valore di quest’ultima deve Stimiamo l’induttanza parassita Lp, utilizzando la
essere maggiore. frequenza di risonanza iniziale Fring1, senza conden-
Come avete potuto constatare molti sono i fattori satore, e quella con l’aggiunta del condensatore
che determinano la scelta del valore di R e di C. Fring2, utilizzando l’equazione:
Poiché lo snubber, nel nostro caso, deve proteg-
gere i contatti di un interruttore, e non un MOSFET
in uno switching ad alta frequenza, la scelta del
valore RC non sarà critica. In linea di massima
potremmo scegliere i valori della resistenza R tra Stimiamo la capacità parassita CP utilizzando
10 ohm a 220 ohm e per il condensatore C tra 100 l’equazione:
nF a 330 nF.
Per motivi di reperibilità di solito si scelgono per R
un valore di 100 ohm e per C un valore di 100nF.
Oltre a questo metodo empirico e poco scientifico Calcolata l’induttanza parassita LP e la capacità
vediamo assieme come si dovrebbero scegliere i parassita CP, calcoliamo il valore della resistenza
valori di questi componenti. dello snubber RS utilizzando l’equazione:

PROGETTAZIONE DELLO SNUBBER


Di solito per trovare i valori RC si collega in paral-
lelo al carico un oscilloscopio e si misura la forma

101
Per attenuare la frequenza di risonanza è neces-
sario scegliere per lo snubber una resistenza RS
uguale o maggiore dell’impedenza Z, mentre per
Cs scegliere un valore da 1 a 4 volte maggiore di • Vp = Tensione picco
quello della capacità parassita CP. • I = Corrente di carico (prima dell’apertura del
Questo procedimento richiede anche degli accorgi- contatto)
menti non indifferenti quando si fanno misurazioni • Rs = Resistenza dello snubber RC espresso in uF
con l’oscilloscopio sulla linea elettrica a 230 Vca. • C = Capacità dello snubber RC
Bisogna utilizzare un oscilloscopio particolare con • RL = Resistenza di carico
ingressi galvanicamente isolati o alimentato a bat-
terie, utilizzare particolari sonde di tipo differenzia- Per capire come utilizzare l’equazione, facciamo
le o sonde isolate galvanicamente, in alternativa un esempio di calcolo per la progettazione di uno
utilizzare un trasformatore di isolamento con rap- snubber RC per un motore elettrico con potenza
porto di trasformazione 1:1, con potenza adeguata, di 300 W, funzionante con una tensione alternata
capace di alimentare il circuito sul quale vogliamo di 230 V. I parametri di progetto su cui ci basiamo
fare le misurazioni. sono P = 300 W, Vrms = 230 V, Vp = 325,27 V.
Esiste un ulteriore metodo, che non dovremmo ne- Iniziamo con il calcolo della tensione di picco:
anche menzionare poiché pericoloso, ed è quello di
togliere il collegamento a terra dell’oscilloscopio e
fare le misurazioni collegando sempre il coccodrillo
della sonda sul neutro della linea elettrica (non la
fase, perché ci si ritroverebbe la fase sulla carcassa
dell’oscilloscopio e se la toccate sono guai).
Noi consigliamo l’utilizzo del trasformatore, che tra Andiamo a determinare la tensione picco-picco:
l’altro è quello più sicuro e che costa meno.
Un metodo alternativo è quello di utilizzare
l’equazione sviluppata da C.C. Bates e pubblicata
nell’articolo “Contact protection of electromagnetic
relays” sulla rivista “Electro-mechanical design”
nel lontano agosto del 1966. Proseguiamo con il calcolo della tensione efficace:

Passiamo all’equazione per calcolare la corrente


assorbita dal carico:

Ora vediamo l’equazione per calcolare il valore del


condensatore della rete snubber:

 Fig. 13
Le morsettiere
connettono il
motore della tappa-
rella e i pulsanti.
Invece per determinare il valore della resistenza
della rete snubber applichiamo la seguente equa-

102
zione svolgendone i calcoli: evitare che surriscaldi e bruci:

CONCLUSIONI
Con questo dispositivo speriamo di aver soddisfat-
to i nostri lettori che volevano realizzare un inter-
ruttore smart per tapparella facilmente gestibile e
Vediamo adesso come calcolare la corrente che comandabile da remoto con lo smartphone o con
passa attraverso lo snubber RC: per prima cosa l’assistente vocale, nonché essere di dimensioni
dobbiamo calcolare la reattanza capacitiva (XC) del contenute per facilitare l’installazione negli im-
condensatore appartenente alla rete (la frequen- pianti domestici. Ricordiamo che il progetto “Smart
za di rete elettrica è 50 Hz) rammentando che il roller shutter” fa parte di una serie di moduli e
termine p vale 3,1415926: attuatori domotici progettati e realizzati dagli alun-
ni dell’Istituto Tecnico Pietro Coppo Isola Slovenia,
alcuni dei quali già pubblicati sulla nostra rivista.
Rientrano tutti nel concetto di IoT e dei dispositivi
connessi, nello specifico rivolti all’automazione
degli ambienti domestici tramite il collegamento
WiFi e l’integrazione con app e assistenti vocali,

oggi molto in voga.

A questo punto scriviamo l’equazione per calcolare


la corrente che passa attraverso la rete snubber:

Cosa occorre?

I componenti principali utilizzati in questo progetto sono


disponibili presso Futura Elettronica. Il modulo ESP8266
(cod. ESP03) è in vendita a Euro 8,00, il programmatore/
debugger (cod. YM203) è disponibile a Euro 2,50, il
convertitore USB/TTL (cod. UC00A) costa Euro 15,50.
I prezzi si intendono IVA compresa.
Infine utilizziamo l’equazione occorrente per Il materiale va richiesto a:
calcolare la potenza dissipata dalla resistenza dello
snubber RC, la quale, essendo un componente dis- Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - http://www.futurashop.it
sipativo, va dimensionata opportunamente, onde

103
NON RISCHIARE DI FORARE
UN CAVO SOTTO TENSIONE!
UTILE PER TANTISSIMI UTILIZZI IN CAMPO
PROFESSIONALE E HOBBISTICO

€ 74,00
cod. FR850

Legno
38 mm
Prezzo IVA inclusa.

Metallo
non magnetico
100 mm

Cavo vivo
50 mm
RILEVATORE PROFESSIONALE DA PARETE
Particolarmente utile (ad esempio prima di praticare
Metallo
un foro su una parete) per rilevare la presenza magnetico
di cavi elettrici sotto tensione, strutture in legno 120 mm

(telai, travetti, barre, ecc), oggetti metallici


(travi, telai, tubi, tondini, perni, barre in metallo).

Futura Group srl


Caratteristiche tecniche di questi prodotti
® www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
MISURE

RIFLETTOMETRIA
NEL DOMINIO
DEL TEMPO
di VALERIO CONICELLA

L
Misuriamo a Riflettometria nel Dominio del Tempo
(TDR) è una tecnica di misura basata
l’impedenza sull’analisi del segnale viaggiante lungo
caratteristica una linea di trasmissione e riflesso da
un generico carico. Il principio di fun-
di un cavo zionamento è analogo a quello su cui si
coassiale e rileviamo basa il radar di un aereo o il sonar di un
sommergibile per localizzare un ogget-
le condizioni di to; in particolare, è possibile identificare con molta precisione
adattamento, la distanza, la velocità, la direzione e il verso di un oggetto.
La Riflettometria nel Dominio del Tempo (TDR) viene utiliz-
mediante un semplice zata anche in ambito scientifico e industriale, per effettuare
hardware ed un controlli quantitativi e qualitativi, ed interessa diverse aree di
applicazione, come ad esempio il monitoraggio di sostanze
oscilloscopio. all’interno di cisterne, il monitoraggio ambientale e anche la

105
due conduttori coassiali separati da un dielettrico
 Fig. 1 (cavo coassiale). Alla linea di trasmissione reale si
Modello generale approssima il circuito equivalente proposto dalla
della linea
di trasmissione. Fig.1, che sostanzialmente consiste in una rete RC.
In particolare, i termini stanno ad indicare:
• R: resistenza elettrica che tiene conto delle
perdite di tensione (effetto Joule) lungo il tratto;
• L: induttanza in serie che tiene conto del campo
magnetico concatenato;
• C: capacità che tiene conto del campo elettrico
trasversale fra i due conduttori;
caratterizzazione delle linee di trasmissione. • G: resistenza elettrica trasversale dovuta al non
In questo articolo ci interesseremo di quest’ulti- perfetto isolamento fra i conduttori.
ma e nello specifico spiegheremo come misurare
l’impedenza caratteristica di un cavo coassiale e la In generale, la condizione affinché un conduttore si
procedura che permette di determinare potenziali comporti come una linea è data dalla relazione:
problemi di integrità del cavo stesso.

LINEE DI TRASMISSIONE
Un sistema di misura basato sulla TDR genera un dove tr,f è il tempo di salita o discesa dei segnali, tp
gradino di tensione che viene inviato, attraverso un è il ritardo di propagazione lungo il conduttore e 2tp
cavo coassiale di impedenza nota, al carico o alla il ritardo di propagazione di andata e ritorno, che
linea da analizzare. L’analisi del segnale riflesso dipende dalla lunghezza della linea.
permette di dedurre la natura del carico (resistiva, In teoria, se la linea fosse infinita, il segnale si
induttiva, capacitiva) o la lunghezza della linea, propaga fino a quando le perdite non la esauriscono
ed eventualmente di localizzare con precisione progressivamente. Nella realtà, date le dimensioni
eventuali discontinuità. Prima di procedere con finite della linea, il segnale incontra ad una certa
la descrizione del setup di misura è importante distanza l’impedenza di carico ZL. Quest’ultima, per
soffermarsi sulla teoria delle linee di trasmissione. poter assorbire tutta l’energia ricevuta, deve neces-
La necessità di introdurre le linee di trasmissione sariamente avere l’impedenza caratteristica ZO della
come formalismo matematico, dipende dal fatto linea. Utilizzando il metodo dei fasori, è possibile
che i circuiti a costanti concentrate basati sui bipoli dimostrare che la tensione e la corrente transitanti
elementari (resistenza, induttanza, capacità, ecc.) lungo la linea sono espresse dalle seguenti relazioni:
possono essere utilizzati solo quando le dimen-
sioni dei circuiti sono molto piccole rispetto alla
lunghezza d’onda (λ) del segnale che li interessa.
Facciamo un esempio: alla frequenza di 50 Hz
la lunghezza d’onda vale λ = 6.000 km, mentre
alle microonde le dimensioni dei dispositivi sono
comparabili con λ, infatti, alla frequenza di 1 GHz la ZO è l’impedenza caratteristica della linea e rappre-
lunghezza d’onda vale λ = 30 cm, mentre a 10 GHz senta l’impedenza che la linea avrebbe se fosse
vale λ = 3 cm. A tali frequenze le dimensioni dei infinitamente lunga. In altre parole, ZO è il valore
dispositivi risultano comparabili con la lunghezza dell’impedenza di carico che deve essere posto
d’onda e la teoria dei circuiti a costanti concentrate alla fine della linea di trasmissione, affinché non si
non vale più. Tuttavia, considerando una sezione abbiano riflessioni. Essa vale:
della linea di lunghezza infinitesima dx, la dimen-
sione di tale sezione è molto piccola rispetto a
λ e la teoria dei circuiti a costanti concentrate si
può applicare. Analizzeremo, dunque, lo studio
della trasmissione di un segnale attraverso una
coppia di conduttori, che prende il nome di linea di Altri parametri importanti mediante i quali si può
trasmissione. Questa coppia può essere com- valutare l’entità del disadattamento del cavo sono:
posta da due fili paralleli tra loro (doppino) e da • il Coefficiente di riflessione, espresso dalla for-

106
 Fig. 2
Oscillo-
gramma
del segnale
generato

mula qui sotto (dove ZL è l’impedenza del carico): forma d’onda rilevata con l’oscilloscopio digitale sul
prototipo che abbiamo realizzato (Fig. 3).
Come si può osservare, il cuore del circuito è l’in-
tegrato 74AC14, contenente nel proprio package
sei porte logiche inverter (NOT) di tipo Schmitt
- Trigger. Questo integrato fa parte della famiglia
• il rapporto d’onda stazionaria (ROS), definito Advanced CMOS, che è caratterizzata da tempi di
come: attraversamento dell’ordine dei nanosecondi.
La sezione D realizza un oscillatore ad onda quadra
con frequenza fissa di circa 2,2 kHz.
Per variare la frequenza generata, è necessario
 Fig. 3
modificare il valore delle resistenze R1, oppure Il nostro prototipo
Se il carico ZL della linea è uguale a ZO, la linea è la capacità del condensatore C1, utilizzando la di generatore di
adattata: ciò vuol dire che il suo coefficiente di impulsi.

riflessione è uguale a zero e non avverrà, quindi,


nessuna riflessione; la linea sarà equivalente a una
linea infinitamente lunga.

GENERATORE ONDA QUADRA


Per poter effettuare le misure che vi proponiamo
in queste pagine è necessario un generatore di
funzioni, altrimenti detto “impulsatore”.
Chi è del settore, sa benissimo che il costo di un
buon generatore di funzioni da laboratorio può
raggiungere cifre importanti, tuttavia, acconten-
tandosi delle prestazioni, è possibile realizzare un
semplice ed economico generatore ad onda qua-
dra, con fronti di salita dell’ordine del nanosecondo,
senza ricorrere a tecniche particolari.
Il circuito qui presentato e descritto dallo schema
elettrico ne è un esempio e fornisce un segnale
come quello proposto dalla Fig. 2, che propone la

107
| Generatore per le misure

Elenco Componenti:

R1: 6,8 kohm 1% Varie:


R2, R3, R4, R5, R6: 220 ohm 1% - Zoccolo 7+7
C1: 47 nF ceramico - Presa BNC da CS
C2: 10 nF ceramico - Plug DC da pannello
C3: 10 µF 100 VL elettrolitico - Circuito stampato S1666 (46x31 mm)
IC1: SN74AC14N

seguente formula: IL CAVO COASSIALE


Il cavo coassiale (Fig. 4) è una linea di trasmissione
schermata, costituita da un conduttore cilindri-
co di rame a sezione circolare (anima) e da uno
Il valore della frequenza generata è sempre molto schermo conduttore esterno, costituito da una
approssimativo, perché oltre alla tolleranza delle maglia metallica. Il conduttore interno è separato
resistenze e del condensatore, c’è anche quella da quello esterno da un dielettrico a bassa perdita,
dell’integrato utilizzato, che può variare il valore che garantisce l’isolamento tra i due conduttori.
delle soglie a seconda della casa costruttrice. Lo schermo di metallo esterno aiuta a bloccare le
Le porte A, B, C, E, F realizzano un buffer di uscita interferenze. Questa tipologia di cavi è largamente
adattato a 50 ohm, attraverso le resistenze colle- usata nelle telecomunicazioni, per esempio per
gate in serie alle uscite degli inverter. Le principali il trasporto del segnale audiovisivo. Sul mercato
caratteristiche elettriche del generatore sono: esistono diverse tipologie di cavi coassiali, prodotti
• impedenza di uscita circa ZO = 50 ohm; in funzione della potenza e della frequenza da tra-
• segnale di uscita rettangolare di impulsi di sportare. I valori di impedenza principali sono due:
ampiezza Vpp = 5 V; • 50 ohm, impiegato per le trasmissioni digitali o
• periodo del segnale T = 370 µs; radioamatoriali;
• durata impulso Ton = 200 µs (cui corrisponde • 75 ohm, utilizzato per segnale video analogico,
un duty-cycle del 54%) per le antenne televisive e per le connessioni
• tempo di salita di 4 ns. Internet via cavo.

108
L’impedenza caratteristica di 50 ohm è maggior-
mente impiegata per gli apparati trasmittenti,
viceversa, il cavo con impedenza caratteristica di
75 ohm è preferito solo per gli apparati riceventi in
quanto, a parità di diametro esterno, ha un’atte-
nuazione minore di quella di un cavo a 50 ohm.
In particolare, per il nostro esperimento utilizze-
remo il cavo RG-58, impiegato in larga misura per
trasferire segnali elettrici con potenze che possono
raggiungere qualche centinaio di watt ed è capace  Fig. 4
di lavorare fino a frequenze di 2 GHz. Cavo Coassiale.
Riportiamo le caratteristiche elettriche a 20 °C
fornite dal costruttore (datasheet):
• Impedenza caratteristica ZO (Ω): (50 ± 2) ohm;
• Capacità (C): 100 pF/m;
• Velocità di propagazione (V%): 66% che corri- L’impedenza della linea è denominata Zo , quella
spondono a circa 1,98 . 108 m/s; della resistenza di terminazione è denominata ZL .
• Attenuazione (AdB): 4,1 dB/100m @10MHz; Di seguito vengono illustrate (Fig. 6) le tre forme
• Lunghezza cavo: 3 m. d’onda ottenibili attraverso un segnale a gradino:
• nella prima immagine (a sinistra) è rappresen-
MISURA IMPEDENZA CARATTERISTICA tato il segnale a gradino nel caso in cui la linea è
Come accennato, la riflettometria nel dominio del adattata, ovvero ZL = Zo ;
tempo si basa sul calcolo dell’impedenza lungo una • in centro è rappresentato il caso in cui ZL > Zo: si
linea, analizzandone le varie riflessioni. osserva un brusco innalzamento della tensione,
In pratica, si osservano attraverso l’utilizzo di un dunque, la linea è disadattata;
oscilloscopio i disadattamenti di impedenza in • nell’immagine a destra, invece, è proposto il
base ai segnali riflessi. Per fare questo, occorre caso in cui ZL < Zo (anche qui la linea risulta disa-
un generatore con tempo di salita molto breve, dattata).
se possibile molto più breve del tempo di attra-
versamento della linea da esaminare, altrimenti Prepariamo ora il setup (l’insieme di circuito e
l’eventuale impulso riflesso non è distinguibile. strumenti per la misura) seguendo lo schema di
L’analisi più semplice può essere fatta utilizzando cablaggio proposto nella Fig. 7: colleghiamo il
direttamente un impulso molto breve, in modo da generatore ad onda quadra al cavo sotto esame e
distinguerlo dalle relative riflessioni, oppure utiliz- poniamo l’oscilloscopio in parallelo alla linea, utiliz-
zando un segnale a gradino con il fronte di salita zando un connettore a T di tipo BNC.
molto breve, in modo da vedere direttamente gli All’altra estremità del cavo inseriamo un trimmer
effetti delle varie riflessioni che subisce. Lo schema multi-giri da 500 ohm.
di principio del setup è riportato in Fig. 5. In questo modo possiamo agevolmente modificare

 Fig. 5
Schema di
principio.

109
il valore dell’impedenza di carico, agendo sulla ma- • Linea in cortocircuito, la linea è disadattata: si
nopola del trimmer ed è possibile immediatamente osserverà un impulso che avrà ampiezza pari a
 Fig. 6 osservare sull’oscilloscopio una variazione della Vpp ≈ 2,5 V (Fig. 10).
Forme d’onda forma d’onda. L’oscilloscopio servirà a valutare il
ottenibili.
segnale che viaggia lungo la linea. Possiamo così IDENTIFICAZIONE LUNGHEZZA CAVO
distinguere i casi dettagliati qui di seguito. Attraverso la riflettometria nel dominio del tempo,
• Linea adattata, chiusa su un carico ZL = 50 ohm è possibile misurare la lunghezza del cavo o la
(pari all’impedenza caratteristica del cavo distanza alla quale si è verificato un danneggia-
RG58): impostiamo la scala dei tempi a 10ns/ mento.
div, per avere una visualizzazione ottimale del Infatti, nel caso in cui la lunghezza del cavo non
segnale a gradino. Successivamente, ruotando il è nota oppure vogliamo determinare la distanza
trimmer in modo da avere una resistenza da 50 alla quale si è verificata una rottura del cavo, è
ohm, sull’oscilloscopio si osserverà che il gra- possibile farlo, misurando il tempo di ritardo ∆t fra
dino (Fig. 8) ha ampiezza pari a circa la metà di l’impulso trasmesso e l’impulso riflesso che arriva
quelli prodotti dal generatore a vuoto Vpp ≈ 2,5 V. in ingresso.
• Linea a circuito aperto (il carico è scollegato), la Basterà impostare il banco di misura e la strumen-
linea è disadattata: si osserverà un gradino che tazione come nella prova precedente, scollegando
avrà una ampiezza pari a circa Vpp (Fig. 9). il carico (linea aperta).

 Fig. 7
Il setup delle misu-
re: un BNC a T con-
sente di iniettare il
segnale all’ingresso
dell’oscilloscopio e
nel cavo testato.

110
 Fig. 8
Il segnale
a gradino
visualizzato
con la linea
adattata.

 Fig. 9
Segnale
tipico del cir-
cuito aperto.

Nota la velocità di propagazione Vp (1,98 . 108 m/s), tore in fase, sommandosi al segnale emesso dal
calcoliamo la lunghezza del cavo con la seguente generatore stesso, in modo da avere un brusco
formula: innalzamento della tensione, il cui valore all’incirca
raddoppia. L’intervallo di tempo ∆t=2tp può essere
determinato, misurando l’intervallo di tempo che
intercorre fra il fronte di salita del segnale fornito
La determinazione di ∆t e quindi del tempo di dal generatore e l’istante in cui si verifica il brusco
propagazione (tp = ∆t/2 ), nel caso di terminazione aumento della tensione in ingresso.
aperta, si può calcolare nel seguente modo: invia- Nel nostro caso misuriamo un ∆t=31,2*10-9s (Fig.
mo in ingresso all’estremità del cavo il segnale ad 11). Sostituiamo i numeri nella formula e ottenia-
onda quadra attraverso il nostro generatore. mo la lunghezza del cavo in metri.
Il segnale, si propaga lungo il cavo e quando il suo
fronte di salita arriva sulla terminazione aperta,
viene totalmente riflesso e ritorna sul genera-

111
 Fig. 10
Segnale dovuto al
cortocircuito della
linea.

 Fig. 11
Misura del ritardo di
propagazione.

CONCLUSIONI dattamenti di impedenza lungo la linea in base ai


In queste pagine abbiamo visto l’uso pratico della segnali e si è potuta così determinare la lunghezza

tecnica della riflettometria nel dominio del tempo, del cavo.
che è utilizzata in diversi ambiti e che, in questo ar-
ticolo, è stata analizzata nell’ambito della caratte-
rizzazione delle linee di trasmissione e nella misura
dell’impedenza caratteristica di un cavo coassiale Cosa occorre?
(RG58), utile anche a determinare problemi di
I componenti utilizzati in questo progetto sono di facile
integrità del cavo stesso. Le misure sono state ef- reperibilità. L’integrato SN74AC14N (cod. SN74AC14N) è in
fettuate realizzando un generatore ad onda quadra vendita a Euro 1,60 mentre il PCB può essere realizzato con il
con tempo di salita molto breve, che pur essendo servizio PCBPRODUCTION. I prezzi si intendono IVA compresa.

meno prestante di un impulsatore, ci permette di Il materiale va richiesto a:


fare le misure senza ricorrere a particolari procedu-
re e a costi decisamente più modesti. Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
Attraverso l’oscilloscopio si sono osservati i disa-

112
Non farti sfuggire nulla.
Riprendi ogni attimo con le mini telecamere.

SUPPORTA
MICRO SD CARD
SUPPORTA MAX 128 GB
MICRO SD CARD
MAX 128 GB
FORNITO DI
CONTENITORE
ERMETICO
TELECAMERA
PER RIPRESE
SUBACQUEE

cod. FR806
TELECAMERA WI-FI
€ 79,00 IN LAMPADA A LED cod. FR834 MINI TELECAMERA
ACTION SPORT
€ 33,00 FULL HD CON AUDIO
Telecamera Wi-Fi da 2 Megapixel
nascosta in una lampada con 21 LED a Può essere utilizzata per riprese sott’ac-
luce bianca, Motion Detection, sensore qua. Integra un magnete che consente di
crepuscolare, illuminatore con 8 LED IR fissarla facilmente a qualsiasi superficie
con 15 m di portata. metallica e dispone di staffa di fissaggio
ruotabile di 360°.

SUPPORTA SUPPORTA
MICRO SD CARD MICRO SD CARD
MAX 128 GB MAX 128 GB

SUPPORTA TELECAMERA
MICRO SD
CARD MAX
360°
32 GB

90°

cod. FR825 cod. CP756 cod. FR830 PENNA CON


TELECAMERA MINI TELECAMERA TELECAMERA AD
€ 80 ,00 A BOTTONE CON
€ 19 ,90 23 X 23 X 23 mm € 38 ,00
ALTA RISOLUZIONE
Prezzi IVA inclusa

TELECOMANDO

Indossabile, di piccole dimensioni, Registra video, scatta foto con una risoluzione Elegante penna con telecamera nascosta in
facilmente occultabile con obiettivo a fino a 12 Megapixel. Può essere utilizzata grado di effettuare riprese audio-video e di
forma di bottone. Alimentazione tramite anche come Webcam. Alimentazione scattare fotografie in alta qualità. Alimentazione
batteria interna Li-Ion ricaricabile. tramite batteria interna Li-Ion ricaricabile. tramite batteria interna Li-Ion ricaricabile.

Futura Group srl


Caratteristiche tecniche di questi prodotti
® www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
Scuola di saldatura!
Stazione saldante Stazione saldante/ Saldatore stilo Aspirafumi da banco
48 W con display dissaldante per 30 Watt per saldatura – 23W
componenti SMD

cod. VTSSC40N cod. VTSS230 cod. TP0055 cod. TP0065


€ 94 ,00
€ 165 ,00
€9 ,90
€ 56,00

Pompetta dissaldante Pompetta Stagno per saldatura Pulisci punta


con riscaldatore succhiastagno senza piombo per saldatore
100GR – 0,56 mm

cod. VTDESOL3 cod. VTD7 cod. SOLD100G6SPB cod. WT45239


€ 11 ,80
€3 ,60
€ 19 ,50
€ 6,00

Pasta saldante Pasta per saldare Pasta saldante per SMD Anti flussante spray
per SMD – Vol. 10cc 50 g (senza piombo)- 50g 200 ml

cod. SMDPASTASALD cod. WT45238 cod. SOLDER50G cod. F02


€8 ,90
€3 ,90
€ 34 ,00
€ 10,80

Lacca isolante Tappeto in silicone per Set di componenti per Set di componenti SMD
spray 200 ml saldatura 337×227 mm imparare a saldare per imparare a saldare

cod. V66 cod. AS10 cod. YX286 cod. YX672


€ 11 ,50
€9 ,00
€4 ,00
€ 5,00

Futura Group srl


Caratteristiche tecniche di questi prodotti
®
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
DIDATTICA

SALDARE
A STAGNO
di DAVIDE SCULLINO

S
alda che ti passa… Si potrebbe parafra-
sare un celebre detto per rendere l’idea:
Impariamo a imparare a saldare bene vi fa passare
saldare e dissaldare ogni timore che il vostro circuito, lo stiate
costruendo oppure riparando, funzio-
i componenti nerà! Ebbene sì, perché saper saldare i
elettronici, da quelli componenti elettronici è come un’arte e
non è scontato che lo si sappia fare; anzi,
più tradizionali come scopriremo in questo tutorial, probabilmente un po’ tutti
a foro passante abbiamo qualcosa da imparare e prima o poi ci accorgiamo che
non lo stavamo facendo correttamente.
fino agli SMD In queste pagine vi spiegheremo come saldare e dissaldare i
nei package più componenti elettronici, con varie tecniche, ciascuna delle quali
si avvale di strumenti specifici usati più o meno propriamente.
moderni. In origine era il saldatore o se vogliamo, c’era il saldatore a
stagno: nei primi decenni dell’elettronica, infatti, i componenti

115
erano piuttosto primordiali e la loro saldatura Questo elemento è in realtà un composto me-
richiedeva strumenti poco raffinati, ossia gli stessi tallurgico di due o più metalli sufficientemente
in uso nell’Elettrotecnica “leggera” e quindi adatti duttili e malleabili, ma anche capaci di una ridotta
a saldare fili, trasformatori di piccola potenza, reo- resistenza elettrica: tipicamente è una lega di
stati, condensatori e resistenze, ma anche bobine stagno (Sn) e piombo (Pb) con percentuali dei due
e capocorda, spinotti e via di seguito. Erano gli anni metalli variabili tipicamente 60% Sn e 40% Pb o 63
in cui si utilizzava come tecnica di saldatura quella Sn – 37 Pb. La lega saldante viene usualmente
che propriamente si chiama “brasatura” e che dispensata sotto forma di filamento in vari dia-
consiste nello scaldare un metallo e fondervi sopra metri (mediamente da 0,5 a 1,5 mm di diametro,
della lega saldante a base di stagno e piombo ma dipende dalla destinazione) per l’elettronica
(comunemente detta “stagno”), per unirlo ad un civile e anche in lingotti per la saldatura industriale
altro e realizzare una connessione sia elettrica che ad onda. All’interno del filamento viene inglobata,
meccanica. Per favorire l’adesione e rimuovere durante l’estrusione, della pasta flussante, che al
l’ossido che, a lungo andare, interponendosi tra i momento della saldatura si fonderà perfezionando
metalli da saldare, avrebbe pregiudicato il contat- la brasatura. Tipiche in elettronica sono anche le
to elettrico o addirittuta staccato la saldatura, si leghe Sn-Pb 50/50, composte da metà di ciascuno
spalmavano preventivamente le parti da saldare dei metalli. Tenete presente che maggiore è la
con della pasta flussante (talvolta chiamata pasta percentuale di piombo, più tenace è la saldatura
salda, ma impropriamente, come vedremo). ma minore diviene la conducibilità elettrica.
Oggi il flussante è stato declinato in vari modi e Essendo il piombo un metallo pesante è pericoloso
viene integrato come anima nei fili di lega saldante se penetra le falde acquifere o finisce nelle acque
a base di stagno, affinché si fonda durante la di mari, laghi e fiumi, da tempo sono state create
saldatura preparando le superfici alla migliore ade- leghe saldanti dette lead-free (senza piombo) o
sione possibile. Il flussante è una sostanza chimica Pb-free, anche note come Rohs-compliant; le
che agevola la fusione della lega saldante e ne leghe tradizionali piombo-stagno (dette leaded)
favorisce la distribuzione e l’adesione ai compo- sono praticamente state abbandonate eccetto che
nenti da saldare. in determinati ambiti, come ad esempio l’elettro-
nica militare e aerospaziale, in virtù del fatto che
LE LEGHE SALDANTI la saldatura è più tenace e resistenze alle forti
Andiamo dunque con ordine e prima di passare sollecitazioni, di quanto non lo sia quella realizzata
agli strumenti e poi alla tecnica di saldatura (o con le leghe lead-free.
brasatura, ora che sappiamo che è il suo vero Tipicamente la lega saldante Rohs è composta
nome) spendiamo qualche riga per spiegare cosa da stagno, argento (Ag) e rame (Cu) ed è quindi
rende possibile la saldatura, ossia l’elemento che, una Sn-Ag-Cu; ma esistono anche leghe di solo
fondendosi, fa più di una colla: attacca e realizza il stagno e rame (Sn-Cu). Le percentuali dei metalli
contatto elettrico. componenti sono variabili in base all’applicazione,
comunque le più comuni leghe sono formate dal
90 al 99% di stagno, mediamente dal 3% di argento
e dallo 0,5 allo 0,7% di rame. Quelle Sn-Cu sono
tipicamente 99,3% di stagno e 0,7% di rame.
Un tipico rocchetto di lega saldante è mostrato in
Fig. 1: è il SOLD100G6SPB, composto da filo da
0,56 mm di diametro lead-free, composto da 0,3 %
di argento, 0,7 % di rame, 96,5 % di stagno e 2,5 %
di flussante; fonde a 217° C.
Le principali differenze pratiche tra le leghe Rohs-
compatibili e leaded sono che le prime richiedono
temperature di fusione maggiori e più flussante,
ma aderiscono meno di quelle al piombo, ra-
 Fig. 1
Tipico rocchetto di gion per cui spesso contengono più flussante (la
lega saldante. percentuale è talvolta indicata nell’etichetta) o ne-
cessitano dell’aggiunta di pasta flussante durante
la saldatura.

116
Inoltre le leghe Rohs-compatibili hanno un costo
mediamente più alto, in virtù dei metalli più pregia-
ti che contengono.

SALDATURA MANUALE
I componenti elettronici possono essere saldati sia
manualmente che in maniera automatica; la parte
che ci interessa è la prima, per eseguire la quale
bisogna dotarsi di un minimo di attrezzatura a se-
conda del tipo di compontistica. Di base ci occorre:
• saldatore a stilo da 20÷50 W preferibilmente
elettrico;
• del filo di lega saldante ed eventualmente del
flussante;
• un dissaldatore o un succhiastagno; è una sorta di striscia di maglia di filo di rame  Fig. 2
A sinistra un
• un tappetino per saldatura in materiale isolante, imbevuta di flussante che cattura lo stagno, per- saldatore a stilo a
per proteggere il piano di lavoro. mettendo di rimuoverlo assai bene dalle piazzole e 230Vca; a destra
una tipica stazione
dalle saldature intorno ai reofori e nei fori passanti saldante.
Al posto del normale saldatore, meglio sarebbe metallizzati dove questi passano.
usare una stazione di saldatura a stagno dotata di Un buon tappetino per la saldatura è l’AS10 della
regolazione elettronica della temperatura; alcune Futura Elettronica (www.futurashop.it): misura
stazioni dispongono di un dissaldatore a depres- 337x227 mm ed è in silicone antistatico, resistente
sione, formato da uno strumento simile ad un al calore fino a una temperatura di 500 °C e inde-
saldatore, la cui punta è, però, cava e comunica con formabile. Il saldatore con cui si saldano i compo-
un tubo che porta a una pompa di depressione. Un nenti è tipicamente a stilo, che è una punta varia-
buon esempio di saldatore a stilo è quello propo- mente sagomata (dotata di impugnatura isolante
sto a sinistra nella Fig. 2: si tratta del TP0055 della dal calore) il cui scopo è fondere la lega saldante;
Futura Elettronica, un saldatore da 30W con ele- la punta viene riscaldata internamente da una
mento riscaldante di ceramica e punta da 1,2 mm; resistenza “corazzata” (rivestita da un involucro di
funziona a 230 Vca. A destra nella Fig. 2 vedete acciaio inox o di materiale ceramico) cui è applicata.
invece una stazione di saldatura a stilo per utilizzo La punta può essere di rame rivestito (argentato)
sia hobbistico che professionale: la VTSSC40N, o di acciaio inossidabile; la prima si scalda più ra-
sempre reperibile su www.futurashop.it. pidamente ma dura meno, dato che è formata da
È utile anche disporre di trecciola dissaldante, che un materiale più tenero e che si consuma a causa

 Fig. 3
Alcuni tipi
comuni di
punta per
saldatore.

117
biabili incorporano la resistenza e lo stilo si limita a
sostenerle e a fornire loro alimentazione. La Fig. 3
 Fig. 4 propone vari tipi di punta per saldatore a stilo.
Per saldare un
componente
appoggiate la punta UTILIZZO DEL SALDATORE MANUALE
per saldatore su
La saldatura o brasatura a stagno consiste
reoforo e piazzola.
nell’unire le parti (nel caso specifico si tratta dei
terminali dei componenti elettronici e i fili o le
piste dei circuiti stampati) che sono tipicamente di
rame, mediante una certa quantità di lega saldante.
Scaldato fino a fondere, lo stagno cola sulle parti e
quando si raffredda le fissa l’una all’altra, stabilen-
do peraltro l’indispensabile collegamento elettri-
co. Allo scopo di migliorare la presa dello stagno,
normalmente i terminali dei componenti elettronici
sono stagnati in fabbrica ed è perciò che appaiono
di colore grigio argenteo.
Affinché la saldatura sia corretta, occorre che
le superfici da saldare non siano né umide, né
ossidate; per rimuovere l’ossido dalle piste o dalle
piazzole del circuito stampato si può operare in
della pressione e dello sfregamento sulle zone da vario modo: con della comune paglietta per stovi-
saldare, arrivando ad erodersi. La punta di acciaio glie, se il PCB non ha solder-resist o serigrafie sul
è invece più duratura, anche se a causa dell’inerzia lato saldature, ovvero con dei prodotti chimici o
termica è più lenta a scaldarsi. semplicemente della pasta flussante.
Negli ultimi anni hanno fatto la loro comparsa le Nel caso di componenti THT (Through Hole
punte per saldatore in materiale ceramico sinte- Technology, ossia per montaggio a foro passante)
rizzato, che presentano elevatissima resistenza la saldatura si esegue appoggiando la punta del
all’usura e sono elettricamente isolate. saldatore per qualche secondo sulla pista di rame
Il saldatore per elettronica opera a temperatu- dove è già stato infilato il terminale del componen-
re tipicamente comprese tra 230 e 400 °C; ha te da stagnare e contemporaneamente su di esso,
tipicamente una cordone terminante con una spina poi appoggiando il filo di lega saldante sul termi-
che ne permette l’alimentazione con la tensione nale o sulla pista (Fig. 4). Non bisogna appoggiare
di rete (220 Vca); talvolta dispone di un pulsante il filo sulla punta o quantomeno non bisogna farlo
per funzionare a metà potenza, il che consente di prima di aver scaldato pista e terminale, altrimenti
scegliere tra due temperature di saldatura. I salda- è facile che si verifichi una “saldatura fredda”: in
tori per elettronica hanno potenze che tipicamente pratica le parti sembrano unite ma non lo sono e la
spaziano da 20 a 50 watt. resistenza elettrica del contatto è troppo elevata
La temperatura raggiunta dal saldatore viene in- per garantire il buon funzionamento del circuito.
fluenzata da molte condizioni, non ultimi gli sbalzi La saldatura fredda è molto insidiosa perché diffi-
della tensione di rete. Per effettuare saldature ad cilmente visibile, in quanto il componente sembra
una temperatura stabile e nota, occorre saldato ma non lo è o comunque pur essendo
utilizzare una stazione saldante, dove il controllo meccanicamente stabile non c’è un buon contatto
viene effettuato avvalendosi di un sensore colloca- elettrico, anzi, spesso il contatto ha una resistenza
to sulla punta. elevatissima. La saldatura fredda si verifica perché
Stazioni saldanti ne esistono di vario tipo, ma tutte la lega saldante fusa cola su parti (pista e com-
funzionano secondo questo principio; la gran parte ponente) che non sono abbastanza caldi, quindi
dispone di un selettore per impostare due o tre solidifica troppo rapidamente e non attecchisce
temperature o di una manopola o di un pannello a come dovrebbe, oppure perché una o più parti
pulsanti per variare la temperatura a piacimento. sono ossidate.
Spesso lo stilo è a punte intercambiabili di varia Allo scopo va ricordato che la lega saldante ben
forma (conica, a scalpello, a lama, piatta ecc.). In fusa si riconosce, oltre che per l’aspetto liquido,
molte stazioni (JBC, per esempio) le punte intercam- per il colore, che diventa argento lucido; quando si

118
 Fig.5
A sinistra
un porta-
saldatore con
spugnetta
per pulire
la punta; a
destra una
lana metallica
con base per
pulizia della
punta del
saldatore.

raffredda e ritorna solido, lo stagno passa repenti- stagnare, così da migliorare l’aderenza.
namente dal colore lucido all’opaco. Quanto alla potenza del saldatore e alla tempera-
Dopo aver saldato un po’ di componenti, il flussan- tura di lavoro, considerate che la temperatura della
te tende a lasciare residuo sulla punta del saldato- lega saldante dipende non solo da quella impo-
re, che è quindi buona norma pulire periodicamen- stata, ma anche e soprattutto dal rapporto tra la
te; il metodo più semplice è passarla sull’apposita potenza del saldatore e la massa di lega saldante
spugnetta bagnata con acqua, che spesso viene e di metallo interessati dalla saldatura; infatti un
fornita con il portasaldatore nell’apposito vano o conto è la temperatura che il saldatore riesce a
con la stazione saldante; in alternativa è possibile mantenere da solo, un altro è la quantità di calore
utilizzare una “spugna metallica” come quella ceduta, che dipende dalla potenza termica ed
proposta in Fig. 5, reperibile su www.futurashop.it elettrica del saldatore.
con il codice prodotto WT45239. Facciamo un esempio: lo stilo di una stazione sal-
Per ottenere una buona saldatura e non surri- dante da 40 watt, può mantenere la temperatura
scaldare i componenti, specialmente se si tratta impostata (tanto più quanto questa è alta) solo se
di semiconduttori (diodi, transistor, TRIAC, ma si va a saldare piccoli componenti elettronici e non
soprattutto circuiti integrati e zoccoli) la punta componenti elettromeccanici, ma anche se le piste
del saldatore va mantenuta su piazzole e reofori del circuito stampato non sono particolarmente
giusto il tempo di veder diventare lucida la lega vaste e riccamente stagnate.
saldante, dopodiché va sollevata. Inoltre, laddove Anche la punta ha il suo ruolo: più vasta è la sua
il saldatore lo consenta, bisogna impostare una superficie, più calore può trasferire alla saldatura
temperatura adeguata; a riguardo va conside- perché beneficia di una superficie più ampia.
rato che le leghe saldanti con piombo fondono a A saldature ultimate, conviene sempre ispezionare
temperature mediamente di 220÷230 °C, mentre il circuito con una lente d’ingrandimento o una
quelle lead-free hanno temperature di fusione di lampada con lente incorporata, necessari perché
una quindicina, anche una ventina di gradi centi-
gradi in più. Per fare le cose bene conviene sempre
consultare, quando disponibili, le schede tecniche
delle leghe saldanti che si comprano, perché in
base all’additivazione o composizione varia la
temperatura di fusione.
 Fig. 6
Talvolta le leghe saldanti con metalli come l’argen- Un vasetto
to richiedono un supplemento di flussante, quindi di pasta
flussante
prima della saldatura conviene spalmare della WT45238.
pasta flussante (un ottimo esempio è la WT45238
reperibile on-line in vasetto su www.futurashop.it
o la siringa Amtech, come la NC-559) sulle parti da

119
 Fig. 7
Un vasetto ed un
tubetto di pasta
saldante: quella a
sinistra è leadfree
e quella a destra è
con piombo.

quando si saldano chip con piedini molto ravvicinati da saldatura, dissaldatura e pulizia delle schede
è difficile riuscire a vedere ad occhio se non ci sono mediante solventi.
stati cortocircuiti, ed una lampada da tavolo per
illuminare bene la zona di lavoro; ciò permetterà INTEGRATI E COMPONENTI CON MOLTI PIEDINI
ad esempio di rivelare “baffi” di lega saldante che La saldatura dei circuiti integrati, come dei connet-
possono aver unito piazzole attigue. tori con molti piedini a passo fine, impone alcune
Siccome le saldature lasciano residui di flussante, accortezze in più di quelle appena esposte: infatti
che ad alta temperatura possono indurire a contatto è più facile surriscaldare tali componenti perché
con l’aria, volendo è possibile pulire il circuito stam- il saldatore toccherà più volte i relativi contatti. In
pato con prodotti come l’anti-flussante spray com- questi casi, specie nei circuiti integrati, è consiglia-
mercializzato ad esempio da www.futurashop.it con bile stagnare alternativamente i piedini dei due lati,
il codice prodotto F02, che è un efficace detergente magari incrociandoli, ossia scendendo da un lato
per qualunque tipo di componente elettrico ed e salendo da quello opposto. Discorso analogo
elettronico: la completa evaporazione e la compa- si applica a componenti con piedini disposti su
tibilità con le plastiche lo rendono insostituibile nel quattro lati.
preparare ogni circuito in modo da ottimizzarne la
copertura dielettrica mediante lacca isolante quale SALDARE GLI SMD
ad esempio la V66. Per quanto riguarda la componentistica SMD, la
Questa lacca è molto comoda ad esempio per pas- tecnica di saldatura differisce in base al package
sivare la superficie inferiore del circuito stampato con cui bisogna avere a che fare: molti elementi
e prevenire contatti accidentali con le piazzole e i possono essere saldati manualmente con il classi-
reofori dei componenti. co saldatore a stagno, mentre altri richiedono una
In alternativa al rimuovi-flussante suddetto è stazione ad aria calda. Esistono anche vari approcci,
possibile utilizzare solventi come la trielina, però relativamente alla lega saldante da utilizzare, che
quest’ultima intacca le plastiche di alcuni connet- può essere il classico filo, ma anche la pasta sal-
tori e componenti. dante: quest’ultima è un impasto di lega saldante
Per le operazioni di “lavaggio” delle schede con e flussante, molto malleabile a freddo tanto da
l’anti-flussante e comunque per tutte quelle di poter essere spalmata sulle piazzole del circuito
saldatura è sempre utile disporre di un aspiratore stampato; si trova in commercio in siringhe (como-
di fumi o di una piccola cappa, che risucchi i vapori da ad esempio per posizionarla con precisione su
e i fumi dell’evaporazione del flussante. piazzole molto piccole) o in barattoli (Fig. 7).
Un esempio è l’aspirafumi da banco per saldatura La pasta saldante è prodotta da varie aziende:
commercializzato da www.futurashop.it con il codi- un esempio di confezione in siringa è quella
ce prodotto TP0065, dotato di filtro a carboni attivi: commercializzata da www.futurashop.it con
è dotato di un’elettroventola che aspira e getta codice SMDPASTASALD ed è composta dal 63%
lateralmente, lontano, fumi e aerosoli derivanti di stagno e dal 37% di piombo; è prodotta dalla

120
MECHANIC. Altro esempio, sempre acquistabile
su www.futurashop.it, è la pasta in vasetto (codice  Fig. 8
Alcuni com-
prodotto SOLDER50G) la cui composizione è ponenti SMD
Sn 96,5%, Ag: 3%, Cu: 5%. possono
essere saldati
con il comu-
PER FARE PRATICA ne saldatore.
Bene, fin qui vi abbiamo spiegato in cosa consiste
e come si effettua la saldatura a stagno dei com-
ponenti elettronici, però a questo punto chi è alle
prime armi, ossia sta iniziando con le sue prime
saldature, si starà domandando: “da dove inizio?
...e con che cosa?”. La domanda è lecita, nel senso
che come quando si impara a guidare si parte da
un’automobile magari dotata di doppi comandi, i • resistenze 0606 (6 pezzi, tutti in serie, con punti
primi passi nel mondo della saldatura dei com- di prova);
ponenti sarebbe meglio farli non su un circuito • condensatori in formato 0805 (20 pezzi, tutti in
che poi si deve utilizzare, ma su qualcosa che non serie);
serve e che si può sacrificare. • diodi 3216 (10 pezzi, tutti in serie);
Ecco perché esistono dei kit per l’apprendista • transistor SOT-23 (6 pezzi con test point);
saldatore, composti da una basetta con le piazzole • integrati in package SO-14 (2 pezzi, con test
e da un mucchietto di componenti assortiti per fare point);
pratica (Fig. 9); kit di questo tipo si possono trova- • integrati in case LQFP44 (2 pezzo, con test
re ad esempio on-line sul sito www.futuranet.it sia point).
per il montaggio dei componenti a foro passante,
sia per gli SMD. In questo caso sono previste piazzole di prova
Il kit per i THT è il prodotto Set di componenti per per verificare se le saldature sono state eseguite
imparare a saldare YX286 e contiene una basetta correttamente o se sono fredde.
millefori (con piazzole a passo 2,54x2,54 mm) da
50x70 mm, per un totale di 39 elementi, ossia: DISSALDARE I COMPONENTI
• 4 diodi 1N4007; Sebbene l’obiettivo di questo tutorial sia la sal-
• 2 diodi 1N4148;
• 1 integrato DIP NE55;
• 4 condensatori in poliestere varie capacità;
• 5 condensatori ceramici di varie capacità;
• 6 condensatori elettrolitici di varie capacità;
• 7 resistori 1/4W;
• 8 resistenze 1/8W;
• 9 LED tondi;
• 1 induttanza assiale;
• 11 Transistor 8050, 8550, 9013.

Insomma, ce n’è abbastanza per fare pratica.


Quanto agli SMD, potete fare riferimento al Set
di componenti per imparare a saldare YX672 che
contiene un PCB da 80x60 mm con punti di test
ed elementi dello stesso tipo interconnessi. Il set
contiene:
 Fig. 9
• resistenze formato 0805 (20 pezzi, che nel PCB Due set per
sono collegati tutti in serie); imparare a
saldare
• resistenze in formato 0603 (34 pezzi, tutti in componenti
serie); THT ed SMD
• resistenze in formato 0402 (10 pezzi, tutti in
serie);

121
oppure parte di una stazione dissaldante; si utilizza
 Fig. 10 come mostrato nella Fig. 11, ossia pinzando il
Dissaldatura di componente dagli elettrodi, attendendo lo scio-
un integrato SMD
con un saldatore a
glimento della lega saldante, quindi sollevando il
punta a spatola. componente. Nella Fig. 12 vedete un’altra tecnica
che consiste nell’appoggiare sui terminali del
componente la punta di un saldatore per parte,
stringendo poi con i due saldatori quando la lega
saldante è fusa, in modo da sollevarlo ed estrarlo.

IL SUCCHIASTAGNO
È l’attrezzo più utilizzato per dissaldare i compo-
nenti elettronici a montaggio tradizionale (i THT)
con molti piedini stampati a doppia faccia con
fori metallizzati, dato che il saldatore non basta,
datura dei componenti elettronici, è interessante in quanto lo stagno rimarebbe negli interstizi fra
notare che il saldatore può anche essere utilizzato terminali e pareti dei fori. Nella sua forma più sem-
per dissaldare i componenti: basta appoggiarne plice, si tratta di una pompetta a mano formata da
la punta sulle piazzole fino a far sciogliere la lega un cilindro cavo contenente uno stantuffo che si
saldante, quindi asportare il componente del caso carica con una molla e premendo un pulsante ritor-
con delle pinzette. Ciò è fattibile per componenti a na a riposo, aspirando la lega saldante mediante
pochi terminali o, utilizzando punte piatte (a spato- un beccuccio metallico o di teflon comunicante con
 Fig. 11 la) o a lama, con vari terminali in linea o ravvicinati, la camera della pompetta. Tale succhiastagno, che
Dissaldatura come i connettori o gli integrati; la Fig. 10 mostra è meccanico, si usa in abbinamento al saldatore:
di un compo-
nente SMD la dissaldatura di un chip TSSOP con lo stilo di una quest’ultimo fonde lo stagno da rimuovere e il suc-
con una pinza stazione dissaldante a punte intercambiabili, su cui chiastagno lo aspira. Siccome tenere in mano due
a becchi
riscaldati. è stata montata la punta a lama invece della tra- attrezzi è scomodo, sono stati inventati i dissalda-
dizionale a stilo: si scaldano prima i terminali di un tori, che sono dei succhiastagno a punta metallica
lato e poi quelli dell’altro, estraendo il componente (in rame o, meglio ancora, acciaio inox) riscaldata
 Fig. 12
Dissaldatura con una pinzetta. come nei saldatori. In essi il cilindro comunica con
di un Per dissaldare i componenti SMD, se hanno due la punta riscaldata da una resistenza elettrica e
componente
con due soli terminali (come diodi, resistenze, condensa- cava internamente (un ottimo esempio è il prodot-
saldatori. tori) è possibile ricorrere a una particolare pinza a to 8400-VTDESOL3 reperibile su www.futuranet.it).
becchi riscaldati, che può essere un attrezzo a sè La Fig. 13 mostra come si effettua la dissaldatura

122
con tale attrezzo: la punta si appoggia facendo
entrare il terminale del componente nel foro e  Fig. 13
spingendo delicatamente per farla ben aderire alla Dissaldatura
di un compo-
saldatura, quindi si attende la fusione della stessa, nente con il
allorché si preme il pulsante. dissaldatore
riscaldato.
Il succhiastagno può essere una macchina a sè,
sovente integrata nelle stazioni di saldatura: in
tal caso si tratta di un dissaldatore come quello
appena descritto, dove il risucchio avviene per la
depressione generata da una pompa a vuoto e tra-
smessa alla cavità della punta mediante un tubo
di gomma; la pompa si attiva con un interruttore a
pedale o posto sullo stilo del dissaldatore. La pom-
pa può aspirare in continuazione, diversamente
da quella del dissaldatore comune, che aspira una La stazione a getto d’aria calda consta di una ven-
sola volta e poi va ricaricata; per questa ragione la tola o pompa da aria di tipo rotativo a bassa pres-
stazione saldante con dissaldatore è più efficace sione (sempre comandata da un motore elettrico),
nel rimuovere anche grandi quantità di stagno. che aspira aria dall’esterno (protetta da un filtro)
Lo stagno aspirato raffredda quasi subito e solidifi- e la soffia in un tubo che porta alla testa dell’ero-
ca, formando all’interno dello strumento masse più gatore; quest’ultimo è un ugello tubolare che può
o meno grandi che devono essere fermate prima essere variamente sagomato oppure avere forma
di raggiungere la pompa aspirante; allo scopo, cilindrica ma essere predisposto per
all’interno dei dissaldatori si trova un filtro a retina l’applicazione di adattatori (deflettori) in grado di
o formato da un tampone di cotone, in modo da dirigere l’aria in vari modi.
lasciar passare l’aria ma da trattenere lo stagno. Un buon esempio di stazione del genere è la
Col passare del tempo e con una frequenza che VTSS230 reperibile sempre su www.futuranet.it:
dipende dall’uso che si fa dell’attrezzo, il filtro va ri- integra un saldatore a stilo ed è quindi una stazio-
mosso e sostituito con uno idoneo. Inoltre la punta, ne combinata di saldatura/dissaldatura (Fig. 14).
specie se è di rame, tende a formare incrostazioni La dissaldatura ad aria calda si effettua appoggian-
dovute al cedimento della parete interna a causa do su un piano metallico la scheda da cui staccare
del calore e col tempo si intasa; perciò va pulita con i componenti e dirigendo il getto caldo sui piedini
uno spillo o del sottile filo di ferro, oppure appositi di tutti i lati, passando in sequenza da uno all’altro;
scovolini forniti in dotazione al dissaldatore. quando la lega saldante sta per fondersi diventa
lucida, si può asportare il chip. Allo scopo bisogna,
SALDATURA DI SMD AD ARIA CALDA con mano ferma, afferrarlo mediante una pinzetta
I componenti a montaggio superficiale, specie a molla, sollevandolo con decisione ed evitando di
quelli più piccoli e gli integrati con piedini fittissimi urtare i componenti che si trovano accanto; infatti,
o PAD sotto al corpo (per esempio QFB, LGA e se l’elemento da staccare si trova in una zona
BGA) devono essere saldati con una stazione ad del circuito stampato densamente “popolata” di
aria calda, dopo aver stagnato o spalmato di pasta componenti, è facile che anche quelli intorno siano
saldante le rispettive piazzole; tale operazione scaldati al punto da sciogliere la lega saldante, il
può essere svolta anche all’interno di un fornetto che vuol dire che basta urtarli per staccarli e fare
specifico per queste lavorazioni. Esiste anche la un piccolo disastro, anche perché il trascinamento
possibilità di ricorrere a macchine automatiche o di un componente provoca lo spargimento dello
semiautomatiche, ma la cosa riguarda un ambito stagno e il cortocircuito di piste e componenti vicini,
che esula dagli scopi di questo tutorial. poi difficile da rimuovere.
La stazione ad aria calda è una macchina che per La dissaldatura riesce meglio se il circuito viene
saldare o dissaldare riscalda i componenti o le loro collocato sopra una piastra riscaldante, in quanto,
connessioni mediante un getto d’aria calda emes- mentre con la sola aria calda si può scaldare un
so da un erogatore con impugnatura termoisolante lato e quindi occorre raggiungere temperature
ed un ugello metallico variamente sagomato. Del molto elevate prima di ottenere lo scioglimento
getto si possono regolare, mediante comandi posti della lega saldante, scaldando da sotto lo stam-
sul pannello frontale, il flusso e la temperatura. pato si prepara lo stagno alla fusione, che può

123
 Fig. 14
Una stazione
ad aria calda.

avvenire con una minore temperatura sul lato tratta di dissaldare un componente si può anche
investito dall’aria calda. Ne beneficiano la durata incrementare la potenza del getto per aumentare
dei componenti e le saldature: infatti se un lato rapidamente la temperatura, qui occorre cautela.
dello stampato viene riscaldato fortemente rispet- La saldatura riesce meglio se prima di appog-
to all’altro, la differenza termica può far inarcare giare il componente si depone sulle piazzole un
il circuito e deformare o staccare delle saldature, sottile strato di flussante: infatti questo materiale
mentre con lo stampato uniformemente riscaldato agevola la fusione e l’adesione della lega saldante
questo rischio non esiste. attorno ai terminali del chip, impedendo che essa
 Fig. 15 Quanto alla saldatura, si effettua semplicemente vada a cortocircuitare contatti attigui.
Utilizzo della appoggiando il chip sulle rispettive piazzole, ben Anche nel caso della saldatura, l’operazione riesce
hot air station
per saldare
centrato rispetto ad esse; posizionato il compo- meglio se lo stampato viene prima riscaldato
o dissaldare nente, si può scaldarlo, badando che questa volta il mediante una piastra.
chip quadrati getto d’aria calda deve essere abbastanza debole, Alcune macchine a getto d’aria calda dispongo-
o BGA.
altrimenti se soffia forte può spostare il chip, tanto no di un sistema di spegnimento ritardato che
più se questo è piccolo. Infatti, mentre quando si consente di raffreddare il riscaldatore quando

124
l’utente spegne il macchinario; ciò comporta che stampato preventivamente spalmate di pasta
se si appoggia l’erogatore, dal suo ugello uscirà saldante e inserendo il PCB lentamente e delica-
ancora per un po’ aria calda e quindi se si è spenta tamente (per non spostare i componenti) sul piano
la macchina quando era a temperatura molto alta, del cassetto di un fornetto per saldature SMD
ciò può essere pericoloso. Per questa ragione non (SMD Oven) come quello proposto dalla Fig. 16.
bisogna mai appoggiare l’erogatore su un tavolo Questo genere di forni ha un riscaldatore a resi-
o di fronte a materiale infiammabile (solventi, stenza elettrica o ad infrarossi gestito da micro-
alcol, carta) o deformabile col calore (polistirolo e processore, che permette di eseguire sequenze
plastiche deboli) ma, piuttosto, riporlo sul proprio preimpostate o definibili dall’utente, in
supporto. Tale accorgimento vale anche per le maniera del tutto automatica. Mediamente la sal-
macchine a spegnimento immediato, quando datura richiede un tempo di due o tre minuti e la
vogliamo appoggiare momentaneamente l’ero- temperatura impostata cresce gradualmente fino
gatore perché per qualche istante non ci serve e a aggiungere un picco di 250÷300 °C (dipende
non vogliamo spegnere la macchina (ad esempio dalla lega saldante utilizzata) per il tempo occor-
perché è di quelle in cui ogni volta che si accende rente a fondere le sfere (il forno deve essere illu-
bisogna reimpostare con i pulsanti la temperatura minato e quanto accade all’interno dovete poterlo
e la pressione dell’aria); in ogni caso accertatevi vedere chiaramente) dopodiché torna a scendere
che dietro il sostegno dell’erogatore non vi siano per far raffreddare gradualmente la scheda.
oggetti infiammabili o che si possono sciogliere Se tra i componenti da saldare ce ne sono alcuni
(Fig. 15). danneggiabili ad alte temperature, il consiglio è di
effettuare una saldatura selettiva, saldando prima
SMD... AL FORNO! quelli più resistenti, a temperatura maggiore,
Quando i componenti da saldare sono tanti e poi quelli che tollerano una temperatura minore,
piccoli, la stazione ad aria calda può non essere impostando appunto una temperatura più bassa,
la soluzione migliore; in alternativa è possibile appena sopra quella di fusione della lega saldan-
ricorrere alla saldatura in forno, posizionando tutti te. In quest’ultimo caso un po’ di pasta flussante

i componenti sulle rispettive piazzole del circuito agevolerà il processo di saldatura.

 Fig. 16
Fornetto per
saldatura
degli SMD.

125
FUTURA GROUP

FUTURA GROUP
IDEE IN ELETTRONICA

IDEE IN ELETTRONICA
I prodotti più
I prodotti
recenti,più
i più
recenti, i più
venduti, levenduti,
ultime novità
le ultime
dal novità dal
mondo dell’elettronica,
mondo dell’elettronica,
i progetti più
i progetti
interessanti,
più interessanti,
i corsi e i webinar.
i corsi e i webinar.

Oltre 6.000Oltre
prodotti,
6.000prezzi
prodotti, prezzi
ELETTRONICA

ELETTRONICA
sempre aggiornati,
sempre aggiornati,
disponibilità
disponibilità
SHOP ON LINE

SHOP ON LINE
in tempo reale,
in tempo
aggiornamenti
reale, aggiornamenti
FUTURA

FUTURA

quotidiani quotidiani
su nuovi prodotti,
su nuovi prodotti,
schede tecniche
schedee tecniche
immaginie immagini
dettagliate,
dettagliate,
centinaia di
centinaia
video di video
dimostrativi.
dimostrativi.

ElettronicaElettronica
In ed Elettronica
In ed Elettronica
In In
ELETTRONICA APPLICATA

ELETTRONICA APPLICATA
PROFESSIONAL

PROFESSIONAL

Professional,
Professional,
le più importanti
le più importanti
riviste del settore
riviste del
consettore
centinaia
con centinaia
PRO PRO di progettidie news
progetti
dalemondo
news dal mondo
dell’elettronica
dell’elettronica
. .
FUTURA GROUP

FUTURA GROUP

Progetti pratici,
Progetti
articoli
pratici, articoli HOME HOME
didattici per
didattici
chi si avvicina
per chi sialavvicina al
PROGETTI

PROGETTI

mondo dell’elettronica,
mondo dell’elettronica,
corsi corsi
hardware/software
hardware/software
e molto e molto SHOP SHOP
altro ancora!
altro ancora!

RIVISTE RIVISTE

Corsi in presenza
Corsi inedpresenza
online ed online
CORSI DI FORMAZIONE

CORSI DI FORMAZIONE

organizzatiorganizzati
con livelli base
con livelli
per i base per i PROGETTIPROGETTI
principiantiprincipianti
fino a livellifino
avanzati
a livelli avanzati
per i più esperti.
per i piùVasta
esperti.
scelta
Vasta scelta
di argomenti,
di argomenti,
dall’elettronica
dall’elettronica ACADEMYACADEMY
all’informatica,
all’informatica,
tecnologie tecnologie
innovativeinnovative
e molti altrie ancora.
molti altri ancora.
PROGETTAZIONE
PROGETTAZIONE

Un team diUn esperti


teamin
digrado
espertidiin grado di
studiare, progettare
studiare, progettare
e realizzaree realizzare RIVENDITORI
RIVENDITORI
ELETTRONICA

ELETTRONICA
PROGETTAZIONE

PROGETTAZIONE

prototipi utilizzando
prototipi utilizzando
le ultime le ultime
tecnologie.tecnologie.
Il team Futura
Il team
Group
Futura
è Group è
FUTURA

FUTURA

composto, composto,
oltre che daloltre
personale
che dal personale
dei nostri laboratori
dei nostri laboratori
tecnici, tecnici,
anche da un anche
numero
da unelevato
numero
di elevato di
collaboratori
collaboratori
esterni, ciascuno
esterni, ciascuno
specializzato
specializzato
nel proprionelsettore.
proprio settore.

Oltre 150 punti


Oltrevendita
150 punti in vendita
tutta in tutta
Italia doveItalia
acquistare
dove acquistare
i prodotti i prodotti
ELETTRONICA

ELETTRONICA
RIVENDITORI

RIVENDITORI

Futura Elettronica.
Futura Elettronica.
Personale Personale
preparato preparato
e disponibilee disponibile
in grado in grado
FUTURA

FUTURA

di trovare di
la trovare
soluzione lapiù
soluzione più
adatta alleadatta
diversealle
esigenze.
diverse esigenze.
ecenti, i più
me novità dal
ttronica,
nteressanti,
nar.

odotti, prezzi
nati, disponibilità
, aggiornamenti
uovi prodotti,
e e immagini
ntinaia di video

ed Elettronica In
e più importanti
ore con centinaia
ews dal mondo
.
Home Shop Riviste e corsi gratuiti Progetti Academy Progettazione Rivenditori Home Shop Riviste e corsi gratuiti Progetti

i, articoli HOME
hi si avvicina al
Home
ttronica, corsiShop Riviste e corsi gratuiti Progetti Academy Progettazione Rivenditori

ware e molto SHOP

RIVISTE

nza ed online
n livelli base per i PROGETTI
o a livelli avanzati
ti. Vasta scelta
dall’elettronica ACADEMY
, tecnologie
molti altri ancora.
PROGETTAZIONE

perti in grado di
ettare e realizzare RIVENDITORI
zando le ultime
eam Futura Group è
e che dal personale
ratori tecnici,
umero elevato di
sterni, ciascuno
el proprio settore.

i vendita in tutta
uistare i prodotti
nica. Personale
sponibile in grado
oluzione più
erse esigenze.
NUOVE TELECAMERE

technology
Le telecamere Full-color IP CAMERA 4 MPX – FULL COLOR
sono dotate di una nuova
Risoluzione immagine: 4 MPX
tecnologia che permette Obiettivo: 3,6 mm
di ottenere immagini a Illuminatore luce bianca - numero LED luce bianca: 2 - portata: 30 metri
colori anche in condizioni Grado di protezione: IP66
di scarsa luminosità, sia di Alimentazione: 12 VDC
giorno che di notte.

€ 75,00
cod. FR836

€ 52,00 € 69,00 € 44,00


cod. FR816N cod. FR816VAR cod. FR817

TELECAMERA FULL COLOR TELECAMERA FULL COLOR TELECAMERA DOME


2 MPX 2 MPX - VARIFOCAL FULL COLOR - 2 MPX

Risoluzione immagine: 2 MPX Risoluzione immagine: 2 MPX Risoluzione immagine: 2 MPX


Obiettivo: 3,6 mm Obiettivo: varifocal 2,8-12 mm Obiettivo: 3,6 mm
Portata Illuminatore: 20-30 metri Portata Illuminatore: 40 metri Portata Illuminatore: 20-30 metri
Grado di protezione: IP67 Grado di protezione: IP67 Grado di protezione: IP67
Alimentazione: 12 VDC Alimentazione: 12 VDC Alimentazione: 12 VDC

Futura Group srl


Caratteristiche tecniche di questi prodotti
®
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
IN VETRINA

a cura della REDAZIONE

I
l mondo dell’IOT (Internet of Things) è vastis-
Una suite di simo e tocca tutti gli ambiti, da quello civile e
quindi la vita di tutti i giorni, a quello industriale
dispositivi di (dove prende il nome di IIoT, ossia Industrial
controllo e Internet of Things). Le tecnologie utilizzate per
connettere i dispositivi sono le più svariate e
acquisizione da ognuna è adatta ad eseguire compiti specifici,
remoto gestiti perché non c’è una sola tecnologia che possa
coprire tutte le esigenze.
tramite un’app La parte del leone in ambito domotico la fanno il WiFi e i pro-
attraverso un tocolli custom dei vari costruttori: Alexa è il classico esempio
di applicazione IoT in ambito domotico.
servizio NBIoT che Ma la vera Internet of Things è quella che per la connessione
si appoggia alla rete tra dispositivi si appoggia alle cosiddette LPWAN (Low Power
Wide Area Network) cioè bande di frequenza adatte per co-
cellulare LTE. prire lunghe distanze, essere robuste ai disturbi e adatte per

129
realizzare prodotti alimentati a batteria. modo al mondo fisico di essere progressivamente
All’interno del mondo LPWAN (o LPWA – Low digitalizzato e monitorato.
Power Wide Area, se preferite...) spiccano quelle L’utilizzo delle reti a bassa potenza ed ampio
supportate dalle bande licenziate e gestite da vari raggio, ossia LPWAN, permette la connessione tra
player telefonici e nello specifico la tecnologia NB- questi oggetti con basse velocità di comunicazione
IoT (Narrow band IoT) e il CAT-M, ovvero in senso e scambio di poche decine o centinaia di bit nel
generale l’LTE. La tecnologia Narrow Band (NB-IoT) complesso. Ricordiamo che l’accesso a queste reti,
è già da tempo utilizzata per connettere contatori come anche a quelle implementate con i protocolli
del gas e dell’acqua o sensori di allarme di qualsiasi LoRa e SigFox, consente di coprire grandi distan-
natura. Caratterizzata da un consumo energetico ze a patto di impiegare una banda minima, ed è
molto basso, permette di realizzare dispositivi per questo che a tali sistemi di comunicazione
con durata di vita con batteria superiori ai 10 anni vengono appoggiati dispositivi che richiedono la
con una comunicazione giornaliera. La frequenza trasmissione periodica di modeste quantità di dati.
utilizzata di 800 MHz le consente di arrivare in L’impegno orario o giornaliero delle bande asse-
posti dove il cellulare comune non funziona più, gnate non deve superare una certa percentuale
ad esempio negli scantinati, nel sottosuolo e in (duty-cycle dei dati) e la comunicazione avviene
alta montagna. Sfruttando la copertura del 4G, è tipicamente impiegando protocolli come l’MQTT
pressoché presente su tutto il territorio, non solo (Message Queue Telemetry Transport) ossia
Italiano ma anche europeo e mondiale. un protocollo di messaggistica ISO basato su
Utilizzando SIM degli operatori internazionali si standard, o un insieme di regole, utilizzato per la
può coprire tutta l’Europa con la stessa tariffa, comunicazione tra macchine e collocato in cima
peraltro molto contenuta. allo stack TCP/IP; per quanto riguarda il sistema
I limiti di questa tecnologia sono legati princi- IoTicontrollo, invece, viene adottato un protocollo
palmente al fatto che non si puo’ comunicare in proprietario UDP per minimizzare il numero di byte
continuo, ma il dispositivo deve inviare pacchetti di trasmessi.
dati e non deve veicolare filmati o altro di “pesante”, I vantaggi offerti dall’utilizzo della tecnologia
per questo motivo è sufficiente l’utilizzo di bande LPWAN NB-IoT sono:
limitate per traffico orario di dati. • efficienza energetica e quindi lunga autonomia
La tecnologia Cat-M utilizza la rete cellulare 4G nell’alimentazione a batterie (fino a 10 anni);
che, rispetto al Narrow Band IoT, si caratterizza • facilità di sviluppo e supporto perché basata
per un’ampia copertura, performance stabili anche sull’infrastruttura cellulare;
in mobilità e una capacità di trasmissione dati • copertura outdoor e indoor (quindi permette
elevata che insieme ne fanno la tecnologia ideale di accedere a dispositivi collocati in cantine e
per soluzioni IoT in mobilità. tombini, come i contatori per smart metering);
Sfruttando l’NB-IoT, un’azienda italiana ha rea- • connessione sicura e protetta, grazie alla cifra-
lizzato il sistema IoTicontrollo, coniando questo tura della rete 4G;
termine a connotare l’idea: un sistema IoT inte- • capacità di connessione di 100.000 dispositivi
grato ed appoggiato ad un Cloud proprietario, che per singola cella della rete radiomobile;
consente di controllare nel senso più ampio del • bassi costi dei componenti;
termine delle unità remote e acquisire parametri • nessuna limitazione del duty-cycle della comu-
e impostare dispositivi locali, tramite una comoda nicazione;
App per smartphone; insomma, un’interpretazione • frequenza di libero utilizzo;
particolare dell’IoT che è mirata al controllo remoto • copertura praticamente mondiale.
semplice e sicuro, senza i limiti che le tecnologie
LoRa o SigFox o altre proprietarie imporrebbero, Nel caso dei dispositivi IoTicontrollo, la tecnolo-
giacché qui ci si appoggia alla rete radiomobile 4G gia LPWAN impiegata è quella che si appoggia
sfruttando la tecnologia Narrow Band IoT e più in all’NBIoT (vedere il riquadro dedicato in queste
generale l’LTE. pagine) e quindi alla rete radiomobile 4G in banda
800 MHz. Questa tecnologia si accontenta di una
IOT E TECNOLOGIA LPWAN banda larga appena 200 kHz per la comunicazione
Attraverso chip e sensori inseriti al loro interno, gli dati, che può essere ricavata nella parte laterale
oggetti connessi sono in grado di interagire tra loro delle bande di frequenza impiegate dalle reti cel-
e con la realtà circostante, permettendo in questo lulari già esistenti, senza creare interferenze; una

130
 Fig. 1
Schematiz-
zazione del
sistema.

banda così ristretta (non a caso è chiamata narrow Tutti sono autoalimentati, a batteria ricaricabile o
band) consente comunque, l’invio di pacchetti dati pila di lunga durata, a seconda della configurazio-
da 200 kbit, più che sufficienti per le esigenze del ne. Tutti dispongono di una connettività dati che
mondo IoT. supporta la connessione permanente e l’utilizzo
del canale dati per un massimo di 24 trasmissioni
L’AMBIENTE IOTICONTROLLO al giorno e, considerata la modesta quantità di dati
L’ecosistema IoTicontrollo è composto sostanzial- scambiati, il traffico è illimitato.
mente da tre attori: gli end-device, che vengono I device infatti dispongono di connettività garantita
collocati dove serve controllare processi o acquisire ad un costo fisso che non grava sull’utente, per un
dati, il Cloud dedicato e proprietario di IoTicontrollo, totale di 500 MB, che per un dispositivo IoT basta-
che gestisce l’intero progetto ed è interfacciato no e avanzano.
tramite rete cellulare e protocollo NB-IoT, ed infine Facciamo dunque una carrellata sui dispositivi di
l’App installata su smartphone, la quale si abbina IoTicontrollo.
ad uno o più end-device e interagisce attraverso il
Cloud (Fig. 1). Security IoT Box
Il bello del sistema è che i dispositivi IoT si connet- Questo dispositivo viene incontro alle esigenze
tono sfruttando una SIM virtuale (vale a dire una di sicurezza e si può installare abbinato a porte,
SIM on chip di un gestore che, nello specifico, è cancelli e varchi in generale, oppure macchinari;
1NCE) fornita da IoTcontrollo insieme ad essi, che rileva semplicemente il movimento grazie ad un
offre connettività illimitata (per l’IoT) e che non accelerometro incorporato, che invia le informa-
bisogna preoccuparsi di ricaricare. zioni sulle accelerazioni rilevate lungo più assi e
Al momento l’offerta dell’azienda (ioticontrollo.it) quando la soglia di spostamento viene superata
conta sei prodotti, ossia altrettanti end-device IoT, trasmette un messaggio di allarme al Cloud e da
ciascuno rivolto a un proprio campo applicativo: esso all’App, che vi è connessa. Il modulo Security
• Security IoT Box; IoT Box è proposto in Fig. 2.
• Power Control Box; Il dispositivo è alimentato attraverso una batteria
• Smoke Detector; che gli consente un’autonomia di 18 mesi (alla
• Plug Meter; temperatura operativa di 20°C, trasmettendo 1
• Motion IoT Sensor; evento al giorno, con copertura cellulare ottimale.
• Door Alarm. Ha una temperatura di esercizio compresa fra -10

131
zione settimanale di quando debba essere attivo
 Fig. 2 l’accelerometro, così da rilevare solo nei periodi
Security IoT Box: in cui occorre farlo, ignorando quelli restanti (per
notate il QR-code
sul corpo, che serve
esempio ignorare spostamenti e vibrazioni quando
per l’abbinamento. rientrano nella normale attività).
All’accensione del dispositivo è previsto un inter-
vallo di quiescenza (un tempo di attivazione) pari
a un massimo 5 minuti, che serve a dare il tempo
al dispositivo stesso di connettersi alla rete LPWA
e ad essere associato all’App. Questo modo di
funzionamento vale per tutti i dispositivi descritti
in questo articolo.
Il dispositivo non richiede SIM tradizionale perché
ha una SIM on chip di un operatore virtuale il cui
utilizzo non richiede alcuna operazione da parte
dell’utente, giacché l’abbonamento corrispondente
è associato da IoTicontrollo al dispositivo stesso.

Power Control Box


Questo dispositivo di IoTicontrollo (Fig. 3) nasce
per svolgere principalmente il monitoraggio della
presenza della tensione di rete a 230 Vca su una
e +50°C, quindi funziona in ogni ambiente, ed è linea elettrica e la commutazione di un carico o
impermeabile con grado di protezione IP65, tanto di un ingresso di allarme o d’altro genere; allo
da poter funzionare all’aperto. scopo dispone di quattro morsetti a vite, due dei
Misura 146 x 86 x 19,5 mm e pesa intorno ai quali siglati FN ~ destinati a connettere la linea
100 grammi. È possibile, sempre tramite App, da monitorare e i due restanti che riportano il
impostare un tempo di attivazione, vale a dire contatto pulito di un relé che permette di gestire
un intervallo trascorso il quale il dispositivo deve un utilizzatore alimentato dalla rete elettrica di
osservare lo stato dell’accelerometro e inviare distribuzione a 230 Vca o altro. I contatti disponi-
l’allarme; dall’App è possibile fare una programma- bili sono C e NA (sono resi accessibili dall’esterno
tramite i morsetti con il simbolo del contatto) ed il
relé può essere comandato a stato stabile tramite
l’App da smartphone.
Quando viene a mancare la linea elettrica su F ed
N viene generato un avviso diretto all’App dello
smartphone associato; il messaggio può essere in-
viato perché il dispositivo ha una batteria al litio di
backup da 300 mAh. Il Power Control Box si rivela
quindi utile per avvisare se salta la corrente in casa
o in altro luogo servito dalla rete elettrica a 230Vca,
ad esempio per intervenire con tempestività se vi
sono utilizzatori critici (per esempio elettromedica-
li) che funzionano con la rete.
Il contatto consente di commutare l’alimentazione
di linee elettriche funzionanti a tensione di 230 Vca
e potenza fino a 300 VA su carichi sia resistivi che
misti; in assenza della tensione di rete il relé ricade
e comunque non è più controllabile da remoto.
 Fig. 3 Le dimensioni del dispositivo sono contenute
Power
Control Box. (appena 50x80x30 mm) e tali da consentirne l’in-
troduzione in una scatola da incasso per impianti
elettrici in formato 503 e semplificarne il cablaggio;

132
il peso è ridotto ad appena 80 grammi. Non richie-
de SIM tradizionale perché ha una SIM on-chip.  Fig. 4
Dispositivo Smoke
Smoke Detector Detector.

Questo dispositivo NB-IoT (lo vedete in Fig. 4) è


sostanzialmente un sensore di fumo per ambienti
civili e industriali, da collocare a soffitto per rilevare
la presenza di fumo di vario genere e quindi l’insor-
gere di incendi o l’invasione di un locale da parte di
fumi tossici.
È alimentato da una batteria interna al litio da 3
volt, tipo CR17450 che garantisce un’autonomia
operativa di 18 mesi a 20 °C di temperatura
ambiente e con una trasmissione al giorno; le sue
dimensioni sono di 92 mm di diametro (infatti è
tondo) x 35 mm. Il peso di è 100 grammi.

Motion IoT Sensor


Questo dispositivo è un sensore di movimento
basato sulla combinazione della tecnica P.I.R. Il dispositivo funziona fra 10 e +50°C, ha un tempo
(Passive Infrared Radar) e del radar a microonde di prima attivazione fino a 5 minuti (intervallo
a 2,4 GHz; è connesso tramite rete cellulare e necessario ad aggancio rete e associazione all’App
protocollo IoT ed è utilizzabile per rilevare presenza IoTicontrollo) misura 73x83x60 mm e pesa 160
e spostamento di persone e animali, ma anche di grammi; come gli altri, funziona tramite una SIM
automobili. Lo vedete in Fig. 5. on chip. È autoalimentato tramite la tensione di
Ogni volta che rileva qualcosa nel suo campo di rete prelevata dalla connessione tra la spina e la
copertura fornisce un allarme trasmesso al Cloud presa passante, perché per forza di cose va instal-
IoTicontrollo e raggiunge l’App cui è associato. lato in presenza di una rete elettrica.
La combinazione di due tecnologie offre la
massima sicurezza del rilevamento, perché con il Door Alarm
dispositivo è possibile rilevare anche corpi che non L’ultimo dispositivo dell’offerta di IoTicontrollo
emettono particolare calore, condizione, quest’ul- che andiamo ad analizzare in questo articolo è il
tima, determinante per il rilevamento tramite
infrarossi passivi.
Il dispositivo è autoalimentato mediante due batterie
al litio da 3,6V, che assicurano un’autonomia di 12
mesi a temperatura ambiente di 20 °C e con un mas-
simo di un evento al giorno.
La temperatura di esercizio è tra -10 e +50°C e il
tempo di prima attivazione fino a 5 minuti.
Le dimensioni sono 47x81x134 mm e il peso di 170 g.

Plug Meter
Questo dispositivo è sostanzialmente un Energy
Meter connesso al Cloud di IoTicontrollo, inserito in
una presa passante per la rete 230 Vca (Fig. 6) in
grado di trasferire una potenza massima di 200 VA.
Permette di controllare da remoto e comodamente
tramite l’App, i consumi del carico collegato alla
 Fig. 5
presa. L’installazione è semplice, perché basta Dispositivo Motion
staccare la spina dell’utilizzatore da monitorare e IoT Sensor.
introdurla nel Plug Meter e quindi infilare quest’ul-
timo nella presa.

133
IL PROTOCOLLO NARROW-BAND IOT

Definita per la prima volta dal 3GPP (3rd Generation Partner- rete NB-IoT prevede l’utilizzo di tecniche di miglioramento della
ship Project) nelle specifiche della release 13, la NB-IoT è la copertura quali il power boosting in downlink o la ripetizione
tecnologia di rete mobile più adatta per le applicazioni IoT che subframe sia in uplink sia in downlink.
richiedono copertura geografica eccezionalmente vasta e im- L’implementazione di dispositivi che utilizzano la comunicazione
pongono un consumo energetico estremamente ridotto. Queste NB-IoT impone il dover affrontare una serie di problematiche.
applicazioni sono tipicamente caratterizzate da basse velocità Una durata della batteria di oltre 10 anni richiede l’utilizzo di
di trasferimento dei dati e tempi di reazione (latenza) dell’ordine funzionalità specifiche per il risparmio energetico, quali PSM,
di qualche secondo, come lo Smart Metering, il controllo remoto eDRX o RAI (Release Assistance Indication ). Inoltre, l’introdu-
di contenitori per la raccolta differenziata rifiuti, l’agricoltu- zione di reti LTE-M e NB-IoT richiede la definizione di un’archi-
ra smart, le Smart Bike e via di seguito. Le prime attivazioni tettura core ottimizzata che consenta, ad esempio, la trasmis-
delle reti sono iniziate alla fine del 2017 e l’avvio commerciale sione di dati degli utenti attraverso il piano di controllo e la
su larga scala in vari paesi nel mondo è iniziato nel corso del trasmissione anticipata dei dati (EDT, Early Data Transmission).
2018. Un servizio NB-IoT può essere attivato all’interno di una Una rete NB-IoT riutilizza ampiamente funzionalità e tecniche
portante LTE, nella Guard Band LTE o come soluzione autonoma. familiari già utilizzate nelle reti LTE, pertanto, la gran parte delle
In futuro, la flessibilità delle unità radio 5G NR faciliterà anche il applicazioni di test è simile a quelle per effettuare le prove su
funzionamento dell’ NB-IoT nelle banda assegnate al 5G. un normale modem LTE. Tuttavia, le caratteristiche specifiche
Sintetizzando, la tecnologia NB-IoT può essere definita come di un’applicazione LPWAN richiedono particolare attenzione:
rete geografica LPWAN cellulare funzionante in direzione ad esempio, l’ottimizzazione e l’analisi dettagliata del consumo
downlink con una larghezza di banda del canale di 180 kHz (un energetico in configurazioni e modelli operativi diversi sono
PRB) e una spaziatura tra le sottoportanti di 15 kHz, mentre altamente consigliate per assicurare una durata della batteria
in direzione uplink tipicamente con trasmissione a sottopor- superiore a 10 anni. Il funzionamento in condizioni di copertura
tante singola da 3,75 kHz o 15 kHz. Per soddisfare il requisito al chiuso richiede che le prestazioni della sezione RF e dell’an-
di perdita massima di accoppiamento (MCL) che è 20 dB, una tenna siano molto elevate.

modulo per porte, ossia il Door Alarm (Fig. 7): è un e connesso in ottica IoT. Per il funzionamento, il
dispositivo da applicare a porte e finestre che rile- dispositivo va fissato all’anta di cui rilevare l’aper-
va l’apertura e la segnala inviando un messaggio, tura, tramite l’apposita staffa fornita in dotazione;
attraverso il Cloud, all’App. Possiamo considerarlo l’apertura viene rilevata grazie a un sensore di mo-
un allarme per porte (o anche finestre) integrato vimento (accelerometro MEMS) e non tramite relé

134
Reed come spesso avviene nei sensori per porte
e finestre. L’alimentazione del modulo è affidata
 Fig. 6
a una batteria LiPo interna, quindi ricaricabile, che Dispositivo Plug
fornisce un’autonomia di 12 mesi a temperatura Meter.
ambiente di 20 °C e con un massimo di un evento
al giorno. Il dispositivo funziona a temperatura
ambiente compresa fra -10 e +50°C, è destinato
ad un uso all’interno ed ha un tempo di prima atti-
vazione di massimo 5 minuti. Le dimensioni sono
di 47x70x19 mm e il peso di 60 g.

LA SIM
I prodotti di IoTicontrollo sono tipicamente forniti di
apposita SIM, in versione plastica oppure on-chip,
in base alla tipologia di impiego, condizioni ed
esigenze operative. La gran parte dei dispositivi
integra una SIM on-chip, vale a dire che ha memo- registrarvi (vi verrà richiesto di inserire un indirizzo
rizzati i dati che si troverebbero nella tradizionale e-mail valido, al quale verrà inviato un link su cui
SIM telefonica (che tecnicamente parlando è una cliccare per confermare la registrazione).
Smart Card) inseriti in fabbrica, durante la registra- Una volta installata, l’App propone una schermata
zione del singolo dispositivo. La SIM virtuale o SIM base alla quale verranno aggiunte tante sezioni
On Chip è una tecnologia che permette di registra- quanti saranno i dispositivi abbinati (la Fig. 8 pro-
re alla rete telefonica dell’operatore di riferimento pone un esempio con installati il Motion IoT Sensor
un determinato apparato GSM/UMTS/4G senza e il Security Box); l’abbinamento di ciascun dispo-
dover necessariamente avere e far leggere una sitivo si esegue, in base alla tipologia, premendo il
SIM-Card; ha il grande pregio di poter supportare pulsantino di cui è dotato o sollecitando un evento
più abbonamenti su un unico apparato senza dover (ad esempio muovendolo).
commutare alcuna SIM. Nel caso di IoTicontrollo Per esempio per attivare (quindi registrare al Cloud
l’operatore è fisso. di IoTicontrollo) e associare all’App un Door Alarm
La connessione radiomobile dei dispositivi IoTicon- basta premere il pulsante sul suo corpo ed entro
trollo è teoricamente a traffico illimitato, nel senso un tempo massimo di pochi minuti sullo schermo
che non bisogna curarsi di ricaricarla né di sotto- dello smartphone apparirà la relativa sezione
scrivere alcun abbonamento, giacché viene gestita con il nome del dispositivo. Ogni sezione riporta
dall’azienda IoTicontrollo; del resto il traffico dati anche delle impostazioni specifiche per il sensore
nei dispositivi IoT è irrisorio, se paragonato ai piani correlato: per esempio la sensibilità. Oppure degli
dati minimi che qualsiasi operatore offrirebbe. indicatori (Plug Meter). Sempre, in alto a sinistra
Attualmente l’operatore cui IoTicontrollo si appog-
gia è 1NCE (o Vodafone), specializzato in connes-
sioni dati dedicate all’IoT. La IoT SIM Chip Industrial
viene fornita da 1NCE e integrata nei dispositivi di
IoTicontrollo (è associata all’offerta Flat Rate 1NCE
IoT). La SIM è di tipo dati e non ha associato un
numero telefonico che è possibile chiamare.
Il piano dati IoT Flat Rate offre connettività in oltre
100 paesi del mondo per un traffico complessivo di
500 Mbyte.

LA APP PER SMARTPHONE


La App fornita a corredo si chiama IOTICONTROLLO,
 Fig. 7
è disponibile su PlayStore di Android o App Store Dispositivo Door
di Apple ed è compatibile con i sistemi operativi Alarm.
Android dal 5.1.1 in poi e iOS versione 9 o superio-
re. Eseguite l’applicazione e seguite il tutorial per

135
smartphone apparirà la prima comunicazione nella
relativa sezione con il nome del dispositivo.
 Fig. 8
Schermata dell’App Riepilogando, i passaggi da eseguire per l’associa-
IoTicontrollo con in- zione di un dispositivo, ad App installata, sono:
stallati due device.
premere il pulsante +, allorché si attiverà la
telecamera per inquadrare il codice QR riportato
sul dispositivo; acquisito il codice QR, vi apparirà
la schermata di conferma che il dispositivo è stato
riconosciuto. A questo punto occorre premere su
“Continua” e nella schermata principale comparirà il
dispositivo associato in attesa della prima comuni-
cazione; questa avverrà premendo il pulsantino sul
dispositivo IoTicontrollo desiderato.
Alla prima alimentazione o dopo la sostituizione
delle pile o batterie (ovvero all’inserzione nella pre-
sa di corrente, per il Plug Meter) il dispositivo inizia
la connessione; bisogna quindi attendere il termine
della connessione, evidenziato dal fatto che il LED
si spegnerà.
A questo punto occorre premere il pulsante e il LED
si accenderà; il dispositivo IoT eseguirà la prima
trasmissione di attivazione: sull’app comparirà
è presente l’icona di menu che consente di aprire l’icona dell’avvenuta attivazione del dispositivo.
 Fig. 9 altre schermate specifiche come, appunto, quella Ora il dispositivo è pronto per essere utilizzato.
Schermata della sensibilità del sensore o degli eventi rilevati Nell’app sono visualizzate altre informazioni come
dell’App
IoTicontrollo (Fig. 9). l’intensità del segnale e la carica della batteria.
relativa Altro esempio: per attivare (quindi registrare È possibile modificare il nome del dispositivo, pre-
a sensibilità
dei sensori al Cloud di IoTicontrollo) e associare all’App un mendo sulla scritta per modificarlo.
ed eventi. Security IOT box basta premere il pulsante sul suo Periodicamente il dispositivo invierà una trasmis-
corpo ed entro pochi minuti sullo schermo dello sione di sicurezza per far capire che è operativo
(sullo schermo, nella relativa sezione, apparirà l’i-
cona con la spunta): questa non determinerà alcun
evento locale o segnalazione, ma verrà gestita in
modo trasparente all’utente.
In caso di assenza prolungata di trasmissioni, l’u-
tente riceverà una notifica che segnala l’anomalia.
Bene, con questo concludiamo la carrellata sui
prodotti IoTicontrollo, nati per portare i vantaggi

dell’IoT nella vita di tutti i giorni.

Cosa occorre?
I dispositivi IoTicontrollo sono distribuiti da Futura
Elettronica. Attualmente quelli disponibili sono il Security
IoT Box (cod. SEC3NV000) in vendita a Euro 119,00, il Power
Control (cod. PWC3NV000) a Euro 119,00 e lo Smoke Detector
(cod. SMK3NV000) a Euro 149,00.
I prezzi si intendono IVA compresa.

Il materiale va richiesto a:

Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)


Tel: 0331-799775 - www.futurashop.it

136
IMPARIAMO
A UTILIZZARE

EAGLE
di ViNCENZO GERMANO e DAVIDE MADDALENA

1
Cominciamo il nostro viaggio
alla scoperta di un potente
strumento di progettazione
elettronica, che permette di coprire
l’intero ciclo di sviluppo di una
scheda elettronica. Prima Puntata.

O
IMPARIAMO A UTILIZZARE EAGLE

ggigiorno, con la grande diffusione rispecchia anche nella scelta dello strumento CAD
dell’Open Hardware e di Arduino, sempre da utilizzare, che può essere più o meno comples-
più spesso capita di realizzare interi so e sofisticato. Ad oggi esistono molte soluzioni
progetti su breadboard o su millefori; ma una volta software nel mondo Open Source: due esempi
ottenuto un prototipo funzionante bisogna creare sono KiCad e TinyCAD, che offrono svariate funzio-
un PCB (Printed Circuit Board - circuito stampato). nalità, e che vogliono competere con tool o suite
Per poter ottenere i file necessari alla realizzazione professionali, realizzati da aziende che sviluppano
di un PCB a livello industriale serve uno strumento software CAD totalmente orientati alla progetta-
di ausilio allo sviluppo del progetto che aiuti in zione di schede elettroniche e che generalmente
questo percorso, per l'appunto un CAD (Computer- vengono indicati come ECAD (Electronic CAD) o
Aided Design). Il livello di complessità del PCB si EDA (Electronic Design Automation).

137
Alcuni esempi di aziende specializzate nella produzione Infatti, quanto appena affermato è confermato e riscontra-
di questa categoria di software sono ad esempio Altium bile, semplicemente notando che gli schemi elettrici dei PCB
(produttrice di Altium Designer), Cadence (produttrice di ufficiali delle schede Arduino vengono rilasciati come file
OrCAD) e Mentor Graphics. Oltre a questi tool estremamen- EAGLE. Anche rinomati siti web che realizzano e vendono
te professionali ma anche molto costosi (le licenze hanno prodotti DIY (Do It Yourself - fai da te), rilasciano i file dei
costi dell’ordine di migliaia di euro) ne esiste uno in par- loro progetti (librerie e schematici) nello stesso formato
ticolare che, tra le altre caratteristiche, permette di avere ECAD, prevedendo e rendendo disponibili intere librerie
flessibilità nella scelta delle licenze (da Freeware, mensile, EAGLE dedicate. Tutto ciò ci fa capire la diffusione, compati-
annuale fino ad una licenza triennale), di affrontare senza la bilità e usabilità di EAGLE.
progettazione elettronica schede complesse e permette di Perciò, come si è ben compreso, questa e le prossime
avere oltre alle funzionalità già offerte, espandibilità delle puntate del corso, si pongono come obiettivo quello di
stesse o aggiunta di altre, mediante “script”. Questo tool è avvicinare gli utenti al tool Autodesk EAGLE, presentando e
Autodesk EAGLE (acronimo di Easily Applicable Graphical spiegando l'intero processo di sviluppo di un circuito stam-
Layout Editor), che si dimostra perfettamente adeguato sia pato, utilizzando gli strumenti messi a disposizione dal tool;
alle esigenze dell’hobbista che vuole cimentarsi nella pro- partendo dall'idea del circuito elettronico fino ad arrivare
gettazione elettronica per uso privato, che dell’azienda con alla generazione dei file Gerber per la realizzazione dei PCB.
la necessità di progettare i propri prodotti o per eventuali Il tutto grazie all’ausilio della progettazione di una scheda
schede interne. Dal Giugno 2016, a partire dalla versione orientata all’Internet of Things (IoT), che approfondiremo e
8.0.0, EAGLE viene acquisito da Autodesk, che opera un impareremo a conoscere durante il corso, in perfetto stile
sostanziale cambiamento del software fino al giugno 2020, “Open Hardware”.
quando non viene più proposto come prodotto a sè stante
(standalone) ed entra a far parte della suite Autodesk INTRODUZIONE AD EAGLE
Fusion 360. L’ultima versione standalone di EAGLE è la 9.6.2, EAGLE è un tool EDA pensato per il disegno elettronico,
oggetto di questo corso. identificabile anche come IDE (Integrated Development
Quest’ottimo strumento si è sempre più affermato nell’am- Enviroment), cioè costituito da una serie di tool software
bito dell’Open Hardware, anche trainato dal “fenomeno" racchiusi all’interno di un “Control Panel” (pannello di con-
Arduino. trollo – abbreviato da ora in poi come CP), che permette la

IMPARIAMO A UTILIZZARE EAGLE

 Fig. 1 Esempio di schematico di un Arduino Mega realizzato con Schematic.

138
 Fig. 2 Esempio di layout realizzato con Board di una Arduino Mega.

gestione dei file di progetto e l’avvio dei singoli programmi alcun file di “netlist” come avviene per altri tool).
da un’unica interfaccia centralizzata. All’interno del CP, i Ripercorrendo brevemente i vari step di progetto, possiamo
due principali programmi che è possibile lanciare e su cui ci affermare che il primo passo dello sviluppo di un circui-
concentreremo durante il corso sono: to stampato (dopo la creazione del progetto stesso) è il
• Schematic
Schematic: l’editor degli schemi elettrici, che integra disegno dello schema elettrico; quindi il punto di partenza è,
l’editor per le librerie dei componenti; ne viene riportata senza ombra di dubbio, una libreria di componenti esistente
in Fig. 1 un’immagine d’esempio in cui è presente uno o la creazione dei componenti necessari da centralizzare in
schema elettrico di una Arduino Mega. una libreria. Considerate che la creazione di componenti in
• Board
Board: l’editor dei circuiti stampati, che gestisce fino a Schematic non necessita per forza della definizione conte-
16 layer (strati), integra un tool per la generazione dei stuale del footprint, ma sicuramente può essere una buona
gerber e un editor per le librerie dei footprint; in Fig. 2 è norma definirli in una fase iniziale come vedremo nelle
riportata un’immagine del layout di una Arduino Mega. prossime puntate del corso. In ogni caso una volta definito
un file di libreria, con estensione “*.lbr” come riportato nella
EAGLE è impostato in modo da agevolare l’utilizzo di un Tabella 1, abbiamo tutto il necessario per procedere con lo
certo ciclo di sviluppo, che parte con la realizzazione dello schema elettrico. Questo processo produce il file con esten-
IMPARIAMO A UTILIZZARE EAGLE

schema e termina con la generazione dei file Gerber, perciò sione “*.sch” (Tabella 1), che costituisce il file di lavoro di
l’accesso ad uno step successivo avviene solo dopo il com- Schematic. A questo punto, tale file viene preso come input
pletamento di quello precedente, in modo da minimizzare da Board, che lo utilizza come punto di partenza per la gene-
il più possibile la generazione di errori durante il progetto razione del file con estensione “*.brd”, ossia quello di lavoro
(onerosi da individuare/recuperare nelle fasi finali). di Board stesso. Da questo momento in poi si può procedere
Tuttavia, rispetto ad altri ECAD, è meno vincolante riguardo con il piazzamento componenti e lo sbroglio del PCB, che
ai vari passaggi da effettuare, perché una volta generata la produrrà come output tutti i file necessari alla fabbricazione
prima versione di board, questa viene legata direttamente della scheda stessa, compresi i Gerber.
agli schemi elettrici e da questo momento in poi EAGLE Il passo finale di tutto questo processo è l’ispezione dei file
mantiene aperte le due finestre, in modo tale da riversare di output generati, utilizzando un “Gerber View”.
in tempo reale ogni cambiamento che viene effettuato sugli Tale step, sebbene opzionale, è di fondamentale importanza
schematici anche sulla board e viceversa (senza passare da per assicurare che non ci siano stati errori durante le fasi

139
necessarie e rigenerando i file di ingresso corretti per lo
TYPE WINDOW NAME
step successivo. Questo processo, generalmente viene de-
Board Layout Editor *.brd nominato backward annotation e permette di mantenere
Schematic Schematic Editor *.sch un’assoluta coerenza tra tutti i passi di progetto, in manie-
Library Library Editor *.lbr ra che non si possano verificare situazioni di inconsistenza
tra le varie fasi della progettazione, come ad esempio tra
Script File Text Editor *.scr
lo sviluppo dello schematico e lo sbroglio del PCB.
User Language Program Text Editor *.ulp
Any text file Text Editor *.* LE TIPOLOGIE DI LICENZE
 Tabella 1 Estensioni dei file A questo punto, prima di intraprendere il nostro “viaggio”
alla scoperta di questa suite, è necessario precisare che
precedenti e che potrebbero portare alla produzione di un EAGLE non è un software propriamente “freeware” ma è
pezzo difettoso o non conforme a quanto atteso. un prodotto commerciale, che può essere utilizzato nella
EAGLE, oltre all’esportazione dei file Gerber offre inoltre la versione freeware (non commerciale) solo per fini di studio
possibilità di esportare un modello tridimensionale della e/o valutazione, quindi non per scopi di lucro.
scheda; in questo modo si può disporre, oltre ad una vista Questo significa che nel caso in cui si voglia utilizzare il tool
3D dello stampato (rendering), di una “matematica” utile, per la realizzazione di progetti per i quali si percepisce una
per esempio, a verificare eventuali ingombri nel creare una qualsiasi forma di vantaggio economico, sia esso diretto
meccanica che contiene lo stampato. e/o indiretto (come indicato nelle sue condizioni di utilizzo)
Per completezza, nella Tabella 1 vengono anche ripor- è necessario comprare una licenza adeguata alle proprie
tate le due estensioni “*.scr” e “*.ulp”, i cui file non sono esigenze. Per una breve panoramica riguardo la tipologia
altro che eseguibili con funzionalità avanzate, ovvero file delle licenze, fate riferimento alla Fig. 3, che riguarda la
contenenti delle istruzioni in un particolare linguaggio di pagina web del Licensing , proponente le caratteristiche
programmazione utilizzato da EAGLE, che tuttavia non delle licenze acquistabili, che, come anticipato, non saran-
saranno analizzati durante il corso in quanto appartenenti no direttamente come programma EAGLE ma come Fusion
ad un uso esperto del programma. 360. La licenza libera (EAGLE free download) è limitata
Chiaramente alcuni passi appena visti possono subire all'uso dilettantistico; le licenze commerciali si distinguo-
delle alterazioni derivanti da errori che vengono corretti no solo per la durata di validità (1 mese, 1 anno, 3 anni) e
tornando allo step precedente, effettuando le modifiche non hanno limitazioni di progetto.

IMPARIAMO A UTILIZZARE EAGLE

 Fig. 3 Tipologie di licenze acquistabili di Fusion 360.

140
 Fig. 4 Pagina di download di EAGLE.

La versione che verrà analizzata durante questo corso è DOWNLOAD E INSTALLAZIONE


la Freeware, ovvero l’ultima versione EAGLE disponibile Passiamo alla preparazione dell'ambiente di lavoro, de-
e utilizzabile gratuitamente per applicazioni come ad scrivendo il download e l'installazione di EAGLE; si può
esempio progetti personali. Nonostante le sue limitazioni, notare che rispetto ad alcuni tool concorrenti è disponibile
permette di realizzare circuiti di una discreta complessità, una versione adatta a tutti i principali sistemi operativi:
a patto che vengano rispettati i seguenti vincoli: Windows, Mac e Linux; anche se durante questo corso
• dimensioni del PCB non superiori a 100 x 80 mm; faremo riferimento solo alla versione per Windows, vale
• PCB con al massimo due layer, quindi niente PCB multi- quanto esposto anche per tutte le altre.
strato ma soltanto “doppia faccia”; EAGLE è scaricabile dal sito ufficiale: www.autodesk.com/
• possibilità di creare con lo schema solo due “fogli” per products/eagle/free-download. Come mostrato nella Fig. 4,
ogni progetto. nell’apposita sezione “Download” del sito sono presenti le
ultime versioni rilasciate per tutti i sistemi operativi; alla
EAGLE è disponibile in versione 64 bit ammesso che ven- stesura di questo corso, l’ultima versione scaricabile era la
gano rispecchiati i seguenti requisiti minimi di sistema: 9.6.2, perciò faremo riferimento a tale versione.
• almeno 3 MB di memoria libera; A questo punto non resta che selezionare la versione per il
• circa 700 MB di spazio libero su disco; proprio sistema operativo e cliccare sul pulsante “Down-
• minima risoluzione grafica 1024 x 768 pixel; load”. Il download partirà in automatico ed a seconda delle
• un mouse con almeno 3 pulsanti. impostazioni del browser, scaricherà la versione corri-
IMPARIAMO A UTILIZZARE EAGLE

spondente (ad esempio: Autodesk_EAGLE_9.6.2_English_


Quindi per riassumere brevemente, mediante EAGLE è Win_64bit.exe). Una volta completato il download possia-
possibile realizzare schemi elettrici, distinte componenti mo lanciare l’eseguibile, in modo da avviare la procedura
o comunemente chiamate BOM (Bill of Materials) e PCB; di installazione che vediamo insieme nei prossimi passi.
in aggiunta all’interno di EAGLE è possibile utilizzare un Avviate il programma di installazione con i diritti di ammi-
gestore integrato per le librerie dei componenti, completo nistratore cliccando col tasto destro del mouse sull’icona e
di editor sia per gli schematici che per i footprint. Oltre a selezionando “Esegui come amministratore” (Fig. 5A).
quanto offerto direttamente dal tool vi è la possibilità di Nella schermata successiva, riportata in Fig. 5B seleziona-
espandere e potenziare tutte le sue funzionalità mediante te “I accept the agreement” e cliccare sul pulsante “Next”.
l’ausilio di “script” scaricabili direttamente dal sito ufficia- Selezionate il percorso dove installare il software (ad
le, oppure generandone di nuovi mediante il linguaggio di esempio “C:\Program Files\EAGLE 9.6.2”) e cliccate su
programmazione ULP (User Language Programs). “Next”.

141
 Fig. 5 Avvio e accettazione termini licenza.

Selezionate se volete creare un collegamento del software su “AVANTI” (Fig. 9B). Infine, inserite la password e cliccate
su desktop e cliccate su “Next” (Fig. 6). su “ACCEDI”. Ora che abbiamo completato l’installazione
A questo punto è tutto pronto: si può lanciare l’installazione del nostro ambiente di progettazione, possiamo lanciarlo e
cliccando su “Install”; al termine del processo d’installazione cominciare ad analizzare la sua interfaccia.
si potrà scegliere se avviare direttamente EAGLE (lasciare la
spunta su “Launch EAGLE”) oppure no, quindi cliccare “Finish” IL “CONTROL PANEL” DI EAGLE
(Fig. 7). Con i passi appena elencati si è completata l’installa- Come ampiamente anticipato EAGLE è un IDE, perciò di-
zione di EAGLE. Come si può notare in nessuno dei passi pre- spone di una serie di tool integrati all’interno di una singola
cedenti è stata richiesta un’opzione di utilizzo licenza, questo interfaccia utente, in questo caso nota come “Control Panel”,
perché come anticipato, Autodesk EAGLE viene scaricato che appare all’avvio del programma ed è il centro di control-
già come “free” (gratuito) per usi non commerciali. Tuttavia lo dell’intero programma, ovvero tutti i file specifici vengono
al primo avvio del software partirà la procedura di log-in o gestiti al suo interno e in aggiunta si possono configurare
registrazione utente. le impostazioni di base, centralizzando il tutto in un’unica
interfaccia. Si presenta simile ai “File Manager” utilizzati
LOGIN UTENTE da un'ampia varietà di applicazioni e sistemi operativi in
Per poter essere utilizzato EAGLE richiede che l'uten- cui ogni file viene visualizzato in una “vista ad albero” per
te disponga di un “account” Autodesk ovvero di essere mezzo di una piccola icona, come è possibile riscontrare
registrato e successivamente essere “loggato” (almeno in Fig. 10.
la prima volta). La creazione e l'utilizzo dell’account sono
gratuiti. Vediamo insieme i passi necessari per il primo
avvio e la creazione dell’account. Nel caso disponiate già di
un account Autodesk dovete inserire l’indirizzo e-mail usato
per la registrazione (Fig. 8A) e cliccare su “AVANTI” e saltare
tale procedura effettuando direttamente il login. Altrimenti IMPARIAMO A UTILIZZARE EAGLE
dovete cliccare su “CREA UN ACCOUNT” e, nel form on-line
che appare, inserire nome, cognome, indirizzo e-mail (da
confermare ulteriormente) e password desiderata (usare al-
meno 8 caratteri dei quali almeno un carattere maiuscolo, un
carattere speciale ed almeno un numero) per la registrazione.
Spuntate inoltre “Accetto le Condizioni d’uso di Autodesk e
l’Informativa sulla privacy” quindi cliccate su “CREA AC-
COUNT” (Fig. 8B). Verrà inviata una e-mail con richiesta veri-
fica all’indirizzo e-mail usato per la registrazione; una volta
confermato l’account cliccate su “CONTINUA” (Fig. 9A). A
questo punto tornate alla pagina di login, ma con un’utenza  Fig. 6 Percorso d’installazione e shortcut
Autodesk verificata, dunque inserite lo username e cliccate

142
ma anche aprire file PDF (che sarà aperto con l'applicazio-
ne predefinita).
Nella parte alta (barra dei menu) sono presenti i classici
menu a tendina di Windows, dai quali si possono operare
le impostazioni della suite EAGLE (Fig. 11). Infine nella par-
te bassa (barra di stato) vengono mostrati tutti i feedback
di programma.
Il Control Panel supporta anche la funzione del Drag&Drop,
che può essere utilizzata anche tra diversi programmi,
permettendo ad esempio di copiare i file, spostare, o creare
collegamenti, semplicemente trascinandoli.
Facciamo una breve carrellata sulle cartelle visibili all’inter-
no del Control Panel:
• Documentation: consente l'accesso diretto ai tutorial
 Fig. 7 Fine installazione e avvio programma. EAGLE e ai manuali, disponibili in diverse lingue, inoltre
si possono trovare i file UPDATE/README e file di
documentazione di alcuni ULP.
• Libraries: permette di visualizzare il contenuto delle
Nella parte destra (information window) è presente la librerie, fornendo una rapida panoramica della compo-
visualizzazione delle informazioni riguardo i file selezio- nentistica disponibile.
nati, quindi se un oggetto è selezionato vengono mostrate Nel campo Description è possibile vedere una breve
altre informazioni come l'anteprima di uno schematico o descrizione del contenuto e selezionandola si possono
un componente, come vedremo nelle puntate successive visualizzare maggiori informazioni nella parte destra
di questo corso. È sufficiente fare clic su vari file/cartelle del Control Panel ma approfondiremo l’argomento nelle
in modo da sperimentare la facilità e le potenzialità del CP. prossime puntate.
Nella parte sinistra (tree view window) è presente la vista • Design Blocks: consistono in parti di schemi, layout o
ad albero mediante la quale è possibile navigare all’interno entrambi che possono essere usati, per esempio, come
dei file di progetto, offendo una rapida panoramica delle riferimento alla progettazione o sotto parti di circuito
librerie, della documentazione, delle regole di progetta- da riusare nei progetti.
zione, ULP, file di script, lavori CAM e progetti (tutti questi • Design Rules: possono essere definite in EAGLE delle
file possono far parte di un progetto così come schematici speciali regole di progettazione (Design Rules) per
e layout). sbrogliare le schede elettroniche, tali regole posso-
Nella struttura ad albero, un menu di scelta rapida si apre no essere salvate come set di dati in file speciali con
cliccando con il mouse su una voce desiderata; ciò consen- estensione “*.dru”. Perciò questa cartella contiene tutte
te a seconda dell'oggetto selezionato, di svolgere una serie le configurazioni predefinite e quelle create dall’utente,
di azioni, come ad esempio rinominare, copiare, stampare che possono essere richiamate e utilizzate all’occorren-
IMPARIAMO A UTILIZZARE EAGLE

 Fig. 8 Login e registrazione

143
 Fig. 9 Verifica e-mail e ultime fasi di accesso

za; se non viene selezionata nessuna configurazione in ai vari manuali utente.


particolare, EAGLE carica quella predefinita. • SPICE Models: da alcune edizioni a questa parte la suite
• User Language Programs, Script and CAM Jobs: consen- EAGLE si interfaccia con LTSPICE per la simulazione di
tono di visualizzare il contenuto delle cartelle ULP, SCR reti elettriche/elettroniche via modelli SPICE.
e CAM, che contengono diversi programmi per l'utente • Projects: permette di navigare all’interno dei progetti e
(*.ulp), file di script (*.scr) e file CAM (*.cam). Tutti que- aprire/gestire sia i file degli schematici che delle board.
sti file estendono le funzionalità di EAGLE ed è possibile
scaricarne di nuovi da internet o costruirsene di propri, Navigando all’interno di tali cartelle ci si può dedurre che
dipendentemente dalla necessità. l’installazione di EAGLE è già ben corredata di svariato
In ogni caso, come già anticipato, selezionando i singoli materiale, da manuali a file di esempio o anche a script e
file se ne può vederne la descrizione. Per maggiori file ULP per poter espanderne le funzionalità ma l’aspetto
dettagli si faccia riferimento al sito ufficiale di EAGLE o più lampante è l’enorme libreria messa a disposizione.

IMPARIAMO A UTILIZZARE EAGLE

 Fig. 10 Il Contol Panel di EAGLE

144
I COMPONENTI IN EAGLE tutto il nostro corso:
Il primo passo da affrontare per la realizzazione di un nuovo • COMPONENTE: in EAGLE prende il nome di DEVICE e
progetto è gettare le basi per poter lavorare sia su uno copre qualsiasi tipologia di componente fisico (resisto-
schema che su un layout. re, condensatore, ecc.) oppure semplicemente virtuale
Generalizzando, se vediamo un PCB come una serie di og- (power symbol, ground symbol, cartiglio, ecc.);
getti montati su delle piazzole connesse tra loro ci rendiamo • SIMBOLO: in EAGLE prende il nome di SYMBOL e rappre-
conto che i componenti o le piazzole hanno un certo ingom- senta un disegno che schematizza qualsiasi componente
bro ed occupano una posizione ben determinata dunque su schema elettrico;
ogni componente ha bisogno di essere disegnato a seconda • IMPRONTA: identificato come FOOTPRINT e rappresenta
della tipologia, caratteristiche meccaniche, elettriche, e via nient’altro che il componente stesso ma su layout, dun-
discorrendo. Oltretutto le connessioni non sono eseguite a que è l’insieme degli elementi:
caso ma secondo un determinato schema. - Ingombro geometrico del componente con eventuali
Dunque gli stessi componenti necessitano di un modello zone di rispetto.
semplificato che permetta sia la schematizzazione “su carta” - Profilo geometrico dei pin.
che l’identificazione del componente. - Profilo dei fori per viti o perni.
Chiamiamo quest’ultimo Simbolo (Symbol) ed un suo corri- - Campo testo per il riferimento del componente.
spettivo modello su layout Impronta (Footprint). Sia simboli - Eventuale serigrafia del perimetro del componente.
che footprint possono avere forme diverse a seconda della - Eventuale campo/i testo per indicazioni testuali particolari.
tipologia di componente (resistore, condensatore e altro),
della tipologia di montaggio (foro passante, montaggio Andiamo quindi avanti nella creazione di una libreria di com-
superficiale e così via) o della tecnologia. ponenti, detta LIBRARY, per poter procedere alla creazione
In uno schema possiamo trovare lo stesso simbolo più di del nostro progetto.
una volta ma con caratteristiche “meccaniche” diverse
dunque con footprint diversi. CONFIGURAZIONE DEL CONTROL PANEL
Dunque è sempre più chiaro come sia necessario avere una Prima di tutto organizziamo il nostro lavoro configurando il
“collezione” di tutti i possibili simboli; questo concetto non Control Panel (CP) che essendo a tutti gli effetti una classica
è proprio di EAGLE ma si estende in generale e questa col- interfaccia utente, contiene una barra dei menu. Dunque
lezione prende il nome di libreria di componenti. Abbiamo ritroviamo i menu File, View, Options, Window e Help.
quindi introdotto tre termini che ci accompagneranno per Senza dilungarsi troppo, le voci del menu verranno descritte
all’occorrenza; in questa sezione è interessante descrivere
la voce per la configurazione dell’ambiente: il menù Options.
In Fig. 11 è possibile osservare le finestre di dialogo selezio-
nabili nel menu Options:
• Directories;
• Backup/Locking;
• User Interface;
• Proxy settings;
• Data Collection and Use.

Con riferimento alla Fig. 12, descriviamo le relative finestre


di dialogo.
A. Options  Backup/Locking: EAGLE permette un backup
IMPARIAMO A UTILIZZARE EAGLE

del progetto fino a 9 livelli (0 per disabilitare il backup).


Si può scegliere l’intervallo di tempo dopo il quale è pos-
sibile eseguire ogni backup.
Una volta raggiunto il massimo livello di backup il suc-
cessivo andrà a sovrascrivere il primo salvato. Spuntando
“Automatically save project file” verrà salvato il progetto
quando si esce da EAGLE.
B. Options  User Interface: Permette di personalizzare
l’aspetto generale oltre che delle finestre di editor layout,
schematic e library.
 Fig. 11 Interfaccia principale del Control Panel C. Options  Proxy Settings: Permette di impostare le
opzioni di server proxy.

145
 Fig. 12 Le finestre di dialogo del CP

D.Options  Data Collection and Use: Permette di configu- Dunque abbiamo ora gli strumenti necessari e sufficienti
rare le impostazioni di privacy. per poter costruire un progetto partendo da zero. Per farlo
Tutte le finestre di dialogo elencate riguardano una spe- verranno seguiti una serie di step, da qui in avanti, solo
cifica configurazione dell’ambiente EAGLE; fa eccezione a scopo didattico e che quindi non rappresentano l’unica
Options  Directories che volutamente non è stata inserita modalità per realizzare un progetto in EAGLE.
nella tabella perché richiede una descrizione più dettagliata.
GESTIONE DELLE LIBRERIE
FINESTRA DIRECTORIES Partiamo ora con la configurazione e successiva creazio-
La finestra di dialogo Directories, come da Fig. 13, è usata ne di una libreria di componenti. Per cominciare creiamo
per definire i percorsi in cui cercare i file; è sicuramente una una cartella dal nome “NordIOT” in un percorso a scelta
finestra di configurazione dell’ambiente EAGLE ma, ad ecce- (e.g.: sul desktop). Creiamo poi due sottocartelle “Libraries”
zione delle altre, ha un legame stretto con il progetto perché e “Project”; torniamo poi nella finestra di dialogo “Direc-
attraverso questa finestra si va a puntare ai file di libreria tories” e posizioniamoci all’interno della casella “Libraries”
nonché di schematici e layout. Da notare che le voci che tro- dunque selezioniamo “Browse…”.
viamo in tale finestra sono le stesse che troviamo all’interno Attraverso la finestra di dialogo puntiamo al percorso
della vista ad albero del CP. Infatti se espandiamo una delle “Libraries” all’interno di “NordIOT” quindi selezioniamo
voci della vista ad albero (e.g.: Projects) il contenuto rispec- “Seleziona cartella”.
chia il contenuto del percorso della voce corrispondente più Come mostrato nella Fig.14A, il percorso selezionato appa-
eventualmente una sottocartella examples se è spuntato il re in coda nella casella di testo separato da “;”.
controllo “Include EAGLE examples”. Per aggiungere uno o Selezioniamo “OK” e torniamo sulla finestra del Control Pa-
più percorsi a cui puntare è sufficiente aggiungerli all’inter- nel; espandendo la voce “Libraries” (la prima della vista ad
no della casella di testo a destra della voce separati da “;” albero) troviamo il percorso appena inserito come eviden-
(punto e virgola). Questa operazione può essere ovviamente ziato nella Fig. 14B.
fatta a mano scrivendo per intero o incollando il percorso
di riferimento nella casella di testo oppure è sufficiente
posizionarsi all’interno della casella di testo e selezionare il IMPARIAMO A UTILIZZARE EAGLE
pulsante “Browse…” dunque apparirà una classica finestra
di dialogo e una volta selezionata la cartella di file deside-
rata apparirà, già separata da “;”, all’interno della casella di
testo. Questa operazione vale per tutte le voci della finestra.
Qualora si volesse tornare ad una condizione di default (la
stessa mostrata nella figura) è sufficiente selezionare il pul-
sante “Set to defaults”. Ovviamente il pulsante “Ok” salva
le modifiche mentre “Annulla” le tralascia. All’interno delle
varie caselle di testo appaiono due stringhe interessanti:
• “$HOME”: rappresenta il percorso locale dei Documenti.
• “$EAGLEDIR”: rappresenta il percorso d’installazione di  Fig. 13 Le finestra Directories
EAGLE.

146
 Fig. 14 Configurazione percorso di libreria

 Fig. 15 Attivazione/disattivazione libreria

Oltre a quanto inserito ci sono diversi altri percorsi, in no verde” (Fig. 15A) anziché un “pallino grigio” (Fig. 15B),
particolare: ovvero disattivate.
• libraries: fa riferimento al percorso In realtà, anche se ci stiamo focalizzando sulle librerie, il
“$HOME\EAGLE\libraries”. menu contestuale appena visto si applica a tutti i tipi di
• <username> registrato: è il percorso sfocato e fa riferimen- cartella (non esclusivamente alle librerie) mentre per i singoli
to ad un percorso gestito su library.io, un sito web realizzato file (e.g.: la libreria “19inch.lbr” dell’immagine precedente) il
per condividere, collaborare e salvare le librerie EAGLE ed i menu contestuale cambia.
modelli 3D. Vedremo all’occorrenza le tipologie di menu contestuale; per
• Managed Libraries: sono le librerie fornite con EAGLE, an- ora descriviamo brevemente le voci del menu contestuale
che queste sono gestite su library.io e compilate con molta soprariportato:
cura e servizi aggiuntivi direttamente per l’utente EAGLE. • New Folder: questo comando permette di creare una sot-
tocartella all’interno della cartella selezionata. Ciò accade
Per il momento focalizziamo l’attenzione sul percorso sia nella finestra ad albero sia fisicamente nella directory
Library della cartella NordIOT e vediamo come disabilitare corrispondente.
IMPARIAMO A UTILIZZARE EAGLE

l’utilizzo delle librerie da non usare nel progetto; selezionia- • Edit Description: questo comando permette di inserire una
mo la voce libraries all’interno della finestra ad albero, con il descrizione “in formato html” della cartella selezionata.
tasto destro del mouse apparirà il popup menu relativo alla • Use all: abilita all’uso tutti i file all’interno della cartella e
libreria selezionata e selezionando “Use none” all’interno delle sottocartelle.
del menu, tutte le librerie all’interno delle sottocartelle ver- • Use none: disabilita all’uso tutti i file all’interno della
ranno disabilitate all’uso. Ripetere questo passo per tutte le cartella e delle sottocartelle.
librerie di non interesse eccetto per Libraries. Questo passo • Search in folder: questo comando abilita la barra di ricerca
è fondamentale nella gestione della componentistica da in fondo alla finestra del control panel e permette di ricer-
utilizzare, perché come vedremo nelle puntate successive, care un oggetto all’interno della cartella.
per inserire un componente nel layout e ancor prima nello
schema, si userà il comando “Add” che andrà ad indirizzare Una volta descritto l’essenziale per gestire una libreria (o
tutte le librerie abilitate all’uso cioè seguite da un “palli- più in generale un file) all’interno del Control Panel, proce-

147
Facendo riferimento alla Fig. 16, vediamo come creare una
nuova libreria, quindi un nuovo file lbr, a partire dal Control
Panel attraverso i passi: 1) Selezionare il menu File, 2) Sele-
zionare il sottomenu New, 3) Selezionare il comando Library.
Apparirà la finestra di nuova libreria senza titolo presentata
nella Fig. 17. Notiamo che il nuovo file viene temporanea-
mente salvato all’interno della cartella EAGLE nei documen-
ti personali (la famosa $HOME\EAGLE\libraries) dunque
diventerà una libreria utente. La finestra si compone di
quattro listbox sulla sinistra ed una finestra proprietà più
a destra. Più in basso a ciascuna listbox appaiono i pulsan-
ti “Add Device…”, “Add Footprint”, “Import 3D Package” e
“Add Symbol…”. Notiamo come tre delle quattro listbox con
pulsante “Add” richiamano i concetti accennati ad inizio
puntata riguardo il componente. Il package 3D è stato intro-
dotto più recentemente e verrà approfondito all’occorrenza.
 Fig. 16 Creazione nuova libreria
La prima cosa da fare è salvare la nostra nuova libreria
nella cartella NordIOT (ricordiamo che le librerie utente
sono state disabilitate). L’operazione è semplice dato che
la finestra è dotata di un classico menu: dal menu File sele-
diamo con la creazione vera e propria della nostra libreria zionare il comando “Save as…” quindi riportarsi all’interno
componenti. della cartella NordIOT\Libraries. Per il salvataggio possiamo
utilizzare il nome predefinito oppure usarne uno a piacere.
CREAZIONE DELLE LIBRERIE In linea generale si consiglia di nominare le librerie in modo
Le librerie in EAGLE sono dei veri e propri file con estensione da raggruppare una categoria di componenti (ad esempio
lbr. Dunque, tornando al precedente esempio, esisterà un Passives.lbr per i componenti passivi).
file 19inch.lbr all’interno delle cartelle di EAGLE che rappre- A questo punto abbiamo creato la nostra prima libreria di
senta la libreria suddetta. componenti che, essendo vuota, andrà popolata con almeno

IMPARIAMO A UTILIZZARE EAGLE

 Fig. 17 La nuova libreria vuota

148
un componente. Come esempio scegliamo una resistenza
dunque andremo prima a creare un simbolo che identifica la
resistenza poi un footprint d’esempio che ci serviranno per
generare il nostro primo componente semplice.

CREAZIONE DEI COMPONENTI: EDITOR DEI SIMBOLI


Per generare un nuovo simbolo selezioniamo “Add symbol…”
in basso alla listbox Symbol. Comparirà una finestra di input
dove sarà possibile inserire il nome del nuovo simbolo.
Per semplicità chiamiamo questo nuovo simbolo
RESISTOR_SYM e confermiamo cliccando su “OK”. È bene
notare che in questa finestra, ma anche in quelle relative al
device e footprint, è possibile usare solo caratteri maiuscoli
e caratteri speciali, eventuali caratteri minuscoli vengono
automaticamente commutati nel corrispettivo maiuscolo.
Selezionando OK viene richiesta una conferma sulla creazio-
 Fig. 18 Editor di simboli in libreria
ne del simbolo dunque confermiamo. Apparirà un ambiente
per il disegno dei simboli molto simile all’ambiente Schema-
tic per il disegno degli schemi elettrici. Prima di introdurre
gli strumenti messi a disposizione impostiamo il piano di inch = 2,54 mm. Selezionando OK notiamo che il foglio di
lavoro (indicato con il numero 3 in Fig. 18) selezionando lo lavoro cambia aspetto. Andiamo brevemente a descrivere
strumento Grid (indicato con 1 in Fig. 18) oppure digitiamo il gli strumenti di lavoro per il disegno di un simbolo; questi
comando GRID da riga di comando (indicata con 2 in Fig. 19). strumenti sono riportati nella Fig. 19C.
Apparirà la finestra della griglia mostrata in Fig. 19A. Disegniamo dunque il corpo del simbolo come in Fig. 20A
Le impostazioni riportate sono predefinite (le stesse che utilizzando lo strumento Line. Per terminare l’operazione di
si ottengono selezionando il pulsante Default in basso a disegno è sufficiente selezionare il tasto ESC. Notiamo che i
sinistra). Non è consigliato modificare queste impostazioni punti di disegno sono ancorati nei punti di griglia con passo
ai fini di utilizzare i simboli all’interno degli schemi però 2,54mm. È possibile disegnare con una griglia più fitta
non è certamente proibito; si consiglia, qualora queste tenendo premuto il pulsante ALT; in questo caso il passo
impostazioni di griglia vengono modificate, di prendere nota sarà 0,254mm. Il prossimo passo è l’inserimento dei pin di
delle modifiche e riportarle all’interno delle impostazioni collegamento: nel caso di un resistore ne abbiamo due che
dello schema al fine di evitare che i componenti non siano possiamo inserire come effettuato in Fig. 20B.
in griglia con i collegamenti nello schema. Per il momento Per ruotare i pin è sufficiente premere il tasto destro del
limitiamoci solo a modificare le impostazioni di visualizza- mouse. I punti di collegamento con le connessioni future
zione quindi lo stile della griglia e l’unità di misura pas- nello schematico (o note con il termine “net”) sono cerchiate
sando da pollici (inch) a millimetri (mm). Il risultato finale ed identificate da un’etichetta (nel nostro caso “io 0”) che
è mostrato in Fig. 19B. Notiamo che cambiando l’unità di sta ad identificare direzione e livello di interscambio del pin.
misura automaticamente cambia secondo l’equivalenza 1 Ultime operazioni per la creazione di un simbolo sono
IMPARIAMO A UTILIZZARE EAGLE

 Fig. 19 Griglia e impostazioni di editor

149
 Fig. 20 Disegniamo il componente

l’aggiunta dei campi di testo, in particolare i campi VALUE strumento a forma di floppy-disk nella barra strumenti o
e NAME. Il primo identifica il componente (e.g.: il valore di anche la voce “Save…” nel menu “File”.
resistenza) mentre il secondo darà un riferimento al com- Una volta salvato, per ritornare nella libreria è sufficiente
ponente (e.g.: R1). Per inserirli bisogna cambiare layer; chiudere la finestra però, al fine di introdurre qualche
infatti finora abbiamo lavorato nel layer n° 94 Symbols nozione in più su EAGLE, soffermiamoci qualche istante
ma esistono diversi layer di lavoro (questo è valido sia a sul simbolo appena creato; i due pin sono stati inseriti
livello di schematic che board) ognuno con una propria con direzione io (input/output), il che presuppone siano
funzione e significato. Posizioniamoci dunque nel layer di tipologia logica/digitale. Questo aspetto non è general-
96 Values selezionandolo dalla casella a discesa in alto a mente un problema ma potrebbe portare a problematiche
sinistra come mostrato nella Fig. 21A. Una volta sele- di tipo DRC (design rules check) nel momento in cui si
zionato il layer 96 selezioniamo lo strumento aggiungi andrà a compilare uno schema. Infatti un pin “io” con-
testo; appare una casella di testo come da Fig. 21B, cettualmente potrà essere collegato con un altro (o più
quindi editiamo all’interno “>VALUE” e selezioniamo OK. d’uno) pin di “io”, input (“in”) o output “out”. Dunque è
Posizioniamo il testo sotto il componente come mostrato necessario modificare la direzione di tali pin e, per farlo,
in Fig. 22A. Per completare l’operazione selezioniamo è sufficiente posizionarsi col puntatore sul cerchio del pin
due volte il tasto escape. Ripetiamo l’operazione aggiungi e selezionare il tasto destro del mouse; apparirà il menu
testo però selezionando il layer 95 e inserendo il testo contestuale di Fig. 23A.
“>NAME”. Il risultato apparirà come in Fig. 22B. Selezioniamo la voce “Properties” dunque apparirà la
Possiamo ritenere conclusa la creazione del nostro primo finestra di Fig. 23B. In questa finestra vengono descritte
simbolo; salviamo il lavoro. tutte le proprietà del pin appena selezionato; quella di
Come nella maggior parte dei programmi a finestra, tra nostro interesse è “direction” dove possiamo scambiare
l’altro dotati di menu, per salvare è sufficiente seleziona- “io” con “pas” (passive). Di seguito vengono brevemente
re la combinazione dei tasti CTRL+S oppure utilizzare lo descritte queste proprietà.
• Name: rappresenta il nome del pin.
• Position: è la posizione del pin rispetto all’origine.
• Angle: è possibile posizionare il pin solo a 0°, 90°,
180° o 270° rispetto alla posizione inserita. Valori IMPARIAMO A UTILIZZARE EAGLE
diversi non sono consentiti.
• Direction e Swap Level: insieme formano l’etichetta
che abbiamo visto sul pin (e.g.: “io 0”). Queste due voci
meritano un approfondimento.
• Length: rappresenta la lunghezza del pin. È possibile
selezionare tra point (0 passo di griglia), short (1 pas-
so di griglia), middle (2 passi di griglia) e long (3 passi
di griglia).
• Function: rappresenta la funzione associata a tale pin
generalmente se si dà un significato logico al pin. È
 Fig. 21 Cambio di layer e inserimento testo possibile selezionare tra none (nessuna funzione), dot
(negato, conferisce il classico cerchietto all’estremità

150
 Fig. 22 Inseriamo i due campi VALUE e NAME  Fig. 24 Impostazione dei pin e completamento componente

selezioniamo “top-left” dunque applichiamo le modifiche e


ritorniamo al nostro foglio di lavoro ottenendo il risultato di
Fig. 24B. A tal punto possiamo ritenere conclusa la creazio-
ne del simbolo dunque salviamo e ritorniamo nella finestra
della libreria mediante il tasto indicato in Fig. 25A.
Siamo tornati nella finestra dei contenuti della libreria che,
dopo aver creato il nostro primo simbolo, appare come nella
Fig. 25B.

CREARE I COMPONENTI: EDITOR DEI FOOTPRINT


Passiamo ora alla creazione del nostro primo footprint sele-
zionando “Add Footprint…” proprio sotto la listbox Footprint.
 Fig. 23 Proprietà del componente Come nel caso del simbolo appare una finestra di input dove
inseriremo il nome del nostro footprint. Per semplicità chia-
miamolo R0603_PKG. Selezionando OK verrà richiesta una
conferma sulla creazione; confermando si apre la finestra di
del pin), clk (clock, conferisce il simbolo di clock all’e- disegnazione footprint come mostrato in Fig. 26A.
stremità del pin) e dotclk. La finestra è del tutto simile a quella per la creazione dei
• Visible: indica la visibilità del pin. Approfondiremo tale simboli e, come vedremo, alla finestra per la disegnazione
voce nel momento della creazione del simbolo. dei layout. Ovviamente trattandosi di un footprint ci saran-
no degli strumenti relativi ai footprint come l’inserimento
Selezionando Ok nella finestra e ripetendo lo stesso proce- dei pad sia THT che SMD e l’inserimento dei fori come è
dimento per l’altro pin il risultato è riportato in Fig. 24A. possibile vedere nella casella degli strumenti. Tuttavia ri-
In ultimo riposizioniamo il campo “>NAME” che darà il mangono le stesse considerazioni per la finestra di creazio-
riferimento al nostro componente (e.g.: R1) in modo che ne dei simboli soprattutto per quanto riguarda l’impostazio-
non sia troppo distante dal corpo del componente. Per farlo ne della griglia che impostiamo semplicemente in millimetri
è sufficiente entrare nelle proprietà del campo: il procedi- (mm) e la lista dei layer. La lista degli strumenti principali
mento è identico a quanto fatto per il pin. Nel campo “Align” viene riportata in Fig. 26B.
IMPARIAMO A UTILIZZARE EAGLE

 Fig. 25 Salvataggio e visualizzazione dell’intera libreria

151
 Fig. 26 Editor per la realizzazione dei Footprint e lista strumenti disponibili

La prima cosa che facciamo è inserire le piazzole del resi- mo, il centro di ogni pad dista 0,75mm dall’origine posta
store selezionando lo strumento “SMD” oppure digitando al centro del componente. Trasliamo queste informazioni
“SMD” da riga di comando. Dunque posizioniamo la prima all’interno della finestra proprietà del primo pad facendo
piazzola a sinistra e la seconda a destra dell’origine per attenzione che, essendo alla sinistra dell’origine, come “Po-
esempio a due punti di griglia ciascuna. A differenza dei sition” avrà un valore negativo (ovvero con segno meno “-“).
simboli un footprint ha bisogno di rispettare dei vincoli Nella Fig. 28A viene rappresentato un confronto tra il pad
dimensionali perciò le piazzole dovranno avere delle dimen- modificato (a sinistra) e quello “standard” non modificato.
sioni e posizioni particolari del componente. La scelta dei Selezioniamo OK e ripetiamo la stessa operazione per il pad
due punti di griglia è solo per comodità; infatti se clicchiamo a destra facendo attenzione che la posizione avrà valore
col tasto destro sul primo pad (quello di sinistra) e selezio- positivo. Nella finestra proprietà del pad (smd) vengono
niamo “Properties” appare la finestra di proprietà del pad descritte tutte le proprietà di seguito brevemente descritte.
come mostrato in Fig. 27A. • Name: rappresenta il nome del pin.
Ovviamente, avendo impostato la griglia in mm, dimen- • Position: è la posizione del pin rispetto all’origine.
sioni e posizione sono in mm. Nella Fig. 27B è riportato un • Angle: ogni pad può essere disposto con qualsiasi ango-
esempio di “recommended footprint” tratto da datasheet lazione.
VISHAY per tre principali case (0603, 0805 e 1206) di resi- • Smd Size: rappresenta le dimensioni del pad nel formato
stori. Come vediamo ogni pad è largo 0,5mm e alto 0,9mm; larghezza per altezza (L x H).
inoltre la distanza tra i bordi dei due pad è 1,0mm quindi la • Layer: indica il layer di rame del pad. È possibile selezio-
distanza centro-centro dei pad è 1,5mm oppure, se voglia- nare solo i due layer conduttivi più esterni (Top e Bottom)
o, nel caso siano previsti, più interni.
• Roundness: rappresenta l’arrotondamento, espresso in
percentuale, dei vertici del pad.
• Locked: indica se il pin viene bloccato da modifica (gene- IMPARIAMO A UTILIZZARE EAGLE
ralmente lo spostamento).
• Thermals: indica se il pad presenterà o meno il thermal
relief quando affogato in un piano di massa.
• Stop e Cream: indicano l’inclusione dei layer 29 tStop e
31 tCream.

Come fatto per un simbolo aggiungiamo ancora i campi di


testo >NAME e >VALUE sotto i rispettivi layer 25 tNa-
mes e 27 tValues; in questo modo il nostro footprint sarà
corredato di reference come da schema. Si potrebbero
 Fig. 27 Editor per la realizzazione dei Footprint
e lista strumenti disponibili ancora aggiungere la serigrafia (silkscreen) e il disegno del
componente rispettivamente nei layer 21 tPlace e 51 tDocu.

152
 Fig. 28 Impostazioni delle proprietà e dei layer del componente

La differenza sostanziale tra questi ultimi due è che il primo di silkscreen, ingombro topografico e keepout. Possiamo
rappresenta una parte grafica visualizzabile direttamente ritenere conclusa la disegnazione del nostro footprint
sullo stampato mentre la seconda è semplicemente di dunque salviamo il lavoro e ritorniamo alla libreria compo-
documentazione quindi visibile per esempio sulle viste nenti come fatto in precedenza e possiamo notare come
topografiche del layout. Per creare questi ultimi due oggetti anche nella colonna footprint sia presente un’occorrenza
è consigliabile l’uso di linee. “R0603_PKG”.
Poniamo una particolare attenzione ad alcuni tipi di layer:
• 29 tStop: rappresenta l’area di apertura del solder resist. CREARE COMPONENTI: EDITOR DEI COMPONENTI
• 31 tCream: è l’area in cui viene deposta la pasta salda. Ci rimane un ultimo passaggio, ovvero la realizzazione di un
• 39 tKeepout: è l’area di pulizia da altri componenti. componente che collega il simbolo al footprint e che per-
• 41 tRestrict: rappresenta l’area di pulizia da altri conduttori. metta il suo utilizzo all’interno di schematici e board. Sotto
la prima listbox, selezioniamo “Add Device…” e nominiamo il
I primi due sono tipici dei pad, mentre gli altri riguardano device come RESISTOR. Al termine dell’operazione apparirà
il componente. La Fig. 28B mostra il footprint completo la finestra di editor device (Fig. 29).
IMPARIAMO A UTILIZZARE EAGLE

 Fig. 29 Editor dei componenti

153
finestra principale dell’editor, in basso a destra selezionare
il pulsante “New” quindi “Add local package”. Apparirà la
finestra “Create new package variant for …” dove sarà pre-
sente l’elenco dei footprint della nostra libreria.
Nel nostro esempio ci sarà solo il footprint R0603_PKG
(come da Fig. 31A); selezionare tale footprint e premere Ok.
Questo passo può essere ripetuto tante volte quanti sono i
footprint che vogliamo associare (ad esempio R0805_PKG,
R1206_PKG, ecc.). Ancora una volta vi ritroverete nella fine-
stra principale dell’editor, a questo punto premete sul pul-
sante “Connect” in basso a destra, in modo tale che apparirà
 Fig. 30 L’aggiunta del Symbol la finestra “Connect”, all’interno della quale distinguiamo
i pin del simbolo a sinistra ed i pad del footprint a destra.
Selezioniamo, per ciascun pin, un pad da associare, quindi
selezioniamo “Connect”. Quando tutti i pin e i pad di nostro
Un componente si crea per associazione tra un simbolo interesse saranno associati, clicchiamo Ok (Fig. 31B).
ed uno o più footprint e la procedura è immediata, ovvero, A questo punto possiamo ritenere conclusa la creazione
partiamo dal fissare il prefisso del componente selezionan- del componente: salviamo e torniamo alla libreria. Nel caso
do il tasto “Prefix” in basso a destra della finestra e si aprirà in cui si fossero creati altri footprint per il nostro esempio
una finestra aggiuntiva di inserimento. Questo può essere la procedura di associazione può essere ripetuta. Inoltre,
composto da qualunque stringa e rappresenta la prima par- quando si andrà ad associare i pin con i pad, non è neces-
te del riferimento (reference) componente all’interno dello sario ripetere tutti i punti, ma si può selezionare il primo
schema elettrico. Nel caso specifico inseriamo il prefisso “R” componente associato nella combo-box “Copy from:”.
trattandosi di una resistenza e confermiamo con il tasto OK.
Attiviamo la visualizzazione del campo value selezionan- IMPORTAZIONE COMPONENTI
do “On” sempre in basso a destra nella finestra principale È chiaro che creare una libreria da zero potrebbe rappre-
dell’editor. A questo punto selezioniamo “Add part” nella sentare un lavoro molto oneroso, soprattutto per quanto
barra degli strumenti a sinistra come da Fig. 30A. riguarda componenti semplici. Questi componenti possono
Apparirà la finestra “Add” contenente l’elenco dei simboli essere direttamente importati da altre librerie, per esem-
della nostra libreria. Nel nostro esempio ci sarà solo il sim- pio quella di EAGLE; per farlo è necessario che la libreria
bolo RESISTOR_SYM. Selezioniamo tale simbolo e premia- di destinazione, ovvero la finestra editor delle librerie sia
mo OK. Posizioniamo il simbolo con il suo centro coincidente aperta; di seguito spieghiamo come copiare un componente
con l’origine dell’area di lavoro come da Figura 31C. da un’altra libreria.
Una volta posizionato selezionare per due volte ESC. Nella Per prima cosa andiamo sul control panel e posizioniamoci

IMPARIAMO A UTILIZZARE EAGLE

 Fig. 31 Connessione tra simbolo e footprint

154
 Fig. 32 Popolare la libreria di interesse da altre librerie

nella finestra ad albero espandendo la libreria “Managed sviluppo di un progetto elettronico, ovvero la realizzazione
Libraries\EAGLE PCB” (Fig. 32A); nell’elenco individuiamo delle librerie di componenti. Dalla prossima puntata inizie-
la libreria rcl.lbr e la espandiamo (Fig. 32B). Clicchiamo con remo ad occuparci della realizzazione degli schematici con
il tasto destro sul componente “L-EU” e selezioniamo “copy l’ausilio del progetto pratico NordIOT che ci accompagnerà
to library” (Fig. 32C), si aprirà la finestra editor dei compo- in tutte le prossime puntate e ci porterà alla realizzazione di
nenti; salviamo e torniamo alla nostra libreria. Ritroveremo una scheda wireless mediante il modulo U-blox Nora-b106
il componente copiato più tutte le dipendenze (simboli, con core della Nordic nrf5340. 

footprint ed eventualmente 3D) che si porta dietro. Analo-


gamente è possibile copiare altri componenti, corredando
il componente di diversi footprint in una volta sola. Non è
obbligatorio copiare l’intero componente dalla libreria, ma
è possibile copiare solo i simboli o solo i footprint. La lista
seguente elenca librerie interessanti per l’importazione dei
componenti a partire da “Managed Libraries\EAGLE PCB”:
• Passivi: rcl.lbr.
• Potenziometri: pot.lbr.
• Package: ic-packages.lbr, smd-ipc.lbr (solo footprint).
• Semiconduttori: semicon-smd-ipc.lbr, transistor-fet.lbr.
• Simboli di alimentazione: supply1.lbr, supply2.lbr
• Cartigli: frames.lbr
• LED: led.lbr

A questo punto vi lasciamo come esercizio la realizzazione


della libreria di progetto NordIOT (proposta in Fig. 33) che
sarà disponibile per il download sul sito www.futuranet.it
al termine del corso, tenendo presente che combinando
tutte le nozioni precedenti è possibile importare una libreria
IMPARIAMO A UTILIZZARE EAGLE

scaricata da internet all’interno del Control Panel per poi


copiare all’interno della libreria di progetto solamente tutti
i componenti d’interesse; oppure partire da schematici
EAGLE presenti online, esportare la libreria corrispondente
per poi utilizzarla nel proprio progetto che approfondiremo
nelle puntate successive.

CONCLUSIONI
Siamo quindi giunti al termine di questa prima puntata;
abbiamo installato e introdotto l’ambiente, descritto il
work-flow, l’interfaccia e alcune funzionalità saliente del  Fig. 33 Libreria del progetto NordIOT
CP per poi passare all’argomento fondamentale del ciclo di

155
SCIENZA E TECNOLOGIA
TrinamiX sviluppa
l’antifurto biometrico
Emirates testa un motore
Continental e trinamiX hanno svelato Dri-
ver Identification Display, un sistema anti-
GE90 con carburante SAF
furto biometrico basato sul riconoscimen-
to facciale. La soluzione è dotata di una Emirates ha eseguito con successo Il volo dimostrativo di Emirates, il
fotocamera integrata nel cruscotto per una serie di test per l’impiego di solo primo in Medio Oriente e Nord Africa
l’identificazione del volto del conducente. carburante sostenibile per aviazione ad essere alimentato al 100% da SAF,
Simile al riconoscimento facciale utiliz- (SAF, Sustainable Aviation Fuel) nei supporta sforzi più ampi per ridurre
zato sugli smartphone di oggi, la nuova suoi velivoli; il primo passo è stato le emissioni di anidride carbonica
tecnologia significa che un veicolo può un test a terra alimentando uno dei nel ciclo di vita di un aereo, che coin-
essere avviato solo dopo che la perso- motori General Electric GE90 di un volgono anche l’industria. I voli con-
na al posto di guida è stata riconosciuta. Boeing 777-300ER il 100% di SAF. tribuiranno anche a perfezionare il
La soluzione migliora anche altre funziona- La compagnia aerea mira ora ad ef- playbook per le future dimostrazioni
lità come i pagamenti digitali, che vengono fettuare un volo di prova utilizzando SAF e supporteranno la futura cer-
elaborati utilizzando il display dell’auto, il 100% di SAF in entrambi i motori. tificazione del SAF come carburante
per il rifornimento, il parcheggio, il paga- Per il momento, per ragioni di si- esclusivo per la propulsione aerea
mento dei pedaggi o il noleggio dell’auto. curezza Emirates ha effettuato il civile; attualmente il SAF è approvato
Oltre a ciò, la telecamera integrata moni- suo primo volo dimostrativo su un per l’uso su tutti gli aerei, ma solo in
tora l’attenzione del guidatore per evitare, Boeing 777-300ER, alimentando miscele fino al 50% con carburante
ad esempio, che si addormenti al volante. uno solo dei motori turboventola con per aerei convenzionale.
Driver Identification Display offre tre fun- carburante SAF; il possente Boeing è
zioni chiave in un unico pacchetto: au- decollato dall’aeroporto internazio-
tenticazione affidabile del conducente e nale di Dubai (DXB) al comando del
possibilità di effettuare transazioni di pa- capitano Fali Vajifdar e dal capitano
gamento digitali sicure tramite il display Khalid Nasser Akram, volando per
del veicolo, ad esempio nei garage, ai ca- più di un’ora sulla costa di Dubai.
selli autostradali o negli app store; la te- L’equipaggio della cabina di pilo-
lecamera, installata in modo invisibile nel taggio era accompagnato da Adel
sistema, viene utilizzata anche per moni- Al Redha, Chief Operating Officer
torare l’attenzione del guidatore, cosa che di Emirates, e dal Capitano Hassan
in futuro sarà resa obbligatoria sulle auto- Hammadi, Divisional Senior Vice Pre-
mobili vendute in Europa. sident, Emirates Flight Operations.
La soluzione di sicurezza utilizza l’auten- Il volo dimostrativo alimentato da
ticazione facciale integrata basata su una SAF ha un significato particolare per
tecnologia sviluppata e brevettata da tri- gli Emirati Arabi Uniti, che hanno
namiX, la quale combina il riconoscimento dichiarato il 2023 Anno della soste-
facciale per verificare l’identità dell’uten- nibilità, che metterà in mostra l’im-
te con un nuovo tipo di rilevamento della pegno del Paese arabo nel cercare
vivacità; è in grado di riconoscere la vera soluzioni innovative a sfide come la
pelle umana per prevenire lo spoofing del ricerca di nuove forme di energia, la
sistema con fotografie o maschere 3D lotta ai cambiamenti climatici e altre
realistiche del proprietario o conducen- questioni legate alla sostenibilità.
te del veicolo. L’autenticazione facciale di
trinamiX è stata certificata secondo i più
elevati standard di sicurezza biometrica.

www.continental.com

156
Emirates ha collaborato con i partner e acidi grassi idrotrattati e cherosene
GE Aerospace, Boeing, Honeywell, paraffinico sintetico) e HDO-SAK da
Neste e Virent per procurarsi e svi- Virent (cherosene aromatico sinteti-
luppare una miscela di SAF che ri- co idrodeossigenato).
produce da vicino le proprietà del Il volo di prova dimostra ulterior-
carburante per aerei convenzionale. mente la compatibilità del SAF ap-
Per ogni rapporto di miscelazione positamente miscelato come fonte di
sono state effettuate misurazioni carburante sicura e affidabile.
delle proprietà chimiche e fisiche Il promettente risultato di questa ini-
del carburante. Dopo numerosi test ziativa si aggiunge anche al corpus di
di laboratorio e prove rigorose, sono dati e ricerche del settore sulle mi-
arrivati a un rapporto di miscelazione scele SAF in proporzioni più elevate,
che rispecchiava le qualità del carbu- aprendo la strada alla standardizza-
rante per aerei. Sono state miscelate zione e alla futura approvazione del
diciotto tonnellate di SAF, composto 100% di SAF in sostituzione del car-
da HEFA-SPK fornito da Neste (esteri burante per aerei. Fotoni dal visibile
Il SAF è stato testato anche nel fun-
zionamento delll’unità di alimenta- all’ultravioletto
zione ausiliaria 331-500 (APU) che è
il sistema che fornisce l’alimentazio- La luce ultravioletta (UV) ha fotoni ad ener-
ne a terra a motori spenti, l’energia gia più elevata rispetto alla luce visibile e
per l’avviamento dei motori, la clima- per sfruttare tale caratteristica i ricercatori
tizzazione e il backup di emergenza del Tokyo Tech hanno sviluppato un mate-
in volo. riale a stato solido in grado di convertire
in modo stabile ed efficiente i fotoni della
www.emirates.com luce visibile solare in fotoni UV.
La luce solare contiene luce UV ad alta
energia con una lunghezza d’onda inferio-
re a 400 nm, che può essere ampiamente
utilizzata, ad esempio, per la fotopolime-
rizzazione per formare una resina e l’at-
tivazione di fotocatalizzatori per guidare
reazioni che generano idrogeno verde o
idrocarburi utili (combustibili, zuccheri,
olefine , eccetera). Quest’ultima è spesso
chiamata “fotosintesi artificiale”. La rea-
zione fotocatalitica mediante luce UV per
uccidere efficacemente virus e batteri è
un’altra importante applicazione. Però
solo il 4% circa della luce solare terrestre
rientra nella gamma UV, il che lascia una
grande porzione dello spettro solare non
sfruttata per questi scopi. La conversione
dei fotoni avverrebbe tramite un proces-
so chiamato “annichilazione tripletta-tri-
pletta” o TTA. Fino ad ora si utilizzavano
solventi organici che richiedevano che la
soluzione venisse prima deossigenata e
poi sigillata in un contenitore ermetico;
i materiali mancavano di fotostabilità in
presenza di ossigeno e non riuscivano a
funzionare efficacemente con luce inci-
dente. Tali problemi sembrano stati risolti
al Tokyo Tech, con una pellicola solida fatta
di un sensibilizzatore (cioè un cromoforo
molecolare in grado di assorbire fotoni di
lunghezza d’onda maggiore) e un’elevata
quantità di un annichilatore (una molecola
organica che riceve la tripletta di energia
eccitata dal sensibilizzatore).

www.titech.ac.jp/english/news/

157
In orbita il satellite
Inmarsat 6 F2
Il satellite per comunicazioni più
avanzato del mondo è decollato
nella notte del 17 febbraio scorso
In servizio il bus a fuel-cell di Toyota a bordo di un razzo vettore Falcon
9 di SpaceX, per arricchire la flotta
satellitare di Inmarsat. I-6 F2 ha
spiccato il volo dallo Space Launch
La prefettura di Fukuoka, la Commercial motori elettrici alimentati dall’elettricità
Complex 40 presso la Cape Cana-
Japan Partnership Technologies Corpo- sviluppata a partire dall’idrogeno puro da
veral Space Force Station (USA)
ration (CJPT) e la Kyushu Railway Com- un sistema a fuel-cell di seconda gene-
quindi si è separato dal razzo circa
pany (JR Kyushu) hanno stipulato un razione derivato dalla Toyota Mirai FCEV.
32 minuti dopo e tramite la pro-
accordo per testare un autobus elettrico Il progetto si inquadra in un programma
pulsione elettrica si è diretto ver-
a celle a combustibile sulla BRT Hiko- di elettrificazione dei trasporti locali, che
so la sua posizione orbitale geo-
boshi Line. Questa iniziativa permetterà dovrebbe coinvolgere anche le merci,
stazionaria sull’Oceano Atlantico.
di verificare l’utilizzo commerciale del con l’adozione di camion elettrici leg-
In linea con ogni missione Fal-
trasporto pubblico basato su idrogeno geri a fuel-cell da parte degli operatori
con 9, il primo stadio del razzo
e fuel-cell, attraverso l’impiego su un logistici, nonché di macchine operatri-
è atterrato con successo poco
percorso di linea in parallelo all’uso degli ci urbane, per esempio i camion per la
dopo il lancio, in modo da es-
autobus a motore endotermico. raccolta dei rifiuti urbani(raccolta rifiuti)
sere riutilizzato. Il booster ha
L’autobus a fuel-cell è basato sul bus e ambulanze. Il programma comprende
precedentemente supportato
Toyota Coaster, da 20 posti con 14 posti anche lo sviluppo di infrastrutture pro-
un volo con equipaggio verso la
effettivi; questo automezzo per il tra- gettate per opzioni di mobilità a fuel-cell.
Stazione Spaziale Internazionale
sporto di persone è lungo 6,99 m, largo
e il lancio di un satellite GPS 3.
2,1 m e alto 2,63 m. La propulsione è a global.toyota/en/newsroom
L’I-6 F2 entrerà in servizio nel
2024 dopo rigorosi test in orbita.
Il satellite è identico all’Inmar-
sat-6 F1 (I-6 F2) che dovrebbe
Elettricità dalle rotaie iniziare le operazioni da uno slot
geostazionario sull’Oceano In-
diano all’inizio di quest’anno,
Il Virginia Tech Center for Vehicle Sy- telligenti come come apparecchiature di dopo il suo lancio nel dicembre
stems and Safety (CVeSS) e il Railway sicurezza lungo la strada, comunicazioni 2021 da parte della giappone-
Technologies Laboratory vogliono wireless e monitor per lo stato dei bi- se Mitsubishi Heavy Industries.
sfruttare l’energia creata dai treni in nari. Ecco quindi l’idea di un generatore Entrambi i satelliti, costrui-
movimento e trasformarla in elettricità di elettricità integrato nella traversina, ti da Airbus, sono dotati di un
utilizzabile. La ricerca è stata finanziata ovvero che sostituisce una traversina: carico utile ibrido in banda Ka
dal Dipartimento dei trasporti degli Sta- le staffe imbullonate sono flessibili ed e banda L per fornire princi-
ti Uniti attraverso il Centro di trasporto applicate a una barra di metallo, la quale palmente servizi di connettivi-
universitario sul miglioramento della so- sormonta una molla, cosicché quando le tà mobile nei mercati maritti-
stenibilità e della durabilità delle infra- ruote del treno passano sopra la rotaia, mo, aeronautico e governativo.
strutture di trasporto ferroviario. il peso spinge verso il basso azionando La capacità in banda Ka dell’I-6 F1
Circa il 76 percento delle miglia totali sui una serie di ingranaggi. Gli ingranaggi mirerà alla domanda di connetti-
binari ferroviari americani si trova in aree fanno ruotare l’albero di un generatore, vità ad alta velocità nel sud-est
rurali prive dell’elettricità necessaria per creando elettricità, che può quindi essere asiatico, mentre i segnali in banda
il funzionamento di sistemi ferroviari in- immagazzinata in una batteria. Ka dell’I-6 F2 si rivolgeranno agli
I ricercatori hanno testato il dispositivo hotspot sull’Oceano Atlantico. In-
su una linea della Norfolk-Southern per marsat conta oggi otto satelliti.
determinare quanta energia può essere
generata e come ottimizzare il design www.inmarsat.com
del dispositivo. Per ogni ruota del treno
che passa, si generano da 15 a 20 watt;
il passaggio di un treno con 200 vagoni,
quindi almeno 800 ruote, produrrebbe
1,6 kilowatt, più che sufficienti ad ali-
mentare infrastrutture e sistemi locali di
sicurezza e monitoraggio delle linee.

vtx.vt.edu/articles

158
Fai il pieno di energia con
le batterie ai polimeri di litio!
€ 6,90 € 7,90 € 21,00

Cod.
Cod. PLIB1000-2MM Cod. PLIB1100-2MM
€ 27 ,90 25C2000MAH7V4
€ 34,00
3,7V-1000 mAh. 3,7V-1100 mAh 7,4 V-2000 mAh.
Connettore 2 mm connettore 2 mm Connettori JST-XH
Deans T

Cod. PLIB6000 Cod.


25C2200MAH11V1

3,7V-6000 mAh. 11,1 V-2200 mAh.


Connettore 2 mm Connettori JST-XH

€ 4,90 € 6,90

Cod. PLIB500NEW Cod.PLIB1000-1.25

3,7 V-500 mAh. 3,7V-1000 mAh.


Connettore 2,54 mm Connettore 1,25mm

€ 21,90 € 7,90

Cod. PLIB5000MAH Cod. PLIB1100


€ 21,90 € 12,50 € 12,90
3,7 V-5000 mAh. 3,7V-1100 mAh.
Connettore 2 mm Connettore 1,25mm

Cod.PLIB5000-2.54 Cod. PLIB430 Cod. PLIB2000

3,7 V-5000 mAh. 3,7 V-500 mAh con 3,7 V-2000 mAh.
controllo temperatura.
Connettore 2,54 mm Connettore JST 3 fili Connettore 2,54 mm Prezzi IVA inclusa.

Futura Group srl


Caratteristiche tecniche di questi prodotti
®
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
RICARICA I TUOI DISPOSITIVI OVUNQUE TI TROVI !
pannellO solarE portatilE da 60w

PANNELLO SOLARE MONOCRISTALLINO DA 60W


ad alta efficienza (16,85%), pieghevole e portatile. Dispone di uscita DC
max 20,9 volt 2,87A, uscita USB-A da 5V 3A, uscita USB-QC: 5V 3A / 9V
2A / 12V 1,5A. Esternamente è realizzato in nylon e dispone di due robuste
maniglie con potenti magneti che assicurano una salda chiusura.
Ideale per il campeggio, l’escursionismo e altre attività all’aperto.
Dimensioni: 530 x 440 x 30 mm (chiuso),
880 x 530 x 10 mm (aperto),
peso: 2,9 g.

Cod. FOLDINGPAN60

€ 135,00

60 USCITA PRESA DC
W (5,5x2,1 mm): max 20,9 volt – 2,87 A
Prezzo IVA inclusa.

USCITA USB-QC USCITA USB-A


5V 3A / 9V 2A / 12V 1,5A 5V 3A

Futura Group srl


Caratteristiche tecniche di questi prodotti
www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775
SERVIZIO DI SERVIZIO DI
PROGETTAZIONE REALIZZAZIONE PCB
L’area R&D di Futura Grazie al Servizio di
Group studia, progetta realizzazione PCB potrai
e realizza prototipi ricevere i tuoi circuiti
per differenti settori stampati semplicemente
utilizzando tecnologie caricando sul nostro sito
innovative. Il team Futura il tuo Gerber e scegliendo
Group è composto, oltre le dimensioni e le
che dal personale dei nostri caratteristiche preferite.
laboratori tecnici, anche È possibile ordinare
da un numero elevato schede a una singola
di collaboratori esterni, faccia oppure
ciascuno specializzato nel multistrato, scegliendo
proprio settore. anche il colore del solder.

Trasformiamo
le tue idee in realtà!
FUTURA ELETTRONICA È IL TUO PARTNER DI RIFERIMENTO PER MOLTEPLICI SERVIZI.
I NOSTRI TECNICI SONO A TUA DISPOSIZIONE PER FORNIRE TUTTE LE INFORMAZIONI
E UNA VALUTAZIONE PERSONALIZZATA IN BASE ALLE TUE NECESSITÀ.

SERVIZIO SERVIZIO
TAGLIO LASER STAMPA 3D
Futura Elettronica Futura Elettronica mette
offre la possibilità di a disposizione le proprie
realizzare mediante stampanti 3D FDM
taglio laser i tuoi (fused deposition
progetti in plexiglass modeling), per chi
(o metacrilato) con intende realizzare un
spessore massimo di oggetto tridimensionale
10 mm e con dimensioni con dimensioni fino a
massime lavorabili 40x40x40 cm partendo
di 130×90 cm. Carica da un modello 3D
sul nostro sito il digitale. Carica sul
tuo file .DXF, scegli nostro sito il tuo file .STL,
le dimensioni e le scegli le dimensioni e le
caratteristiche preferite. caratteristiche preferite.

Futura Group srl


www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
Tel. 0331/799775
È DISPONIBILE IL NUOVO E-BOOK
Le tecnologie RFID e NFC

A SOLO

€7 ,90

Prezzo IVA inclusa.


cod. EBOOK231

L’e-book “Le tecnologie RFID e NFC”


approfondisce le tematiche delle
moderne soluzioni basate su sistemi
wireless e contactless, sia da un punto
di vista teorico-didattico che da un
punto di vista pratico-progettuale,
ed è rivolto a chiunque voglia entrare
in questa branca dell’Elettronica
Digitale.

Futura Group srl


Caratteristiche tecniche di questi prodotti
® www.futurashop.it Via Adige, 11 • 21013 Gallarate (VA)
e acquisti on-line su www.futurashop.it
Tel. 0331/799775

Potrebbero piacerti anche