Offline
Jr. Member
Karma: 1
Posts: 70
|
 |
« on: December 18, 2012, 11:06:36 am » |
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
|
|
|
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 670
|
 |
« Reply #2 on: December 18, 2012, 03:24:03 pm » |
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
Edison Member
Karma: 10
Posts: 2120
|
 |
« Reply #3 on: December 18, 2012, 03:30:49 pm » |
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
Sr. Member
Karma: 7
Posts: 293
|
 |
« Reply #4 on: December 18, 2012, 04:28:31 pm » |
hai provato a dare un'occhio qui? http://www.maximintegrated.com/app-notes/index.mvp/id/148io 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
Jr. Member
Karma: 1
Posts: 70
|
 |
« Reply #5 on: December 18, 2012, 04:39:06 pm » |
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
Edison Member
Karma: 10
Posts: 2120
|
 |
« Reply #6 on: December 18, 2012, 04:57:09 pm » |
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
God Member
Karma: 9
Posts: 670
|
 |
« Reply #7 on: December 18, 2012, 04:58:45 pm » |
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
Tesla Member
Karma: 83
Posts: 8239
:(){:|:&};:
|
 |
« Reply #8 on: December 18, 2012, 07:37:14 pm » |
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
|
|
|
|
|
Offline
Sr. Member
Karma: 7
Posts: 293
|
 |
« Reply #9 on: December 19, 2012, 02:18:49 am » |
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 
|
|
|
|
|
Logged
|
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 670
|
 |
« Reply #10 on: December 19, 2012, 03:16:04 am » |
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
Jr. Member
Karma: 1
Posts: 70
|
 |
« Reply #11 on: December 19, 2012, 03:54:49 am » |
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.
|
|
|
|
« Last Edit: December 19, 2012, 04:05:43 am by paolometeo2 »
|
Logged
|
|
|
|
|
Parma
Offline
Edison Member
Karma: 10
Posts: 2120
|
 |
« Reply #12 on: December 19, 2012, 04:13:39 am » |
Ma che ca**o se avevi l'oscilloscopio l'hai tirato fuori solo ora?  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
Tesla Member
Karma: 83
Posts: 8239
:(){:|:&};:
|
 |
« Reply #13 on: December 19, 2012, 04:34:30 am » |
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
|
|
|
|
|
Offline
Jr. Member
Karma: 1
Posts: 70
|
 |
« Reply #14 on: December 19, 2012, 04:40:42 am » |
@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
|
|
|
|
|
|