Go Down

Topic: Disturbi su LCD (Read 6254 times) previous topic - next topic

liso

Buongiorno e buona domenica!!!

Ho un piccolo problema con l'LCD (parallelo ) collegato all'arduino. Praticamente tutto funziona correttamente, ma quando ad esempio attacco o stacco l'alimentatore (lasciando la batteria tampone) oppure  un relè si attrae capita che l'LCD impazzisca e scriva caratteri a caso. e l'unica soluzione è resettare il tutto.
Penso che sia un problema di disturbi elettromagnetici che la piattina (da Hard Disk) che collega lo schermo all'arduino raccatta!
Ho provato infatti con una piattina un pò più lunga e il risultato è stato peggiore!
Che soluzione mi consigliate? utilizzare un cavo schermato tipo ethetnet? la piattina è fantastica perchè il passo del pettine dell'LCD è uguale, e quindi il collegamento è stato facilissimo e rapido!
Ci potrebbero essere altre soluzioni?

Grazie

buona giornata

liso

Michele Menniti

Sicuro di non avere problemi di corrente limitata, per cui l'ulteriore carico abbassa la tensione e l'LCD va in tilt?
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

liso

Si, perchè i relè non sono alimentati da arduino, ma dalla 220...e poi + il cavo è lungo peggio è..e non dovrebbe essere un problema di sezione perchè insomma le piattine da hard disk non sono così piccole!

Michele Menniti

se alimenti il circuito SOLO tramite la batteria tampone, lasciando volutamente scollegato l'alimentatore, e fai scattare un relé, succede la stessa cosa?
quanto è lungo questo flat?
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

ratto93

Potresti prevedere o comunque provare mettendo un nucleo di ferrite di quelli a pinza fatti apposta per i cavi flat... ne ho visto qualcuno in vecchi PC industriali... oppure potresti farlo passare in un toroide di ferrite abbstanza grande anche se come dice Michele il problema potrebbe anche non essere prettamente magnetico...
hai la possibilità di usare un motorino elettrico o un relè alimentato da fonte diversa dell'arduino in prossimità dello scermo in modo da vedere se il problema è effetti vamente un disturbo magnetico e non spike che possono crearsi nel circuito in funzione ?
Se corri veloce come un fulmine, ti schianterai come un tuono.

Michele Menniti

Buona prova ratto, ho il timore che il problema possa essere una non corretta messa a terra dell'impianto elettrico, o un alimentatore inadeguato, non per corrente, ma per specifiche. Avevo in mente di suggerirgli l'uso di un magnete, però io nel mio HV ho usato un flat lungo fino a 25cm e non ho mai avuto problemi; pochissimo tempo fa qualcun altro aveva disturbi sull'LCD, ma non ricordo se abbia risolto o se la cosa si sia fermata a metà discussione.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

liso

Ok, ho fatto un pò di prove...posto i risultati

Batteria tampone + Alimentatore e sorgente di disturbo collegata alla 220V (un relè 220, poi un trasformatore) sulla stessa ciabatta risultato l'LCD spesso impazzisce

Solo batteria + sorgente di disturbo sulla 220, su molte prove è impazzito una volta sola

Batteria tampone + Alimentatore con disturbo completamente esterno (motorino DC con batteria 12 V) nessun problema

Risultato particolare: Qualsiasi configurazione e trasmissione da palmare a 144mhz a distanza di 10 cm SI RESETTA TUTTO :D

A questo punto, tralasciando l'ultimo caso che penso vada ad influire sul pulsante di reset, direi che come suggeriva Michele il problema sta nella linea 220 o nell'alimentatore (strano perchè è buono visto che l'ho pagato + di 100€) che mandano spike all'arduino!

Michele Menniti

Allora controlla se la messa a terra è efficace, vedi se la ciabatta ce l'ha collegata correttamente.
Non so se hai provato, ma dovresti spostare la parte "distrubo" 220V su una presa più lontana per capire se il disturbo entra proprio tramite 220 nell'alimentatore, anche se quell'unica volta che hai avuto il problema a batterie non è da trascurare, essendo comunque molto strano, questi disturbi sembrerebbero fulmini :smiley-eek-blue:!
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

pietro78

Accidenti ho lo stesso problema anche io:
Arduino1 che pilota un relé 12v tramite uln2003 e fin qui nessun problema.
Arduino é collegato a un lcd 20x4 perfettamente funzionante ma nel momento
In cui il relé a 12v commuta senza carico a valle tutto OK mentre se al relé collego un
Piccolo carico come una piccola elettrovalvola per termosifoni a 220V il display lcd scrive "giargianese" insomma impazzisce solo lui mentre la logica dell'Arduino continua a girare...cosa puó essere??
Giá provata la ferrite,l'alimentatore e la batteria esterna a 12V...
GRAZIE.

leo72

Attenzione a non confondere i disturbi elettromagnetici e/o di salti nell'alimentazione da quelli derivanti da esaurimento della memoria Ram, anche in quest'ultimo caso possono apparire caratteri senza senso o casuali sull'LCD.

Michele Menniti

Questi carichi probabilmente immettono sulla rete elettrica degli spike che vanno a disturbare le alimentazioni; di solito una buona messa a terra ne elimina la maggior parte, mentre spiee o prese semi-danneggiate o senza messa a terra collegata peggiorano la situazione.
La prova da fare è:
circuito alimentato SOLO a batterie
carico "disturbante" collegato lontano da Arduino, magari allungando di molto fi fili che vanno alla bobina del relé, che installi (sempre come prova) in prossimità dell'elettrovalvola
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

pietro78

-Prova1 : Alimentazione duale ( 5v e 12v) con circuito a batteria

-Risultato : Nessuna nota positiva , al momento che il relè 12v commuta e alimenta a 220v l'elettrovalvola il display LCD sfarfalla..

-Prova2 : Allungati i fili di alimentazione relè nei pressi dell'elettrovalvola

-Risultato : Nessuna nota positiva , al momento che il relè 12v commuta e alimenta a 220v l'elettrovalvola il display LCD sfarfalla..

-Prova3 : Prova del circuito senza elettrovalvola

-Risultato : Il relè attuatore commuta senza provocare disturbi al display LCD...

Che barba che noia...accidenti questo non mi era mai capitato...sicuramente il problema è da attribuire a SPYKE induttivi derivanti dal motorino elettrico dell'elettrovalvola...
ma come posso risolvere ???
Magari con dei relè optoisolati ???
Mi sapreste dare qualche esempio di questi relè ???

Michele Menniti

Fai quest'altra prova:
fai funzionare il circuito col relé a vuoto (prova funzionante) e prova ad alimentare direttamente la tua elettrovalvola, senza usare il relé, vediamo se dà fastidio lo stesso o meno.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

liso

#13
Nov 12, 2012, 12:33 pm Last Edit: Nov 12, 2012, 12:35 pm by liso Reason: 1
Ho risolto!
I problemi erano 2, ed insieme facevano impazzire tutto.
il primo era quello della ciabatta con la messa a terra staccata, il secondo, più grave era che mancava il condensatore tra i contatti del relè.
Non pensavo che per carichi piccoli, quanto quelli di un PIN digitale fosse necessario un condensatore...invece aggiungendo un bel 220nF tra ii contatti del relè che danno +5 o GND al pin tutto si è risolto.
Inoltre, per sicurezza ho messo un bell'elettrolitico sull'alimetnazione...ora non perde un colpo!
Spero che questa soluzione serva a qualcuno

liso

PS. oggi lo monto "sul campo" ovvero dovrà attivare/disattivare un gruppo elettrogeno da 30KW...i problemi saranno sicuramente tanti altri

Michele Menniti

Sono contento per te, ed anche perché l'avevo azzeccata, circa la messa a terra :) Purtroppo è un fattore troppo spesso trascurato, e finché si lavora sulla bassa tensione è difficile che dia problema, ma appena si tocca la 220V eccoli lì. Grazie per il feedback e speriamo bene per le ulteriori prove, seguiamo ora anche la situazione di Pietro e vediamo che ne esce, già potrebbe mettere in atto il tuo consiglio sul condensatore, anche se io sinceramente non ho ben capito come è collegato questo relé e dove hai messo il C.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up