Arduino Forum

International => Italiano => Software => Topic started by: hermit274 on Dec 26, 2012, 11:01 am

Title: Simboli strani sul display
Post by: hermit274 on Dec 26, 2012, 11:01 am
Ciao ragazzi!innanzi tutto Buon Natale a tutti!
Volevo chiedere un consiglio agli esperti di questo forum. Da qualche giorno mi sono imbattuto in un problema strano!
Sto usando un termistore per rilevare la temperatura dell'acqua dei miei termosifoni e in base alla temperatura rilevata, viene visualizzato un programma sul mio display LCD.
Esempio
0 -40°C --->Programma1
40-50°C ---> Programma2
.
.
.
fino a qui tutto bene, funziona tutto e viene tutto visualizzato sul display per una mezzoretta circa, dopo di che appaiono dei simboli tipo questi:
(http://www.radiovilla.it/DSC_0293%20copia.jpg)

sapreste aiutarmi?vi posto anche il codice che ho creato per stampare su monitor:

Code: [Select]
void stampalcd(int valore_programma, int t_acqua, int t_sonda, int errore){

 if(errore ==0){
   if(t_sonda_precedente != t_sonda || t_acqua_precedente!= t_acqua || programma_precedente != valore_programma)
   {
     lcd.clear();
     lcd.setCursor(0,0);

     if (valore_programma == 1){
       lcd.print("Load Wood");
     }
     if (valore_programma == 2){
       lcd.print("Programma 1");
     }
     if (valore_programma == 3){
       lcd.print("Programma 2");
     }
     if (valore_programma == 4){
       lcd.print("Programma 3");
     }
     if (valore_programma == 5){
       lcd.print("Programma 4");
     }

     lcd.setCursor(0,1);
     lcd.print("H20:");
     lcd.print(t_acqua);
     lcd.print(" / ");
     lcd.print("T-c");
     lcd.print(t_sonda);
     t_sonda_precedente = t_sonda;
     t_acqua_precedente = t_acqua;
     programma_precedente = valore_programma;
   }
 }
 else
 {
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Errore!");
 }
}

non so proprio più che pesci prendere.
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 26, 2012, 11:12 am
Mi sembra un classico caso di saturazione della memoria Ram.
Lo sketch che stai usando è molto grande o include molte librerie o fa uso di tante variabili testuali?
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Dec 26, 2012, 11:29 am
Si, in effetti lo sketch è molto grande e poi uso 4 librerie. Come variabili testuali uso soltanto una variabile di tipo string
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Dec 26, 2012, 11:36 am
comunque mi sembra strano. Perchè per accendere e spegnere il sistema ho un pulsante.
Quando spengo il sistema riazzero tutte le variabili, che penso sia utile a svuotare la ram.
Il problema adesso sono due:
- quando si presenta questo problema, anche quando schiaccio il pulsante per spegnere il sistema, al riavvio il problema si presenta fin dall'inizio. Per ripristinare tutto devo per forza utilizzare il tasto di reset.
- provando qualunque cosa, adesso ho tolto il termistore e a posto di questo ho messo un semplice potenziometro che utilizzo per far variare, in modo manuale, la temperatura.
Il sistema è acceso da circa un ora e non fa una piega...

cosa sta succedendo?! :smiley-eek:
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 26, 2012, 11:49 am
Sta succedendo che la RAM è pulita all'avvio ma nella RAM le variabili vengono continuamente create e distrutte, inoltre ogni stringa che deve essere stampata sul display viene letta dalla Flash e poi caricata in Ram, da cui viene poi elaborata.
Infine, nella Ram vive lo stack, dove vengono memorizzate tutti i punti di rientro di salti a subroutine.
Tenendo conto che di Ram l'Atmega ne ha 2 kB, si fa presto ad esaurirla.

Ti consiglio questa lettura:
http://www.leonardomiliani.com/?p=572

ed inoltre l'utilizzo della funzione F() per salvare direttamente su Flash tutti i messaggi testuali del tuo sketch.
Esempio:
lcd.print("TEMPERATURA: ");
diventa
lcd.print(F("TEMPERATURA: "));
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Dec 26, 2012, 12:12 pm
ok...adesso mi metto all'opera..ma perchè l'errore non sussiste con il potenziometro?
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Dec 26, 2012, 12:30 pm
Innanzi tutto leo72 grazie per la risposta....
Ho seguito la tua guida utilizzando l'avr-size e quello che mi restituisce sullo sketch del mio programma è questo:

Device: Unknown

Program:   18710 bytes
(.text + .data + .bootloader)

Data:        815 bytes
(.data + .bss + .noinit)
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 26, 2012, 12:31 pm

ok...adesso mi metto all'opera..ma perchè l'errore non sussiste con il potenziometro?

Non so. Dovresti studiarti il codice e vedere se ci sono possibili punti deboli. Ad esempio un array che va fuori indice. Delle conversioni ecc.. non so.
Title: Re: Simboli strani sul monitor
Post by: testato on Dec 27, 2012, 06:51 pm
ho delle domande sulla funzione F() (a proposito ma nel Reference dove devo cercarla questa funzione)

1. quando si usa la F() per memorizzare una stringa testuale, la stringa per essere visualizzata non deve cmq passare per la ram ?

2. la si puo' usare anche per memorizzare una variabile, tipo la misura di un sensore ? (Credo cmq che non avrebbe senso farlo)
Title: Re: Simboli strani sul monitor
Post by: PaoloP on Dec 27, 2012, 07:21 pm
1. No, è fatto apposta per evitare di consumare RAM.

2. No, non è applicabile alle variabili.

Della funzione F() ne parla qui --> http://arduino.cc/en/Serial/Print (http://arduino.cc/en/Serial/Print)
Quote
You can pass flash-memory based strings to Serial.print() by wrapping them with F(). For example :
Serial.print(F("Hello World"))
Title: Re: Simboli strani sul monitor
Post by: testato on Dec 27, 2012, 09:08 pm
grazie, e progmem invece ? e' un suo concorrente o serve ad altro ?

quando ho scritto deve passare per la ram, intendo un passaggio in sottfondo, non so come spiegarmi, cioe' la cpu per poter stampare il dato non e' obbligata a ricevere il flusso dei dati attraverso la ram ? credo abbia a che fare con le architetture delle cpu, invece di studiarmelo chiedo e faccio prima :)
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 27, 2012, 11:10 pm

grazie, e progmem invece ? e' un suo concorrente o serve ad altro ?

progmem è un alias dell'attributo __ATTR_PROGMEM__ definito nelle librerie avr che servono ad istruire il compilatore a trattare i dati seguenti dalla Flash:
http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html

La funzione F() altro non è che un altro alias che inserisce questo codice:
Code: [Select]
#define F(string_literal) (reinterpret_cast<const __FlashStringHelper *>(PSTR(string_literal)))

Rilevata la parola chiave __FlashStringHelper, la libreria Print.h recupera i dati della stringa in byte alla volta dalla memoria Flash
Code: [Select]
size_t Print::print(const __FlashStringHelper *ifsh)
{
  const char PROGMEM *p = (const char PROGMEM *)ifsh;
  size_t n = 0;
  while (1) {
    unsigned char c = pgm_read_byte(p++);
    if (c == 0) break;
    n += write(c);
  }
  return n;
}


Quote

quando ho scritto deve passare per la ram, intendo un passaggio in sottfondo, non so come spiegarmi, cioe' la cpu per poter stampare il dato non e' obbligata a ricevere il flusso dei dati attraverso la ram ? credo abbia a che fare con le architetture delle cpu, invece di studiarmelo chiedo e faccio prima :)

Normalmente in un'architettura Harvard i dati vengono sempre caricati in Ram e poi da lì trattati.
Ovviamente un microcontrollore è capace anche, con determinati comandi, di gestire dei dati dalla Flash. E' ciò che aiuta a fare PROGMEM, grazie al quale il compilatore viene istruito affinché carichi i dati non in Ram prima di passarli nei registri ma direttamente in essi.
Title: Re: Simboli strani sul monitor
Post by: testato on Dec 27, 2012, 11:24 pm
grazie ora e' tutto piu' chiaro
ultima cosa, quindi sia progmem che f() sono strumenti per caricare dei dati senza passare dalla ram, ma ad oggi, con le release attuali dell'ide, la f() ha sostituito completamente il comando progmem, oppure ci sono casi in cui e' meglio usare l'uno e non l'altro ? (si capisce che non ho colto granche' dal codice allegato ?  :smiley-mr-green:)
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 27, 2012, 11:53 pm

grazie ora e' tutto piu' chiaro
ultima cosa, quindi sia progmem che f() sono strumenti per caricare dei dati senza passare dalla ram, ma ad oggi, con le release attuali dell'ide, la f() ha sostituito completamente il comando progmem, oppure ci sono casi in cui e' meglio usare l'uno e non l'altro ? (si capisce che non ho colto granche' dal codice allegato ?  :smiley-mr-green:)

Partiamo da un concetto. In Flash con PROGMEM puoi gestire SOLO costanti. Dati fissi che non cambiano durante l'esecuzione del programma perché in Flash non puoi scriverci (non è del tutto vero, però prendi per buona quest'affermazione relativamente al discorso che stiamo facendo).
Ora, F() serve solo per gestire stringhe, che in C sono costanti. Difatti una stringa è un array di char, un tipo di dati non modificabile.
Se devi usare altri tipi di dato, allora devi usare PROGMEM.
http://arduino.cc/en/Reference/PROGMEM

Attento che il problema non è tanto dire al compilatore di lasciare un dato in Flash, quanto quello di farglielo recuperare, quel dato.  ;)
Title: Re: Simboli strani sul monitor
Post by: testato on Dec 27, 2012, 11:55 pm
karma+1
thanks  :)
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Dec 28, 2012, 10:12 am
Ciao Ragazzi!
Sono ancora alle prese con il progetto sopra indicato. Dai consigli di leo72, ho fatto tutto ciò che mi ha detto cercando di alleggerire il codice e liberare quanta più ram possibile.
Per sapere quanta ram mi rimane libera durante l'esecuzione del programma, ho utilizzato la funzione freeRam() presente nella sua guida al link che lui ha indicato.
Durante l'esecuzione del programma, sto facendo stampare sul display LCD la memoria libera e mi visualizza costantemente 1579byte liberi.
Il bello è che dopo un oretta che arduino è acceso, i simboli strani sul monitor si presentano di nuovo...
uffaaaaa!!!come mai?non ci sto capendo più niente
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Dec 28, 2012, 02:38 pm
nessuno ha un consiglio?
Title: Re: Simboli strani sul monitor
Post by: PaoloP on Dec 28, 2012, 02:45 pm
Controlla i collegamenti e creati un secondo sketch col minimo indispensabile per il funzionamento del display.
Se è tutto a posto allora il problema è nel codice corrente.
Title: Re: Simboli strani sul monitor
Post by: testato on Dec 28, 2012, 08:14 pm
1579 libero vuol dire che ne stai consumando veramente poca, il tuo problema deve essere di carattere hardware.
prova semplicemente a tenere in stampa hello world e vedi cosa fa.
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 28, 2012, 11:02 pm
Oppure che lo sketch riempie col tempo la RAM (stack e/o heap che saturano la memoria). Il fatto che prima il problema compariva quasi subito ed ora, a RAM sgombra, compaia in ritardo (perché ci mette di più a consumare tutta la RAM) fa pensare anche a questo.

Title: Re: Simboli strani sul monitor
Post by: hermit274 on Dec 30, 2012, 11:01 am
Ciao ragazzi, scusate il ritardo, ma questi giorni sto costantemente testando Arduino con il monitor acceso e sta continuando a dare problemi.
L'unico modo in cui non da problemi è quando faccio stampare sul monitor delle stringhe del tipo

P1 (memorialibera)
H20: (temperatura) T-c: (temperatura)

In questo modo non da assolutamente problemi. Se gli faccio stampare una cosa del tipo

Programma 1
H20: (temperatura) T-c (temperatura)

Dopo qualche ora inizia a sbiellare.
Per stampare sul monitor sto usando le funzioni lcd.print(F("Programma 1"))....secondo voi quale è il problema?E' possibile che è un problema hardware? vi dico già da adesso che tutti i cavi sono saldati sul monitor, quindi non ci sono falsi contatti o cose del genere....
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 30, 2012, 11:42 am
Se alleghi lo sketch ad un post forse è meglio, qualcuno può dargli un'occhiata.
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 30, 2012, 12:42 pm
Questo non è lo sketch completo, è solo dal loop() in giù. Manca tutto quello che c'è sopra (setup, define, inclusione di lib e var globali).

Comunque vedo una marea di chiamate a funzioni varie. Ogni chiamata a funzione incrementa lo stack. Se l'errore viene fuori dopo un po' è probabile che la Ram pian piano si saturi.

Potresti provare con un altro modo. Ogni 10 minuti prova a stampare a video il valore della RAM libera, per vedere se questa si satura nel tempo oppure no. Se non si satura allora ci può essere un errore logico (ad esempio un indice che esce da un array).
Title: Re: Simboli strani sul monitor
Post by: leo72 on Dec 30, 2012, 05:15 pm
Non compila. Mancano le funzioni carica_programma() e accensioneBottone()
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 01, 2013, 03:18 pm
oggi ho provato a cambiare le frasi che stampavo sul display lcd ma nulla...sempre stesso problema.
Ho addirittura saldato direttamente i fili sullo schermo facendoli arrivare direttamente ad Arduino senza utilizzare una dashboard, ma nulla. Problema persistente...non so proprio più che fare  :smiley-roll-sweat:
Title: Re: Simboli strani sul monitor
Post by: leo72 on Jan 01, 2013, 03:34 pm
Allora ci dev'essere un problema di logica per cui dopo un certo lasso di tempo qualcosa "salta".
hai provato col test che ti avevo suggerito l'altro giorno?


Potresti provare con un altro modo. Ogni 10 minuti prova a stampare a video il valore della RAM libera, per vedere se questa si satura nel tempo oppure no. Se non si satura allora ci può essere un errore logico (ad esempio un indice che esce da un array).
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 01, 2013, 06:40 pm
ah si si si!quello l'ho fatto...avevo inserito nel codice la funzione free Ram che stampava la memoria libera ogni 5 secondi.
La memoria libera risultava sempre costantemente 1579 tenendo acceso Arduino per 2-3 ore
Title: Re: Simboli strani sul monitor
Post by: leo72 on Jan 01, 2013, 11:26 pm
Un altro punto critico è nella funzione readTemp. Ho visto che fai 20 cicli di calcoli molto complessi con logaritmi e divisioni di float.
La RAM libera è sui 1500 byte al di fuori della readTemp. Ma lì dentro?
Title: Re: Simboli strani sul monitor
Post by: PaoloP on Jan 01, 2013, 11:34 pm
Il for dentro la funzione readtemp non serve a una mazza. :smiley-roll:
Fa la media di valori fissi.
Devi fare la media di diverse letture del sensore, non la media dei calcoli di una sola lettura.  :smiley-eek:
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 02, 2013, 11:00 am
cavolo!!!hai ragione Paolo P! non ci avevo proprio pensato!in questo modo in effetti non faccio proprio nulla! Voi mi consigliate toglierla questo ciclo for?a questo punto se mi complica le cose non mi costa proprio nulla toglierlo, tanto calcolo il valore della temperatura ogni 5 secondi
Title: Re: Simboli strani sul monitor
Post by: leo72 on Jan 02, 2013, 11:08 am
Sì, è vero. Quel ciclo for così com'è scritto non serve a nulla.
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 02, 2013, 11:13 am
quindi mi consigliate ti toglierlo?in modo da liberare memoria?
Title: Re: Simboli strani sul monitor
Post by: leo72 on Jan 02, 2013, 11:59 am

quindi mi consigliate ti toglierlo?in modo da liberare memoria?

Sì.
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 02, 2013, 01:44 pm
ancora nulla ragazzi. Ho completamente eliminato il ciclo for nella funzione readTemp e dopo un pò lo schermo lcd ha cominciato a dare i numeri...sempre simboli strani sul monitor
Title: Re: Simboli strani sul monitor
Post by: Maurotec on Jan 02, 2013, 02:42 pm
Non è che per caso l'inizializzazione ldc è errata, io non ricordo i parametri che vuole, magari c'è qualche pin in comune con altro.

Ciao.
Title: Re: Simboli strani sul monitor
Post by: leo72 on Jan 02, 2013, 02:50 pm

ancora nulla ragazzi. Ho completamente eliminato il ciclo for nella funzione readTemp e dopo un pò lo schermo lcd ha cominciato a dare i numeri...sempre simboli strani sul monitor


Crea uno sketch di test che stampi un semplice contatore incrementale sul display. Se anche questo dopo un po' perde colpi c'è qualcosa che non va nel display.

A livello di circuito, non è che il tuo programma sbarella quando magari viene attivato qualcosa? Hai per caso alimentazioni in comune con l'Arduino? Qualcosa che potrebbe far fare un salto di tensione? O che potrebbe consumare molta corrente?
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 02, 2013, 02:51 pm
No, ho controllato. Sono stato attentissimo nel collegare il monitor seguendo i pin giusti. Ho controllato e ricontrollato lo schema più volte ed è tutto collegato nel modo giusto.
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 02, 2013, 03:01 pm
Ragazzi, vi chiedo una piccola cosa, non vorrei che questo fosse il problema di tutto.
Se date uno sguardo al codice, definisco il pin_motore 10. Questo pin viene utilizzato per pilotare un relè a 6V tramite un transistor.
Il relè è alimentato da un alimentatore esterno, quindi l'assorbimento della bobina non viene "sentito" da Arduino.
Per provare il codice, che mi state aiutando a correggere, fino ad adesso ho collegato il relè non facendo passare la 220V (i 220V servono per avviare o no il motore). In questo modo tutto funziona perfettamente per un bel pò di ore.
Appena attacco la 220V, dopo un pò il monitor inizia a sbiellare.
Ho notato che quando il relè attacca e poi stacca, alimentando il motore, c'è un piccolo "sfiammamento" nel relè dovuto ovviamente all'assorbimento del motore.
Potrebbe essere il campo magnetico generato dello "sfiamamento" a far sbiellare così tanto il monitor?
Title: Re: Simboli strani sul monitor
Post by: PaoloP on Jan 02, 2013, 03:36 pm
Hai messo un diodo in antiparallelo sul relè?
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 02, 2013, 03:43 pm
ho seguito questo schema:

http://playground.arduino.cc/uploads/Learning/relays.pdf
Title: Re: Simboli strani sul monitor
Post by: PaoloP on Jan 02, 2013, 03:56 pm
ok.  ;)
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 02, 2013, 04:05 pm
ragazzi non ci crederete ma è veramente quello il problema. Ho tenuto acceso Arduino fino ad adesso non collegando la 220V, in pratica il relè in questo modo si attiva ma non fa passare la corrente perché ovviamente è staccata.
Tutto ha funzionato egregiamente fino a quando non ho collegato la spina. Appena ho collegato la spina della 220V il motore si è attivato per 2-3 scatti e il display ha iniziato a sbiellare...
adesso però non so proprio come risolverlo...
Title: Re: Simboli strani sul monitor
Post by: PaoloP on Jan 02, 2013, 05:09 pm
Allontana il relè da Arduino e Display.
Title: Re: Simboli strani sul monitor
Post by: Maurotec on Jan 03, 2013, 04:03 am
Ci sarebbe da leggere il datasheet del display per vedere se i pin non usati devo essere vincolati a VCC o GND, questo nel caso di collegamento in nibble.

Un condensatore da 470pf 1000V tra i contatti del relè aiuta a limitare gli spike di commutazione, allungando la vita utile del relè, ma non è detto risolva il problema del display.

Ciao.
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 03, 2013, 01:38 pm
ciao ragazzi...brutte notizie ancora.
Questa mattina mi sono armato di tanta buona pazienza e determinazione e ho creato una piccola scheda in bachelite dove poter saldare il relè con tutto il necessario per poterlo allontanare da Arduino.
Tutto fiero del lavoro, ho attaccato nuovamente il relè ad Arduino, ho attaccato la 220V e il motore e magicamente...Nullaaaa!!!il display continua ancora a sbiellare :'''''''(

ho visto quello che ha scritto MauroTec, magari adesso cerco un condensatore.

Quote
Ci sarebbe da leggere il datasheet del display per vedere se i pin non usati devo essere vincolati a VCC o GND, questo nel caso di collegamento in nibble.

ragazzi, se avete pazienza, potete aiutarmi a capire il datasheet del mio monitor?io non ho assolutamente idea da dove iniziare a leggerlo.
Il modello è un Hitachi HD44780 e ho trovato il datasheet (dovrebbe essere il seguente).
Potete dirmi quali contatti devo mettere e GND o Vcc???
Il datasheet dovrebbe essere questo: http://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 04, 2013, 03:02 pm
Bo ragazzi, purtroppo mi devo arrendere ai problemi irrisolvibili e incomprensibili.
Questi giorni sono stato a provare un pò tutto ma non sono riuscito purtroppo a risolvere il problema.
Ho messo un altro relè in cascata dopo il primo per cercare magari di spezzare il segnale, ma dopo 2-3 giri di motore il problema sullo schermo riappare sempre.
Per adesso posso consigliare a tutti quelli come me che hanno avuto il mio stesso problema, di non attaccare dei carichi induttivi quando c'è di mezzo un display lcd a sette segmenti.
Se riuscirò a trovare una soluzione la farò certo presente a tutti...
Title: Re: Simboli strani sul monitor
Post by: leo72 on Jan 04, 2013, 06:08 pm
Separa le alimentazioni di Arduino+display e motore.
Isola i comandi del motore tramite un fotoaccoppiatore, da usare per comandare il relé che a sua volta comanda il motore.
Metti dei condensatori elettrolitici da 100 uF e ceramici da 0.1 uF sulle varie linee VCC per filtrare eventuali disturbi del motore. Metti anche un C da 0.1 uF ceramico sulla linea VCC del display
Title: Re: Simboli strani sul monitor
Post by: cece99 on Jan 04, 2013, 06:19 pm
Non ho letto tutto il post ma potrebbe essere che l'alimentatore non è ben filtrato e a causa del ripple esce quel casino (è successo anche a me tempo fa...), se si ti consiglio di filtrre meglio l'alimentazione
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 04, 2013, 06:35 pm
Grazie ragazzi, io stavo per mollare tutto :-)
cmqe per quanto riguarda l'alimentazione, quale alimentazione intendi? perché Arduino viene alimentato con un alimentatore, mentre il relè con un altro alimentatore.
per i consigli di leo72 appena posso cercherò di montare subito un fotoaccoppiatore e vi farò sapere se si risolve qualcosa
Title: Re: Simboli strani sul monitor
Post by: cece99 on Jan 04, 2013, 06:37 pm

Grazie ragazzi, io stavo per mollare tutto :-)
cmqe per quanto riguarda l'alimentazione, quale alimentazione intendi? perché Arduino viene alimentato con un alimentatore, mentre il relè con un altro alimentatore.
per i consigli di leo72 appena posso cercherò di montare subito un fotoaccoppiatore e vi farò sapere se si risolve qualcosa

Io per alimentatore intendo quello di arduino
Title: Re: Simboli strani sul monitor
Post by: Maurotec on Jan 04, 2013, 09:02 pm
Perché non fai un po di foto di tutto, motore, collegamenti, alimentatori, spine e prese 220 ecc.

Magari il problema si presenta anche accendendo il motore senza passare dal relè e allora il problema potrebbe essere il motore, magari è dc a spazzole di alta potenza, insomma il problema è complesso da estirpare e più cose abbiamo per raggionare meglio e le foto se di qualità sono il massimo specie se non tralasciano alcun dettaglio.

Comunque visto che ci sei collega il motore diretto, se il display non fa scherzi avvicina i fili al display se ipazzisce potrebbe bastare un filtro sul motore.

Capisci che a distanza è già tanto essere riusciti a trovare il problema.

Ciao.
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 05, 2013, 02:58 pm
Ok ragazzi!allora mi rimetto di nuovo all'opera!Voglio chiedervi delle cose:

Quote
Io per alimentatore intendo quello di arduino

Come faccio a questo punto a filtrare l'alimentazione dell'alimentatore che va ad Arduino?

Quote
Magari il problema si presenta anche accendendo il motore senza passare dal relè e allora il problema potrebbe essere il motore, magari è dc a spazzole di alta potenza

No vi posso dire subito che il motore è un motore 220V a corrente alternata, per farvi capire è un motore molto simile a quello delle autoclavi per l'acqua.

Quote
Comunque visto che ci sei collega il motore diretto, se il display non fa scherzi avvicina i fili al display se ipazzisce potrebbe bastare un filtro sul motore.

Questa prova l'avevo già fatta per capire cosa diavolo stesse succedendo. Ho attaccato il motore direttamente alla corrente, tenendo accanto Arduino con il display acceso e non è accaduto nulla, andava tutto perfettamente.
Deve essere un qualche segnale disturbato che rientra attraverso il relè
Però anche se fosse, come metto un filtro sul motore?

Vi ringrazio mille per il supporto ragazzi!!!
PS: appena potrò scattare due foto decenti le posto immediatamente
Title: Re: Simboli strani sul monitor
Post by: PaoloP on Jan 05, 2013, 10:28 pm
Hai cambiato il relè?
Title: Re: Simboli strani sul monitor
Post by: testato on Jan 05, 2013, 10:56 pm
altra strada possibile, usa un rele' allo stato solido.
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 06, 2013, 11:08 am
Quote
Hai cambiato il relè?

si si ho cambiato due relè e stesso problema. A quanto ho capito è un disturbo che proviene dal motore quando parte, non è un problema legato al relè.

Quote
altra strada possibile, usa un rele' allo stato solido.

A questa soluzione in effetti non avevo pensato. Devo passare da un negozio di forniture elettriche...
Title: Re: Simboli strani sul monitor
Post by: pablos71 on Jan 06, 2013, 11:22 am
Secondo me vi siete persi, è diventata una lotteria, "quanti fagioli ci sono nel barattolo?".

Adesso gli fate comprare i relè allo stato solido che per i carichi 220 costano un botto, da quando in qua lo scatto di un relè (senza carico) provoca problemi ad una scheda elettronica?
Se lo fa solo quando mette il carico è evidente che l'alimentatore è scarso di filtri adeguati, non costa meno un alimentatore appropriato che tutti i relè solidi?

Hai provato sto benedetto condensatore da 0.22uF 400v?

Probabilmente avrà risolto, non si è più sentito .....
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 06, 2013, 12:09 pm
Quote
Hai provato sto benedetto condensatore da 0.22uF 400v?

Probabilmente avrà risolto, non si è più sentito .....


Grazie per l'appoggio pablos!! :)
Comunque sono ancora qui, sono duro a morire :D
Il problema non l'ho ancora risolto purtroppo perché questi giorni sono partito e purtroppo ho tutto il materiale che mi serve a casa. Domani vedrò di passare in un negozio di elettronica per prendere il necessario.
Comunque magari provo prima con questo condesatore da .022uF 400V. L'unica cosa che non so come attaccarlo sul relè. Il relè che ho io è il classico relè che si trova nei kit di Arduino.
Due contatti li uso per alimentare la bobina.
Poi altri due contatti sono per la linea 220V, e infine altri due contatti sono collegati al motore in modo che quando chiude la corrente passa al motore. Come collego questo condensatore?
Vi allego magari un piccolo schema rappresentativo del relè:
(http://www.radiovilla.it/Senza-titolo-1.jpg)

Quote
Se lo fa solo quando mette il carico è evidente che l'alimentatore è scarso di filtri adeguati, non costa meno un alimentatore appropriato che tutti i relè solidi?

Come faccio a filtrare in modo adeguato il mio alimentatore?

Comunque appena risolverò pubblicherò tutto non vi preoccupate!Almeno se qualcuno si presenterà con lo stesso problema in futuro non si dispererà quanto me :), d'altronde i forum servono proprio a questo!
Title: Re: Simboli strani sul monitor
Post by: Maurotec on Jan 06, 2013, 01:11 pm
Con il tuo relè interrompi entrambe le fase, e come se usassi un interruttore bipolare, pertanto occorrono due condensatori, uno per polo.
Come li devi collegare?

Un condensatore tra 5 e 7. Un altro tra 6 e 8.

Ho chiesto le foto non perchè sono un amante della fotografia. Invece con le foto con un solo colpo d'occhio capisco cosa stai usando.
Es. Che alimentatore usi?
Stai usando Arduino UNO/MEGA o ....? Oppure si tratta di uno standalone
Il motore lo alimenti dalla stessa scarpetta (multipresa) con cui alimenti arduino ?

ecc.

Vedendo le foto posso escludere l'alimentatore la scarpetta ecc.

Filtro per il motore:
Si tratta di un filtro antidisturbo che attenua i rumori provocati dal motore evitando che ritornino alla presa di corrente e qui a tutto l'impianto.
Impianto civile: Ci sono appartamente cablati da delinguenti e come risultato si ha che appena l'autoclave si accende dalla TV esce un suono di frittura.

Una cosa banale che fa perdere tempo, se fossi li riolverei in pochi minuti.

Ciao.


Ciao
Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 06, 2013, 05:13 pm
Si MauroTec, hai ragione. Purtroppo questi giorni non essendo a casa, ma in viaggio non posso postare le foto. Appena torno ti faccio vedere tutto, comunque per adesso posso rispondere subito ad alcune tue richieste:

Quote
Stai usando Arduino UNO/MEGA o ....? Oppure si tratta di uno standalone

Sto usando un Arduino 2009

Quote
Es. Che alimentatore usi?

Allora, all'inizio usavo un alimentatore come questo:
(http://img1.annuncicdn.it/05/d9/05d9e4f858f76e1905797f96b425d245_med.jpg),
(12V 500ma) però ho visto che i contatti vicino allo spinotto dell'alimentazione dopo un pò diventavano bollenti, per questo ho evitato di alimentarlo tramite l'alimentazione esterna e lo alimentato con un alimentatore come questo
(http://www.r-digital.it/images/periferiche%20pc/alimentatore_usb.jpg)
alimentando Arduino tramite la presa USB.
Però usando uno o l'altro alimentatore il problema si presenta lo stesso.

Quote
Il motore lo alimenti dalla stessa scarpetta (multipresa) con cui alimenti arduino ?

Arduino per adesso l'ho alimentato utilizzando la stessa multipresa con cui alimento il motore, ma prima si trovavano su due prese diverse e il problema si presentava comunque.

Quote
Impianto civile: Ci sono appartamente cablati da delinguenti e come risultato si ha che appena l'autoclave si accende dalla TV esce un suono di frittura.

Per l'impianto, posso garantirti che è stato fatto a regola d'arte :)

Title: Re: Simboli strani sul monitor
Post by: hermit274 on Jan 09, 2013, 08:11 pm
Ciao ragazzi!!!!!Sono tornatooooo!!!
Innanzi tutto scusatemi questi giorni per il ritardo nelle risposte, ma sono stato un pò impegnato e non ho continuato il mio post.
Allora novità: il problema che ho sembra quasi essersi risolto!!!

Ho seguito un pò i consigli che mi avete dato e sembra che ci stiamo avvicinando alla soluzione del problema. Vi spiego quello che ho fatto:
1) Ho messo un fotoaccoppiatore (come da consiglio di leo72) che pilota direttamente il relè
2) Ho messo due condesatori tra i contatti 5e7 6e8 come nello schema della foto che ho postato

a quanto pare i risultati si vedono. Quando accendo il sistema, tutto funziona perfettamente il motore gira, gira e gira e il monitor non sfarfalla come prima.
Tutto felicissimo vado a spegnere il tutto e...NOOOO di nuovo stesso problema!Il display inizia a sfarfallare. Ho constatato però adesso il problema appare soltanto quando spengo Arduino.
Se vi serve dare uno sguardo al codice, vedete quello che ho postato precedentemente, il codice è rimasto identico.
Grazie mille dell'aiuto ragazzi
Title: Re: Simboli strani sul display
Post by: pablos71 on Jan 09, 2013, 08:17 pm
Comunque il condensatore 0.22 400v va tra Fase e neutro 5-6 o 7-8 come ti ho mostrato nella foto della mia presa multipla web comandata
Title: Re: Simboli strani sul display
Post by: hermit274 on Jan 09, 2013, 08:45 pm
Quote
Comunque il condensatore 0.22 400v va tra Fase e neutro 5-6 o 7-8 come ti ho mostrato nella foto della mia presa multipla web comandata

scusa pablos ma quale foto?
Title: Re: Simboli strani sul display
Post by: pablos71 on Jan 09, 2013, 08:58 pm
Mi sembrava di averla postata, siccome questa settimana c'è la sagra dei disturbi sulla rete 220 non ricordo a chi, non è che hai eliminato il post copia dalla sezione generale?

vabbè ... tra poco la ri-posto

ciao
Title: Re: Simboli strani sul display
Post by: pablos71 on Jan 09, 2013, 09:12 pm
ecco l'ho trovato non eri tu, sorry eheheheheh

http://arduino.cc/forum/index.php/topic,140280.0.html  « Reply #9 on: January 03, 2013, 12:45:38 PM »
Title: Re: Simboli strani sul display
Post by: hermit274 on Jan 09, 2013, 10:10 pm
ehehe don't you worry!
Title: Re: Simboli strani sul monitor
Post by: leo72 on Jan 09, 2013, 10:22 pm

Tutto felicissimo vado a spegnere il tutto e...NOOOO di nuovo stesso problema!Il display inizia a sfarfallare. Ho constatato però adesso il problema appare soltanto quando spengo Arduino.

Non ho capito.... stacchi l'Arduino... ed il display chi lo pilota, quindi? Mi pare normale che compaiano caratteri a caso.
O sono io che non ho capito.  :smiley-roll-blue:
Title: Re: Simboli strani sul monitor
Post by: pablos71 on Jan 09, 2013, 10:45 pm

Tutto felicissimo vado a spegnere il tutto e...NOOOO di nuovo stesso problema!Il display inizia a sfarfallare.

in effetti Leo ha ragione ... qualche legge fisica a noi sconosciuta interviene a casa tua :)
Title: Re: Simboli strani sul display
Post by: testato on Jan 09, 2013, 11:14 pm

Un condensatore tra 5 e 7. Un altro tra 6 e 8.



il condensatore va tra Fase e neutro 5-6 o 7-8


Quindi ricapitolando sarebbero 3, di cui uno a piacere  :)
Title: Re: Simboli strani sul display
Post by: hermit274 on Jan 09, 2013, 11:25 pm
Quote
in effetti Leo ha ragione ... qualche legge fisica a noi sconosciuta interviene a casa tua

No, non intendevo quello.
Quando clicco il pulsante una variabile (che ho chiamato accensione) la pongo uguale a 1. Quando questa variabile è pari a uno allora il loop viene eseguito seguendo una certa condizione.
Quando riclicco il pulsante questa variabile viene posta pari a 0 e quindi il loop viene eseguito con la condizione di "spegnimento".
Se date un occhiata al codice si capisce meglio...
Title: Re: Simboli strani sul display
Post by: Maurotec on Jan 09, 2013, 11:52 pm


Un condensatore tra 5 e 7. Un altro tra 6 e 8.



il condensatore va tra Fase e neutro 5-6 o 7-8


Quindi ricapitolando sarebbero 3, di cui uno a piacere  :)



A me stanno bene 2, uno in paralello ad ogni contatto del relè. Però è anche possibile metterli come dice pablos, ma in questo caso è meglio mettere in parallelo al carico induttivo molto vicino ai contatto del rele una serie RC 0.22uF-100 ohm. Altrove ho visto due condensatori messi in serie, posti in paralello al carico e il punto centrale va verso terra (giallo/verde) con un resistore.

Testato in merito di AC dovrebbe avere abbastanza esperienza, ricordo male?

Dimentacavo una cosa, il microcontroller ha pin posti in ingresso flottanti, ciè senza la pull-up? Controlla ed eventualmente correggi.

Ciao.
Title: Re: Simboli strani sul display
Post by: testato on Jan 10, 2013, 12:41 am
Sono tutte configurazioni da filtro antidisturbo, quelli posti in parallelo devono essere di tipo X, quelli posti verso massa di tipo Y
la modalita' usata da te, cioe' in parallelo al contatto credo sia di differente applicazione, assorbono gli spike durante la commutazione, userei anche in questo caso gli Y in quanto testati per tensioni molto elevate 2KV in su.

Non credo basti per essere un esperto di AC ma grazie del pensiero :)
Title: Re: Simboli strani sul display
Post by: hermit274 on Jan 10, 2013, 07:19 pm
Ciao a tutti ragazzi...FINALMENTE ABBIAMO RISOLTOOO!!:D
Ho tenuto acceso il sistema tutto oggi e a quanto pare il problema è stato completamente eliminato.
Per poterlo eliminare del tutto ho utilizzato:
1) un fotoaccoppiatore per poter pilotare il relè, se non sapete come si fa, ho seguito questo schema che vi indico:
(http://www.grix.it/resample.php?img=%2FUserFiles%2Fezio%2FImage%2FFotoaccopiatori%2F13%281%29.gif&w=462)

2) Sui contatti del relè ho messo due condesatori fissi da 0.22 400v, uno sui contatti 5-6 e l'altro sui contatti 7-8
(http://www.radiovilla.it/Senza-titolo-1.jpg)

Il problema è completamente sparito.
Consiglio di seguire questo piccolo schema nel momento in cui dovete attaccare ad Arduino un carico induttivo. Questo carico potrebbe portare a delle interferenze durante l'esecuzione del vostro sketch.

Ringrazio di cuore tutte le persone che mi hanno aiutato a risolvere questo problema!!
Grazie ragazzi!!!
Title: Re: Simboli strani sul display
Post by: pablos71 on Jan 10, 2013, 07:57 pm
Mmm ... io non avrei messo 2 condensatori, questi si trovano ad essere in parallelo con relè chiuso, modificando il suo valore capacitivo.
Il collegamento in serie di due condensatori porterà a ridurre la loro capacità(è come se la distanza tra le due piastre aumentasse) ma in compenso aumenterà la loro tensione di lavoro. Nel caso di un collegamento in parallelo i condensatori avranno una capacità superiore(è come se si aumentassero le dimensioni delle due piastre), facendo restare invariata la loro tensione di lavoro.

Uno bastava sul 7-8

ciao
Title: Re: Simboli strani sul display
Post by: hermit274 on Jan 10, 2013, 09:40 pm
Quote
Mmm ... io non avrei messo 2 condensatori, questi si trovano ad essere in parallelo con relè chiuso, modificando il suo valore capacitivo.
Il collegamento in serie di due condensatori porterà a ridurre la loro capacità(è come se la distanza tra le due piastre aumentasse) ma in compenso aumenterà la loro tensione di lavoro. Nel caso di un collegamento in parallelo i condensatori avranno una capacità superiore(è come se si aumentassero le dimensioni delle due piastre), facendo restare invariata la loro tensione di lavoro.

Uno bastava sul 7-8

ok...messo soltato uno tra 7-8.
Tutto sempre funzionante alla perfezione
Title: Re: Simboli strani sul display
Post by: testato on Jan 11, 2013, 11:24 am

Mmm ... io non avrei messo 2 condensatori

+1