Pages: [1] 2 3 4   Go Down
Author Topic: massima lunghezza one wire bus  (Read 4347 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 4
Posts: 148
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho collegato ben 8 sensori di temperatura DS18B20 ad Arduino uno mediante un onewire bus con un cavetto schermato a due poli: uno per l'alimentazione, uno per i dati e lo schermo come GND. Tutto funziona benissimo. Quando sono andato a collegare uno solo dei sensori con lo stesso tipo di cavo ma lungo 30 m., nulla ha piu' funzionato!! Avendo testato piu' volte il cavo e non avendo trovato nessun errore di collegamento, mi viene il dubbio che il bus non puo' essere piu' lungo di un tot. Non sono pero' riuscito a trovare questa indicazione nei vari datasheet.
Qualcuno ha avuto esperienze analoghe?

grazie
Logged


0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10468
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

scusa ma non mi torna, l'1-wire dovrebbe fornire sia alimentazione che segnale sullo stesso cavo, no? btw http://www.maximintegrated.com/app-notes/index.mvp/id/148
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no, one wire può funzionare in due modi, con tre fili in modalità normale e con 2 fili in modalità parasite Power.
Il punto è che 30 metri sono tanti, ma non per il bus, ma per l'alimentazione.
Prova ad alimentare il sensore direttamente ai suoi pin e metti comunque la massa in comune con quella del cavo.
Se funziona vuol dire che c'è troppa cdt sul cavo e quindi o ne aumenti la sezione o non lo usi anche per l'alimentazione.
Curiosità, che cavo è?
Spero non sia un doppino twistato...
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Controlla il CRC dei dati sempre nel codice, specialmente su lunghe distanze per non avere false letture.
Lato hw che resistenza di pull-up utilizzi?
Logged

Offline Offline
Sr. Member
****
Karma: 8
Posts: 293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hai provato a dare un'occhio qui?
http://www.maximintegrated.com/app-notes/index.mvp/id/148

io ho cominciato a leggerlo ma oggi è troppppo male e mi spento dopo 30 righe... comunque da una ricerca che ho fatto i giorni scorsi sembrava che i 30 metri fossero raggiungibili ma fosse diremo la distanza "inizio qualche rogna".
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 148
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dunque, non ho usato la passive power proprio per evitare problemi con molti sensori. Quindi l'alimentazione viene data a tutti i sensori  prelevandola dai 5 V di Arduino. La stranezza e' che per 8 sensori su cavi corti, funziona tutto, quando invece metto solo uno di questi sul cavo da 30, non funziona piu' niente anche se l'assorbimento dovrebbe essere lo stesso di prima, a parte la resistenza del cavo che pero' dovrebbe agire solo su un sensore colegato alla sua estremita'. La resistenza di pull up e' da 4.7 K come di solito e' indicato. Tutti i cavi sono doppini schermati, quelli usati per gli stereo. Lo schermo e' usato come massa per tutti i sensori e per Arduino. Tra l'altro il cavo schermato e' stata una mia precauzione, infatti nessun datasheet ne parla.
Adesso mi leggero' la guidelines suggerita.
Per ora grazie, domani faro' altre prove e vi faccio sapere come e' andata.
« Last Edit: December 18, 2012, 04:47:31 pm by paolometeo2 » Logged


Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il problema potrebbe essere la resistenza di pull-up, prova ad abbassare il valore fino ad arrivare ad 1k
Per comunicare il termometro deve riuscire a portare al livello logico basso la linea che altrimenti deve essere al livello logico alto

Ciao

PS: Per chi vuole usare la modalità parassità sappia non è così facile da utilizzare, bisogna aggiungere dei mosfet e ci sono diverse precauzioni da prendere.
« Last Edit: December 18, 2012, 05:04:55 pm by flz47655 » Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

attenzione che non in tutte le circostanze è meglio utilizzare un cavo schermato.
Uno di quei casi è il tuo.
Io ho utilizzato dei dht11 a una dozzina di metri con del cavo a 4 poli telefonico senza alcun problema.
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10468
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

il cavo non fa solo da resistenza ma anche da capacità e da induttanza. La 1-wire mi pare sia sensibile all'induttanza, quindi più che un problema di schermatura potrebbe essere la sezione del cavo. Cmq dalla note che ho postato (e anche qsecofr) parlano di un centinaio di metri...
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Sr. Member
****
Karma: 8
Posts: 293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cmq dalla note che ho postato (e anche qsecofr) parlano di un centinaio di metri...

ahhh si scusa: che m0na... mi pareva parlassi di altro invece ho postato proprio lo stesso collegamento: chiedo venia smiley-red
Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La 1-wire mi pare sia sensibile all'induttanza...

e tantissimo alla capacità!
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Offline Offline
Full Member
***
Karma: 4
Posts: 148
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho deciso che era giunto il momento di tirare fuori l'oscilloscopio e vedere i segnali che passano sul bus con e senza il cavo da 30 metri.
Le videate in modalità persistenza sono in attach:  la 0004 è quella senza cavo da 30 m, la 0005 con il cavo. E' evidente l'attenuazione, da 5 a 3 V, e la distorsione del segnale (rampa di salita lenta). Questo però si vede solo per alcuni segnali, mentre altri rimangono invariati. Avendo preso il segnale vicino al piedino di ardduino, penso che il segnale non attenuato sia quello di andata e quello distorto quello di ritorno.
Mi viene quindi il dubbio che il cavo schermato non vada bene perchè ha una capacità o induttanza elevata. Le caratteristiche del cavo sono:
2 x 0,15 + schermo, il tutto di diametro 4 mm.  Se ho fatto bene i conti la durata di un singolo impulso e' 50 microsec, quindi una frequenza di 20 kHz. Essendo un cavo usato per applicazioni audio, potrebbe incominciare a distorcere a queste frequenze.


* 20121219-0005.png (60.88 KB, 800x600 - viewed 29 times.)

* 20121219-0004.png (42.33 KB, 800x600 - viewed 25 times.)
« Last Edit: December 19, 2012, 04:05:43 am by paolometeo2 » Logged


Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma che ca**o se avevi l'oscilloscopio l'hai tirato fuori solo ora?  smiley-twist
Hai provato a cambiare le pull-up e verificare con l'oscilloscopio se la situazione migliora come ti avevo detto?
Il cavo schermata ha una capacità maggiore, se puoi usane uno non schermato

Ciao
Logged

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10468
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La 1-wire mi pare sia sensibile all'induttanza...

e tantissimo alla capacità!


si scusa, ho scritto di fretta e nella stanchezza, intendevo capacità -.-"
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Full Member
***
Karma: 4
Posts: 148
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@FLZ47...  avevi ragione!!  Ho messo una resistenza di pull-up da 1 K anzichè da 4.7 K e tutto sembra funzionare. La distorsione c'e' ancora ma meno di prima e comunque i sensori rispondono. Rimane il dubbio che forse un doppino telefonico funziona meglio di un cavo schermato!  provero' in seguito.
Logged


Pages: [1] 2 3 4   Go Up
Jump to: