Problema alimentazione esterna a MCP23017

Buongiorno a tutti, è la prima volta che scrivo ma vi seguo e studio da parecchio.

Sto realizzando un progetto di controllo di un riscaldamento domestico (caldaia, pompe, termostati stanze) e mi sono imbattuto in uno strano problema. Nel progetto ho previsto l'utilizzo di 2 distinti MCP23017 come espansori di porte, sia per input che per output.

Su una piastra esterna ho saldato i due MCP predisponendo una distribuzione per il 3,3V ed una per il GND così da poter impostare i pin degli MCP (fondamentalmente reset e indirizzo, oltre a Vss e Vcc).

Nella prima configurazione testata, la distribuzione di 3,3V e GND arriva direttamente da Arduino. In questo caso, tutto funziona e non ho difficoltà a rilevarli con i2c e controllarli.

Ho voluto quindi provare ad usare un DC-DC buck converter (il classico lm2596 hw-411 che si trova sui diversi siti): |500x375

Il convertitore viene alimentato a 5V da un alimentatore esterno.

Ho quindi regolato a 3,3V il convertitore e ho spostato i cavi dupont da Arduino al convertitore, ottenendo che la distribuzione 3,3V e GND sulla scheda venga da una fonte esterna.

Così facendo, non riesco più a rilevare i due MCP23017 da Arduino.

Riportando il tutto su Arduino, tutto torna a funzionare...

Ecco lo schema, stralciato di tutta la parte connessa alle porte GPIOA-B. |500x244

Avete idea del perchè succeda questa?

Vi ringrazio per l'aiuto!!

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 ([u]spiegando bene quali conoscenze hai di elettronica e di programmazione[/u] ... possibilmente [u]evitando[/u] di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :)

Guglielmo

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

Giustamente me ne ero dimenticato! Ho provveduto subito!

E nel frattempo mi sorge un dubbio: se riportassi un pin della distribuzione di GND indietro al GND di Arduino così da avere un unico riferimento GND?

I GND devono essere tutti in comune … salvo casi particolari di “isolamenti galvanici”.

Guglielmo

Grazie mille della risposta!

Quindi, riassumendo: - 3,3V dal DC-DC converter ai pin di distribuzione 3,3V sulla scheda (e quindi agli MCP) - GND dal DC-DC converter ai pin di distribuzione GND sulla scheda (e quindi agli MCP) - un pin della distribuzione GND sulla scheda a GND di Arduino

Ovviamente, invece, per quanto concerne le schede relè esterne che vengono comandate dagli MCP, in questo caso meglio che: - Vcc e GND per l'elettronica siano forniti da Arduino - JD-Vcc e GND per pilotare le bobine siano forniti da alimentatore esterno

Se ho ben capito, dovrei riuscire a adeguare il progetto senza grandi modifiche.

Grazi!!