copio incollo un mio vecchio pesso...spero di fare cosa gradita..
PREMESSA: Questa pagine nasce in un momento particolarmente doloroso della mia vita. Costretto in casa, impotente ho deciso di lasciare che il tempo scorresse dedicandomi alla creazione di questa paginetta. L'intento ? quello di chiarire agli amici e curiosi che sono capitati qui il funzionamento delle centraline di controllo motore. Fino a 10 anni fa era entusiasmante poter lavorare al banco su motori delle varie Escorth Cosworth, Delta Integrale, etc... Ora le normative Euro4, le nuove regolamentazioni sportive ed il nuovo modo di interpretare l'automobile tutti i giorni nel nuovo millennio hanno riportato il mio entusiasmo al mio primo amore: la moto.OK, moto o auto il principio non cambia...ma cambia la motivazione che mi muove.
I carburatori e gli spinterogeni con puntine platinate sono ormai solo un ricordo del passato, e solo con l'elettronica al servizio del funzionamento del motore, si ? riusciti ad ottenere un compromesso eccellente tra buone prestazioni,consumi, guidabilit? e controllo delle emissioni. Questa, che in campo automobilistico ? una realt? indiscutibile si sta trasferendo anche alle moto. Un esempio eloquente ? quello dato dalle Ducati 851-916-998. Tutti conosciamo le loro particolarit? tecniche. La loro fluidit? di erogazione, la sorprendente progressione, unite all'ottima potenza e coppia, sono state raggiunte solo con l'utilizzo di un sistema di accensione-iniezione elettronica. Un sistema di iniezione-accensione elettronica d? la possibilit? di effettuare le migliori carburazioni ai diversi carichi ed ai diversi regimi di funzionamento del motore. Questa flessibilit? si rivela molto importante nel lavoro di elaborazione, poich? permette di fare tarature molto precise e mirate. Su vetture sportive di grande serie, come la Clio 16 V, la Punto turbo benzina ed HGT, le Delta Integrale e moltissime altre che si prestano a delle preparazioni per un uso spiccatamente sportivo, le calibrature sulla carburazione e accensione possono essere variate sostituendo la nota EPROM nella centralina iniezione-accensione, con altre modificate che fanno ottenere prestazioni pi? brillanti. Scopo di queste righe ? quello di spiegare, a grandi linee, come funziona una centralina elettronica e con quali strumenti si pu? modificare una EPROM in modo da sfatare la convinzione purtroppo comune,che attribuisce alla sola EPROM modificata, l'ottenimento di moltissimi cavalli da motori non elaborati meccanicamente. Posso dire in altre parole che se i motori Ducati, citati precedentemente, vanno forte, ? perch? anche la meccanica ? in linea con il livello di prestazioni desiderate. Il sistema di accensione-iniezione ha il merito di farle esprimere al meglio. Tutti gli amanti della buona meccanica possono stare tranquilli. Non ? ancora stato inventato un byte che possa dare quello che d? un albero a camme ben fatto. Del resto ho potuto verificare personalmente, con parecchie ore di lavoro al banco prova e diverse prove su strada, che un'ottima EPROM preparata in tutti i particolari pu? far guadagnare solo una manciata di cavalli su un prole funzioni della accensione iniezione ? un piccolo calcolatore dedicato, costituito da un microprocessore, da una memoria, da convertitori analogici digitali e digitali analogici e da circuiti di potenza per l'attuazione dei comandi. In figura e riportato uno schema molto generico che fa capire la relazione fra la EPROM e il resto del circuito. La struttura interna del microprocessore ? interfacciato alla memoria (nella quale ? inserito un piccolo programma in linguaggio ad alto livello Assembly). Sono presenti anche le porte di ingresso e uscita che permettono di colloquiare col mondo esterno, tramite i convertitori. Il microprocessore svolge i calcoli e decide, in funzione dello stato in cui si trova, come attuare i comandi. Esso utilizza parole logiche di 8 bit, ogni bit pu? essere o uno O o un 1, che equivalgono a 0V e 5V per circuiti digitali costruiti con tecnologia MOS. Questa parola di 8 bit ? detta byte, e se facciamo tutte le combinazioni possibili tra i bit O o 1 che compongono un byte, si possono ottenere esattamente 28 256 byte diversi tra loro. Poich? il microprocessore analizza solo dati sotto forma di byte e d? risultati solo sotto forma di byte, occorre che un particolare circuito, detto convertitore digitale-analogico, trasformi queste parole digitali in una tensione idonea per il comando degli attuatori (motorino minimo, iniettori, bobina accensione, ecc.). Si pu? dire dunque che se il microprocessore d? in ingresso al convertitore digitale-analogico il byte 01001110, in uscita si avr? la corrispondente tensione per comandare un particolare attuatore. Similmente, i segnali elettrici provenienti dai trasduttori (sensore temperatura acqua, sensore temperatura aria, ecc.) devono essere trasformati in byte prima di venire inviati al microprocessore. Questa trasformazione ? fatta dal convertitore analogico-digitale. Le memorie usate nelle centraline sono EPROM o ROM. La loro caratteristica ? quella di non perdere il contenuto anche quando si toglie l'alimentazione al circuito. ? presente anche una memoria RAM, quasi sempre contenuta nel microprocessore. Essa ? detta di tipo volatile perch? si smemorizza quando viene tolta l'alimentazione. La RAM ? utilizzata dal microprocessore per inserire dati provvisori che devono essere continuamente letti, elaborati e reinseriti. Le EPROM o le ROM possono essere solo lette dal microprocessore, mentre le RAM possono essere lette ma anche scritte, cio? una informazione (byte) pu? essere letta dalla RAM o memorizzata in essa. Per programmare una EPROM o una ROVI occorre utilizzare particolari strumenti detti programmatori, collegati a vo1te anche a personal-computer, che inseriscono le informazioni in modo stabile nelle memorie stesse, utilizzando segnali elettrici con tempistiche e valori particolari. In queste memorie viene inserito il programma usato dal microprocessore della centralina iniezione-accensione, e tutti i dati necessari (mappature dei tempi iniezione, anticipi di accensione, tabelle di correzione delle mappature in funzione della temperatura acqua, temperatura aria, tensione batteria, taratura del limitatore giri, valori di comando del motorino del minimo e moltissimi altri). Il programma ? composto da varie istruzioni rappresentate sempre da byte che, lette dal microprocessore, gli indicano quale tipo di elaborazione fare sui dati in funzione dei segnali provenienti dai trasduttori,in modo da poter pilotare opportunamente gli attuatori. In altre parole una o pi? istruzioni possono ad esempio attivare il microprocessore, in modo che rilevi la temperatura acqua motore e corregga il tempo di iniezione scelto nella mappatura della zona dati della EPROM, in funzione di un valore della tabella di correzione, contenuta sempre nella zona dati, Ulteriori istruzioni attiveranno il microprocessore in modo da fornire il segnale di attuazione agli iniettori. Un segnale elettrico ad onda quadra, con periodo ben determinato e controllato da un oscillatore al quarzo, scandisce il tempo con cui vengono eseguite le istruzioni. Questo segnale prende il nome di clock. Normalmente l'intervallo necessario per eseguire una istruzione ? dell'ordine di pochi nano-sec (1 nano-sec = miliardesimo di secondo). Questo ci pu? dare l'idea della velocit? con cui il microprocessore riesce ad eseguire ripetutamente il programma contenuto nella EPROM, e con quale velocit? tiene sotto controllo tutti i parametri del motore, decidendo le giuste attuazioni da effettuare. Poich? il microprocessore utilizza parole da 8 bit e cio? dei byte, la EPROM contiene dati e istruzioni di programma in questo formato. Per capire bene come ? strutturata una memoria, possiamo paragonarla a una grande cassettiera. Ogni cassetto ? individuato da un indirizzo e contiene o una istruzione di programma o un dato. Il microprocessore segnala alla memoria quale cassetto aprire. Quando ? effettuata l'apertura, ? a disposizione l'informazione contenuta nel cassetto che viene poi richiuso. Nel tratto di tabulato che riportiamo in figura ? rappresentata una parte del contenuto di una EPROM. Anche gli indirizzi (la posizione dei cassetti) sono binari, e cio? il microprocessore per indirizzare una posizione della memoria utilizza una informazione binaria. Poich? sarebbe lungo rappresentare un byte, o un indirizzo con 0 e 1, si utilizza una rappresentazione in forma esadecimale sfruttando la tabella di conversione che riportiamo. Dunque il valore esadecimale 05 equivale al byte 00000101, mentre l'indirizzo 749F equivale alla seguente combinazione binaria: OlllOlOOlOOli??i. Pi? cassetti ha la memoria pi? informazioni pu? contenere. Per avere una idea della capacit? della EPROM, consideriamo le centraline dei nuovi impianti ad iniezione parallela della Marelli (montati ad esempio sulle MV F4), che contengono EPROM da 512 K= 8x64K. Questo vuol dire che ci sono 64000 cassetti contenenli ciascuno 8 bit 1 byte. Si intuisce come velocemente proceda nei calcoli il microprocessore per utilizzare questa grandissima mole di informazioni, e si capisce anche quante pagine di tabulato ci si trova tra le mani, quando si analizza il contenuto di una EPROM. Chi progetta il programma non lo fa con istruzioni espresse in esadecimale, ma con un linguaggio di programmazione pi? facile da usare dalla mente umana, che ha gi? grande capacit? di sintesi. Questo linguaggio ? detto ad alto livello, appunto perch? ? pi? vicino al metodo del programmatore che a quello del microprocessore. Un particolare computer tradurr? questo programma ad alto livello in uno in linguaggio macchina che ? quello inserito nella EPROM con i dati. Dunque un linguaggio macchina (e cio? solo in valori esadecimali) ? incomprensibile, e solo particolari programmi detti disassemblatori possono ritradurlo nel corrispondente ad alto livello. Questa riconversione permette di conoscere perfettamente come il programmatore ha voluto gestire le funzioni del motore, utilizzando quelle del microprocessore. Purtroppo i disassemblatori costano parecchio, ed inoltre sono dedicati ciascuno ad un microprocessore o a una piccola famiglia di questi. L'investimento da effettuare per modificare EPROM associate a diversi microprocessori sarebbe quindi insostenibile. ? inutile dire che il costruttore automobilistico non dar? mai al pubblico i programmi ad alto livello. Variando i dati contenuti nella EPROM, si riesce a modificare l'intervento della centralina iniezione-accensione sul motore. Occorre sottolineare che una EPROM ? facilmente duplicabile. Basta infatti comprarne una vergine equivalente, e tramite un programmatore, a cui abbiamo accennato prima, programmarla con lo stesso contenuto di quella originale. Alcune volte si trovano EPROM protette e cio? non copiabili, ma posso garantirvi che, con buoni strumenti, questo ostacolo ? superabile. Questa possibilit? di riprodurre memorie preparate, fa si che persone non qualificate ne vendano di miracolose. Accade cio? di trovare in commercio EPROM che promettono guadagni di 15-20 cavalli senza fare modifiche al motore Purtroppo questi valori rimangono al livello di promessa perch?, come abbiamo gi? detto, elettronica e sviluppo meccanico devono evolvere in simbiosi per ottenere risultati di questo livello. Per modificare il contenuto di una EPROM esistono in commercio alcuni programmi che, tramite personal computer, visualizzano con belle grafiche le varie curve delle mappature, la presenza del limitatore e altri parametri di correzione. Essi possono essere utilizzati per EPROM impiegate solo per alcuni tipi di vetture poich? analizzano il loro contenuto secondo indirizzi gi? noti, dove appunto risiedono i dati da variare. Non ? possibile invece esaminare e studiare una memoria completamente nuova per capirne la struttura. Un'altro strumento spesso utilizzato ? l'emulatore di EPROM, che riproduce il funzionamento della memoria. Una volta caricato in esso il programma, pu? essere collegato nella centralina al posto della EPROM. Gli emulatori permettono di fare modifiche sui dati, evitando di dover programmare pi? memorie una diversa dall'altra. Anche gli emulatori non sono per? mai in grado di passare da un linguaggio macchina ad uno ad alto livello e cio? non contengono disassemblatori. Questo strumento serve quindi solo a facilitare il cambio di un programma e dei dati contenuti originariamente nella EPROM ma occorre sempre sapere come bisogna cambiare e dove. Gli emulatori di microprocessore sono particolari programmi che inseriti in un personal computer, insieme al programma e ai dati contenuti nella EPROM della centralina, possono mostrare come si svolgono passo passo le istruzioni, e cio? come il microprocessore acceda ai valori nella EPROM e come li gestisca. Questo naturalmente avviene molto lentamente, in modo che l'operatore possa rendersi conto di quello che sta succedendo, e possa fermare il procedimento in qualsiasi momento. Si ricordi sempre che in realt? tutte queste funzioni si susseguono in tempi dell'ordine dei milionesimi di secondo, dunque il nostro occhio non potrebbe mai seguire un processo come questo in tempo reale. L'emulatore di microprocessore rallenta tutte le fasi e permette di capire cosa succede. Questo strumento, che ? dedicato a un solo tipo di microprocessore, ? molto usato da chi progetta il programma che verr? poi inserito nella EPROM, permettendogli di metterlo perfettamente a punto. Se l'emulatore di microprocessore viene utilizzato per cercare di capire come funziona una particolare struttura gi? progettata, presenta due grossi limiti, Il primo consiste nella necessit? di doversi procurare un emulatore per ogni tipo di microprocessore. Se quello che si vuole emulare non ? facilmente reperibile in commercio, sar? molto difficile trovare il suo emulatore, e se esiste coster? parecchio. Il secondo limite risiede nel fatto che questo strumento lavora completamente svincolato dalla centralina di iniezione-accensione, dunque ? vero che si pu? verificare tutto quello che si vuole, ma lo si vede solo in linguaggio elettronico, e cio? si vedra ad esempio che il microprocessore accede al programma, preleva un dato, lo mette in un registro, poi accede ancora al programma, preleva un secondo dato, lo mette in un secondo registro. Il contenuto dei due registri viene conirontato, se e uguale viene svolto un particolare sottoprogramma, se ? diverso viene mandato a un convertitore digitale-analogico un dato. Come possiamo sapere se, dopo tutto questo pandemonio, il microprocessore ha letto una temperatura acqua e ha poi deciso di aprire per 2 msec gli iniettori? In altre parole voglio dire che l'emulatore di microprocessore ci permette di seguire il flusso dcl programma, ma in modo completamente svincolato dagli effetti motoristici, e cioe non c'? mai corrispondenza sulle uscite che vanno agli attuatori e gli ingressi che arrivano dai trasduttori. Sarebbe molto bello invece poter sapere se un particolare dato, che il microprocessore sta gestendo ad un certo istante, appartenga a una mappatura o se si riferisca al limitatore, o a qualche altro valore di correzione. Ma questo vorrebbe dire conoscere gi? tutto quello che ci serve, e sapere gi? in quale indirizzo ? posizionato, e dunque l'emulatore non servirebbe pi? per capire come sono strutturati i dati. Da tempo ho sviluppato un approccio particolare allo studio dei programmi contenuti nelle EPROM. Tutto il sistema ruota sulla possibilit? di poter avere un riscontro in parametri motoristici, per una variazione fatta nel contenuto della memoria della centralina iniezione-accensione. Questo significa che se si sono ad esempio variati dei byte che si pensa appartengano alla tabella che corregge i gradi di anticipo accensione in funzione dell'aumento della temperatura aria, occorre poter verificare che tali variazioni provochino effettivamente una diversa correzione del parametro in questione. Non e sempre facile fare questo, ma ? indispensabile se si vuole avere una conferma precisa su come si stanno attuando i cambiamenti. Poich? risulta difficile avere sempre una vettura a disposizione per verificare e testare le varie modifiche fatte sulla EPROM, e poich? risulta a volte rischioso riprodurre sul motore, per un tempo sufficientemente lungo, le condizioni entro le quali si sono effettuate le variazioni, in modo da poterne visualizzare gli effetti, occorre utilizzare un simulatore. Questo strumento simula tutti gli ingressi e le uscite nella centralina della accensione iniezione e, se collegato ad una apparecchiatura di diagnosi della casa costruttrice della automobile in esame, permette di verificare l'effetto sui parametri motoristici di variazioni effettuate nei byte della memoria. Dunque se mi accorgo che oltre i 60 C? dell'aria nel collettore di aspirazione, la centralina comincia a togliere dei gradi di anticipo all'accensione per evitare la detonazione, posso simulare questo funzionamento particolare, e intervenire sulla EPROM in modo da gestire diversamente la correzione, verificando con la diagnosi come sta agendo sull'anticipo accensione. Un emulatore di EPROM mi permette poi di variare il contenuto della memoria, con i vantaggi che ho descritto precedentemente. Questo emulatore riportato in fotografia ? stato progettato anche per un agevole uso in pista. Il mio sistema consiste nel mantenere unita l'elettronica di controllo con il processo controllato, e cio? il motore tramite il simulatore. All'inizio di questo lavoro ho studiato diversi tabulati che contenevano programmi e dati di EPROM. Sono riuscito a capire come si pu? individuare la posizione (e cio? gli indirizzi) delle mappature dei tempi iniezione e degli anticipi di accensione.Ho quindi utilizzato un programma su personal computer che, facendo scorrere il contenuto di una EPROM, individua gli indirizzi delle tabelle in questione. Utilizzando poi il simulatore nel modo sopra descritto, si riesce a capire la struttura li ci? che ho trovato. Tutto per? finisce su un binario morto, e cio? se volessi sapere la posizione del limitatore giri, della gestione motorino minimo, della tabella di correzione dei tempi iniezione in funzione della temperatura acqua, del sistema di controllo della pressione di sovralimentazione, come potrei trovarle in quella marea di byte? Utilizzando un emulatore di microprocessore, incontrerei i problemi precedentemente citati, specialmente quello di non avere un riscontro sui parametri motoristici. Ho allora cercato di risolvere il problema utilizzando un ROM MONITOR. Questo strumento monitorizza l'accesso del microprocessore sulla EPROM. Come si vede dalla figura che riportiamo, la grossa pinza va collegata sulla memoria, si mette in funzione la centralina col simulatore, e il ROM MONITOR carica nelle tre RAM non volatili collegate ai TEX-TOOL la sequenza di indirizzi che il microprocessore pone all'ingresso della EPROM e i corrispondenti dati forniti in uscita dalla stessa. Riagganciandoci all'esempio della cassettiera, il ROM MONITOR registra quale cassetto si chiede di aprire, e il suo contenuto nel momento in cui si apre; tutto questo viene fatto con la stessa velocit? del microprocessore. Le RAM non volatili hanno una piccola batteria interna che permette di non perdere le informazioni quando viene tolta l'alimentazione. Quando il ROM-MONITOR le ha completamente caricate, si spegne il sistema, e tramite un personal viene letto il loro contenuto, scaricandolo su un dischetto. Infatti se nelle tre RAM leggiamo, ad esempio, che quando il microprocessore ha indirizzato la EPROM col valore 19 AF ? stato reso disponibile il valore 5A, andando a leggere nel tabulato del contenuto della EPROM all'indirizzo 19 AF dobbiamo trovare il valore 5A. Se questa verifica non ? positiva, vuol dire che il ROM MONITOR ha letto male l'indirizzo e/o il dato corrispondente. Il programma sul personal computer stampa il contenuto delle tre RAM e cio? ci fa vedere con quale logica il microprocessore ha usato i dati nella EPROM, in altre parole vediamo il flusso del programma in particolari condizioni simulate e cio? ad esempio temperatura acqua a 90C?, aria 45C?, regime giri/1' 7000, pieno carico, ecc. Abbiamo cio? un legame tra come il microprocessore ha utilizzato quello che c'era nella EPROM e i parametri motoristici che noi abbiamo impostato. Se poi con il ROM MONITOR facciamo due letture te-nendo costanti i parametri simulati, eccetto uno (ad esempio la temperatura acqua) confrontando i due flussi di programma (e questo lo fa il programma nel personal), siamo in grado di trovare la zona della EPROM usata per gestire l'unico parametro variato. Col simulatore si verificano poi le variazioni delle grandezze motoristiche, ad esempio i tempi iniezione, andando a variare il programma nella zona evidenzia la che gestisce la temperatura acqua. In figura rappresentiamo un flusso di programma ottenuto col ROM MONITOR e alcune corrispondenze nel tabulato della EPROM gi? riportato. In realt? tutta l'analisi descritta non ? poi semplicissima ed ? indispensabile avere una buona preparazione per capire bene le informazioni che si hanno sotto mano. Certo ? che questo ROM MONITOR rappresenta una grossa facilitazione per lo studio di una EPROM, anche se il lavoro da fare per approntare una buona modifica della memoria nella centralina iniezione accensione e veramente tanto, specialmente se paragonato ai pochi cavalli che si possono guadagnare su un motore strettamente di serie. Dopo aver messo a punto una nuova EPROM, occorre testarla sulla vettura. Anche in questo campo ho fatto diverse esperienze. I banchi di prova potenza a rulli sono molto comodi, ma non troppo attendibili se occorre verificare guadagni di potenze di 6-7 CV. I problemi maggiori nascono nel contatto tra gomme e rulli, influenzato dal tipo di copertura usata, dalla sua usura, dalla pressione di gonfiaggio, dalla temperatura, ecc. Si rischia dunque di non fare una misura precisa ed affidabile. Il banco prova motore classico, nel quale l'albero del propulsore viene reso solidale con la bilancia, non ha i problemi del banco a rulli, ma in questo caso si rischia ad esempio la detonazione o il surriscaldamento se il sistema di raffreddamento non ? ben controllato. Infatti se volete ad esempio misurare la coppia, e dunque la potenza, a 4000 giri/1' a pieno carico dovete fermarvi in questa condizione per un po' di secondi, in modo da far stabilizzare i giri e poter effettuare le letture. Se la mappatura testata ? performante nei gradi di anticipo, si rischia di andare in detonazione permanendo in una condizione statica di funzionamento. In questo caso vi garantisco che la coppia scende vertiginosamente. In definitiva l'unica vera prova ? quella del cronometro. Tutti i preparatori al termine del loro lavoro devono fare questa verifica, ed ? successo moltissime volte che un motore non molto performante sul banco, dia poi il migliore risultato in pista. Durante una prova in circuito o su strada non si rimane mai quasi costantemente ai medi regimi a pieno carico, ma si sale sempre fino ai giri massimi. Questa ? allora una situazione transitoria e dinamica e quindi un particolare valore di anticipo pu? anche non creare detonazione, diversamente da quello che succede sul banco. Ogni collaudatore e pilota ha poi i suoi sistemi e riferimenti per fare le rilevazioni cronometriche. Per facilitare questa prova ho utilizzato un dispositivo che, montato sulla centralina, permette di passare da una EPROM a un'altra in tempo reale, anche col motore al massimo dei giri. Questo permette di fare un confronto diretto tra la resa di due memorie, facendo diverse prove cronometriche senza doversi fermare per sostituirle nella centralina, e mantenendo cos? il pi? possibile costanti tutti i parametri (temperature del motore, dei pneumatici, concentrazione del pilota). Spero, con questo articolo, di aver fatto capire ai lettori che l'elettronica non fa miracoli su un motore, ma ? solo una tecnica di ottimizzazione molto raffinata e complessa. Occorre comunque sempre diffidare di EPROM che promettono troppi cavalli. Bisogna affrontare i problemi con una nuova coscienza tecnica che unisca gli studi sui propulsori con quelli sulle unit? di controllo se si vogliono ottenere sempre migliori risultati.
PREMESSA: Questa pagine nasce in un momento particolarmente doloroso della mia vita. Costretto in casa, impotente ho deciso di lasciare che il tempo scorresse dedicandomi alla creazione di questa paginetta. L'intento ? quello di chiarire agli amici e curiosi che sono capitati qui il funzionamento delle centraline di controllo motore. Fino a 10 anni fa era entusiasmante poter lavorare al banco su motori delle varie Escorth Cosworth, Delta Integrale, etc... Ora le normative Euro4, le nuove regolamentazioni sportive ed il nuovo modo di interpretare l'automobile tutti i giorni nel nuovo millennio hanno riportato il mio entusiasmo al mio primo amore: la moto.OK, moto o auto il principio non cambia...ma cambia la motivazione che mi muove.
I carburatori e gli spinterogeni con puntine platinate sono ormai solo un ricordo del passato, e solo con l'elettronica al servizio del funzionamento del motore, si ? riusciti ad ottenere un compromesso eccellente tra buone prestazioni,consumi, guidabilit? e controllo delle emissioni. Questa, che in campo automobilistico ? una realt? indiscutibile si sta trasferendo anche alle moto. Un esempio eloquente ? quello dato dalle Ducati 851-916-998. Tutti conosciamo le loro particolarit? tecniche. La loro fluidit? di erogazione, la sorprendente progressione, unite all'ottima potenza e coppia, sono state raggiunte solo con l'utilizzo di un sistema di accensione-iniezione elettronica. Un sistema di iniezione-accensione elettronica d? la possibilit? di effettuare le migliori carburazioni ai diversi carichi ed ai diversi regimi di funzionamento del motore. Questa flessibilit? si rivela molto importante nel lavoro di elaborazione, poich? permette di fare tarature molto precise e mirate. Su vetture sportive di grande serie, come la Clio 16 V, la Punto turbo benzina ed HGT, le Delta Integrale e moltissime altre che si prestano a delle preparazioni per un uso spiccatamente sportivo, le calibrature sulla carburazione e accensione possono essere variate sostituendo la nota EPROM nella centralina iniezione-accensione, con altre modificate che fanno ottenere prestazioni pi? brillanti. Scopo di queste righe ? quello di spiegare, a grandi linee, come funziona una centralina elettronica e con quali strumenti si pu? modificare una EPROM in modo da sfatare la convinzione purtroppo comune,che attribuisce alla sola EPROM modificata, l'ottenimento di moltissimi cavalli da motori non elaborati meccanicamente. Posso dire in altre parole che se i motori Ducati, citati precedentemente, vanno forte, ? perch? anche la meccanica ? in linea con il livello di prestazioni desiderate. Il sistema di accensione-iniezione ha il merito di farle esprimere al meglio. Tutti gli amanti della buona meccanica possono stare tranquilli. Non ? ancora stato inventato un byte che possa dare quello che d? un albero a camme ben fatto. Del resto ho potuto verificare personalmente, con parecchie ore di lavoro al banco prova e diverse prove su strada, che un'ottima EPROM preparata in tutti i particolari pu? far guadagnare solo una manciata di cavalli su un prole funzioni della accensione iniezione ? un piccolo calcolatore dedicato, costituito da un microprocessore, da una memoria, da convertitori analogici digitali e digitali analogici e da circuiti di potenza per l'attuazione dei comandi. In figura e riportato uno schema molto generico che fa capire la relazione fra la EPROM e il resto del circuito. La struttura interna del microprocessore ? interfacciato alla memoria (nella quale ? inserito un piccolo programma in linguaggio ad alto livello Assembly). Sono presenti anche le porte di ingresso e uscita che permettono di colloquiare col mondo esterno, tramite i convertitori. Il microprocessore svolge i calcoli e decide, in funzione dello stato in cui si trova, come attuare i comandi. Esso utilizza parole logiche di 8 bit, ogni bit pu? essere o uno O o un 1, che equivalgono a 0V e 5V per circuiti digitali costruiti con tecnologia MOS. Questa parola di 8 bit ? detta byte, e se facciamo tutte le combinazioni possibili tra i bit O o 1 che compongono un byte, si possono ottenere esattamente 28 256 byte diversi tra loro. Poich? il microprocessore analizza solo dati sotto forma di byte e d? risultati solo sotto forma di byte, occorre che un particolare circuito, detto convertitore digitale-analogico, trasformi queste parole digitali in una tensione idonea per il comando degli attuatori (motorino minimo, iniettori, bobina accensione, ecc.). Si pu? dire dunque che se il microprocessore d? in ingresso al convertitore digitale-analogico il byte 01001110, in uscita si avr? la corrispondente tensione per comandare un particolare attuatore. Similmente, i segnali elettrici provenienti dai trasduttori (sensore temperatura acqua, sensore temperatura aria, ecc.) devono essere trasformati in byte prima di venire inviati al microprocessore. Questa trasformazione ? fatta dal convertitore analogico-digitale. Le memorie usate nelle centraline sono EPROM o ROM. La loro caratteristica ? quella di non perdere il contenuto anche quando si toglie l'alimentazione al circuito. ? presente anche una memoria RAM, quasi sempre contenuta nel microprocessore. Essa ? detta di tipo volatile perch? si smemorizza quando viene tolta l'alimentazione. La RAM ? utilizzata dal microprocessore per inserire dati provvisori che devono essere continuamente letti, elaborati e reinseriti. Le EPROM o le ROM possono essere solo lette dal microprocessore, mentre le RAM possono essere lette ma anche scritte, cio? una informazione (byte) pu? essere letta dalla RAM o memorizzata in essa. Per programmare una EPROM o una ROVI occorre utilizzare particolari strumenti detti programmatori, collegati a vo1te anche a personal-computer, che inseriscono le informazioni in modo stabile nelle memorie stesse, utilizzando segnali elettrici con tempistiche e valori particolari. In queste memorie viene inserito il programma usato dal microprocessore della centralina iniezione-accensione, e tutti i dati necessari (mappature dei tempi iniezione, anticipi di accensione, tabelle di correzione delle mappature in funzione della temperatura acqua, temperatura aria, tensione batteria, taratura del limitatore giri, valori di comando del motorino del minimo e moltissimi altri). Il programma ? composto da varie istruzioni rappresentate sempre da byte che, lette dal microprocessore, gli indicano quale tipo di elaborazione fare sui dati in funzione dei segnali provenienti dai trasduttori,in modo da poter pilotare opportunamente gli attuatori. In altre parole una o pi? istruzioni possono ad esempio attivare il microprocessore, in modo che rilevi la temperatura acqua motore e corregga il tempo di iniezione scelto nella mappatura della zona dati della EPROM, in funzione di un valore della tabella di correzione, contenuta sempre nella zona dati, Ulteriori istruzioni attiveranno il microprocessore in modo da fornire il segnale di attuazione agli iniettori. Un segnale elettrico ad onda quadra, con periodo ben determinato e controllato da un oscillatore al quarzo, scandisce il tempo con cui vengono eseguite le istruzioni. Questo segnale prende il nome di clock. Normalmente l'intervallo necessario per eseguire una istruzione ? dell'ordine di pochi nano-sec (1 nano-sec = miliardesimo di secondo). Questo ci pu? dare l'idea della velocit? con cui il microprocessore riesce ad eseguire ripetutamente il programma contenuto nella EPROM, e con quale velocit? tiene sotto controllo tutti i parametri del motore, decidendo le giuste attuazioni da effettuare. Poich? il microprocessore utilizza parole da 8 bit e cio? dei byte, la EPROM contiene dati e istruzioni di programma in questo formato. Per capire bene come ? strutturata una memoria, possiamo paragonarla a una grande cassettiera. Ogni cassetto ? individuato da un indirizzo e contiene o una istruzione di programma o un dato. Il microprocessore segnala alla memoria quale cassetto aprire. Quando ? effettuata l'apertura, ? a disposizione l'informazione contenuta nel cassetto che viene poi richiuso. Nel tratto di tabulato che riportiamo in figura ? rappresentata una parte del contenuto di una EPROM. Anche gli indirizzi (la posizione dei cassetti) sono binari, e cio? il microprocessore per indirizzare una posizione della memoria utilizza una informazione binaria. Poich? sarebbe lungo rappresentare un byte, o un indirizzo con 0 e 1, si utilizza una rappresentazione in forma esadecimale sfruttando la tabella di conversione che riportiamo. Dunque il valore esadecimale 05 equivale al byte 00000101, mentre l'indirizzo 749F equivale alla seguente combinazione binaria: OlllOlOOlOOli??i. Pi? cassetti ha la memoria pi? informazioni pu? contenere. Per avere una idea della capacit? della EPROM, consideriamo le centraline dei nuovi impianti ad iniezione parallela della Marelli (montati ad esempio sulle MV F4), che contengono EPROM da 512 K= 8x64K. Questo vuol dire che ci sono 64000 cassetti contenenli ciascuno 8 bit 1 byte. Si intuisce come velocemente proceda nei calcoli il microprocessore per utilizzare questa grandissima mole di informazioni, e si capisce anche quante pagine di tabulato ci si trova tra le mani, quando si analizza il contenuto di una EPROM. Chi progetta il programma non lo fa con istruzioni espresse in esadecimale, ma con un linguaggio di programmazione pi? facile da usare dalla mente umana, che ha gi? grande capacit? di sintesi. Questo linguaggio ? detto ad alto livello, appunto perch? ? pi? vicino al metodo del programmatore che a quello del microprocessore. Un particolare computer tradurr? questo programma ad alto livello in uno in linguaggio macchina che ? quello inserito nella EPROM con i dati. Dunque un linguaggio macchina (e cio? solo in valori esadecimali) ? incomprensibile, e solo particolari programmi detti disassemblatori possono ritradurlo nel corrispondente ad alto livello. Questa riconversione permette di conoscere perfettamente come il programmatore ha voluto gestire le funzioni del motore, utilizzando quelle del microprocessore. Purtroppo i disassemblatori costano parecchio, ed inoltre sono dedicati ciascuno ad un microprocessore o a una piccola famiglia di questi. L'investimento da effettuare per modificare EPROM associate a diversi microprocessori sarebbe quindi insostenibile. ? inutile dire che il costruttore automobilistico non dar? mai al pubblico i programmi ad alto livello. Variando i dati contenuti nella EPROM, si riesce a modificare l'intervento della centralina iniezione-accensione sul motore. Occorre sottolineare che una EPROM ? facilmente duplicabile. Basta infatti comprarne una vergine equivalente, e tramite un programmatore, a cui abbiamo accennato prima, programmarla con lo stesso contenuto di quella originale. Alcune volte si trovano EPROM protette e cio? non copiabili, ma posso garantirvi che, con buoni strumenti, questo ostacolo ? superabile. Questa possibilit? di riprodurre memorie preparate, fa si che persone non qualificate ne vendano di miracolose. Accade cio? di trovare in commercio EPROM che promettono guadagni di 15-20 cavalli senza fare modifiche al motore Purtroppo questi valori rimangono al livello di promessa perch?, come abbiamo gi? detto, elettronica e sviluppo meccanico devono evolvere in simbiosi per ottenere risultati di questo livello. Per modificare il contenuto di una EPROM esistono in commercio alcuni programmi che, tramite personal computer, visualizzano con belle grafiche le varie curve delle mappature, la presenza del limitatore e altri parametri di correzione. Essi possono essere utilizzati per EPROM impiegate solo per alcuni tipi di vetture poich? analizzano il loro contenuto secondo indirizzi gi? noti, dove appunto risiedono i dati da variare. Non ? possibile invece esaminare e studiare una memoria completamente nuova per capirne la struttura. Un'altro strumento spesso utilizzato ? l'emulatore di EPROM, che riproduce il funzionamento della memoria. Una volta caricato in esso il programma, pu? essere collegato nella centralina al posto della EPROM. Gli emulatori permettono di fare modifiche sui dati, evitando di dover programmare pi? memorie una diversa dall'altra. Anche gli emulatori non sono per? mai in grado di passare da un linguaggio macchina ad uno ad alto livello e cio? non contengono disassemblatori. Questo strumento serve quindi solo a facilitare il cambio di un programma e dei dati contenuti originariamente nella EPROM ma occorre sempre sapere come bisogna cambiare e dove. Gli emulatori di microprocessore sono particolari programmi che inseriti in un personal computer, insieme al programma e ai dati contenuti nella EPROM della centralina, possono mostrare come si svolgono passo passo le istruzioni, e cio? come il microprocessore acceda ai valori nella EPROM e come li gestisca. Questo naturalmente avviene molto lentamente, in modo che l'operatore possa rendersi conto di quello che sta succedendo, e possa fermare il procedimento in qualsiasi momento. Si ricordi sempre che in realt? tutte queste funzioni si susseguono in tempi dell'ordine dei milionesimi di secondo, dunque il nostro occhio non potrebbe mai seguire un processo come questo in tempo reale. L'emulatore di microprocessore rallenta tutte le fasi e permette di capire cosa succede. Questo strumento, che ? dedicato a un solo tipo di microprocessore, ? molto usato da chi progetta il programma che verr? poi inserito nella EPROM, permettendogli di metterlo perfettamente a punto. Se l'emulatore di microprocessore viene utilizzato per cercare di capire come funziona una particolare struttura gi? progettata, presenta due grossi limiti, Il primo consiste nella necessit? di doversi procurare un emulatore per ogni tipo di microprocessore. Se quello che si vuole emulare non ? facilmente reperibile in commercio, sar? molto difficile trovare il suo emulatore, e se esiste coster? parecchio. Il secondo limite risiede nel fatto che questo strumento lavora completamente svincolato dalla centralina di iniezione-accensione, dunque ? vero che si pu? verificare tutto quello che si vuole, ma lo si vede solo in linguaggio elettronico, e cio? si vedra ad esempio che il microprocessore accede al programma, preleva un dato, lo mette in un registro, poi accede ancora al programma, preleva un secondo dato, lo mette in un secondo registro. Il contenuto dei due registri viene conirontato, se e uguale viene svolto un particolare sottoprogramma, se ? diverso viene mandato a un convertitore digitale-analogico un dato. Come possiamo sapere se, dopo tutto questo pandemonio, il microprocessore ha letto una temperatura acqua e ha poi deciso di aprire per 2 msec gli iniettori? In altre parole voglio dire che l'emulatore di microprocessore ci permette di seguire il flusso dcl programma, ma in modo completamente svincolato dagli effetti motoristici, e cioe non c'? mai corrispondenza sulle uscite che vanno agli attuatori e gli ingressi che arrivano dai trasduttori. Sarebbe molto bello invece poter sapere se un particolare dato, che il microprocessore sta gestendo ad un certo istante, appartenga a una mappatura o se si riferisca al limitatore, o a qualche altro valore di correzione. Ma questo vorrebbe dire conoscere gi? tutto quello che ci serve, e sapere gi? in quale indirizzo ? posizionato, e dunque l'emulatore non servirebbe pi? per capire come sono strutturati i dati. Da tempo ho sviluppato un approccio particolare allo studio dei programmi contenuti nelle EPROM. Tutto il sistema ruota sulla possibilit? di poter avere un riscontro in parametri motoristici, per una variazione fatta nel contenuto della memoria della centralina iniezione-accensione. Questo significa che se si sono ad esempio variati dei byte che si pensa appartengano alla tabella che corregge i gradi di anticipo accensione in funzione dell'aumento della temperatura aria, occorre poter verificare che tali variazioni provochino effettivamente una diversa correzione del parametro in questione. Non e sempre facile fare questo, ma ? indispensabile se si vuole avere una conferma precisa su come si stanno attuando i cambiamenti. Poich? risulta difficile avere sempre una vettura a disposizione per verificare e testare le varie modifiche fatte sulla EPROM, e poich? risulta a volte rischioso riprodurre sul motore, per un tempo sufficientemente lungo, le condizioni entro le quali si sono effettuate le variazioni, in modo da poterne visualizzare gli effetti, occorre utilizzare un simulatore. Questo strumento simula tutti gli ingressi e le uscite nella centralina della accensione iniezione e, se collegato ad una apparecchiatura di diagnosi della casa costruttrice della automobile in esame, permette di verificare l'effetto sui parametri motoristici di variazioni effettuate nei byte della memoria. Dunque se mi accorgo che oltre i 60 C? dell'aria nel collettore di aspirazione, la centralina comincia a togliere dei gradi di anticipo all'accensione per evitare la detonazione, posso simulare questo funzionamento particolare, e intervenire sulla EPROM in modo da gestire diversamente la correzione, verificando con la diagnosi come sta agendo sull'anticipo accensione. Un emulatore di EPROM mi permette poi di variare il contenuto della memoria, con i vantaggi che ho descritto precedentemente. Questo emulatore riportato in fotografia ? stato progettato anche per un agevole uso in pista. Il mio sistema consiste nel mantenere unita l'elettronica di controllo con il processo controllato, e cio? il motore tramite il simulatore. All'inizio di questo lavoro ho studiato diversi tabulati che contenevano programmi e dati di EPROM. Sono riuscito a capire come si pu? individuare la posizione (e cio? gli indirizzi) delle mappature dei tempi iniezione e degli anticipi di accensione.Ho quindi utilizzato un programma su personal computer che, facendo scorrere il contenuto di una EPROM, individua gli indirizzi delle tabelle in questione. Utilizzando poi il simulatore nel modo sopra descritto, si riesce a capire la struttura li ci? che ho trovato. Tutto per? finisce su un binario morto, e cio? se volessi sapere la posizione del limitatore giri, della gestione motorino minimo, della tabella di correzione dei tempi iniezione in funzione della temperatura acqua, del sistema di controllo della pressione di sovralimentazione, come potrei trovarle in quella marea di byte? Utilizzando un emulatore di microprocessore, incontrerei i problemi precedentemente citati, specialmente quello di non avere un riscontro sui parametri motoristici. Ho allora cercato di risolvere il problema utilizzando un ROM MONITOR. Questo strumento monitorizza l'accesso del microprocessore sulla EPROM. Come si vede dalla figura che riportiamo, la grossa pinza va collegata sulla memoria, si mette in funzione la centralina col simulatore, e il ROM MONITOR carica nelle tre RAM non volatili collegate ai TEX-TOOL la sequenza di indirizzi che il microprocessore pone all'ingresso della EPROM e i corrispondenti dati forniti in uscita dalla stessa. Riagganciandoci all'esempio della cassettiera, il ROM MONITOR registra quale cassetto si chiede di aprire, e il suo contenuto nel momento in cui si apre; tutto questo viene fatto con la stessa velocit? del microprocessore. Le RAM non volatili hanno una piccola batteria interna che permette di non perdere le informazioni quando viene tolta l'alimentazione. Quando il ROM-MONITOR le ha completamente caricate, si spegne il sistema, e tramite un personal viene letto il loro contenuto, scaricandolo su un dischetto. Infatti se nelle tre RAM leggiamo, ad esempio, che quando il microprocessore ha indirizzato la EPROM col valore 19 AF ? stato reso disponibile il valore 5A, andando a leggere nel tabulato del contenuto della EPROM all'indirizzo 19 AF dobbiamo trovare il valore 5A. Se questa verifica non ? positiva, vuol dire che il ROM MONITOR ha letto male l'indirizzo e/o il dato corrispondente. Il programma sul personal computer stampa il contenuto delle tre RAM e cio? ci fa vedere con quale logica il microprocessore ha usato i dati nella EPROM, in altre parole vediamo il flusso del programma in particolari condizioni simulate e cio? ad esempio temperatura acqua a 90C?, aria 45C?, regime giri/1' 7000, pieno carico, ecc. Abbiamo cio? un legame tra come il microprocessore ha utilizzato quello che c'era nella EPROM e i parametri motoristici che noi abbiamo impostato. Se poi con il ROM MONITOR facciamo due letture te-nendo costanti i parametri simulati, eccetto uno (ad esempio la temperatura acqua) confrontando i due flussi di programma (e questo lo fa il programma nel personal), siamo in grado di trovare la zona della EPROM usata per gestire l'unico parametro variato. Col simulatore si verificano poi le variazioni delle grandezze motoristiche, ad esempio i tempi iniezione, andando a variare il programma nella zona evidenzia la che gestisce la temperatura acqua. In figura rappresentiamo un flusso di programma ottenuto col ROM MONITOR e alcune corrispondenze nel tabulato della EPROM gi? riportato. In realt? tutta l'analisi descritta non ? poi semplicissima ed ? indispensabile avere una buona preparazione per capire bene le informazioni che si hanno sotto mano. Certo ? che questo ROM MONITOR rappresenta una grossa facilitazione per lo studio di una EPROM, anche se il lavoro da fare per approntare una buona modifica della memoria nella centralina iniezione accensione e veramente tanto, specialmente se paragonato ai pochi cavalli che si possono guadagnare su un motore strettamente di serie. Dopo aver messo a punto una nuova EPROM, occorre testarla sulla vettura. Anche in questo campo ho fatto diverse esperienze. I banchi di prova potenza a rulli sono molto comodi, ma non troppo attendibili se occorre verificare guadagni di potenze di 6-7 CV. I problemi maggiori nascono nel contatto tra gomme e rulli, influenzato dal tipo di copertura usata, dalla sua usura, dalla pressione di gonfiaggio, dalla temperatura, ecc. Si rischia dunque di non fare una misura precisa ed affidabile. Il banco prova motore classico, nel quale l'albero del propulsore viene reso solidale con la bilancia, non ha i problemi del banco a rulli, ma in questo caso si rischia ad esempio la detonazione o il surriscaldamento se il sistema di raffreddamento non ? ben controllato. Infatti se volete ad esempio misurare la coppia, e dunque la potenza, a 4000 giri/1' a pieno carico dovete fermarvi in questa condizione per un po' di secondi, in modo da far stabilizzare i giri e poter effettuare le letture. Se la mappatura testata ? performante nei gradi di anticipo, si rischia di andare in detonazione permanendo in una condizione statica di funzionamento. In questo caso vi garantisco che la coppia scende vertiginosamente. In definitiva l'unica vera prova ? quella del cronometro. Tutti i preparatori al termine del loro lavoro devono fare questa verifica, ed ? successo moltissime volte che un motore non molto performante sul banco, dia poi il migliore risultato in pista. Durante una prova in circuito o su strada non si rimane mai quasi costantemente ai medi regimi a pieno carico, ma si sale sempre fino ai giri massimi. Questa ? allora una situazione transitoria e dinamica e quindi un particolare valore di anticipo pu? anche non creare detonazione, diversamente da quello che succede sul banco. Ogni collaudatore e pilota ha poi i suoi sistemi e riferimenti per fare le rilevazioni cronometriche. Per facilitare questa prova ho utilizzato un dispositivo che, montato sulla centralina, permette di passare da una EPROM a un'altra in tempo reale, anche col motore al massimo dei giri. Questo permette di fare un confronto diretto tra la resa di due memorie, facendo diverse prove cronometriche senza doversi fermare per sostituirle nella centralina, e mantenendo cos? il pi? possibile costanti tutti i parametri (temperature del motore, dei pneumatici, concentrazione del pilota). Spero, con questo articolo, di aver fatto capire ai lettori che l'elettronica non fa miracoli su un motore, ma ? solo una tecnica di ottimizzazione molto raffinata e complessa. Occorre comunque sempre diffidare di EPROM che promettono troppi cavalli. Bisogna affrontare i problemi con una nuova coscienza tecnica che unisca gli studi sui propulsori con quelli sulle unit? di controllo se si vogliono ottenere sempre migliori risultati.
Comment