Ciao a tutti,
ho comprato due moduli di relè monostabili che tuttavia mi creano qualche problema ad Arduino: qualche volta durante la giornata, infatti, quando scattano mi mandano in reset il micro per poi farlo ripartire... la scocciatura è che, nonostante poi il programma riprenda normalmente, il display salta e mostra caratteri strani su tutte le linee costringendomi a resettarlo nuovamente.
non capisco se sia un problema software oppure hardware quindi li descrivo entrambi:
HARDWARE:
dunque il relè sono questi:
(chiedo scusa se non si potesse inserire link a siti di vendita)
http://www.ebay.it/itm/N-1-Modulo-2-Rele-5V-2-Channels-Relay-Module-compatibile-Arduino-/150909325906?pt=Componenti_elettronici_attivi&hash=item2322e59252#ht_3675wt_1156
90mA con circuito di pilotaggio a 5v
il mio arduino è alimentato con un alimentatore switching da 10v e 1.25A
i 10v sono convertiti con un LM7850 a 5v e portati all'alimentazione dei relè, il pin A1 di arduino, invece, è direttamente connesso all'input di segnale per l'eccitazione della bobina del primo relè
SOFTWARE:
in void setup ho impostato:
pinMode(A1, OUTPUT);
digitalWrite(A1, HIGH);
siccome il relè si eccita quando l'uscita di arduino è ad un livello logico basso o direttamente collegata a gnd, quando imposto nel loop un digitalWrite(A1, HIGH); la bobina rimane a riposo; se imposto, invece, digitalWrite(A1, LOW); la bobina si eccita....
Non capisco come mai a volte, nel momento di eccitare i relè, Arduino si resetti...
a dir la verità un'idea mi è venuta:
in totale i relè sono 4 e vengono comandati sempre a coppie di due (uno si spegne, l'altro si accende) e questo processo avviene 3 volte nell'arco della giornata... ho pensato che il problema derivasse dal fatto che nel loop non avessi inserito un delay(x) tra il cambio di stato del primo relè e quello del secondo... così ho inserito tra i 2 un delay(300) ma non ha risolto il problema...
(
digitalWrite(A1, HIGH);
delay(300);
igitalWrite(A2, LOW);
)
qualcuno ha qualche suggerimento?