bus 1-Wire su lunghe distanze

Ciao a tutti,

quest'inverno mi sono imbattuto in un progetto (http://sites.google.com/site/circuitiarduino/home/controllo-pozzi-geotermici) per il controllo e la monitorizzazione di un impianto geotermico in cui le sonde di temperatura in centrale termica erano relativamente vicine, nell'ordine di una decina di metri, mentre le sonde nei due pozzi erano ad una distanza superiore ai 60mt.

queste sonde della dallas (DS18B20 nello specifico) utilizzano il bus di comunicazione 1-Wire che, sulle lunghe distanze, può avere dei problemi nel sincronismo della comunicazione o addirittura il non riconoscimento delle sonde collegate.

Dopo aver ultimato lo sviluppo dell'applicazione lato ArduinoEthernet, lato web sul sito di altervista.org e relativi collaudi, mi sono imbattuto nella drammatica problematica della distanza massima di comunicazione del bus 1-Wire... le sonde dei pozzi non venivano riconosciute oppure veniva ricevuto un dato totalmente errato.

Ho realizzato di conseguenza, un piccolo schield per poter acquisire i sensori 1-Wire ad una distanza di almento 100mt.

Caratteristiche principali della scheda:

  • Shield compatibile (Arduino 2009/UNO/MEGA/DUE, ecc)
  • Non necessita di alimentazione esterna, implementa a bordo un piccolo alimentatore stabilizzato 5v (alimentare Arduino a 12vdc)
  • Distanza dei sensori elevata (test effettuato su 100m)
  • Morsetti a vite estraibili
  • Possibilità di collegamento di tre dorsali a "STELLA"
  • Nessuna libreria richiesta, necessita solo delle librerie standard per la gestione della comunicazione 1Wire

se volete approfondire: http://sites.google.com/site/circuitiarduino/home/controllo-pozzi-geotermici/circuito

saluti kattivik76

Ciao, bel progetto. Come hai calcolato le resistenze sul canale dati e quella di pull-up? Ci sei arrivato per via analitica o sperimentale? (questa funziona... questa non funziona...)

ciao, per il calcolo ho preso spunto da questi due documenti:

ed ho testato una serie di resistenze per verificarne l'effetto :) mantenendomi dalla parte della ragione

saluti kattivik76