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.