Come risolvo il noise che ho collegando multipli IRL540 ?

Buon giorno a tutti , mi chiamo Marco e sono nuovo.
Sto facendo il mio primo progetto con arduino o meglio con molti arduino.
Nel caso specifico sono 11 arduino nano.

Nel mio circuito sono presenti 1 arduno nano Master che trasmette con protocollo i2c ad altri 10 arduino slave ognuno impostato su un canale di ricezione diverso.

Ogni arduino interpreta il segnale che gli arriva e lo trasforma in un PWM sul pin D9 impostato alla massima frequenza possibile.

A sua volta questo segnale comanda il mosfet IRL540. E' presente una resistenza di pull down sul segnale PWM da 2,2K.

Il mosfet va ad accendere delle barre di led molto piccole (da circa 500mA l'una ) a 24V

Ho acquistato un alimentatore a 24V da 105W con il quale vorrei alimentare tutte e 10 le barre led e, grazie ad un buck 24V -> 5V vorrei alimentare tutti gli arduino, un Oled 128x64 e 3 led.

Se collego uno solo slave al master tutto funziona alla perfezione, posso dimmerare correttamente l'arduino slave e le luci funzionano alla perfezione. Quando collego più arduino slave in parallelo ecco che il segnale sui 24V e sul drive inizia a sporcarsi (v allegato) e i led inizio a sfarfallare. Avete qualche consiglio?

Grazie in anticipo a tutti

Aggiungo anche gli schemi dei due circuiti MASTER E SLAVE

Buonasera,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Quanto sono lunghe le "filature" I2C? Che valore di resistenze di pull-up stai utilizzando?

Guglielmo

le "filature" che sto usando per collegare in tutto possono andare da 10cm a 30 cm. Ovviamente essendo in parallelo nel complesso posso arrivare a qualche metro.

Tutte le resistenze presenti nei circuiti sono da 2,2k anche quella di pull up.

Fortunatamente possiedo un oscilloscopio digitale (economico ma funzionale) e se controllo sul segnale PWM in ingresso al mosfet IRL540 mi sembra pulito a 4V

Frequenza PWM 32KHz circa

Io non credo che il porblema sia nel PWM o nei IRL540, credo piuttosto che sia un problema di I2C che è un bus fatto per collegamenti molto brevi (nasce per collegare chip sullo stesso stampato) e NON per essere portato in giro.

Normalmente noi consigliamo una lunghezza massima dei cavetti I2C di 10/20 cm ... tu parli di metri (anche se corti sono tanti ed in parallelo) ... ::slight_smile:

Prova prima a collegare un solo slave, poi due e così via ... vedi se e quando iniziano i problemi ...

Guglielmo

Confermo che con uno solo funziona tutto perfettamente e più ne aggiungo peggio funziona ma il segnale pwm(che viene regolato la bua i2c) è corretto e primo di noise. Inoltre anche i 24v più ne aggiungo più si sporca con dei picchi veramente alti

giacomarco:
le "filature" che sto usando per collegare in tutto possono andare da 10cm a 30 cm. Ovviamente essendo in parallelo nel complesso posso arrivare a qualche metro

Come detto l'i2c non è la scelta migliore per "allontanarsi", molto meglio la seriale.

Poi un GND e un +24V solo per la parte di potenza, e di grossa sezione (se non sbaglio parliamo di oltre 5A), e un GND per la sola logica (si uniscono sull'alimentatore).

Ed infine, importanti, degli elettrolitici a bassa resistenza interna vicinissimi agli elementi di commutazione, quindi tra i source dei mosfet e la linea +24V nel punto dove va verso il carico. A spanne 100...1000µF

disaccoppia i motori dall'alimentazione con delle impedenze
facile facile che ci siano dei "battimenti" tra gli impulsi PWM dei vari apparati, scommetto che usi per tutti la stessa frequenza del PWM, e che date le tolleranza di fabricazione ci siano "fasi" durante le quali un grosso numero di carichi conducono o non conducono tutti assieme, per poi cambiare e ritornare, insomma un "battimento"
ma a te ti serve proprio uan comunicazione IIC? perchè secondo me ti vai a cercare rogne
cosa ci devi fare?
Edit
tolto i conti sul numero di motori, che mi ero (s)confuso.....

Sono i dati sul bus I2C che si sporcano, NON il segnale PWM (... che giustamente vedi corretto).

Prova gli altri suggerimenti, ma se non risolvi ho idea che dovrai usare degli I2C bus-extender come gli P82B715 ...
... o cambiare proprio metodo di comunicazione ::slight_smile:

Guglielmo

abbe'
se il protocollo non prevede un controllo sulla correttezza della ricezione.......
per intanto ho dato un'occhiata agli schemi
così per pura curiosità
noto un certo degrado nel disegno elettrico, in questi ultimi tempi
che fine ha fatto quella bella non scritta (? non ne sarei sicuro, magari in una qualche IEC-UNI-EN la trovo) regola che dice che le tensioni "scendono" nel foglio: si mette il + in alto e gnd in basso
ed energia e segnali vanno verso destra, si mettono i pulsanti e le uscite a sinistra, le lampadine e gli ingressi a destra del foglio?
era così comodo..........
vero è che così avremmo subito idea della confusione cerebrale di chi mescolasse linee di potenza verso sinistra con segnali verso il basso, a partire da teleruttori in alto a destra

Come si sarà evinto, sono alle primissime
Armi con reminescenze di scuole di elettronica di 15 anni fa :slight_smile:

No, tranquillo
non era una critica, e certamente non una critica specifica a te
che anchesì il tuo schema è chiaro
era solo una considerazione generale

Tranquillo ne sono consapevole che sono un pasticcione e mi faccio trasportare dall’impeto. Però vorrei migliorare ed imparare

Claudio_FF:
Ed infine, importanti, degli elettrolitici a bassa resistenza interna vicinissimi agli elementi di commutazione, quindi tra i source dei mosfet e la linea +24V nel punto dove va verso il carico. A spanne 100...1000µF

Non ho capito benissimo questa parte. Riesci a darmi qualche informazione più specifica? Grazie anticipatamente

La linea di alimentazione dei LED deve avere la minima resistenza e induttanza possibile, idealmente meglio intrecciarla. In ogni punto dove avviene l'assorbimento impulsivo ci va un condensatore, che limita le variazioni di tensione localizzate in quel punto.

giacomarcondensatore.png

-10