EOS Book4D
EOS Book4D
ED IT ORIA LE learning
L'apprendimento automatico supervisionato può anche essere implementato in modo efficace per
prevedere eventi sanitari basati su vari dati di input, che possono essere classificati in modo lineare.
Ad esempio, dalle statistiche sui tassi di vaccinazione contro il morbillo e le epidemie dai Centri per
il controllo e la prevenzione delle malattie, così come i dati sanitari non tradizionali, inclusi i social
media e i dati di sorveglianza sindromica generati da software che estrae una vasta gamma di fonti
di documentazione medica, un algoritmo può fornire una mappa affidabile dei futuri punti focali per
l'epidemia di morbillo.
1
Founder & Publisher EDITORIALE MAKER
Emanuele Bonanni
Machine learning e Realizzare una bobina in 28
Editor-in-Chief 1
deep learning casa dal valore ESATTO
Maurizio Di Paolo Emilio
CFO
Lidia Balica
ROBOT
Come scegliere il
Editorial Assistant 4
Maria Pisani motore e le eliche
migliori per il tuo
Marketing
Sara Ercolani drone
Advertising
Francesca Ceroni L’importanza dei driver 19
francesca@[Link]
motori
Graphic Designer
Marilde Mirra
SCI&TECH
Scientific Committee: Machine Learning con 8
Maurizio di Paolo Emilio
Python: introduzione
Emanuele Bonanni al progetto
Giuseppe Ferri - University of
L’Aquila
Vincenzo Stornelli - University of Machine learning con 14
L’Aquila Python: descrizione
Ubaldo Denni - INFN del codice
Lucio Di Jasio
Circulation Ricetrasmettitore
Users - 131.025 33
Social Network - 111.446 a RF: omodina e
© Copyright
supereterodina
Tutti i diritti di riproduzione o di traduzione
degli articoli pubblicati sono riservati.
Manoscritti e disegni sono di proprietà di Il progetto DREAM 2020 40
EMCelettronica Srl.
E’ vietata la riproduzione anche
e l’utilizzo dei robot nel
parziale degli articoli salvo espressa trattamento dell’autismo
autorizzazione scritta dell’editore. I
contenuti pubblicitari sono riportati senza
responsabilità, a puro titolo informativo.
Come scegliere il
R O BO T
motore e le eliche
migliori per il tuo
drone di Gaetano Aerialclick
Le performance del tuo drone dipendono molto (possiamo dire quasi al 100%) dalle sue componenti
e materiali che lo costituiscono. Due elementi importantissimi che agiscono sulle prestazioni del dro-
ne, sulla sua stabilità, velocità, efficienza e durata della batteria, sono le eliche e i motori. Queste due
componenti sono strettamente legate tra loro, e vanno scelte prima di tutto tenendo a mente il tipo di
utilizzo e ambito applicativo del velivolo che vuoi acquistare/progettare/costruire. In questo articolo ti
indicheremo quali sono gli elementi da tenere in considerazione al momento della scelta delle eliche e
del motore del tuo drone.
N
on tutti i droni sono uguali, e questa non è certo giuste eliche da scegliere, però, è bene stabilire qual è il
una notizia nuova. Ogni multicottero è costruito rapporto che li lega nella meccanica di un drone.
e pensato sulla base dell’utilizzo che ne deve Anzitutto diciamo che i motori presenti su ogni multi-
fare il suo/la sua pilota e dal momento che sono infiniti cottero variano a seconda del numero di eliche: 3 per
i campi di applicazione e di utilizzo di un drone, va da un tricottero (3 eliche), 4 per un quadricottero, 6 per un
sé che saranno notevoli le variabili di meccanica e fun- esacottero e 8 per un optacottero.
zionamento e le caratteristiche delle componenti di ogni I motori installati sui droni sono motori elettrici, princi-
palmente di tipo “brushless”, (senza
spazzole), ossia senza contatti elet-
trici striscianti sull’albero motore, così
da avere meno resistenza, ovviare al
rischio scintille, diminuire il rischio e i
tempi di usura.
I motori brishless, decisamente i mi-
gliori, hanno bisogno di un altro com-
ponente fondamentale: l’ESC (Elec-
tronic Speed Controller). Si tratta
di quella parte del drone che collega
i motori brushless al Flight Controller
(centralina) ed è costituito da un insie-
me di cavi connessi ad una minuscola
e complessa scheda elettronica, che
consente ai motori di girare in entrambi
i sensi e a velocità variabili, sulla base
dei comandi trasmessi.
Fatta questa premessa, entriamo nello
specifico di eliche e motori: possiamo
Figura 1: Eliche di un drone dire che gli aspetti più importanti relati-
4
ROBOT
vi al buon funzionamento del tuo drone e al suo essere eliche), esacotteri (6 eliche) optacotteri (8 eliche).
idoneo all’utilizzo per il quale lo hai acquistato/costruito/
progettato, sono riassumibili sempre e comunque con DIMENSIONI E MISURE
4 parole Parleremo meglio nei prossimi punti di passo e diame-
• Velocità, tro, due parole chiave importantissime cui far caso per il
• Reattività, funzionamento ottimale del nostro drone (figura 1).
• Autonomia, Prima è bene però dire che le eliche vanno scelte in
• Dimensioni. base al peso della macchina e dei dispositivi che su di
essa sono installati (foto/video camera, schede elettro-
Le prestazioni relative a velocità, reattività, autonomia e niche, gimbal, paracadute ecc). Per un drone da peso
dimensioni del drone e la loro ottimale regolazione sulla e carico complessivo inferiore a 4-4.5 kg ad esem-
base del tipo di multicottero che abbiamo scelto, sono pio possono usare eliche tra i 9-13 pollici di diame-
gli elementi da cui partire e da prendere attentamente in tro con passi di circa 5 pollici, mentre queste misure
considerazione quando si tratta di scegliere la combina- salgono quando si tratta di droni più grandi, spesso
zione tra motore ed eliche. quelli per uso professionale. In realtà, la prima cosa
da analizzare all’atto della scelta di eliche e motori è
PARTIAMO DALLE ELICHE: COME SCE- proprio l’utilizzo che vogliamo fare del nostro velivolo e,
GLIERLE? quindi, le prestazioni che da esso vogliamo ottenere e
Non è difficile comprendere l’importanza delle giuste eli- che ci sono più utili proprio in termini di autonomia, reat-
che su un drone se si pensa che la prima categorizzazio- tività, velocità e dimensioni. Scendiamo nel dettaglio di
ne di queste macchine viene fatta proprio dal numero di dimensioni, misure e materiali.
eliche (e quindi di motori ad esse collegati). Infatti quelli
che tutti chiamano semplicemente droni dovrebbero più ELICHE PICCOLE O ELICHE GRANDI?
correttamente essere chiamati quadricotteri (se hanno 4 Dalle dimensioni delle eliche che abbiamo appena men-
5
ROBOT
6
ROBOT
Non solo, anche il contrasto con attriti e raffiche di vento PERCHÈ PROPRIO QUESTO MOTORE?
saranno maggiori per esacotteri per non parlare della Perchè fa al caso nostro... o meglio, se noi dividessimo
sicurezza in caso di avaria ad uno dei motori o problemi il peso ipotizzato su 4 motori, avremmo 400 grammi a
con le eliche, nella cui eventualità per gli esacotteri è motore.
di certo più facile riportare a terra la macchina in modo Con un possibile motore potremmo raggiungere i 400
meno traumatico per le componenti. grammi sia con una batteria 4s (da 14.8V) con poco
meno il 65% di giri, sia con una batteria 3s (da 11.1V)
UN ESEMPIO PRATICO: SCEGLIAMO ELI- con il 70% di giri.
CHE E MOTORI PER IL NOSTRO QUADRI- Ed allora quale scegliere?
COTTERO LEGGERO Ecco che interviene l'efficienza! Con la batteria 3S
Ipotizziamo di voler costruire un piccolo quadricotte- (quella da 11.1 V) il grafico di prima ci mostra una effi-
ro che ha l'obiettivo di trasportare una action cam (ad cienza di circa l'8% (sempre per 400 grammi a motore)
esempio una gopro) e relativo gimbal (lo strumento di contro una efficienza del 6.89 di una batteria 4S (quella
stabilizzazione dell'immagine composto da motorini da 14.8V).
brushless di piccola dimensione ma molto molto precisi) E' fatta! Abbiamo scelto la nostra batteria e il nostro mo-
per poter poi fare degli stupendi video aerei da mostrare tore... e l'elica? Anche qui, incrociando i dati di spinta e
su internet. di efficienza (ossia la capacità di ottenere uno stesso
Innanzitutto facciamo una stima spannometrica di quan- risultato utilizzando meno energia), l'elica migliore è la
to dovrebbe essere il peso totale del nostro mezzo, ma- 10 x 3.3 (seppur difficili da trovare in commercio) in car-
gari vedendo anche le soluzioni dei nostri competitor. bonio (notare la scritta CF vicino alla dicitura 10x3.3 che
Quindi considerando: sta per carbon fibre).
7
Machine Learning con
S C I& T EC H
Python: introduzione
al progetto
di Andrea Garrapa
Negli ultimi anni il linguaggio di programmazione Python ha visto un sempre maggiore utilizzo nella re-
alizzazione di progetti legati al Machine Learning. L'apprendimento automatico consiste nell'utilizzare i
dati per fare in modo che una macchina prenda decisioni intelligenti. Ad esempio, è possibile creare un
algoritmo di rilevamento dello spam in cui l'apprendimento delle regole dai dati avviene esaminando le
mail precedenti. In questo articolo andremo a descrivere la prima parte della realizzazione passo passo
di un progetto di machine learning utilizzando il linguaggio di programmazione Python.
L
'apprendimento automatico non è altro che tà di gestione dei dati è ottima
riconoscere i modelli nei dati. Sviluppare pro- • i numerosi package presenti in repository open
cedure per l'apprendimento automatico implica source permettono di svolgere le operazioni più
estrarre, elaborare, definire, pulire, organizzare e quindi complesse partendo da zero.
comprendere i dati. Tutte queste operazioni sui dati non
sono di facile implementazione e richiedono conoscen- In questo articolo si daranno per noti molti dei concet-
ze approfondite sia in termini matematico/statistici che ti riguardanti il linguaggio di programmazione Python.
in termini di programmazione. Python è un linguaggio L'oggetto di questo articolo è l'implementazione di
di programmazione open source che presenta delle ca- procedure di ML attraverso Python, e non la descri-
ratteristiche tali da rendere più agevole una qualsiasi zione del linguaggio. Comunque sia, nel caso si fosse
implementazione di applicazione per il Machine Lear- completamente ignari dell'esistenza di Python esiste
ning (ML). una guida online in italiano dettagliata e gratuita.
I punti di forza di Python in relazione al machine le-
arning sono i seguenti: AMBIENTE DI LAVORO
• linguaggio facilmente leggibile e con minore Prima di partire con la descrizione dello script oggetto
complessità rispetto a C, C++ e Java dell'articolo, occorre configurare l'ambiente di lavoro.
8
SCI&TECH
Occorre cioè preventivamente assicurarsi che sul pro- vendoli. Una volta scaricato ed installato Python per
prio computer sia presente una distribuzione Python e i completare la configurazione dell'ambiente di lavoro,
package necessari. Nel caso contrario si può procedere sarà sufficiente scaricare ed installare alcuni pacchetti,
in due modi: semplicemente immettendo nel prompt dei comandi la
1. Scaricare ed installare una distribuzione Python seguente riga:
già completa dei pacchetti necessari, come ad
esempio Anaconda.
2. Oppure scaricare ed installare Python dal sito py -m pip install --user numpy scipy matplotlib ipy-
ufficiale e poi scaricare i pacchetti necessari at- thon jupyter pandas nose
traverso il package manager pip.
Il Python Package Index (PyPI) è un repository che Una volta terminata l'installazione, allo stesso modo si
contiene decine di migliaia di package scritti in Python. dovrà scaricare ed installare l'ultimo pacchetto scikit-
Chiunque può scaricare package esistenti o condividere learn, immettendo nel prompt la seguente riga:
nuovi package su PyPI. È possibile accedere ai packa-
ge del Python Package Index sia tramite un browser
py -m pip install --user scikit-learn
(all’indirizzo [Link] sia tramite un tool chia-
mato pip. Il tool pip è già incluso nelle versioni di Py-
thon più recenti. Si tratta di uno strumento che permette Dopo aver eseguito questa procedura iniziale, l'ambien-
di cercare, scaricare ed installare package Python che te di lavoro sarà pronto per la realizzazione del primo
si trovino sul Python Package Index, e consente inoltre progetto di machine learning. Per sicurezza, comun-
di gestire i package già scaricati, aggiornandoli o rimuo- que, sarebbe consigliabile controllare le versioni di tutti
9
SCI&TECH
i package installati. Per fare ciò basta aprire il blocco • algebra lineare, trasformata di Fourier e numeri
note e copiare le seguenti linee di codice. casuali
10
SCI&TECH
11
SCI&TECH
Figura 4: rappresentazione "baffi e scatola" dei quattro attributi numerici del dataset dei fiori dell'iris.
Figura 5: grafico a matrice di dispersione per ciascuna variabile di input per il set di dati dei fiori dell'iris.
12
SCI&TECH
CONCLUSIONE
In questo articolo è stata trattata la prima parte dell'im-
plementazione di uno script in Python per un'attività di
machine learning. Il focus è stato dato alle operazioni
preliminari per la configurazione dell'ambiente di lavoro,
per il caricamento dei dati e per l'analisi statistica e gra-
fica del dataset oggetto di studio. Nella seconda parte
l'enfasi sarà invece posta sugli algoritmi di classifi-
cazione e sulle loro performance. Per comprendere
lo script non è necessario essere un programmatore
poichè Python è un linguaggio intuitivo e nella maggior
parte dello script si fà un uso frequente a chiamate di
funzioni e assegnamenti di variabili. Nel caso non fos-
se tutto chiaro al primo passaggio si può fare uso della
guida help("nome_funzione") della sintassi di aiuto in
Python per conoscere tutte le funzioni utilizzate, oltre
che commentare l'articolo sul blog di Elettronica Open
Source.
13
Machine learning con
S C I& T EC H
Python: descrizione
del codice
di Andrea Garrapa
Nella prima parte del tutorial sull'uso del linguaggio di programmazione Python per progetti di appren-
dimento automatico, erano state presentate e commentate le sezioni di codice relative all'impostazione
dell'ambiente di lavoro, al caricamento delle librerie e del dataset, alla descrizione statistica e grafica
dei dati. In questa seconda parte invece si proseguirà con la descrizione del codice che comprenderà:
i metodi di suddivisione del dataset, gli algoritmi di classificazione e le metriche di valutazione.
Q
uanto operano bene gli algoritmi su dati mai vi- pratica, non è una garanzia di prestazioni. Il dataset
sti? Questa è la domanda che ci si dovrebbe su cui operare va quindi suddiviso in due parti: una par-
porre quando si valutano le performance degli te con cui addestrare l'algoritmo (set di addestramen-
algoritmi di classificazione per un dato problema. Due to) e l'altra con cui testarlo (set di prova).
sono le metodologie prevalenti per valutare le presta-
zioni di un algoritmo: SUDDIVISIONE DEL DATASET
1. fare previsioni per nuovi dati di cui si conoscono Tra le varie tecniche che si possono utilizzare per sud-
già le risposte dividere il set di dati e creare utili stime di rendimento
2. utilizzare tecniche basate su statistiche denomi- per gli algoritmi di apprendimento automatico, le due
nate metodi di ricampionamento che consento- principali sono:
no di effettuare stime accurate del livello di effi- 1. uddivisione in set di addestramento e di prova.
cienza dell'algoritmo sui nuovi dati. 2. Validazione incrociata K-fold.
Perché non è possibile addestrare gli algoritmi di ap- Nella suddivisione in set di addestramento e di pro-
prendimento automatico su un dataset e utilizzare le va, il set di dati originale, viene diviso in due parti. L'al-
previsioni dello stesso dataset per valutare le perfor- goritmo viene addestrato sulla prima parte, le previsioni
mance degli algoritmi di apprendimento automatico? vengono fatte sulla seconda parte e vengono valutate
La risposta è semplice: sovradattamento. Supponen- le previsioni rispetto ai risultati noti. La dimensione della
do esista un algoritmo che ricordi ogni osservazione che divisione può dipendere dalle dimensioni e dalle spe-
gli viene mostrata. Se valutato sullo stesso set di dati cifiche del set di dati, sebbene sia comune utilizzare il
utilizzato per addestrarlo, tale algoritmo otterrebbe un 67% dei dati per l'addestramento e il restante 33% per
punteggio perfetto nel set di dati di addestramento la prova. Questa tecnica di valutazione dell'algoritmo è
Ma le previsioni fatte su nuovi dati sarebbero terribili. molto veloce. È ideale per dataset di grandi dimensioni
Non riesce a generalizzare! Occorre valutare gli al- (milioni di record) in cui esiste una forte evidenza che
goritmi di apprendimento automatico sui dati che non entrambe le suddivisioni dei dati siano rappresentative
vengono utilizzati per addestrare l'algoritmo. La valuta- del problema sottostante. A causa della velocità, è uti-
14
SCI&TECH
le utilizzare questo approccio quando l'algoritmo che si La convalida incrociata 10-fold verrà utilizzata per va-
sta studiando è lento da addestrare. Uno svantaggio di lutare l'accuratezza dei modelli. La metrica di Accura-
questa tecnica è che può avere un'alta varianza. Ciò tezza per valutare i modelli, è il rapporto del numero
significa che le differenze nel set di dati di addestra- di istanze correttamente previste diviso per il numero
mento e di test possono determinare differenze signi- totale di istanze nel set di dati moltiplicato per 100 (ad
ficative nella stima dell'accuratezza. Oltre a specificare esempio accuratezza del 95%).
la dimensione della divisione, si può specificare anche il
seme casuale (seed). Essendo la suddivisione dei dati # Test options and evaluation metric
casuale, occorre garantire che i risultati siano riproduci- seed = 7
bili. Specificando il seed si otterranno gli stessi numeri scoring = 'accuracy'
casuali ogni volta che viene eseguito il codice. Questo
è importante nel confronto dell'accuratezza stimata tra VALUTAZIONE DEI MODELLI
configurazioni diverse o tra algoritmi di apprendimen- La scelta dell'algoritmo più adatto al problema e le mi-
to automatico differenti. La validazione incrociata k- gliori configurazioni da utilizzare, rappresentano un
fold, permette di stimare le prestazioni di un algoritmo passo importante nel processo di apprendimento au-
di apprendimento automatico con una varianza inferiore tomatico. Dall'osservazione del dataset si ricava che
rispetto a una singola suddivisione addestramento-test alcune classi sono parzialmente separabili linearmente
dei dati. Funziona dividendo il set di dati in K parti (ad in alcune dimensioni, quindi ci si può aspettare risultati
esempio K = 5 o K = 10). Ogni suddivisione dei dati è generalmente buoni, con tutti i modelli valutati. I modelli
definita fold. L'algoritmo viene addestrato su k-1 fold, sotto inchiesta saranno 6:
e testato sul fold rimasto fuori. Questo viene ripetuto in 1. Logistic Regression (LR)
modo che a ciascun fold del set di dati venga data la 2. Linear Discriminant Analysis (LDA)
possibilità di essere un set di prova. Dopo aver eseguito 3. K-Nearest Neighbours (KNN)
la convalida incrociata si ottengono K diversi punteggi 4. Classification and Regression Trees (CART)
delle prestazioni che è possibile riepilogare utilizzando 5. Gaussian Naive Bayes (NB)
una media e una deviazione standard. Il risultato è una 6. Support Vector Machines (SVM)
stima più affidabile delle prestazioni dell'algoritmo in In LR l'obiettivo è trovare i valori per i coefficienti che
esame. È più accurato perché l'algoritmo viene adde- pesano ciascuna variabile di input come nella regres-
strato e valutato più volte su dati diversi. La scelta di sione lineare. A differenza della regressione lineare, la
K deve consentire che la dimensione di ciascuna par- previsione dell'output viene trasformata utilizzando una
tizione di test sia sufficientemente ampia da essere un funzione non lineare denominata funzione logistica. La
campione ragionevole del problema, pur consentendo rappresentazione con LDA è piuttosto semplice. Con-
sufficienti ripetizioni dell'algoritmo di valutazione. Per siste nel calcolo delle proprietà statistiche dei dati, per
set di dati di dimensioni modeste in migliaia o decine ogni classe. Le previsioni vengono fatte calcolando un
di migliaia di record, valori di K comuni sono 3, 5 e 10. valore discriminante per ogni classe e facendo una pre-
Passando al codice, il set di dati caricato verrà diviso visione per la classe con il valore maggiore. In KNN la
in due, l'80% dei quali usati per addestrare i modelli e il previsione per ogni nuovo ingresso viene fatta cercando
20% tenuti da parte come set di dati di convalida. Ora nell'intero set di addestramento le K istanze più simili
si dispone di dati di allenamento in X_train e Y_train (vicine) e classificando con la classe più frequente tra le
per preparare i modelli, e di dati di test in X_validation K istanze. Il trucco sta nel modo di determinare la somi-
e Y_validation da utilizzare in seguito. glianza tra le istanze di dati. La tecnica più semplice, se
gli attributi sono tutti della stessa scala, consiste nell'u-
# Split-out validation dataset tilizzare la distanza euclidea. La rappresentazione per il
array = [Link] modello CART è un albero binario. Ogni nodo rappre-
X = array[:,0:4] senta una singola variabile di input (x) e un punto di di-
Y = array[:,4] visione su quella variabile (assumendo che la variabile
validation_size = 0.20 sia numerica). I nodi foglia dell'albero contengono una
seed = 7
variabile di output (y) che viene utilizzata per effettuare
X_train, X_validation, Y_train, Y_validation = model_
selection.train_test_split(X, Y, test_size=validation_ una previsione. Le previsioni vengono effettuate cam-
size, random_state=seed) minando lungo le divisioni dell'albero fino ad arrivare a
un nodo foglia e generare il valore della classe in quel
15
SCI&TECH
16
SCI&TECH
Figura 2: accuratezza, matrice di confusione e rapporto di classificazione per l'algoritmo KNN operante sul set di convalida.
vazioni in ogni classe (raramente) e solo quando tutte di simile a quanto riportato in figura 2.
le previsioni e gli errori di predizione sono ugualmente
# Make predictions on validation dataset
importanti. La matrice di confusione è una comoda
knn = KNeighborsClassifier()
presentazione della precisione di un modello con due
[Link](X_train, Y_train)
o più classi. L'accuratezza non è affidabile quando le
predictions = [Link](X_validation)
classi sono sbilanciate. La tabella 1 presenta un esem-
print(accuracy_score(Y_validation, predictions))
pio di matrice di confusione per un algoritmo di appren- print(confusion_matrix(Y_validation, predictions))
dimento automatico il cui scopo è classificare un anima- print(classification_report(Y_validation, predictions))
le come Gatto o Non-Gatto. Le previsioni sono disposte
sull'asse x e le classi attuali sull'asse y. L'accuratezza calcolata risulta pari a 0,9 o 90%. La ma-
Le decisioni prese dall'algoritmo possono ricadere in trice di confusione fornisce un'indicazione dei tre errori
una delle 4 celle (VP, VN, FP, FN) della tabella. In ogni commessi. Infine, il rapporto di classificazione fornisce
cella avviene il conteggio del numero di volte che l'algo- una suddivisione di ogni classe per precisione, richiamo,
ritmo ha preso una decisione caduta nella cella stessa. punteggio f1 mostrando risultati eccellenti (nonstante il
Le celle sono cosi descritte: set di dati di convalida fosse piccolo).
• la previsione Gatto su un animale effettivamente
Gatto prende il nome di Vero Positivo (VP); CONCLUSIONE
• la previsione Non-Gatto su un animale effetti- In questo Articolo, suddiviso in due parti, è stato descrit-
vamente Gatto prende il nome di Falso Positivo to il procedimento passo dopo passo per implementare
(FP); un progetto di machine learning nel linguaggio di pro-
• la previsione Gatto su un animale effettivamen- grammazione Python. Il completamento di un piccolo
te Non-Gatto prende il nome di Falso Negativo progetto, dal caricamento dei dati al fare previsioni è
(FN); il modo migliore per familiarizzare con una nuova piat-
• la previsione Non-Gatto su un animale effettiva- taforma. Non tutti i passaggi di un progetto di machine
mente Non-Gatto prende il nome di Vero Nega- learning sono stati trattati perché è meglio concentrare
tivo (VN). l'attenzione su pochi passaggi chiave, piuttosto che per-
Il rapporto di classificazione presenta quattro metriche: dersi in troppi dettagli. Caricare i dati, esaminarli, valuta-
la precisione, il richiamo, il punteggio f1 e il supporto re algoritmi e fare previsioni sono le fasi fondamentali di
per ogni classe. Precisione e Richiamo vengono cal- qualsiasi progetto di apprendimento automatico.
colati in base alla matrice di confusione. La Precisione
è data dal rapporto tra (VP/VP+FP), ovvero sul totale Lo script completo si può scaricare facendo clic su
di classificati come Gatti quanti realmente sono Gatti; questo link
mentre il Richiamo come (VP/VP+FN), ovvero sul totale
dei veri gatti quanti sono stati classificati correttamen-
te. Punteggio f1 è una media armonica ponderata delle
L’autore è a disposizione nei commenti per eventuali
metriche Precisione e Richiamo in modo tale che il pun- approfondimenti sul tema dell’Articolo. Di seguito il link per
teggio migliore sia 1 e il peggiore sia 0. Si calcola come accedere direttamente all’articolo sul Blog e partecipare alla
2*(Precisione*Richiamo)/(Precisione+Richiamo). Pas- discussione:
[Link]
sando al codice, inserendo nello script l'ultima parte
descrizione-del-codice
del codice e lanciandolo si dovrebbe ottenere qualcosa
17
L’importanza dei driver
R O BO T motori
di Pavan Andrea
In quasi tutte le piccole grandi applicazioni robotiche c'è la necessità di "azionare" motori elettrici per il
movimento del robot, quale per esempio quello relativo alle braccia meccaniche, oppure meccanismi di
pan & tilt, posizionatori e numerosi altri. Ogni tecnologia costruttiva di motori elettrici richiede un par-
ticolare tipo di "pilotaggio", un motore in corrente continua a spazzole può essere messo in rotazione
semplicemente fornendo tensione continua sufficiente ai suoi morsetti, mentre per un motore di tipo
brushless tutto ciò non basterà. L'oggetto che si interpone tra motore e "intelligenza" viene chiamato
driver e, in questo articolo, dopo aver discusso e illustrato qualche nozione generale, ne verranno
presentati ed analizzati tre in particolare: l'Arduino Motor Shield R3 , il Pololu Dual MC33926 (versione
adattata per Raspberry Pi) e il TB6612FNG della Sparkfun.
L
'interfaccia in ingresso ad un driver motori ha il per esempio: finecorsa, encoder, effetto Hall ecc. ecc.
compito di comunicare al motore le funziona- I motivi per i quali può essere conveniente/necessario
lità desiderate, rispettando i limiti delle capacità un driver motori opportuno sono i seguenti:
circuitali e del cinematismo (Figura 1). La logica inter- • solitamente l'oggetto che gestisce la logica (mi-
na al driver elaborerà la nostra richiesta fornendo in crocontrollore, PLC, PC ecc. ecc.) non è in gra-
output dei segnali adatti a pilotare il generico stadio di do di pilotare direttamente un motore (in primis)
amplificazione che per esempio, potrebbe essere un per le grandezze elettriche in gioco. Per esem-
comune "ponte-H". Lo stadio di amplificazione, a sua pio, solitamente un GPIO (General Purpose In-
volta, "reimpasterà" le grandezze elettriche in ingresso put Output) di un microcontrollore può "erogare"
dall'alimentazione: tensione, frequenza, corrente ecc. al massimo 15mA e una tensione che non su-
e le trasformerà opportunamente per pilotare il motore pererà quella di alimentazione dello stesso (5V,
elettrico collegato alla sua uscita. Il motore potrebbe, se 3,3V), quindi, come farà per esempio a pilotare
necessario e se supportato dal driver, fornire dei segnali un motore avente per tensione di funzionamento
19
ROBOT
12V e una corrente assorbita nominale di 1A? Si al driver il compito di interfacciarsi correttamente
rischierebbe di bruciare il microcontrollore. con il motore.
• A volte, nei driver motori più "smart", sono già
implementati controlli di coppia, velocità e altre COME SCEGLIERE UN DRIVER MOTORI?
grandezze fisiche legate al motore e al suo ci- Una volta compreso il generico funzionamento e, capiti
nematismo, quindi, tramite la logica, dovremo i motivi e le necessità per cui si utilizza un driver motori,
preoccuparci solamente di indicare il valore de- proviamo a redarre una lista delle caratteristiche e dei
siderato della grandezza opportuna e il driver si parametri di cui uno sviluppatore deve tener conto nella
occuperà autonomamente di portarla al valore scelta del driver:
desiderato. • Tipologia di motore da pilotare: motore asin-
• I driver motori sono già ottimizzati per le nume- crono trifase, motore in corrente continua a spaz-
rose e particolari tecnologie costruttive dei mo- zole, motore passo-passo, motore brushless
tori. Per esempio, il pilotaggio di un motore con cassa rotante, motore sincrono ecc.
di tipo passo-passo richiederebbe parecchio • Potenza elettrica, tensione nominale, cor-
tempo di sviluppo software & hardware, men- rente e frequenza nominale del motore: que-
tre l'utilizzo di un apposito driver permetterebbe ste grandezze fisiche devono essere inferiori e
allo sviluppatore di dare in pasto al driver stesso compatibili con le caratteristiche del driver scel-
solamente il movimento desiderato, tralasciando to. Per esempio, un driver capace di pilotare un
20
ROBOT
motore da 12V 4A non potrà pilotare un motore un tempo di permanenza a livello alto chiamato anche
da 20V 10A. "duty cycle" ed espresso in percentuale rispetto al perio-
• Potenza elettrica, tensione, corrente e fre- do "T" del segnale. Vediamo un esempio:
quenza nominale disponibili dalla fonte di • Periodo: 1s -> frequenza: 1Hz
alimentazione: batteria/e nelle varie chimiche • Duty cycle: 70%
disponibili, alimentazione da rete industriale a
50Hz, alimentazione da BUS in corrente con- In accordo a questi parametri il segnale PWM, avente
tinua, alimentazioni con tensioni differenti da periodo 1 s, avrà un tempo di permanenza a livello alto
quelle di lavoro del motore da pilotare ecc. ecc. di 0,7s (70% di 1 s) e un tempo di permanenza a livello
• Tipologia di azionamento: le applicazioni pos- basso di 0,3s. Di seguito, in figura 2, le formule utilizza-
sono spaziare dal posizionamento di un utensile te per il calcolo dei tempi del segnale a livello alto e a
su un asse di una CNC , alla trazione elettrica, livello basso.
al mantenimento di una coppia o una velocità Ora, definito il PWM, vediamo cosa capita se con que-
costante ecc. sto segnale pilotiamo un interruttore statico che a sua
• Interfaccia con l'intelligenza: Ethernet, USB, volta pilota un motore.
ingressi digitali, ingressi analogici ecc. A secon- Come illustrato in figura 3, il segnale PWM pilota l'in-
da di quali periferiche ha a bordo "l'intelligenza", terruttore statico "chiudendolo" quando il segnale è alto
e quali sono i tempi di risposta del sistema de- e, "aprendolo" quando il segnale è basso. L'interruttore
siderati. statico, che in questo caso è anche lo stadio di "poten-
za", a sua volta pilota il motore alimentandolo/disali-
LA TECNICA DI PILOTAGGIO: IL PWM mentandolo numerose volte ogni secondo. Il risultato
Il PWM (Pulse Width Modulation) è la modulazione di un finale di questi veloci "on-off" è quello qualitativamente
impulso digitale nella quale, variando i tempi di perma- illustrato nei grafici di figura 4 dai quali si evince che,
nenza del segnale a livello alto e a livello basso, possia- all'aumentare del duty cycle, quindi della permanenza
mo scambiare dei dati oppure, come nel nostro caso, del segnale a livello alto, la coppia meccanica o cop-
pilotare un interruttore statico (un Mosfet, un transistor pia all'albero erogata dal motore aumenta nel corso
ecc.) ad alta frequenza. Il segnale è contraddistinto da del tempo. In sostanza, prendendo in considerazione la
Figura 4: Grafici qualitativi della relazione tra coppia sviluppata all'albero e duty cycle del PWM.
21
ROBOT
nostra applicazione, maggiore sarà il duty cycle, mag- • Tensione di alimentazione esterna: da 5 a
giore sarà la velocità di rotazione dei motori. 12V.
• Driver motori: L298 (in package PowerSO20).
L'ARDUINO MOTOR SHIELD R3 • Massima corrente: 2A o 4A con alimentazione
Arduino Motor Shield è un driver dual full-bridge per esterna per canale.
pilotare due motori a corrente continua con la scheda • Tipi di motori pilotabili: motore passo-passo,
Arduino, controllando a sua volta la velocità e la direzio- motore a spazzole in corrente continua.
ne di ciascuno di essi in modo indipendente (figura 5). • Interfaccia: PWM e input digitali.
È inoltre possibile misurare l'assorbimento di corrente di • Altro: funzione di frenatura, senso di rotazione,
ogni singolo motore. feedback analogico della corrente assorbita,
Caratteristiche principali: protezione da sovratemperatura.
22
ROBOT
L'integrato "L298" è un driver dual full-bridge adatto a pi- pilotare carichi induttivi come motori, solenoidi e relè.
lotare carichi induttivi. Può essere acquistato nei packa- Viene fornito nel package 32 pin PQFN, contiene al suo
ge Multiwatt 15 e PowerSO20, e contiene al suo interno interno tutta la logica e la parte di potenza per pilotare
la logica e gli stadi di amplificazione per pilotare due ca- due canali in entrambe le direzioni. Dispone inoltre di
nali in entrambe le direzioni. Dispone inoltre di feedback feedback della corrente assorbita e l'abilitazione/disabi-
della corrente assorbita e l'abilitazione/disabilitazione di litazione di ciascun canale. Lo schema elettrico è visua-
ciascun canale (Figura 6 e 7). lizzato in figura 10, mentre nella figura 11 i collegamenti
Oltre all'integrato L298, Arduino Motor Shield R3 si con la board Raspberry.
compone di diodi di ricircolo, gli operazionali per portare La sorgente di alimentazione esterna viene connessa ai
a fondo scala di 3,3V il feedback della corrente assor- morsetti "VIN" e "GND", i motori ai due canali disponibili:
bita, qualche led per segnalare la direzione di moto, la "M1A", "M1B" e "M2A", "M2B". La board inoltre, ha un
possibilità di abilitare e disabilitare la funzione di frena- regolatore DC/DC a bordo che permette di alimentare
tura, l'impostazione tramite pin digitale della direzione e Raspberry Pi con i 5V richiesti.
la compatibilità con Arduino UNO. In figura 8 è visualiz-
zato lo schema elettrico. IL DRIVER TB6612FNG
Il driver TB6612FNG è una "breakout-board" adatta a
IL POLOLU DUAL MC33926 MOTOR DRIVER pilotare motori passo-passo e motori in corrente con-
PER RASPBERRY PI tinua di piccola taglia: 1,2A per canale e una tensione
Il driver Pololu consta di due Freescale MC33926 H- massima di alimentazione dei motori di 15V. A differen-
bridge con un ampio campo di funzionamento da 5 - 28 za delle precedenti si presenta con una forma adatta ad
V e può offrire quasi 3 A continua (5 A picco) a ciascun essere installata e interfacciata con qualunque micro-
motore. MC33926 dispone di protezione di bassa ten- controllore che, in alcune applicazioni, può essere utile
sione, protezione da sovracorrente e sovratemperatura per motivi costruttivi e dimensionali (figura 12).
(figura 9). Caratteristiche principali:
Caratteristiche principali: • Tensione di alimentazione esterna: 15V max
• Tensione di alimentazione esterna: da 5 a per i motori, da 2,7 a 5,5V per la logica.
28V. • Driver motori: TB6612FNG (in package
• Massima corrente: 3A per canale. SSOP24).
• Tipi di motori pilotabili: motore passo-passo, • Massima corrente: 1,2A per canale.
motore a spazzole in corrente continua. • Tipi di motori pilotabili: motore passo-passo,
• Interfaccia: PWM e input digitali. motore a spazzole in corrente continua.
• Altro: limitazione di corrente, senso di rotazio- • Interfaccia: PWM e input digitali.
ne, feedback analogico della corrente assorbita, • Altro: senso di rotazione, protezione da sovra-
protezione da sovratemperatura. temperatura, frenata.
L'integrato "MC33926" è un driver full-bridge adatto a Il TB6612FNG della Toshiba è un IC dual full-bridge for-
23
ROBOT
24
ROBOT
CONCLUSIONI
Figura 9: Il Pololu Dual MC33926 per Raspberry Pi. Il mercato offre numerosissime possibilità per l'acquisto
di un driver motori: dal più costoso al meno, dall'open
nito nei package SSOP24 e può pilotare due canali in- source a quello non open source, da quello con svariate
dipendentemente. Necessita di due alimentazioni: una funzioni e controlli a quello che assolve al solo com-
per la parte di logica e controllo, l'altra per i motori; que- pito di "amplificatore", l'importante è tenere conto delle
ste ultime possono coincidere se entrambe rientrano nei nostre esigenze progettuali/realizzative e "incastrare" il
5,5V massimi applicabili ai pin di alimentazione della giusto driver tra "intelligenza" e motori/e. Nel mercato
Figura 10: Lo schema elettrico della Pololu MC33926 per Raspberry Pi.
25
ROBOT
26
ROBOT
L'uso dei motori in settori quali l'automotive e quello in- Gli azionamenti controllano il movimento di parti mec-
dustriale è sempre più diffuso, grazie anche all'affidabi- caniche e sono ampiamente utilizzati in varie applica-
lità meccanica che combinata con una circuiteria elet- zioni come sistemi di trasporto, ventilatori, pompe, così
tronica garantisce un ottimo sistema di controllo delle come in molti prodotti consumer.
movimentazioni. I motori passo passo per esempio tro-
vano applicazione nelle stampanti 3D; la loro precisione
permette di ottenere piccoli movimenti, detti appunto
L’autore è a disposizione nei commenti per eventuali
step, al fine di permettere alla stampante di eseguire la-
approfondimenti sul tema dell’Articolo. Di seguito il link per
vorazioni precise. La velocità di rotazione viene control- accedere direttamente all’articolo sul Blog e partecipare alla
lata applicando il concetto di azionamento che permette discussione:
di ottimizzare i movimenti in relazione all'obiettivo della [Link]
27
Realizzare una bobina in
MAK ER
casa dal valore ESATTO
di Giovanni Di Maria
Le bobine sono componenti elettronici da autocostruire, poiché sul mercato difficilmente si trovano
esemplari che soddisfino esattamente le esigenze del progettista. In questa guida vedremo come re-
alizzare facilmente, e in modo preciso, gli induttori con nucleo ad aria, avvolte su un singolo strato di
filo. Vedrete che, in definitiva, per la realizzazione di una bobina occorre più matematica che lavoro
fisico.
Q
uando ero ragazzino, durante un viaggio a che prevedeva la costruzione di un ricevitore a cristallo,
Roma, comprai in una bancarella il famoso libro ovviamente da zero.
di Ravalico, dal titolo "Primo avviamento alla Mi procurai, dunque, i primi componenti elettronici: cuf-
conoscenza della radio" (vedi figura 1). Parliamo di circa fia ad alta impedenza, condensatore variabile, fili elet-
quarant'anni fa, ne rimasi fulminato e, man mano che trici, diodo al germanio; sembrava tutto filare liscio per
sfogliavo le pagine, la voglia di iniziare a ricevere i primi il reperimento dell'occorrente quando mi bloccai per la
segnali dall'etere aumentava a dismisura. Ero ancora bobina: un grosso tubo dal diametro di 5 cm. e lungo 20
alle prime armi e le mie conoscenze sull'elettronica era- cm. Mi recai presso la rivendita di componenti elettroni-
no minime. Mi soffermai, ovviamente, alla realizzazione ci e, mostrando l'illustrazione dell'induttore al venditore,
chiesi se era disponibile.
L'uomo mi guardò con uno sguardo tra lo stupito e il te-
nero e mi disse che queste tipologie di componentistica
non esistevano sul mercato e dovevano essere realiz-
zate in casa.
Ovviamente fui preso dallo sconforto: pur seguendo i
28
MAKER
LA BOBINA AUTOCOSTRUITA
Il presente articolo tratterà di bobine autocostruite su
un nucleo d'aria e composte da un solo strato di avvol-
gimento (vedi figura 2). Si vedrà come alcune formule
matematiche, ben precise, governeranno tutti i parame-
Figura 3: formula per calcolare l'induttanza di una bobina.
tri iniziali e finali. Si vedrà, soprattutto, come le varie
grandezze e i parametri coinvolti nella realizzazione si-
consigli del libro capii subito che un valore induttivo non ano strettamente connessi tra di loro ed è sufficiente
poteva essere ottenuto da un numero aleatorio di spire la modifica di un solo valore per sovvertire l'intera ope-
intorno al tubo ma che, invece, ci sarebbe stata dietro razione finale. La costruzione di una bobina, per alta
una legge matematica (avevo già da piccolo la passione frequenza e non, potrebbe risultare problematica per chi
per i numeri). non possiede un induttanzimetro. Per fortuna esistono
Il volume di Ravalico non faceva un minimo accenno a delle buone formule empiriche che aiutano il progettista
equazioni e formule ma si limitava a riportare il numero nel calcolo e nella realizzazione degli avvolgimenti, rag-
di giri di filo elettrico, dal diametro di un certo valore, giungendo un buon grado di precisione.
intorno ad un tubo di cartone o plastica.
Se avessi avuto le conoscenze che ho adesso, tutto sa- LA NOSTRA PRIMA BOBINA
rebbe stato più semplice e avrei realizzato la mia radio Il primo esperimento dimostrerà come i parametri co-
con cognizione di causa, e invece mi toccava seguire struttivi di un induttore possano influenzare in manie-
ciecamente le istruzioni imposte, senza ottenere alcune ra decisiva il valore del componente. Per il momento,
motivazioni sulla scelta dei componenti e relativi valori. senza badare a misure di lunghezza, di spessore e di
Inoltre, a quei tempi, non esisteva Internet come lo co- numero di spire, si prenda un tubetto di plastica (o altro
nosciamo oggi e l'accesso a una documentazione tec- materiale isolante, come il legno, il cartone o la plastica)
nica era alquanto difficoltosa. Purtroppo non disponevo e si avvolga attorno, in modo molto stretto e serrato,
ancora di un induttanzimetro e non sapevo neanche il del filo elettrico per tutta la sua lunghezza, lasciando un
valore necessario posseduto della bobina (in microHen- paio di centimetri non coperti alle estremità. Per permet-
ry) poiché il libro non lo spiegava. tere un'ottima stabilità dell'avvolgimento si pratichino
Le mie domande erano, dunque, sempre le stesse: "Se due fori, uno iniziale e uno finale, per poter assicurare
aumento o diminuisco il valore del condensatore varia- il filo in modo che non scappi via una volta che è stato
bile, devo modificare quello della bobina?", "Esiste un fissato. Se si vuole migliorare l'aspetto estetico si potrà
nesso tra capacità e induttanza?", e così via. preventivamente verniciare la superficie del supporto
All'età di 10-12 anni queste domande non erano ascol- con smalto spray di opportuno colore, ma alle alte fre-
tate dai "grandi" e, come detto prima, i mezzi per re- quenze è bene stare sempre attenti alle capacità paras-
perire le informazioni tecniche erano alquanto scarse site causate dai fattori più disparati. L'aspetto didattico,
(parliamo degli anni 1975-80). infatti, è in primo piano e i discenti odierebbero delle
prove effettuate con materiale "brut-
to a vedersi". Anche in questo caso,
dunque, l'occhio vuole la sua parte.
Il componente che abbiamo realiz-
zato non è semplicemente un filo av-
volto ma un complesso componente
elettronico senza il quale molte appa-
recchiature non potrebbero esistere,
tra le quali i radioricevitori e trasmet-
titori. Un dato assolutamente da co-
noscere della bobina è il valore della
sua induttanza, espresso in Henry.
Senza un opportuno strumento di
misura sarebbe oltremodo difficile
calcolarlo, se non quello di disporre
Figura 4: bobina autocostruita per la prima misurazione. di generatori di segnali, di oscillosco-
29
MAKER
pi e quant'altro. Tale parametro è strettamente legato • diametro delle spire (D): 2.1 cm;
alle caratteristiche fisiche della bobina, e come struttura • lunghezza della bobina (L): 7.5 cm;
cilindrica più semplice possibile, la sua induttanza è in- • numero delle spire (N): 43.
fluenzata da:
• diametro delle spire (d); Applicando le misure effettuate e sostituendole alla for-
• lunghezza totale della bobina (l); mula di figura 3, otteniamo l'induttanza della bobina,
• numero delle spire (n); pari a 9.51 microHenry. Come si vede in figura 6, la
• diametro del filo utilizzato; misurazione reale con un buon induttanzimetro re-
• distanza tra una spira e la successiva. stituisce un risultato abbastanza affidabile. Per la
natura dello strumento utilizzato, bobine con maggiori
Per la determinazione del valore finale esistono molte induttanze permettono di ottenere risultati ancora più
equazioni, alcune generiche e meno precise, altre più precisi.
adatte per certe tipologie di bobine. Come al solito, è
la Matematica a svelare i segreti di tutto. CALCOLI CON IL PARI/GP
Una delle più semplici formule in assoluto, e quella che Al fine di automatizzare i calcoli, liberandosi dallo stress
proponiamo in figura 3, particolarmente adatta ad esse- di una normale calcolatrice, e velocizzare il processo
re applicata ad induttori con una lunghezza di almeno aritmetico, è possibile utilizzare il programma Pari/GP.
0.4d, cioè 0,4 volte il diametro delle spire. In altre paro- E' sufficiente creare una funzione numerica come la se-
le, la lunghezza della bobina deve essere apprezzabile, guente:
rispetto il diametro delle spire. L'induttanza (L) è espres-
sa in microHenry, il diametro delle spire (d) in centimetri L(d,l,n) = 0.394 * ( (d2 * n2) / (18 * d + 40 * l) )
come pure la lunghezza (l). Essa non prevede lo spes-
sore del filo e la distanza tra le spire, in quanto è la stes- e quindi sostituire i valori:
sa formula strutturata in modo che tali grandezze siano
ricavate indirettamente. Il coefficiente 0.394 permette di L(2.1 , 7.5 , 43)
adattare la formula ai centimetri. Senza di esso il calco-
lo è riferito alle misure in pollici, ma occorre modificare come mostrato in figura 7. In alternativa si può utilizzare
qualche parametro. con successo un foglio elettronico o, addirittura, realiz-
La figura 4 mostra la bobina realizzata e pronta per es- zare un piccolo software adatto allo scopo.
sere misurata, sia con un induttanzimetro che con la
formula riportata sopra. Vedremo se i due risultati com- ALTRE FORMULE
bacieranno. Esistono tante formule, alternative e ottimizzate, che
Misurando con un calibro il componente appena realiz- permettono di ottenere e di calcolare l'induttanza di una
zato, registriamo le seguenti quote, espresse in centi- bobina cilindrica con i parametri sopra riportati. Una di
metri: queste è la seguente:
30
MAKER
della bobina, espressa in Henry (H); Il valore di Y, sempre nella rivista sopra citata, doveva
• N è il numero di spire; essere recuperato da una tabella tenendo conto del rap-
• µ0 è la permeabilità dello spazio libero, equiva- porto tra il diametro e la lunghezza della bobina. Con la
lente a 4π*10^-7; nostra modifica, tale calcolo è stato, in un certo senso,
• µr è la permeabilità relativa; semplificato, per cui il valore di Y può essere determina-
• D è il diametro della spira; to secondo la seguente formula, che rispetta il modello
• d è il diametro del filo utilizzato. matematico MMF:
LE FORMULE INVERSE
Con le formule sopra esposte, il progettista riesce a cal-
colare e a ottenere il valore di induttanza di una bobina
(in microHenry) avendo a disposizione i vari parametri
di lunghezza, del raggio, del diametro, del numero di
spire, ecc. In questo modo, però, la bobina viene re-
alizzata dopo aver effettuato vari tentativi di avvolgi-
mento. Non si conoscono, infatti, a priori alcuni dati
costruttivi del componente. Ad esempio, una tipica
esigenza che si verifica soprattutto per la realizzazione
di un radioricevitore è la seguente:
"Devo realizzare una bobina dal valore di 325 µH e ho a
disposizione un tubo di plastica dal diametro di 52 mil-
limetri e del filo da 1 millimetro di diametro. Quanti giri
di filo devo effettuare attorno al tubo?" E' possibile, in
questa fase, decidere anche la spaziatura tra le spire
(anche minima), scelta molto consigliata per ridurre la
capacità parassita tra spira e spira.
Dando in pasto i dati alla formula di cui alla figura 10, i
risultati sono:
• Giri da effettuare: 154;
• Lunghezza effettiva della bobina scelta da noi:
18 cm.
31
MAKER
32
Ricetrasmettitore
S C I& T EC H a RF: omodina e
supereterodina
di Andrea Garrapa
N
ella progettazione di un ricetrasmettitore RF si originario. La figura 2 riporta lo schema a blocchi di un
ha a che fare con numerose scelte necessarie tipico ricetrasmettitore digitale.
all'ottimizzazione del sistema. La figura 1 rap- I blocchi DSP rappresentano le unità di elaborazione del
presenta le principali variabili in gioco e i legami tra loro. segnale digitale in cui vengono effettuate le operazioni
Ad esempio se si volesse diminuire il rumore si potreb- di modulazione, codifica e cifratura e le relative opera-
be scegliere di aumentare la potenza oppure sacrificare zioni inverse rispettivamente in fase di trasmissione e
un pò di linearità. ricezione. All'interno del transceiver vi sono i blocchi
All'interno di un transceiver vi sono un trasmettitore (TX) Trasmettitore (TX) e Ricevitore (RX) necessari per per-
ed un ricevitore (RX): il primo elabora il segnale e ap- mettere al segnale di viaggiare sul canale (Channel).
plica il risultato all'antenna, mentre il secondo rileva il Ogni blocco è costituito a sua volta da due sottoblocchi,
33
SCI&TECH
34
SCI&TECH
35
SCI&TECH
piezza del blocker varia nel tempo, in uscita dal siste- SNRo, rispettivamente il rapporto segnale-rumore all'in-
ma il segnale desiderato presenterà una modulazione gresso del sistema e all'uscita:
di ampiezza non desiderata (Cross modulation). Tale
modulazione spesso si verifica negli amplificatori che
devono elaborare simultaneamente segnali da canali
indipendenti.
Se invece ci sono due interferenti ad accompagnare il
segnale, all'uscita di una sistema non lineare si avrà In-
termodulazione. Ovvero oltre alle armoniche dei toni, Se lo stadio non introduce rumore allora NF vale 1, al-
in uscita si avranno anche toni a frequenza pari alla trimenti NF sarà maggiore di 1. Per una successione di
somma delle armoniche. Ad esempio, se ω1 e ω2 sono n stadi in cascata la cifra di rumore totale NFTOTAL può
le frequenze dei due toni, in uscita dal sistema si avran- essere valutata con la seguente formula:
no altri toni a frequenza 2ω1, 2ω2, 3ω1 etc, ma anche
ω1+ω2, 2ω1+ω2 etc. Nei ricevitori si ha a che fare con
cascate di stadi non lineari. In questo caso i prodot-
ti di non linearità alla fine della cascata sono cer-
tamente maggiori della somma dei prodotti di non
linearità dei singoli blocchi. tale formula afferma che il contributo di rumore di
Per combattere questi fenomeni occorrono sistemi il più ogni stadio diminuisce all'aumentare del guadagno
possibile lineari, ma anche filtri che siano in grado di degli stadi precedenti.
selezionare il segnale di interesse lasciando fuori gli in- Nel design di circuiti a RF un parametro che meglio de-
terferenti. scrive le richieste in termini di rumore di un sistema è la
Occorre cioè una buona selettività dei filtri (identi- Sensitivity.
camente un elevato fattore di qualità Q) affinchè vi Esso rappresenta il livello minimo di segnale che un ri-
sia una sufficiente reiezione degli interferenti. cevitore può rilevare con un'accettabile qualità, ovvero
un'accettabile rapporto segnale-rumore.
RUMORE
Il rumore elettronico presente nei dispositivi limita i ri- ARCHITETTURE DEI RICEVITORI A RF
cevitori a RF, nel rilevare i segnali di debole entità. Il Nei precedenti paragrafi sono stati delineati i due prin-
rumore è dovuto principalmente alle fluttuazioni irrego- cipali parametri che caratterizzano i ricevitori a RF: la
lari delle cariche elettriche nei conduttori. Si tratta quindi selettività e la sensitivity. Il primo ha a che fare con la
di un processo aleatorio caratterizzato per mezzo della linearità del sistema mente il secondo con la capacità
Densità Spettrale di Potenza (PSD) S(f). Nel design di di distinguere un segnale di debole potenza rispetto al
circuiti operanti a RF, per misurare le caratteristiche di rumore.
rumore di un sistema si utilizza il parametro noto come Questi due parametri dovrebbero essere entrambi ele-
Figura di Rumore o Cifra di Rumore (Noise Figure), vati, purtroppo spesso le due richieste risultano in con-
indicato con la sigla NF. NF rappresenta una misura trasto tra loro, e se non lo sono ci sarà un terzo fattore a
della degradazione di un segnale che passa attraverso farne le spese come la potenza o la complessità.
un sistema, ed è valutato come il rapporto tra SNRi e Nei moderni ricevitori RF, i filtri di selezione dovrebbe-
36
SCI&TECH
37
SCI&TECH
fRF e quella dell'oscillatore locale fLO1. stesso ruolo che svolgevano nel ricevitore ete-
• Segue poi un filtraggio a frequenza fIF e un'am- rodina.
plificazione che preparano il segnale per essere • La conversione in frequenza avviene portando
poi convertito in banda base ed elaborato ulte- direttamente il segnale in banda base, quindi la
riormente. frequenza dell'oscillatore locale sarà pari a fRF
(fLO = fRF).
Il mixer converte il segnale proveniente da LNA, alla • Per portare il segnale in banda base si utilizza un
frequenza intermedia fIF. Questo valore di frequenza mixer che effettua una I-Q down-conversion
sara dato dalla differenza tra |fRF - fLO1|. Dalla figura 7 si (fase - quadratura), in sostanza si sdoppia il se-
può notare che se un disturbo è presente alla frequenza gnale moltiplicandolo per una sinusoide (fase) e
fLO + fIF, verrà traslato alla frequenza fIF dopo la down- per la stessa sfasata di 90 gradi (quadratura). I
conversion. Per questo si rende necessario un filtro di segnali reali sono in genere simmetrici, ma alcu-
reiezione dell'immagine prima del mixaggio. ni fattori possono alterare tale simmetria. La I-Q
down-conversion permette di mitigare queste
RICEVITORE OMODINA problematiche.
Il ricevitore omodina anche noto come ricevitore a • Quindi un filtro passa basso (LPF) per selezio-
conversione diretta è un'altra architettura notevole per nare il canale d'interesse prima dell'elaborazio-
quanto concerne i ricevitori a RF. Esso permette di con- ne in banda base.
vertire il segnale a RF direttamente in banda base sen-
za passare da frequenze intermedie. In figura 8 viene Gli ultimi due blocchi descritti vengono applicati tali
riportato lo schema a blocchi del ricevitore omodina. e quali al ricevitore supereterodina dopo l'amplifi-
Andiamo a descrivere i singoli blocchi: catore IFA e prima dell'elaborazione in banda base.
• Il filtro RF e l'amplificatore LNA svolgono lo Nel ricevitore omodina il filtro passa basso (LPF) pre-
38
SCI&TECH
Riconfigurabilità DC offset
39
Il progetto DREAM 2020
S C I& T EC H
e l’utilizzo dei robot nel
trattamento dell’autismo
di Fabio Ambrosino
I rapidi sviluppi tecnologici degli ultimi anni, in particolar modo nel campo della robotica, hanno portato
a innovazioni terapeutiche importanti nella cura dei pazienti affetti da disturbi dello spettro autistico
(DSA). Il progredire della ricerca ha permesso di realizzare dei dispositivi in grado di sostituire o affian-
care il terapeuta umano in molti dei compiti finalizzati a migliorare le competenze sociali e individuali
delle persone autistiche. Tuttavia, nonostante l’utilizzo di robot nel trattamento dei bambini con DSA
abbia suscitato l’interesse dei media nel corso degli ultimi dieci anni, quest’area di ricerca si trova an-
cora in fase embrionale e saranno necessari ancora molti studi prima che si possano definire dei pro-
tocolli terapeutici strutturati. A questo obiettivo puntano molti progetti di larga portata, come l’europeo
DREAM2020, il quale prende in esame l’impiego di due prototipi: Nao e Probo.
TRATTAMENTO DELL’AUTISMO: PERCHÈ I suo bambino o alla sua bambina, ha ingiustamente col-
ROBOT? pevolizzato centinaia di donne per anni.
P
er i genitori dei bambini affetti da disturbi dello Ora invece, pur non essendo ancora chiare tutte le va-
spettro autistico quello di non poter creare un riabili che determinano lo sviluppo della malattia, è noto
vero legame emotivo con i propri figli rappresen- che l’autismo coinvolge una componente genetica
ta uno degli aspetti più dolorosi della malattia. In passa- non trascurabile e che le problematiche sociali che af-
to si era persino giunti a credere che proprio l’assenza fliggono questi pazienti sono da considerare più un sin-
di un’adeguata relazione tra madre e figlio fosse alla tomo che una causa della patologia.
base della patologia. Il modello della cosiddetta “madre- La maggior parte dei DSA, che sono tra i disturbi neu-
frigorifero”, incapace di trasmettere il proprio amore al ropsichiatrici infantili più diffusi, si caratterizza infatti per
40
SCI&TECH
problemi nella comunicazione e nell’interazione so- modo limitato, lo sviluppo di queste competenze.
ciale, oltre che per pattern comportamentali stereotipati Negli ultimi anni invece si è assistito a un radicale cam-
e gli interessi limitati. biamento nell’approccio terapeutico di questo di-
Questi sintomi emergono molto presto nella vita di que- sturbo. Infatti, da alcuni studi è emerso che le capacità
sti individui e persistono durante tutte le fasi dello svi- di imitazione e di attenzione condivisa dei bambini
luppo. autistici migliorano maggiormente quando nel set-
Pur manifestando un leggero miglioramento nel corso ting terapeutico vengono coinvolti degli strumenti
dell’adolescenza e nella vita adulta, i DSA sono infat- tecnologici.
ti da considerarsi una malattia debilitante cronica, Molte teorie hanno provato a ipotizzare il perché di que-
spesso associata a una prognosi piuttosto negativa: la sta preferenza per l’interazione con le macchine elet-
maggior parte dei pazienti necessita di cure professio- troniche.
nali per tutta la vita. Una di queste, detta Teoria della Mente e descritta nel
Come detto, anche se molte teorie sono state ipotizza- 1997 dallo psicologo Simon Baron-Cohen, sostiene che
te, non esiste al momento una spiegazione esaustiva i bambini autistici abbiano delle difficoltà a interpreta-
dei fattori che determinano l’autismo. re gli stati mentali delle altre persone, come creden-
Per questo motivo, gran parte della ricerca psicologica in ze, desideri, intenzioni e emozioni.
questo campo si è focalizzata sullo studio dei compor- Di conseguenza, poiché comprendere le interazioni
tamenti di base (es. imitazione) e delle competenze umane può essere per loro molto complicato, questi
cognitivo-comportamentali (es. attenzione condivisa pazienti preferiscono interagire con strumenti tec-
e turn taking) associate ai deficit di comunicazione e nologici, i quali garantiscono una maggior prevedi-
di interazione sociale. bilità. Infatti, le situazioni sociali sono caratterizzate da
Infatti, è stato dimostrato che l’incapacità di imitare i un numero elevatissimo di informazioni da elaborare e
comportamenti altrui e di utilizzare l’attenzione condi- categorizzare mentre l’interazione con un robot è solita-
visa, cioè la capacità del bambino di coordinare la sua mente più semplice e stereotipata.
attenzione di con quella di un adulto, costituiscono dei Quindi, data questa preferenza per l’interazione con si-
marker affidabili nel determinare la futura evoluzione del stemi tecnologici si è pensato che i robot potessero ave-
disturbo. re delle potenzialità come mediatori nella relazione tra
Per oltre 40 anni, i ricercatori hanno quindi sviluppato bambino con DSA e terapeuta.
protocolli terapeutici finalizzati a migliorare queste ca- Nel cosiddetto approccio Robot-Mediator, il robot è
pacità, la maggior parte dei quali prevedeva una relazio- utilizzato come mezzo per facilitare il trattamento, in
ne adulto-bambino in un setting terapeutico più o meno quanto permette un coinvolgimento maggiore del pa-
costante ed era in grado di stimolare, anche se solo in ziente rispetto alle condizioni classiche di interazione
41
SCI&TECH
42
SCI&TECH
43
SCI&TECH
44
+ 130.000 REGISTERED USERS
THE BIGGEST
EMBEDDED
5.752 AVERAGE DAILY PAGEVIEWS COMMUNITY
IN ITALY
932.061 2018 ANNUAL VISITORS SOCIAL CONNECTIONS
CATEGORIES + 83.000
COMPANIES/CONSULTANTS
53 % + 23.000
ACADEMICS/STUDENTS
25 %
MAKERS/HOBBYISTS
22 %