177
UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEV DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA Mentor: doc. dr. Boštjan Murovec Ljubljana, september 2010

KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

  • Upload
    dinhdat

  • View
    305

  • Download
    8

Embed Size (px)

Citation preview

Page 1: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

UNIVERZA V LJUBLJANI

Fakulteta za elektrotehniko

Iztok Vatovec

KRMILNIK VBRIZGA GORIVA

BENCINSKIH MOTORJEV

DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA

Mentor: doc. dr. Boštjan Murovec

Ljubljana, september 2010

Page 2: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA
Page 3: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

Zahvala

Zahvaljujem se mentorju doc. dr. Boštjanu Murovcu za pomoč, strokovne

nasvete ter potrpeţljivo pregledovanje diplomskega dela.

Zahvaljujem se druţini za spodbudo in podporo v času mojega šolanja.

Zahvaljujem se Frankotu Petelinu, ker me je naučil osnov mehanike in delovanja

motorjev z notranjim zgorevajem.

Page 4: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA
Page 5: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

V spomin Jožetu Vrabcu

Page 6: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA
Page 7: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - i

Povzetek

Diplomsko delo opisuje izdelavo nastavljivega krmilnika vbrizga za bencinske

motorje z notranjim zgorevanjem. Krmilnik je zasnovan okoli 8-bitnega

mikrokrmilnika PIC18F458 ter električnega vezja, ki skrbi za napajanje, vhodno in

izhodno prilagoditev signalov ter komunikacijo z namiznim računalnikom.

Uporabniški vmesniški program z grafičnim uporabniškim vmesnikom deluje v

okolju Microsoftovih oken in omogoča realno-časovno spremljanje delovanja

motorja in nastavitev parametrov krmiljenja vbrizga goriva.

Zasnova predstavljenega krmilnika se opira na obstoječ odprtokodni krmilnik

vbrizga goriva Megasquirt. Podobnost med krmilnikoma omogoča koriščenje

pomoči, ki jo nudi cvetoča mednarodna skupnost uporabnikov krmilnika

Megasquirt. Predstavljen krmilnik je v celoti zasnovan tako, da ga je mogoče

idelati v samogradnji.

Delo je razdeljeno v dva sklopa. V prvem delu so podane osnove delovanja

bencinskih motorjev, priprava zmesi in problem krmiljenja vbrizga. Drugi del se

osredotoči na zgradbo in delovanje krmilnika ter njegovo praktično uporabo.

Klučne besede:

bencinski motor, motor z notranjim zgorevanjem, elekronski vbrizg goriva, zmes

goriva in zraka, vbrizgalna šoba

Page 8: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - ii

Page 9: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - iii

Abstract

The work within the scope of this thesis is a realization of a controller for

Electronic Fuel Injection (EFI) for the internal combustion gasoline engine. The

controller is based on the PIC18F458 8-bit microcontroller manufactured by

Microchip Inc. The electric circuit around the microcontroller consists of the

power stage which powers the various integrated circuits on the circuit bord and

feeds the reference voltage source used by the engine sensors. The printed

circuit bord also carry the circuitry for adapting signals derived from the engine

sensors, the output stage which powers the injectors and rellays and the circuitry

for enabling serial RS232 comunication with a personal computer. A Grafic user

interface program enables the user to monitor in real-time the running of the

engine where the presented EFI controller is employed and to change the

parameters of the embaded program performing the calculaion of the injection

time, which directly cooralates to the formming of the desired air- fuel mixture.

The presented controller is based on the popular open-source EFI controller

known as Megasquirt, but several changes were made. The featured fuel

injection controller uses a microcontroller from another manufacturer. A new, two

layer, circuit bord was developed, which facilitates a DIY realization and lower

the manufacturing costs. Changes to the controll algorithm itself and the circuitry

were made, which made possible the use of two stage throttle possition

potentiometer. When throtle open angle is used as the engine load signal, the

use of a two stage potentiometer gives a better controll of the air-fuel mixture.

Last, the size of the volumetric eficiency table, which carry the informattion of the

engine characteristics, was also incresed from the original 8x8 to 12x12. This

bigger size offers more tunning potential, but retains the simplicity offered by

small tables. On the circuit bord provision for further upgrades is made in the

form of spare input and otput chanels.

Page 10: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - iv

The thesis consists of two major parts. The first part introduce us to some basics

of gassolin internal combustion engines, the problem of suplying an adecuate air-

fuel mixture at all stages of work of an engine and how EFI works in order to

provide the engine with the correct mixture. The seccond part is about the

construction and working of our EFI controller, a brief overview of the user

program and an evaluation of the mounting and performance of the controller in a

car.

Keywords:

gasoline engine, internal combustion engine, electronic fuel injection, air-fuel

mixture, fuel injector

Page 11: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - v

Kazalo

1 Uvod ................................................................................................................1

2 Motorji z notranjim zgorevanjem ......................................................................5

2.1 Zgradba bencinskih motorjev ..................................................................6

2.2 Delovanje bencinskih motorjev ...............................................................8

2.2.1 Štiri taktni cikel .............................................................................9

2.2.2 Oprema motorja .........................................................................15

3 Priprava zmesi zraka in goriva ......................................................................25

3.1 Teoretično mešalno razmerje in faktor λ ...............................................25

3.1.1 Vpliv zmesi .................................................................................26

3.1.2 Mešalno razmerje v različnih območjih delovanja motorja .........28

3.2 Uplinjač ..................................................................................................31

3.3 Sistemi vbrizga bencina ........................................................................33

3.3.1 Zgodovinski razvoj .....................................................................33

3.3.2 Boschevi sistemi vbrizga ............................................................34

3.4 Merjene veličine in senzorji ...................................................................41

3.4.1 Merjenje vstopajoče zračne mase ............................................ 41

3.4.2 Merjenje ostalih veličin ..............................................................45

3.5 Aktuatorji ...............................................................................................49

3.6 Elektronska krmilna enota ....................................................................52

4 Realizacija programabilnega krmilnika vbrizga goriva ..................................55

4.1 Strojna oprema .....................................................................................55

4.1.1 Mikrokrmilnik ..............................................................................55

4.1.2 Elektronsko vezje ......................................................................57

4.2 Programska oprema .............................................................................65

4.2.1 Krmilni program .........................................................................66

4.2.2 Uporabniški program .................................................................80

5 Meritve ..........................................................................................................93

5.1 Vgradnja sistema vbrizga goriva ...........................................................94

5.2 Rezultati meritev ...................................................................................99

6 Sklepne ugotovitve ......................................................................................103

Page 12: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - vi

Priloga 1: Električna shema krmilnika ...............................................................105

Priloga 2: Tiskano vezje ....................................................................................113

Priloga 3: Krmilni program .................................................................................116

Literatura ...........................................................................................................157

Viri slik ...............................................................................................................159

Page 13: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - vii

Seznam slik

Slika 1: Prerez štiritaktnega bencinskega motorja .................................................6

Slika 2: Delovni cikel štiritaktnega motorja ..........................................................10

Slika 3: Krmilni diagram štiritaktnega motorja ......................................................10

Slika 4: Sistem za dovod goriva pri elektronskem vbrizgu goriva ........................15

Slika 5: Vodno hlajenje ........................................................................................17

Slika 6: Sesalni trakt bencinskega motorja ..........................................................18

Slika 7: Izpušni sistem s katalizatorjem ...............................................................21

Slika 8: Baterijski vţig ..........................................................................................23

Slika 9: Vpliv zmesi na moč in specifično porabo ................................................26

Slika 10: Tvorba škodljivih izpušnih plinov glede na vrednost faktorja λ .............27

Slika 11: Zgradba uplinjača .................................................................................31

Slika 12: Direktni vbrizg bencina (ang. Gasolin Direct Injection - GDI) ...............40

Slika 13: Senzor zračnega tlaka proizvajalca Freescale semiconductors ...........42

Slika 14: Delno odprt Boschev senzor volumskega pretoka (levo) in masnega

pretoka zraka (desno) ...............................................................................43

Slika 15: Senzorja pozicije dušilne lopute z enojnim območjem (levo) in

z dvojnim območjem (desno) ....................................................................44

Slika 16: Zgradba in izhodna karakteristika senzorja z dvojnim območjem ........45

Slika 17: Induktivni senzor z zobatim kolesom ....................................................46

Slika 18: Temperaturna senzorja z NTC uporom ................................................47

Slika 19: Ogrevana λ-sonda ................................................................................48

Slika 20: Izhodni karakteristiki sirokopasovne(levo) in

običajne λ-sonde (desno) .........................................................................49

Slika 21: Elektromagnetna vbrizgalna šoba ........................................................50

Slika 22: Elektronska krmilna enota predstavljenega sistema za vbrizg goriva. ..55

Slika 23: Mikrokrmilnik s kristalom .......................................................................56

Slika 24: Napajalno vezje ....................................................................................57

Slika 25: Vezje serijske komunikacije ..................................................................59

Slika 26: Vezji za prilagoditv signala potenciometra dušilne lopute (levo) in

Page 14: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - viii

senzorja temperature motorja (desno) .....................................................60

Slika 27: Vezji za prilagoditev signala λ-sonde (levo) in detekcijo napetosti

akumulatorja (desno) . ...............................................................................60

Slika 28: Vezje za prilagoditev signalov iz različnih tipov

senzorjev hitrosti vrtenja motorja ……………………………………………62

Slika 29: Izhodna stopnja za pogon vbrizgalnih šob ............................................64

Slika 30: Vezji za vklop relejev gorivne črpalke (levo) in

LED diode za prikaz delovanja (desno) ....................................................65

Slika 30: Osnovna zgradba krmilnega programa ................................................70

Slika 31 : Glavna zanka krmilnega programa ......................................................73

Slika 32: Glavno pogovorno okno programa Pictune ..........................................80

Slika 33: Pogovorno okno z osnovnimi nastavitvami ...........................................83

Slika 34: Izračun parametra Potrebno gorivo ( REQ_FUEL) ...............................84

Slika 35: Pogovorno okno z nastavitvami obogatitev zmesi ............................... 85

Slika 36: Tabela volumskega izkoristka motorja ..................................................87

Slika 37: Umerjanje karakteristike volumetričnega izkoristka ..............................89

Slika 38: Okno za generiranje konverziske tebele senzorja tlaka .......................91

Slika 39: Okno za generiranje konverziske tebele senzorja temperature ............91

Slika 40: Notranjost vozila z merilnikom mešalnega razmerja (v ospredju) in

krmilnikom vbrizga goriva (spodaj desno) ................................................93

Slika 41: Originalni sesalni kolektor z uplinjačem (levo) in modificirani kolektor

z vbrizgalnima šobama in dušilno loputo (desno) ....................................94

Slika 42: Montaţa širokopasovne λ-sonde .........................................................95

Slika 43: Dušilna loputa s potenciometrom. Viden je tudi gorivni vod. ...............95

Slika 44: Senzor, namenjen meritvam temperature vstopajočega zraka,

nameščen znotraj zračnega filtra. ...........................................................96

Slika 45: Senzor temperature motorja. ..............................................................97

Slika 46: Relejna plošča v motornem prostoru. .................................................97

Slika 47: Graf gibanja merjenih veličin med voţnjo z vgrajenim uplinjačem ....100

Slika 48: Graf gibanja merjenih veličin med voţnjo testnega avtomobila z

vgrajenim sistemom za vbrizg ................................................................101

Page 15: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - ix

Seznam tabel

Tabela 1: Teoretična mešalna razmerja goriv .....................................................25

Tabela 2: Primerjava izbranih programabilnih krmilnikov vbrizga goriva .............53

Page 16: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - x

Page 17: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 1

1 Uvod

Kmalu po izumu parnega stroja na začetku 19. stoletja, so ljudje začeli razmišljati

o cestnega vozilu. Zgodnji poizkusi so imeli parni pogon in različne pozicije

motorja, kotla in različne konfiguracije koles. Vendar je šele pojav

kompaktnejšega motorja z notranjim zgorevanjem ob koncu 19. stoletja

omogoču izdelavo tako imenovanih kočij brez vprege, nekakšnih prvih

avtomobilov.

Do leta 1910 je avtomobil ţe dobil svojo moderno podobo. Ottov motor, ki je v

svoji bistveni zasnovi ostal nespremenjen vse do danes, je v dobrem stoletju

doţivljal razvoj in izboljšave, ki so mu omogočile, da je ostal v koraku s časom

izpolnjujoč nove in nove zahteve, ki mu jih je postavljala zgodovina.

Ena takih izboljšav je tudi uvedba vbrizga goriva z šobami, kot zamenjava za

uplinjač, ki je pred tem opravljal pomembno nalogo priprave zmesi zrak-gorivo,

katera poganja bencinske motorje z notranjim zgorevanjem. Prvi sistemi so se

pojavili med drugo svetovno vojno za potrebe vojaške industrije in so se po vojni

razširili tudi v osebne avtomobile [1].

Pred izumom polprevodniških elektronskih elementov so bili sistemi vbrizga

goriva izključno mehanski. Dragi in relativno kompleksni so izjemoma opravičili

vgradnjo v osebna vozila. Stroge zahteve glede porabe, izpustov in zanesljivosti

delovanja v kombinaciji z zmoţnostmi in niţjo ceno elektronskih komponent,

predvsem modernejših integriranih vezij, so pripeljala do neizogibnega;

elektronska vezja so najdla pot v naše avtomobile. Eden prvih načinov uporabe

elektronskih komponent je bil prav elektronski vbrizg goriva (ang:Electronic Fuel

Injection –EFI).

Škodljiv vpliv izpušnih plinov na ljudi in okolje je glavni vzrok za sodobne zahteve

po majhni porabi, bolšemu izkoristku motorjev in s tem povezana stroga merila

Page 18: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 2

glede izpustov škodljivih plinov. Stroţja merila in uvedba katalizatorja sta prisilila

proizvajalce avtomobilov k dokončni opustitvi uplinjačev in izključni uporabi

elektronskih sistemov vbrizga goriva [2].

Čeprav na zahodnih trgih praktično ne moremo kupiti novega serijskega

avtomobila z uplinjačem, je v uporabi še vedno določeno število vozil, ki

elektronskega vbrizga goriva nimajo, zaradi česar ne izpolnjujeho današnjih

norm o dovoljenih izpustih. Taka vozila bodo morala biti s časom oz. moţno

spremembo zakonodaje iz prometa odstranjena.

Avtomobil je kot tak, ţe zdavnaj izgubil izključno vlogo osebnega transporta in

tako poznamo tudi avtomobile za “prosti čas”. Če iz te skupine izvzamemo

sodobne avtomobile, kateri seveda ţe ustrezajo vsem veljavnim normam lahko

skupino tako imenovanih hobi avtomobilov v grobem razdelimo v dve podskupini.

To sta skupini vozil za udejstvovanje v motošportu in skupina vozil, ki

predstavljajo tehnično dediščino.

Vozila, ki so namenjena izključno športnemu udejstvovanju so izvzeta iz pravil, ki

veljajo za navaden promet, vsaj kar se tiče izpustov. Bodoče niţanje dopustnih

mej izpustov njihovih lastnikov navadno ne skrbi. Podobno velja za starodobna

vozila, ki niso podvrţena merilom katere izpolnjujejo sodobni avtomobili.

Omenjeni skupini še zdaleč ne pokrijeta celotnega spektra ljubitelskih vozil,

bodisi ker jih lastniki ţelijo uporabljati tako za občasno športno udejstvovanje kot

za osebni transport, ali ne dosegajo starostne meje ali redkosti, ki je potrebna za

vpis v register starodobnih vozil oziroma vozil, ki predstavljajo tehnično

dediščino. Lastnikom teh avtomobilov ne preostane drugega, kot avtomobil tako

predelati ali posodobiti, da izpolnjuje obvezujoča merila cestnega prometa. V

mnogih primerih je to tudi vgradnja elektronskega sistema vbrizga goriva.

Page 19: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 3

Z nekaj iznajdljivosti je mogoče elektronski sistem vbrizga goriva, ali še bolje

elektronski sistem krmiljenja motorja, iz serijskega avtomobila novejše

proizvodnje vgraditi v starejše tipe avtomobilov, ki so bili originalno opremljeni z

uplijačem. Kljub temu je večinoma bolj smotrno poseči po namenskih sistemih za

naknadno vgradnjo, katerih je na trgu precej. Tak sistem je navadno zasnovan

bolj prilagodljivo kar olajša priredbo na določen tip motorja.

V diplomski nalogi smo si zadali cilj razviti in preizkusiti različico elektronskega

krmilnika vbrizga, ki bo enostaven za vgradnjo in nastavitev, poleg tega bo

poceni in z moţnostjo izdelave v samogradnji z manjšim predznanjem

elektrotehnike in mehanike.

V prvem delu naloge je opisano delovanje bencinskega motorja z notranjm

zgorevanjem, kar je ključno za razumevanje delovanja krmilnika vbrizga. Sledi

predstavitev problematike krmiljenja vbrizga goriva, način delovanja elektronskih

krmilnikov vbrizga, spoznavanje z elektromehanskimi elementi takega sistema in

primerjava izbranih namenskih elektronskih sistemov vbrizga s poudarkom na

krmilnikih, ki so prisotnih na trgu.

Drugi del naloge opisuje našo izvedbo krmilnika, ki je potomec odprtokodnega

krmilnika Megasquirt [3], ki sta ga razvila Bruce Bowling in Al Gripo in je prav

zaradi svoje odprtosti, prilagodljivosti in predvsem cene doţivel neverjeten uspeh

v svetu. Predstavljeno je elektronsko vezje krmilnika, krmilni algoritem in grafični

vmesnik, ki nam omogoča spremljanje delovanja in nastavitev krmilnih

parametrov. Nadalje sta predstavljena vgradnja in preizkus krmilnika v s

starejšem tipu avtomobila.

Page 20: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 4

Page 21: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 5

2 Motorji z notranjim zgorevanjem

Motorji z notranjim zgorevanjem so stroji, ki kemično energijo goriva spreminjajo

v mehansko delo. Značilno zanje je, da gorivo skupaj z oksidantom, največkrat je

to zrak, zgori v delovnem prostoru motorja. Kemična energija goriva se spreminja

v toplotno, ta pa se zaradi povečanja zgorevalnih tlakov spreminja v mehansko

energijo [5, 6].

Poznamo:

- batne motorje, pri katerih tlak plinov, ki nastane pri zgorevanju, pritiska na

bat, ki poganja motorno gred,

- turbinske motorje, kjer nastali tlak plinov vrti lopatasto kolo rotorja,

- tokovne motorje, ki delujejo na osnovi reakcijskega učinka iztekajočih plinov.

Razen nekaterih opuščenih poizkusov s turbinskih motorjem so pri motornih

vozilih batni motorji edina zastopana vrsta motorjev z notranjim zgorevanjem.

Drugi dve vrsti motorja se uporabljajo v letalstvu.

Batne motorje lahko delimo glede na različnie kriterijie, od katerih navedimo

naslednja:

a) po načinu vžiga gorljive zmesi:

- bencinski oz. motorji z Ottovim ciklom delovanja, kjer vţigalna naprava s

pomočjo iskre sproţi vţig,

- dizelski motorji, kjer se gorivo vţge ob vbrizgu , ko pride v stik z zrakom,

ki je bil predhodno segret s komprimiranjem,

b) po načinu delovanja:

- štiritaktni motorji, pri katerih se delovni proces izvede v štirih gibih bata,

Page 22: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 6

- dvotaktni motorji, ki poterbujejo za en delovni proces samo dva giba bata.

Poznamo tudi hibridne motorje, ki imajo lastnosti dizelskega in bencinskega

motorja ter rotaciske batne motorje, katerih najbolj uspešen predstavnik je

Wanklov motor. V avtomobilih se je najbolj uveljavil štiritaktni bencinski motor in

dizelski motor, ki je zaradi svoje manjše porabe prevladujoč pogon v

transportnem cestnem prometu. Dvotaktni motorji pa se zaradi svoje

enostavnejše zgradbe uporabljajo predvsem za pogon ročnih obdelovalnih

strojev in manjših dvokolesnikov kjer nizka poraba ni zelo pomembna.

Osredotočili se bomo na štiri-taktne bencinske motorje z notranjim zgorevanjem

z ročično gredjo.

2.1 Zgradba bencinskega motorja

Zgradbo bencinskega motorja prikazuje slika 1.

Slika 1: Prerez štiritaktnega bencinskega motorja

(vir: www.automotive-ilustrations.com)

Page 23: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 7

Dele in sklope, ki sestavljajo batni motor z notranjim zgorevanjem delimo na:

a) mirujoče, ki dajo motorju obliko in sluţijo gibljivim delom kot vodila in

leţišča. Sem spadajo:

- blok motorja ali posamezen valj,

- glava motorja,

- ročično ohišje,

- oljno korito,

- pokrovi,

- tesnila in

- vijačni alementi.

b) gibljive, h katerim prištevamo:

- ročični mehanizem, ki ga setavljajo:

- bat z batnimi obrčki in sornikom,

- ojnica in

- ročična gred z vztrajnikom.

- krmilni mehanizem, ki je sestavljen iz:

- odmične gredi s pogonom,

- dročnikov, drogov in ventilskih vzvodov in

- ventilov z vzmetmi in vodili.

c) opremo motorja, ki jo sestavljajo vse dodatne naprave, ki s svojim

delovanjem vplivajo na delovanje motorja. Pod opremo štejemo:

- naprave za dovod goriva, ustvarjanje zmesi in odvod izgorjenih plinov,

- napravo za mazanje,

- hladilni sistem in

- sistem vţiga.

Page 24: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 8

Napravo za dovod goriva iz gorivnega rezervoarja predstavljjo črpalka in gorivni

vodi. Gorljiva zmes bencina in zraka se ustvari s pomočjo uplinjača ali sistema

vbrizga goriva. Zmes se uvede v sesalni kolektor, ki jo pripelje do posameznih

valjev. Izpušni plini se odvajajo skozi izpušni kolektor in izpušno cev v zadnji del

avtomobila.

2.2 Delovanje štiritaktnega bencinskega motorja

Delovni proces poteka med stalno spremembo prostornine v valju motorja.

Spremembo prostornine izvede bat, ki potuje po valju od spodnje mrtve lege,

SML (ang.-bottom dead center- BDC), do zgornje mrtve lege, ZML ( ang. top

dead center- TDC), ter obratno. Razdaljo med eno in drugo mrtvo lego

imenujemo gib, ali hod bata, prostornino med legama pa delovna prostornina

valja.

Delovna prostornina motorja je seštevek delovnih prostornin posameznih valjev.

Enemu gibu bata pribliţno ustreza en takt ali faza motorja. Glede na število

gibov, ki jih opravi bat za en delovni proces, razlikujemo dvotaktne in štiritaktne

motorje. Pri dvotaktnih motorjih se deovni proces izvede v dveh gibih bata in

enem vrtljaju motorne gredi, pri štritaktnem pa v štirih gibih in dveh vrtljajih gredi.

Valj s spodnje strani hermetično zapira premični bat, z zgornje strani pa glava

motorja. Nepropustnost zagotavljajo batni obročki, ki potujejo skupaj z batom in

tesnijo ob steno valja, ter z zgornje strani ventili, ki tesno nasedejo na

pripadajoča sedišča v glavi. Zaradi gibanja bata po valju se spreminja

prostornina valja, hkrati pa se spreminjata tlak in temperatura plinov v valju. Pri

gibanju bata navzdol od ZML do SML se prostornina veča, tlak pa se zmanjšuje.

Če je v tej fazi sesalni ventil odprt, se bo zaradi podtlaka valj polnil s sveţo

zmesjo.

Page 25: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 9

Pri gibanju bata od SML do ZML se prostornina se pri tem zmanjšuje in tlak

narašča. Če je pri tem izpušni ventil odprt, se bo vsebina valja iztisnila iz motorja.

Sledi, da procese v valju reguliramo z ventili, zaradi česar morata biti ročični in

krmilni mehanizem v sinhroni medsebojni povezavi. Mehaniki temu pravijo, da

sta ta dva mehanizma “v fazi”.

2.2.1 Štiri taktni cikel

Teoretično traja vsaka faza ali delovni takt en gib bata. Za štiritaktno delovanje,

sestavljeno iz štirih faz, to pomeni štiri gibe: izmenično po dva od ZML do SML in

dva od SML do ZML. Motorna gred bo pri tem opravila dva obrata.

V resnici pa se faze ne ujemajo popolnoma z gibi batov, ampak so nekatere

daljše, druge pa krajše. To je potrebno zaradi kinematike plinov in mehanskih

mej hitrosti odpiranja ventilov, saj se le ti ne odprejo nenadno, ampak potrebujejo

določen čas, da doseţe popolno odprtje [4]. Razliko ustvarja krmilni mehanizem

s svojim predčasnim odpiranjem in zakasnelim zapiranjem ventilov. Sledi, da

traja delovni proces več kot štiri gibe bata, gred pa se v tem času zavrti za več

kot 720°.

Faze ali takti si v štiritaktnem bencinskem motorju sledijo po naslednjem vrstnem

redu (slika 2):

- sesalni takt ali polnitev,

- komprimiranje ali stiskanje,

- delovni tak, v katerem prie do vţiga zmesi in ekspanzije plinov,

- izpuh z izrivanjem zgorelih plinov.

Page 26: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 10

Slika 2: Delovni cikel štiritaktnega motorja (http://www.antonine-education.co.uk)

Sesanje

Ob premiku bata od ZML proti SML, se ustvari podtlak (od 0,8 do 0,9 bar), ki ob

odprtem sesalnem ventilu povzroči polnjenje valja z zmesjo zraka in goriva. Ko

doseţe bat konec svoje poti, to je SML, se sesanje konča in ventil se zapre.

V krmilnem diagramu (slika 3) vidimo, da takti niso identični z gibi bata.

Slika 3: Krmilni diagram štiritaktnega motorja

Page 27: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 11

Odpiranje sesalnega ventila se prične preden gre bat skozi ZML. V tem času se

zaključuje izpuh in izpušni ventil se zapira. Zapre se nekoliko po ZML, kar

pomeni, da sta krajši čas delno odprta oba ventila, tako izpušni kot sesalni, kar

imenujemo prekrivanje. Le-to pripomore k polnjenju valja na dva načina.

Iztekajoči izpušni plini ustvarjajo za seboj podtlak, ki pomaga pri začetnem

polnjenju valja. Zgoden začetek odpiranja sesalnega ventila zagotavlja tudi, da

bo ventil dovolj odprt, ko bo bat začne svojo pot navzdol.

Tudi zapiranje sesalnega ventila ni končano pri SML, temveč kasneje, ko se bat

ţe giblje proti ZML. Zakasnelo zapiranje ventila pripomore k polnitvi valja zaradi

vztrajnosti pritekajoče zmesi, saj so fazne spremembe pri motorjih z notranjim

zgorevanjem izredno hitre. Posamezna faza pri hitrosti vrtenja 3000 obr/min traja

le okrog stotinko sekunde, kar nakazuje na nezanemarljiv vpliv termodinamičnih

lastnostih zraka; vztrajnosti, stisljivosti in celo razširjanja valovanj, na polnjenje

valjev in delovanje motorja.

Delovanje motorja v sesalnem taktu lahko primerjamo z delovanjem zračne

črpalke in zanj podamo volumski izkoristek, to je razmerje med delovno

prostornino valja in volumnom zraka pri normalnem tlaku, ki je vstopil v valj:

enačba (2.1):

100V

V[%]

d

zV (2.1)

Vz označuje volumen vsesanega zraka, Vd pa delovno ali gibno prostornino valja.

Ker je za vstop zmesi goriva in zraka v motor na razpolago malo časa, se

pogosto, z namenom povečanja specifične moči motorja, za boljše polnjenje

uporablja kompresorski polnilnik nameščena pred sesalni kolektor. S tem skoraj

odpravimo padec moči ob voţnji na visokih nadmorskih višinah kjer je gostota

zraka niţja.

Page 28: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 12

Komprimiranje

Ko se sesalni ventil ob koncu sesalnega takta zapre, je bat ţe preko SML na poti

navzgor. Prostornina v valju se zmanjšuje in bat stiska (komprimira) zmes goriva

in zraka. Ko doseţe bat ZML, je vsa zmes ki je vstopila v valj skozi sesalni takt,

stisnjena v majhen prostor v glavi motorja, ki mu pravimo zgorevalna komora ali

kompresijski prostor. Prostornina komore je pri bencinskih motorjih nekje od 6 do

12 krat manjša od celotne prostornine valja. To razmerje prostornin imenujemo

statično kompresijsko razmerje motorja, katerega izračun podaja enačba (2.2)

c

cd

V

VV (2.2)

Vc označuje prostornino zgorevalne komore, Vd pa delovno ali gibno prostornino

valja.

Zaradi zmanjšanja prostornine se povečata tlak in temperatura zmesi. S

stiskanjem se molekule goriva in zraka zbliţajo, kar poveča vnetljivost in hitrost

zgorevanja, zato se s povečanjem kompresiskega razmerja poveča tlak pri

zgorevanju in s tem moč ter izkoristek motorja.

Velikost stiskanja oziroma kompresijskega razmerja ε je omejena. Odvisna je od

vrste goriva, saj zmes pri komprimiranju ne sme preseči določene temperature

saj drugače pride samovţiga zmesi in klenkanja motorja. Višina temperature in

tlaka samovţiga je odvisna od vrste goriva. Odpornost goriva na samovţig zarani

stiskanja označujemo z oktanskim številom. Z razvojem tehnologije so goriva

pridobivala na oktanskem številu in s tem omogočila izdelavo motorjev z višjim

mehanskim kompresijskim razmerjem. Sodobni motorji imajo tako kompresijska

razmerja okrog 10:1.

Konec stiskanja označuje vţig zmesi z iskro, ki jo odda električna svečka

nekoliko pred ZML bata.

Page 29: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 13

Ekspanzija –delo

Delovni takt se prične z vţigom komprimirane zmesi zraka in goriva. Točka vţiga

je postavljena pred ZML, zaradi časa ki je potreben za vţig zmesi v zgorevalnem

prostoru. Hitrost gorenja zmesi bencina in zraka je v pogojih, ki vladajo v komori

okvirno med 25 m/s in 30m/s. Ker ţelimo, da zmes zgori v območju ZML bata, ko

je prostornina najmanša, moramo hitrost gorenja upoštevati in sproţiti vţig

občutno prej.

Razliko v stopinjah zasuka motorne gredi med točko vţiga in ZML imenujemo

predvţig. Idealna točka vţiga se z obrati in polnitvijo motorja spreminja, zato

predvţig prilagajamo delovni točki motorja. Tako je za nizke obrate dovolj le

kakih 5°-8° predvţiga, pri visokih obratih in največji polnitvi pa 25°-35° ali več.

Na idealen kot predvţiga vplivajo tudi oblika komore in drugi dejavniki, zato se

krivulje predvţiga med motorji razlikujejo. Za proţenje iskre skrbi sistem vţiga, ki

glede na delovno točko motorja sprememija kot predvţiga. Mehanske sisteme

vţiga so zamenjali elektronski, zato je ve večina krmilnikov vţiga integrirana v

skupno enoto z krmilnikom vbrizga goriva.

Po vţigu nastane zgorevanje, ki se iz kompresijskega takta podaljša v

ekspanzijski takt. Zaradi predvţiga zgori večina zmesi takoj po ZML. Tlak pri

zgorevanu močno naraste in ustvari silo na bat, ki se giblje navzdol, s čimer

opravlja delo, ki se preko ojnice in ročične gredi prenese iz motorja.

Motor delo oddaja samo v delovnem taktu, medtem ko se za sesanje,

komprimiranje in kasnejši izpuh delo troši. Bat se giblje od ZML proti SML, pri

čemer se prostornina v valju povečuje. Zaradi povečanja prostornine padeta tudi

temperatura in tlak zgorelih plinov. Tlak izpušnih plinov je ob koncu delovnega

takta, ko se odpre izpušni ventil, le še 3 do 4 bare nad atmosferskim,

temperatura pa okoli 900°C.

Page 30: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 14

Izpuh

Izpušni ventil se odpre preden bat doseţe SML. To je potrebno zaradi več

razlogov. Poleg razbrementitve ročičnega mehanizma in zmanjšanja termične

obremenitve s tem povečamo razpolovţljiv čas za izpuh plinov. Ker je pritisk

zgorelih plinov še vedno občutno nad atmosferskim, dobimo močan tok dimnih

plinov ţe preden mora bat opravljati delo z izrivanjem le teh. Predčasno odprtje

tako zmanjša izgube zaradi izpodrivanja dimnih plinov [7].

Ob ZML je večina izpušnih plinov ţe izrinjenih. Ostaja majhna količina le-teh, ki

zaseda prostor zgorevalne komore. Ta ostanek plinov redči sveţo zmes, ki

prihaja z ţe odprtega sesalnega ventila in s tem manjša moč motorja. Ob

določenih dejavnikih nam uspe tudi to ostajajočo količino izpušnih plinov

odstraniti s podtlakom, ki se pojavi v izpušnem kanalu zaradi vztrajnosti

odtekajočih izpušnih plinov in zaradi valovnih pojavov znotraj izpušnega sistema.

Izpušni ventil se zapre za točko ZML in tako zaključi izpušni takt. Medtem se

sesanje in nov delovni cikel ţe ţačneta

Spremenljivo krmiljenje ventilov

Ker vztrajnost plinov igra večjo vlogo pri visoki vrtilni hitrosti motorja, ko so

posamezne faze časovno krajše, se z obrati spreminja idealni reţim krmiljenja, v

smislu točk odpiranja in zapiranja ventilov glede na poloţaj bata. Pri niţjih obratih

so bolj ugodi krajši časi odprtja ventilov in manjša prekrivanja, pri višjih pa daljši z

zapoznelim zaprtjem in daljša prekrivanja okrog ZML.

Iz tega sledijo kompromisi pri izbiri najugodnejših parametrov krmilja, saj motor

deluje skozi širok spekter vrtljajev. Taţavo delno odpravljajo sodobni sistemi

krmiljenja, ki prilagajajo čase odpiranja glede na trenutne vrtljaje in

obremenjenost motorja. Izvedbe sistemov spremenljivega krmiljenja ventilov se

med proizvajalci razlikujejo. Honda uporablja sisteme V-tech, VTI in VVTI.

Porsche imenuje svoj sistem VarioCam, BMW pa Valvetronic [5].

Page 31: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 15

2.2.2 Oprema motorja

Motor za svoje delovanje potrebuje vrsto sistemov in naprav, ki so navadno

nameščene v njegovi neposredni okolici ali so nanj pritrjene.

Dovod goriva

Za dovod goriva skrbi bencinska črpalka, ki črpa gorivo iz gorivnega rezervoarja.

Pri sistemih vbrizga goriva je to navadno električna črpalka potopnega (znotraj

rezervoarja) ali zunanjega tipa, medtem ko ima večina avtomobilov, opremljenih

z uplinjačem, mehansko črpalko nameščeno na motorju. Tlak dovoda se močno

razlikuje. Vbrizg goriva zahteva od 3 do 5 bar nadtlaka, medtem ko je za

uplinjaču tlak goriva niţji, le okrog 0,3 bar nad atmosferskim.

Od črpalke potuje gorivo po dovodu – cevi, do motorja, kjer je vod priključen na

uplinjač, ali v primeru sistema vbrizga, na regulator pritiska goriva (slika 4).

Slika 4: Sistem za dovod goriva pri elektronskem vbrizgu goriva

Regulator nadzoruje pritisk v gorivnem vodu, na katerega so pričvrščene gorivne

šobe. Višek goriva se, kadar gre za sistem s cirkulacijo, vrača po drugem vodu

nazaj v rezervoar. S stalno cirkulacijo goriva se odpravi segrevanje goriva v

motornem prostoru in s tem nevarnost njegovega uplinjanja.

Page 32: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 16

Gorivo je močno hlapljivo, zaradi česar se v rezervoarju nabere večja količina

lahkih oglikovodikov. Da se prepreči uhajanje hlapov v atmosfero, rezervoar

zapira pokrov z enosmernim ventilom, ki omogoča zraku vstop, preprečuje pa

uhajanje bencinskih hlapov na prosto. Izanačevanje nadtlaka v rezervoarju je

izvedeno preko oddušnika in cevi, ki vodi hlape v posebebno posodo z aktivnim

ogljem. Dno posode je zračeno v atmosfero, bencinske hlape iz rezervoarja pa

absorbirajo ogljene granule. Kadar motor deluje, se oglikovodikovi hlapi iz granul

sproščajo in so postopoma uvedeni v sesalni trakt preko ventila.

Mazanje motorja

Vsi sodobni avtomobilski motorji se podmazujejo tlačno, za kar skrbi oljna

črpalka, ki olje črpa iz oljnega korita in ga preko filtra dovaja v glavni oljni kanal.

Olje po manjših kanalih teče do gibljivih delov motorja in jih podmazuje.

Dovajanje olja pod pritiskom povzroči, da se le-to vrine med drsne površine

leţaja in s tem ustvarja t.i. mokro trenje, kar drastično zmanjšuje obrabo in

izgube.

Hlajenje motorja

Od celotne energije, ki jo daje zgorevanje zmesi v motorju, se je le kaka tretjina

pretvori v koristno delo. Ostale dve tretjini odpadea na toploto , ki jo iz motorja

odvedemo skozi izpušno cev in hladilno napravo.

Pri obratovanju motorja nastane v valju temperatura preko 2000°[5]. Močno

toplotno obremenjeni so bat, stene valja in glava motorja z ventili. Ti deli se

intenzivno hladijo sicer bi se motor pokvaril.

Naloga hlajenja je odvajanje odvečne toplote, kar prepreči njeno kopičenje in

ustvarja potrebno obratovalno temperaturo motorja. Poznamo zračno in vodno

hlajenje. Čeprav je v preteklosti več avtomobilskih proizvajalcev uporabljalo

zračno hlajenje (Volkswagen, Porsche, Škoda,..), so sedaj vsi avtomobili in

Page 33: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 17

večina ostalih vozil, oremljeni z vodnim sistemom hlajenja (slika 5), saj je prehod

toplote iz kovinskih delov v vodo dosti boljši kakor v zrak.

Slika 5: Vodno hlajenje (vir: www.automotivecoolingservices.co.uk)

Znotraj vodotesnega plašča, ki obdaja valj in glavo, kroţi hladilna tekočina;

navadno je to zmes vode in etilen glikola oz. snovi, ki preprečuje zmrzovanje

tekočine pri nizkih zunanjih temperaturah. Tekočina odvaja toploto s sten valja in

glave ter se pri tem segreva, zaradi česar se ji zmanša gostota kar jo dvigne v

zgornji del motorja. Od tam jo vodi cev do hladilnika, ki mu je zagotovljen

neposreden zračni tok. V hladilniku se voda ohlaja, gosti in spušča na njegovo

dno kjer je spet preko cevi speljana nazaj v motor. Za povečanje hladilnega

učinka je v tokokrog vključena vodna črpalka.

Za regulacijo temperature in hitro ogretje motorja na delovno temperaturo, okrog

90 °C skrbi termostat. Če se vozilo ne giblje z zadostno hitrostjo, je naravni

zračni tok skozi hladilnik premajhen za uspešno hlajenje, zato je za hladilnik

nameščen ventilator, ki se vklopi če temperatura hladilne tekočine preseţe

določeno mejo.

Poznamo odprte in zaprte hladilne sisteme. Pri zaprtih, ki so zaradi svojih

prednosti preteţno v uporabi, se s segrevanjem v hladilnem sistemu ustvari

nadtlak, ki zagotavlja, da tekočina ne zavre znotraj temperaturnih mej

Page 34: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 18

normalnega delovanja motorja. 150 kPa tlaka tako omogoča vrelišče okrog

120 °C.

Poleg osrednjega sistema hlajenja, ki skrbi za odvajanje odvečne toplote

proizvedene z zgorevanjem zmesi, poznamo še dodatne sisteme hlajenja

motornega ali menjalniškega olja in sisteme hlajenja vstopajočega zraka, kar

uporabljajo prisilno polnjenih motorji, saj pride z dvigom tlaka tudi do

nezaţelenega dviga temperature.

Dovod zraka

Motorja zahteva stalen dotok sveţega zraka. Potrebe po zraku se skozi območje

delovanja motorja močno spreminjajo. Zrak vstopa skozi zračni filter, ki

preprečuje vstop umazaniji in prašnim delcem in s tem ščiti motor pred pretirano

obrabo. Zajem zraka je nameščen tako, da v motor vstopa hladen zunanji zrak

saj je ta gostejši od segretega zraka pod motornim pokrovom.

V sesalni trakt bencinskega motorja z notranjim zgorevanjem je nameščena

dušilna loputa, s katero voznik preko stopalke za plin uravnava moč motorja. Pri

avtomobilih z uplinjačem je dušilna loputa vgrajena v sam uplinjač. Večina

osebnih avtomobilov ima centralno dušilno loputo s progresivnim delovanjem,

medtem ko je pri športnih avtomobilih moč najti posamezne dušilne lopute za

vsak valj posebej, kar omogoča večji maksimalni pretok in hitrejše odzive

motorja. Sistem dovoda zraka prikazuje slika 6.

Slika 6: Sesalni trakt bencinskega motorja

Page 35: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 19

Do posameznih valjev je zrak speljan preko sesalnih cevi ali sesalnega

kolektorja. Cevi so večinoma izdelane s postopkom litja iz aluminija ali posebne

plastične mase. Materijal mora imeti dobro toplotno prevodnost in temperaturno

obstojnost, oblika pa mora poskrbeti za enakomerno porazdelitev zraka med

posamezne valje. Gretje kolektorja je lahko izvedeno na več načinov, s

prehodom toplote iz glave motorja, s pretokom hladilne tekočine skozi plašč

kolektorja, z električnim grelcem ali z bliţino izpušnega kolektorja. Ogrete

sesalne cevi preprečujejo kondenzacijo goriva na stenah in s tem povezano

nepopolno zgorevanje. Sesalne cevi so pritrjene na glavo motorja, kjer zrak

nadaljuje svojo pot skozi sesalne kanale in mimo ventilov v valj.

Sistem dovoda zraka mora zagotavljast tesnenje, saj lahko v nasprotnem

primeru v motor vdira zrak mimo dušilne lopute, kar povzroča zvišanje vrtljajev v

prostem teku, ali vdor zraka mimo senzorja pretoka, kar povzroči nepravilno

izmero količine vsopajočega zraka in s tem nepravilno razmerje zmesi zrak-

gorivo.

Odvod izpušnih plinov

Izpušne pline, ki nastanejo pri zgorevanju, zberemo s pomočjo izpušnega

kolektorja, pritrjenega na glavo motorja. Zaradi močne termične obremenitve,

temperarura plinov je okvirno 900°C, je izpušni kolektor izdelan iz temperaturno

obstojnega materiala. Izpušni kolektor mora bit zatesnjen, saj predčasno

uhajanje izpušnih plinov povzroča hrup, če pa plini pridejo v notranjost vozila

lahko resno ogrozijo zdravje potnikov.

Motor povzroča med svojim delovanjem hrup. Še posebno glasen je izpuh in

zlahka presega vrednosti, ki so človeku potencijalno škodljive. Zato je uporaba

dušilnikov zvoka na vozilih, vključenih v cestni promet, obvezna. Poznamo dve

vrsti dušilnikov:

Page 36: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 20

- absorpcijske, kjer se zvočna energija v porozni negorljivi snovi, ki vpija zvok,

pretvori v toplotno. Ta vrsta dušilnikov spada med nizke filtre, saj so

učinkoviti pri frekvencah nad 500 Hz.

- reflekciske, ki so sestvljeni iz resonatorjev, torej iz komor in cevi, ki so

nameščene v vrsti (zaporedma) – nizkofrekvenčni filter, ali ob strani

(odcepno) - visokofrekvenčni filter .

Dušilniki zvoka so lahko izdelani tudi kot kombinacija absorpcijskega in

refleksnega dušilnika. Zaradi velikosti, montaţe, dušilnih lasnosti in pretočnosti v

današnjih avtomobilih najpogosteje najdemo izpušni sisteme z dvemi ali celo

tremi posameznimi dušilniki.

Dušenje zvoka je nujno, vendar se pri tem v sistemu ustvarja nadtlak, ki

zmanjšuje moč motorja. Izpušni sistem z dušilniki vedno predstavlja določen

kompromis med glasnostjo in negativnim vplivom na moč motorja. Prav tako je

vpliv dolţin in presekov cevi na polnjenje valjev znaten, zato je načtovanje

najugodnejšega izpušnega sistema zapleten postopek.

Izpušni sitem vključuje tudi naprave za zmanjševanje emisij škodljivih izpušnih

plinov; predvsem oglikovega dioksida (CO), nazgorjenih oglikovodikov (HC) in

dušikovih oksidov (NOx). Glavno vlogo pri zmanjševanju škodljivih emisij ima

izpušni katalizator (slika 7).

Page 37: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 21

Slika 7: Izpušni sistem s katalizatorjem (vir: http://hdabob.com)

Ta ima valjasto ali ovalno obliko in je nameščen za izpušnim kolektorjem pred

prvim dušilnikom zvoka. V notranjosti katalizatorja je monolitno keramično

satovje na katero je nanešena plast ţlahtne kovine (platina, paladium), katera pri

zniţani temperaturi sproţi oksidacijo CO in HC ter hkratno redukcijo NOx , s

čimer drastično zniţuje izpuste teh škodljivih plinov v okolje.

Za pravilno in trajno delovanje katalizatorja mora bit izpolnjenih več pogojev.

Katalizator mora biti ogret na delovno temperaturo nad 300 °C, hkrati pa ne sme

preseči temperature 1000 °C za dalj časa, saj se njegove katalitične sposobnosti

nepopravljivo zmanjšajo. Prekoračitev temperatur preprečimo z natančno

regulacijo zmesi zrak-gorivo, kar zagotavlja tudi zadostno razmerje kisika v

izpušnih plinih, ki je pogoj za pravilno delovanje modernih tripotnih katalizatorjev.

Senzor koncentracije kisika (λ-sonda) je nameščen pred katalizatorjem. Ta

pošilja informacijo o vsebnosti kisika v izpušnih plinih krmilniku vbrizga, ki po

potrebi prilagodi količino vbrizganega goriva. Zaradi natančne in hitre regulacije,

Page 38: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 22

ki jo zahteva moderni tripotni katalizator, je postala uporaba elektronskega

sistema vbrizga nujna [2]. Poleg katalizatorja se za zmanjševanje škodljivih

izpustov koristi recirkulacija izpušnih plinov (ang. exhaust gas recirculation-

EGR), kjer deleţ izpušnih plinov uvajamo v sesalni trakt motorja.

Sistem vžiga

Pri motorjih sistema Otto vţge segreto in stisnjeno zmes goriva in zraka

električna iskra, ki preskoči med elektrodama vţigalne svečke. Vţig se zgodi ob

točno določeni poziciji bata, zato je sisem vţiga tako kakor krmilni mehanizem

ventilov, v sinhronizirani povezavi z ročično gredjo.

Vţigalna naprava mora zagotoviti iskro, ki je dovolj močna, da hitro vţge zmes

goriva in zraka v pogojih, ki vladajo v zgorevalnem prostoru. Tlak, temperatura in

kvaliteta zmesi vplivajo na vţigalno napetost, ki je pri konvencionalnih sistemih

vţiga v rangu od 20 kV do 30 kV z okvirno energijo 40 mJ [5].

Vţigalna tuljava pretvori nizko enosmerno pulzirajočo napetost v pulzirajočo

visoko napetost, ki po visokonapetostnih kablih potuje, do vţigalne svečke v glavi

motorja. Pri starejših bateriskih sistemih vţiga je bila vţigalna tuljava samo ena.

Iskra je bila do posameznih svečk pripeljana s pomočjo dodelilnika z rotorjem.

Slednji se je postopoma upuščal v prid uporabe vţigalnih tuljav z več odcepi ali

še bolje s posamičnimi vţigalnimi tuljavami, ki so nameščene neposredno na

vţigalno svečko (ang. coil on plug). Slednje omogočajo tudi višje vţigalne

napetosti in energije iskre, povzročajo manj elektromagnetnih motenj in

odpravljajo dolgo visokonapetostno povezavo, kar poveča zanesljivost delovanja.

Električno shemo baterijskega vţiga prikazuje slika 8.

Page 39: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 23

Slika 8: Baterijski vţig (vir: [6] )

Primarno navitje vţigalne tuljave je na eni strani priključeno na pozitivno sponko

avtomobilskega akumulatorja, druga stran navitja pa je preko prekinjevalnika, ki

je vgrajen v dodelilnik, povezana na električno maso. Kadar je prekinjevalnik

sklenjen teče skozi primarno navitje enosmerni tok, ki v jedru tuljave ustvari

magnetno polje.

V trernutku vţiga prekinjevalnik prekine povezavo, kar povzroči zmanjšanje

magnetnega polja v jedru tuljave. V navitjih se ob tem inducira napetost, ki je

sorazmerna številu ovojev navitja in hitrosti spremembe magnetnega polja v

jedru tuljave. V sekundarnem navitju je ta napetost dovolj visoka, da povzroči

preskok iskre na svečkinih elektrodah, kar vţge zmes v valju. Vzporedno z

prekinjevalnikom je vezan kondenzator, ki preprečuje iskrenje na

prekinjevalčevih kontaktih.

Uporaba prekinjevalnika omejuje velikost toka skozi primarno navitje tuljave in s

tem največjo energijo in napetost iskre. Poleg tega so elektrode prekinjevalnika

podvrţene močni obrabi zaradi toka, ki teče skoznje in zahtevajo pogosto

servisiranje. Izboljšavo predstavlja tranzistorski vţig, kjer je prekinjevalnik

Page 40: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 24

zamenjan s tranzistorskim stikalom, odmikač v obliki grebenaste gredi, ki

kontakte sklapljala v trenutkih vţiga, pa je zamenjan z induktivnim, halovim ali

redkeje z optičnim dajalnikom pulzov. Ta v točki vţiga pošlje signal

tranzistorskemu vezju, ki prekine tok skozi navitje vţigalne tuljave.

Predvţig se spreminja predvsem v odvisnosti od hitrost vrtenja in obremenitve

motorja. Sprva je bila regulacija izvedena mehansko s centrifugalnim in

podtlačnim regulatorjem, ki sta prav tako vgrajena v dodelilnik. Mehanska

regulacija predvţiga se je upustila v prid elektronskemu krmiljenju, ki omogoča

večjo natančnost, ponovljivost in poljubne oblike krivulj predvţiga. Dajalnike

pulzov znotraj dodelilnikov so zamenjali induktivni senzorji, ki berejo pozicijo

direktno z gredi motorja, kar odpravlja mala nihanja točke vţiga, ki so posledica

zračnosti v pogonu dodelilnikov.

Avtomobilski električni sistem

V vozilu je mnoţica električnih naprav. Sistem vţiga potrebuje električno energijo

za svoje delovanje, motor zaţenemo z električnim zaganjačem. Velik porabnik

električne energije je tudi elektronski sistem vbrizga goriva s krmilnim

računalnikom, električno črpalko in elekromagnetnimi šobami. Poleg sistemov, ki

jih potrebuje motor za svoje delovanje, je tu še mnoţica ostalih porabnikov

električne energije. Osvetlitev, naprave za aktivno in pasivno varnost ter naprave

za udobje potnikov, so vse večje ali manjše porabnice električne energije, pri

čemer se potrebe z modernizacijo vozil še povečujejo.

Vir električne energije je akumulator, ki porabnikop dovaja enosmerno napetostjo

z nazivno vrednostjo 6 V, 12 V ali 24 V. V avtomobilih večinoma najdemo 12V

sisteme v teţjih transportnih vozilih pa 24 V oz. deljene 12 V in 24 V sisteme. Da

se akumulator ne izprazni skrbi generator napetosti, v obliki alternatorja ali

dinama, ki ga najdemo v starejših avtomobilih. Generator ţene motorna gred,

polnilna napetost pa je regulirana na vrednost, ki je nekoliko višja od napetosti

akumulatorja, kar zagotavlja konstantno polnjenje.

Page 41: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 25

3 Priprava zmesi zraka in goriva

Motorji z notranjim zgorevanjem proizvajajo moč z zgorevanjem zmesi goriva in

zraka. Ker je gorivo tekoče, ga je potrebno predhodno upliniti in mu primešati

pravo količino kisika. V bencinskih motorjih ima razmerje zraka in goriva izjemen

vpliv na kvaliteto zgorevanja, s tem pa na izkoristek in splošno delovanje motorja.

3.1 Teoretično mešalno razmerje in faktor λ

Teoretično mešalno razmerje (ang.: stoichometric air-fuel ratio) imenujemo

masno razmerje zraka in goriva, ki teoretično omogoči popolno zgorevanje

določenega goriva. Teoretično idealno mešalno razmerje se razlikuje glede na

vrsto goriva, kar podaja tabela 1.

Gorivo Teoretično

mešalno

razmerje

Bencin 14,7:1

Zem. plin 17,3:1

Propan 15,7:1

Etanol 9:1

Metanol 6,5:1

Vodik 34,3:1

Dizel 15:1

[10]

Za bencin je razmerje enako 14,7:1, saj za popolno zgorevanje 1 kg bencina

potrebujemo 14,7 kg zraka. Če razmerje izrazimo volumsko to znaša okvirno

10000 litrov zraka za vsak liter bencina.

Page 42: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 26

S faktorjem λ (lambda) označujemo razmerje med zrakom, ki vstopa v motor in

zrakom, ki je teoretično potreben za popolno zgorevanje uvedenega goriva.

G

Z

m

m

7,14 (3.1)

Kadar je λ = 1, je dovedena zmes v teoretično idealnem razmerju. Če je v zmesi

več goriva kot ga določa teoretično mešalno razmerje, pravimo da je zmes

bogata (λ ≤ 1) , če je goriva manj, je zmes revna (λ ≥ 1).

3.1.1 Vpliv zmesi

Oglejmo si, kakšen vpliv ima razmerja zraka in goriva na moč, specifično porabo

goriva in izpuste škodljivih plinov [1].

Slika 9: Vpliv zmesi na moč in specifično porabo

Page 43: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 27

Slika 10: Tvorba škodljivih izpušnih plinov glede na vrednost faktorja λ

Motor proizvede največjo moč, kadar je zmes nekoliko bogata (λ = 0,95 – 0,85),

najboljši izkoristek pa doseţe pri 10 % do 20 % pribitku zraka (λ = 1,1 -1,2).

Tudi vpliv na emisije škodljivih plinov je znaten. Če je v zmesi višek goriva, se bo

v izpuhu povečala količina nezgorelih oglikovodikov (HC). Zaradi pomankanja

kisika bo tudi nastanek oglikovega monoksida (CO) večji kot sicer. Pri dobrem

zgorevanju obe vrednosti padeta, vendar je takrat zaradi visokih temperatur

zgorevanja tvorba dušikovih oksidov (NOx) najvišja. Z grafa lahko razberemo, da

je za zmanjšanje skupne količina škodljivih emisij najugodnejša zmes s pribitkom

zraka, kar so s pridom izkoriščali za zmanjševanje škodljivih emisij avtomobilov

pred uvedbo katalizatorja [2].

V tripotnem katalizatorju se kisik, ki je vezan z dušikom, sprosti (redukcija) in

oksidira molekule oglikovega monoksida ter nezgorelih oglikovodikov. Zato so ob

uporabi katalizatorja, emisije škodljivih plinov najniţje, kadar je zmes v

teoretičnem idealnem razmerju ali λ = 1. Poleg tega je za ohranjanje katalitičnih

sposobnosti nujno, da zmes od teoretičnega razmerja ne odstopa preveč ali za

dalj časa. V nasprotnem primeru bi, zaradi povečane količine nezgorelih

Page 44: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 28

oglikovodikov v izpušnih plinih, temperatura znotraj katalizatorja narasla kar bi

trajno škodovalo njegovim katalitičnim sposobnostim.

Da je zgorevanje optimalno ne zadostuje le pravo razmerje reagentov, ampak

tudi, da je zmes kar se da homogena, kar je pogojeno tudi z dobrim uplinjanjem

goriva. Gorivo vstopa v zračni tok v obliki kapljic; manjše kot so le-te hitreje in

laţje se bo gorivo uplinilo.

3.1.2 Mešalno razmerje v različnih območjih delovanja motorja

Stopalka za plin je povezana z dušilno loputo, ki uravnava pretok vstopajočega

zraka in s tem moč motorja. Masni tok zraka izdatno varira s spremembo hitrosti

vrtenja in obremenitvijo motorja, zato mora tudi pretok goriva slediti tem

spremembam, če hoče ohraniti ţeleno razmerje med zrakom in bencinom. To

prilagajanje količine dodanega goriva vstopajočemu zraku je osnovna naloga

sistema za distribucijo goriva.

Ker mešalno razmerje vpliva na moč in izkoristek, je odstopanje od teoretično

idealnega razmerja v določenih reţimih deovanja motorja zaţeleno. Oglejmo si

kdaj in zakaj je temu tako.

Zagon in segrevanje motorja na delovno temperaturo

Kadar je ob zagonu motor hladen, se začetna zmes zraka in bencina na svoji poti

osiromaši. Gorivo, ki vstopa v zračni tok v manjših ali večjih kapljicah, se pri niţjih

temperaturah počasneje uplinja. Poleg tega je ob hladnem motorju kondenzacija

goriva na stenah sesalnega trakta povečana. Gorivo se odlaga na hladne stene

sesalnega kolektorja, vsisnega kanala, ter na stene valja in zgorevalne komore.

Page 45: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 29

Osiromašena zmes se teţje vţge, kar povzroča teţave pri zagonu motorja. Da se

to prepreči, mora imeti sistem za distribucijo goriva moţnost obogatitve zmesi ob

hladnem vţigu.

Slabše uplinjanje in povečano kondenziranje goriva na stenah sesalnega trakta

traja vse dokler se motor ne segreje na zadostno temperaturo. Dober sistem za

distribucijo goriva zato v tem času dovaja obogateno zmes in tako kompenzira

osiromašenje zmesi, ki je vzrok moţnih zastojev in slabega pospeševanja

hladnega motorja.

Prosti tek in nizka obremenitev

Kadar motor doseţe delovno temperaturo morajo sistemi za distribucijo goriva, ki

dovajajo gorivo v sesalni kanal, poskrbeti, da je zmes v teoretično idealnem

mešalnem razmerju.

Moderni sistemi direktnega vbrizga v teh primerih močno zmanšajo količino

vbrizganega goriva, kar občutno zmanjša porabo. Ţal je to moţno le pri

direktnem vbrizgu goriva v valj, saj lahko le pri tem načinu vbrizga doseţemo

plastno razporeditev goriva znotraj zgorevalnega prostora (ang.: stratified

charge). Vţig je še vedno zanesljiv, kljub temu, da je skupna količina goriva

močno zmanjšana.

Polna obremenitev

Pri polni obremenitvi so pri klasičnem sistemu distribucije goriva in pri sistemu z

direktnim vbrizgom pogoji znotraj zgorevalne komore v grobem enaki. Ker pri

polni obremenitvi zahtevamo od motorja predvsem to, da odda največjo moţno

moč, je ţelena tudi obogatitev zmesi.

Pospeševanje in pojemanje

Kadar se zmes tvori v sesalnem traktu, je uplinjanje goriva močno odvisno tudi

samega tlaka znotraj sesalnih cevi. V končnem delu vsisnega kanala (v bliţini

Page 46: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 30

ventilov) se med delovanjem motorja ustvari tanka plast goriva, ta se drţi sten

sesalnega kanala, njena debelina pa je odvisna od tlaka v cevi.

Nabrano gorivo se izloča iz dotekajoče zmesi, oziroma v njo oddaja preseţek

goriva, zato ob spremembi tlaka v sesalni cevi, ki je posledica spremembe v

odprtju dušilne lopute, pride do vpliva na razmerje zraka in goriva v zmesi.

Ob prehodnih pojavih, kot sta pospeševanje in pojemanje, je zaţeljeno, da

sistem za distribucijo te vplive upošteva in mešalno razmerje prilagodi. Ob

pospeševanju tlak v sesalni cevi naraste in film se odebeli, kar povzroči

osiromašenje zmesi. Da to prepreči in dodatno obogati zmes v času, ko je

potrebna maksimalna moč, sistem za distribucijo goriva ob pospeševanju dovaja

obogateno zmes. Obogatitev se postopoma zmanjšuje dokler se debelina

gorivne plasti ne prilagodi novim tlačnim razmeram. Obratno je pri odvzemu

plina. V tem primeru je priporočljivo, da sistem za distribucijo goriva, dokler traja

prehodni pojav, dovaja nekoliko osiromašeno zmes.

Zaviranje z motorjem

Ob zaviranju vozila z motorjem, v primerih kot je voţnja po klancu navzdol, se pri

modernih sistemih vbrizga dotok goriva prekine. To omogoča določen prihranek

goriva in ščiti katalizator pred pregretjem, zaradi nezgorelih oglikovodikov, ki so

produkt nepopolnega zgorevanja.

Če povzamemo, je naloga sistema za distribucijo goriva, da vstopajočemu zraku

primeša gorivo v ţelenem mešalnem razmerju. Večinoma je to razmerje blizu

teoretičnemu, vendar je v prehodnih pojavih odstopanje v prid moči, porabi, ali

drugemu kriteriju zaţeleno.

Za bencinske motorje poznamo dva osnovna tipa sistemov distribucije goriva, ki

tvorijo zmes v sesalnem traktu motorja. To so sistemi z uplinjačem in sistemi

Page 47: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 31

vbrizga goriva. Moderne sisteme z direktnim vbrigom bencina, kjer se zmes tvori

v delovnem prostoru motorja, srečamo v bencinskih motorjih zadnje generacije.

3.2 Uplinjač

Uplinjač vse od rojstva Ottovega motorja skrbi za tvorbo vnetljive zmesi zraka in

goriva. Osnovni princip delovanja se je spreminjal vse do pojava Maybachovega

uplinjača z razpršilno šobo in difuzorjem [1]. Ta način razpršitve goriva se je

izkazal za najbolj uspešnega in se je nadalje razvil v razne tipe in oblike

uplinjačev.

Slika 11: Zgradba uplinjača (vir: www.shoptalkforums.com)

Uplinjači delujejo po Venturijevem principu. Ta pravi, da s povečanjem pretoka,

tlak v zračnem toku pade. Zoţitev - difuzor v grlu uplinjača povzroči podtlak, ki

črpa gorivo iz plovčeve komore. Gorivo teče skozi glavno šobo in skozi njeno

ustje, ki je nameščeno na najoţjem delu difuzorja, vstopa v zračni tok v obliki

drobnih kapljic.

Page 48: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 32

Gorivo se popolnoma uplini šele v sesalni cevi pod vplivom toplote in zniţanega

tlaka. Povečanje zračnega pretoka poveča podtlak v difuzorju, kar poveča pretok

goriva. Tako uplinjač poskrbi za ohranjanje mešalnega razmerja, ki ga v grobem

določa glavna šoba pri spremembi pretoka zraka.

Sprememba v zračnem pretoku je tako velika, da sama odvisnost med pretokom

zraka skozi difuzor in pretokom goriva skozi glavno šobo ne more obdrţati

enakega mešalnega razmerja skozi celotno območje delovanja motorja. Zato je

poleg glavne šobe najti v uplinjačih tudi dodatne podsestave, ki vplivajo na zmes.

Poleg glavne šobe, je tako na večini uplinjačev moţna menjava več ostalih delov,

ki vplivajo na njegovo delovanje v različnih reţimih delovanja motorja. Izravnalna

šoba, mešalna cev, šoba prostega teka in premer difuzorja vse vplivajo na

končno karaktristiko uplinjača. Tudi drugače zasnovani uplinjači, recimo uplinjači

z zasunom in šobno iglo, imajo moţnost prilagajanja mešalnega razmerja.

Večina uplinjačev ima tudi napravo za obogatitev zmesi med pospeševanjem in

napravo za obogatitev pri hladnem zagonu motorja.

Nastavitev uplinjača je moţna po območjih, večioma treh, ki se med seboj

nekoliko prekrivajo. Čeprav je natančnost prilagoditve uplinjača na karakteristiko

motorja omejena, je v preteklosti, ko so bile zahteve po nizkih emisijah in dobrem

izkoristku manjše, zadostovala. Uplinjači so dolga leta dobro sluţili svojemu

namenu.

Velika teţava uplinjača je prilagajanje na spremembe v gostoti zraka, ki

nastopajo zaradi temperature in zračnega pritiska. Še posebno se teţave

pojavijo pri voţnji na velikin nadmorskih višinah, kjer je zrak redkejši in uplinjač

posledično zalaga motor s prebogato zmesjo. Pomanjkljivost uplinjača je tudi

teţavnost izvedbe povratnozančne regulacije na podlagi vsebnosti kisika v

izpušnih plinih. Klasičen uplinjač je zato nezmoţen obdrţati zmes v ozkem

območju okrog teoretično idealnega mešalnega razmerja, ki ga zahtevajo

Page 49: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 33

katalizatorji. Nekatere teţave rešijo kompleksni elektronski uplinjači, vendar jih

obilica komponent dela nezanesljive in drage za vzdrţevanje.

3.3 Sistemi vbrizga bencina

Vbrizg goriva ima številne prednosti pred uplinjači, zato so z napredkom in

pocenitvijo sistemi vbrizga uplinjač skoraj popolnoma izpodrinili.

3.3.1 Zgodovinski razvoj

Prvi sistem vbrizga goriva je za motor z ţarilno glavo razvil H. A. Stuart. Kasneje

je Robert Bosch sistem izpopolnil in adaptiral za uporabo na dizelskem motorju z

notranjim zgorevanjem.

Prvi sistemi vbrizga bencinskih motorjev so bili prilagojeni dizelski sistemi. V

osebnem avtomobilu se je tak sistem pojavil leta 1952. To je bil mehanski sistem

z direktnim vbrizgom v valj. Kasneje se je direktni vbrizg opustil v prid vbrizgu v

sesalno cev [11].

Glavni element mehanskega sistema vbrizga je bila visokotlačna črpalka, gnana

z motorne gredi. Vbrizg je bil sinhroniziran z motorjem in je dovajal en odmerjen

vbrizg na cikel, za vsak valj.

Prednosti sistema sta bili drobnejša razpršitev goriva in boljša nastavljivost, kar

se je kazalo v večji moči in boljšem izkoristku. Naprava je bila zaradi zapletenosti

draga in je zahtevala redno vzdrţevanje. Sistem se tako ni uveljavil kot resen

konkurent uplinjaču, kar se tiče uporabe v osebnih avtomobilih, ampak se je

uspešno uporabljal v avtomobilskem motošportu.

Page 50: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 34

Leta 1956 je Bendix predstavil prvi komercijalni elektronski sistem vbrizga

imenovan Elektrojector. Na trgu se je pojavil leta 1958 v nekaterih Chryslerjevih

modelih, vendar je zaradi teţav in nezanesljivosti bil kasneje umaknjen iz

uporabe. Pravice za patent Elektrojectorja je odkupil nemški prizvajalec Bosch in

sistem dalje izpopolnjeval.

Leta 1967 se je na trţišču pojavil prvi avtomobil, opremljen z elektronskim

sistemom vbrizga proizvajalca Bosch. Sistem je imel elektronski krmilnik,

elektromagnetne brizgalne šobe, glavni merilnik obremenitve motorja, pa je bil

senzor pritiska zraka v sesalni cevi, zaradi česar se je imanoval D-Jetronic.

Robert Bosch (1861 – 1942) in kasnejša druţba Robert Bosch GmbH sta bila od

samih začetkov avtomobilizma vodilna v razvoju raznih avtomobilskih

podsistemov. Tu predvsem izpostaviljamo Boscheve sisteme vţiga in sisteme za

vbrizg goriva, katerih nenehen razvoj je pomembno prispeval k razvoju

bencinskega motorja, do današnja stopnje.

Večina evropskih avtomobilov je opremljena prav z Boschevimi sistemi vbrizga

goriva, vţigom ali kombinacijo obojega. Tudi velika večina ostalih sistemov

krmiljenja, ki so vgrajeni v serijske avtomobile širom sveta, bazira na Boschevi

tehnologiji.

3.3.2 Boschevi sistemi vbrizga

Ker je bil proizvajalec Bosch od začetka vodilni v razvoju sistemov vbrizga, nam

kronološki pregled nekaterih Boscevih sistemov poda dobro predstavo o poteku

razvoja na tem področju.

Page 51: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 35

Sistemi s kontinuranim vbrizgom

To druţino sistemov vbrizga goriva so pri Boschu razvijali vzporedno z

elektronskimi sistemi vbrizga. Prvi kontinuirani sistemi vbrizga so bli popolnoma

mehansko-hidravlični brez elektronskih komponent, kasnejše izvedbe pa so bile

izbolšane z elektronsko regulacijo zmesi.

K-Jetronic se je na trgu pojavil leta 1973. Srce sistema je dodelilnik za gorivo z

merilno loputo. Kadar se pretok zraka poveča, se loputa v stoţčastem ohišju

dvigne, kar poveča pretok goriva do šob, ki gorivo vbrizgavajo neprekinjeno, iz

česar tudi izvira poimenovanje. Gibanju lopute nasprotuje gorivo pod pritiskom, ki

je reguliran glede na delovno območje motorja. Kontrolni pritisk uravnava

regulator glede na temperaturo motorja. Če je motor mrzel je kontrolni pritisk

zmanjšan, merilna loputa se za določenem pretok zraka dvigne višje kot sicer in

sistem dovaja obogateno zmes.

Leta 1976 so sistem nadgradili z λ-sondo in elektronskim krmilnikom, ki je s

pomočjo elektromagnetnega ventila moduliral kontrolni pritisk. S tem je K-

Jetronic postal prvi sistem vbrizga s povratnozančno regulacijo zmesi in je s tem

omogočal uporabo tripotnega katalizatorja.

Neslednjo stopnjo v razvoju kontinuiranih sistemov vbrizga je predstavljal KE-

Jetronic. Od predhodnika se loči po elektronski regulaciji zmesi, z

elektrohidravličnim aktuatorjem na dodelilniku goriva. Naloga osnovnega

spreminjanja količine vbrizganega goriva ostaja v domeni mehanskega merilnika

pretoka zraka, medtem ko je regulacija zmesi glede na razne reţime delovanja

motorja (vţig, ogrevanje na delovno temperaturo, pospeševanje,...) in informacijo

iz λ-sonde prepuščena elektronskemu krmilniku. Ta dobiva podatke o motorju iz

senzorjev, ki so enaki senzorjem, ki se uporabljajo v Boschevih elektronskih

sistemih vbrizga.

Page 52: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 36

Sistem je zgrajen tako, da je sposoben osnovnega krmiljenja vbrizga, kljub

popolni odpovedi elektronskega dela sistema. Zaradi tega je sistem zelo

zanesljiv in so z njim opremljali avtomobile višjega cenovnega razreda.

Z napredkom elektronskih sistemov vbrizga, ki so postali cenejši, bolj prilagodljivi

in so omogočali boljši nadzor nad zmesjo, je uporaba mehanskohidravlični

sistemov zamrla.

Elektronski sistemi s pulznim vbrizgom

D-Jetronic

Je bil prvi elektronsko krmiljen sistem vbrizga, ki ga je na trg poslal Bosch.

Večtočkovni vbrizg se vrši s pomočjo elektromagnetnih vbrizgalnih šob, ki gorivo

vbrizgavajo prekinjajoče. Pritisk goriva v dovodu je konstanten, zato je pretok

skozi šobe odvisen le od časa odprtja ektromagnetnega ventila znotraj vbrizgalne

šobe.

Namenski senzorja pritiska pretvori spremembo pritiska v sesalnem kolektorju v

sprembo induktivnosti, ki vpliva na dolţino pulza vbrizga, preko elektronskega

vezja znotraj krmilnika.

Posamezen pulz vbrizga sproţi signal iz sistema vţiga. Tako se pogostost pulzov

veča z naraščanjem obratov motorja, njihova dolţina pa z večanjem tlaka v

kolektorju oziroma obremenitvijo. S tem je zagotovljena osnovna odvisnost med

pretokom zraka in količino vbrizganega goriva.

Korekcijo osnovne dolţine pulza, ki vpliva na mešalno razmerje, določi

elektronski krmilnik na podlagi podatkov iz senzorjev nameščenih na motorju.

Senzorji priskrbijo informacijo o temperaturi vstopajočega zraka, poziciji dušilne

Page 53: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 37

lopute in temperaturi motorja. Tako se glede na območje delovanja motorja (vţig,

segrevanje, pospeševanje,...) določi ţeleno mešalno razmerje.

Za kompenzacijo sprememb v zračnem tlaku ima senzor pritiska vgrajeno

brezzračno kapsulo. Dimenziska sprememba kapsule, ki nastane ob spremembi

zunanjega zračnega tlaka, vpliva na izhodno vrednost senzorja pritiska.

L-Jetronic

Naslednji elektronski sistem vbrizga, ki ga je razvil Bosch je bil L–Jetronic.

Pomembno spremembo predstavlja senzor volumskega pretoka zraka. Ta

elektronskemu krmilniku pošlje informacijo o količini vstopajočega zraka. Z

upoštevanjem temperaturnih in tlačnih vplivov na specifično gostoto, krmilnik iz

volumskega pretoka preračuna masni pretok vstopajočega zraka ter iz tega,

količino goriva, ki bo tvorila ţeleno mešalno razmerje.

Ker je meritev pretoka zraka direktna, se sistem avtomatsko prilagodi

spremembam volumetričnega izkoristka motorja, ki so bodisi posledica obrabe,

ogljenih oblog, sprememb v krmiljenju ventilov ali predelav.

Drugi senzorji beleţijo pozicijo dušilne lopute, vrtilno hirost motorja, temperaturo

zraka in motorja, ter zunanji zračni tlak. Na podlagi pridobljenih informacij

elektronski krmilnik določa potrebno trajanje pulza vbrizga. Pogostost pulzov je,

kot pri predhodniku, vezana na hitrost vrtenja motorja.

L-Jetronic je, kakor predhodni boschevi sistemi vbrizga, opremljen z ventilom za

dodatni zrak, ki glede na temperaturo motorja in pretečen čas od trenutka vţiga

poveča hitrost prostega teka pri hladnem motorju.

Ta sistem vbrizga je ostal dolgo v uporabi in doţivel nadgradnje tako

elektronskega krmilnika kot uporabo dotatnih senzorjev, ki so omogočali nove

funkcije. Med drugim je bila dodana zaprtozančna regulacija s pomočjo λ-sonde

Page 54: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 38

in recirkulacija izpušnih plinov, kar je omogočalo niţanje količine izpustov

škodljivih plinov.

LH-Jetronic

Leta 1982 je Bosch predstavu novo izpeljanko elektronskega sistema vbrizga.

Od predhodnika se razlikuje v uvedbi senzorja masnega pretoka, kot zamenjavo

za senzor volumskega pretoka zraka. Novost je tudi pulznoširinsko krmiljen ventil

prostega teka.

Ker senzor obremenitve motorja meri masni pretok, je s tem ţe v osnovi

zagotovljeno prilagajanje na spremembe v gostoti zraka zaradi tlaka in

temperature.

M-Motronic

Novost tega sistema je elektronska krmilna enota opremljena z mikrokrmilnikom.

Analogni signali senzorjev se pretvorijo v digitalne vrednosti s pomočjo analogno

digitalnega pretvornika in se vodijo do mikrokrmilnika, kjer teče krmilni algoritem.

Izhodi mikrokrmilnika se ojačajo v močnostni izhodnji stopnji, ki krmili razne

elektromehanske aktuatorje.

Uporaba mikrokrmilnika je omogočila realizacijo novih krmilnih funkcij in

enostavnejšo zdruţitev sistema vbrizga in sistema vţiga v skupni sistem

krmiljenja motorja. Sistem se je postopoma nadgrajeval in posodabljal, do

sodobnega sistema sekvenčnega večtočkovnega vbrizga z elektronsko kontrolo

navora (ME-Motronic) in sistema direktnega vbrizga bencina (MED-Motronic).

Mono-Jetronic

Je elektronsko krmiljen enotočkovni sistem vbrizga. Glavna komponenta sistema

je centralna enota vbrizga, ki je, podobno kakor enojni uplinjač, pritrjena na vrh

sesalnega kolektorja. Zmes se med posamezne valje razporedi s pomočjo

sesalnega kolektorja.

Page 55: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 39

Podatek o pretoku zraka se izračuna na podlagi poznane karakteristike

volumetričnega izkoristka motorja in informacije o kotu odprtja dušilne lopute in

hitrosti vrtenja. Ostali senzorji merijo temperaturo zraka in hladilne tekočine,

vsebnost kisika v izpušnih plinih (λ-sonda), ter pozicijo avtomatskega menjalnika

in klimatske naprave, če spadata v opremo vozila.

Tudi ta sistem vbrizga uporablja mikrokrmilnik, kar poenostavi prilagoditev

delovanja različnim aplikacijam in implementacijo novih funkcij. Sistem je bil

razvit kot cenejša alternativa večtočkovnim sistemom vbrizga, kar je omogočilo

uvedbo elektronskega vbrizga v avtomobilih niţjega cenovnega razreda.

Sistemi direktnega vbrizga bencina

Prvi sistemi vbrizga na bencinskih motorjih so bili mehanski sistemi direktnega

vbrizga. Ker takratna tehnologija ni bila zmoţna zadovoljivo odpraviti tehničnih

teţav, ki so posledica visokih tlakov in kratkih časov vbrizga, se je direktni vbrizg

kljub svojim prednostim opustil.

Sodobni sistemi direktnega vbrizga bazirajo na elektronskih sistemih krmiljenja

motorja. Gorivo se dovaja direktno v valj preko posebnih elektromagnetnih

vbrizgalnih šob. Časi pulzov vbrizga so močno skrajšani glede na klasične

sisteme vbrizga. Količina dovedenega goriva se regulira s trajanjem in tlakom

vbrizga. Gorivo s tlakom od 5 MPa do 12 MPa dovaja visokotlačna mehanska

črpalka.

Page 56: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 40

Slika 12: Direktni vbrizg bencina (ang. Gasolin Direct Injection - GDI)

(vir:www.motiontrends.com)

Direktni vbrizg goriva v valj ponuja nove moţnosti manipulacije zmesi, kar vodi

do nekaterih prednosti, ki jih imajo sistemi direktnega vbrizga pred klasičnim

načinom tvorbe zmesi zunaj delovnega prostora motorja. Najpomembnejša je

moţnost nehomogene plastne razporeditve zmesi v zgorevalnem prostoru.

Pri plastni razporeditvi je bogatejša, dobro gorljiva, zmes omejena na prostor v

bliţini vţigalne svečke, ostali delovni prostor pa zaseda zelo osiromašena zmes,

zrak ali recirkulirani izpušni plini. To omogoča občutne prihranke pri porabi goriva

kadar je motor le delno obremenjen in celo krmiljenje navora brez uporabe

dušilne lopute, kar zmanšuje črpalne izgube motorja.

Direktni vbrizg bencina omogoča zmanjšanje povprečne porabe in izpustov

toplogrednih plinov do 25 % [1], kar je izjemnega pomena v času, ko je

omejenost zalog fosilnega goriva in negativni vpliv toplogrednih plinov na okolje

postala očitna.

Page 57: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 41

3.4 Merjene veličine in senzorji

Krmilnik vbrizga konstantno spremlja delovanje motorja in temu primerno krmili

aktuatorje. Senzorji merijo fizikalne veličine, jih pretvarjajo v električne signale in

tako elektronskemu krmilniku priskrbijo potrebnim informacije. Merjenih veličin in

pripadajočih senzorjev je v avtomobilu mnogo in njihovo število narašča. V

naslednjem poglavju so predstavljeni le tisti, ki so bistveni za nadaljnje

razumevanje delovanja predstavljenega krmilnika.

3.4.1 Merjenje vstopajoče zračne mase

Sistem vbrizga goriva ohranja ţeleno mešalno razmerje s prilagajanjem količine

vbrizganega goriva zračni masi, ki vstopa v motor. Zato je meritev masnega

pretoka zraka primarnega pomena. Masni pretok lahko merimo posredno ali

neposredno, za kar je na voljo več tipov senzorjev.

Zračni tlak v sesalni cevi

Absolutni zračni tlak v sesalni cevi merimo s senzorjem tlaka. Le-ta meri zračni

tlak v določenem razponu odvisno od aplikacije. Za atmosfersko polnjene

motorje zadošča razpon od 15 kPa do vrednosti, ki za 10 % do 20 % presega

normalni zračni tlak 101,3 kPa. Pri prisilno polnjenem motorju mora biti razpon

večji, saj mora merilno območje presegati najvišje tlake polnjenja. Uporabljajo se

senzorji z območjem od 20 kPa do 250 kPa ali celo do 400 kPa.

Page 58: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 42

Slika 13 : Senzor zračnega tlaka proizvajalca Freescale semiconductors

(vir: www.freescale.com)

Senzorju dovajamo referenčno napetost 5 V. Izhodna napetost je linearno

odvisna od absolutnega zračnega tlaka, ker je referenčni tlak pri uporabljenem

senzorju vakum. Senzor je temperaturno kompenziran.

Tlak v sesalni cevi in masni pretok v motor nista premosorazmerna, saj se

sposobnost črpanja skozi delovno območje motorja spreminja. Masni pretok se

izračuna posredno. Iz podatka o tlaku v sesalni cevi, podatka o vrtilni hitrosti

motorja in znane črpalne karakteristike motorja (volumski izkoristek v odvisnosti

od vrtilne hitrosti in zračnega tlaka), se določi volumen vstopajočega zraka. Iz

znanega volumna ali volumskega pretoka se preko specifične gostote s

temperaturno korekcijo izračuna masa vstopajočega zraka oziroma masni pretok.

Volumski pretok zraka

Namenski senzor volumskega zračnega pretoka je vpeljal Bosch na sistemih

vbrizga L-Jetronic. Značilno zanj je posebno oblikovano ohišje z vzmeteno

loputo, ki jo odkloni zračni tok. Na loputo je pritrjen potenciometer, ki glede na kot

zasuka daje informacijo o volumskemu pretoku. Ta se preko koregirane

specifične gostote zraka pretvori v masni pretok vstopajočega zraka.

Page 59: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 43

Masni pretok zraka

V sredini cevastega ohišju znanega preseka, skozi katerega teče vstopajoči zrak,

je pritrjen platinast upor v obliki ţice ali na substrat naparjenega filma. Skozi

merilni upor teče krmiljen električni tok in ga segreva toliko, da je njegova

temperatura za 100 °C višja od temperature vstopajočega zraka.

Slika 14: Delno odprt Boschev senzor volumskega pretoka (levo) in masnega

pretoka zraka (desno)

(vir: www.swedishautoparts.com)

Povečanje zračnega pretoka upor močneje ohlaja in tok skozenj se poveča.

Električni tok teče skozi kalibriran upor, zato se sprememba zračnega pretoka

odraţa v spremembi padca napetosti na tem uporu, kar predstavlja izhod

senzorja. Izhodna napetost je nelinearno odvisna od masnega pretoka zraka

skozi senzor.

Ker je meritev masnega pretoka direktna, kompenzacija temperaturnih in tlačnih

vplivov ni potrebna. Senzor je razvil proizvajalec Bosch in se v izpopolnjeni

različici vgrajuje še sedaj.

Pozicija dušilne lopute

Senzor pozicije dušilne lopute je namensko izdelan vrtljivi potenciometer v

plastičnem ohišju. Pritrjen je na zunanji strani ohišja lopute, os lopute pa je

povezana z osjo potenciometra.

Page 60: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 44

Senzor ima tri priključke, enega za maso, enega za referenčno napetost in enega

za sredinski odcep, ki predstavlja izhod senzorja. Maksimalen kot zasuka je

okrog 90°. Izhodna napetost je linearno odvisna od kota odprta in se giblje v

območju med 0 V in referenčno napetostjo 5 V.

Slika 15: Senzorja pozicije dušilne lopute z enojnim območjem (levo) in z dvojnim

območjem (desno)

(vir: http://apps.bosch.com.au)

Informacija o kotu odprtja dušilne lopute se navadno uporablja za določanje

delovnega območja motorja, kot so pospeševanje, pojemanje ali prosti tek. V

nekaterih sistemih, med njimi je tudi Mono-Jetronic, pa je pozicija lopute glavni

podatek o obremenjenosti motorja.

V teh primerih se masni pretok izračuna posredno. Na podlagi poznane motorne

karakteristike volumskega izkoristka v odvisnosti on kota odprtja dušilne lopute in

motornih vrtljajev je mogoč izračun volumskega pretoka, iz tega pa je preko

koregirane specifične gostote moţen izračun masnega pretoka vstopajočega

zraka.

Ker je v primerih, ko je senzor pozicije lopute glavni indikator obremenitve

motorja, potrebna velika resolucija pri majhnih kotih odprtja dušilne lopute, je v

nekatere senzorje vgrajeni dvosledni potenciometer. Prva sled pokriva območje

zasuka od 0° do 23°, druga pa zasuke od 17° do 90°. Tak senzor ima dva

izhoda.

Page 61: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 45

Slika 16: Zgradba in izhodna karakteristika senzorja z dvojnim območjem

3.4.2 Merjenje ostalih veličin

Vrtilna hitrost motorja

Podatek o vrtilni hitrosti je nujen za izračun zračne mase ki vstopa v delovni cikel,

kadar se le-ta izračuna posredno iz volumskega izkoristka motorja. Prav tako se

vrtilna hitrost upošteva kadar je meritev masnega pretoka zraka direktna, saj

krmilnika ne zanima pretok, temveč količina oziroma masa, ki v posamezen cikel

vstopa.

Sistem vţiga na bencinskem motorju proizvaja pulze, katerih gostota je

sorazmerna vrtilni hitrosti. S šetjem le-teh skozi znano časovno obdobje dobimo

zanesljiv podatek o dejanski vrtilni hitrosti motorja. Pri starejših sistemih vţiga s

prekinjevalnikom, pulze zajemamo s priključka primarnega navitja na vţigalni

tuljavi. Če je dodelilnik opremljen s halovim ali induktivnim senzorjem in

pripadajočim rotorjem, pulze zajemamo na izhodu senzorja.

Page 62: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 46

Novejši motorji so opremljeni z namenskimi induktivnimi senzorji. Tak senzor v

kombinaciji s posebnim zobatim kolesom, pritrjenim na motorno gred prikazuje

slika 17.

Slika 17: Induktivni senzor z zobatim kolesom

(vir: http.//forums.audiworld.com)

Kadar mimo induktivnega senzorja potuje kovinski zob, se magnetni fluks skozi

navitje poveča, kadar pa mimo potuje reţa se flux zmanjša. To povzroči

induciranje izmenične napetosti na kontaktih senzorja. Frekvenca inducirane

napetosti je premo sorazmerna vrtilni hitrosti motorja.

V uporabi so različna zobata kolesa. Taka, katerim na določeni poziciji manjka en

zob, lahko poleg hitrosti vrtenja, dajejo tudi informacijo o absolutni poziciji

motorne gredi.

Temperatura

Za potrebe krmiljenja vbrizga je elektronski sistem opremljen z dvema

temperaturnima senzorjema. En meri temperaturo hladilne tekočine (ang. coolant

temperature), drugi pa temperaturo zraka, ki vstopa v motor (ang. intake air

temperature).

Page 63: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 47

Senzorja sta realizirana z NTC upori (ang.: negative temperature coeficient) v

medeninastem ali plastičnem ohišju z dvema priključkoma. Upornost senzorja z

dvigom temperature pade, odvisnost pa je nelinearna.

Slika 18: Temperaturna senzorja z NTC uporom

Zunanji zračni tlak

Ker se specifična gostota zraka spreminja tudi s spremembo v zunanjem

zračnem tlaku, mora krmilnik v izračunu vstopajoče zračne mase, ta vpliv

upoštevati. V ta namen se uporablja senzor zunanjega zračnega tlaka.

Senzor je soroden tistemu, ki se uporablja za merjenje tlaka v sesalni cevi,

vendar z oţjim merilnim območjem (od 60 kPa do 115 kPa). V nekaterih

izvedbah sta senzor pritiska in senzor temperature zraka integrirana v skupno

ohišje.

Koncentracija kisika v izpušnih plinih

Koncentracija kisika v izpušnih plinih (ang.: exhaust gas oxigen), ki se meri s

pomočjo λ-sonde, je pokazatelj razmerja zraka in goriva v zmesi in s tem tudi

kvalitete zgorevanja. Keramični merilni element deluje po Nernstovem principu in

je zaprt v prepusten kovinski plašč, ki ga ščiti pred termičnimi in mehanskimi

poškodbami ter sluţi za montaţo.

Page 64: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 48

Slika 19: Ogrevana λ-sonda (vir: www.rickscarline.com)

Senzor je nameščen v izpušnem sistemu pred katalizatorjem, kjer so izpušni plini

še dovolj vroči, da senzor ogrejejo na delovno temperaturo 350 °C. Nekatere

izvedbe senzorja so dodatno električno ogrevane in delujejo ţe pri temperaturi

izpušnih plinov nad 150 °C.

Izhodna napetost je odvisna od koncentracije kisika v izpušnih plinih. Odvisnost

je izrazito nelinearna. Za bogate zmesi je izhodna napetost senzorja nekoliko

pod 1 V, za zmesi, ki imajo preseţek zraka, pa je izhod pribliţno 0 V.

Stopničasta karakteristika senzorja dopušča regulacijo zmesi le v teoretično

idealnem mešalnem razmerju, ko je λ=1. Če ţelimo regulacijo zmesi v poljubnem

mešalnem razmerju je nujna uporaba širokopasovnega senzorja, katerega

karakteristika je bolj poloţna in omogoča meritve zmesi s faktorjem λ od 0,7 do

neskončnosti.

Page 65: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 49

Slika 20: Izhodni karakteristiki sirokopasovne(levo) in običajne λ-sonde (desno).

Uporaba širokopasovnega senzorja zaheva poseben krmilnik, medtem ko

običajen tip senzorja sam generira izhodno napetost.

3.5 Aktuatorji

Elektronski krmilnik vbrizga vpliva na delovanje motorja preko elektromehanskih

aktuatorjev, med katerimi so zagotovo najpomembnejše vbrizgalne šobe.

Vbrizgalne šobe

Vbrizgalna šoba elektronskih sistemov vbrizga je poseben elektromagnetni ventil,

ki v sesalno cev motorja vbrizga gorivo pod sistemskim tlakom. Gorivo se na

konici šobe razprši v drobne kapljice, nekakšno meglico, zaradi česar je

uplinjanje dobro. Curek goriva je stoţčaste oblike, kot razpršitve pa se razlikuje

glede na izvedbo.

Na zgornjo stran vbrizgalne šobe je dovedeno gorivo pod sistemskim tlakom,

katerega uravnava regulator pritiska. Tlaki dovoda goriva so pri elektronskih

sistemih vbrizga okoli 300 kPa.

Page 66: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 50

Šoba deluje na principu ventila ki ga odpre solenoid. Kadar skozi tuljavo

elektromagneta steče enosmerni tok, nastalo magnetno polje premakne

armaturo solenoida. Ta dvigne iglo z leţišča in gorivo pod pritiskom iztopa skozi

drobne luknjice na konici šobe. Kadar na kontaktih vbrizgalne šobe ni napetosti,

notranja vzmet potisne konico igle na svoje leţišče, kar prepreči uhajanje goriva.

Slika 21: Elektromagnetna vbrizgalna šoba

(vir: www.northamptonmotorsport.com)

Če se tlačna razlika med dovodom in konico vbrizgalne šobe ne spreminja, je

pretok goriva skozi šobo konstanten in odvisen le od notranjih dimenzij. Z

upoštevanjem količine goriva, ki skozi šobo steče med njenim odpiranjem in

zapiranjem, lahko količino dovedenega goriva uravnavamo s spremembo časa

odprtja šobe, česar se posluţujejo elektronski krminiki vbrizga.

Ker se tlak v sesalni cevi spreminja z obremenitvijo motorja, se spreminja tudi

tlačna razlika med dovodom goriva in konico šobe, kar vpliva na volumski pretok

skoznjo. Kjer je moţno, se temu izognemo z uporabo regulatorja pritiska goriva,

ki je opremljen s priključkom za tlak v sesalni cevi. Sprememba tlaka znotraj

Page 67: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 51

sesalne cevi vpliva na pritisk dovoda goriva tako, da je padec tlaka čez

vbrizgalno šobo konstanten, kar zagotovi tudi konstanten pretok.

.

Gorivna črpalka

Električna črpalka začne v gorivni vod dovajati gorivo še preden motor

zaţenemo. Delovanje črpalke za gorivo je navadno povezano z glavnim stikalom.

Ko s ključem ”damo kontakt”, se črpalka vklopi, pritisk v sistemu naraste in motor

lahko zaţenemo.

Črpalka neprenehoma deluje ves čas delovanja motorja in kadar motor s

stikalom zaustavimo, preneha delovati tudi črpalka za gorivo. Problem nastane,

kadar zaradi prometne nesreče ali okvare motor preneha delovati, glavni kontakt

pa je še vedno sklenjen. Če je pri tem poškodovan sistem za dovod goriva, lahko

delujoča črpalka močno poveča uhajanje goriva, kar zelo poveča nevarnost

vţiga.

Zaradi tega delovanje črpalke krmili elektronski krmilnik sistema za vbrizg in

kadar zazna, da se je motor ustavil, črpalko izklopi kljub sklenjenemu kontaktu na

glavnem stikalu avtomobila.

Ventil prostega teka

Kadar je motor hladen, se zaradi povečane viskoznosti olja, ki ga podmazuje

izgube zaradi trenja povečajo. Hladen motor v prostem teku teţko ohranja

enakomerno delovanje in lahko se zaustavi.

Da se to prepreči in se hkrati motor hitreje ogreje na delovno temperaturo, so

motorji opremljeni z napravo za dvig hitrosti prostega teka ob hladnem motorju.

Najpreprostejša oblika naprave, ki jo srečamo na starejših sistemih vbrizga je

zračni ventil z zasunom. Zasun je pritrjen na bimetalno roko katero greje grelna

ţica povezana z glavnim stikalom. S pretečenim časom od vţiga motorja se

Page 68: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 52

bimetalna roka vse bolj odklanja kar postopoma prekine pretok zraka skozi ventil,

kateri zaobide dušilno loputo.

Novejše izvedbe ventila so krmiljene s strani elektronske krmilne enote sistema

za vbrizg in so lahko enostopenske ali pa zvezno zmanjšujejo pretok dodatnega

zraka.

3.6 Elektronska krmilna enota

Elektronska krmilna enota so moţgani sistema za vbrizg goriva. Na podlagi

podatkov, ki jih dobijo iz senzorjev, nameščenih na motorju, krmilijo aktuatorje in

tako vplivajo na delovanje motorja.

Prve elektronske krmilne enote so delovale na podlagi analognih signalov.

Prvotno so bile zgrajene iz diskretnih elektronskih komponent, kasneje pa je vse

večja integracija omogočala raalizacijo enakih in novih funkcij na enakem ali celo

manjšem prostoru trend ki ga zasledimo še danes.

Pravo revolucijo je predstavljala uvedba mikrokrmilnikov in s tem povezan

prehod na digitalno obravnavo signalov. Z uporabo mikrokrmilnika je prilagajanje

krmiljenja spremembam ali novim aplikacijam laţje in v veliko primerih zadostuje

le sprememba parametrov krmilnega algoritma, brez dodatnih posegov v sistem

vbrizga goriva.

Pri tovarniških elekronskih krmilnikih vbrzga je moţnost poseganja v programsko

opremo in krmilne parametre omejena. Zaradi tega je prilagoditev teh

elektronskih krmilnikov spremembam na motorju ali novim aplikacijam v

nekaterih primerih nemogoča ali ne izpolnjuje uporabnikovih ţelja.

Page 69: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 53

Zanimanje za predelave avtomobilov, še posebno za predelave pogonskega

agregata, je bilo zmeraj veliko, zato ne čudi pestra ponudba izvenseriskih (ang:

aftermarket) krmilnikov vbrizga goriva. Na trgu lahko izbiramo iz mnoţice

programabilnih elektronskih krmilnikov vbrizga raznih cenovnih razredov, ki lahko

krijejo različne uporabnikove zahteve. V spodnji tabeli je za primerjavo zbranih

nekaj izvenseriskih elektronskih krmilnikov vbrizga goriva s pripadajočimi

specifikacijami in okvirno ceno.

Naš

krmilnik Megasquirt

I Megasquirt

II DTA S40 DTA S60

SDS EM-4

Haltec E6X

Elecromotive TEC3

izhodi vbrizg

2 (PŠM) 2 (PŠM) 2 (PŠM) 2 4 1 4 ali 2 8 (PŠM)

izhodi ostalo

prosti tek, črpalka g., 3 x LED, 4 x prosti

prosti tek, črpalka g., 3 x LED,

prosti tek - ( koračno), črpalka g., 3 x LED

(prosti tek) črpalka g., obratomer, menj. luč, ventilator,

prosti tek, črpalka g., obratomer, menj. luč, tlak poln., poz. odm., vent., ... 3 x prosti

doplačilo: prosti tek, rpm vklop, ...

prosti tek- regulacija, črpalka, obratom., ventilator,

2x pšm poljubno

prosti tek, črpalka g., obratomer, waste gate, 4 x poljubno

krmilj. vžiga

ne (možno s sprem.)

možno da (do 6x) da (2x) da (4x) ne da

(2 ali 4x) da (8x)

vhodi

tlak polnj., temp. zrak,

atm.tlak - (ob zagonu),

temp. mot., pozicija d.l., nap. akumul.

lambda

tlak polnj., temp. zrak,

atm.tlak - (ob zagonu),

temp. mot., pozicija d.l., nap. akumul.

lambda

tlak polnj., temp. zrak,

atm.tlak - (ob zagonu),

temp. mot., pozicija d.l., nap. akumul.

lambda

tlak polnj., temp. z., atm.tlak - (ob zag.), temp. m., temp. olja, tlak olja, tlak gor.,

TPS, nap. aku. lambda,

hitrost kol. 2x prosta

tlak polnj., temp. z., atm.tlak - (ob zag.), temp. m., temp. olja, tlak olja, tlak gor.,

TPS, nap. aku. lambda

hitrosr kol. 2x prosta

tlak pol., temp. zr, atm. tlak-(ob zag.) temp. m.,

TPS nap. aku. lambda,

tlak poj., temp. z, atm.tlak- (ob zag.)

temp.m. TPS

nap. ak. lambda, hitrost k.

tlak polnj., temp. zrak, atmos. tlak , temp. mot., pozicija d.l., nap. aku., lambda,

knock sens.

zajem hitrosti vrtenja

iz sist. vžiga, induktivno, hall. sonda

iz sist. vžiga, induktivno, hall. sonda

iz sist. vžiga, induktivno, hall. sonda

induktivno induktivno, hall. son.

iz sist. vžiga

indukt., hall. s., optično

induktivno

velikost tabele

12x12 8x8

(12x12) 12x12 ali

16x16 16x16 16x16

64x38 - ne

interpolira

16x16 16x16

Data loging

ne ne

(možno z pren. rač.)

ne (možno z pren. rač.)

ne da ne da da

povezava z osebnim

rač. RS232 RS232

RS232, CAN

USB, CAN

USB, CAN

ne - priložen

prog.

USB, CAN

USB, CAN

cena 70€ 140€

(240€ sest.) 180€

(300€ sest.) 610€ 950€ 730€ 1400€ 1500€

Tabela 2: Primerjava izbranih programabilnih krmilnikov vbrizga goriva (kratica PŠM pomeni pulznoširinsko modulacijo krmilne napetostii)

Page 70: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 54

Vsi sodobni elektronski krmilniki uporabljajo mikrokrmilnik na katerem teče

krmilni algoritem. Večina jih omogoča povezavo z osebnim računalnikom in

spremljanje delovanja motorja ter spremembo krmilnih parametrov s pomočjo

programa z grafičnim uporabniškim vmesnikom.

Razvoj izvenseriskih elektronskih krmilnikov sledi razvoju krmilnikov, ki jih serisko

vgrajujejo v avtomobile. Kakor pri tovarniških tudi pri teh, uporabo 8 bitnih

mikrokrmilnikov spodrivajo zmoglivejši 16 in 32 bitni mikrokrmilniki, ki omogočajo

krajše čase procesiranja in realizacijo kompleksnejših krmilnih funkcij.

Page 71: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 55

4 Realizacija programabilnega krmilnika vbrizga goriva

Vezje elektronske krmilne enote je zaprto v aluminijasto ohišje, ki ga ščiti pred

mehanskimi poškodbami in preprečuje širjenje elektromagnetnih motenj. Krmilno

enoto preko dveh konektorjev poveţemo s sistemi nameščenimi v vozilu, 37

pinski DB konektor poskrbi za napajanje, povezavo s senzorji, relejem gorivne

črpalke in ventilom prostega teka. Povezavi z vbrizgalnimi šobami je namenjen 4

pinski močnostni konektor. 9 pinski DB konektor sluţi za povezavo z osebnim

računalnikom.

Slika 22: Elektronska krmilna enota predstavljenega sistema za vbrizg goriva

4.1 Strojna oprema

4.1.1 Mikrokrmilnik

Vezje krmili mikrokrmilnik PIC18F458, podjetja Microchip Technology Inc [12].

Izbrali smo ga zaradi ugodnega razmerja med zmogljivostmi in ceno ter

poznavanja te druţine mikrokrmilnikov.

Page 72: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 56

Lastnosti mikrokrmilnika:

- ohišje PDIP s 40 priključnimi sponkami,

- 32 kB programskega polnilnika,

- 1536 B delovnega pomnilnika (SRAM),

- 256 B EEPROM-a,

- do 10M izvedenih operacij v sekundi (MIPS),

- osem 10-bitnih AD pretvornikov,

- 1,2 ali 4 PWM kanali,

- 33 prosto programabilnih vhodno/izhodnih linij,

- 2 8-bitna in 2 16-bitna časovnika/števca,

- 3 zunanje prekinitvene sponke,

- programiranje v vezju preko 2 linij.

Najvišja priporočena hitrost delovanja je 40 MHz, za kar smo se tudi odločili. V ta

namen je na vezju vgrajen 10MHz kristal. Kristalova frekvenca se mnoţi s

pomočjo fazno sklenjene zanke (PLL - Phase Locked Loop) kar ustvari 40 MHz

programsko uro.

Slika 23: Mikrokrmilnik s kristalom

Page 73: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 57

4.1.2 Elektronsko vezje

Krmilnik je izdelan na dvoplastni tiskanini. Uporabljeni so SMD (ang.: surface

mount device) in klasični (ang.: through hole) elementi. S tem smo zmanjšali

število lukenj v tiskanini kar z dvoplastno izvedbo lajša domačo izdelavo. Za

odvajanje odvečne temperature, ki jo proizvajajo močnostni elementi, skrbi

hladilno rebro.

Vezje funkcionalno razdelimo na štiri dele: napajanje, seriska komunikacija, ter

vhodni del in izhodni del.

Napajalno vezje

Sistem napaja enosmerna napetost avtomobilskega električnega sistema, z

nominalno napetostjo 12 V, vendar realna napetost večine sistemov napajanja

niha (od 10 V do 14 V) glede na stanje baterije, obremenjenost sistema, vrtljaje

motorja itd. Ta napetost je previsoka za napajanje mikrokrmilnikain senzorjev,

zaradi česar je v sistem dodano napajalno vezje (slika 24).

Slika 24: Napajalno vezje

Page 74: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 58

Osnova napajalnika je regulator enosmerne napetosti, ki napatorst

avtomobilskega električnega sistema zniţa na predpisanih 5 V. Uporabili smo

regulator L7805 [13] , ki je sposoben zagotoviti do 1 A toka.

Za glajenje napetosti je na izhodu regulatorja dodan par kondenzatorjev: 22 μF

tantalov in 100 nF keramični. Na mikrokrmilnik je dobljena napetost 5 V

privedena preko 0,5 A varovalke (Polyswitch). Za zagotovitev stabilnost

delovanja je v neposredni bliţini mikrokrmilnika dodaten par keramičnih

kondenzatorjev, ki povezuje napajalne sponke.

Referenčna napetost 5 V je še dodatno stabilizirana s pomočjo dveh 1 μH tuljav

in dveh kondenzatorjev. Do senzorjev jo vodimo preko skupnega 37 pinskega

konektorja in priključnega kabla.

Seriska komunikacija

Mikrokrmilnik ima za potrebe seriske komunikacije namenjena dve sponki,

označeni z RX in TX.

Komunicija z osebnim računalnikom poteka po protokolu RS-232, ki predpisuje

pozitivne in negativne napetosti signala z absolutnimi vrednostimi od 5 V do

15 V, kar pa mikrokrmilnik s svojim napajanjem ne more zagotoviti. Kot vmesnik

nastopi namensko integrirano vezje MAX232 [14], ki skrbi za napetostno

prilagoditev signalov (slika 25).

Page 75: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 59

Slika 25: Vezje serijske komunikacije

Krmilnik z računalnikom poveţemo preko D-sub 9 pinskega DB konektorja in

kabla. Če računalnik nima RS232 seriskega priključka uporabimo USB/RS232

adapter.

Vhodna prilagoditev signalov

Na analogni vhod mikrokrmilnika moramo pripeljati napetostni signal v območju

od 0 V do 5V enosmerne napetosti. Uporabljeni senzorji se med seboj razlikujejo

po principu delovanja zato se tudi prilagoditvena vezja med njimi razlikujejo.

Uporovni senzorji, kakršna sta senzorja za temperaturo zraka in temperaturo

motorja, so posamično vezani v napetostne delilnike z upori z znano upornostjo.

Nanje je priključena referenčna napetost Vref. Kadar se ob spremembi fizikalne

veličine spremeni tudi upornost senzorja, se to odraţa v spremembi izhodne

napetosti napetostnega delilnika, kar predstavlja uporaben signal. Pred vstopom

mikrokrmilnik je signal filtriran z nizkoprepustnim filtrom prvega reda (RC člen),

kateri omili morebitna hitra nihanja v napetosti signala.

Senzorja pozicije dušilne lopute in tlaka v sesalni cevi, delujeta na principu

potenciometra, napajanega z Vref (5 V). Izhodni signal je napetost med 0 V in Vref.

Page 76: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 60

Tudi tu gre signal pred vstopom v mikrokrmilnik skozi nizkoprepustni filter

(slika 26).

Slika 26: Vezji za prilagoditv signala potenciometra dušilne lopute (levo) in

senzorja temperature motorja (desno)

Lambda sonda sama generira izhodno napetost zato ne potrebuje napajanja.

Njen signal prav tako vodimo do mikrokrmilnika skozi nizkoprepustni filter.

Napetost avtomobilskega električnega sistema je previsoka za analogni vhod

mikrokrmilnika, zato jo zmanjšamo z pomočjo napetostnega delilnika (slika 27).

Slika 27: Vezji za prilagoditev signala λ-sonde (levo) in detekcijo napetosti

akumulatorja (desno)

Vrtenje motorja se detektira s pomočjo pulzov. Kot izvor pulzov lahko uporabimo

sistem za vţig, Hallov senzor s pripadajočim rotorjem z okni, ali induktivni senzor

z zobatim kolesom. Ker je v vezju omogočena uporaba vseh treh izvorov,

Page 77: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 61

moramo pravo prilagoditev signala omogočiti z izbiro povezave, ki je izvedena z

dvema skočnikoma (ang.:jumper). Vezje prikazuje slika 28.

Kadar pulze dobivamo s sistema za vţig, odgovarjajoči pin na konektorju (32),

označen z tach in, poveţemo s primarnim navitjem vţigalne tuljave (priključek 1).

V tem primeru prilagoditveno vezje skrbi za zaščito vhoda mikrokrmilnika pred

morebitnimi napatostnimi špicami, za kar poskrbi optični sklopnik, in za filtriranje

visokofrekvenčnih motenj z vhodnim filtrom. Na mesto običajne dijode D3

vgradimo Zenerjevo dijodo z visoko prebojno napetostjo (22 V ali 24 V) .

Zenerjeva dijoda je priključena obratno kot običajna. Če med delovanjem

uporabniškega programa opazimo občasne skoke v prikazani hitrosti vrtenj, do

20 000 obr/min ali več, moramo Zenerjevo dijodo zamenjati z tako, ki ima večjo

prebojno napetost (36 V).

Page 78: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 62

Slik

a 2

8: V

ezje

za

pri

lag

od

ite

v s

igna

lov iz r

azlič

nih

tip

ov s

en

zo

rje

v h

itro

sti v

rte

nja

moto

rja

Page 79: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 63

Enako vezje uporabimo tudi kadar pulze dobimo s pomočjo Hallove sonde ali

optičnega dajalnika impulzov, vendar je v tem primeru priporočena izpustitev

obeh dijod (D2 in D3) na vhodu v vezje, kakor tudi obeh kondenzatorjev (C15 in

C16). Vhodno filtriranje ob uporabi Hallove sonde ni potrebno, ker v signalu ni

prisotnih toliko motenj, kot če pulze dobivamo direktno iz sistema za vţig.

Pazljivi moramo biti na vrednost upora R14 na vhodu v vezje. Priporočena

vrednost je 390 Ω vendar moramo paziti, da se med delovanjem ne segreje

pretirano, kar storimo tako, da upornost postopoma povečujemo dokler njegova

delovna temperatura ni v mejah normale (pod 60 °C).

Kadar pulzi, ki predstavljajo podatek o hitrosti motorja prihajajo iz induktivnega

senzorja moramo s pomočjo skočnika izbrati del vezja, ki je namenjeno

prilagoditvi signala iz induktivnega senzorja.

Induktivni senzor ob vrtenju zobatega kolesa proizvaja izmenični signal

spremenljive ampitude in frevence, proporcionalne hitrosti vrtenja motorja in

številu zob zobatega kolesa. Ker tak signal ni primeren za detekcijo pulzov z

mikrokrmilnikom, je v elektronski krmilnik vgrajeno vezje za pretvorbo izmenične

napetosti v zaporedje kvadratnih pulzov.

Vezje za prilagoditev signala induktivniega senzorja ima dva trimer

potenciometra. Z R54 nastavljamo napetost točke prehoda, navadno 0 V, z R43

pa histerezo, tu je priporočena izbira maksimalne upornosti.

Izhodno vezje

Tudi ta del vezja razdelimo na več funkcionalnih sklopov. Najpomembnejša je

izhodna močnostna stopnja, ki poganja vbrizgalne šobe. Slika 29 prikazuje

enega od dveh izhod krmilnika, ki poganjata vbrizgalne šobe.

Page 80: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 64

Slika 29: Izhodna stopnja za pogon vbrizgalnih šob

Izhodne signale mikrokrmilnika ojača integrirano vezje MC34151P (U4) [15],

katero poganja izhodne FET tranzistorje IRFZ34 (Q9, Q10) [16]. Vbrizgalne šobe

so ves čas delovanja motorja priključene na pozitivno napetost avtomobilskega

električnega sisteme (12 V), tok skozi njihovo navitje steče, ko jih izhodna

stopnja kermilnika poveţe z električno maso vozila. Tok je omejen na 14 A, s

pomočjo emitorskega upora (R41, R42 = 0,05 Ω) in tranzistorjev Q5 in Q6.

Ker je v vbrizgalnih šobah navitje solenoida, se ob izklopih inducira napetost, ki

lahko poškoduje tranzistorje na izhodu krmilnika. Da to preprečimo je končna

stopnja opremljena z zaščitnima diodima D6 in D7 (SF34) [17], inducirani tok pa

se steka v maso preko tranzistorjev Q11 in Q12 (TIP42C) [18].

Krmilnik omogoča tudi uporabo modernejših vbrizgalnih šob z nizko upornostjo

navitja (<3 Ω). Moč na takih šobah je potrebno omejiti, kar doseţemo z

pulznoširinsko modulacijo dovedene napetosti.

Za zaščito izhodnih tranzistorjev pred napetostnimi sunki, ki nastanejo zaradi

induktivnosti navitij vbrizgalnih šob, je izhodna stopnja opremljena z dodatnim

delom vezja. Med preklopi mikrokrmilnik preko Q7 in Q8 vklopi tranzistorja Q3 in

Q3 (TIP125) [19], ta pa navitja vbrizgalnih šob sklopita s pozitivno napetostjo

električnega sistema.

Page 81: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 65

Črpalka za gorivo in ventil prostega teka se vklapljata s pomočjo relejev, katere

prav tako krmili elektronska krmilna enota. Releja sta nameščena zunaj krmilne

enote. Relejski navitji sta ob sklenjenem glavnem stikalu priključeni na pozitivno

napetost avtomobilskega električnega sistema, tranzistorski stikali (Q13, Q14) s

tokovno omejitvijo znotraj krmilne enote pa posamezni navitji relejev sklenta z

maso, s čemer začneta releja prevajati tok.

Elektronska krmilna enota je opremljena tudi s tremi LED diodami, katere

označujejo razne reţime delovanja. Zelena dioda sveti, kadar poteka vbrizg

goriva, rdeča označuje obogatitev ob pospeševanju, rumena pa sveti dokler

motor ne doseţe delovne temperature.

Slika 30: Vezji za vklop relejev gorivne črpalke (levo) in LED diode za prikaz

delovanja (desno)

4.2 Programska oprema

Programsko opremo predstavljenega elektronskega krmilnika vbrizga goriva

delimo na dva dela. Prvi del je krmilni program, ki teče na mikrokrmilniku in

upravlja s sistemom za vbrizg goriva (koda se nahaja v prilogi). Drugi del je

uporabniški program, nameščen na osebnem računalniku, ki omogoča povezavo

s krmilnikom vbrizga, nadzorovanje delovanja motorja in spreminjanje krmilnih

parametrov.

Page 82: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 66

4.2.1 Krmilni program

Krmilni program je shranjen v programskem pomnilniku mikrokrmilnika. Zapis v

programskem pomnilniku, ki je bliskovitega (ang.:flash) tipa, se za razliko od

delovnega pomnilnika RAM (ang.: Random Acess Memory), ohrani tudi ko

mikrokrmilnik nima napajanja.

V programski pomnilnik zapisujemo s programatorjem, ki mikrokrmilnik poveţe z

osebnim računalnikom. Zapis v programski pomnilnik uporabljenega

mikrokrmilnika je moţen tudi brez programatorja med delovanjem znotraj ciljnega

vezja

Predstavljen krmilni program je napisan v zbirniku (ang.:asembler): uporabljeno

razvojno okolje je Mikrochipov programski paket MPLAB 7.6. Razvoj

mikrokrmilniškega programa v zbirniku rezultira v kompaktni, hitri in pomnilniško

varčni kodi. Razhroščevanje je potekalo s programatorjem/razhroščevalnikom

ICD2 [20].

Izračun količine goriva

Krmilni algoritem izračuna trajanje pulza vbrizga, ki je proporcionalno količini

vbrizganega goriva. Pri tem upošteva naslednje:

- zakon o idealnih plinih,

- izmerjene veličine (hitrost vrtenja, tlak v sesalni cevi, temperatura zraka,...),

- nastavljene parametre (REQ FUEL, volumski izkoristek, pretok šob,..).

Zakon o idealnih plinih

Za naše potrebe smatramo zrak za idealen plin, za katerega velja enačba (4.1),

ki povezuje količino zraka z njegovim tlakom, volumnom in temperaturo [8]:

Page 83: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 67

TRnVp (4.1)

Kjer je:

p tlak, V prostornina, n št. molov (1 mol = 6,023x1023 molekul), R plinska konstanta (=8,3143510 J/mol K), T absolutna temperatura Izpeljimo:

TR

Vpn (4.2)

Masa snovi je premosorazmerna njeni količini:

MTR

VPMnm (4.3)

Kjer M označuje molsko maso snovi, v našem primeru zraka, izraţeno v g/mol.

V enačbo (4.3) vključimo še volumski izkoristek in oznake veličin, katere srečamo

v našem primeru, s čimer dobimo naslednje:

IAT

ZRAKVALJMAPVE

ZRAKTR

MVpm (4.4)

Oznake pomenijo:

mZRAK masa zraka, ki je vtopila v valj, ηVE volumski izkoristek pri določenih obratih in odprtju lopute, pMAP tlak v sesalni cevi, VVALJ delovna prostornina valja, MZRAK molska masa zraka, TIAT temperatura zraka v sesalni cevi (podana v °K).

Plinska konstanta (R) in molska masa zraka (MZRAK ) sta konstanti, zato ju lahko

zdruţimo v eno vrednost.

Page 84: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 68

Z znano maso zraka, ki vstopi v delovni cikel, lahko določimo potrebno količino

goriva, ki zadosti ciljnemu mešalnemu razmerju.

Parameter REQ FUEL

REQ FUEL (ang.: Required Fuel – potrebno gorivo) nosi informacijo o pretoku

skozi odprte vbrizgalne šobe in delovni prostornini motorja. Njegova vrednost

označuje čas trajanja pulza vbrizga, izraţenega v ms, ki zadosti teoretično

idealnemu mešalnemu razmerju pri 100 % volumskemu izkoristku polnjenja

enega valja s tlakom v sesalni cevi 100 kPa, temperaturi zraka 21 °C in

normalnem zunanjem zračnem tlaku (101,3 kPa).

REQ FUEL izračunamo s sledečo enačbo.

VBRGORINJ

ZRAKVALJ

NTMR

V60000FUEL_REQ (4.5)

Kjer je:

60000 je število milisekud v eni minuti, VVALJ delovna prostornina valja podana v ccm ρZRAK spec. gostota zraka pri 21 °C in normalnem zračnem tlaku (1,2 kg/m3), ρGOR specifična gostota goriva pri 21 °C (bencin: 0,76 kg/l), ΦINJ pretok šob, podan v ccm/min, TMR teoretično mešalno ramerje goriva (bencin: 14,7), NVBR število vbrizgov na delovni cikel.

Povezavo med specifično gostoto, tlakom in temperaturo zraka podaja enačba

(4.6).

IAT

MAPZRAK

T

13,273

325,101

p2929,1T,p (4.6)

Page 85: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 69

Izračun trajanja vbrizga

Vrednost parametra REQ_FUEL se zapiše v programski pomnilnik

mikrokrmilnika med nastavitvijo krmilnika vbrizga. Med delovanjem motorja

krmilni algoritem izračuna dolţino pulza vbrizga na podlagi sledeče enačbe:

OPENMAPVEPV tPEpFUEL_REQt (4.7)

Faktor E vsebuje zmnoţek vseh obogatitev zaradi zagona, ogrevanja ter

korekcije glede na vrednost lambda in atmosferski tlak. S P prištejemo

obogatitev, ki je potrebna pri pospeševanju, tOPEN pa je čas, ki ga vbrizgalna

šoba potrebuje za svoje odprtje.

Zgradba krmilnega programa

Kodo krmilnega programa delimo na tri funkcijske bloke (slika 30) in sicer:

- inicializacijo,

- glavno krmilno zanko, v kateri se vrši izračun dolţine pulza vbrizga in

- prekinitvene rutine, ki se izvajajo med prekinitvami glavne zanke. Določena

prekinitvena rutina se izbere glede na vzrok prekinitve, ki je lahko notranji

(časovnik, A/D konverzija, komunikacija) ali zunanji (signal iz senzorja hitrosti,

komunikacija).

Page 86: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 70

Slika 30: Osnovna zgradba krmilnega programa

Inicializacija

Ob vklopu ali ponovnem zagonu (ang.: reset) pride do inicializacije, med katero

se dodelijo vhodi in izhodi mikrokrmilnika, nastavijo časovniki in prekinitve, ter

dodelijo začetne vrednosti spremenljivkam shranjenim v delovnem pomnilniku

(data RAM). Prepišejo se tudi vrednosti nastavitvenih parametrov iz

programskega v delovni pomnilnik.

Pred zagonom motorja se preko senzorja za tlak v sesalni cevi, izvede tudi

meritev atmosferskega tlaka. Po inicializaciji se prične izvajanje glavne

programske zanke.

Glavna krmilna zanka

Med delovanjem krmilni program teče v neskončni zanki. Krmilni algoritem

dolţino pulza vbrizga določa na podlagi podatkov iz senzorjev nameščenih na

motorju in nastavitvenih parametrov. Signali senzorjev so večinoma analogni,

prilagoditvena vezja v krmilniku pa poskrbijo, da so napetosti na vhodih

Page 87: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 71

mikrokrmilnika od 0 V do 5 V. Analogne vrednosti je potrebno pred uporabo v

izračunih pretvoriti v digitalne, za kar skrbi vgrajeni analogno-digitalni pretvornik.

Rezultat pretvorbe je 8-bitna vrednost, ki se shrani v delovni pomnilnik

mikrokrmilnika.

Za pomnenje zadnjih izmerjenih vrednosti je nemenjenih osem 8-bitnih registrov

v delovnem spominu, ki jih v nadaljevanju imenujemo spremenljivke:

-BARO; izhodna vrednost senzorja zunanjega zračnega tlaka,

-TPS1; izhodna vrednost senzorja pozicije dušilne lopute pri senzorju z enojnim

območjem ali izhodna vrednost prvega območja pri dvoobmočnem senzorju,

-TPS2; izhodna vrednost drugega območja pri dvoobmočnem senzorju pozicije

dušilne lopute,

-MAP; izhodna vrednost senzorja tlaka v sesalni cevi,

-MAT; izhodna vrednost senzorja temperature vstopajočega zraka,

-CLT; izhodna vrednost s senzorja temperature motorja

-EGO; izhodna vrednost λ- sonde in

-BATT; izhodna vrednost napetostnega delilnika za detekcijo napatosti

avtomobilskega električnega sistema.

Številska vrednost merjene fizikalne veličine, izraţena v izbrani fizikalni enoti,

navadno ne sovpada z vrednostjo, ki jo dobimo z A/D pretvorbo senzorjevega

signala, zato je potrebno dobljeno vrednost prevesti z vpogledno tabelo. Taka

tabela ima 256 vrednosti fizikalne veličine, ki odgovarjajo 256 moţnim

vrednostim izhoda senzorja.

Krmilni program uporablja šest vpoglednih tabel, shranjenih v programskem

pomnilniku:

-BAROFACTOR; iz katere se glede na vrednost spremenlivke BARO določi

korekcijo za zunanji zračni tlak, ki je shranjena v spremenljivki BAROCORR,

-KPAFACTOR; s katero se glede na vrednost spremenljivke MAP določi zračni

tlak v sesalni cevi izraţen v kPa in shrani kot spremenljivka KPA,

Page 88: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 72

-THERMFACTOR; preko katere iz vrednosti shranjeni v spremenljivki CLT

dobimo temperaturo motorja, izraţeno v °C, povečano za 40 °C in shranjeno v

spremenljivki COOLANT,

-AIRDENFACTOR; s katero se glede na vrednost spremenljivke MAT določi

korekcija glede na spremembo v gostoti zraka AIRDEN ter tabeli

-TPS1FACTOR in TPS2FACTOR, ki se uporabljajo v primeru dvoobmočnega

senzorja pozicije dušilne lopute za določitev vrednosti odprtja lopute, ki je

shranjena v spremenljivki TPS.

Glavna zanka, katere bločni diagram prikazuje slika 31, se prične z določitvijo

popravka glede na predhodno izmerjeni atmosferski tlak iz tabele

BAROFACTOR. Sledi določitev tlaka v sesalni cevi (KPA) s pomočjo vpogledne

tabele KPAFACTOR.

Page 89: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 73

Slika 31 : Glavna zanka krmilnega programa

Page 90: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 74

V naslednjem programskem bloku se glede na podatek iz senzorja temperature

motorja (CLT), preko vpogledne tabele THERMFACTOR, določi temperatura

motorja (COOLANT). Dobljena vrednost je enaka dejanski temperaturi, povečani

za 40 °C, saj se tako izognemo računanju z negativnimi vrednostimi temperature.

Nato se glede na temperaturo zraka (MAT) iz tabele AIRDENFACTOR določi

temperaturna korekcija gostote zraka (AIRDEN). Sledi izračun hitrosti vrtenja

motorja na podlagi časa pretečenega med posameznimi pulzi iz senzorja hitrosti

motorja.

Če je hitrost vrtenja manjša od 300 obr/min, krmilnik smatra, da motor

zaganjamo in določi dolţino pulza vbrizga le glede na temparaturo motorja

oziroma hladilne tekočine. V tem primeru se zanka tu zaključi in se izvajanje

programa nadaljuje na začetek glavne zanke.

Kadar je hitrost vrtenja motorja zadostna, krmilnik smatra, da je motor ţe zagnan

in program nadaljuje z izračuni obogatitev zmesi v sledečem programskem

bloku. Prva se izračuna obogatitev ob segrevanju motorja na delovno

temperaturo (WARMCOR). V vpogledni tabeli WWU shranjeni v programskem

pomnilniku so procentualne vrednosti obogatitev, ki odgovarjajo desetim

različnim vrednostim temperature motorja. Vrednosti so nastavljive s pomočjo

uporabniškega programa, dejanska vrednost obogatitve pa se izračuna z

interpolacijo glede na temperaturo motorja, med dvema sosednjima vrednostima

iz tabele, ki odgovarjata dvema temparaturi motorja najbliţjima temperaturnima

točkama. Kadar temperatura motorja preseţe najvišjo tabelirano temperaturo

(70 °C), obogatitve zmesi iz tega naslova ni (obogatitev = 100%). Med

segrevanjem motorja sveti rumena LED dioda na boku krmilnika.

Sledi določitev obogatitve po zagonu, ki se prišteje obogatitvi ob segrevanju. Po

zagonu je vrednost te obogatitve največja in se s pretečenimi delovnimi cikli

postopoma zmanšuje. Najvišja vrednost in trajanje sta uporabniško nastavljiva.

Page 91: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 75

Naslednji blok predstavlja obogatitev pri pospeševanju oziroma osiromašenje pri

pojemanju (TPSACCEL). Za apliciranje obogatitve pri pospeševanju mora biti

izpolnjen pogoj, da je hitrost odpiranja dušilne lopute nad določeno. Obogatitev

se, kakor je razvidno iz enačbe (4.7), prišteje osnovni dolţini pulza vbrizga.

Sestavljata jo dva dela. Osnovna vrednost obogatitve ob pospeševanju se

interpolira na podlagi hitrosti odpiranja lopute in vrednosti vnešenih v tabeli

TPSAQ. Ta vrednost se nato koregira na podlagi temperature motorja.

Temperaturna korekcija je dvojna, faktorska in prišteta. Obe korekciji sta dobljeni

z interpolacijo glede na temperaturo motorja iz dveh nastavljivih vrednostih

korekcije pri −40 °C in 70 °C.

Kadar pride do obogatitve zaradi pospeševanja, se sprva dolţini pulza vbrizga

doda celotna vrednost obogatitve. S pretečenim časom pa se začetna vrednost

postopoma zmanjšuje. S tem se poskuša posnemati potek in koregirati

prehodnegi pojav, ki nastopi pri spremembi tlaka v sesalni cevi. Če ni prekinjena,

bo obogatitev ob pospeševanju trajala izbrani čas. Označuje jo rdeča LED dioda.

Kadar je hitrost zapiranja lopute večja od določene, bo krmilnik prekinil morebitno

obogatitev med pospeševanjem. Če je ob tem hitrost vrtenja motorja enaka ali

večja od 1500 obr/min, krmilnik zmes osiromaši za procentualno vrednost

nastavljivo znotraj uporabniškega programa.

Z uporabo λ-sonde nam krmilnik omogoča povratnozančno regulacijo zmesi

glede na vsebnost kisika v izpušnih plinih. Do regulacije pride ob izpolnitvi večih

pogojev: v uporabniškem programu mora biti regulacija omogočena, temperatura

in hitrost vrtenja motorja pa morata biti nad uporabniško določeno. Korekcija

zmesi poteka po stopnjah. Hitrost spremembe korekcije, dovoljena višina

korekcije ter ciljna izhodna napetost λ-sonde so tudi poljubno nastavljive.

V sledečem programskem bloku pride do določitve volumskega izkoristka

polnjenja valjev (spremenljivka VECURR), ki odgovarja trenutni točki delovanja

Page 92: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 76

motorja. Krmilnik omogoča izbiro med določanjem volumskega izkoristka glede

na hitrost vrtenja in tlaka v sesalni cevi (ang.: speed/density mode), ali glede na

hirtost vrtenja in kota odprtja lopute (alpha/N mode). V slednjem primeru je

priporočljiva uporaba senzorja pozicije dušilne lopute z dvojnim območjem, ki

omogoča večjo ločljivost pri majhnih kotih odprtja. Krmilnik podpira tak tip

senzorja proizvajalca BOSCH s št. oznako 0 280 122 201 [21].

Volumski izkoristek je določen v 144 točkah, za 12 vrednosti hitrosti vrtenaja in

za 12 vrednosti tlaka v sesalni cevi ali pozicije dušilne lopute, ki so razporejene

čez celotno območje delovanja motorja. Iz tabele se prikličejo štiri (dva para)

vrednosti volumskega izkoristka, ki pripadajo vrednostim za hitrost in tlak, ki sta

dejanski hitrosti vrtenja in tlaku v sesalni cevi najbliţje. Z interpolacijo glede na

hitrost, se iz para vrednosti volumskega izkoristka pri spodnji vrednosti tlaka

določi ena, iz para pri višjem tlaku, pa druga vrednost volumskega izkoristka. Iz

doblenega para se z interpolacijo glede na dejanski tlak v sesalni cevi, oziroma

kot odprtja dušilne lopute, določi končna vrednost volumskega izkoristka.

Sledi delni izračun dolţine pulza vbrizga (spremenljivka PW). Mnoţenje poteka

med pari 8-bitnih števil, ki so izbrani tako, da se izognemo morebitnemu prelivu

(ang.: overflow) zmnoţkov, zaokroţevanje rezultatov poteka na koncu. Prične se

z zdruţitvijo vseh poprej izračunanih obogatitev v spremenljivko GAMMAE.

Parameter REQ_FUEL (shranjen v spremenljvki REQFUEL) se pomnoţi z

izračunanim volumskim izkoristkom (VECURR), tlakom v sesalni cevi (KPA) in

obogatitvami (GAMMAE), kakor je določeno v enačbi (4.7). V primeru

volumskega izkoristka določenega na podlagi hitrosti vrtenja in kota odprtja

dušilne lopute se iz izračuna izpusti faktor pMAP.

V naslednjem bloku kode se določi korekcija časa odpiranja vbrizgalnih šob

glede na napatost akumulatorja. Tudi tu je točen čas odpiranja določen z

interpolacijo med dvema skrajnima vrednostima.

Page 93: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 77

Sledi končni izračun dolţine pulza vbrizga, kjer se predhodno izračunani delni

vrednosti prišteje še morebitna obogatitev ob pospeševanju in koregiran čas

odpiranja vbrizgalnih šob. Izvajanje programa se nadaljuje na začetku glavne

zanke, ki jo krmilnik preteče pribliţno 1500 krat na sekundo.

Prekinitve

Ob prekinitvi mikrokrmilnik glede na izvor prekinitve, ki ga označuje

odgovarjajoča zastavica (ang.: flag) v namenskem registru, izbere med

naslednjimi prekinitvenimi rutinami.

Časovna prekinitev

Časovnik glavne ure sproţi prekinitev ob vsakem preteku ene desetinke

milisekunde (0,1 ms). V prekinitveni rutini pride do beleţenja pretečenega časa

od vklopa krmilnika. Informacija o pretečenem času je shranjena v 8-bitnih

registrih v delovnem pomnilniku mikrokrmilnika.

Ob vsaki časovni prekinitvi pride najprej do inkrementiranja registra, ki šteje

desetinke milisekunde. Kadar je vrednost v tem registru enaka 10 se register

zbriše in se inkrementira vrednost v registru namenjenemu milisekundam. Kadar

je vrednost tega registra enaka 100 se tudi ta pobriše, ter se inkrementira

register namenjen desetinkam sekunde (100 ms = 0,1 s) in tako dalje do štetja

sekund, katerim sta namenjena dva registra, kar omogoča beleţenje časa preko

18 ur.

Znotraj te prekinitvene rutine se poleg beleţenja časa vršijo še druge naloge. Ker

je regulacija trajanje posameznega pulza vbrizga natančna na desetinko

milisekunde, se ob vsaki časovni prekinitvi vrši tudi krmiljenje vklopa in izklopa

izhodnih stopenj, ki poganjajo vbrizgalne šobe, ter beleţenje pretečenega časa

pulza vbrizga. Do vklopa posamezne izhodne stopnje pride, če je bil predhodno

nastavljen ukaz o vklopu, do katerega lahko pride v prekinitveni rutini ob signalu

iz senzorja hitrosti vrtenja motorja.

Page 94: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 78

Ob vklopu posamezne izhodne stopnje se prične beleţenje časa trajanja pulza

vbrizga, ki se ob kasnejših časovnih prekinitvah primerja z izračunano dolţino

pulza vbrizga. Kadar vrednosti sovpadata, se posamezen pulz vbrizga preneha.

Med delovanjem šob sveti zelena LED dioda.

Ob uporabi vbrizgalnih šob z nizko upornostjo navitja moramo moč, dovedeno le-

tem omejiti. To naredimo s primerno nastavitijo krmiljenja vbrizgalnih šob v

uporabniškem programu. V tem primeru je ob začetku pulza vbrizga na šobe

pripeljana polna moč, kar zagotovi najhitrejše moţno odpiranje, kasneje pa se

moč omeji s pulznoširinsko modulacijo krmilne napetosti. Frekvenca modulacije

je 25 kHz .

Znotraj časovne prekinitve se vrši tudi kontrola hitrosti vrtenja motorja. Če

krmilnik zazna, da je motor zaustavljen se zaradi varnosti nemudoma prekine

delovanje črpalke za gorivo in vbrizgalnih šob.

Mikrokrmilnik ima vgrajen 10-bitni analogno digitalni pretvornik, katerega krmilni

program ciklično preklaplja med sedmimi analognimi vhodi na katere so pripeljani

signali iz senzorjev. Zamenjava vhoda se vrši vsako drugo milisekundo, v

naslednji milisekundi pa pride do začetka A/D pretvorbe. Na ta način je

upoštevan čas, ki je potreben za pravilen zajem napetosti ob preklopu vhoda

(ang.: acquisition time).

Prekinitev ob detekciji pulza iz senzorja hitrosti vrtenja motorja

Znotraj te prekinitvene rutine se vrši pomnenje časa, ki preteče med dvema

detektiranima pulzoma in brisanje temu namenjenega registra.

Inkrementira se tudi register za beleţenje delovnih ciklov motorja, kateri se

uporablja pri določitvi obogatitve po zagonu in regulaciji glede na vsebnost kisika

v izpušnih plinih.

Page 95: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 79

Odvisno od načina detekcije hitrosti vrtenja se število prekinitvenih pulzov na

obrat motorne gredi razlikuje. Glede na to in ţeleno število ter način razporeditve

pulzov vbrizga (hkratni ali izmenjujoči) znotraj enega cikla delovanja, se ukaţe

vbrizg na posameznem izhodu.

Prekinitev ob opravljeni A/D konverziji

Ob zaključeni konverziji se izračuna povprečje med novo in staro vrednostjo

izmerjene veličine. Rezultat se shrani v delovni pomnilnik kot aktualna vrednost

meritve.

Prekinitvi zaradi serijske komunikacije

Serijska komunikacija z osebnim računalnikom poteka po protokolu RS-232 s

hitrostjo 9600 bit/s in povzroča dve vrsti prekinitev glavne programske zanke: ob

prejeti besedi in ob oddani besedi.

Ukazi iz računalnika prihajajo v posameznih 8-bitnih besedah, ki vsebujejo ASCII

kodirane črke, ki predstavljajo različne ukaze:

A – pošlji realnočasovne spremenljivke po txport-u,

V – pošlji nastavitvene konstante (vrednosti iz vpoglednih tabel in ostale

konstante) po txport-u,

W +”pozicija”+”nova vrednost” – zamenjaj vrednost nastavitvene konstante na

naslovu “pozicija” z vrednostjo “nova vrednost”,

B – shrani vrednosti nastavitvenih konstant iz delovnega v programski pomnilnik,

C – test komunikacije

O – shrani nove vrednosti tabele BAROFACTOR v programski pomnilnik

K – shrani nove vrednosti tabele KPAFACTOR v programski pomnilnik

D – shrani nove vrednosti tabele AIRDENFACTOR v programski pomnilnik

T – shrani nove vrednosti tabele THERMFACTOR v programski pomnilnik

Programska koda vključuje tudi podrutine, katere se kličejo med izvajanjem

krmilnega programa.

Page 96: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 80

4.2.2 Uporabniški program

Uporabniški program Pictune deluje v operacijskem sistemu Microsoft Windows

XP. Izvorna koda je napisana v programskem jeziku VisualBasic.Net, ki je del

razvojnega okolja Microsoft VisualStudio 2009 Express [22]. Program ima

grafični uporabniški vmesnik in je namenjen realnočasovnemu spremljanju

delovanja motorja in spreminjanju parametrov krmiljenja vbrizga. Ker je

predstavljen krmilnik po zgradbi in delovanju potomec odprtokodnega krmilnika

vbrizga goriva Megasquirt si lahko pri nastavitvah pomagamo z navodili za

uporabo le-tega [23].

Ob zagonu programa imamo moţnost izbire med slovenskim in angleškim

jezikom. Po izboru jezika se prikaţe glavno pogovorno okno (slika 32).

Slika 32: Glavno pogovorno okno programa Pictune

Page 97: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 81

V osrednjem delu pogovornega okna je v dveh vrstah razporejenih osem

številčnic prikazovalnikov, ki po izgledu spominjajo na okrogle analogne

prikazovalnike. Z njih lahko uporabnik, med delovanjem in ob vzpostavljeni

komunikaciji s krmilnikom odčita vrednosti karakterističnih veličin, ki nosijo

informacijo o delevanju motorja in sistema za vbrizg goriva.

Na koncih skale vsakega prikazovalnika je napisana najmanjša in največja

vrednost prikazovane veličine, vmesne vrednosti pa so označene s črticami.

Uporabnik lahko določi trenutno vrednost prikazovane veličine glede na odklon

igle ali iz numeričnega zapisa v sredini stevilčnice, kjer stoji tudi oznaka merske

enote. Nad številčnico je napis, ki označuje kaj posamezen prikazovalnik

prikazuje in sicer:

- Hitrost motorja je podana v številu obratov motorne gredi v eni minuti,

- Odprtost lopute je izraţena v odstotkih odprtja dušilne lopute,

- Trajanje vbrizga označuje čas trajanje posameznega pulza vbrizga v ms,

- Pulzno razmerje je trajanje pulza vbrizga izraţeno v odstotkih glede na čas

trajanja enega delovnega cikla motorja,

- Tlak v kolektorju prikazuje vrednost absolutnega zračnega tlaka znotraj

sesalne cevi v kPa,

- Temp. zraka prikazuje temperaturo zraka, ki vstopa v motor, podano v °C,

- Temp. motorja prikazuje trenutno temperaturo motorja v °C

- Vol. Izkoristek podan v procentih je volumski izkoristek motorja v trenutni

točki delovanja, kakor ga je določil krmilnik.

Poleg okroglih prikazovalnikov je na dnu glavnega pogovornega okna grafični

prikaz koncentracije kisika v izpušnih plinih, ki ga meri λ-sonda. Vrednost faktorja

λ je prikazana s številom obarvanih okroglih polj, kar spominja na prikazovalnike

z vrsto LED diod. Vseh polj je štirideset, polovica se jih obarva zeleno, druga

polovica pa rdeče. Polja se obarvajo postopoma, od leve proti desni, glede na

napetost na izhodu λ-sonde. Začetek vrste je pri napetosti 0 V, sredina pri

nastavljeni ciljni napetosti senzorja, navadno je to kadar je λ =1, in konec pri

Page 98: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 82

dvakratni ciljni napetosti senzorja. Območje zelenih polj označuje dovajanje

osiromašene zmesi goriva in zraka, obarvanje rdečih polj preko sredine vrste, pa

dovajanje zmesi s pribitkom goriva.

V orodni vrstici glavnega pogovornega okna najdemo zavihke s povezavami do

ostalih pogovornih oken. Izbiramo lahko med: Datoteka, Nastavitve, Umerjanje,

Komunikacija, Orodja in Pomoč.

Datoteka

Pod tem zavihkom najdemo povezave Odpri, Shrani, Shrani kot in Izhod. S

klikom na Izhod zapustimo uporabniški program, prve tri povezave pa odprejo

standardizirana pogovorna okna za upravljanje z datotekami. Nastavitve

parametrov, ki smo jih izvedli v programu shranimo v poljubno poimenovano

datoteko preko pogovornega okna Shrani kot ali v trenutno aktivno datoteko z

izbiro povezave Shrani. Iz shranjene datoteke lahko nastavitve prikličemo preko

pogovornega okna Odpri. Program odpira in shranjuje podatke v datoteke s

končnico .ps.

Nastavitve

Pod zavihkom nastavitve so povezave do pogovornih oken za nastavitve

konstant, obogatitev in tabele volumetričnega izkoristka.

Konstante

Z izbiro povezave Konstante se odpre pogovorno okno prikazano na sliki 33, ki

nam omogoča spremeinjanje osnovnih nastavitev delovanja vbrizga goriva.

Page 99: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 83

Slika 33: Pogovorno okno z osnovnimi nastavitvami

Nastavitev parametra Potrebno Gorivo (ang.: Reqired Fuel), ki nastopa v enačbi

(4.7) in nosi informacijo o prostornini motorja in pretoku vbrizgalnih šob,

izvedemo preko posebnega pogovornega okna (slika 34), ki se odpre s potrditvijo

gumba Izračunaj.

Page 100: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 84

Slika 34: Izračun parametra Potrebno gorivo ( REQ_FUEL)

Vanj vpišemo vrednosti za delovno prostornino motorja, število valjev, pretok šob

in ţeleno mešalno razmerje. Po izračunu pogovorno okno zapremo z gumbom

Zapri. Nova vrednost se samodejno vnese v tekstovno polje Potrebno gorivo.

Hkrati se posodobi tudi vrednost v tekstovnem polju Vrednost za krmilnik, ki je

vrednost parametra Potrebno gorivo prilagojena številu šob in načinu vbrizga.

V pogovornem oknu Nastavitve konstant nastavljamo tudi način krmiljenja

vbrizgalnih šob. Pri uporabi šob z nizko upornostjo je nujna omejitev toka skozi

navitje, zato v tekstovno polje Pulzno razmerje PŠM vpišemo vrednosti manjše

od 100 %, priporočena [23] začetna vrednost je 75 %. Vklop pulznoširinske

modulacije je potrebno zakasniti, saj tako doseţemo krajše čase odpiranja.

Priporočena vrednost je 1 ms. Obe vrednosti postopoma zmanjšujemo vse

dokler ne opazimo poslabšanja delovanja motorja v prostem teku.

Če uporabljamo vbrizgalne šobe z visoko upornostjo, tokovna omejitev ni

potrebna zato v polje Pulzno razmerje PŠM vpišemo vrednost 100 %, zakasnitev

vkopa pulznoširinske modulacije pa naj bo 25,4 ms.

Page 101: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 85

Znotraj okvira Krmiljenje šob izbiramo način krmiljenja med Hitrost-Tlak in Kot

lopute-Obrati. V prvem primeru bo obremenitev motorja določena na podlagi

tlaka v sesalni cevi, v slednjem pa glede na kot odprtja dušilne lopute.

Sledi izbira števila posameznih pulzov vbrizga v enem delovnem ciklu motorja,

izbira načina vbrizga; hkratni (simultani) vbrizg ali izmeničen (alternirajoč) vbrizg

dveh izhodnih kanalov za pogon šob, izbira tipa motorja (štiritaktni ali dvotaktni)

ter izbira števila valjev in števila vgrajenih vbrizgalnih šob.

Pogovornem okno omogoča še nastavitve tipa uporabljenih senzorjev, zgornjo

temperaturno mejo delovanja ventila prostega teka ter vklop korekcije glede na

spremembo zunanjega zračnega tlaka.

Obogatitve

To pogovorno okno (slika 35) omogoča uporabniku nastavitve obogatitev v razlih

reţimih delovanja motorja.

Slika 35: Pogovorno okno z nastavitvami obogatitev zmesi

Page 102: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 86

Ob zagonu motorja se dolţina pulza vbrizga določi glede na trenutno

temperaturo motorja z interpolacijeo med trajanjem pulza pri temperaturi −40 °C

in 75 °C. Slednja naj bo od 3 do 5 krat manjša od prve [23]. Za uspešen zagon

motorja ti dve vrednosti ne smeta odstopati več kot 0,5 ms od optimalnih.

Po uspešnem zagonu začne delovati obogatitev Po zagonu. Vrednost obogatitve

naj bo od 25 % do 45 % trajanje pa od 100 do 250 delovnih ciklov.

Obogatitev v fazi ogrevanja nastavljamo v desetih točkah za različne temperature

motorja. Vrednost obogatitve naj se postopoma zmanjšuje z naraščanjem

temperature. Za temperaturo motorja −40 °C je primerna obogatitev navadno v

rangu od 160 % do 180 % [23], za temperaturo motorja 70 °C pa le še 100 %,

kar pomeni, da ni dodatne obogatitve.

V okviru Regulacija izpušnih plinov izbiramo tip λ-sonde, ciljno napetost senzorja,

spodnjo temperaturno in hitrostno mejo vklopa regulacije ter hitrost in največjo

dovoljeno spremembo osnovne dolţine pulza vbrizga. Hitrost regulacije določimo

z višino posamezne spremembe in številom pretečenih delovnih ciklov med

spremembami dolţine pulza vbrizga.

Obogatitev med pospeševanjem je določena glede na hitrost spremembe v kotu

odprtja dušilne lopute. Ob pospeševanju se osnovni dolţini pulza vbrizga, ki je

izračunana glede na delovno točko motorja, prišteje dodaten čas trajanja pulza,

kateri se postopoma zmanšuje skozi nastavljiv čas trajanja obogatitve. Dodatek

je določen za štiri hitrosti odpiranja: 2 V/s, 4 V/s, 8 V/s in 15 V/s. V literaturi [23]

priporočene začetne vrednosti dodatka po tem vrstnem redu so 1 ms, 4 ms, 8 ms

in 15 ms. Spodnjo mejo hitrosti spremembe odprtja nastavimo dovolj visoko, da

ne bo prišlo do obogatitev ob počasnih spremembah ali celo zaradi šuma v

signalu senzorja pozicije dušilne lopute (priporočene vrednosti okrog 1 V/s).

Page 103: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 87

V tem kontekstu je potrebna še nastavitev dodatka k obogatitvi ob pospeševanju

pri hladnem motorju. Tu nastavljamo dva parametra faktorski, izraţen v %, s

katerim je osnovna obogatitev pomnoţena, in prištet, izraţen v ms. Okvirne

vrednosti so 150 % in 2 ms [23].

Če ţelimo lahko ob pojemanju (“odvzem plina”), zmes nekoliko osiromašimo.

Priporočene so vrednosto od 20 % do 30 % [23].

Tabela volumetričnega izkoristka

Vrednosti volumetričnega ali volumski izkoristeka motorja urejamo s pomočjo

tabele prikazane na sliki 36. Polja v tabeli se obarvajo v skladu z vnešeno

vrednostjo, kar nam je nekoliko v pomoč pri nastavitvah.

Slika 36: Tabela volumskega izkoristka motorja

Izkoristek je mogoče nastaviti v 144 točkah za 12 vrednosti hitrosti vrtenja

motorja in 12 vrednosti tlaka v sesalni cevi, kadar je izbran krmilni način

Page 104: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 88

hitrost-tlak, ali 12 pozicij dušilne lopute če je izbran način kot lopute-obrati.

Vrednosti hitrost vrtenja in tlaka (ali pozicije lopute) so poljubno nastavljive od

0 obr/min do 25500 obr/min ter on 0 kPa do 255 kPa (oziroma 100 %), vendar je

edino smiselno izbrati tak razpon vrednosti, ki odgovarja dejanskemu območju

delovanja motorja.

Volumetrični izkoristek je izraţen v %. V tabelo lahko vnašamo vrednosto od 0 %

do 255 %. Volumetrični izkoristek ponazarja stopnjo polnjenja delovne

prostornine motorja z zrakom pod normalnim zračnim tlakom 101,3 kPa. Z

Večanjem stopnje odprtja dušilne lopute se veča tudi tlak v sesalni cevi in s tem

tlak polnjenja valjev, zato bo naraščal tudi volumski izkoristek motorja. Vpliv

hitrosti vrtenja na potek volumskega izkoristka pa bo diktirala predvsem zgradba

motorja. Višek je doseţen pri hitrosti vrtenja, kjer je tudi navor največji.

Natavitve tabele volumskega izkoristka pričnemo z spreminjanjem vrednosti v

osnovni ali kaki prej izdelani tabeli. Vedno pričnemo z nastavitvami v območju

prostega teka in preidemo na druga območje šele kadar motor deluje zadovoljivo

v prostem teku. Pri nastavitvi tabele si najlaţje pomagamo z meritvami vrednosti

faktorja λ in s spremljanjem delovanja motorja.

V vseh pogovornih oknih moramo za pošiljanje spremenjenih parametrov v

pomnilnik krmilnika to potrditi z gumom Pošlji v MK. Seriska povezava med

osebnim računalnikom in krmilnikom vbrizga mora pri tem delovati.

Umerjanje

Pod zavihkom Umerjanje najdemo povezavo Volumetrični izkoristek, katera

odpre pogovorno okno na sliki 37.

Page 105: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 89

Slika 37: Umerjanje karakteristike volumetričnega izkoristka

V levem delu okna se nahaja šest okroglih in en vrstični prikazovalnik merjenih

veličin. Z njihovo pomočjo spremljamo delovanje motorja, ko je komunikacija z

krminikom vzpostavljena. Desno zgoraj je na črni podlagi tridimenzionalen prikaz

ravnine, ponazorjene z mreţo, razpeto med posamezne vrednosti

volumetričnega izkoristka, kakor so bile poprej vnešene v tabeli.

Spodnja črta predstavla os x z vrednostimi hitrosti vrtenja motorja, leva črta pa os

y z vrednostimi tlaka v sesalni cevi oziroma stopnjo odprtja dušilne lopute. Višina

posamezne točke na ravnini (os z) je odvisna od pripadajoče vrednosti

volumetričnega izkoristka.

Po ravnini drsita dve točki, rdeč kriţec in zelen krogec. Zelena točka označuje

trenutno delovno točko motorja, rdečo točko pa premikamo s pomočjo kurzorskih

tipk (←,↑,→,↓). Kadar ţelio vrednost volumetričnega izkoristka v določeni točki

spremeniti, se z rdečim kriţcem pomaknemo v ţeleno pozicijo. S tipkama PgUp,

Page 106: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 90

PgDn, vrednost spremenimo za +1 % in −1 %, tipki Home in End pa povročijo

spremembo vrednosti za + 5 % in −5 %.

Pozicija in vrednost izkoristka v obeh točkah je zapisana tudi alfanumerično v

črnem kvadratu desno spodaj.

Spremembe pošljemo v pomnilnik mikrokrmilnika s pritiskom na tipko Enter.

Komunikacija

Ta zavihhek omogoča izbiro povezave Nastavitve, ki odpre pogovorno okno za

vzpostavitev serijske komunikacije med osebnim računalnikom in krmilnikom

vbrizga. V tekstovnem polju izberemo med ponujenimi COM porti. Povezavo še

preizkusimo in z gumbom Preizkusi.

Orodja

Pod orodji so povezave do štirih pogovornih oken za generiranje vpoglednih

(konverzijskih) tabel, ki jih krmilni program uporablja za pretvorbo signalov iz

senzorjev v fizikalne veličine.

V pogovorno okno MAP tabela (slika 38) vnesemo vrednosti absolutnega

zračnega tlaka pri napetosti na izhodu senzorja 0 V in 5 V. Vrednosti za nekatere

pogostejše senzorje tlaka izvemo s potrditvijo na gumb F1, za ostale pa

pregledamo specifikacije senzorja. Tabelo KPAFACTOR generiramo in zapišemo

v pomnilnik mikrokrmilnika s potrditvijo gumba Pošlji v MK. Pogovorno okno, ki

se odpre s povezavo Tabela barometrčne korekcije, je na pogled enako vendar z

njim generiramo tabelo BAROFACTOR, ki jo krmilni program uporablja za

določitev korekcije glede na zunanji zračni tlak.

Page 107: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 91

Slika 38: Okno za generiranje konverziske tebele senzorja tlaka

Tebelo THERMAFCTOR, ki jo krmilni program uporablja za pretvorbo

nelinernega izhoda napetostnega delilnika v katerem je vključen termistorski upor

za merjenje temperature motorja generiramo v oknu Senzor temperature motorja

(slika 39).

Slika 39: Okno za generiranje konverziske tebele senzorja temperature

V polja vpišemo tri upornosti uporabljenega senzorja pri treh različnih

temperaturah, ter vrednost upora v napetostnem delilniku vhodnega vezja.

Posodobljeno konverzijsko tabelo zapišemo v krmilnikov pomnilnik z gumbom

Pošlji v MK. Pogovorno okno Senzor temperature zraka se na pogled ne razlikuje

od prejšnjega ampak je namenjeno generiranju tabele AIRDENFACTOR, s

katero krmilnik določi korekcijo glede na temperaturo zraka.

Page 108: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 92

Page 109: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 93

5 Meritve

Za potrebe preizkušanja in opravljanja meritev smo predstavljen krmilnik vbrizga

vgradili v osebni avtomobil Renault 4 TL specijal. Avtotomobil je bil izdelan leta

1980, poganja ga vrstni štiritaktni bencinski motor s štirimi valji, delovno

prostornino 845 cm3 in močjo 25 kW. Sistem za vbrizg goriva je bil na ţeljo

lastnika vgrajen le začasno, zato je bila vgradnja kolikor mogoče

poenostravljena.

Merilnik

Meritve vsebnosti kisika v izpušnih plinih so bile opravljene z merilnikom

mešalnega razmerja LM-1 proizvajalca Innovate Motorsport [24]. Merilnik

uporablja širokopasovni λ-senzor LSU-4.2 proizvajalca Bosch, ima tekočekristalni

prikazovalnik mešalne ga razmerja ali λ faktorja, moţnost priklopa štirih poljubnih

dodatnih senzorjev (hitrost vrtenja, tlak v kolektorju, temperatura,...) in notranji

pomnilnik, ki omogoča do 44 minut beleţenja izhodnih signalov uporabljenih

senzorjev (ang.: data logging). Natančnost meritev mešalnega razmerja znaša ±

0,01 λ.

Slika 40: Notranjost vozila z merilnikom mešalnega razmerja (v ospredju) in

krmilnikom vbrizga goriva (spodaj desno)

Page 110: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 94

5.1 Vgradnja sistema vbrizga goriva

Vgradnja sistema za vbrizg je zahtevala predelave opreme motorja. Ker je bil

avtomobil originalno opremljen z uplinjačem, je bilo potrebno le-tega nadomestiti

z dušilno loputo in v sesalni trakt namestiti šobe za vbrizg goriva. V originalni

sesalni kolektor smo zato izvrtali dve luknji, v kateri smo z varjenjem pričvrstili

ţelezni puši, ki sluţijo za sedišča vbrizgalnima šobama (slika 41).

Slika 41: Originalni sesalni kolektor z uplinjačem (levo) in modificirani kolektor z

vbrizgalnima šobama in dušilno loputo (desno)

Na vrh šob je pričvrščen gorivni vod z regulatorjem tlaka goriva. Gorivo pod

tlakom dovaja električna gorivna črpalka, nameščena v bliţini dodatnega,

prenosnega, gorivnega rezervoarja v prtljaţniku avtomobila. Gorivo je pred

vstopom v gorivni vod filtrirano z namenskim filtrom, kar preprečuje nesnagi

zamašitev vbrizgalnih šob. Sistem za dovod goriva je kroţnega tipa, zato višek

dovedenega goriva odteka v rezervoar po povratnem vodu.

Zaradi konfiguracije sesalnih kanalov (sesalna cev se v motorni glavi razdeli na

dva kanala – ang.: siamesed ports) sta vbrizgalni šobi le dve. Vsaka dovaja

gorivo enemu paru valjev. Preizkusili smo dva para šob z različno pretočnostjo.

Prve, s pretočnostjo 158 cm3/min, so se izkazale za nezadostne pri višjih vrtljajih

Page 111: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 95

(nad 4500 obr/min) in polni obremenitvi motorja, drugi par s pretočnostjo 214

cm3/min pa je zmogel dovajati zadostno količino goriva pri polni obremenitvi do

priporočene hitrostne meje motorja (6000 obr/min).

Motor smo opremili s senzorji, ki krmilniku omogočijo pridobivanje potrebnih

informacij. Izbran je bil hitrostno-tlačni način krmiljenja. Obremenitev motorja se v

tem primeru določi na podlagi podatka o absolutnem tlaku v sesalni cevi (ang.:

Manifold Absolute Pressure - MAP), ta prihaja iz senzorja tlaka vgrajenega v

relejno ploščo v motornem prostoru in povezanega s sesalim kolektorjem preko

gumijaste cevi.

Hitrost vrtenja motorja se določa na podlagi frekvence pulzov iz sistema za vţig.

To smo naredili tako, da smo prekinjevalec v razdelilniku vţiga povezali z

vhodom tach in (glej prilogo 1), vhodno prilagoditveno vezje signala senzorja

hitrosti vrtenja (slika 28) v krmilniku pa smo spremenili v skladu z napotki na

strani 62 (R14 = 680 Ω, D3 = Zener 36 V).

V izpušno cev je bila na odaljenosti okrog 50 cm od motorne glave vgrajena

prirobnica z navojem, v katero smo privili širokopasovno λ-sondo (slika 42).

Slika 42: Montaţa širokopasovne λ-sonde

Page 112: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 96

Ostali senzorji na motorju so bili potenciometer za pozicijo dušilne lopute

(slika 43) ter dva temperaturna senzorja, eden znotraj zračnega filtra za meritev

temperature vstopnega zraka (slika 44), drugi namenjen temperauri motorja

montiran tako, da je v direktnem kontaktu z motorno glavo (slika 45).

Slika 43: Dušilna loputa s potenciometrom. Viden je tudi gorivni vod.

Slika 44: Senzor, namenjen meritvam temperature vstopajočega zraka,

nameščen znotraj zračnega filtra.

Page 113: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 97

Slika 45: Senzor temperature motorja.

Električne povezave iz senzorjev, vbrizgalnih šob in gorivne črpalke smo z

krmilnikom povezali preko terminalov na dodatni relejni plošče v motornem

prostoru. Na relejni plošči (slika 46) so rele za vklop gorivne črpalke, rele ventila

za dodatni zrak (neobstoječ v tem primeru), varovalke ter tlačni senzor. Šibkejši

signali so do krmilnika, ki je nameščen v potniški kabini, speljani preko

večţilnega signalnega kabla, zaključenega s 37 pinskim D-sub konektorjem,

povezave vbrizgalnih šob in krmilnika so izvedene s kabli s presekom vodnika

1,5 mm2.

Slika 46: Relejna plošča v motornem prostoru.

Page 114: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 98

Za nastavitve krmilnih parametrov smo uporabili prenosni računalnih in

predstavljen uporabniški program. Izbran je bil hitrostno-tlačni način krmiljenja.

Ker smo uporabili šobe z visoko upornostjo navitja (16 Ω) tokovna omejitev s

pulznoširinsko modulacijo napetosti ni bila potrebna. Izkazalo se je, da moramo

zaradi posebne konfiguracije sesalnih kanalov in le dveh vbrizgalnih šob,

dovedeno gorivo razdeliti na dva vbrizga na delovni cikel. Tako smo uspeli

doseči enakomernejšo porazdelitev goriva med valji, kar je imelo za posledico

mirnejši tek motorja.

Avtomobil smo s pravilno delojočim sistemom zagnali po nekaj poskusih z

različnimi vrednostmi trajanja vbrizga ob zagonu. Po nastavitvi motorne

karakteristike (tabela VE) v območju prostega teka smo prešli na nastavitve

karakteristike v ostalih reţimih delovanja. Pri tem smo si pomagali z meritvami

mešalnega razmerja ob voţnji z avtomobilom. Med umerjanjem karakteristike

volumetričnega izkoristka smo povratnozančno regulacijo na podlagi faktorja λ

izključili ter nastavili vrednosti v tabeli volumetričnega izkoristka tako, da je bilo

mešalno razmerje v celotnem območju delovanja čim bliţje teoretično idealnemu.

Nato smo povratnozančno regulacijo znova omogočili.

Vrednosti obogatitev zmesi ob ogrevanju motorja na delovno temperaturo smo

nastavili v skladu s priporočili (180 % obogatitve pri −40 °C) vendar pravilnosti

nastavitev ni bilo mogoče v celoti preizkusiti zaradi previsokih zunanjih

temperatur.

Zahtevnejša se je izkazala nastavitev obogatitve pri pospeševanju. Ciljna

vrednost faktorja λ med pospeševanjem je bila 0,85, katero nam ni uspelo

popolnoma zagotoviti. Priporočene začetne vrednosti so se izkazale za previsoke

(λ = 0,6), zato smo jih zmanšali za četrtino, kar je mešalno razmerje med

pospeševanjem pribliţalo ciljni vrednosti. Na ţalost se je s tem nekoliko povečalo

kratkotrajno začetno osiromašenje ob hitrem odprtju dušilne lopute, ki nam ga ni

uspelo popolnoma odpraviti. Za optimalno nastavitev obogatitve med

Page 115: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 99

pospeševanjem bi potrebovali več poskusnih voţenj, med katerimi bi z vozilom

pospeševali z različnimi hitrostmi odpiranja dušilne lopute.

Delovanje testnega avtomobila z vgrajenim sistemom za vbrizg goriva smo

preizkusili v voţnji v mestu in krajšimi voţnjami na hitri cesti. Avtomobil je tudi z

hladnim motorjem zaneslivo vţigal. Nekoliko moteča je bila le odsotnost ventila

za dvig prostega teka hladnega motorja. Motor je brezhibno deloval v vseh

reţimih, razen med močnim pospeševanjem, ko je bila, zaradi neoptimiziranih

nastavitev obogatitve med pospeševanjem, dovedena zmes preveč obogatena.

Povratnozančna regulacija mešalnega razmerja je delovala brezhibno, med

enakomerno voţnjo je bila zmes v ozkem območju okrog teoretično idealnega

(λ = 1). Opazno je bilo tudi povečanje maksimalne moči motorja zaradi

zamenjave uplinjača z notranjim premerom 28 mm z dušilno loputo z večjim

notranjim premerom (40 mm).

Večino uporabljenih delov sistema vbrizga smo dobili na avtomobilskem odpadu

ter jih prilagodili našim potrebam. Cena vgradnje je bila temu primerno nizka;

brez vštetih stroškov za izgradnjo krmilnika (70 €) je znašala pribliţno 100 €.

5.2 Rezultati meritev

Meritve mešalnega razmerja med voţnjo v različnih reţimih delovanja smo

opravili pred in po vgradnji sistema za vbrizg. Zabeleţene podatke iz merilnika

LM 1 smo analizirali v programu LogWorks2 [25].

Graf na sliki 47 prikazuje časovni potek λ faktorja, hitrosti vrtenja (RPM), tlaka v

sesalnem kolektorju (MAP) ter temperatur motorja (CLT) in vstopnega zraka

(IAT) med voţnjo po hitri cesti. Motor je ogret, hitrost vrtenja je konstantna, tlak v

kolektorju pa se spreminja v odvisnosti od obremenitve.

Page 116: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 100

Slik

a 4

7: G

raf g

iban

ja m

erje

nih

ve

ličin

me

d v

oţn

jo z

vg

raje

nim

up

linja

če

m

Page 117: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 101

Slik

a 4

8: G

raf g

iban

ja m

erje

nih

ve

ličin

me

d v

oţn

jo te

stn

eg

a a

vto

mob

ila z

vg

raje

nim

sis

tem

om

za

vb

rizg

Page 118: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 102

Iz meritev je razvidno, da pri testnem avtomobilu z vgrajenim uplinjačem mešalno

razmerje močno niha v območju osiromašene zmesi, vrednosti faktorja λ so od

1,2 do 1,5.

Po vgraditvi in sistema za vbrizg, nastavitvi krmilnih parametrov in vključeni

regulaciji glede na vrednost λ smo ponovno opravili testno voţo med katero smo

opravljali meritve faktorja λ, tlaka v kolektorju in hitrosti vrtenja motorja.

Temperatur tokrat nismo beleţili, vendar so bile primerljive z temperaturami

predhodne meritve pri ogretem motorju. Časovni potek izmerjenh vrednosti je

prikazan na grafu na sliki 48.

Razvidno je, da so izmerjene vrednosti mešalnega razmerja bliţje teoretično

idealnemu. V časovnem poteku je opazen padec vrednosti fektorja λ ob hitrem

povečanju obrementve motorja (porast tlaka v kolektorju). Ob pospeševanju

krmilnik za določen čas obogati dovedeno zmes, da bi kompenziral prehodni

pojav pri pospeševanju ter zagotovil največjo moč. Ob enakomerni voţnji brez

obogatitve zaradi pospeševanja so se izmerjene vrednosti faktorja λ gibale v

oţjem območju okoli λ = 1, kar potrjuje pravilno delovanje povratnozančne

regulacije.

Page 119: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 103

6 Sklepne ugotovitve

Elektronski sistem vbrizga goriva omogoča natančnejše krmiljenje dovajanja

goriva in tvorbo kvalitetnejše zmesi goriva in zraka v primerjavi z uplinjačem in

starejšimi sistemi za vbrizg goriva. Povratnozančna regulacija mešalnega

razmerja glede na vsebnost kisika v izpušnih plinih ohranja mešalno razmerje v

ozkem območju okrog teoretično idealnega, kar je pogoj za uporabo tripotnih

katalizatorjev izpušnih plinov.

Predstavljeni krmilnik vbrizga goriva smo preizkusili v kombinaciji s sistemom za

vbrizg, ki smo ga vgradili v starejši avtomobil, kjer je deloval po pričakovanjih. To

potrjuje tezo, da vgradnja elektronskega sistema vbrizga goriva omogoča

uporabo katalizatorja izpušnih plinov tudi v vozilih, ki z njim niso tovarniško

opremljena.

Krmilnik je po lastnostih primerljiv s komercijalnimi krmilniki vbrizga nizkega in

srednjega cenovnega razreda, vendar je končna cena zaradi moţnosti izdelave v

samogradnji niţja. Moţnost za nadaljni razvoj krmilnika so v dodatnih krmilnih

funkcijah, predvsem moţnost krmiljenja sistema za vţig, kar bi omogočilo popolni

nadzor nad delovanjem motorja. Uporabniški program je mogoče izboljšati z

novim, intuitivniejšim uporabniškim vmesnikom in dodatnimi orodji za olajšanje

nastavljanja krmilnih parametrov.

Page 120: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 104

Page 121: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 105

Priloga 1: Električna shema krmilnika

Mik

rokrm

ilnik

s k

rist

alom

Page 122: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 106

Prilagoditvena vezja signalov iz senzorjev

Page 123: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 107

Pri

lagodit

ven

o v

ezje

za

razl

ične

tipe

sen

zorj

ev h

itro

sti

vrt

enja

moto

rja

Page 124: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 108

Izhodno v

ezje

za

krm

ilje

nje

vbri

zgal

nih

šob

Page 125: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 109

Izhodna

vez

ja L

ED

dij

od

in r

elej

ev g

ori

vne

črpal

ke

in v

enti

la p

rost

ega

tek

a

Page 126: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 110

Nap

ajal

no v

ezje

Page 127: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 111

Vezje serijske komunikacije

Konektorja

Page 128: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 112

Prosti izhodi

Page 129: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 113

Priloga 2: Tiskano vezje

Zgornja plast povezav tiskanega vezja (merilo1:1)

Page 130: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 114

Spodnja plast povezav tiskanega vezja (merilo1:1)

Page 131: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 115

Postavitev elementov (merilo1:1)

Page 132: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 116

Priloga 3: Krmilni program

;**********************************************************************

;**

;** P I C S Q U I R T - 2010 - V1.0

;**

;**********************************************************************

LIST P=18F458, F=INHX32 ;directive to define processor

;and file format

radix dec

#include <P18F458.INC> ;processor specific variable definitions

;**********************************************************************

;Configuration bits

__CONFIG _CONFIG1L, _CP_OFF_1L

__CONFIG _CONFIG1H, _HSPLL_OSC_1H ;HS crist. 10Mhz x 4X PLL = 40Mhz

__CONFIG _CONFIG2L, _BOR_OFF_2L & _BORV_25_2L & _PWRT_OFF_2L

__CONFIG _CONFIG2H, _WDT_OFF_2H ;Watch dog timer OFF

__CONFIG _CONFIG4L, _STVR_ON_4L ;stack under-overflou ;reset ON

;**********************************************************************

#define tblsize 0x0c

#define indxsize 0x0b ;tbl size -1 12x12 tbl -> 11=b

#define nVar .212 ; number of program mem variables

#define nrow .4 ;nVar/64

#define wwuaddr 0x194

#define tpsdotaddr 0x0a ;0x610a - does not change with tblsize

#define tpsaqaddr 0x19e

#define kparengeaddr 0xc0 ;0x60c0

#define rpmrengeaddr 0xb4 ;0x60b4

;**********************************************************************

#define fuelp PORTD,5

#define idle PORTD,6

#define sled PORTB,2

#define aled PORTB,3

#define wled PORTB,4

#define inject1 PORTC,2

#define inject2 PORTD,4

#define fbd1 PORTD,0

#define fbd2 PORTD,1

;defining control bit field variables in 'squirt'

#define inj1 squirt,0 ;0=no squirt 1=squirt

#define inj2 squirt,1 ;0=no squirt 1=squirt

#define sched1 squirt,2 ;0=nothing scheduled

;1=scheduled to squirt

#define firing1 squirt,3 ;0=not squirting 1= squirting

#define sched2 squirt,4 ;

#define firing2 squirt,5 ;

;defining Engine control-status variables in bit field 'engine'

#define running engine,0 ;0=engine not runing 1=runing

#define crank engine,1 ;0=engine not cranking

;1=cranking

#define startw engine,2 ;0=not in start-up enricement

;1=in start-up enrichment mode

#define warmup engine,3 ;0=not in warm up 1=in warm up

#define TPSAEN engine,4 ;0=not in TPS acceleration mode

;1=TPS accel. mode

#define TPSDEN engine,5 ;0=not in deceleration mode

;1=in deceleration mode

#define mapaen engine,6 ;0=not in map acceleration mode

;1= in MAP deceleration mode

Page 133: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 117

;defining look-up tables start adresses

#define BAROFACTOR 0x70

#define KPAFACTOR 0x71

#define THERMFACTOR 0x72

#define AIRDENFACTOR 0x73

#define TPS1FACTOR 0x74

#define TPS2FACTOR 0x75

#define INVERSETPS1 0x76

;************temporary _variables************

group1 udata_acs 0x00

tmp1 res 1

tmp2 res 1

tmp3 res 1

tmp4 res 1

tmp5 res 1

tmp6 res 1

tmp7 res 1

tmp8 res 1

tmp9 res 1

tmp10 res 1

tmp11 res 1

tmp12 res 1

tmp13 res 1

tmp14 res 1

tmp15 res 1

tmp16 res 1

tmp17 res 1

tmp18 res 1

tmp19 res 1

;******LININTERP_variables****************

imen res 1

stev res 1

;************Free to use******************

reserve_1 res 1

n64burn res 1

COUNTER res 1

COUNTER_HI res 1

;********* 16DIV_variables***************

div_repeat res 1

;*********16DIV_and_32DIV_variables**************

C0 res 1

C1 res 1

C2 res 1

C3 res 1

EXT_H res 1

EXT_L res 1

WRD_H res 1

WRD_L res 1

LUK_H res 1

LUK_L res 1

;*********control variables***********************

;RAM Variables - Ordered List for RS232 realtime download

secl res 1 ;low seconds - from 0 to 255, then rollover

squirt res 1 ;Event variable bit field for Injector Firing

engine res 1 ;Variable bit-field to hold engine current status

baro res 1 ;Barometer ADC Raw Reading - KPa (0 - 255)

tps1 res 1 ;Throttle Position Sensor 1 ADC Raw Reading –

;counts, represents 0 - 5 volts

tps2 res 1 ;Throttle Position Sensor 2 ADC Raw Reading –

;counts, represents 0 - 5 volts

map res 1 ;Manifold Absolute Pressure ADC Raw Reading - KPa

tps res 1 ;not an AD value but computed from tps1 and tps2

mat res 1 ;Manifold Air Temp ADC Raw Reading

clt res 1 ;Coolant Temperature ADC Raw

batt res 1 ;Battery Voltage ADC Raw Reading - counts

ego res 1 ;Exhaust Gas Oxygen ADC Raw Reading - counts

Page 134: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 118

egocorr res 1 ;Oxygen Sensor Correction

aircor res 1 ;Air Density Correction lookup - percent

warmcor res 1 ;Total Warmup Correction - percent

rpm res 1 ;Computed engine RPM - rpm/100

pw res 1 ;injector squirt time in 1/10 ms (0 to 25.5 ms)

tpsaccel res 1 ;Acceleration enrichment - percent

barocor res 1 ;Barometer Lookup Correction - percent

gammae res 1 ;Total Gamma Enrichments - percent

vecurr res 1 ;Current VE value from lookup table - percent

bspot1 res 1 ;Blank Spot 1

;Calculation Variable

pwcalc res 1 ;Computed pulse width- move into var. PW at squirt

pwrun1 res 1 ;Pulsewidth timing variable - from 0 to 25.5ms

pwrun2 res 1

pw2 res 1 ;the other pw comparison (injector #2)

kpa res 1 ;MAP value in units of KPa

coolant res 1 ;Coolant temperature in Degrees F plus 40 (allows

;-40 degress to fit in integer)

;Engine RPM -&gt; RPM = 6000/(ncyl * (rpmph - rpmpl))

rpmph res 1 ;High part of RPM Period

rpmpl res 1 ;Low part of RPM Period

rpmch res 1 ;Counter for high part of RPM

rpmcl res 1 ;Counter for low part of RPM

old_rpm1 res 1 ;last rpm value (for odd-fire)

;Previous ADC values for computing derivatives

ltps1 res 1 ;Throttle Position Sensor 1 ADC last Reading

ltps2 res 1 ;Throttle Position Sensor 2 ADC last Reading

lmap res 1 ;Manifold Absolute Pressure ADC last Reading

lvref res 1 ;Unused

lmat res 1 ;Manifold Air Temp ADC last Reading

lclt res 1 ;Coolant Temperature ADC last Reading

lbatt res 1 ;Battery Voltage ADC last Reading

lego res 1 ;Last EGO ADC reading

;Global Time Clock

mms res 1 ;0.0001 second update variable

ms res 1 ;0.001 second increment

tenth res 1 ;1/10th second

sech res 1 ;high seconds - rollover at 65536 secs (1110.933

;min = 18.51 hours)

tpsaclk res 1 ;TPS enrichment timer in 0.1 second resolution

egocount res 1 ;Counter value for EGO step - incremented every

;ignition pulse

asecount res 1 ;Counter value for after-start enrichment counter

igncount res 1 ;Ignition pulse counter

altcount res 1 ;Alternate count selector

tpsaclkcmp res 1 ;Comparison value for TPS acceleration time –

;from lookup table

tpsfuelcut res 1 ;TPS Fuel Cut (percent)

;SCI parameters/variables

txcnt res 1 ;SCI transmitter count (incremented)

txgoal res 1 ;SCI number of bytes to transmit

txmode res 1 ;Transmit mode flag

rxoffset res 1 ;offset placeholder when receiving VE/constants

adsel res 1 ;ADC Selector Variable

adtmp res 1 ;temporary used on adc

last_tps res 1 ;TPS reading updated every 0.1 seconds

;**************************************************

; Flash Configuration Variables here - variables can be downloaded via serial link

; VETABLE and Constants

; "VE" is entry point, everything is offset from this point

;**********************************************************************************

udata 0x100

VE res 144 ;144 bytes for VE Table

Page 135: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 119

cwu res 1 ;Crank Enrichment at -40° C

cwh res 1 ;Crank Enrichment at 75° C

awev res 1 ;After-start Warmup Percent enrichment add-on value

awc res 1 ;After-start number of cycles

wwu res 10 ;Warmup bins(fn temp)

tpsaq res 4 ;TPS acceleration amount (TPSDOT) in 0.1 ms units

tpsacold res 1 ;Cold acceleration amount (at -40°C) in 0.1 ms

tpsthresh res 1 ;Accel TPS DOT threshold

tpsasync res 1 ;TPS Acceleration clock value

tpsdq res 1 ;Deacceleration fuel cut

egotemp res 1 ;Coolant Temperature where EGO is active

egocountcmp res 1 ;Counter value where EGO step is to occur

egodelta res 1 ;EGO Percent step size for rich/lean

egolimit res 1 ;Upper/Lower EGO rail limit

req_fuel res 1 ;Fuel COnstant

divider res 1 ;IRQ divide factor for pulse

alternate res 1 ;Alternate injector drivers

injopen res 1 ;Injector Open Time

injocfuel res 1 ;PW-correlated amount of fuel injected during

;injector open

injpwm res 1 ;Injector PWM duty cycle at current limit

injpwmt res 1 ;Injector PWM mmillisec time at which to

;activate

battfac res 1 ;Battery Gamma Factor

rpmk res 1 ;Constant for RPM = 6.000/ncyl -downloaded

rpmk_1 res 1

RPMRANGEVE res 12 ;VE table RPM Bins for 2-D interpolation

KPARANGEVE res 12 ;VE Table MAP Pressure Bins for 2_D interp.

config11 res 1 ;Configuration for PC Configurator

config12 res 1 ;Configuration for PC Configurator

config13 res 1 ;Configuration for PC Configurator

primep res 1 ;Priming pulses (0.1 millisec units)

RPMOXLIMIT res 1 ;Minimum RPM where O2 Closed Loop is Active

fastidle res 1 ;Fast Idle Temperature

VOLTOXTARGET res 1 ;O2 sensor flip target value

ACMULT res 1 ;Acceleration cold multiplication factor

BLANK res 6 ;Extra Slots to make up 64 bytes total

; Placeholder for FLASH programming code

group2 udata 0x200

TBLBURNER res 256 ;Sensor look-up tables are copied here

;for programing

; CONFIG11 Bit Definitions (this is used for PC Configurator Only - not ;used in embedded

code)

; CONFIG11:

; Bit 0-1 = MAP Type

; 00 = MPX4115AP

; 01 = MPX4250AP

; 10 = User-defined

; 11 = User-Defined

; Bit 2 = Engine Stroke

; 0 = Four Stroke

; 1 = Two Stroke

; Bit 3 = Injection Type

; 0 = Port Injection

; 1 = Throttle Body

; Bit 4-7 = Number of Cylinders

; 0000 = 1 cylinder

; 0001 = 2 cylinders

; 0010 = 3 cylinders

; 0011 = 4 cylinders

; 0100 = 5 cylinder

; 0101 = 6 cylinders

; 0110 = 7 cylinders

; 0111 = 8 cylinders

; 1000 = 9 cylinders

; 1001 = 10 cylinders

; 1010 = 11 cylinders

Page 136: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 120

; 1011 = 12 cylinders

; CONFIG12 Bit Definitions (this is used for PC Configurator Only - not used in embedded

code)

; CONFIG12:

; Bit 0-1 = COOL Sensor Type

; 00 = GM

; 01 = User-defined

; 10 = User-defined

; 11 = User-Defined

; Bit 2-3 = MAT Sensor Type

; 00 = GM

; 01 = Undefined

; 10 = Undefined

; 11 = Undefined

; Bit 4-7 = Number of Injectors

; 0000 = 1 Injector

; 0001 = 2 Injectors

; 0010 = 3 Injectors

; 0011 = 4 Injectors

; 0100 = 5 Injectors

; 0101 = 6 Injectors

; 0110 = 7 Injectors

; 0111 = 8 Injectors

; 1000 = 9 Injectors

; 1001 = 10 Injectors

; 1010 = 11 Injectors

; 1011 = 12 Injectors

;

; CONFIG13 Bit Definitions

; CONFIG13:

; Bit 0 = Odd-fire averaging

; 0 = Normal

; 1 = Odd-Fire

; Bit 1 = O2 Sensor Type

; 0 = Narrow-band (single wire 14.7 stoch)

; 1 = DIY-WB (Stoch = 2.5V, reverse slope)

; Bit 2 = Control Stategy

; 0 = Speed-Density

; 1 = Alpha-N

; Bit 3 = Barometer Correction

; 0 = Enrichment Off (set to 100%)

; 1 = Enrichment On

; Bit 4 = TPS type

; 0 = Single track

; 1 = Double track

;

;**********************************************************************

;Reset vector

;This code will start executing when a reset occurs.

begin code 0x0000

goto Main ;go to start of main code

;**********************************************************************

;High priority interrupt vector

;This code will start executing when a high priority interrupt occurs

;or when any interrupt occurs if interrupt priorities are not enabled.

interupt code 0x0008

btfsc INTCON,TMR0IF,0

goto TIMERROLL ;timer0 is main clock

btfsc INTCON,INT0IF,0

goto DOSQUIRT ;external interupt-ignition

btfsc PIR1,ADIF,0

goto ADCDONE ;A/D conversion complete

btfsc PIR1,TXIF,0

goto IN_SCI_TX ;SCI transmission complete,transmitter empty

btfsc PIR1,RCIF,0

Page 137: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 121

goto IN_SCI_RCV ;SCI receiver full

retfie FAST

main code 0x0100

Main

;*********************************************************

;Initialization and main loop

;********************************************************

ClearRAM

;set up port data-direction registers

clrf PORTA

movlw b'11111111' ;AN0=TPS,AN1=TPS2, AN2=MAP,

;AN3=Vref, AN4=MAT,

movwf TRISA,0

clrf PORTB

movlw 0xE3 ;b'11100011' ;INT0 =COIL, RB2=sled, RB3=aled,

;RB4=wled, RB5-RB7=serial progaming

movwf TRISB

movlw 0x04 ;b'00000100' ;set inj 1 OFF (inverted output)

;movlw b'00000000' ;set inj 1 OFF

movwf PORTC

movlw 0xBB ;b'10111011' ;RC2/CCP1=inj1, RC6/TX/CK = TX,

;RC/RX/DT = RX

movwf TRISC

movlw 0x10 ;b'00010000' ;set inj2 OFF (inverted output)

;movlw b'00000000' ;set inj 2 OFF

movwf PORTD

movlw 0x80 ;B'10000000' ;RD0=fbd1, RD1=fbd2, RD2=spark1,

;RD3=spark2, RD4/ECCP1=inj2,

;RD5=fuelp, RD6=idle

movwf TRISD

clrf PORTE

movlw 0x07;b'00000111' ;RE0/AN5=CLT, RE1/AN6=BAT,

;RE2/AN6+7=ego,

movwf TRISE

;Set up the Real-time clock Timer0

;movlw b'01000001' ;8bit, 1:4 prescaler- 40MHz/4/Prescaler

;=2.5MHz

movlw b'01001000' ;8bit, no prescaler- 10MHz/4= 2.5MHz

movwf T0CON ;4Mz durring tests so =1MHz

movlw 0x9c ;0x06 for 0.1ms when 40Mh clock with PLL,

;0xC1 =193 for 10Mh with prescaler 1:4, ;0x06 without

prescaler, 0x9C for 4MHz

movwf TMR0L

movlw b'01110000' ;unmask TMR0 and INT0 interrupts

movwf INTCON

movlw b'10000100' ;INT0 ext. interrupt (coil) on faling edge

movwf INTCON2

bsf T0CON,7 ;start timer0

;Set up PWM for the inj1 (curent limit mode)

movlw 0x64 ;PWM freq 25 kHz

movwf PR2

movff injpwm,CCPR1L ;Set duty cicle

movlw b'00000100' ;Timer ON, prescaler 1:1 for 10Mhz

movwf T2CON

;Set up PWM for the inj2 (curent limit mode)

movff injpwm,ECCPR1L ;Set duty cicle

;Set up SCI port- USART

movlw 0x19 ;0x40 for 40MHz or 10 MHz, 0x19 for 4 MHz

movwf SPBRG ;setting baud rate to 9600bit/s

Page 138: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 122

movlw b'10011000'

movwf RCSTA

movlw b'00100100' ;if Fosc=10MHz or 4MHz:TXSTA<2>=1

movwf TXSTA

bsf PIE1,RCIE ;enable receive interrupt

bcf PIE1,TXIE ;disable transmit interrupt

;Set up and enable interrupts

movlw b'10000100' ;disable pull-ups, TMR0 high priority

movwf INTCON2

bsf PIE1,ADIE ;enable A/D int.

bcf RCON,7 ;disable priority int. levels

movwf T2CON

movlw b'01110000' ;enable all unmasked interrupts

movwf INTCON

;Set up RAM variables

clrf TBLPTRU

clrf mms

clrf ms

clrf tenth

clrf secl

clrf sech

;movlw 0xff

clrf squirt

movlw 0x32

movwf pw

clrf engine

clrf rpmph

clrf rpmpl

clrf rpm

clrf old_rpm1

movlw 0x00

movwf pwcalc

movwf pw

movwf pw2

clrf pwrun1

clrf pwrun2

movlw 0xff

movwf last_tps

clrf egocount

movlw 0xBB

movwf baro

movwf map

movwf mat

movwf clt

movwf tps

movwf batt

movlw 0x64

movwf aircor

movwf vecurr

movwf barocor

movwf warmcor

movwf egocorr

movwf tpsfuelcut

clrf gammae

movlw 0x46

movwf map

movlw 0x65

movwf baro

clrf tpsaccel

clrf adsel

clrf igncount

; Fire up the ADC, and perform one conversion to get baro value

movlw b'01000001' ;left justify, Fosc/64 for 40MHz,

Page 139: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 123

;movlw b'00000001' ;left justify, Fosc/32 for 4MHz,

movwf ADCON1

movlw b'10010001' ;Fosc/64 for 40MHz Fosc/16 for 4Mh,chanel AN2, ADON

movwf ADCON0

bcf PIE1,ADIE ;disable A/D interrupt

bcf PIR1,ADIF ;clear A/D interrupt flag

movlw 0x80 ;set timer1 count fot A/D aqusition time

movwf TMR1L

movlw 0x01 ;start timer1

movwf T1CON

waitaqt

btfss PIR1,TMR1IF

goto waitaqt

bcf PIR1,TMR1IF

bcf T1CON,TMR1ON ;stop timer1

bsf ADCON0,GO ;start A/D conversion

waitbaro

btfss PIR1,ADIF

goto waitbaro

bcf PIR1,ADIF

movff ADRESH, baro ;store baro value

****baro***

;turn on al interrupts

bsf PIE1,ADIE

bsf INTCON,GIE ;enable interrupts

;load the constants (VE table,..) from flash to RAM- program uses RAM values

lfsr FSR0, 0x100 ;VE teble start address

;***FSR0***

movlw 0x60

movwf TBLPTRH

movlw 0x00

movwf TBLPTRL

movlw nVar ;number of variabbles

movwf tmp1

LOAD_CONSTANTS

tblrd*+

movf TABLAT,0

movwf POSTINC0

;incf TBLPTRL

decfsz tmp1,1,0

goto LOAD_CONSTANTS

clrf tmp1,0

;load the flash programing routine into RAM

DONE_LOAD_BURN

;**********************************************************************

;**

;** prime pulse- Shot out one priming pulse of lenght PRIMEP

;**

;**********************************************************************

movlb 0x01 ;bank1 selected

movf primep,0

bz LOOPER ;branch if primep is zero

movwf pw,0 movwf

pw2,0

bsf fuelp,0 ;start fuel pump

clrf pwrun1,0

clrf pwrun2,0

bsf sched1,0

bsf inj1,0

bsf sched2,0

bsf inj2,0

bsf running,0

Page 140: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 124

;**********************************************************************

;** M A I N E V E N T L O O P

;**********************************************************************

LOOPER

;**********************************************************************

;** Correction factor lookup table access

;**

;** Perform table lookup for barometer and air density correction

;** and performs coolant temperature conversion from counts to °C

;**

;** All tables are pre-computed for all 256 different values

;** and stored in flash

;**********************************************************************

banksel config13 ;bank1 selected

call TPSCOMP,1

NaMap

movlw BAROFACTOR

movwf TBLPTRH,0

movf baro,0,0

movwf TBLPTRL,0 ;barometer correction gamma

tblrd*

movf TABLAT,0,0

movwf tmp11,0

movlw KPAFACTOR

movwf TBLPTRH,0

movf map,0,0

movwf TBLPTRL,0 tblrd*

movf TABLAT,0,0

movwf kpa,0 ;manifold air preasure in kPa

btfsc config13,3 ;check if barometer corection in use

bra NaBaroUse

movlw 0x64 ;if not use 100 for barometer correction

movwf barocor,0

bra CltCalc

NaBaroUse

movf tmp11,0,0

movwf barocor,0

CltCalc

movlw THERMFACTOR

movwf TBLPTRH,0

movf clt,0,0

movwf TBLPTRL,0

tblrd*

movf TABLAT,0,0

movwf coolant,0 ;Coolant temp in °C

movlw AIRDENFACTOR

movwf TBLPTRH,0

movf mat,0,0

movwf TBLPTRL,0

tblrd*

movf TABLAT,0,0

movwf aircor,0 ;Air density correction factor

;**********************************************************************

;** Fast idle comparison- fast idle set if coolant below FAST IDLE

;** value

;**********************************************************************

movf fastidle,0

cpfslt coolant,0 ;skip if coolant<fastidle

bra SLOW_IDLE_SET ;branch if coolant>fastidle

Page 141: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 125

FAST_IDLE_SET

bsf idle,0

bra RPM_COMP

SLOW_IDLE_SET

bcf idle,0

;********************* Computation of RPM******************************

;** rpmk:rpmk+1

;** ----------- = rpm

;** rpmph:rpmpl

;**

;** rpmk:rpmk+1 = constant = (6000*(stroke/2))/ncyl -> 0x0b:0xb8

;** rpmph:rpmpl = period count betwen IRQ pulsed lines, in 0.1 ms res

;**

;**********************************************************************

RPM_COMP

btfss running,0 ;branch if engine is not running

bra LOOPER

movf rpmph,0,0

bz FAST_RPM_CALC

SLOW_RPM_CAlC

clrf EXT_H,0

clrf EXT_L,0

movf rpmph,0,0

movwf LUK_H,0

movf rpmpl,0,0

movwf LUK_L,0

movf rpmk,0,1 ;number of cylinder dependent

movwf WRD_H,0

movf rpmk_1,0,1

movwf WRD_L,0

call DIV32

movf WRD_L,0,0

movwf rpm,0

bra CHK_FOR_WENRCH

FAST_RPM_CALC

movf rpmpl,0,0

bz LOOPER

movf rpmpl,0,0

movwf LUK_L,0

movff rpmk,WRD_H ;number of cylinder dependent

movff rpmk_1,WRD_L

call DIV16

movf WRD_L,0,0

movwf rpm,0

CHK_FOR_WENRCH

movlw 0x03 ;in cranking mode if engine speed lower than 300 rpm

cpfslt rpm,0

bra WARM_UP_ENRICH

;**********************************************************************

; Cranking mode- pulse width is set by coolant temperature value of CWU

; at -40°C and CWH at 70°C- value is interpolated

;**********************************************************************

CRANKING_SET

bsf crank,0

bcf startw,0

bcf warmup,0

movlw D'155' ;3volt comparison for tps- flood clear trigger

cpfsgt tps,0

bra INTERP_CRANK_PW

FLOOD_CLEAR

movlw 0x03 ;.3ms- just opening

Page 142: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 126

movwf pwcalc,0

goto LOOPER

INTERP_CRANK_PW

clrf tmp1,0

movlw D'110' ;40°+70°

movwf tmp2,0

movf cwu,0

movwf tmp3,0 ;cwu-crank enrichment at -40°C

movf cwh,0

movwf tmp4,0 ;cwh-crank enrichment at 70°C

movf coolant,0,0

movwf tmp5,0

call LININTERP

movf tmp6,0,0

movwf pwcalc,0

goto LOOPER

;********** Warm-up and After-start Enrichment Section ***************

;**

;** The Warm-up enrichment is a linear interpolated value from WWU

;** (10 points) which are placed at different temperatures

;**

;** Method:

;** 1) Perform ordered table search of WWU (using coolant variable) to

;** determine which bin.

;** 2) Perform linear interpolation to get interpolated

:** warmup enrichment.

;** Also, the after-start enrichment value is calculated and

;** applied here – it is an added percent value on top of

;** the warmup enrichment, and it is applied

;** for the number of ignition cycles specified in AWC.

;** This enrichment starts

;** at a value of AWEV at first, then it linearly

;** interpolates down to zero

;** after AWC cycles.

;**

;** 3) If (startw, engine is set) then:

;** 4) compare if (awc &lt; asecount) then:

;** 5) x1=0, x2=AWC, y1=AWEV, y2=0, x=asecount, y=ASEenrichment

;** 6) else clear startw bit in engine

;**********************************************************************

WARM_UP_ENRICH

btfss crank,0

bra WUE1

bcf crank,0

bsf warmup,0

bsf startw,0

clrf asecount,0

WUE1

movlw 0x61

movwf TBLPTRH,0

movlw 0x00

movwf TBLPTRL,0 ;WWURANGE address = 0x6100

movlw 0x09

movwf tmp3,0

movf coolant,0,0

movwf tmp4,0

call FLASH_TABLE_FIND

WUE2

lfsr FSR0, wwuaddr ;WWU address

movf tmp5,0,0

movff PLUSW0,tmp4

decf tmp5,0,0

movff PLUSW0,tmp3

movf coolant,0,0

movwf tmp5,0

call LININTERP ;calculation of warm up enrichment

Page 143: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 127

movf tmp6,0,0

movwf tmp12,0

movlw 0x64

cpfseq tmp12,0

bra ASE1

;Outside warm up renge- clear warm up enrichment

bcf startw,0

bcf warmup,0

bcf wled,0

bra ASE_FINAL

ASE1 ;after start enrichment

bsf wled,0

bsf warmup,0

btfss startw,0

bra ASE_FINAL

movf asecount,0,0

cpfsgt awc ;skip if acw > asecount

bra ASE_END

ASE2

clrf tmp1,0

movf awc,0

movwf tmp2,0

movf awev,0

movwf tmp3,0

clrf tmp4,0

movf asecount,0,0

movwf tmp5,0

call LININTERP ;calculation of after start enrichment

movf tmp6,0,0

addwf tmp12,0,0

bc ASE_RAIL

movf tmp6,0,0

addwf tmp12,0,0

movwf warmcor,0

bra TAE

ASE_RAIL

movlw 0xfe

movwf warmcor,0

bra TAE

ASE_END

bcf startw,0

ASE_FINAL

movf tmp12,0,0

movwf warmcor,0

;***************** Throttle Position Acceleration Enrichment*********

;**

;** Method is the following:

;**

;** ACCELERATION ENRICHMENT:

;** If (tps &lt; last_tps) goto DEACCELERATION_ENRICHMENT

;** If (tps - last_tps) &gt; tpsthresh and TPSAEN = 0

;** then (acceleration enrichemnt):

;** {

;** 1) Set accelration mode

;** 2) Continuously determine rate-of-change of throttle, and perform

;** interpolation of tpsaq values to determine acceleration

;** enrichment amount to apply.

;** }

;** If (tpsaclk &gt; TPSACLKCMP) and TPSAEN is set then:

;** {

;** 1) Clear TPSAEN bit in engine

;** 2) Set tpsaccel to 100%

;** 3) Go to EGO Delta Step Check Section

Page 144: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 128

;** }

;**

;** DEACCELERATION ENRICHMENT:

;** If (last_tps - tps) &gt; tpsthresh then (deacceleration fuel cut)

;** {

;** If (TPSAEN = 1) then:

;** {

;** 1) tpsaccel = 100 percent (no acceleration)

;** 2) Clear TPSAEN bit in ENGINE

;* 3) Go to EGO Delta Step

;** }

;** If (RPM &gt; 15 (corresponding to 1500 RPM)) then (fuel cut mode):

;** 1) Set tpsaccel value to tpsdq

;** 2) Set TPSDEN bit in ENGINE

;** 3) Go to EGO Delta Step Check Section

;** }

;** }

;** else

;** {

;** If (TPSDEN = 1) then

;** {

;** 1) Clear TPSDEN bit in ENGINE

;** 2) tpsaccel = 100%

;** 3) Go to EGO Delta Step Check Section

;** }

;** }

;**

;**********************************************************************

TAE

bcf INTCON,GIE,0 ;disable interupts

movf tps,0,0

movwf tmp1,0

movf last_tps,0,0

movwf tmp2,0

bsf INTCON,GIE,0 ;enable interupts

;movf tmp2,0,0

cpfslt tmp1,0 ;skip if tps<last_tps

bra AE_CHK

bra TDE

AE_CHK

movf tmp2,0,0

subwf tmp1,0,0 ;tmp1-tmp2->WREG

cpfslt tpsthresh

bra TAE_CHK_TIME ;branch if tps-last_tps<tpsthresh

btfsc TPSAEN,0

bra AE_COMP_SHOOT_AMT ;branch to accel.comp. if bit TPSAEN set

;- already in acc. enrichment

;Add in accel enrichement

movf tpsaq,0

movwf tpsaccel,0 ;start out using first element – will

;determine actual next time around

clrf tpsaclk,0 ;tpsaccel - Acceleration percent amount –

;used in later calculations

movf tpsasync,0 ;reset acc. clock

movwf tpsaclkcmp,0 ;tpsaclkcmp - Shoot time comparison value

bsf TPSAEN,0

bcf TPSDEN,0

bsf aled,0

bcf wled,0

goto MAE

; First, calculate Cold temperature add-on enrichment value from

; coolant value tpsacold,

; from -40 degrees to 70 degrees C.

;

; Then determine cold temperature multiplier value ACCELMULT (in

; percent), from -40 degrees to 70 degrees.

;

; Next, Calculate Shoot amount (quantity) for acceleration enrichment

; from table.

Page 145: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 129

; Find bins (between) for corresponding TPSDOT, and linear interpolate

; to find enrichment amount (from tpsaq). This is continuously

; checked every time thru main loop while in acceleration mode,

; and the highest value is latched and used.

;

; The final acceleration applied is

; AE = Alookup(TPSDOT) * (ACCELMULT/100) + tpsacold

AE_COMP_SHOOT_AMT

; First, the "added" amount based on cold temperatures

clrf tmp1,0 ;0 -&gt; - 40 degrees

movlw D'110' ;70 + 40 degrees (because of offset in lookup

;table)

movwf tmp2,0

movf tpsacold,0

movwf tmp3,0 ;This is the amount at coldest

clrf tmp4,0 ;no enrichemnt addon at warm temperature

movf coolant,0,0

movwf tmp5,0

call LININTERP

movf tmp6,0,0

movwf tmp13,0 ;result ->tmp13- save hire temporarily

;Second, find the multiplier (ACCELMULT) amount based on cold ;temperatures

clrf tmp1,0 ;0 -&gt; - 40 degrees

movlw D'110' ;70 + 40 degrees

movwf tmp2,0

movf ACMULT,0

movwf tmp3,0 ;This is the amount at coldest movlw D'100'

movwf tmp4,0 ;1.00 multiplier at 70°C

movf coolant,0,0

movwf tmp5,0

call LININTERP

movf tmp6,0,0

movwf tmp14,0 ;result -> tmp14 save here temporarily

;Now the lookup table amount based on TPSDOT

movlw 0x61

movwf TBLPTRH,0

movlw tpsdotaddr

movwf TBLPTRL,0 ;TPSdotrate adress = 0x610a

movlw 0x03

movwf tmp3,0

movf last_tps,0,0

subwf tps,0,0 ;tps-last_tps->WREG

movwf tmp4,0 ;TPSDOT

;movf tmp4,0,0

movwf tmp10,0 ;Save away for later use below

call FLASH_TABLE_FIND

lfsr FSR0,tpsaqaddr ;tpsaq address

movf tmp5,0,0 ;tpsdot table index- tmp5 ->WREG

movff PLUSW0,tmp4

decf tmp5,0,0 ;increment tmp5 and place in WREG

movff PLUSW0,tmp3

movf tmp10,0,0

movwf tmp5,0

call LININTERP ;tmp6 has the result

;Now, the final applied acceleration enrichment amount is

; ((tmp6 * tmp14)/100) + tmp13

FIND_TOTAL_A

banksel engine

movf tmp6,0

mulwf tmp14

movf PRODH,0

movwf WRD_H ;WRD_H:WRD_L/LUK_L ->WRD_L, remainder ->WRD_H,

movff PRODL,WRD_L

movlw 0x64

movwf LUK_L ;LUK_L=100

Page 146: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 130

call DIV16

incf WRD_L,0 ;on overflow during division 0xFF->WRD_L

bc UPPER_RAIL_AE

movlw D'200'

cpfslt WRD_L ;

bra UPPER_RAIL_AE ;branch if WRD_L > 200

movlw 0x32 ;test reminder

cpfsgt WRD_H

bra ADD_TO_AE ;branch if reminder - WRD_H <50

incf WRD_L ;if reminder >50 inc WRD_L

bra ADD_TO_AE

UPPER_RAIL_AE

movlw D'200'

movwf WRD_L ;Set to 20 milliseconds railed

ADD_TO_AE

movf WRD_L,0

addwf tmp13,0 ;Add on the amount computed in cold

;temperature enrich above

movwf tmp6

cpfslt tpsaccel

bra TAE_CHK_TIME ;branch if tpsaccel >= tmp6

movff tmp6,tpsaccel ;Replace with this higher value

;Check if acceleration done

TAE_CHK_TIME

btfsc TPSDEN,0

bra RST_ACCEL ;branch directly to RST_ACCEL if TPSDEN bit set

movf tpsaclk,0,0

cpfslt tpsaclkcmp,0

bra MAE ;branch to MAE if tpsaclk < tpsaclkcmp

RST_ACCEL

bcf TPSAEN,0 ;clear TPSAEN bit

movlw 0x64

movwf tpsfuelcut,0 ;TPS fuel cut is 100% _ no fuel cut

clrf tpsaccel,0 ;TPS accel. enrichment is 0% - no enrichment

bcf aled,0 ;turn off aled

bcf TPSDEN,0 ;clear TPSDEN bit

bra MAE

;deacceleration fuel cut-off

TDE

banksel tpsthresh

movf tmp1,0,0

subwf tmp2,0,0 ;tmp2-tmp1

cpfslt tpsthresh

bra TDE_CHK_DONE ;branch if tmp2-tmp1<tpsthresh

btfss TPSAEN,0 ;skip if in accel. enrichment

bra TDE_CHK_FUEL_CUT

movlw 0x64 ;set tps fuel cut to 100%- no fuel cut off

movwf tpsfuelcut,0

clrf tpsaccel,0

bcf TPSAEN,0

bcf aled,0

bcf TPSDEN,0

bra MAE

TDE_CHK_FUEL_CUT

movf rpm,0,0

sublw 14 ;1400-rpm

bc MAE ;branch if rpm =< 1400rpm

movf tpsdq,0

movwf tpsfuelcut,0

bsf TPSDEN,0

bcf TPSAEN,0

bcf aled,0

bra MAE

TDE_CHK_DONE

btfss TPSDEN,0

bra MAE

bcf TPSDEN,0

Page 147: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 131

movlw 0x64

movwf tpsfuelcut,0

clrf tpsaccel,0

bra MAE

;*************Exhaust Gas Oxygen Sensor Measurement Section************

;**

;** Steps are the following:

;**

;** If egodelta = 0 then goto skipo2

;** If RPM &lt; RPMOXLIMIT then goto skipo2

;** If TPSAEN in ENGINE or TPSDEN in ENGINE are set, then goto skipo2

;** If coolant &lt; egotemp then goto skipo2

;** If sech = 0 and secl &lt; 30 seconds then got skipo2

;** (skip first 30 seconds)

;** If tps &gt; 3.5 volts then goto skipo2

;**

;** If egocount &gt; egocountcmp

;** {

;** egocount = 0

;** If ego &gt; 26 (counts, or 0.5 Volts) then (rich)

;** {

;** tmp = egocurr - egodelta

;** if tmp &lt; egolimit then goto VETABLELOOKUP

;** egocorr = tmp

;** goto VETABLELOOKUP

;** }

;** else (lean)

;** {

;** tmp = egocorr + egodelta

;** if tmp &gt; egolimit then goto VETABLELOOKUP

;** egocorr = tmp

;** goto VETABLELOOKUP

;** }

;** }

;**

;** skipo2:

;** egocorr = 100%

;** goto VETABLELOOKUP

;**

;**

;**********************************************************************

MAE

banksel egodelta

movf egodelta,0,1

bz SKIPO2

movf rpm,0,0

cpfslt RPMOXLIMIT ;Low-end of RPM

bra SKIPO2 ;branch if rpm < RPMOXLIMIT

btfsc TPSAEN,0

bra SKIPO2

btfsc TPSDEN,0

bra SKIPO2

movf coolant,0,0

cpfslt egotemp

bra SKIPO2 ;branch if coolant < egotemp

movf tps,0,0

sublw .178 ;178 - tps =3.5V

bn SKIPO2 ;branch if tps > 3.5V

tstfsz sech,0

bra CHK_O2_LAG ;if high seconds set then we can check o2

movf secl,0,0

sublw 0x1E ;30 seconds threshold- 30-secl

bc SKIPO2 ;branch if secl < 30

; Check if exceeded lag time - if so then we can modify egocorr

CHK_O2_LAG

movf egocount,0,0

cpfslt egocountcmp

bra VETABLELOOKUP ;branch if egocount<egocountcmp

Page 148: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 132

;Check if rich/lean

clrf egocount,0

btfsc config13,2 ;Check if Narrow-band (bit=0) or WB (bit=1)

bra WBO2TYPE ;Branch if the bit is set

NBO2TYPE

movf ego,0,0

cpfslt VOLTOXTARGET ;if ego< voltoxtarget is lean

bra O2_IS_LEAN

bra O2_IS_RICH

WBO2TYPE

movf ego,0,0

cpfslt VOLTOXTARGET

bra O2_IS_RICH

bra O2_IS_LEAN

;rich o2 - lean out egocorr

O2_IS_RICH

movf egolimit,0

sublw 0x64 ;Generate the lower limit rail point

movwf tmp2,0

movf egodelta,0

subwf egocorr,0

movwf tmp1,0 ;egocorr - egodelta = tmp1

cpfslt tmp2,0 ;skip if tmp2<tmp1

bra VETABLELOOKUP ;railed at egolimit value

movf tmp1,0,0

movwf egocorr,0

bra VETABLELOOKUP

;lean o2 - richen egocorr

O2_IS_LEAN

movf egolimit,0

addlw 0x64 ;Generate the upper limit rail point

movwf tmp2,0

movf egodelta,0

addwf egocorr,0,0

movwf tmp1,0 ;egocorr + egodelta = tmp1

cpfsgt tmp2,0 ;skip if tmp2>tmp1

bra VETABLELOOKUP ;railed at egolimit value

movf tmp1,0,0

movwf egocorr,0

bra VETABLELOOKUP

;reset egocorr to 100%

SKIPO2

movlw 0x64

movwf egocorr,0

;bra VETABLELOOKUP

;**********************************************************************

;**

;** VE 3-D Table Lookup

;**

;** This is used to determine value of VE based on RPM and MAP

;** The table looks like:

;**

;** 105 +....+....+....+....+....+....+....+

;** ....................................

;** 100 +....+....+....+....+....+....+....+

;** ...

;** KPA ...

;** ...

;** 35 +....+....+....+....+....+....+....+

;** 5 15 25 35 45 55 65 75 RPM/100

;**

;**

;** Steps:

;** 1) Find the bracketing KPA positions via ORD_TABLE_FIND, put

;** index in tmp8 and

Page 149: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 133

;** bounding values in tmp9(kpa1) and tmp10(kpa2)

;** 2) Find the bracketing RPM positions via ORD_TABLE_FIND, store

;** index in tmp11 and

;** bounding values in tmp13(rpm1) and tmp14(rpm2)

;** 3) Using the VE table, find the table VE values for

;** tmp15=VE(kpa1,rpm1),

;** tmp16=VE(kpa1,rpm2), tmp17 = VE(kpa2,rpm1)

;** and tmp18 = VE(kpa2,rpm2)

;** 4) Find the interpolated VE value at the lower KPA range :

;** x1=rpm1, x2=rpm2, y1=VE(kpa1,rpm1),

;** y2=VE(kpa1,rpm2) - put in tmp19

;** 5) Find the interpolated VE value at the upper KPA range :

;** x1=rpm1, x2=rpm2, y1=VE(kpa2,rpm1),

;** y2=VE(kpa2,rpm2) - put in tmp11

;** 6) Find the final VE value using the two interpolated VE values:

;** x1=kpa1, x2=kpa2, y1=VE_FROM_STEP_4, y2=VE_FROM_STEP_5

;**

;**********************************************************************

VETABLELOOKUP

; First, determine if in Speed-density or Alpha-N mode.

; If in Alpha-N mode, then

; replace the variable "kpa" with the contents of "tps".

; This will not break anything, since

; this check is performed again when multiplying MAP

; against the enrichments, and

; the SCI version of the variable is MAP, not kpa

btfss config13,2 ;Check if in speed-density or Aplha-N mode

bra VE_STEP_1 ;Branch if the bit is clear

call TPSCOMP,1 ;reevaluation of tps for real time value

movff tps,kpa ; if in alfa/n mode

VE_STEP_1

banksel engine

movlw 0x60

movwf TBLPTRH

movlw kparengeaddr

movwf TBLPTRL ;kparengeflash ADDRESS :0x60c0

movlw indxsize ;indxsize

movwf tmp3

movf kpa,0

movwf tmp4

call FLASH_TABLE_FIND

movf tmp5,0

movwf tmp8 ;Index

movf tmp1,0

movwf tmp9 ;X1(kpaL)

movf tmp2,0

movwf tmp10 ;X2(kpaH)

VE_STEP_2

movlw 0x60

movwf TBLPTRH

movlw rpmrengeaddr

movwf TBLPTRL ;rpmrengeflash ADDRESS

movlw indxsize

movwf tmp3

movf rpm,0

movwf tmp4

call FLASH_TABLE_FIND

movf tmp5,0

movwf tmp11 ;Index

movf tmp1,0

movwf tmp13 ;X1(rpmL)

movf tmp2,0

movwf tmp14 ;X2(rpmH)

VE_STEP_3

decf tmp8,0,0 ;tmp8-1 ->Wreg

mullw tblsize ;(tmp8-1)x tblsize ->(12)

Page 150: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 134

lfsr FSR0,0x100 ;VE-ADDRESS decf

PRODL,0,0 ;((tmp8-1)x tblsize)-1 ->Wreg

addwf tmp11,0,0 ;((tmp8-1)x tblsize)-1 + tmp11 ->Wreg

movff PLUSW0,tmp15 ;tmp15=VE(kpaL,rpmL)

incf WREG

movff PLUSW0,tmp16 ;tmp16=VE(kpaL,rpmH)

movf tmp8,0,0

mullw tblsize

decf PRODL,0,0

addwf tmp11,0,0

movff PLUSW0,tmp17 ;tmp17=VE(kpaH,rpmL)

incf WREG

movff PLUSW0,tmp18 ;tmp18=VE(kpaH,rpmH)

VE_STEP_4

movf tmp13,0 ;rpmL

movwf tmp1

movf tmp14,0 ;rpmH

movwf tmp2

movf tmp15,0 ;tmp15=VE(kpaL,rpmL)

movwf tmp3

movf tmp16,0 ;tmp16=VE(kpaL,rpmH)

movwf tmp4

movf rpm,0

movwf tmp5

call LININTERP

movf tmp6,0

movwf tmp19 ;tmp19 = VE(kpaL,rpm)

VE_STEP_5

movf tmp13,0 ;rpmL

movwf tmp1

movf tmp14,0 ;rpmH

movwf tmp2

movf tmp17,0 ;tmp17=VE(kpaH,rpmL)

movwf tmp3

movf tmp18,0 ;tmp18=VE(kpaH,rpmH)

movwf tmp4

movf rpm,0

movwf tmp5

call LININTERP

movf tmp6,0

movwf tmp11 ;tmp11 = VE(kpaH,rpm)

VE_STEP_6

movff tmp9,tmp1 ;tmp9 = kpaL

movff tmp10,tmp2 ;tmp10 = kpaH

movff tmp19,tmp3

movff tmp11,tmp4

banksel config13

btfss config13,4 ;check if in alpha/N mode

bra MAP_OR_SNGL_TPS_OR_SEC_TRC

movlw D'240'

subwf tps1,0,0

bnc MAP_OR_SNGL_TPS_OR_SEC_TRC

FIRST_TRACK

banksel engine

movlw INVERSETPS1

movwf TBLPTRH

movf tmp1,0

movwf TBLPTRL

tblrd*

movf TABLAT,0

movwf tmp1

movf tmp2,0

movwf TBLPTRL

tblrd*

movf TABLAT,0

Page 151: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 135

movwf tmp2

movff tps1,tmp5

call LININTERP

movff tmp6,vecurr

bra WARMACCEL_COMP

MAP_OR_SNGL_TPS_OR_SEC_TRC

banksel engine

movff kpa,tmp5

call LININTERP

movff tmp6,vecurr

;******************** Computation of Fuel Parameters******************

;**

;** Remainders are maintained for hi-resolution calculations - results

;** converted back to 100 microsecond resolution at end.

;**

;** (Warm * Tpsfuelcut)/100 = R1 + rem1/100

;** (Barcor * Aircor)/100 = R2 + rem2/100

;** ((R1 + rem1/100) * (R2 + rem2/100)) / 100 = R3 + rem3/100

;** (EGO * MAP)/100 = R4 + rem4/100

;** ((R3 + rem3/100) * (R4 + rem4/100)) /100 = R5 + rem5/100

;** (VE * req_fuel)/100 = R6 + rem6/100

;** ((R5 + rem5/100) * (R6 + rem6/100)) = R7

;**

;**

;** GAMMAE includes Warm, Tpsfuelcut, Barocor, and Aircor

;**

;** Rationle on ordering: to prevent calculation overflow

;** for boosted operations, the variables have been ordered

;** in specific "pairs" in the calculation:

;** EGO * MAP - when at WOT, EGO is set to 100%,

;** so MAP can run up to 255% without overflow

;** VE * req_fuel - for boosted applications,

;** req_fuel tends to be low (below 10 ms) due to the

;** added fuel requirements (i.e. large injectors),

;** so VE entries can be well above 100%.

;**

;**********************************************************************

WARMACCEL_COMP

movff warmcor,tmp10 ;Warmup Correction in tmp10

clrf tmp11 ;tmp11 is zero

movff tpsfuelcut,tmp12 ;tpsfuelcut in tmp12

clrf tmp13 ;tmp13 is zero

call SUPERNORM ;do the multiply and normalization

movff tmp10,tmp1 ;save whole result in tmp1

movff tmp11,tmp2 ;save remainder in tmp2

movff barocor,tmp10 ;tmp10 is barometer percent

clrf tmp11 ;zero to tmp11

movff aircor,tmp12 ;air temp correction % in tmp12

clrf tmp13 ;tmp13 is zero

call SUPERNORM ;multiply and divide by 100

;result in tmp10:tmp11

movff tmp1,tmp12 ;move saved tmp1 into tmp12

movff tmp2,tmp13 ;move saved tmp2 into tmp13

call SUPERNORM ;multiply/divide

btfss config13,2

bra SPEED_DENS_MODE

ALPHA_N_MODE

movff egocorr,tmp12

call SUPERNORM

bra BOTH_MODES

SPEED_DENS_MODE

movff tmp10,tmp5 ;save whole result into tmp5

Page 152: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 136

movff tmp11,tmp6 ;save remainder into tmp6

movff tmp10,gammae ;includes Warm, Tpsfuelcut,

;Barocor, and Aircor

movff egocorr,tmp10 ;closed-loop correction percent

;into tmp10

clrf tmp11 ;remainder is zero

movff kpa,tmp12 ;MAP into tmp12

clrf tmp13 ;no remainder

call SUPERNORM ;do the multiply and divide

movff tmp5,tmp12 ;take saved result in tmp5 and put into tmp12

movff tmp6,tmp13 ;tmp6 into tmp13

call SUPERNORM ;mult/div

BOTH_MODES

movff tmp10,tmp3 ;result (whole) save in tmp3

movff tmp11,tmp4 ;remainder result save in tmp4

movff vecurr,tmp10 ;VE into tmp10

clrf tmp11 ;no remainder value for VE

movff req_fuel,tmp12 ;req-fuel into tmp12

clrf tmp13 ;no remainder

call SUPERNORM ;mult/div

movff tmp3,tmp12 ;take previous result and put in tmp12

movff tmp4,tmp13 ;again for remainder

call SUPERNORM ;multiply/divide

movff tmp10,tmp11

;**********************************************************************

;** Calculation of Battery Voltage Correction for Injector Opening Time

;**

;** Injector open time is implemented as a linear function of

;** battery voltage, from 7.2 volts (61 ADC counts)

;** to 19.2 volts (164 counts),

;** with 13.2 volts (113 counts) being the nominal operating voltage.

;** Voltage reading 0 -30 V, where 255counts is 30 V.

;**

;** INJOPEN = injector open time at 13.2 volts in mms

;** BATTFAC = injector open adjustment factor 6 volts from 13.2V in mms

;**

;** + (INJOPEN + BATTFAC)

;** + *

;** + (INJOPEN)

;** + *

;** + (INJOPEN - BATTFAC)

;** + *

;** +

;** ++++++++++++++++++++++++++++++++++++++++++++++++++++++

;** 7.2V 13.2V 19.2

;**

;**********************************************************************

BATT_CORR_COMP

movlw D'61'

movwf tmp1

movlw D'164'

movwf tmp2

banksel injopen

movf injopen,0

addwf battfac,0

movwf tmp3,0

movf battfac,0

subwf injopen,0 ;injopen-battfac = WREG

movwf tmp4,0

bnn MBFF ;Check if minus condition

clrf tmp4,0

MBFF

movff batt,tmp5

call LININTERP ;injector open time in tmp6

Page 153: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 137

;*****************Calculation of Final Pulse Width*********************

;**

;** The following equation is evaluated here:

;** PWCALC = TMP6 + TMP11 + tpsaccel - injocfuel

;**

;**********************************************************************

ADD_INJ_OFFSET

movf tmp11,0,0

addwf tmp6,0,0

bc MAX_PWM_ALLOWED

addwf tpsaccel,0,0

bc MAX_PWM_ALLOWED

movwf tmp1,0

movf injocfuel,0

subwf tmp1,0,0

movwf pwcalc,0

goto FINISHED_PW_COMP

MAX_PWM_ALLOWED

movlw 0xFE

movwf pwcalc,0

FINISHED_PW_COMP

goto LOOPER

;*************************INTERRUPT SECTION****************************

;**

;** Following interrupt service routines:

;** - Timer Overflow

;** - ADC Conversion Complete

;** - IRQ input line transistion from high to low

;** - Serial Communication received character

;** - Serial Communications transmit buffer empty (send other char.)

;**

;**********************************************************************

;*****************************Timer Rollover***************************

;** - Occurs every 1/10 of a millisecond - main timing clock

;**

;** Generate time rates:

;** 1/10 milliseconds

;** 1 milliseconds

;** 1/10 seconds

;** seconds

;**

;** Also, in 1/10 millisecond section, turn on/off injector and

;** check RPM for stall condition

;** In milliseconds section, fire off ADC conversion for next channel

;** and wrap back when all channels done

;**

;**********************************************************************

TIMERROLL

;======================================================================

;***************** 0.1 millesecond section ****************************

;======================================================================

banksel injpwmt

incf mms,1,0 ;bump up 0.1 millisec variable

movlw 0x9c ;adjust TMR0 counter for 0.1ms ,

movwf TMR0L ;0x06 for 0.1ms when 40Mh clock with PLL and

;0x06 for 10Mh test clock, 0x9C for 1MHz

;======== Injector Firing Control ========

;===== Main Injector Control Logic =======

btfsc sched1,0

bra NEW_SQUIRT1

INJF1

btfsc sched2,0

bra NEW_SQUIRT2

Page 154: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 138

INJF2

btfsc firing1,0

bra CHK_DONE_1

INJF3

btfsc firing2,0

bra CHK_DONE_2

goto CHECK_RPM

;=== Injector #1 - Start New Injection ===

NEW_SQUIRT1

bsf firing1,0 ;Turn on "firing" bit

bcf sched1,0 ;Turn off schedule bit (is now current operation)

bsf inj1,0

bsf sled,0 ;squrt LED is ON

bsf fbd1,0 ;Flyback Damper board

bcf inject1,0 ;Turn on Injector #1 - inverted drive

bra INJF1

;=== Injector #2 - Start New Injection ===

NEW_SQUIRT2

bsf firing2,0 ;Turn on "firing" bit

bcf sched2,0 ;Turn off schedule bit

;(is now current operation)

bsf inj2,0

bsf sled,0 ;squrt LED is ON

bsf fbd2,0 ;Flyback Damper

bcf inject2,0 ;Turn on Injector #1

bra INJF2

;=== Injector #1 - Check for end of Injection ===

CHK_DONE_1

incf pwrun1,1,0

movf pwrun1,0,0 ;--> W

subwf pw,0,0 ;pw-pwrun1

bz OFF_INJ_1 ;branch if zerro

btfsc crank,0

bra INJF3 ;do not perform PWM limiting when cranking

movf pwrun1,0,0

subwf injpwmt,0 ;injpwmt-pwrun1

bz PWM_LIMIT_1

bra INJF3

OFF_INJ_1

bcf firing1,0

bcf sched1,0

bcf inj1,0

bsf inject1,0 ;Turn Off Injector #1

clrf CCP1CON,0 ;turn off pwm1

bcf fbd1,0 ;Flyback Damper - turn off X0

bra INJF3

PWM_LIMIT_1

movlw b'00001100'

movwf CCP1CON,0

bra INJF3

;=== Injector #2 - Check for end of Injection ===

CHK_DONE_2

incf pwrun2,1,0

movf pwrun2,0,0

subwf pw2,0,0

bz OFF_INJ_2

btfsc crank,0

bra CHECK_RPM ;do not perform PWM limiting when cranking

movf pwrun2,0,0

subwf injpwmt,0

bz PWM_LIMIT_2

bra CHECK_RPM

OFF_INJ_2

bcf firing2,0

bcf sched2,0

bcf inj2,0

Page 155: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 139

bsf inject2,0 ;Turn Off Injector #2 -inverted drive

clrf ECCP1CON,0 ;turn off pwm1

bcf fbd2,0 ;Flyback Damper - turn off X0

bra CHECK_RPM

PWM_LIMIT_2

movlw b'00001100'

movwf ECCP1CON,0

bra CHECK_RPM

;=======Check RPM Section=====

CHECK_RPM

btfss running,0

bra ENABLE_THE_IRQ ;Branch if not running right now

btfsc firing1,0

bra CHK_RE_ENABLE

btfsc firing2,0

bra CHK_RE_ENABLE

bcf sled,0 ;squrt LED is OFF - nothing is injecting

CHK_RE_ENABLE

;====== Check for re-enabling of IRQ input pulses

movf rpmph,0,0 ;Get high byte of last rpm interval

bz RPMLOWBYTECHK ;If zero go ahead check for half interval

movf rpmcl,0,0 ; Check current rpm interval

sublw D'128' ;12.8 milliseconds is maximum

;(half of 25.6 ms = 1 in rpmph)

bz REARM_IRQ ;time to re-arm IRQ

bra INCRPMER ;Jump around rpm half interval check

RPMLOWBYTECHK

rrncf rpmpl,0,0 ;Load in the latched previous RPM value

bcf WREG,7

cpfseq rpmcl ;Is it the same value as current RPM Counter?

bra INCRPMER ;If not then jump around this

REARM_IRQ

;bcf INTCON,INT0IF,0 ;clear out any latched

;external INT0 interrupts

bsf INTCON,INT0IE,0 ; enable interrupts again for INT0

INCRPMER

incfsz rpmcl,1,0

bra CHECK_MMS

incf rpmch,1,0

movlw 0x64

cpfseq rpmch,0 ;If RPMPH is 100 (or RPMPeriod =

;2.5 sec) then engine stalled

bra CHECK_MMS

clrf engine,0 ;Engine is stalled, clear all in engine

bcf fuelp,0 ;Turn off fuel Pump

;bcf iasc,porta ;Turn off IAC

clrf rpmch,0

clrf rpmcl,0

bcf sled,0 ;squrt LED is OFF

bcf wled,0 ;warmup LED is off

clrf pw,0 ;zero out pulsewidth

clrf rpm,0

bsf INTCON,INT0IE,0 ;enable all IRQ interrupts

bra CHECK_MMS

ENABLE_THE_IRQ

bsf INTCON,INT0IE,0 ;Enable IRQ

CHECK_MMS

movlw 0x0A

cpfseq mms,0

bra RTC_DONE

Page 156: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 140

;======================================================================

;********************** millesecond section ***************************

;======================================================================

MSEC

incf ms,1,0 ;bump up millisec

clrf mms,0

;Fire off another ADC conversion, channel is pointed to by ADSEL

btfss ms,0,0

bra ADGO

swapf adsel,0,0

rrncf WREG,0

iorlw b'10000001' ;Fosc/64,chanel adsel, ADON

movwf ADCON0,0

bra MSDONE

ADGO

bsf ADCON0,2,0 ;A/D aquisition time is taken into

;account bi performing the A/D conversion

;every second ms count

MSDONE

movlw 0x64

cpfseq ms,0

bra RTC_DONE

;======================================================================

;********************** 1/10 second section ***************************

;======================================================================

ONETENTH

incf tenth,1,0

incf tpsaclk,1,0

clrf ms,0

;Save current TPS reading in last_tps variable

;to compute TPSDOT in acceleration

;enrichment section

movff tps,last_tps

movlw 0x0A

cpfseq tenth,0

bra RTC_DONE

;======================================================================

;************************ seconds section *****************************

;======================================================================

SECONDS

clrf tenth,0

incfsz secl,1,0 ;bump up second count

bra RTC_DONE

incf sech,1,0

RTC_DONE

bcf INTCON,TMR0IF,0 ;clear timer0 interupt flag bit

retfie 1

;****************INT0 - Input trigger for new pulse event**************

;**

;** This line is connected to the input trigger (i.e TACH signal from

;** ignition system), and schedules a new injector shot

;** (injector actually opened in 1/10 timer section above)

;**

;**********************************************************************

DOSQUIRT

banksel divider

tstfsz igncount,0

bra EGOBUMP ;Only increment ase counter if cylinder

;count is zero

incf asecount,1,0 ;Increment after-start enrichment counter

Page 157: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 141

EGOBUMP

incf egocount,f,0 ;Increment EGO step counter

movff rpmch,rpmph

movff rpmcl,rpmpl

clrf rpmch,0

clrf rpmcl,0

;movff rpm,old_rpm1 ;Used in odd-fire code - save the last

;computed RPM for average

bsf fuelp,0 ;Turn on fuel Pump

bsf running,0 ;Set engine running value

btfsc crank,0

bra SCHED_SQUIRT ;Squirt on every pulse if cranking

incf igncount,1,0 ;Check to see if we are to squirt or skip

movf igncount,0,0

subwf divider,0,1 ;divider - igcount

bz SCHED_SQUIRT

movlw 0x0F

cpfseq igncount,0 ;The maximum allowed - reset if match

bra IRQ_EXIT

clrf igncount,0

bra IRQ_EXIT

SCHED_SQUIRT

bsf fuelp,0 ;Turn on fuel Pump

bsf running,0 ;Set engine running value

clrf igncount,0

btfsc crank,0

bra SCHED_BOTH

btfss alternate,0

bz SCHED_BOTH

incf altcount,1,0

btfsc altcount,0,0

bra SCHED_INJ2

SCHED_INJ1

movff pwcalc,pw ;latched calculated pulsewidth

clrf pwrun1,0 ;Running counter variable set to zero

bsf sched1,0

bsf inj1,0

bra IRQ_EXIT

SCHED_INJ2

movff pwcalc,pw2 ;latched calculated pulsewidth

clrf pwrun2,0 ;Running counter variable set to zero

bsf sched2,0

bsf inj2,0

bra IRQ_EXIT

SCHED_BOTH

movf pwcalc,0,0

movwf pw,0 ;Same pulsewidth

movwf pw2,0 ;for both

clrf pwrun1,0 ;Running counter variable set to zero

bsf sched1,0

bsf inj1,0

clrf pwrun2,0 ;Running counter variable set to zero

bsf sched2,0

bsf inj2,0

IRQ_EXIT

bcf INTCON,INT0IF,0 ;Flush out any new interrupts pending

bcf INTCON,INT0IE,0 ;Disable IRQ interrupts

retfie 1 ;Wreg, and BSR are backdated

;***************ADC - Interrupt for ADC conversion complete************

Page 158: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 142

;**AD0=TPS1

;**AD1=TPS2

;**AD2=MAP

;**AD4=MAT

;**AD5=CLT

;**AD6=BATT

;**AD7=EGO

;**********************************************************************

ADCDONE

; Store previous values for derivative

lfsr FSR1,0x028 ;tps1 address is 40

movf adsel,0,0

movff PLUSW1,adtmp

lfsr FSR1,0x45 ;ltps1 address is 69

movf adsel,0,0

movff adtmp,PLUSW1 ;Store the old value

lfsr FSR1,0x028

movf adsel,0,0

movf PLUSW1,0,0

addwf ADRESH,0,0 ;Load the new ADC reading

rrcf WREG,0,0 ;and perform (map + last_map)/2 averaging

;(for all ADC readings

movwf adtmp,0

movf adsel,0,0

movff adtmp,PLUSW1 ;TPS1 is entry point,

;offset is loaded in WREG

incf adsel,1,0

movf adsel,0,0

sublw 0x03

btfsc STATUS,Z,0 ;AN3 = tps-computed value

incf adsel,1,0

movf adsel,0,0

sublw 0x08

bnz ADCPTR

clrf adsel,0

ADCPTR

bcf PIR1,ADIF,0

retfie 1

;***************************SCI comunication***************************

;**

;**Communication is established when the PC communication program sends

;** a command character- the particular character sets the mode:

;**

;** "A" = send all of the real time variables via txport

;** "V" = send the VE table and constants via txport

;** "W"+&lt;offset&gt;+&lt;newbyte&gt; = receive new VE

;** or Constant byte value

;** and store in offset location

;** "B" = jump to flash burner routine and burn VE/constants values

;** in RAM into flash

;** "C" = test communication - echo back SECL

;**

;** "O" = burn baro table

;** "K" = burn kpa table

;** "D" = burn airden table

;** "T" = burn therm table

;**

;**********************************************************************

IN_SCI_RCV

banksel txmode

movf txmode,0 ;Check if we are in middle of receive

sublw 0x05 ;new VE/constant

sublw 0x05

bz TXMODE_5

movf txmode,0

Page 159: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 143

sublw 0x06

bz TXMODE_6

movf txmode,0 ;Check if we are in middle of receive

sublw 0x07 ;new Sensor table entry

bz TXMODE_7

movf txmode,0

sublw 0x08

bz TXMODE_8

movf RCREG,0,0

movwf txmode,0

sublw 0x41

bz MODE_A

movf txmode,0

sublw 0x42

bz MODE_B

movf txmode,0

sublw 0x43

bz MODE_C

movf txmode,0

sublw 0x56

bz MODE_V

movf txmode,0

sublw 0x57

bz MODE_W

movf txmode,0 ;code for burning sensor look-up tables

sublw 0x58

bz MODE_Z

movf txmode,0

sublw 0x4f

bz MODE_O

movf txmode,0

sublw 0x4b

bz MODE_K

movf txmode,0

sublw 0x44

bz MODE_D

movf txmode,0

sublw 0x54

bz MODE_T

bra DONE_RCV

;***************************************************

MODE_A ;sand back all real time variables

movlw 0x01

movwf txmode

clrf txcnt

movlw 0x1e ; = 28 (need 30) real time variables includes

movwf txgoal ;3 blank spots for future upgrades

bsf PIE1,TXIE,0 ;enable transfer interrupt

bsf TXSTA,TXEN,0 ;enable transmit, which will also set bit TXIF

bra DONE_RCV

;***************************************************

MODE_B ;jump to flash burner routine and burn VE/constants

;from RAM into flash memory

clrf TBLPTRU,0 ;address of the memory block

movlw 0x60

movwf TBLPTRH,0

clrf TBLPTRL,0

lfsr FSR1,0x100

GO_MORE

call BURNER

movlw 0x40

movwf TBLPTRL,0

call BURNER

movlw 0x80

movwf TBLPTRL,0

call BURNER

movlw 0xC0

Page 160: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 144

movwf TBLPTRL,0

call BURNER

clrf txmode

bra DONE_RCV

MODE_O ;baro_table

clrf TBLPTRU,0

movlw 0x70

bra TO_SAME

MODE_K ;kpa_table

clrf TBLPTRU,0

movlw 0x71

bra TO_SAME

MODE_T ;term_table

clrf TBLPTRU,0

movlw 0x72

bra TO_SAME

MODE_D ;aird_table

clrf TBLPTRU,0

movlw 0x73

TO_SAME

movwf TBLPTRH,0

clrf TBLPTRL,0

lfsr FSR1,0x200

call BURNER

movlw 0x40

movwf TBLPTRL,0

call BURNER

movlw 0x80

movwf TBLPTRL,0

call BURNER

movlw 0xC0

movwf TBLPTRL,0

call BURNER

clrf txmode

bra DONE_RCV

;***************************************************

MODE_C ;test COM port - echo back "secl" variable

movlw 0x01

movwf txmode

clrf txcnt

movlw 0x03

movwf txgoal ;just one byte

bsf PIE1,TXIE,0 ;enable transfer interrupt

bsf TXSTA,TXEN,0 ;enable transmit, which will also set bit TXIF

bra DONE_RCV

;***************************************************

MODE_V

movlw 0x03

movwf txmode

clrf txcnt

movlw nVar

movwf txgoal

bsf PIE1,TXIE,0 ;enable transfer interrupt

bsf TXSTA,TXEN,0 ;enable transmit, which will also set bit TXIF

bra DONE_RCV

;***************************************************

TXMODE_7

bra MODE_7

TXMODE_8

bra MODE_8

;***************************************************

MODE_W

movlw 0x05

Page 161: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 145

movwf txmode

bra DONE_RCV

TXMODE_5

movff RCREG, rxoffset

incf txmode,1

bra DONE_RCV

TXMODE_6

lfsr FSR2,0x100 ;VE table start address

movlw 0x80

subwf rxoffset,0,0

bn UPER_HALF

lfsr FSR2,0x180

movff RCREG,PLUSW2

clrf txmode

bra DONE_RCV

UPER_HALF ;<--------<----------<----------<----------<--|

movf rxoffset,0 ;|

movff RCREG,PLUSW2 ;the stupid MC can't add more ;|

;than 127 to the fsr ;|

clrf txmode ;|

bra DONE_RCV ;|

;*************************************************** ;|

MODE_Z ;|

movlw 0x07 ;|

movwf txmode ;|

bra DONE_RCV ;|

;|

MODE_7 ;|

movff RCREG, rxoffset ;|

incf txmode,1 ;|

bra DONE_RCV ;|

;|

MODE_8 ;|

lfsr FSR2,0x200 ;TBLBURNER start address ;|

movlw 0x80 ;|

subwf rxoffset,0,0 ;|

bn UPER_HALF ;->-------->------------>---------->'

lfsr FSR2,0x280

movff RCREG,PLUSW2

clrf txmode

DONE_RCV

bcf PIR1,RCIF,0

retfie 1

;****************transmit character interupt header******************

IN_SCI_TX

banksel txmode

incf txcnt,0

subwf txgoal,0 ;txgoal- txcount->WREG

bz DONE_LAST

decfsz txmode,0 ;Check if we are in middle of

bra IN_V_MODE ;receive new VE/constant

IN_A_OR_C_MODE

lfsr FSR1,0x024 ;secl(first real time variable) address is 36

movf txcnt,0 ;load count in wreg for indirect addressing

bra CONT_TX

IN_V_MODE

lfsr FSR1,0x100 ;ve adress is 0x100- fsr are composed from

;two 8 bit reg. because the address is

;12bit wide

movf txcnt,0 ;load count in wreg for indirect adressing

Page 162: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 146

CONT_TX

movff PLUSW1,TXREG ;load to the trans. register TXREG starts

;the transmision

incf txcnt,1

movf txcnt,0

subwf txgoal,0 ;txgoal- txcount->WREG

bra DONE_XFER

DONE_LAST

clrf txcnt

clrf txgoal

clrf txmode

bcf PIE1,TXIE,0 ;disable transfer interrupt

bcf TXSTA,TXEN,0 ;disable transmit,

DONE_XFER

retfie 1

;***************Various functions and subroutines**********************

;** - TPS copputation

;** - Ordered Table Search

;** - 16 / 8 divide

;** - 32 / 16 divide

;** - Linear Interpolation

;** - Computation of normalized values

;**********************************************************************

TPSCOMP

banksel config13

btfsc config13,4

bra DOUBLE_TPS

movff tps1,tps

bra TPS_END

DOUBLE_TPS

movlw D'240'

subwf tps1,0,0

bnc SECOND_TRACK

movlw TPS1FACTOR

movwf TBLPTRH,0

movf tps1,0,0

movwf TBLPTRL,0

tblrd*

movf TABLAT,0,0

movwf tps,0

bra TPS_END

SECOND_TRACK

movlw TPS2FACTOR

movwf TBLPTRH,0

movf tps2,0,0

movwf TBLPTRL,0

tblrd*

movf TABLAT,0,0

movwf tps,0

TPS_END

return 1

;******************************ORD_TABLE_FIND**************************

;** Ordered Table Search

;**

;** X is pointing to the start of the first value in the table

;** tmp1:2 initially hold the start of table address, then

;** they hold the bound values

;** tmp3 is the end of the table (nelements - 1)

;** tmp4 is the comparison value

;** tmp5 is the index result - if zero then comp value is

;** less than beginning of table, and

;** if equal to n-1 elements then it is rail-ed at upper end

;**********************************************************************

Page 163: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 147

ORD_TABLE_FIND

clrf tmp5,0

REENT

incf tmp5,1,0

movf POSTINC0,0,0

movwf tmp1,0

movf INDF0,0,0

movwf tmp2,0

movf INDF0,0,0

cpfsgt tmp4,0

bra GOT_ORD_NUM

movf tmp5,0,0

cpfseq tmp3,0

bra REENT

GOT_ORD_NUM

return

;******************************FLASH_TABLE_FIND************************

;**

;** Ordered Table Search for tables in program memory

;**

;** tmp5 -index

;** tmp1- lower value

;** tmp2- grater value

;**********************************************************************

FLASH_TABLE_FIND

clrf tmp5,0

tblrd*

movf TABLAT,0,0

movwf tmp2,0

REENTER

incf tmp5,1,0

movf tmp2,0,0

movwf tmp1,0 ;tmp2 -> tmp1

tblrd+*

movf TABLAT,0,0

movwf tmp2,0

movf tmp2,0,0

cpfsgt tmp4,0 ;skip branch to end if tmp4>tmp2

bra GOT_NUM

movf tmp5,0,0

cpfseq tmp3,0

bra REENTER

GOT_NUM

return

;*******************************DIV16**********************************

;Unsigned Division 16bit/8bit ->8bit

;WRD_H:WRD_L/LUK_L ->WRD_L, remainder ->WRD_H,

;On overflow or divide by zero: FFFFh -> WRD, FFFFh -> EXT

;**********************************************************************

DIV16

bcf STATUS,0,0

movlw 0x09

movwf div_repeat,0

movf LUK_L,0,0

addlw 0x00

bnz SKIP_SHIFT

movlw 0xFF

movwf WRD_L,0

return

DIV_LOOP

dcfsnz div_repeat,1,0

bra ENDE16

rlcf WRD_L,1,0

Page 164: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 148

rlcf WRD_H,1,0

bnc SKIP_SHIFT

movf LUK_L,0,0

subwf WRD_H,1,0

bsf STATUS,0,0

bnz DIV_LOOP

SKIP_SHIFT

movf LUK_L,0,0

subwf WRD_H,1,0

bc DIV_LOOP

movwf LUK_L,0

addwf WRD_H,1,0

bcf STATUS,0,0

bra DIV_LOOP

ENDE16

rlcf WRD_L,1,0

return

;******************************DIV32***********************************

;Unsigned Division 32bit / 16bit -> 16bit

;EXTWRD / LUK -> WRD, remainder -> EXT

;detailed EXT_H:EXT_L:WRD_H:WRD_L / LUK_H:LUK_L -> WRD_H:WRD_L

;On overflow or divide by zero: FFFFh -> WRD, FFFFh -> EXT

;LUK value remains. Affected registers: temp reg C0, C1, C2, C3

;**********************************************************************

; uint16 x = uint16 x / uint16 y

;

; Input:

; x, x+1 - 16 bit unsigned integer dividend (x - lsb, x+1 - msb)

; y, y+1 - 16 bit unsigned integer divisor

; Output:

; x, x+1 - 16 bit unsigned integer quotient

; Temporary:

; counter

; x+2, x+3 - 16 bit remainder

; temp - remainder extension

; Size: 36 instructions

; Max timing: 6+16*(5+13+3)-1+2+2=345 cycles

DIV32

div16by16

div16by16loopinit

clrf C2,0 ;clear remainder extension

movlw .16

movwf C3,0

bsf STATUS,0,0

div16by16loop

;shift in next result bit and shift out next

;dividend bit to remainder

rlcf WRD_L,1,0 ;shift lsb

rlcf WRD_H,1,0 ;shift msb

rlcf EXT_L,1,0

rlcf EXT_H,1,0

rlcf C2,1,0

movf LUK_L, w,0

btfss WRD_L,0,0

goto div16by16add

;subtract divisor from remainder

subwf EXT_L, f,0

Page 165: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 149

movf LUK_H, w,0

btfss STATUS,0,0

incfsz LUK_H, w,0

subwf EXT_H, f,0

movlw 0x01

btfss STATUS,0,0

subwf C2, f,0

goto div16by16next

div16by16add

;add divisor to remainder

addwf EXT_L, f,0

movf LUK_H, w,0

btfsc STATUS,0

incfsz LUK_H, w,0

addwf EXT_H, f,0

movlw 0x01

btfsc STATUS,0,0

addwf C2, f,0

div16by16next

;carry is next result bit

decfsz C3, f,0

goto div16by16loop

;shift in last bit

rlcf WRD_L, f,0

rlcf WRD_H, f,0

return

;***************************LININTERP**********************************

; Linear interpolation

;

; (y2-y1)

; y=y1 + ------- *(x-x1)

; (x2-x1)

;

; tmp1=x1

; tmp2=x2

; tmp3=y1

; tmp4=y2

; tmp5=x

; tmp6=y

;**********************************************************************

LININTERP

clrf STATUS,0

clrf tmp7,0 ;this is the negative slope detection bit

movff tmp3,tmp6

movf tmp5,0,0 ;check if x lower than x1

cpfslt tmp1,0 ;skip if x1<x

bra DONE_WITH_INTERP ;branch if x1>=x

movf tmp5,0,0 ;check if x greter than x2

cpfslt tmp2,0 ;skip if x2<x

bra DO_INTERP

movff tmp4,tmp6

bra DONE_WITH_INTERP

DO_INTERP

movf tmp1,0,0

subwf tmp2,0,0

movwf imen,0 ;x2-x1=imen

bz DONE_WITH_INTERP

movf tmp3,0,0

subwf tmp4,0,0

movwf stev,0

bz DONE_WITH_INTERP ;y2-y1=stev

bnn POS_INTERP

Page 166: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 150

negf stev,0 ;-stev

incf tmp7,1,0

POS_INTERP

movf tmp1,0,0

subwf tmp5,0,0 ;x-x1=WREG

mulwf stev,0 ;(y2-y1)*(x-x1)->PRODH:PRODL

movff PRODH,WRD_H

movff PRODL,WRD_L

movff imen,LUK_L ;Unsigned Division 16bit/8bit ->8bit

call DIV16 ;WRD_H:WRD_L/LUK_L ->WRD_L, rem.->WRD_H

rrncf imen,0,0 ;takeing care of the reminder

bcf WREG,7,0

cpfsgt WRD_H,0 ;Branch If reminder<stev/2

bra REMM_OK

infsnz WRD_L,1,0

setf WRD_L,0 ;devision result was 0xFF

REMM_OK

btfsc tmp7,0,0

bra NEG_SLOPE

movf WRD_L,0,0

addwf tmp3,0,0

movwf tmp6,0

bra DONE_WITH_INTERP

NEG_SLOPE

movf WRD_L,0,0

subwf tmp3,0,0

movwf tmp6,0

DONE_WITH_INTERP

return ;temp6 = y

;**********************************SUPERNORM***************************

;**

;** Computation of Normalized Variables

;**

;** The following is the form of the evaluation for

;** the normalized variables:

;**

;** (A rem A * B)

;** ------------- = C rem C

;** 100

;**

;** Where A = Whole part of the percentage,

;** rem A = Remainder of A from previous calc. (range 0 to 99)

;** B = Percentage multiplied (this always has a zero remainder)

;** C = Whole part of result

;** rem C = remainder of result

;**

;**

;** Calculation is preformed by the following method:

;**

;** |(A * B) + (rem A * B)|

;** | -----------|

;** | 100 |

;** ----------------------- = C rem C

;** 100

;**

;**

;** Inputs: tmp10 = A

;** tmp11 = rem A

;** tmp12 = B

;**

;** Outputs: tmp10 = C

;** tmp11 = rem C

Page 167: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 151

;** tmp13 = high order part of (A rem A) * B

;** tmp14 = low order part of (A rem A) * B

;**

;**********************************************************************

SUPERNORM

movf tmp10,0,0 ;tmp10->WREG

mulwf tmp12,0 ;tmp10 * tmp12->tmp13

movff PRODH,tmp13 ;High order of A * B

movff PRODL,tmp14 ;Low order of A * B

movf tmp11,0,0 ;rem A

mulwf tmp12,0 ;B

movff PRODH,WRD_H

movff PRODL,WRD_L

movlw 0x64

movwf LUK_L,0

call DIV16 ;WRD_H:WRD_L/LUK_L ->WRD_L, remainder ->WRD_H,

movf WRD_L,0,0

addwf tmp14,1,0 ;Add to lower part and store in tmp14

bnc Roundrem ;Branch is no carry occurred

incf tmp13,1,0 ;Increment high-order part because an

;overflow occurred in add

Roundrem

movlw 0x32

cpfsgt WRD_H,0

bra FinalNorm ;branch if reminder < 50

incf tmp14,1,0

bnc FinalNorm

incf tmp13,1,0

FinalNorm

movff tmp13,WRD_H

movff tmp14,WRD_L

movlw 0x64

movwf LUK_L,0

call DIV16

movff WRD_L,tmp10

infsnz tmp10,0,0

bra RailCalc ;Branch if tmp10 = 0xff <=> overflow

movff WRD_H,tmp11

movlw 0x32

cpfsgt tmp11,0

bra ExitSN ;branch if reminder < 50

incf tmp11,1,0

bnc ExitSN

incf tmp10,1,0

bra ExitSN

RailCalc

clrf tmp11,0 ;Rail value if rollover

ExitSN

return

;*******************************Load and Burn******************

BURNER

ERASE_BLOCK

bcf INTCON, GIE,0 ; disable interrupts

bsf EECON1, EEPGD,0 ; point to FLASH program memory

bcf EECON1, CFGS,0 ; access FLASH program memory

bsf EECON1, WREN,0 ; enable write to memory

bsf EECON1, FREE,0 ; enable Row Erase operation

movlw 0x55

movwf EECON2,0 ; write 55H

movlw 0xAA

movwf EECON2,0 ; write AAH

bsf EECON1, WR,0 ; start erase (CPU stall)

nop

Page 168: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 152

nop

nop

nop

nop

TBLRD*- ;dummy read decrement

WRITE_BUFFER_BACK

movlw 0x08 ;number of write buffer groups of 8 bytes

movwf COUNTER_HI

PROGRAM_LOOP

movlw 0x08 ;number of bytes in holding register

movwf COUNTER,0

WRITE_WORD_TO_HREGS

movf POSTINC1,0 ,0 ;get low byte of buffer data

movwf TABLAT,0 ;present data to table latch

tblwt+* ;write data, perform a short write

;to internal TBLWT holding register.

decfsz COUNTER,1,0 ;loop until buffers are full

bra WRITE_WORD_TO_HREGS

PROGRAM_MEMORY

bsf EECON1, EEPGD,0 ;point to FLASH program memory

bcf EECON1, CFGS,0 ;access FLASH program memory

bsf EECON1, WREN,0 ;enable write to memory

bcf INTCON, GIE,0 ;disable interrupts

movlw 0x55 ;write 0x55

movwf EECON2,0

movlw 0xAA ;write 0xAA

movwf EECON2,0 ;start program (CPU stall)

bsf EECON1, WR,0

nop

decfsz COUNTER_HI,1,0 ;loop until done

bra PROGRAM_LOOP

bcf EECON1, WREN,0 ;disable write to memory

return

;**************constants stored in flash program memory**************

VE_tbl code_pack 0x6000

; Initial VE table, copied into RAM at startup

VETABLE

db 0x27 ; VE (0,0)

db 0x28 ; VE (0,1)

db .41 ; VE (0,2)

db .44 ; VE (0,3)

db .44 ; VE (0,4)

db .44 ; VE (0,5)

db .45 ; VE (0,6)

db .45 ; VE (0,7)

db .45 ; VE (0,8)

db .45 ; VE (0,9)

db .45 ; VE (0,10)

db .45 ; VE (0,11)

db .47 ; VE (1,0)

db .47 ; VE (1,1)

db .51 ; VE (1,2)

db .51 ; VE (1,3)

db .50 ; VE (1,4)

db .50 ; VE (1,5)

db .50 ; VE (1,6)

db .50 ; VE (1,7)

db .50 ; VE (1,8)

db .50 ; VE (1,9)

db .50 ; VE (1,10)

db .50 ; VE (1,11)

Page 169: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 153

db .52 ; VE (2,0)

db .55 ; VE (2,1)

db .55 ; VE (2,2)

db .57 ; VE (2,3)

db .60 ; VE (2,4)

db .61 ; VE (2,5)

db .61 ; VE (2,6)

db .62 ; VE (2,7)

db .63 ; VE (2,8)

db .65 ; VE (2,9)

db .64 ; VE (2,10)

db .64 ; VE (2,11)

db .59 ; VE (3,0)

db .60 ; VE (3,1)

db .60 ; VE (3,2)

db .65 ; VE (3,3)

db .66 ; VE (3,4)

db .68 ; VE (3,5)

db .70 ; VE (3,6)

db .70 ; VE (3,7)

db .70 ; VE (3,8)

db .70 ; VE (3,9)

db .69 ; VE (3,10)

db .68 ; VE (3,11)

db .61 ; VE (4,0)

db .63 ; VE (4,1)

db .65 ; VE (4,2)

db .65 ; VE (4,3)

db .68 ; VE (4,4)

db .70 ; VE (4,5)

db .72 ; VE (4,6)

db .73 ; VE (4,7)

db .74 ; VE (4,8)

db .75 ; VE (4,9)

db .75 ; VE (4,10)

db .74 ; VE (4,11)

db .65 ; VE (5,0)

db .72 ; VE (5,1)

db .72 ; VE (5,2)

db .74 ; VE (5,3)

db .74 ; VE (5,4)

db .75 ; VE (5,5)

db .75 ; VE (5,6)

db .76 ; VE (5,7)

db .77 ; VE (5,8)

db .77 ; VE (5,9)

db .77 ; VE (5,10)

db .76 ; VE (5,11)

db .70 ; VE (6,0)

db .74 ; VE (6,1)

db .74 ; VE (6,2)

db .75 ; VE (6,3)

db .75 ; VE (6,4)

db .77 ; VE (6,5)

db .77 ; VE (6,6)

db .78 ; VE (6,7)

db .78 ; VE (6,8)

db .79 ; VE (6,9)

db .79 ; VE (6,10)

db .76 ; VE (6,11)

db .73 ; VE (7,0)

db .77 ; VE (7,1)

db .79 ; VE (7,2)

db .82 ; VE (7,3)

db .82 ; VE (7,4)

Page 170: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 154

db .82 ; VE (7,5)

db .82 ; VE (7,6)

db .83 ; VE (7,7)

db .84 ; VE (7,8)

db .85 ; VE (7,9)

db .84 ; VE (7,10)

db .83 ; VE (7,11)

db .75 ; VE (8,0)

db .78 ; VE (8,1)

db .79 ; VE (8,2)

db .83 ; VE (8,3)

db .83 ; VE (8,4)

db .83 ; VE (8,5)

db .84 ; VE (8,6)

db .85 ; VE (8,7)

db .86 ; VE (8,8)

db .86 ; VE (8,9)

db .86 ; VE (8,10)

db .85 ; VE (8,11)

db .77 ; VE (9,0)

db .80 ; VE (9,1)

db .81 ; VE (9,2)

db .85 ; VE (9,3)

db .86 ; VE (9,4)

db .87 ; VE (9,5)

db .87 ; VE (9,6)

db .89 ; VE (9,7)

db .89 ; VE (9,8)

db .90 ; VE (9,9)

db .89 ; VE (9,10)

db .88 ; VE (9,11)

db .77 ; VE (10,0)

db .80 ; VE (10,1)

db .81 ; VE (10,2)

db .85 ; VE (10,3)

db .86 ; VE (10,4)

db .87 ; VE (10,5)

db .87 ; VE (10,6)

db .89 ; VE (10,7)

db .89 ; VE (10,8)

db .90 ; VE (10,9)

db .89 ; VE (10,10)

db .88 ; VE (10,11)

db .77 ; VE (11,0)

db .80 ; VE (11,1)

db .81 ; VE (11,2)

db .85 ; VE (11,3)

db .86 ; VE (11,4)

db .87 ; VE (11,5)

db .87 ; VE (11,6)

db .89 ; VE (11,7)

db .89 ; VE (11,8)

db .90 ; VE (11,9)

db .89 ; VE (11,10)

db .88 ; VE (11,11)

CWUTABLE ;0x6090

db .120 ; CWU

db .040 ; CWH

db .35 ; AWEV

db .250 ; AWC

db .180 ; WWU (-40 C) ;0x6094

db .180 ; WWU (-30 C)

db .160 ; WWU (-20 C)

db .150 ; WWU (-10 C)

db .135 ; WWU (0 C)

db .125 ; WWU (10 C)

Page 171: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 155

db .113 ; WWU (25 C)

db .108 ; WWU (40 C)

db .102 ; WWU (55 C)

db .100 ; WWU (70 C)

db .20 ; tpsaq (tpsdot=0.1) ;0x609e

db .50 ; tpsaq (tpsdot=0.4)

db .105 ; tpsaq (tpsdot=0.8) ;0x60a0

db .150 ; tpsaq (tpsdot=1.5) ;

db .90 ; tpsacold (ms to add in when cold)

db .03 ; TPSTHRESH

db .30 ; tpsasync (accel enrich time in 1/10s incr.)

db .100 ; tpsdq

db .110 ; EGOTEMP

db .16 ; EGOCOUNTCMP

db .0 ; EGODELTA

db .30 ; EGOLIMIT

db .100 ; REQFUEL 0x60aa

db .4 ; DIVIDER

db .1 ; Alternate

db .10 ; INJOPEN

db .0 ; injocfuel

db .100 ; INJPWM -

db .255 ; injpwmt -injector PWM current limiting is off

db .12 ; BATTFAC

db 0x0b ; RPMK[0]

db 0xb8 ; RPMK[1]

RPMRANGEVEFLASH ;0x60b4

db .5 ; RPMRANGEVE[0]

db .10 ; RPMRANGEVE[1]

db .15 ; RPMRANGEVE[2]

db .20 ; RPMRANGEVE[3]

db .28 ; RPMRANGEVE[4]

db .35 ; RPMRANGEVE[5]

db .43 ; RPMRANGEVE[6]

db .50 ; RPMRANGEVE[7]

db .57 ; RPMRANGEVE[8]

db .63 ; RPMRANGEVE[9]

db .65 ; RPMRANGEVE[10]

db .68 ; RPMRANGEVE[11]

KPARANGEVEFLASH ;0x60c0

db .15 ; KPARANGEVE[0]

db .20 ; KPARANGEVE[1]

db .30 ; KPARANGEVE[2]

db .40 ; KPARANGEVE[3]

db .50 ; KPARANGEVE[4]

db .60 ; KPARANGEVE[5]

db .70 ; KPARANGEVE[6]

db .80 ; KPARANGEVE[7]

db .85 ; KPARANGEVE[8]

db .90 ; KPARANGEVE[9]

db .95 ; KPARANGEVE[10]

db .105 ; KPARANGEVE[11]

db .113 ; Config11 =01110001 ;0x60cc

db .112 ; Config12 =01110000

db .00 ; Config13 =

db .00 ; PRIMEP

db .13 ; RPMOXLIMIT

db .60 ; FAST IDLE TEMPERATURE(clt+40°C)

db .26 ; VOLTOXTARGET

db .120 ; ACCELMULT

db .00 ; BLANK[1]

db .00 ; BLANK[2]

db .00 ; BLANK[3]

db .00 ; BLANK[4] -212 variables with 12x12 table

; This is used to set the bin coolant range for WWU

Page 172: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 156

enr_tbl code_pack 0x6100

WWURANGE

db 0x00

db .10

db .20

db .30

db .40

db .50

db .65

db .80

db .95

db .110

TPSDOTRATE ; 0x610a

db .05 ; 0.1 volts delta

db .20 ; 0.4 volt delta

db .40 ; 0.8 volt

db .77 ; 1.5 volt

baro_table code_pack 0x7000

#include <barofactor.inc> ;address 0x7000

kpa_table code_pack 0x7100

#include <kpafactor.inc> ;address 0x7100

term_table code_pack 0x7200

#include <thermfactor.inc> ;address 0x7200

aird_table code_pack 0x7300

#include <airdenfactor.inc> ;address 0x7300

tps1_table code_pack 0x7400

#include <tps1factor.inc> ;address 0x7400

tps2_table code_pack 0x7500

#include <tps2factor.inc> ;address 0x7500

itps1_table code_pack 0x7600

#include <inversetps1.inc> ;address 0x7600

end

Page 173: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 157

Literatura

[1] Robert Bosch GmbH., Gasoline Engine Menagement, Robert Bosch GmbH

& Professional Engineering Publishing Ltd., druga izdaja, Suffolk, 2004

[2] Mondt J.R., Cleaner Cars:The History and Tecnology of Emission Control

since the 1960s, Society of Automotive Engineers Inc., Warrendale, 2000

[3] Bowling B., Grippo A., Megasquirt, http://www.megasquirt.info/ , Bruce

Bowling and Al Grippo, internet, dostopnost preverjena februar 2010

[4] Lumley J. L., Engines: an introduction, Cambridge University Press,

Cambridge, 1999

[5] Basshuysen R.V., Schäfer F., Internal Combustion Engine Handbook,

Society of Automotive Engineers Inc., Warrendale, 2004

[6] Vucko I., Tehnologija motornih vozil 2, PAMI, Ţelezniki, 1998

[7] Smith P. H., Morrison J. C., Sientific Design of Exhaust and Intake Systems,

Bentley Publishers, tretja izdaja, Cambridge, 2009

[8] Kraut B., Krautov strojniški priročnik, Littera picta, štirinajsta izdaja, Ljubljana,

2003

[9] Probst C. O., Bosch Fuel Injection & Egine Management, Bentley

Publishers, Cambridge, 2003

[10] http:/www.naftc.wnu.edu/NAFTC/data/indepth/datatable.html, internet,

dostopnost preverjena februar 2010

[11] http://en.wikipedia.org/wiki/Fuel_injection, internet, dostopnost preverjena

marec 2010

[12] Microchip Technology Inc., Microchip PIC18FXX8 Data Sheet, Microchip

Technology Inc., 2004

[13] STMicroelectronics,

http://www.st.com/stonline/products/literature/ds/2143/l7805ac.pdf, internet,

dostopnost preverjena junij 2010

[14] Texas Instruments, http://focus.ti.com/lit/ds/symlink/max232.pdf, internet,

dostopnost preverjena junij 2010

Page 174: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 158

[15] Motorola,

http://www.datasheetcatalog.org/datasheet/motorola/MC34151D.pdf,.

internet, dostopnost preverjena junij 2010

[16] International Rectifier,

http://www.irf.com/product-info/datasheets/data/irfz34n.pdf, internet,

dostopnost preverjena junij 2010

[17] Won-Top Electronics Co., http://www.wontop.com/pdf/SF31.pdf, internet,

dostopnost preverjena junij 2010

[18] Fairchild Semiconductors, http://www.fairchild.com/ds/TI%FTIP42C.pdf,

internet, dostopnost preverjena junij 2010

[19] STMicroelectronics,

http://www.st.com/stonline/products/literature/ds/4128/TIP125.pdf, internet,

dostopnost preverjena junij 2010

[20] Microchip Technology Inc.,

http://ww1.microchip.com/downloads/en/devicedoc/51331b.pdf, internet,

dostopnost preverjena junij 2010

[21] http://apps.bosch.com.au/motorsport/downloads/sensors_throttleposition.pdf,

internet, dostopnost preverjena junij 2010

[22] Microsoft, http.//www.microsoft.com/express/, internet, dostopnost

preverjena junij 2010

[23] http://www.megamanual.com/v22manual/mtune.htm, internet, dostopnost

preverjena julij 2010

[24] http://www.innovatemotorsport.com/support/manual/LM1_Manual.pdf,

internet, dostopnost preverjena julij 2010

[25] http://www.innovatemotorsport.com/support/manual/LogWorks3_Manual.pdf,

internet, dostopnost preverjena julij 2010

Page 175: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 159

Viri slik:

Slike iz lastnega arhiva razen:

Slika 1: http://www.automotive_ilustrations.com/engines.html

Slika 2: http://www.antonine-

education.co.uk/physics_a2/options/module_7/topic_4/internal_combustion_e

ngines.htm

Slika 5: http://www.automotivecoolingservices.co.uk/acs/cooling_system.html

Slika 7: http://hdabob.com/Exhaust.html

Slika 8: [1]

Slika 11: http://www.shoptalkforums.com/viewtopic.php?t=114081

Slika 12: http://www.motiontrends.com/2009/01/volvo/s60_concept_4.shtml

Slika 13: http://www.freescale.com/files/sensors/doc/data_sheet/MPX4250A.pdf

Slika 14: http://www.swedishautoparts.com/960/volvo-960-sensors.html

Slika 15:

http://apps.bosch.com.au/motorsport/downloads/sensors_throttleposition.pdf

Slika 17: http://forums.audiworld.com/showthread.php?t=2162872

Slika 19: http://www.rickscarline.ca/images/o2.png

Slika 21: http://www.northamptonmotorsport.com/default.asp?id=95

Page 176: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 160

Page 177: KRMILNIK VBRIZGA GORIVA BENCINSKIH MOTORJEVlie.fe.uni-lj.si/diplome/PDF/2010/Diploma_IztokVatovec.pdf · UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Iztok Vatovec KRMILNIK VBRIZGA

- - 161

Izjava

Izjavljam, da sem diplomsko delo izdelal samostojno pod vodstvom mentorja

doc. dr. Boštjana Murovca, univ. dipl. inţ. el. Izkazano pomoč drugih sodelavcev

sem v celoti navedel v zahvali.

Iztok Vatovec

Ljubljana 23.8.2010