HARDWARE
SISTEMA
DI MISURA 1-WIRE
prima parte
L’INTERFACCIA PER PC
di Nicola Ulivieri ([email protected])
e Luca Tondi ([email protected])
Come richiesto da alcuni lettori, ecco a Voi il progetto del sistema 1-Wire. In questo
articolo e in quelli che seguiranno, troverete tutte le indicazioni per realizzare un
sistema di misura e controllo professionale, estremamente versatile e gestito dal
vostro computer tramite porta USB. Il progetto è indicato sia per i meno esperti, che
potranno seguire passo-passo le istruzioni, sia per abili sperimentatori, desiderosi
di sbizzarrirsi nelle loro creazioni. Lo sviluppo di un sistema 1-Wire presenta diversi
aspetti interessanti: i sensori 1-Wire sono di tipo plug & play, ovvero permettono
l’automatica riconfigurazione del sistema, il costo di realizzazione è molto basso e
il software per la gestione del sistema è completo e gratuito.
Come indicato nell’introduzione, il
progetto che vi proponiamo,
riguarda l’implementazione di un
sistema di misura che è di interesse
sia per i non addetti ai lavori, sia per
gli esperti del settore, interessati alla
realizzazione di sistemi di monitoraggio e controllo in grado di gestire un elevato numero di dispositivi,
come convertitori A/D, sensori di
temperatura, potenziometri digitali
e così via. Tali dispositivi sono connessi tramite due soli fili e non
necessitano di alimentazione, grazie
al particolare tipo di bus utilizzato, il
Figura 1: Il dispositivo principale del sistema
1-Wire: l’adattatore per porta USB, DS2490
48 HARDWARE
1-Wire, sviluppato e registrato dalla
Dallas/Maxim che distribuisce pure
campioni gratuiti (samples) a ditte
e laboratori che ne fanno richiesta,
semplicemente compilando un
modulo (form) sul loro sito web
(www.maxim-ic.com).
Possono
essere richiesti al massimo due samples per ogni tipo, per un totale di
otto tipi di dispositivi diversi che
sono sufficienti per le realizzazioni
che vi proponiamo.
Ovviamente, coloro che necessitano di molti dispositivi o chi non ha
un’attività, potrà acquistarli ad un
IL 1-WIRE IN BREVE
• Rete Master/slave con unico
Master e fino a 500 slaves.
• Architettura multidrop.
• Comunicazione half-duplex.
• Dispositivi slaves autoalimentati
(parasite power)
• Velocità massima di trasmissione:
16kbps o 142kbps in Overdrive
Mode.
• Assenza di clock di sistema.
• Lunghezza massima del bus:
300m.
Figura 2: Esempio di connessione multidrop in un sistema 1-wire
HARDWARE
Figura 3: Schema elettrico dell’adattatore USB/1-Wire
prezzo comunque contenuto (es:
sensore di temperatura DS18S20,
2.57$; adattatore USB DS2490,
13.33$). Il progetto che vi proponiamo vi permetterà di gestire sensori di temperatura, convertitori
A/D e memorie EEPROM, ma potrete aggiungere voi molti altri dispositivi a vostro piacimento e…senza
riprogrammare nulla.
ARCHITETTURA
DEL SISTEMA 1-WIRE
L’introduzione teorica a “Il bus 1Wire” è stata pubblicata sul N°224
di Fare Elettronica ma per coloro
che non lo avessero letto (anche se
vi consigliamo di farlo), facciamo
qui un breve ripasso e riportiamo le
caratteristiche salienti nel riquadro.
Il 1-Wire, bus proprietario della
Dallas/Maxim, prevede un’architettura Master/Slave dove è previsto un
Elenco componenti - Adattore USB/1-Wire
Sigla
Valore
Package
R1, R2
24 Ω
1206
R3
1.5 KΩ
1206
R4
0 Ω (ponticello)
1206
C1, C2,
33 pF 50 V ceramico multistrato
C5, C6
1206
C3
100 nF 50 V ceramico multistrato
1206
C4
4.7 uF 50 V ceramico multistrato
1206
C7
1 uF 50 V ceramico multistrato
1206
U1
MAX8881
6/SOT23
U2
DS2490
16/SOIC.300
U3
DS9503
6/TSOC
L1, L2
Induttori SMD 10 µH
X1
Quarzo 12 MHz
CN1
Presa “mini-USB” per tecnologia SMT
J1
Presa RJ-11 SMT per circuito stampato (6 contatti)
SXA
HARDWARE
49
HARDWARE
Figura 4: Circuito stampato scala 1:1 (lato rame) dell’adattatore USB
solo Master (il PC nel nostro caso) e
molti slaves, fino a 500!
Gli slaves, cioè i sensori e gli altri dispositivi che compongono il sistema,
sono connessi con due soli fili e
ognuno in parallelo agli altri (connessione multidrop, figura 2).
Inoltre, tali dispositivi non necessita-
Figura 5: Schema di montaggio dei componenti dell’adattatore USB
(i componenti vanno montati sul lato rame)
no di alimentazione, in quanto la
“rubano” (parasite power) direttamente dal bus. Insomma, due fili
per tutto: interessante no?
REALIZZIAMO L’ADATTATORE
USB/1-WIRE (CHI BEN COMINCIA…)
Possono essere realizzati diversi tipi
Figura 6: L’adattatore USB/1-Wire
Figura 7: Il cavo di connessione per USB
Figura 8: Connettore RJ11 e connessioni del cavo
Figura 9: Il sensore di temperatura DS18S20 e
connessioni
50 HARDWARE
di Masters visto che la Dallas/Maxim
mette a disposizione i dispositivi di
interfaccia 1-wire/USB, 1-wire/RS232
e 1-wire/Parallela.
Per il nostro sistema è stata preferita l’interfaccia 1-wire/USB, sia perché sfrutta la porta USB, veloce e
ormai molto diffusa, sia per la
maggiore semplicità nella realizzazione del circuito visto il limitato
numero di componenti richiesti.
Chi fosse interessato agli altri adattatori, può contattare gli autori o
consultare il sito Internet della
Dallas/Maxim.
Il layout che vi proponiamo è sviluppato su un'unica faccia, in
modo da semplificare la realizzazione, che però è un po’ complicata dal fatto che i componenti sono
tutti a montaggio superficiale.
Figura 10: Il sensore di temperatura DS18S20
saldato su cavo e isolato con guaina
termorestringente
HARDWARE
Figura 11: Schema elettrico del circuito per la lettura della temperatura
Elenco componenti per il circuito
di lettura della temperatura
Sigla Valore
Package
Presa RJ-11
SMT per circuito
J1, J2
stampato
(6 contatti)
U1
Figura 12: Il circuito in scala 1:1 (lato rame) per
la lettura della temperatura
Infatti, poiché la Dallas/Maxim fornisce quasi tutti i suoi samples in
package SMD (surface mounting
device), abbiamo scelto di uniformare la scelta. Con un po’ di attenzione e impegno, vedrete comunque che le saldature potranno
essere eseguite anche con un
comune saldatore, a patto che
abbia una buona punta.
Come potete notare dallo schematico in figura 3, l’elemento principale del circuito di interfaccia è il
chip DS2490; tale dispositivo svolge la funzione di interfaccia e ricava l’alimentazione direttamente
dalla porta USB (5V) ridotta dal
regolatore di tensione MAX8881
(3.3V). Il DS9503 è un diodo zener
che serve per proteggere il master
da eventuali extratensioni o tensioni inverse che possono giungere
dal bus. La resistenza R3 serve da
Figura 13: Schema di montaggio dei dispositivi
(i componenti vanno montati sul lato rame)
pull-up sull’ingresso. Gli altri componenti sono di “contorno”, nel
senso che le loro funzioni sono
quelle di filtraggio e stabilizzazione
delle tensioni. Per i segnali di uscita è stato scelto il connettore RJ11
per uniformarsi alla scelta della
Dallas/Maxim, ma è chiaro che
può essere preferito anche uno
meno ingombrante.
Per la connessione al PC, è stato
invece scelto il connettore miniUSB a montaggio superficiale. Il
cavo di connessione è lo stesso utilizzato dalla maggior parte delle
fotocamere digitali attualmente in
commercio, come potete notare
dalla figura 7.
IL BUS (ovvero, che fili uso?)
Il bus 1-Wire utilizza come già ribadito, due soli fili per la trasmissione. La Dallas/Maxim suggerisce
l’UTP (Unshielded Twisted Pair)
DS18S20
3/TO-92
termometro digitale
Cat.5, che ha più di due fili, ma di
cui vengono usati solo i due centrali che sono “intrecciati” tra loro
(twisted) e presentano una capacità nota di 50pF/m e una resistenza
caratteristica di 100Ohm, che è
uguale alla resistenza di ingresso
dei dispositivi 1-Wire.
Ai capi del cavo vanno connessi
due connettori maschi RJ11 con 6
contatti. Le connessioni sono
descritte in figura 8. Se utilizzate
un cavo acquistato, controllate che
il contatto #3 su un connettore
non sia connesso al #4 dell’altro
connettore!
Per i nostri esperimenti non abbiamo utilizzato l’UTP ma un comune
cavo telefonico a 6 fili; per brevi
distanze questa scelta è totalmente
ininfluente ai fini del corretto funzionamento del sistema. Poiché
abbiamo comunque scelto un cavo
con più fili di quanti ce ne servono,
ne approfittiamo per prelevare la
HARDWARE
51
HARDWARE
Figura 15: Esempio di connessione dei dispositivi
descritti in questa puntata
Figura 14: Il sensore di temperatura montato
sulla scheda
tensione di 5V fornita dal connettore USB e connetterla al contatto
#6. Come vedrete, ci tornerà utile
in futuro.
I DISPOSITIVI (…cosa ci attacco?)
La scelta dei dispositivi 1-Wire è
abbastanza vasta.
Ci sono potenziometri digitali,
switches, contatori, convertitori
ecc. Noi ve ne proponiamo tre tra
i più utili tra quelli disponibili e
cioè un sensore di temperatura
(DS18S20), un quadruplo convertitore A/D (DS2450AD) e una
memoria EEPROM da 4 kbits
(DS2433). Voi potete però aggiungere tutti i dispositivi che vorrete e
di cui necessitate.
Vedrete infatti nella prossima puntata, dedicata al software che
gestisce il sistema, che esso è in
grado di riconoscere immediatamente e di gestire qualunque dispositivo connesso al bus. Questo
mese, iniziamo dal dispositivo più
semplice da montare e provare,
ovvero il sensore di temperatura
DS18S20, disponibile nel package
52 HARDWARE
TO92, che possiamo saldare direttamente all’estremità del cavo,
come mostrato nelle Figure 9 e 10.
I piedini laterali (1 e 3) del
DS18S20 devono essere cortocircuitati tra loro e connessi al filo 4,
cioè alla massa del 1-Wire. Il piedino centrale va invece connesso al
filo 3, che porta il segnale 1-Wire.
L’altra estremità del cavo va connessa al connettore maschio RJ11
come indicato nella sezione precedente.
Questa soluzione però non ci permetterebbe di sfruttare il sistema
1-Wire in tutte le sua potenzialità
poiché non potremmo connettere
altri dispositivi.
Vi proponiamo quindi anche una
PCB (Printed Circuit Board) con
doppia connessione, per permettere i collegamenti in multidrop
(Figure 11, 12 e 13).
tura, ma…manca il software, che
tratteremo nel prossimo numero.
A questo punto, sarebbe sufficiente connettere i nostri primi dispositivi all’adattatore USB/1-Wire e
questo al PC, come mostrato in
figura 15, per leggere la tempera-
Proseguiremo poi con l’aggiunta di
altri due “pezzi” al nostro sistema,
il quadruplo convertitore analogico/digitale DS2450 e la memoria
EEPROM DS2433.
PROSSIMAMENTE
In questa puntata abbiamo visto
come costruire il pezzo più importante del sistema, l’adattatore
USB/1-Wire e anche come inserire
il primo slave, il sensore di temperatura DS18S20.
Per maggiori dettagli su questi dispositivi potete scaricare i relativi
data sheets (in inglese) direttamente dal sito di Fare Elettronica, oppure dal sito della Dallas/Maxim.
Se l’argomento è stato di vostro
interesse e vorrete seguirci, nelle
prossime puntate vi spiegheremo
dettagliatamente come istallare il
software e vi mostreremo come
utilizzarlo.