Costruiamo un visualizzatore per 4 sonde EGT??

Avatar utente
Fabius72
Messaggi: 878
Iscritto il: 09/02/2013, 16:55
ECU: MS2 V3.0
Località: Valle d'Aosta

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda Fabius72 » 04/06/2013, 13:19

vitoos ha scritto:...le temperature devono essere uguali, con condotti e camere uguali...


D'accordo, ma uguali quanto? Allo zero virgola, o con una tolleranza di +-5° o 20°? 1°?
In base anche a questo si decide la scala di visualizzazione. :)
Fabio

Avatar utente
masterx81
Messaggi: 14417
Iscritto il: 15/11/2010, 16:43
Auto: Corsa Gsi, Subby WWW
ECU: MS3 EXP
Località: Asti

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda masterx81 » 04/06/2013, 13:38

tolleranza di 5° è piu' che sufficiente. Ed ovviamente devi bilanciare le sonde. Non tutte rispondono alla stessa maniera...
... Enrico
Ho perso il rispetto di me stesso al Megaraduno 2012 :-)

Avatar utente
vitoos
Messaggi: 5615
Iscritto il: 24/09/2011, 18:30
Auto: Fiat Panda 100HP
ECU: MS3 EXP
Località: salerno

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda vitoos » 04/06/2013, 13:44

Boooh! Credo dipende molto dalla efficienza di tutto. Se c'è un uguale compressione, una uguale accensione, gli iniettori si comportano tutti ugualmente, l'aspirazione è equa per tutti i cilindri credo che la differenza è minima, nell'ordine dei 20-30° a pieno regime. Anzi credo che in parzializzato ci siano maggiore differenza in quando i il pompaggio in aspirazione è più disturbato. È da verificare, come dice giustamente Enrico c'è anche la risposta delle sonde da tenere in considerazione
lasciate qui ogni speranza voi che entrate su questo forum......

comunque sia io grazie a questo forum ho svegliato vecchi tarli addormentati nel mio cervello ed ora mi tocca dargli da mangiare uno ad uno per tenerli buoni

Avatar utente
Fabius72
Messaggi: 878
Iscritto il: 09/02/2013, 16:55
ECU: MS2 V3.0
Località: Valle d'Aosta

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda Fabius72 » 04/06/2013, 14:21

Moolto bene!
Vero, per le differenze tra i cilindri, ma le farfalle io adesso ce le ho regolate da schifo e di meglio non riesco proprio a fare. Con questo sistema, anche nel peggior dei modi possibile, ne uscirà comunque una regolazione migliore :D

Quindi... aggiudicati i 5°/div
Giusto il discorso del bilanciamento sonde!
Forno a 250 gradi maaaa come si correggono le differenze?

Trimmer tra sonda e controller non mi piace.. quindi? :roll:
Dal codice? (Scale 0-5V corrispondenti a differenti valori?)
Fabio

Avatar utente
masterx81
Messaggi: 14417
Iscritto il: 15/11/2010, 16:43
Auto: Corsa Gsi, Subby WWW
ECU: MS3 EXP
Località: Asti

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda masterx81 » 04/06/2013, 14:55

Compensare in codice è la cosa migliore...
... Enrico
Ho perso il rispetto di me stesso al Megaraduno 2012 :-)

Avatar utente
vitoos
Messaggi: 5615
Iscritto il: 24/09/2011, 18:30
Auto: Fiat Panda 100HP
ECU: MS3 EXP
Località: salerno

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda vitoos » 04/06/2013, 15:47

Mah alla fine il range di funzionamento è abbastanza ristretto, 450°-900°, e questo range per le sonde k è lineare quindi se ci saranno differenze saranno più a livello "meccanico" che per le sonde. Io direi di partire con un funzionamento nudo e crudo in modo da vedere se ci sono differenze poi il contorno si può sempre aggiungere
lasciate qui ogni speranza voi che entrate su questo forum......

comunque sia io grazie a questo forum ho svegliato vecchi tarli addormentati nel mio cervello ed ora mi tocca dargli da mangiare uno ad uno per tenerli buoni

Avatar utente
Fabius72
Messaggi: 878
Iscritto il: 09/02/2013, 16:55
ECU: MS2 V3.0
Località: Valle d'Aosta

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda Fabius72 » 04/06/2013, 15:55

Ok, ma un controllo lo farò sicuramente prima di montare il tutto sulla moto... smontarle per farlo in un secondo momento è una rottura.

Intanto sto cercando di avere dei sample dalla Maxim, altrimenti compro gli AD597.

Ahh mio padre dice che lui usò, in fonderia, le termocoppie platino rodio (pt rh) che hanno temperature di utilizzo e di fusione molto più alte rispetto alle tipo K, ma poi quale integrato le controlla? :roll:
Fabio

Avatar utente
masterx81
Messaggi: 14417
Iscritto il: 15/11/2010, 16:43
Auto: Corsa Gsi, Subby WWW
ECU: MS3 EXP
Località: Asti

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda masterx81 » 04/06/2013, 16:14

Ehm, ci sono tolleranze nelle sonde, non è che tutte escono uguali... Meglio verificarle prima... Non dioc che possano essere fuori di centinaia di gradi, ma decine, si'. E se le si usano per bilanciare i cilindri, è meglio che le misure siano affidabili...
Non c'e' niente di peggio che affidarsi ad uno strumento non tarato o non verificato. La misura perde il suo significato.
... Enrico
Ho perso il rispetto di me stesso al Megaraduno 2012 :-)

Avatar utente
Fabius72
Messaggi: 878
Iscritto il: 09/02/2013, 16:55
ECU: MS2 V3.0
Località: Valle d'Aosta

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda Fabius72 » 06/06/2013, 8:39

Sante parole Enri!
PierGSi ha scritto:
Fabius72 ha scritto:Allora, trattandosi di 20 caratteri per riga, e sottraendocene 5 (4 per i gradi + uno spazio), ne rimangono 15.
Bene, presumo che il discorso che hai fatto non sia proprio semplice metterlo in pratica, per cui pensavo che questi 15 caratteri si potrebbe non farli corrispondere alla scala completa 0-1250°, bensì (sparo a caso perchè non ho idea di quanto può essere l'oscillazione reale) 850+-350° quindi 500-1200 --> 50°/carattere, grossomodo apparirebbe così: (ho messo i numeri dopo, perchè con questa formattazione si vedrebbe peggio che in questo modo)

.....III....... 750
.......I....... 850
.......IIIIIIII 1200
.......IIIIII.. 1100

L'idea iniziale comunque era quella di tenere la seconda barra (quella del cil.2) centrata, considerata 100%
Le altre vanno a destra (+) o sinistra (-) di 50° per carattere
E' fattibile?


Beh, io direi che 3 cifre ( 0-999 ) bastano ed avanzano, si puo' fare come dici certo.
Esempio cilindro 1 :

(T1-T2)/50

T1= temp °C cilindro 1 mettiamo 600
T2= temp. °C cilindro 2 mettiamo 800

se t1 e t2 sono dichiarate INT ottieni un risultato intero

(600-800)/50 = -4

devi accendere il quadrato con offset -4 locazioni rispetto a quello centrale.

Secondo voi è una soluzione di visualizzazione accettabile?


Bisogna vedere in pratica, potrebbe essere meglio visualizzare anche barre proporzionali alla temperatura assoluta e basta. Esempio, inizi da 500 e finisci a 875, un quadretto ogni 25°C se ne hai 15 disponibili.

Questo è quel che intendevo prima (youtube è incasinato, calma) :mrgreen: :



Il font è costituito da 5h x7v pixel, ho caricato in ram 6 font personalizzati con rispettivamente :

un carattere vuoto
5 caratteri con da 1 a 5 righe verticali (da sx a dx).

Facendo una divisione intera e tenendo conto del resto traccio un certo numero di quadretti pieni ed alla fine uno con il numero di tacchette necessario.


Pier, il mio display ha il font da 5h x 8v pixel, quindi in verticale ha una linea in più rispetto al tuo. E' un problema?

Cosa intendi con "caricato in ram"? In ram di chi, del display o di arduino?

A proposito, ormai Arduino mi dovrebbe arrivare tra un paio di giorni.
Saresti così gentile da postare il codice che hai fatto, anche se non è nè completo nè definitivo, magari con delle note a lato delle righe di comando (come ho visto e apprezzato aprendo i file di esempio... sempre se hai tempo!), così cominciamo a capirne la logica?
Grazie mille...
Fabio

PierGSi
Messaggi: 878
Iscritto il: 09/12/2010, 17:58
Auto: Honda Integra DC2
Località: PD nord
Contatta:

Re: Costruiamo un visualizzatore per 4 sonde EGT??

Messaggioda PierGSi » 07/06/2013, 20:48

Fabius72 ha scritto:Pier, il mio display ha il font da 5h x 8v pixel, quindi in verticale ha una linea in più rispetto al tuo. E' un problema?


Boh, allora ne avra' 8 anche il mio...sinceramente non ricordo, mi pareva 7. :mrgreen:

Cosa intendi con "caricato in ram"? In ram di chi, del display o di arduino?


Se leggi il datasheet capisci, le prime locazioni della mappa caratteri sono customizzabili. Con appositi comandi puoi crearti dei caratteri personalizzati, siccome si parla di memoria RAM (volatile) l'operazione va eseguita ogni volta dopo l'inizializzazione.

Saresti così gentile da postare il codice che hai fatto, anche se non è nè completo nè definitivo, magari con delle note a lato delle righe di comando (come ho visto e apprezzato aprendo i file di esempio... sempre se hai tempo!), così cominciamo a capirne la logica?


Di seguito incollo il codice della routine per caricare i font custom e per disegnare la barra tanto per capirne la logica, il firmware completo non lo pubblico perche' oltre a girare su un PIC 18F non legge nulla direttamente ma fa parte di un sistema : riceve i dati trasmessi serialmente da una scheda di acquisizione (tra parentesi, sono quasi 4000 righe :geek: ).

Eventualmente se vuoi posso postare le routine che girano sulla scheda di acquisizione per leggere i MAX6675.



*****************************************
Parte relativa al caricamento dei caratteri custom nell'LCD
le sequenze e timing sono presi dal datasheet del controller HD44780
******************************************

void
lcd_init(void)
{
LCD_RS = 0;
DelayMs(15);
PORTA = 0x3;
LCD_STROBE; //cicla il pin EN
DelayMs(5);
LCD_STROBE; //cicla il pin EN
DelayMs(100);
LCD_STROBE; //cicla il pin EN
DelayMs(5);
PORTA = 0x2; // set 4 bit mode
LCD_STROBE; //cicla il pin EN
DelayMs(40);
lcd_write(0x28); // 4 bit , 1/16 duty, 5x8 font
lcd_write(0x08); // display off
lcd_write(0x0C); // display on, blink cursor oFF, cursor position OFF
lcd_write(0x06);


lcd_write(64); //indirizzo CGRAM 1

LCD_RS = 1; // write characters

//LOCAZIONE numero 0

lcd_write(0); //nulla
lcd_write(0); //nulla
lcd_write(0); //nulla
lcd_write(0); //nulla
lcd_write(0); //nulla
lcd_write(0); //nulla
lcd_write(0); //nulla
lcd_write(0); //nulla




//LOCAZIONE numero 1

lcd_write(16); //una tacca
lcd_write(16); //una tacca
lcd_write(16); //una tacca
lcd_write(16); //una tacca
lcd_write(16); //una tacca
lcd_write(16); //una tacca
lcd_write(16); //una tacca
lcd_write(0); //nulla


//LOCAZIONE numero 2

lcd_write(24); //due tacche
lcd_write(24); //due tacche
lcd_write(24); //due tacche
lcd_write(24); //due tacche
lcd_write(24); //due tacche
lcd_write(24); //due tacche
lcd_write(24); //due tacche
lcd_write(0); //nulla

//LOCAZIONE numero 3

lcd_write(28); //tre tacche
lcd_write(28); //tre tacche
lcd_write(28); //tre tacche
lcd_write(28); //tre tacche
lcd_write(28); //tre tacche
lcd_write(28); //tre tacche
lcd_write(28); //tre tacche
lcd_write(0); //nulla

//LOCAZIONE numero 4

lcd_write(30); //quattro tacche
lcd_write(30); //quattro tacche
lcd_write(30); //quattro tacche
lcd_write(30); //quattro tacche
lcd_write(30); //quattro tacche
lcd_write(30); //quattro tacche
lcd_write(30); //quattro tacche
lcd_write(0); //nulla

//LOCAZIONE numero 5

lcd_write(31); //cinque tacche
lcd_write(31); //cinque tacche
lcd_write(31); //cinque tacche
lcd_write(31); //cinque tacche
lcd_write(31); //cinque tacche
lcd_write(31); //cinque tacche
lcd_write(31); //cinque tacche
lcd_write(0); //nulla




LCD_RS = 0; // write characters

}


*********************************
routine da chiamare per disegnare barra

tracciabarra(30); //disegno una barra di 6 caratteri piena
tracciabarra(0); //barra spenta

*********************************


void tracciabarra(unsigned char tacche_) {

unsigned char pieni;
unsigned char ciclo;
unsigned char parziale;
unsigned char vuoti;

//traccio la barra, da 0 a 30 tacchette su 6 posizioni carattere
//lcd_putch(0); per tracciare un carattere vuoto
//lcd_putch(1); per tracciare un carattere con una riga verticale a SX
//...e via cosi' fino a 5, che disegna un rettangolo pieno.



if(tacche_>30){tacche_=30;} //limito la lunghezza



pieni=tacche_/5;



for(ciclo=0;ciclo<pieni;ciclo++){

lcd_putch(5); //carattere pieno

} //end for

parziale=tacche_-(pieni*5);

if(parziale){
pieni=pieni+1;
lcd_putch(parziale);
}

vuoti=6-pieni;

for(ciclo=0;ciclo<vuoti;ciclo++){

lcd_putch(0); //carattere vuoto


}//end for


}
Ciao,
Pier.

www.piergm.com


Torna a “Elettronica generale”

Chi c’è in linea

Visitano il forum: Nessuno e 22 ospiti