Go Down

Topic: Problema sonde DS18B20 (Read 681 times) previous topic - next topic

khriss75

Dovrei mettermi al lavoro per fare una cosa simile e monitorare temperatura di ogni stanza, del pescaggio aria del clima e temperatura in uscita... un totale di circa una decina di sensori.

Anch'io avevo il dubbio se utilizzare una sola resistenza su tutto il circuito oppure se metterne una per ogni sensore.
Se indicherai il risultato delle tue prove mi farai un grossissimo favore.

Grazie in anticipo!

gpb01

Occhio che state parlando di resistenze con scopi diversi ... non mischiate le due cose ...
... quelle da 150? in serie sui vari rami, indicate nell'application note servono solo per attenuare il fenomeno delle onde riflesse !!!

Guglielmo
Search is Your friend ... or I am Your enemy !

bubba21

Questa sera ho avuto un attimo per provare a sistemare il problema della lettura.

Prima cosa ho cambiato i fili con un cavo ethernet cat5e come consigliato e non è cambiato niente ..sinceramente non me l'aspettavo, pensavo che almeno facesse una lettura ogni tanto invece proprio zero..

Ho cambiato la resistenza di pull up da 10k con una da 1k e funziona tutto perfettamente.

Non ho avuto tempo di aggiungere anche le resistenze da 150 ohm in serie al segnale ma magari più avanti lo farò per una completa sicurezza di trasmissione dei dati.

khriss75

Quindi ricapitolando:
Tiri i tuoi 3 cavi: DATA, Vcc e GND. Colleghi i vari sensori a questa dorsale, e solo lato arduino metti la R da 1K. Questa è la tua soluzione funzionante. Corretto o mi sono perso qualcosa?

Il tuo aiuto mi permette di evitare di effettuare un sacco di prove (con conseguente riduzione di tempo), per questo GRAZIE!

Mi ero documentato ed avevo appunto già letto parecchie info, alcune delle quali discordanti (ci sono un sacco di schemi sbagliati in giro per il web...).

gpb01


Prima cosa ho cambiato i fili con un cavo ethernet cat5e come consigliato e non è cambiato niente ..sinceramente non me l'aspettavo, pensavo che almeno facesse una lettura ogni tanto invece proprio zero ......


Sembra a te che non è cambiato nulla, ma a livello di disturbi è cambiato molto ... solo che tu avevi anche un altro problema, una pull-up troppo elevata che, vedendo i risultati, non forniva corrente sufficiente a garantire il funzionamento ;)



Non ho avuto tempo di aggiungere anche le resistenze da 150 ohm in serie al segnale ma magari più avanti lo farò per una completa sicurezza di trasmissione dei dati.


Come detto quelle servono per le onde riflesse ... male non dovrebbero fare, comincia con un sensore e, se la cosa va bene, prosegui ...

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01


Tiri i tuoi 3 cavi: DATA, Vcc e GND.


Ti consiglio comunque i doppini intrecciati, gli stessi che trovi nei cavi UTP CAT-5 ... usi due coppie una GND e +5 e una GND e DATI così come suggerito nell'application note della maxim :

Quote
Network Description
The scope of this document is limited to 1-Wire networks that use Category 5 (/glossary/definitions.mvp/term/CAT5/gpk/47), twisted-pair (/glossary/definitions.mvp/term/Differential- Signaling/gpk/997) copper wire and have 5V bus power supplied by the master. (Most 1-Wire slaves will operate at lower bus voltages, but large networks often have too much loss to perform well under low-voltage conditions.) ...


Guglielmo
Search is Your friend ... or I am Your enemy !

Lennaert

I use some ds18b20,  and read somewhere that the maximum total length of the connected network could be around 22 meters when it is powered from an arduino.  (assuming decent wiring is used)




gpb01

@ Lennaert:

As you can read on the linked Application Note this is not entirely true. ;)

The limit is, as reported on first page of AN :

Quote
In general, the weight of the network limits the rise time on the cable (/glossary/definitions.mvp/term/CATV/gpk/48), while the radius establishes the timing of the slowest signal reflections.


Guglielmo
Search is Your friend ... or I am Your enemy !

Lennaert


@ Lennaert:

As you can read on the linked Application Note this is not entirely true. ;)

The limit is, as reported on first page of AN :

Quote
In general, the weight of the network limits the rise time on the cable (/glossary/definitions.mvp/term/CATV/gpk/48), while the radius establishes the timing of the slowest signal reflections.


Guglielmo




Ahh yes, that document goes over the "one wire"  network principals, but not in combination with the arduino.
It had something to do with the arduino's line driver.

bubba21


Quindi ricapitolando:
Tiri i tuoi 3 cavi: DATA, Vcc e GND. Colleghi i vari sensori a questa dorsale, e solo lato arduino metti la R da 1K. Questa è la tua soluzione funzionante. Corretto o mi sono perso qualcosa?

Il tuo aiuto mi permette di evitare di effettuare un sacco di prove (con conseguente riduzione di tempo), per questo GRAZIE!

Mi ero documentato ed avevo appunto già letto parecchie info, alcune delle quali discordanti (ci sono un sacco di schemi sbagliati in giro per il web...).


Tutto esatto, usando però invece di un cavo normale un cavo ethernet cat 5e.

Segui i consigli di Guglielmo che è stato molto preciso nello spiegare tutto e vedrai che non sbagli  :)





Sembra a te che non è cambiato nulla, ma a livello di disturbi è cambiato molto ... solo che tu avevi anche un altro problema, una pull-up troppo elevata che, vedendo i risultati, non forniva corrente sufficiente a garantire il funzionamento ;)


Come detto quelle servono per le onde riflesse ... male non dovrebbero fare, comincia con un sensore e, se la cosa va bene, prosegui ...

Guglielmo


Sicuramente è come dici, adesso che ho anche cambiato cavo sono molto più tranquillo e soprattutto sò di aver fatto le cose come si deve!

Più avanti proverò anche il discorso delle resistenze in serie al segnale e farò una alla volta come dici te, grazie ancora una volta per tutto l'aiuto che ci dai!  ;)

Go Up