Sei sulla pagina 1di 15

Search Programmazione WxWidgets CodeBlocks Android Elettronica Arduino 1-Wire

AA

ott

04
2012

1wire microlan introduzione e convertitore seriale


1-Wire, Elettronica Add comments

69.164.218.62 Utente non autenticato Registrati Collegati

Se non conoscete il bus 1-Wire della Dallas Semiconductor Corporation (ora sussidiaria della Maxim Integrated), questo articolo
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

Italiano English

pdfcrowd.com

potr farvi scoprire un mondo prima ignoto. Io ho scoperto questo bus qualche anno addietro, quando ero alla ricerca di un modo semplice ed economico per creare un sistema di rilevazione di temperature composto da decine di sensori. Tutto ci che riuscivo a trovare era molto costoso e ben al di sopra del budget voluto: era infatti mia intenzione creare un sistema in grado di rilevare la temperatura di tutte le stanze della casa, la temperatura esterna e di tutto il sistema di impianto di riscaldamento a pavimento, quindi tutti i tubi di mandata e ritorno. Dopo lunghe ricerche ho scoperto il bus 1wire ed i sensori della Maxim. Questo bus permette di costruire reti di sensori (e non solo) in maniera economica, semplice ed affidabile.
RSS McMajan Libreria Ss_TFT Arduino, rel e infrarossi. IteadStudio 2.8 TFT Display shield: Una nuova libreria Arduino e RS485: piccoli approfondimenti Arduino cos? (per principianti e anche meno)

Categorie

La famiglia 1-wire (MicroLAN)


Il bus 1-wire composto da una miriade di possibili componenti che funzionano tramite questo bus. Non ci sono solo i sensori di temperatura che cercavo a mio tempo, ma anche switch, memorie EPROM, orologi, RAM, oltre alle coppie lettore / device RF, sensori di umidit e molti altri: la lista completa la trovate qui. Le caratteristiche fondamentali
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

Elettronica (36) 1-Wire (8) Arduino (30) Programmazione (26) Android (7) CodeBlocks (9) wxWidgets (11) Senza categoria (1) WEB (1)

pdfcrowd.com

di questo bus sono: 1) Possibilit di usare lalimentazione parassita, ossia lo stesso filo viene usato sia per trasferire dati che alimentare i dispositivi (basta un doppino massa dati/alimentazione). 2) Protocollo seriale bidirezionale con velocit fino15 kbps in modalit standard e 125 in overdrive (su brevi distanze). Il protocollo prevede un master e multipli slaves. 3) Ogni dispositivo ha un identificativo univoco impresso nella ROM in fabbrica che lo identifica allinterno della rete 1-wire. 4) iButton: alcuni dispositivi sono disponibili anche o solo nella forma iButton che ricorda le batterie a bottone, per intenderci. 5) Lunghezza della linea, numero di sensori e tipo di cavo: Questi parametri sono inerconnessi fra loro e determinano la massima lunghezza della linea ed il numero di sensori. In linea di massima, giusto per farci unidea, possiamo dire che senza utilizzare particolari accorgimenti, possiamo arrivare ad un massimo di circa 200metri. Ad una distanza di 100metri possibile installare approsimativamente
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

WEB (1) Wordpress (1)

Elettronica Sito ufficiale Arduino

Programmazione HomePage Code::Blocks HomePage wxWidgets

Blog QR Code

pdfcrowd.com

100metri possibile installare approsimativamente un massimo di 100 sensori di temperatura. Io attualmente ho una rete di 10 sensori con un cablaggio di circa 25-30 metri. 6) Bus free:

anche se sono forniti drivers software pronti alluso, tutte le informazioni tecniche sul bus sono libere e presenti sul sito per cui chiunque sia in grado di farlo pu sviluppare software in grado di interfacciarsi ad ogni tipo di sensore 1-wire. Per ora non ci interessa approfondire pi di tanto le peculiarit del bus, vorrei infatti spostare lattenzione sul progetto di questo articolo, ossia la costruzione di un piccolo convertitore seriale-1wire che andremo ad utilizzare
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

per misurare la tempertura ambiente tramite PC. In un successivo approfondimento vedremo come fare la stessa cosa utilizzando Arduino. In realt gli adattatori li trovate gi in commercio, ma ci vogliono davvero pochi componenti per costruirne uno. Leggendo le caratterisiche di sopra potreste obiettare che i sensori funzionano su un bus di tipo seriale, per cui perch necessario un adattatore per collegarci alla RS232? In realt la risposta molto semplice, infatti la rs232 lavora su valori compresi fra -12 e +12V mentre la 1wire lavora fra 0 e 5V che, vi faccio notare, lo stesso range delle porte digitali di Arduino, motivo per cui possibile usare i sensori 1Wire su Arduino senza interfacce interposte. Lo schema a lato dovrebbe chiarire il concetto.

Il convertitore
Il convertitore rs232-1Wire richiede davvero poco materiale. Innanzituto ci serve una porta seriale 9pin femmina. Volendo utilizzabile anche quella a 25pin ma visto lingombro direi che non certo il tipo di porta da usare per questo genere di applicazioni. Oltre alla porta vera e propria ci servono 2 diodi, due diodi Zener ed una resistenza da 1.5k. I due diodi Zener sono da 3.9V e 6.2V.
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Se cercate in rete vedrete che ci sono una miriade di siti che trattano largomento, in gran parte in inglese, ma fate molta attenzione al fatto che la disposizione dei pin della porta seriale talora diversa da schema a schema per cui potreste essere tratti in errore. Ecco qui sotto lo schema. Si noti che i pin della porta seriare sono disposti dallalto in basso per cui lRXD sar il 2 e GND sar il 5.

Ora non ci resta che costruirlo. Nel mio primo tentativo ho cercato di copiare un progetto preso su internet per cui ho usato una basetta millefori tagliata per stare allinterno della
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

plastica che riveste il connettore db9 della porta seriale. Il risultato stato deludente visto che alla fine non sono riuscito a farcelo stare dentro. Nel secondo tenttivo ho deciso di mettere i componenti senza nessun supporto. Ho preso una vecchia porta seriale dalla quale ho rimosso il circuito sulla quale era saldata, per il pezzo di basetta pi vicino alla porta si spezzato e non sono riuscito a toglierlo. Perch ve lo dico? Perch se avete un pezzo da metterci fatelo! E un isolante e, dato che tutti i pin usati sono sulla stessa fila di contatti, impedisce di cortocircuitare per errore qualche pin della fila sottostante. Per il resto non ho fatto altro che unire le estremit dei vari componenti per poi saldarli come si vede nelle foto qui sotto. Limportante stare molto attenti a quale pin state saldando e le polari dei diodi, per il resto un gioco da ragazzi e nel giro di pochi minuti avrete gi il vostro adattatore pronto.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Rispetto allo schema di sopra i componenti sono ruotati per cui lo schema potrebbe sembrarvi diverso. Qui sotto un paragone fra due schemi identici, quello originale ed una versione con i componenti ruotati, anche se non identica a quello reale, per motivi di disegno.

DS18B20
Che sigla complicata! Il DS18B20 uno dei sensori di temperatura 1wire pi famosi. Laspetto esteriore quello di un transistor. Le sue principali caratteristiche sono: Range di temperatura: -55C125C

Precisione: 0.5 fra-10 e 85


open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Campionamento: selezionabile da 9 a 12bit. Velocit di campionamento: fino ad un massimo di 750 ms a 12 bit. Per quanto riguarda il costo, lo trovate ad un minimo di circa 0.7 euro al pezzo sino a 2 euro a seconda di quanti ne prendete e da quanto ladro il fornitore . Se avete il sensore non vi resta che collegarlo. Non dovete far altro che collegare GND e Vdd alla terra e DQ al cavo dati/alimentazione (wire data nello schema precedente). Questo passaggio vi potrebbe sorprendere e rendervi, giustamente, perplessi. In effetti questi sensori permettono di utilizzare lalimentazione esterna sfruttando tutti e 3 i pin, ma ladattatore visto sopra sfrutta una modalit detta alimentazione parassita che permette di usare lo stesso filo sia per trasmettere i dati che alimentare il sensore. Ovviamente le due cose non possono essere fatte in contemporanea, per cui dentro il DS18B20 (e gli altri dispositivi 1wire) c un piccolo condensatore che mantiene alimentato il sensore durante le fasi di trasmissione dati. Questa ovviamente una semplificazione estrema usata per non andare a perderci nei meandri dei timing di comunicazione di questi sensori, argomento che piuttosto complesso e che non affronter
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

argomento che piuttosto complesso e che non affronter se non in articoli futuri, qualora qualcuno ne sia interessato. La scelta di usare lalimentazione parassita data solo dalla mia necessit di ridurre al minimo il numero di cavi da tirare per le varie stanze della casa. Ovviamente questa tecnica ha lhandicap di dover caricare il condensatore prima di poter essere operativo ed inviare dati e ci si traduce in un maggior tempo per la rilevazione della temperatura anche se parliamo comunque di tempi massimi di circa 750ms. Se avete lesigenza di mettere pi sensori in parallelo, non dovete fare altro che collegare tutte le masse e Vdd a GND e tutti i DQ alla linea dati / alimentazione. Ma continuiamo con il nostro progettino. Se avete collegato anche il vostro sensore non resta che reperire un qualche software che ci permetta la lettura della temperatura. Ci sono software disponibili per tutte le piattaforme io per, avento sotto mano solo PC windows-based, vi fornir alcune informazioni per questo sistema. Ci sono comunque in rete molte informazioni sia per linux che, un po meno, per Mac.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Senza avventurarci in nulla di troppo sofisicato andiamo a questo indirizzo e scarichiamo il pacchetto drivers per windows della Maxim. Nel pachetto che andrete ad installare trovate non solo i drivers veri e propri, ma anche un rudimentale software che permette di interrogare il sensore e mostrare la temperatura a monitor. Se volete un programma pi completo, che comunque deve essere installato DOPO i drivers, vi consiglio lottimo LogTemp, software che vi mostra anche a grafico i valori di tutti i sensori collegati ma permette anche di inviare i dati via ftp, sia dei grafici che delle tabelle con temperature correnti, minime, massime e molto altro come la registrazione dei dati su database, il salvataggio di grafici settimanali e mensili, etc. Se volete un esempio qui trovate il grafico delle temperature di casa mia, sia lesterna che alcuni sensori interni (sia stanze che collettori del riscaldamento a pavimento). Purtroppo al momento in cui vi scrivo non tutti i sensori sono collegati in quanto st approffitando di questi articoli per aggiornare parallelamente il mio sistema, ma a breve conto di tornare alla piena funzionalit. Anzi, mia intenzione spostare le funzioni di monitoraggio della temperature dal PC ad Arduino, cosa che andremo a vedere in un prossimo futuro.
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Be Sociable, Share!

Tw eet

Like

Share

Articoli correlati: 1. RS232 con bus 1Wire: leggere la temperatura dai sensori ds18b20 2. RS232 con bus 1wire: dalla teoria alla pratica 3. RS232: interagire con il bus 1wire 4. Arduino e sensore 1wire DS18B20 5. Arduino, sensore 1wire DS18B20 e shield Ethernet.
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Articoli correlati elaborati dal plugin Yet Another Related Posts.

Stefano

Stefano Smania, medico radiologo Programma in C dalla fine degli anni 80. Ha conoscenze discrete di C++, php, javascript, html, sql. Possiede approfondite conoscienze sullo standard DICOM. Bazzica con l'elettronica e unisce le diverse passioni in un progetto di domotica. Ha realizzato da solo un piano della propria casa, dal rivestimento termico, ai muri interni, l'impianto elettrico e domotico, idraulico, riscaldamento a pavimento, infissi e quant'altro vi venga in mente. Gli piace cucinare ma ha poco tempo per applicarvisi. Scrive questi articoli nella speranza che servano a qualcuno
Posted by Stefano at 11:23 Tagged w ith: 1w ire, adattatore, db9, ds18b20, rs232, seriale

Leave a Reply
You must be logged in to post a comment.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Arduino, primo progetto completo. Arduino e sensore 1wire DS18B20

2011 McMajan

Suffusion theme by Sayontan Sinha

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com