Finalmente presento il risultato dei miei lavori: dopo tanto documentarmi sono riuscito a fare il modo di collegare l'iniezione elettronica Bosch Motronic ML 4.1 della 33 16V con il pc tramite l'interfaccia che ho realizzato.A cosa serve? Tutti sappiamo che le nostre auto a iniezione elettronica a differenza di quelle a carburatori hanno un calcolatore che dosa l'opportuna quantità di benzina al motore in relazione al suo numero di giri e una varietà di altre grandezze fisiche rilevate da sensori appositi. Inoltre viene deciso l'istante in cui viene mandata la scarica alle candele per determinare l'accensione della miscela aria-benzina, per cui è più corretto parlare di impianto di iniezione e accensione già che vengono svolti due compiti differenti. Nelle prime versioni di queste elettroniche di gestione del motore si occupavano delle due cose due centraline distinte, successivamente si è visto che siccome esse hanno bisogno come dati in ingresso di alcune grandezze in comune si è pensato di radunare i due sistemi in un unico blocco. Nel caso della 33 16V viene utilizzato il sistema ML 4.1 prodotto dalla tedesca Bosch. Questo sistema che nella fine anni '80 inizio '90 era fra i top di gamma è inoltre stato utilizzato dall' Alfa per il Twin Spark 8V e per i bialbero 1.6 e 1.8 nella 75, per il 2.0 della spider e non so per chissà quali altre auto anche non Alfa Romeo.
Ciò che vogliamo per il buon funzionamento del motore è che il sistema operi correttamente. Nel caso che qualche sensore non fornisca le grandezze giuste si avrebbe che il motore non esprime tutta la sua potenza, gira male, consuma oltre il dovuto e così via. La Motronic ML 4.1 nel caso che un sensore le fornisca dei parametri fuori dal range ideale o un attuatore non funzioni è in grado di registrare la cosa come un errore. Ecco appunto che serve un modo per interrogare la memoria guasti di questa centralina. Le assistenze Alfa Romeo avevano in dotazione uno strumento chiamato Alfa Tester per diagnosticare i vari impianti, che veniva programmato con una cartuccia da sostituire a seconda del sistema.
Una possibilità a costo quasi zero per noi appassionati è di collegare una lampadina e un tasto ad un connettore apposito. L'errore o gli errori vengono descritti come una sequenza di lampeggi diversi in lunghezza in base ad una tabella. Un altra possibilità ben più elegante che è lo scopo dei miei esperimenti è di interrogare la centralina mediante la linea specifica messa a disposizione e un programma per computer.
Viene utilizzato come standard di comunicazione il protocollo KWP71 su una linea bifilare conosciuta come KL Line o ISO 9141 a 4800 baud.
Servono quindi due cose: una interfaccia che traduca questo protocollo in un altro compatibile con il pc e un programma che gestisca la comunicazione.
A queste conoscenze era arrivato anche Diego / Damtech ad un livello molto alto ma anche un poco troppo ingegneristico per cui penso che molti si siano persi sulla sua trattazione squisitamente hardware della cosa, alla fine non tutti gli alfisti ce ne capiscono di elettronica e programmazione!
Volevo quindi vedere se esistono soluzioni già pronte, facili da usare, senza tentare di costruire circuiti o peggio programmare.
Per il software: purtroppo per le centraline venute dopo la ML 4.1 come quelle che equipaggiano i boxer della 145/146, i TS 8V della 155 e 164, i TS 16V Pratola Serra, ecc ci son già programmi belli che fatti, ho visto che un buon programma (a pagamento) è
AlfaDiag. Per la ML 4.1 sostanzialmente non c'è nulla perchè è molto superata ormai. Dopo tante ricerche ho trovato solo un programmino per fortuna freeware, KWP71Diag, che si aspetta la comunicazione tramite porta seriale.
Per l'hardware le interfacce tra la porta seriale e la KL Line esistono sotto forma di cavi per diagnosticare le auto più recenti con connettore OBDII. Non ho trovato nessuna interfaccia che unisse la seriale da una parte e lo spinotto diagnostico a 3 poli Fiat/Alfa che usa la centralina ML 4.1, ho quindi comprato su eBay una interfaccia con connettore OBDII e un cavetto che da una parte ha lo spinotto a 3 poli che mi serve.. Ho quindi unito i due cavi documentandomi sulle piedinature e piazzato il circuitino che prima stava dentro il connettore OBD in un contenitorino plastico da elettroniche per avere un prodotto finale robusto che sa di semiprofessionale, non una basetta cablata in aria con i fili tenuti insieme dal nastro adesivo!
Finito l'hardware l'ho collegato al pc da un lato e alla presa diagnosi della centralina dall'altro. Nella mia macchina la centralina è posizionata a fianco della porta del passeggero in basso, vicino al portaoggetti inferiore.
Avviato il programmino e settato la porta seriale giusta (serve un pc portatile di qualche anno fa, di quelli che avevano ancora la porta seriale, i nuovi hanno solo le USB) cliccando su Open Com Port e poi su Start Comm il dialogo tra centralina e pc dovrebbe partire.
Serve che la centralina sia alimentata per cui la chiave dell'auto dev'essere su MAR, è indifferente che il motore sia acceso o meno.
Anche l'interfaccia dev'essere alimentata, purtroppo nel connettore della centralina non ci sono i 12V per cui van presi direttamente dalla batteria dell'auto mediante un morsetto, al quale ho aggiunto in serie un fusibile da 1A nello sfortunato caso che il filo possa avere l'isolante rovinato e tocchi una parte a massa, in questo caso salterà il fusibile senza che il filo si sciolga in un attimo in una fiammata.
A motore acceso ho notato che rare volte la comunicazione si perdeva, presumo per i disturbi all'alimentazione generati dalla bobina, ho quindi aggiunto fra la linea di alimentazione e la massa due condensatori di soppressione spike, un elettrolitico e un poliestere e ora non dovrebbe succedere più o almeno non mi è ricapitato.
Ho notato per puro caso che se facevo girare il programma dalla chiavetta USB non c'era modo di avviare la comunicazione mentre se viene lanciato dal desktop tutto funziona correttamente. Mah, molto strano e illogico forse si tratta di un bug di programmazione, il programmino sembra averne qualcuno.
Comunque se tutto è collegato una volta partita la comunicazione è possibile verificare se ci sono errori salvati e per mia fortuna la risposta è stata no, il mio motore funziona perfettamente
L'altra cosa che si può fare è vedere lo stato della centralina ovverossia leggere i suoi parametri di funzionamento: carico, giri motore, tensione di batteria, temperatura aria in ingresso e liquido di raffreddamento. Ovviamente questi parametri ha senso vederli col motore in moto altimenti il numero di giri segna sempre zero e le temperature non si muovono.
Per far questo serve caricare nel programma un file di definizioni che ho editato personalmente per trasformare le varie voci in italiano. Purtroppo le temperature aria e acqua vengono date ma sono valori del tutto sballati, addirittura in negativo! O c'è qualcosa di strano nella mia centralina e ho bisogno di un volontario con la mia stessa iniezione per provarlo, o più probabilmente la formula per convertire il valore a 8 bit delle celle di memoria in gradi Celsius non è quella corretta per il tipo di iniezione, sto lavorando per correggere questo problema.
È possibile anche vedere il valore dello spinotto di codifica montato nella specifica presa: se ce n'è inserito uno l'iniezione funziona in
closed loop monitorando la tensione della sonda lambda per correggere il rapporto stechiometrico, questo è il caso dei motore dotati di catalizzatore; se la presa resta vuota l'iniezione lavora in
open loop fidandosi solo della mappatura ed è possibile solo regolare la carburazione al minimo (che altera anche lievemente il numero di giri).
C'è poi un indicazione di marcia inserita o meno, questa funzione non è usata nelle nostre auto con cambio manuale quindi l'indicazione data è che il cambio è sempre in marcia.
Ho trovato poi anche di grande utilità quello di testare il microswitch della farfalla che ha 3 posizioni: al minimo, acceleratore premuto e acceleratore premuto del tutto. Quando si toglie il piede dall'acceleratore si attiva il segnale di minimo e questo serve per fare il cut-off del carburante in rilascio, che evita un consumo inutile di benzina quando non si richiede potenza e gli scoppietti in rilascio che facevano le auto a carburatori. La condizione di acceleratore tutto premuto (nel boxer 16V con farfalla aperta per più di 55 gradi) permette di ottenere un ulteriore arricchimento in accelerazione ignorando il segnale fornito dal debimetro, per ottenere più rapidamente il numero di giri richiesto.
Premendo il pedale quindi si può verificare che lo stato cambi fra le 3 diverse configurazioni, se anche una delle 3 condizioni non venisse rilevata è da sostituire tale componente.
Concludo che io ho testato questa interfaccia solo sulla mia iniezione, ma cambiando il programma e utilizzando UniDiag o AlfaDiag con la stessa è possibile testarne molte altre.
Sono disponibile per chi lo avesse bisogno a dare un test alla sua auto, oppure se qualcuno volesse avere la mia interfaccia potrei realizzarne un'altra facendo pagare solo il prezzo dei materiali.
Nico