Pages: [1]   Go Down
Author Topic: centralina iniezione elettronica  (Read 2884 times)
0 Members and 1 Guest are viewing this topic.
italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao a tutti, sono un nuovo arrivato e vorrei cominciare un nuovo progetto che consiste nel programmare arduino per fargli svolgere la funzione di centralina di comando iniezione elettronica per moto/auto. con questo non intendo di voler usare arduino come centralina aggiuntiva all'originale, ma di sfruttarlo come "cervello" dell'impianto. l'idea e' infatti di poter montare il tutto su auto o moto nate senza impianto di iniezione...ho un discreto know-how sulla parte meccanica e elettrica, vorrei cominciare a sperimentare montando il tutto sulla mia yamaha tdm 850 a carburatori.avrei invece bisogno di un aiutino nella parte della programmazione...ecco brevemente quello che dovrebbe succedere nel software:
abbiamo in ingresso: numero di giri al minuto e potenziometro apertura acceleratore. l'unico output di cui avremo bisogno per ora, e' il tempo di iniezione ad ogni fase di aspirazione, ovvero un rele' a stato solido che si chiude per un tot di millisecondi ogni 2 giri del motore (ogni giro per i 2 tempi).pensavo quindi di stoccare all'interno di una eprom (come tutte le centraline esistenti) i tempi di iniezione a seconda delle casistiche, es. mezzo acceleratore a 1500 giri, tutto acceleratore a 3000 giri ecc...sarebbe quindi una matrice di valori contenente tutti i tempi di iniezione in tutte le condizioni che possono verificarsi. avremo poi bisogno di correggere in percentuale questi tempi di iniezione a seconda delle condizioni fornite da altri sensori (analogici), come temperatura motore,sonda lambda, temperatura aria, tensione batteria ecc. Questa configurazione molto elementare potrebbe essere un buon inizio...che ne pensate?c'e' qualcuno che ha voglia di collaborare?  :smiley inutile dire che il tutto sara' implementabile con contagiri, contamarce, controllo di trazione e chi piu' ne ha piu ne metta... smiley-wink
Logged

Torino - Linux
Offline Offline
God Member
*****
Karma: 0
Posts: 522
Pigs on the wings!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao e benvenuto nel forum.
Il progetto mi piace un sacco dato che sono motociclista da diverso tempo...
Se risolviamo un problema per volta ben volentieri...
Il problema principale, da come la vedo io che non sono uno smanettone meccanico, sono i sensori che portano i segnali "dentro" arduino.
Mi spiego: come faccio a trovare il tempo di iniezione?
Tu parli di relè, giustamente allo stato solido per un discorso di velocità ma... mboh, non saprei nemmeno da dove iniziare :-)
Tenici aggiornati comunque...
Logged


italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie per la risposta!con la passione si possono fare miracoli... smiley-wink
allora andiamo per gradi: ho lavorato un po' su vari tipi di iniezioni e quello che mi spinge a voler intraprendere questo progetto, e' l'assoluta impenetrabilita' delle centraline di serie. ovvero, se non hai lo strumentino da 5000 euro non puoi minimamente capire niente dei problemi che ha la moto se non per tentativi. il bello pero', e' che tutto quello che sta intorno alla centralina, ovvero iniettori, sensori ecc. e' uguale nel funzionamento per tutti i modelli.
vediamo brevemente di cosa sto parlando:
gli iniettori (elettroiniettori) si occupano di immettere carburante nel collettore di aspirazione nel seguente modo: essi non sono niente altro che delle elettrovalvole a 12 volt, alimentate dalla pompa benzina che gira sempre e mantiene l'impianto a una pressione di 3 bar (variabile a seconda dei modelli). quando alimenti l'iniettore, esso si apre e la benzina viene spruzzata nel collettore. quando togli tensione, si chiude e smette di spruzzare.l'iniettore (o piu' di uno) sara' quindi il nostro output, ed essendo un avvolgimento di discrete dimensioni andra' comandato da un rele', e considerando che il tempo che l'iniettore rimane aperto in una fase di aspirazione e' nell'ordine di qualche millisecondo, sara' necessario usare rele' a stato solido.il tempo di apertura dovra' quindi essere differente ad ogni regime di rotazione e ad ogni differente apertura dell'acceleratore.
i sensori: prendiamo per esempio il sensore temperatura acqua, esso e' una resistenza variabile proporzionale alla temperatura, bastera' quindi utilizzare un ingresso analogico di arduino, e studiare il software in modo che i tempi di iniezione si allunghino quando il motore e' freddo; stesso discorso per la tensione della batteria: se la tensione e' piu bassa del normale (es. fari accesi) i tempi di iniezione si allungano perche' l'iniettore impiega piu' tempo ad aprirsi; lo stesso vale per gli altri sensori, come pressione assoluta, temperatura aria ecc.(per adesso conviene cominciare con poche variabili e poi aggiungerne)
come facciamo a conoscere i tempi di iniezione? questo possiamo farlo solo in maniera sperimentale, ovvero come si faceva una volta quando si cambiavano i getti al carburatore!!si comincia con immettere dei valori quasi casuali per poi affinare la mappatura...diciamo che per fare un buon lavoro servirebbe un bel banco prova per valutare i miglioramenti...ma ancora e' presto!
per cominciare ho smontato tutti i componenti dell'iniezione da una nissan primera, e sono pronto per montarli sulla mia moto.spero di essere stato chiaro nella descrizione del funzionamento...se hai altri dubbi chiedimi pure!per il software direi di cominciare con le due variabili principali:il contagiri e l'apertura del gas.
il secondo non e' un problema, e' un comunissimo potenziometro e basta collegarlo ad un ingresso analogico,per il sensore di giri invece, pensavo di utilizzare un sensore ad effetto hall. hai idea di come entrare in arduino con un sensore hall?

Logged

cuneo
Offline Offline
God Member
*****
Karma: 3
Posts: 785
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

per i giri io squadro l'alternata dell'alternatore e la leggo
Logged

italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

interessante...e' precisa come lettura? usi una sola fase dell'alternatore? hai uno sketch da provare? grazie!
Logged

cuneo
Offline Offline
God Member
*****
Karma: 3
Posts: 785
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

abbastanza precisa
uno sketch qualsiasi che legge la frequenza che poi devi moltiplicare per un fattore di conversione che varia da alternatore ad alternatore
Logged

italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie ora cerco qualcosa! sto cercando di realizzare questo progetto in modo che sia adattabile alla maggior parte delle moto,e quasi tutte le moto infatti hanno l'alternatore che fa gli stessi giri del motore...quindi sarebbe perfetto!
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, sono nuovo sul forum e presto mi arriverà il mio primo Arduino.
Da motociclista trovo che questo sia uno dei progetti più belli che ho trovato sul forum in questo paio di settimane che leggo da 'ste parti.
Appena mi impratichisco con Arduino vedo se sono in grado di collaborare, ho basi di elettronica, conoscenza teorica dei motori e ho programmato PLC molto a lungo.
Ora, però, una domanda: come trovare gli iniettori adatti a una moto nata a carburatori? Io per esempio ho una kawasaki zr7 e non saprei cosa montargli e, soprattutto, come!
Logged

italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao SecondoDan e benvenuto!
sto facendo molti esperimenti sulla mia moto questi giorni...e' piena di cavi dappertutto!!per fortuna tu hai una buona base di elettronica...io ho una buona base di meccanica! quello che ho fatto fino ad ora e' questo: acquisizione velocita' delle due ruote e del numero di giri, con questi dati viene visualizzato il rapporto inserito su un display a 7 segmenti sul cruscotto, il led di cambiata, il controllo di trazione, (se la ruota post gira piu' veloce dell'anteriore "taglia la corrente" ad una bobina) e il cambio senza frizione. per quest'ultimo ho costruito una asta di rinvio con un sensore all'interno che trasforma lo sforzo in segnale elettrico. tutto funziona alla meraviglia!! il cambio elettronico e' fantastico...quelli che trovi in commercio hanno il tempo di interruzione fisso e puoi usarli solo al max dei giri...questo invece si regola da solo il tempo in base alla velocita', alla marcia e all'angolo della farfalla! quindi puoi anche cambiare marcia a 20 all'ora in prima!
per il discorso iniezione, ora ho ordinato un arduino mega che ha 3 interrupts( 2 ruote piu il motore), gli iniettori e altri sensori li ho presi da una nissan primera 1.6 del 95, come cilindrata unitaria e' simile alla mia tdm 850, e per correggere si puo' agire in altri punti dell'impianto...cmq prima di collegare gli iniettori vorrei terminare la parte del contamarce e cambio elettronico, e soprattutto essere sicuro al 100% che i segnali prelevati siano fedeli(velocita' ruote e motore).
Logged

Milano, Italy
Offline Offline
Faraday Member
**
Karma: 11
Posts: 3091
Sideralis Arduino!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sei un figo smiley voglio vederla in azione smiley
Logged

Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

dopo essere impazzito un po' con l'elettronica nell'ultimo periodo, sto ricostruendo una protoboard piu' specifica,con scheda millefori prima di un vero circuito stampato... purtroppo in moto e' difficile portarsi dietro una breadboard... ;D
inoltre ho dovuto usare cavi schermati per tutti i sensori nonche' chiudere arduino in una scatola schermata! vorrei integrare nella protoboard anche lo stadio di alimentazione...se potete darmi qualche dritta la accetto molto volentieri! ho pensato di usare un regolatore mct 7805 preceduto da uno zener da 20 volt dal positivo a massa, pensate sia sufficiente? utilizzando il regolatore interno di arduino e alimentandolo direttamente a 12 volt, quando rilascio il pulsante di avviamento (ovvero la bobina del rele' "restituisce" la corrente) arduino impazzisce per un istante...so che basterebbe mettere un diodo sul rele', ma non c'e' un modo per "pulire" l'alimentazione direttamente sulla scheda?avevo pensato anche ai filtri che si usano per le autoradio...
Logged

italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

volevo postare un po' di foto di quello che sto facendo...qualcuno ha idea di come si fa? il pulsante apposito nel form sembra non funzionare...
Logged

Milano, Italy
Offline Offline
Faraday Member
**
Karma: 11
Posts: 3091
Sideralis Arduino!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Di solito funziona, devi prima caricare le tue foto da qualche parte!
Logged

Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

italy
Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bene bene, si va avanti! ho installato arduino mega sulla moto ben chiusa in una scatola, connessa ad un'altra scheda che ho fatto dove c'e' lo stadio di alimentazione e i vari pullup e pulldown e gli amplificatori operazionali per i pick up, il pickup della ruota posteriore legge i denti del pignone, all'anteriore ho costruito un pickup quadruplo che legge 10 riferimenti ad ogni giro, per un totale di 40 letture ad ogni giro. inoltre ho montato gli iniettori, e collegato vari sensori di temperatura aria, acqua ecc.. ho realizzato un'asta di rinvio del pedale del cambio "sensibile" alla compressione per attuare il cambio elettronico...in serata riprovo a postare le foto!
ora sto studiando le migliori strategie per acquisire le 3 velocita' principali, cioe' le due ruote e il motore. purtroppo non avendo un oscilloscopio e' difficile determinare se ci sono errori nel codice o nell'acquisizione dei segnali, quindi pensavo di costruirne uno semplice seguendo questo link:http://code.google.com/p/arduinoscope/
per ora sto cercando di perfezionare la parte del contamarce e del controllo di trazione prima di far funzionare l'iniezione...ho inserito all'interno del contagiri un display a 7 segmenti per indicare la marcia comandato da shift register.per l'iniezione, tutti i motori che ho visto adottano una ruota fonica (una ruota con dei risalti) monitorata da un sensore magnetico posta sull'albero a camme. questa ruota deve fornire la posizione angolare dell'albero a camme, e ha due risalti "uniti" che servono a determinare il completamento di un giro e resettare l'angolo.se avete idee per il codice sono ben accette!  smiley-wink
l'angolo servira' a fornire il momento in cui l'iniettore dovra' cominciare a spruzzare, e dovrebbe essere variabile a seconda delle varie condizioni.
Logged

Pages: [1]   Go Up
Jump to: