Aumentare la trasmissione del sensore DHT22 (AM2302)

Uso molto il sensore DHT22 che ritengo il massimo in prezzo/prestazioni, ma mi succede che oltre i 30 metri non "ricevo" la trasmissione del chip.
Il data sheet riporta max 20 metri, con cavo schermato.
La trasmissione di soli 5v poi non aiuta molto (su PLC Mitshubishi almeno è a 24v) e stiamo andando verso i 3,3 volt, poi però non lamentiamoci se basta Canale 5 a disturbare un sensore mentre prima ci voleva almeno un inverter da 20 Kw !

Il problema quindi é: come posso "allungare" il cavo di connessione tra Aruino e DHT22 ?
Amplificando con un operazionale? Non credo, non sono i 5 volt ad essere il problema.
Con un "trasduttore di trasmissione", tipo leggo, e poi ritrasmetto ma a velocità ridotta con treni impulsi più larghi (non mi interessa se ci vuole un secondo o più).

Si accettano consigli! Grazie

... collegarlo ad un piccolo secondo Arduino (es. Pro Mini) e collegare i due Arduino tra di loro in RS485 ... così puoi arrivare ben più distante :wink:

Guglielmo

...o magari connetterlo a questo?

.... di quelli te ne occorrono due, uno per l'Arduino che riceve ed uno per l'Arduino a cui connetterai il DHT22 ... sono dei convertitori tra porta seriale TTL e porta seriale RS485.

Sai come funziona una 485 ? QUI alcune info ...

Guglielmo

Grazie Guglielmo, sempre gentilissimo.
Conosco bene la RS232 ma la 485 l'ho sempre sentita nominare ma non ho mai avuto la voglia di approfondire... Cattiva decisione!
Non è mai troppo tardi e ho recuperato il gap!
Quindi lasciamo perdere le due schedine. Invece pensavo di mettere il sensore DHT22 in una scatolina con un nano e poi leggerlo con il mio plc che è un altro nano, in rs485.
Cosa dici?

gpb01:
... collegarlo ad un piccolo secondo Arduino (es. Pro Mini) e collegare i due Arduino tra di loro in RS485 ... così puoi arrivare ben più distante :wink:

Guglielmo

Tu intendi sempre con l'utilizzo dei MAX485 oppure c'è modo anche di collegarli insieme senza nient'altro anche se magari non è un protocollo 485?

... la RS485 è solo un collegamento fisico e NON un protocollo (... in pratica è a livello 1 dell OSI) e, come hai visto, permette discrete distanze (oltre 1000 mt) poi ti ci voglio due microcontrollori per scambiare i dati e del software.

Se hai già un PLC e sai come vuole i dati sulla RS485 (magari usa il protocollo MODBUS), allora puoi mettere il DHT22 su un piccolo Arduino su cui carichi anche il protocollo MODBUS e, in RS485 lo colleghi al tuo PLC.

Ma ripeto, devi vedere come vuole i dati il tuo PLC sulla 485 ... ::slight_smile:

Guglielmo

Hai visto questo in allegato ?

Wow Brunello!!!
Sembrerebbe il top !

Però dirti che è chiarissimo, no.......

Il data sheet riporta max 20 metri, con cavo schermato.

e comunque il datasheet su Adafruit dice fino a 100 mt. link

Brunello:
e comunque il datasheet su Adafruit dice fino a 100 mt. link

Qui però il Data Sheet dice 20 mt.... ed io a 30 non ci sono arrivato !

I 20 mt. mi sembrano molto più realistici ... ::slight_smile:

Guglielmo

Dipende anche dalla tua rPull up e tipo di cavo, Considera che io fino a 20 m anche con 4.7k riesco, con 1k forse riesci pure oltre 30 perché non provare :wink:
Ovviamente non scendere sotto 1k se no comincia a scorrere anche troppa corrente
Io di cavo ho usato un 3x0.75 non schermato
È grossino ma ho usato varie morsettiere
Forse con quello schermato è meglio

P.S. Che sia il migliore nella sua fascia di prezzo lo pensavo pure io, ma ci sono dei Sensirion con una qualità assolutamente più elevata o anche l HDC1010
Si satura spessissimo il DHT22 senza schermo ventilato e poi si rovina nel giro di 1 o 2 anni se va bene