Sou novo nesse grupo aki e resolvi postar minha colaboração para este projeto.
Sou tec. eletronica e trabalho com projetos de circuitos com micro-controladores da linha PIC.
(para quem não quiser ler todos os posts, segue link da ultima atualização da injecao:
www.optotech.net.br/fzanoto/inj_eletr.rar
)
Fiz o seguinte:
Eu tenho um gol 1000 quadrado ano 95 gasolina, porém, quando eu mandei fazer o motor dele, coloquei o kit 1.6 alcool e no carburador eu troquei somente os gicles...
Acontece que tenho que ficar limpando direto o carburador dele, e dá um puta trampo, além do que o carburador de gasolina não ficou legal no carro a alcool.
Resolvi então fazer uma injeção eletronica:
Sou leigo em mecanica de autos, mas eu mesmo dou umas fuçadas no meu carbura e carro aki, fiz o seguinte:
Consegui uma carcaça estragada de um carburador igual ao meu (weber duplo) e mandei frezar e colocar o bico:



montei um circuito de injeção básico para fazer um teste

Coloquei uma bomba de combustível na entrada do bico e o restante volta p/ o tanque fazendo um by-pass, tudo na frente do carro mesmo...
Coloquei um potenciometro comum para saber a informação da posição da borboleta e liguei no meu circuito que alimenta o bico injetor,
fiz uns testes aki em casa e o motor funcionou legal..
porém não deu tempo de eu testar com o carro em movimento, pois ficou com muita gambiarra e não sabia se isso poderia acabar estragando o meu motor com falta ou excesso de combustível.
alguém tem um motor ou carro para esse tipo de teste aki para ajudar ???
o custo total ficou menos que R$200,00
fotos:


Segue programa:
program Injecao
dim freq, valor, borboleta, pot as word
dim duty, bo_max, bo_min, per_max, per_min as byte
dim periodo as word
dim txt as string[5]
'-----------------------------------------------------
sub procedure grava_eeprom
Eeprom_Write(0,bo_max)
Eeprom_Write(1,bo_min)
Eeprom_Write(2,per_max)
Eeprom_Write(3,per_min)
end sub
'-----------------------------------------------------
sub procedure verifica_eeprom
bo_max = Eeprom_Read(0)
bo_min = Eeprom_Read(1)
per_max = Eeprom_Read(2)
per_min = Eeprom_Read(3)
if bo_max = 255 then
bo_max = 220
bo_min = 10
per_max = 250
per_min = 20
grava_eeprom
end if
end sub
'------------------------------------------------------
sub procedure interrupt
' 'delay mínimo e máximo do bico injetor: 1200 a 10000uS
'Pot Borboleta: 1.0V - 1.8V
' '(7000Rpm=116Hz=4.2mS de injecao(2xpor volta))enviar 6mS
' (900Rpm=15Hz)lenta=0,5mS de injecao(enviar 1mS)
' '(12.5Hz = 4000 pulsin) 25Hz=2000 50Hz=1000 100Hz=500
if intcon.1 = 1 then
freq = freq + 5
intcon.1 = 0 'clear flag
end if
if pir1.0 = 1 then
valor = freq
freq = 0
tmr1h = $25 'ajuste fino da rpm
tmr1l = $00 'ajuste fino da rpm
pir1.0 = 0 'clear flag
end if
end sub
'------------------------------------------------------
sub procedure display
wordtostrwithzeros(valor,txt)
Lcd_Out(1, 5, txt)
Lcd_Out(1, 1, "Rpm=")
wordtostr(borboleta,txt)
Lcd_Out(1, 12, txt)
Lcd_Out(1, 11, "B=")
bytetostr(duty,txt)
Lcd_Out(2, 6, txt)
Lcd_Out(2, 1, "Duty=")
end sub
'----------------------------------------------------
sub procedure le_pot
pot = Adc_Read(0)
borboleta = pot/4
if borboleta <bo_min> bo_max then
borboleta = bo_max
end if
end sub
'----------------------------------------------------
sub procedure bico_injetor
'bo_max = 220
'bo_min = 10
'per_max = 200
'per_min = 50
periodo = (per_max - per_min)*(borboleta-bo_min)
periodo = (periodo)/(bo_max-bo_min)
periodo = periodo + per_min
duty = periodo
Pwm1_Change_Duty(duty)
end sub
'----------------------------------------------------
sub procedure menu
menu_0:
valor = 65535
duty = per_max
display
le_pot
bico_injetor
if portc.6 = 0 then
per_max = per_max + 1
delay_ms(100)
end if
if portc.7 = 0 then
per_max= per_max - 1
delay_ms(100)
end if
if portc.5 = 0 then
while portc.5 = 0
wend
goto menu_1
end if
goto menu_0
menu_1:
valor = 65535
duty = per_min
display
le_pot
bico_injetor
if portc.6 = 0 then
per_min = per_min + 1
delay_ms(100)
end if
if portc.7 = 0 then
per_min= per_min - 1
delay_ms(100)
end if
if portc.5 = 0 then
while portc.5 = 0
wend
grava_eeprom
exit
end if
goto menu_1
end sub
'----------------------------------------------------
main:
trisa = %00000001
trisb = %00000001
trisc = %11100000 'teclado
adcon1 = %10001110 '10 bit´s an0 analógico, resto digital
intcon = %11011000
t1con = %00111101 'liga tmr1 prescaler 1:8
pie1.0 = 1 'liga interrupt timer1
portc.2 = 1
delay_ms(1500) 'injecao inicial
portc.2 = 0
Pwm1_Init(70) ' Initialize PWM module
Pwm1_Start ' Start PWM
Pwm1_Change_Duty(10) 'lenta
Lcd_Config(PORTB,7,6,5,4,PORTB,2,1,3)
Lcd_Cmd(Lcd_Cursor_Off)
verifica_eeprom
'-------------------------------------------------------------------
while true
le_pot
bico_injetor
display
if portc.5 = 0 then
while portc.5 = 0
wend
menu
end if
wend
'--------------------------------------------------------------
end.
inté...