Installare iniezione elettronica indiretta con l'aiuto di Arduino

Magari semplifico troppo ma... come già detto la benzina va principalmente rapportata all'aria....

Serve un debimetro, che stima il volume di aria in ingresso
Serve sapere le specifiche dell'iniettore, cioè a quanta benzina corrisponde una certa apertura
In mezzo Arduino che leggendo il primo calcola l'apertura.
E così siamo già che il motore sta in moto ed è utilizzabile.

Tutto il resto viene dopo... si possono aggiungere mille altri sensori, lamba, temperature, giri ecc per ottimizzare l'iniezione... e forse questa parte qui è troppo complicata da gestire sotto casa senza conoscenze e strumenti di misura

chiodoxxx:
Magari semplifico troppo ma... come già detto la benzina va principalmente rapportata all'aria....

Serve un debimetro, che stima il volume di aria in ingresso
Serve sapere le specifiche dell'iniettore, cioè a quanta benzina corrisponde una certa apertura
In mezzo Arduino che leggendo il primo calcola l'apertura.
E così siamo già che il motore sta in moto ed è utilizzabile.

Tutto il resto viene dopo... si possono aggiungere mille altri sensori, lamba, temperature, giri ecc per ottimizzare l'iniezione... e forse questa parte qui è troppo complicata da gestire sotto casa senza conoscenze e strumenti di misura

Vorrei un parere da parte di osuf a riguardo, ci avevo pensato anche io. Magari uno strumento di rilevazione della "quantità" di ossigeno in entrata all'alimentazione può aiutare. Insomma, qualcosa che stimi ad esempio la densità della stessa in funzione del volume di un airbox chiuso.

secondo mé bisognerebbe fare cosi:
-prendo il motore a carburatore settato alla perfezzione e al banco misuro la quantità di benzina che consuma il motore ad esempio ogni 500 giri e per 5 posizioni della valvola -misuro la portata delliniettore in funzione di quanto rimane aperto -poi userò arduino con 4 sensori,numero di giri, posizione della valvola, temperatura e pressione e farò il programma che in base ai valori dica alliniettore quanta benzina immettere

Il problema però é che per come sò scrivere io i programmi con arduino salterebbe fuori un programma lungo 10km che poi arduino dovrebbe gestire in pochi millisecondi(in poco piu di 4 ms il motore ha gia fatto un giro) e non penso che ci riesca

Con circa 5-600 euro ti vendono già tutto il kit completo di centralina, programma,pompa,regolatore di pressione, 2 iniettori
Ok che con arduino uno può imparare e cavarsi delle soddisfazioni, ma come si dice il gioco non vale la candela

Ciao,

forse ho perso qualche pezzo del discorso, se l'idea è quella di gestire l'iniezione con Arduino, la strada è sicuramente in salita. Ci sono due aspetti sicuramente delicati: va acquisita la posizione angolare del motore ed effettuata l'iniezione a frequenze con sono legate alla velocità di rotazione del motore, anche negli impianti ad iniezione indiretta d'uso sulle automobili, il loop chiuso da solo non è in grado di mantenere il motore in funzione.

Sul primo aspetto pesa la velocità di computazione, un microcontrollore a 16 MHz può anche farcela, ma va programmato usato a "basso" livello per garantire dei tempi di risposta decenti. Non so lo scooter in questione a quali regimi massimi possa girare, immagino non tanto distante dai 1-10.000 giri/min (circa 60-6 ms per un giro, quindi un'iniezione).

Il secondo problema è che la sonda lambda e la termocoppia sono strumenti intrinsecamente lenti, hanno dei tempi di reazione distanti dai 60-6 ms di cui si parlava prima. Nelle auto viene sempre utilizzata la misura della massa d'aria entrante per determinare attraverso delle tabelle (la mappatura) quanta benzina iniettare.
La sonda lambda entra in gioco solo a regimi costanti, quelli buoni per le prove di rilevazione degli inquinanti, ma da sola non è in grado di gestire il motore.

Se invece il discorso è quello di utilizzare un carburatore e carburarlo in linea, utilizzando una scheda elettronica, il problema diventa fattibile, ma sicuramente non semplice.

Saluti,
Dario.

veseo:
Ciao,

forse ho perso qualche pezzo del discorso, se l'idea è quella di gestire l'iniezione con Arduino, la strada è sicuramente in salita. Ci sono due aspetti sicuramente delicati: va acquisita la posizione angolare del motore ed effettuata l'iniezione a frequenze con sono legate alla velocità di rotazione del motore, anche negli impianti ad iniezione indiretta d'uso sulle automobili, il loop chiuso da solo non è in grado di mantenere il motore in funzione.

Sul primo aspetto pesa la velocità di computazione, un microcontrollore a 16 MHz può anche farcela, ma va programmato usato a "basso" livello per garantire dei tempi di risposta decenti. Non so lo scooter in questione a quali regimi massimi possa girare, immagino non tanto distante dai 1-10.000 giri/min (circa 60-6 ms per un giro, quindi un'iniezione).

Il secondo problema è che la sonda lambda e la termocoppia sono strumenti intrinsecamente lenti, hanno dei tempi di reazione distanti dai 60-6 ms di cui si parlava prima. Nelle auto viene sempre utilizzata la misura della massa d'aria entrante per determinare attraverso delle tabelle (la mappatura) quanta benzina iniettare.
La sonda lambda entra in gioco solo a regimi costanti, quelli buoni per le prove di rilevazione degli inquinanti, ma da sola non è in grado di gestire il motore.

Se invece il discorso è quello di utilizzare un carburatore e carburarlo in linea, utilizzando una scheda elettronica, il problema diventa fattibile, ma sicuramente non semplice.

Saluti,
Dario.

Per quel che riguarda il numero di giri, alcuni (i più piccoli due tempi, che siano scooter o moto poco cambia) toccano punte comprese tra 14 mila e 15 mila giri. Mica pochini, pur non essendo 4 tempi.

Parlami di quello che ho sottolineato: cosa intendi di preciso? perchè non riesco ad afferrare il concetto di "carburazione in linea"

penso che intenda come ho detto io fare una carburazione in base al numero di giri/posizione valvola senza un loop chiuso

I due tempi girano abbastanza in alto, mi meravigliano i 15.000 giri/min per un motore di uno scooter omologato per girare in strada, però non cambiano il succo del discorso, qualcosa in grado di lavorare con tempi di 2-3 ms non può basarsi sulle librerie di Arduino. Il microcontrollore potenzialmente può farcela, limitatamente ad ingressi digitali, mentre per gli analogici il solo tempo di conversione risulterebbe troppo grande (se non sbaglio sono valori dell'ordine di 10 ms). Tutto questo dimenticandosi che la lettura allo scarico non permette di reagire in tempi tali da poter essere lasciata sola.

Un esercizio simpatico è quello di calcolare la velocità dei gas di scarico (approssimandola alla velocità lineare del pistone) e valutare il tempo necessario affinché i gas di scarico arrivino effettivamente al sensore.
Questo tempo è normalmente nell'ordine di 5-10 cicli, quindi dimenticandosi di tutto il resto, la sola lettura in retroazione è in ritardo di diverse combustioni.

Il risultato è che ci vuole un loop in ciclo aperto (pressione all'aspirazione, giri motore) con una mappatura, come avviene in tutti i motori a benzina ad iniezione (diretta ed indiretta).

La carburazione in linea, per dirla in modo grezzo, è il variare la carburazione (lo spillo) del carburatore in base alle condizioni operative del motore. Non sostituire il carburatore, ma semplicemente affiancarlo per avere delle condizioni di carburazione particolari, basate sulla posizione della valvola a farfalla.

In quel caso si può pensare di ingrassare leggermente la miscela quando la valvola a farfalla viene aperta repentinamente. Un giochetto inutile e non banale, ma sfizioso.

Saluti,
Dario.

veseo:
I due tempi girano abbastanza in alto, mi meravigliano i 15.000 giri/min per un motore di uno scooter omologato per girare in strada, però non cambiano il succo del discorso, qualcosa in grado di lavorare con tempi di 2-3 ms non può basarsi sulle librerie di Arduino. Il microcontrollore potenzialmente può farcela, limitatamente ad ingressi digitali, mentre per gli analogici il solo tempo di conversione risulterebbe troppo grande (se non sbaglio sono valori dell'ordine di 10 ms). Tutto questo dimenticandosi che la lettura allo scarico non permette di reagire in tempi tali da poter essere lasciata sola.

Un esercizio simpatico è quello di calcolare la velocità dei gas di scarico (approssimandola alla velocità lineare del pistone) e valutare il tempo necessario affinché i gas di scarico arrivino effettivamente al sensore.
Questo tempo è normalmente nell'ordine di 5-10 cicli, quindi dimenticandosi di tutto il resto, la sola lettura in retroazione è in ritardo di diverse combustioni.

Il risultato è che ci vuole un loop in ciclo aperto (pressione all'aspirazione, giri motore) con una mappatura, come avviene in tutti i motori a benzina ad iniezione (diretta ed indiretta).

La carburazione in linea, per dirla in modo grezzo, è il variare la carburazione (lo spillo) del carburatore in base alle condizioni operative del motore. Non sostituire il carburatore, ma semplicemente affiancarlo per avere delle condizioni di carburazione particolari, basate sulla posizione della valvola a farfalla.

In quel caso si può pensare di ingrassare leggermente la miscela quando la valvola a farfalla viene aperta repentinamente. Un giochetto inutile e non banale, ma sfizioso.

Saluti,
Dario.

I 15 mila li toccano motori evidentemente preparati, tra 50 e 70 cc (che siano per scooter o per piccole moto a marce poco importa).

Comunque non mi è ancora troppo chiaro come si possa variare lo spillo; per cortesia sii un po più chiaro oppure posta una immagine o uno schema! perchè io ho famigliarità solo coi carburatori a saracinesca (al massimo a membrana), ma coi corpi farfallati non mi ci sono mai approcciato.

ciao, stavo facendo una considerazione che spero corretta, a 15000 giri/min per un motore 2 tempi non diventano una correzione della carburazione ogni 8 ms?

stefano

wmatte:
I 15 mila li toccano motori evidentemente preparati, tra 50 e 70 cc (che siano per scooter o per piccole moto a marce poco importa).

Comunque non mi è ancora troppo chiaro come si possa variare lo spillo; per cortesia sii un po più chiaro oppure posta una immagine o uno schema! perchè io ho famigliarità solo coi carburatori a saracinesca (al massimo a membrana), ma coi corpi farfallati non mi ci sono mai approcciato.

Faccio riferimento alle viti di regolazione della carburazione, credo che quello sia il massimo che si possa ottenere.

Saluti,
Dario.

stefa24:
ciao, stavo facendo una considerazione che spero corretta, a 15000 giri/min per un motore 2 tempi non diventano una correzione della carburazione ogni 8 ms?

stefano

Si perché sono 250 giri/s ed è monocilindrico, io prima per errore facevo riferimento ai quattro ciclindri.

Saluti,
Dario.

Sun un motore 2T monocilindrico omologato per la strada generalmente non supera i 9000 rpm, qundi tra un giro e l'altro passano 6,66 ms.
Ora, se la lettura di un valore analogico ha una latenza di 10 ms, più tutto il resto del codice, il tempo non è dalla tua parte.
Hai considerato l'opzione di utilizare 2 Arduino? Uno per regolare fisicamente il rapporto Aria/Benzina del carburatore e in base ai giri del motore e uno per leggere i valori analogici o digitali dei sensori (termocoppia, lambda, ecc ecc), e collegarli tramite seriale o I2C.
Potresti includere una semplice mappatura standard nel Primo Arduino che, in base ai valori ricevuti dal secondo, viene modificataogni volta che riceve dati.
In questo modo potresti avere un Arduino abbastanza veloce per rientrare nei tempi previsti e uno relativamente lento che aggiorna la mappatura del primo di volta in volta.
Naturalmente, almeno nel primo Arduino, ti conviene utilizzare gli Interrupt per la lettura dei giri, in questo modo non dovresti perdere nessuna iniezione ne accensione.

icearrow:
Sun un motore 2T monocilindrico omologato per la strada generalmente non supera i 9000 rpm, qundi tra un giro e l'altro passano 6,66 ms.
Ora, se la lettura di un valore analogico ha una latenza di 10 ms, più tutto il resto del codice, il tempo non è dalla tua parte.
Hai considerato l'opzione di utilizare 2 Arduino? Uno per regolare fisicamente il rapporto Aria/Benzina del carburatore e in base ai giri del motore e uno per leggere i valori analogici o digitali dei sensori (termocoppia, lambda, ecc ecc), e collegarli tramite seriale o I2C.
Potresti includere una semplice mappatura standard nel Primo Arduino che, in base ai valori ricevuti dal secondo, viene modificataogni volta che riceve dati.
In questo modo potresti avere un Arduino abbastanza veloce per rientrare nei tempi previsti e uno relativamente lento che aggiorna la mappatura del primo di volta in volta.
Naturalmente, almeno nel primo Arduino, ti conviene utilizzare gli Interrupt per la lettura dei giri, in questo modo non dovresti perdere nessuna iniezione ne accensione.

Icearrow, la tua idea mi piace molto! Ma purtroppo, come scritto a inizio topic, non mastico ancora bene il linguaggio tecnico elettronico e di ciò che tu mi hai detto ho capito giusto l'essenziale.

A riguardo sto cercando uno starter kit ben rifornito al prezzo più basso possibile per cominciare a imparare Arduino e la programmazione; poi per verificare le mie conoscenze mi piacerebbe costruire un ArduDrone, in giro per il web ce ne sono a bizzeffe da cui trarre spunto, e c è anche qualche programmino di controllo condiviso (e già salvato nel mio pc naturalmente!).

Ora stavo solo raccogliendo un po' di dati e di idee, poi quando comincierò a masticare anche Arduino (università permettendo) sicuramente vi mostrerò più idee e problematiche :slight_smile:

Scusate.... ma il calcolo di Arduino non va fatto ad ogni scoppio del motore....
L'iniettore 'spruzza' benzina di continuo non fa uno 'schizzo' ad ogni ciclo.
E' ovvio che più velocemente si ricalcola e piu' accurata è la carburazione.... ad esempio nel classico colpetto di acceleratore l'aria aumenta improvvisamente e se la centralina non adegua la quantità di benzina la miscela si impoverisce... non stiamo parlando di millisecondi in questo caso.

Detto questo... come si comanda L'iniettore? Immaginiamo passandogli una certa tensione da 0 volt a 5 volt

Stabiliamo:
-5 step di regimi motore
-5 step di apertura dell'acceleratore

Dobbiamo mettere giù una matrice di 25 valori per ogni incrocio.

A questo punto Arduino semplicemente svolgera':

  1. leggi rpm su un pin
  2. leggi posizione acceleratore su un altro pin
  3. cerca valore nella matrice
  4. manda il voltaggio all'iniettore tramite un altro pin

Se l'idea di fondo è un progetto divertente già cosi' il motore sta in moto, e ci si può divertire a trovare i 25 valori migliori, magari creandosi un pannellino per la modifica al volo.

Salve, mi permetto di intromettermi in questo post vista la mia esperienza in campo motoristico e specialmente in gestione motore.
Chiarisco alcune cose:

1-gli inniettori non si aprono in modo fisso, ma pulsato, solo qli inniettori di impianti meccanici tipo Bosch K-jetronic erano a spruzzo fisso e richiedevano un complesso sistema per regolare la quantità inniettata che è dipendente dai giri e dal carico motore, a 1000 giri richiede meno benzina che a 9000 rpm a folle, ma a 4000 rpm a pieno carico richiederà anche il doppio di benzina che a 9000 rpm a folle.

2-la miscelazione aria-benzina o AFR (Air Fuel Ratio) è dipendente dal carico motore, avere un' AFR di 14,7:1 significa bruciare tutta la benzina disponibile, ma questa condizione viene raggiunta solo a carichi parziali leggeri, a pieno carico è consigliabile attestarsi entro i 12,8 @ 13,5:1 (da analizzare caso per caso). Un AFR basso significa carburazione GRASSA, uno alto MAGRA.

3-Per far funzionare una ipotetica centralina ARDUINO ECU, serviranno:

-segnale giri (onda sinusoidale o quadra, ricavata da sensore magnetico, effetto Hall o ottici). per un motore monocilindrico 2T non richiederà di ruote foniche complesse, credo possa essere fatto anche con un unico dente in corrispondenza del PMS, ma la precisione ne risentirebbe molto, meglio dotarlo di almeno 4 denti o più.
-segnale CARICO MOTORE, principalmente un segnale analogico potenziometro farfalla.
-segnale pressione barometrica o cassonetto aspirazione (servirà ad adeguare la carburazione al variare della pressione atm. e quindi di variazioni di quota).
-segnale temp. motore, servirà per implementare le strategie di partenza a freddo (a freddo si richiede più benzina)
-segnale temp. Aria, servirà a rivedere la carburazione per effetto del cambio di densità dell'aria al variare la temp.

-segnale sonda lambda, questo segnale è utile ma non indispensabile, ho mappato tante auto da corsa senza che esse usino la retroazione sonda (ma per mapparle si viene usata una sonda lineare wideband), per gestire queste sonde vi è necessità di usare un controller, se prendi quansiasi sistema wideband commerciale tipo AEM o Innovate LC1 c'è l'hanno incluso, essi forniscono un segnale 0-5v proporzionale al valore lambda-AFR dove un valore di 500mV equivale ad un AFR di 9:1 e 4500mV ad uno di 22:1 (scusate le inesattezze, vado a memoria ma questa è l'idea di linearizzazione, poi si fa tutto con i datasheet alla mano).

-tutto l'hardware necessario: Pompetta benzina da almeno 3 bar, inniettore, regolatore pressione benzina, centralina e relativo cablaggio con relativo relè (non indispensabile ma raccomandato) e fusibile (molto raccomandato).

-ed ovviamente, un firmware per la centalina! Per l'hardware della centralina ARDUINO ECU non ci sarebbero grossi problemi, potrei fornirti schemi di come fare, questa è la parte facile, è nel firmware dentro l'MCU dove risiede l'Inteligenza del progetto (parole dette da un ingegnere che ha creato la sua propia centralina per la sua moto).

Come potete vedere, in realtà la parte difficile è creare il sw da scaricare nell'ARDUINO, per fortuna è un monocilindrico, quindi risolve di molto il lavoro da fare, ma la complessità dell'operazione non è alla portata di tutti (nemmeno mie per la verita! ma ci sto studiando!),

come potenza di calcolo credo che ARDUINO sia all'altezza della situazione, nonché perché ho visto in rete progetti simili funzionanti e poi, il micro usato, ATMEGA328P l'ho visto dentro la centralina creata da in ingegnere per la sua moto 4T bicilindrica (guzzi).

l'unico segnale che devi avere gestione in real time è quello giri motore, gli altri possono essere "letti" in base ai tempi di latenza dell'arduino di 10ms come ho letto nelle risposte precedenti. Per acquisire il segnale giri, la miglior forma che conosco è usare gli interrupt in modo da liberare il micro quando non vi sono eventi "teeth" (lettura denti ruota fonica). in un motore monocilindrico 2T vi è un' accensione ad ogni giro ogni qual volta il pistone è al PMS, quindi in breve, la nostra ARDUINO ECU ad ogni "teeth" (se usiamo un solo dente) deve inniettare una certa quantità di benzina regolandone il tempo di apertura dell' iniettore, al minimo magari sarà sufficiente 2ms ma a pieno carico e 9000 rpm sarà necessario 5,2-5,3ms (come detto da qualcun'altro, un giro si compie in 6,6ms e noi possiamo usare solo l'80% del tempo per aprire e chiudere gli iniettori questo si chiama DUTYCICLE dell'iniettore). quindi se dal momento che si verifica l'interrupt del dente ruota fonica, la nostra ECU dovrà aprire l'iniettore per quel tempo. Come concetto è semplice, ma come realizzazione un bel pò meno, ma non impossibile.

e pensare che i piloti di aerei con motori 4 tempi usano solo l'egt gauge (exaust gas temperature, l'indicatore della temperatura di scarico) per muovere la manopola che va a cambiare il rapporto stechiometrico.

e parliamo di aerei non di motorini che se ti si ferma il motore al massimo rimani a piedi :wink:

poi ovvio i motori aeronautici passano per carburatore (i più a vaschetta).

hiperformance71:
Salve, mi permetto di intromettermi in questo post vista la mia esperienza in campo motoristico e specialmente in gestione motore.
Chiarisco alcune cose:

1-gli inniettori non si aprono in modo fisso, ma pulsato, solo qli inniettori di impianti meccanici tipo Bosch K-jetronic erano a spruzzo fisso e richiedevano un complesso sistema per regolare la quantità inniettata che è dipendente dai giri e dal carico motore, a 1000 giri richiede meno benzina che a 9000 rpm a folle, ma a 4000 rpm a pieno carico richiederà anche il doppio di benzina che a 9000 rpm a folle.

2-la miscelazione aria-benzina o AFR (Air Fuel Ratio) è dipendente dal carico motore, avere un' AFR di 14,7:1 significa bruciare tutta la benzina disponibile, ma questa condizione viene raggiunta solo a carichi parziali leggeri, a pieno carico è consigliabile attestarsi entro i 12,8 @ 13,5:1 (da analizzare caso per caso). Un AFR basso significa carburazione GRASSA, uno alto MAGRA.

3-Per far funzionare una ipotetica centralina ARDUINO ECU, serviranno:

-segnale giri (onda sinusoidale o quadra, ricavata da sensore magnetico, effetto Hall o ottici). per un motore monocilindrico 2T non richiederà di ruote foniche complesse, credo possa essere fatto anche con un unico dente in corrispondenza del PMS, ma la precisione ne risentirebbe molto, meglio dotarlo di almeno 4 denti o più.
-segnale CARICO MOTORE, principalmente un segnale analogico potenziometro farfalla.
-segnale pressione barometrica o cassonetto aspirazione (servirà ad adeguare la carburazione al variare della pressione atm. e quindi di variazioni di quota).
-segnale temp. motore, servirà per implementare le strategie di partenza a freddo (a freddo si richiede più benzina)
-segnale temp. Aria, servirà a rivedere la carburazione per effetto del cambio di densità dell'aria al variare la temp.

-segnale sonda lambda, questo segnale è utile ma non indispensabile, ho mappato tante auto da corsa senza che esse usino la retroazione sonda (ma per mapparle si viene usata una sonda lineare wideband), per gestire queste sonde vi è necessità di usare un controller, se prendi quansiasi sistema wideband commerciale tipo AEM o Innovate LC1 c'è l'hanno incluso, essi forniscono un segnale 0-5v proporzionale al valore lambda-AFR dove un valore di 500mV equivale ad un AFR di 9:1 e 4500mV ad uno di 22:1 (scusate le inesattezze, vado a memoria ma questa è l'idea di linearizzazione, poi si fa tutto con i datasheet alla mano).

-tutto l'hardware necessario: Pompetta benzina da almeno 3 bar, inniettore, regolatore pressione benzina, centralina e relativo cablaggio con relativo relè (non indispensabile ma raccomandato) e fusibile (molto raccomandato).

-ed ovviamente, un firmware per la centalina! Per l'hardware della centralina ARDUINO ECU non ci sarebbero grossi problemi, potrei fornirti schemi di come fare, questa è la parte facile, è nel firmware dentro l'MCU dove risiede l'Inteligenza del progetto (parole dette da un ingegnere che ha creato la sua propia centralina per la sua moto).

Come potete vedere, in realtà la parte difficile è creare il sw da scaricare nell'ARDUINO, per fortuna è un monocilindrico, quindi risolve di molto il lavoro da fare, ma la complessità dell'operazione non è alla portata di tutti (nemmeno mie per la verita! ma ci sto studiando!),

come potenza di calcolo credo che ARDUINO sia all'altezza della situazione, nonché perché ho visto in rete progetti simili funzionanti e poi, il micro usato, ATMEGA328P l'ho visto dentro la centralina creata da in ingegnere per la sua moto 4T bicilindrica (guzzi).

l'unico segnale che devi avere gestione in real time è quello giri motore, gli altri possono essere "letti" in base ai tempi di latenza dell'arduino di 10ms come ho letto nelle risposte precedenti. Per acquisire il segnale giri, la miglior forma che conosco è usare gli interrupt in modo da liberare il micro quando non vi sono eventi "teeth" (lettura denti ruota fonica). in un motore monocilindrico 2T vi è un' accensione ad ogni giro ogni qual volta il pistone è al PMS, quindi in breve, la nostra ARDUINO ECU ad ogni "teeth" (se usiamo un solo dente) deve inniettare una certa quantità di benzina regolandone il tempo di apertura dell' iniettore, al minimo magari sarà sufficiente 2ms ma a pieno carico e 9000 rpm sarà necessario 5,2-5,3ms (come detto da qualcun'altro, un giro si compie in 6,6ms e noi possiamo usare solo l'80% del tempo per aprire e chiudere gli iniettori questo si chiama DUTYCICLE dell'iniettore). quindi se dal momento che si verifica l'interrupt del dente ruota fonica, la nostra ECU dovrà aprire l'iniettore per quel tempo. Come concetto è semplice, ma come realizzazione un bel pò meno, ma non impossibile.

Hiperformance, una bella risposta, precisa. Io di quello che hai citato a livello di elettronica (e anche iniezione), so poco, per la parte meccanica ho capito tutto (o almeno spero!).

Per i giri basta e avanza il dentello del pick up del motore a mio avviso: ho visto molti contagiri che invece che leggere il regime di rotazione al pick up (quindi al volano), lo leggevano rispetto alla frequenza del cavo candela, avvolgendoci attorno un filo: io non conosco tale principio di funzionamento, ma questa potrebbe essere una valida alternativa alla lettura al pick up, un po più complessa da fare. Inoltre la lettura al cavo candela viene usata anche da taluni banchi prova per il grafico potenza-coppia su numero di giri. Insomma, non sarà precisissimo, ma nemmeno così errato a mio avviso.

Per il resto ora sono in fase di stand by causa esami. Spero di potermi tenere in contatto con te, le tue conoscenze a riguardo sono notevoli. :slight_smile:

Ciao wmatte, per una centralina che debba gestire solo inniezione io preferirei sempre un dente su una ruota fonica su''albero motore, ma non nego che sia fattibile ricavare il segnale dal sistema da te indicato (per effetto induttivo), infatti potremmo anche prelevare il segnale di corrente di flyback sul negativo bobina, dopo che si "rilascia" la carica bobina, parte la scintilla, bene, al contempo stesso, nella bobina si produce una carica positiva che può raggiungere anche i 400V per pochi attimi, esistono dei circuiti appositi che "sentono" questa corrente ed isolano la MCU da possibili danni, ho qualche schema al riguardo, ma come ti dicevo, preferisco il sistema del dente (o denti) su una ruota fonica sull'albero motore, mediante un sensore ad effetto magnetico (VR) esso darà un segnale sinusoidale, volendo anche ad ffetto HALL andrebbe bene, anzi, dovrebbe risultare anche più semplice il circuito perchè non richiederebbe un circuito di "condizionamento" del segnale sinusoidale (che ad alto numero di giri potrebbe facilmente raggiungere valori di 50V picco-picco).
In BOCCA AL LUPO CON GLI ESAMI!!

e BUON ANNO 2013 a TUTTI!!!!

ps. visto che è un progettino stimolante, ho deciso di dedicarci un pochino del tempo libero, magari servirà da base per "farsi le OSSA" come si deve... Quindi ci sentiamo...

hiperformance71:
Ciao wmatte, per una centralina che debba gestire solo inniezione io preferirei sempre un dente su una ruota fonica su''albero motore, ma non nego che sia fattibile ricavare il segnale dal sistema da te indicato (per effetto induttivo), infatti potremmo anche prelevare il segnale di corrente di flyback sul negativo bobina, dopo che si "rilascia" la carica bobina, parte la scintilla, bene, al contempo stesso, nella bobina si produce una carica positiva che può raggiungere anche i 400V per pochi attimi, esistono dei circuiti appositi che "sentono" questa corrente ed isolano la MCU da possibili danni, ho qualche schema al riguardo, ma come ti dicevo, preferisco il sistema del dente (o denti) su una ruota fonica sull'albero motore, mediante un sensore ad effetto magnetico (VR) esso darà un segnale sinusoidale, volendo anche ad ffetto HALL andrebbe bene, anzi, dovrebbe risultare anche più semplice il circuito perchè non richiederebbe un circuito di "condizionamento" del segnale sinusoidale (che ad alto numero di giri potrebbe facilmente raggiungere valori di 50V picco-picco).
In BOCCA AL LUPO CON GLI ESAMI!!

e BUON ANNO 2013 a TUTTI!!!!

ps. visto che è un progettino stimolante, ho deciso di dedicarci un pochino del tempo libero, magari servirà da base per "farsi le OSSA" come si deve... Quindi ci sentiamo...

Tanto varrebbe sfrutta il pick up sul volano! Non trovi?

Ps Buon anno anche a te, la tua sapienza è notevole! Ma dimmi un po': secondo te con un po di impegno è possibile fare un sistema di controllo elettronico "chiuso", ovvero che possa autoregolare da automaticamente la carburazione stessa? Anche incrociando diversi dati..

Ciao, forse non al 100% ma si, è possibile, se nel sistema inseriamo una sonda lambda wideband (con relativo controller) programmando una mappa AFR da rispettare e creando un algoritmo PID per gestire al meglio la risposta della sonda e della carburazione, si potrebbe, ma ovviamente andrebbe prima creata la mappa inniezione vera e propia, poi, se questa è ben fatta (sperimentalmente sul motore) la retroazione sonda darà risultati più coerenti e solidi.

Infatti prova di ciò si può riscontrare su centraline da competizione, se abbiamo una mappa mal calibrata e lasciamo che sia la retroazione sonda a tenere in carburazione il motore, si rischia di fare qualche danno, c'è un certo tempo di latenza tra il valore lambda rilevato e quello del momento in cui quella condizione era presente, ovvero, non si riesce a misurare in tempo reale ma quasi, vi è un ritardo di circa 200-400 rpm (su un motore 4T) tra il tempo in cui vi sia una pecca nella carburazione ed il momento dove la sonda rileva il problema (anche se una sonda ha una frequenza di 10Hz circa come tempo di aggiornamento lettura). Se questo accade, se per esempio la mappa fosse molto magra all'affondare l'accelleratore (aumento della quantità aria improvviso) passeranno alcuni secondi prima che la ECU possa rivedere i tempi d'inniezione ingranssando, ma a quel punto magari la carburazione si è stabilizzata, ma siccome vi è un ritardo, la ECU non lo sa ancora e poi avremo l'opposto, troppa benzina! più è scombinata la mappa, più si avrà questo problema. Quindi è primordiale eseguire un' accurata calibrazione della mappa di inniezione, poi si può attivare eventuali sistemi di retroazione, avranno poco da fare e saranno sempre vicinissimo al target AFR impostato. Sui motori aspirati non è necessario farlo, anche perchè se la sonda non lavorasse correttamente (si possono danneggiare facilmente con carburazioni molto grasse o con presenza di olio o refrigerante nei gas di scarico) potremmo rischiare gravi danni al motore, quindi meglio lasciarla per l'acquisizione dati o solo da usare mentre si mappa a banco. Unica eccezione, quando mappo motori turbo, visto che sono molto più dipendenti da cambi di pressione/carico è utile lasciar la retroazione sonda attiva sopo aver mappato per bene, in un motore turbo le cose succedono troppo in fretta, bastano pochi secondi fuori target per ritrovarti con dei pistoni bucati, per fare ciò su aspirati si deve propio andare a cercarlo (ma non difficile che succeda però). Infatti, su un aspirato tipo gr.N si può girare a pieno carico anche con AFR di 13,5:1 e più secco ancora senza incorrere in danni, mentre su un turbo, sarebbe deleterio smagrire oltre 12:1 visto che il target spesso è intorno a 10,8-11,5:1 per ragioni di sicurezza, io ho visto spesse volte AFR di 12,5 a pieno carico senza danni, ma non è bene rischiare!!