Arduino mega rotto?

Salve a tutti!
Ho un problema di alimentazione ed un progetto abbastanza grande quindi cerco di suddividere il tutto per rendervi più facile la lettura...

Problema:
Ho un arduino mega cinese che ultimamente mi sta dando dei problemi di alimentazione, ovvero i pin digitali non erogano più la giusta corrente.
Misurando col tester ho circa 3,5 V, insufficienti per attivare i relè collegati...

Il progetto:
Uso arduino in un mini impianto di domotica confinato alla mia stanza. Normalmente gestisce gli ingressi, luci, prese e un terrario.
Sono quindi collegati ad arduino mega: chip rfid, tastierino numerico, 2 lcd 20*4, arduino nano, 2 sensori di movimento, uno di temperatura, 5 relè, una fotoresistenza, buzzer, 2 rgb e 2 led e qualche tasto.
Il programma è interamente scritto da me, ve lo risparmio visto che si tratta di 1700 righe di codice :smiley:
E il tutto, a parte il problema scritto sopra, gira perfettamente h24.

Informazioni

  • Alimentazione arduino:
    Per stupidità il primo alimentatore usato è stato un caricabatterie nokia dati alla presa usb :confused:
    Poi sopraggiunto il problema sostituito con un alimentatore da 1A 12V dati al jack (senza risultati)

  • Premesse importanti:
    Il problema non è nato subito, all'inizio i relè riuscivano a scattare.
    Inoltre nello sketch tutti i pin sono dichiarati e inizializzati correttamente.

Cosa ho fatto:

  • Staccato arduino nano (che semplicemente scandisce il passare dei secondi) -> inutile
  • Staccare i 2 lcd -> inutile
  • Caricare il mio stesso programma ma con un loop() vuoto che tentasse solamente di azionare i relè -> inutile
  • Sostituiti i cavi con altri cavi dal diametro maggiore per ridurre la resistenza -> inutile

Stranezze che non so spiegarmi:

  • La porta funziona a logica invertita.
    Quindi:
    se arduino da corrente al relè collegato al solenoide --> solenoide non eccitato, porta chiusa
    altrimenti -> solenoide eccitato, porta aperta

Il terrario che arduino controlla ha un sistema di riscaldamento autonomo controllato appunto da un relè, anch'esso a logica invertita.

La stranezza è che questi due relè funzionano perfettamente, gli altri non scattano mai.
È vero però che gli altri relè sono un po' più lontani. Un altro si trova a circa 1.5mt, gli ultimi due a 6 mt (circa).
Ricordo che però, inizialmente, tutti questi relè hanno funzionato.

Domanda:
È arduino che si sta rompendo o potrebbe essere un problema software?
Perchè cambiare arduino è un problemone come vedete dalla foto sotto... :smiley:
(ignorate il relè in basso a destra e il motore al centro)

Grazie per aver letto, e tanti auguri di buon anno!

ma lo hai usato da tanto tempo giusto??

Ma da lo stesso problema con un Arduino originale??

Ciao Uwe

Ciao!

Un po' si, lo uso da fine settembre per test e collegato h24 da ottobre. È in esecuzione pure al momento.
Di riavvi però ce ne sono stati parecchi, aggiorno almeno due volta a settimana lo sketch.

Purtroppo non ho arduino originale, e cambiare arduino è la mia paura più grande visto i 30 e rotti pin da dover ricollegare correttamente...

L'altro giorno aggiornando lo sketch ho misurato i volt che escono da 5v e il tester mi diceva 4.79 fissi

Inoltre ho notato un'altra cosa due giorni fa:

L'alimentatore che alimenta arduino è collegato alla stessa presa a cui è collegata la ciabatta che controlla il pc (alimentatore da 700W), impianto stereo (alimentato a 650W), televisore (non so il wattaggio).
Accendendo la ciabatta arduino è andato in blocco, riavviando (senza spegnere la ciabatta) è ritornato a funzionare correttamente e gira da allora.

Che dite?

Grazie!

up

I relè non sono collegati "direttamente" ai pin digitali, vero?

Se posso darti un consiglio io costruirei una specie di di shield. Ovvero su di una millefori saldi i connettori maschi in corrispondenza dei pin da utilizzare su Arduino, i connettori sulla millefori poi li colleghi ai vari cavi, magari con dei morsetti/mammut in modo che puoi cambiare arduino quando ti pare e sostituire anche i fili

Invece si, i relè sono collegati direttamente ai pin digitali di arduino... È questo l'errore?

Ottimo consiglio quello della millefori, ma ho un dubbio. Mettendo sopra arduino una scheda non rischio di creare una "cappa" e di conseguenza far alzare la temperatura? La scheda mi serve alimentata h24

stefano_raptor:
Invece si, i relè sono collegati direttamente ai pin digitali di arduino... È questo l'errore?

Dipende ... se stiamo parlando di schede relè con su i relativi driver, NO, non è un errore, anche se sarebbe bene vedere come le hai collegate e come hai separato le alimentazioni.

Se invece stiamo parlando di semplici relè, senza lacuna schedina e driver, allora SI, è un grave errore !

stefano_raptor:
Ottimo consiglio quello della millefori, ma ho un dubbio. Mettendo sopra arduino una scheda non rischio di creare una "cappa" e di conseguenza far alzare la temperatura? La scheda mi serve alimentata h24

No, normalmente la temperatura di Arduino mega deve rimanere piuttosto bassa ed una shield applicata sopra non altera di molto la cosa. Se la temperatura è già alta di base ... c'è qualche cosa che non va ... ::slight_smile:

Guglielmo

Ieri ho dato un'ulteriore occhiata, ho misurato l'uscita dai pin digitali che vanno poi ai relè e misuravano qualcosa come 2.8 V :frowning:
Mentre dall'uscita 5V di arduino escono 4.8 V, e se alimento i relè con questa alimentazione scattano.

Ahimè si, sono semplici relè collegati in serie ai pin di arduino :confused:

Che cosa comporta? Come dovrei collegarli?
Grazie!

NON si possono collegare carichi (come un relè) direttamente hai pin di Arduino !!!

Ti rammento che ogni pin di Arduino può dare al massimo, a Vcc, 40 mA (... ma quello è veramente un limite, nel normale funzionamento occorre stare al 60-70% di detto valore) ed inoltre la somma di tutti i pin e dell'assorbimento del chip, non deve superare al massimo i 200 mA (... e anche qui massimo va considerato come valore limite, ma nel normale funzionamento occorre stare al 60-70% di detto valore). Assorbimenti oltre detti limiti possono danneggiare irrimediabilmente il chip.

Un relè a 5V, per piccolo che sia, i suoi 60 - 90 mA li assorbe ... per non parlare poi delle extracorrenti di apertura e chiusura ...

Per i relè o usi schedine che trovi con sopra il driver e magari l'optoaccoppiatore per isolare completamente la parte relè da Arduino (es. QUESTO o simili) o si debbono pilotare con un transistor come da schema allegato (in alto a sinistra).

Attenzione, le schedine indicate sono fatte per lavorare a bassa tensione !!!

Guglielmo

scheda_3.pdf (408 KB)

Ma io dalla foto vedo che ne ha ben due di quelle schede quindi credo abbia capito male

salvatore_94:
Ma io dalla foto vedo che ne ha ben due di quelle schede quindi credo abbia capito male

Beato te che vedi qualche cosa in quel groviglio ... :smiley: :grin: :smiley: :grin:

Guglielmo

Lo so è un casino, ma meglio di cosi non son riuscito a sistemare :smiley: :smiley:

Che intendi come schede? In foto si vedono anche una scheda con 4 relè che però è alimentata a parte da un alimentatore tutto suo che uso come telecomando. Almeno li le resitenze le ho messe :smiley:
Poi in bassi a sinistra un chip rfid, un lcd e a destra un relè che non uso.

Gugliemo ti ringrazio due volte, ho scoperto grazie alla tua foto che devo mettere una resistenza al buzzer, cosa che al momento non c'è :confused:

Riguardo le schede con i relè, ne avevo presi (e li ho ancora nei cassetti) alcuni come quelli da te consigliati. Però al momento di collegarli mi sono accorto che lavorano a logica invertita, quindi per scattare dovevo dargli la massa...
Come si fa a collegarli se con arduino posso fare uscire o 0V o 5V?

stefano_raptor:
Riguardo le schede con i relè, ne avevo presi (e li ho ancora nei cassetti) alcuni come quelli da te consigliati. Però al momento di collegarli mi sono accorto che lavorano a logica invertita, quindi per scattare dovevo dargli la massa...
Come si fa a collegarli se con arduino posso fare uscire o 0V o 5V?

Il collegamento esatto di quelle schede relè, ad esempio con 4 relè, è il seguente :


... ovvero con un'alimentazione separata solo per loro e indipendente dall'alimentazione di Arduino. Ovviamnete, data la logica, per attivare il relè ioccorre portare il pin a LOW mentre per disattivarlo il pin va HIGH.

Guglielmo

Per le schede a 2 relè lo schema esatto è:

mentre per quelle a 8 relè si ha:

Guglielmo

*P.S.: Tutti gli schemi sono (c) Brunello * :grin: :grin: :grin: