Interferenze sensori stazione meteo!

Salve a tutti...
Ho un paio di domande da farvi e magari voi sapete consigliarmi meglio:
Allora innanzitutto in allegato metto lo schema elettrico usato per la mia stazione meteo e vi dico che ho realizzato un circuito stampato...passiamo alla prima domanda:

1) Per il sensore di temperatura DS18B20 ho fatto un piccolo circuito stampato, dove una volta saldatoci il sensore, viene collegato con delle cortissime piste di rame a un morsetto a vite. Da questo morsetto a vite partono dei cavi lunghi 2 metri che vanno all'interno di una morsettiera. Da questa morsettiera parte un cavo lungo circa 20 metri che va a collegarsi al circuito stampato, ovvero a uno shield che ha dei morsetti a vite, che sta sopra arduino. Insomma questo sensore non pare dare problemi almeno per ora... ho usato come da schema un Rpullup da 4.7k e un cavo da 3*0.5, pensate si possa migliorare il collegamento?

2) Per il sensore di umidità DHT22 ho realizzato sempre il circuito stampato e ha tutto lo stesso lavoro del precedente. Questo sensore ha delle interferenze che non aveva usando dei cavi di un metro e allora pensavo che la Rpullup da 10k è troppa... ho usato un cavo 3*0.75. Secondo voi come posso fare per evitare le interferenze?

**3)**L'RTC DS3231, adesso che è sul circuito stampato, non so perché ma molte volte non si sincronizza con l'orario impostato... non so perché, visto che quando provavo su bread board faceva! Ovvero legge l'orario dal 1970 e lo devo molte volte reimpostare, cosa potrebbe essere? Nell'esempio setserial, mi dice a volte rtc sync fail

4) TX20 e WS2300-16 adesso hanno il cavo di 10 metri e non danno problemi, ma lo allungherò fino a 20, pensate che possa modificare qualcosa nello schema onde evitare interferenze? Per il BMP180 invece il cavo è lungo un metro, ma si può modificare qualcosa secondo voi, sempre per evitare interferenze?

OK ho finito con le domande :slight_smile: Spero sia stato chiaro e spero sappiate darmi consigli!
Un saluto!

Sui disturbi non so dirti niente. Sullo schema elettrico posso dire che il BMP180 non puoi usarlo su un bus I2C da 5V perché regge solo 3,6V. Ti serve un traslatore di livelli. Questo potrebbe essere la causa del problem adel RTC.

La batteria del RTC é buona?
Ciao Uwe

Si dovrebbe essere buona! Il fatto che prima non ha mai dato problemi... devo specificare una cosa che era accaduta ma non credo centri qualcosa. Praticamente il ds18b20 l ho messo nel verso sbagliato, ovvero ho invertito + e - del sensore... peró il sensore fa ancora, ma non credo che mettendo il sensore invertito abbia causato danni, se non al sensore stesso
anche perche i collegamenti erano giusti, solo il posizionamento del sensore ho sbagliato

Dubito che tu possa avere danneggiato altro in quel modo.

Sul BMP180, è possibile che se è montato su di una schedina, questa contenga già i componenti per adattare i livelli di tensione, per cui potrebbe andare anche a 5V. Io ne ho un paio che sono appunto così.

É questo qua

quel modulo ha si i pin I/O 5V tolerant, ma andrebbe comunque interrotto il jumper SJ2 e dato i 5V sull'ingresso IO

Visto che hai altri dispositivi i2c (almeno il DS3231, forse altri ancora?), dovresti anche aprire SJ1 e fare tutto quanto necessario per avere un'unica coppia di pull-up per SDA e SCL. Al momento ne hai N in parallelo, e la cosa potrebbe portarti fuori dalle specifiche i2c. Eventualmente puoi disattivarli tutti ed inserirli esternamente (parti da 4.7k).

Esatto,
4k7 Ohm li hai inseriti tu, altri 4k7 Ohm sono sul BMP180, altri 4K7 Ohm saranno sull'RTC

Cioè devo modificare quelle cose su quel circuito stampato del bmp180?
Non ho capito pure l'ultima cosa detta da Brunello, sullo schema ci sono 2 resistenze da 4.7k per ogni dispositivo

Comunque oltre questo che mi risulta essere la cosa meno importante, per il dht 22 pensate che debba cambiare cavo e sopratutto abbassare la resistenza di pull up
e il ds18b20 stessa cosa? (anche se quello funziona, il DHT22 legge a malapena)

Se il DS18B20 funziona, perché farsi problemi? :wink:

Sul DHT22 non so, il mio è montato su un piccolo PCB che ha il pull-up integrato, ma non lo uso con cavi lunghi.

Quelle 2 resistenze per ogni dispositivo non vanno bene. Dovrebbero essercene 2 in tutto, una su SDA e una su SCL.

SukkoPera:
Se il DS18B20 funziona, perché farsi problemi? :wink:

Sul DHT22 non so, il mio è montato su un piccolo PCB che ha il pull-up integrato, ma non lo uso con cavi lunghi.

Quelle 2 resistenze per ogni dispositivo non vanno bene. Dovrebbero essercene 2 in tutto, una su SDA e una su SCL.

Infatti forse mi faccio troppi problemi :slight_smile: Alla fine fa, solo che avevo letto sempre qui, che uno aveva messo un resistenza da 1k e cavo rj45, usando due coppie per un piedino.
Per il DHT22 io voglio provare ad abbassare la Rpullup, perché con il cavo corto fa senza problemi, secondo me potrebbe essere quella, non credo sia il cavo...
Comunque infatti io ne ho messe due in tutto no? Sullo schema ce ne sono due, dici comprese anche quelle sul pcb del BMP180?

Allora ho appena modificato saldato e tutto una resistenza di pull up da 1k e adesso fa il DHT22 con il cavo da 20 metri :slight_smile:
Unico problema rimasto
l RTC non si sincronizza... il bello che non mi aveva mai dato questi problemi
Poi invece il problema ipotetico e se magari possa avere interferenze con il pluviometro e anemometro aumentando il loro cavo di 10metri fino a 20, ma quello vedrò, intanto secondo me faranno lo stesso...
Comunque da solo, su un altro arduino che avevo, si sincronizza senza problemi, quindi il problema è come dite voi, devo fare qualche modifica sullo schema...

Si però sull'RTC che devo modificare? Potrebbe essere anche che devo ripassare qualche saldatura?

Facci l'elenco preciso di tutti i dispositivi i2c collegati.

SukkoPera:
Facci l'elenco preciso di tutti i dispositivi i2c collegati.

Solo quei due nello schema :wink: RTC DS3231 e BMP180
Come ho detto la cosa strana è che non mi aveva mai dato problemi sulla bread board collegandoli come nello schema, invece sul circuito stampato sì, potrebbe essere una saldatura da ripassare magari....

Allora: togli le resistenza di pull-up esterne e apri SJ1 sul BMP. Questo ti metterà nella condizioni corrette di utilizzo dell'i2c.

SukkoPera:
Allora: togli le resistenza di pull-up esterne e apri SJ1 sul BMP. Questo ti metterà nella condizioni corrette di utilizzo dell'i2c.

Quindi tolgo le due R da 4.7k? Come faccio ad aprire SJ1?

Togli le due R. Per SJ1 lo scaldi col saldatore e aspiri, e/o usi la trecciola per togliere lo stagno.

SukkoPera:
Togli le due R. Per SJ1 lo scaldi col saldatore e aspiri, e/o usi la trecciola per togliere lo stagno.

Quindi al posto di quelle due resistenze su questo circuito stampato Imgur: The magic of the Internet
metto due fili, che se no poi non c'è contatto tra una pista e l'altra
Invece per SJ1, riscaldo con lo stagno e aspiro con il succhia stagno (non ho la trecciola)

No, non metti niente. Quelle due R in sostanza ci sono già, sono sull'RTC, non devi mettere altro!