Salve,
sono nuovo (l'account) del forum, ma vi seguo da tempo ho iniziato con il primo arduino 7-8 anni fa.
Cercherò di essere "breve" e chiaro, se doveste avere bisogno di altre info per il mio problema provvederò.
Sto utilizzando un arduino Mega per un progetto, un controllore di flussi/temperature/pressione, di un collettore dell'acqua, per la precisione
6 flussi
7 temperature
7 pressioni
1 RTC per l'orario
1 display
1 shield ethernet
1 slot integrato nella shield per l'sd
innumerevoli Led
il precedente progetto funzionava perfettamente, ma era con 3 flussi 4 pressioni e 4 temperature:
controllo cadenzato di flussi temperature e pressioni, con stampa dei valori su display, stampa dei valori ogni minuto su memoria SD, controllo ogni minuto della connessione alla rete, e stampa su pagina Web HTML dei valori, con lucine di allarme nel caso i flussi uscissero dal range previsto.
Adesso ho avuto bisogno di ampliare il progetto, rifacendolo da 0 (in realtà ho 4 "box base con 3 flussi etc e ho ricreato 2 box avanzati con 6 flussi etc)
veniamo a noi:
per i 6 flussi utilizzo tutti e 6 i pin dell'arduino mega adibiti ai comandi con gli interrupt, il controllo dei flussi ha la precedenza su tutto, e per contare le pulsazioni del sensore ho dovuto utilizzare gli interrupt compresi però i pin 20 e 21 (che avevo lasciato liberi nella versione a 4 flussi) , che mi trovo costretto ad utilizzare anche per il modulo RTC dell'orario (attualmente non per il display, uso la configurazione base a 14 pin).
Bene, ho aggiornato il software, ho ricreato il nuovo hardware, e fatto decine di prove, ma quando vado a collegare i fili che vanno ai flussi del collettore, dopo 4-5 minuti di funzionamento perfetto, l'arduino si congela completamente, non fa più nulla, resta acceso e freezzato al momento del blocco.
scollegando i cavi dei flussi (sono tutti in 3 d-sub flussi-temperature-pressioni) l'arduino dopo una notte intera non si è bloccato, quindi mi immagino sia quello il problema, una specie di conflitto fra l'utilizzo dei pin SDA/SCL per il modulo RTC e l'utilizzo dei pin 20/21 (che sono praticamente la stessa cosa, ma se non sbaglio mirrorati sul controllore) come interrupt per la lettura dei flussi.
Info:
-l'RTC è a circa 40 centimetri dai pin sda scl dentro un box
-ho inserito le resistenze di pull up 4K7 da SDA a 5+ e SCL a 5V (i 5V sono di un alim esterno con gnd in comune ad arduino)
-sensori di flusso temperature e pressioni sono tutti a 4-5m di cavo di distanza
-non ho ancora messo alcun condensatore nel mio box, leggevo che sarebbe meglio metterne a cavallo dell'alim dell'RTC, del display sull'enable (e resistenza da 10k).
Altri problemi "marginali" sono:
- l'impazzimento del display ad intervalli casuali ( dopo ore), ma l'arduino continua a funzionare, cercando in rete proverò a mettere condensatore e resistenza sull'enable del display
Spero che possiate aiutarmi con il mio problema, ci sto veramente impazzando, non ho trovato niente in rete, leggendo decine di forum italiani, e alcuni inglesi (ma se si scende troppo nel linguaggio tecnico in inglese mi perdo)
Vi ringrazio in anticipo, LUCA
