Tartalomjegyzék: Előszó
2
Bevezetés
3
1. A hagyományos gyújtásrendszer ismertetése
4
2. Miért van szükség processzoros vezérlésre?
14
2.1. Mechanikus rendszerek hibái
14
2.2. Szoftveres beállíthatóság előnyei
15
3. A vezérléshez felhasznált paraméterek
16
4. A felhasználható és felhasznált jeladók, szenzorok
18
5. A hardver
23
5.1. Mikrovezérlő kiválasztásának szempontjai
23
5.2. A jeladók, szenzorok illesztése
23
5.3. A kimenetek megvalósítása
25
5.4. A soros port illesztése, és a programozó interfész
28
5.5. A NYÁK kialakítása
30
6. A szoftverek
35
6.1. A vezérlő szoftver és a kommunikációs protokoll
35
6.2. Az EEPROM memória térképe
47
6.3. A PC-s konfiguráló szoftver
48
7. Gyakorlati megvalósítás
51
7.1. A mechanikai kialakítás, dobozolás
51
7.2. Csatlakozók
53
7.3. Beszerelés
54
8. Mérési eredmények, tapasztalatok
56
8.1. A mérésekhez felhasznált műszerek, egyéb eszközök
56
8.2. Labor mérések
56
8.3. „Éles” mérések a motoron
59
8.4. Tapasztalatok
62
9. További lehetőségek
63
10. Irodalom jegyzék
66
11. Mellékletek
67
2
Előszó A szakdolgozatom témájának kiválasztásakor nem véletlen esett a választásom erre a témára. Amióta autóm van, mindig is érdekelt a gyújtásrendszer korszerűsítése. A korábbi években építettem több elektronikus gyújtást is, az egyszerűektől kezdve a bonyolultabbakig. Kezdetben csak a megszakítót tehermentesítettem egy FET-el, később a tirisztoros gyújtástól kezdve az elektronikus zárásszög vezérlésűig szinte mindent kipróbáltam. De mindig az alap problémába, a mechanikus szabályzás akadályaiba ütköztem. Később elkezdtem foglalkozni a PIC mikrovezérlő családdal, majd jött az ötlet, hogy a két témát össze lehetne vonni. Ennek egyre működőképesebbnek látszó eredménye, olvasható a továbbiakban.
3
Bevezetés
A dolgozatomban megpróbálom összefoglalni a gyújtásvezérlő tervezésének, megvalósításának, valamint tesztelésének menetét. Szó lesz a hagyományos gyújtásrendszerek működéséről, szabályzási módjairól. Itt térnék ki arra is, hogy ez valójában nem is szabályzás, csak a magyar köznyelvben terjedt el az „előgyújtás szabályzó” és ehhez hasonlatos kifejezések. Szabályzásnak akkor nevezhetnénk, ha lenne egy visszacsatolás is a rendszerben. Így maximum csak vezérlésnek nevezhetjük, de a magyar nyelvben mégis az előbbi terjedt el, így a legtöbb esetben én is ezt fogom használni a dolgozatban, annak ellenére hogy tudom nem ez a helyes kifejezés. Szó lesz még a hagyományos gyújtásrendszerek hibáiról, a processzoros vezérlés előnyeiről, a hozzá szükséges paraméterekről, azok méréseiről, a vezérlő felépítéséről, a benne futó programról, a tesztelésekről, tapasztalatokról, valamint a további lehetőségekről. A dolgozat címe nem 100%-osan fedi le a dolgozat témáját, ugyanis ha már mikrovezérlőt használtam a gyújtásvezérléshez, akkor nem csak ezt a feladatot bíztam rá, hanem más egyéb motor funkciók vezérlését is, így ezekről is említést teszek a továbbiakban.
4
1. A hagyományos akkumulátoros gyújtásrendszer A benzinmotor hengereibe beszívott, majd összesűrített benzin- levegő keveréket elektromos szikra gyújtja meg. Szükség van tehát egy olyan berendezésre, amely a motor hengereiben megfelelő sorrendben, a k e l l ő időpontban, megfelelő erősségű elektromos szikrát szolgáltat. A négyhengeres soros motoroknál általában az 1-2-4-2, vagy az 1-3-4-2 gyújtási sorrend használatos. A gyújtóberendezés egyik feladata tehát, hogy a szikrát a hengerekben a megfelelő sorrendben szolgáltassa. A gyújtás pillanatának megválasztása igen fontos a legkedvezőbb égési folyamat biztosításának céljából. Ez nem könnyű feladat, ha figyelembe vesszük, hogy a korszerű motorok percenként 5000-6000, a tuning motorok 8000-9000, esetenként 10000 fordulatot tesznek meg, és minden fordulatszám változáshoz változtatni kell a gyújtás pillanatát is. A gyújtás pillanatának helytelen beállítása következtében csökken a motor teljesítménye, élettartama, viszont nő a fogyasztása, valamint a károsanyag kibocsátása. A nagynyomású benzin- levegő keverék meggyújtásához erős elektromos szikrára van szükség. Ilyen erős szikrát csak több ezer voltos feszültség mellett lehet előállítani. A hagyományos gyújtásrendszer elvi kapcsolása az 1.1. ábrán látható.
A gyújtószerkezet főbb részei:
·
Áramforrás (akkumulátor)
·
Gyújtótranszformátor
·
Megszakító és kondenzátor
·
Elosztó
·
Gyújtógyertyák
5
1.1. ábra
Az akkumulátoros gyújtás elvi kapcsolása
A primer áramkör a gyújtáskapcsolón, és a megszakító zárt érintkezőin keresztül záródik. A trafó primer tekercsén átfolyó áram a vasmagban mágneses mezőt hoz létre. A megszakító érintkezők eltávolodásának pillanatában a primer áram megszakad, és a mágneses tér hirtelen összeomlik, ez pedig egy 300-400V-os feszültséglökést okoz a primer tekercsen. E feszültség lefolyása látható a 1.2. ábrán.
1.2. ábra
Primer feszültség lefolyása
6
Ez a feszültség a sokkal nagyobb menetszámú szekunder tekercsbe áttranszformálódik, melynek eredménye a 15-20KV-os szikra. Ez a nagyfeszültség az elosztón keresztül az egyes gyújtógyertyákhoz jut el, melyek elektródái között alakul ki a gyújtáshoz szükséges szikra.
1.1. Gyújtótranszformátor Primer és szekunder tekercsből, valamint egy vasmagból áll. (1.3. ábra)Feladata a gyújtáshoz szükséges nagyfeszültség előállítása a már fentebb említett módon. A vasmag egymástól szigetelt transzformátor lemezekből, újabban ferritből készül. Feladata a tekercsekben folyó áramok által létrehozott mágneses indukció erősítése. A
szekunder
tekercs
vékony,
0,08,
0,1
mm
átmérőjű
zománcszigetelésű
vörösrézhuzalból készül, a szükséges feszültség biztosítása érdekében igen nagy, 20000-25000-es menetszámmal. Régen, a megszakító beégésének elkerülése érdekében a primer áram korlátozása érdekében a primer tekercset nagy ellenállású huzalból tekerték, esetenként előtét ellenállást is alkalmaztak. A mai, megszakító nélküli, félvezetőkkel kapcsolt gyújtásrendszereknél már nem kell ilyen kompromisszumokat kötni, így az elektronikus gyújtással szerelt gépkocsikban kivétel nélkül már kis primer ellenállású gyújtótranszformátorokkal találkozhatunk. A tekercsek jobb mechanikai rögzítése, és szigetelése érdekében a transzformátor belsejét szigetelőanyaggal öntik ki. Egyes típusokban a gyújtótranszformátor belsejében fejlődő hő jobb elvezetésének érdekében transzformátorolaj veszi körül a tekercseket. A hagyományos transzformátorok általában három kivezetéssel rendelkeznek. Két primer kivezetéssel, és egy szekunder kivezetéssel, ugyanis rendszerint a szekunder egyik oldala az egyik primer kivezetéssel közösítve van.
7
1.3. ábra
Gyújtótranszformátor felépítése
1.2. Megszakító A primer áramkör megszakítását külön szerkezet, a megszakító végzi.
A megszakító részei: ·
Kalapács
·
Üllő
·
Rugó
·
Megszakító bütyök
Az üllő és a kalapács lényegében két érintkező, amelyek közül az üllő rögzített, míg a kalapács helyzetét lényegében az emelőbütyök és a rugó határozza meg. A négyütemű benzinmotor minden hengerében kétfordulatonként kell egy-egy gyújtószikrát létrehozni. Így például egy 3000 percenkénti fordulattal járó motornál percenként 6000 gyújtószikrára van szükség, vagyis másodpercenként 100db-ra. Amint ebből láthatjuk, az érintkezők igen nagy megterhelésnek vannak kitéve, ezért olyan anyagból készülnek, melyek kopásállók, valamint jól vezetik az elektromos áramot. Az elosztó testelt házában helyezkedik el az üllőt tartó alaplemez. A kalapács az üllőtől szigetelt, ezért általában bakelitből készül, és csak az érintkező felülete készül fémből, általában wolframból. A kalapács a forgó bütyök emelő hatására elfordulhat a tengelye körül, a mozgó érintkező eltávolodik az álló érintkezőtől, így megszakítva a primer áramot. A rugó
8
feladata hogy a kalapácsot folyamatosan az emelőbütyökhöz szorítsa, és így az érintkezőket zárva tartsa. A mozgó érintkező legnagyobb eltávolodásához tartozó rés a megszakító hézag, melynek tipikus értéke 0,3-0,5mm. Ennek mérete a zárási szöget közvetett módon befolyásolja.
1.3. Kondenzátor A primer áramkör megszakításakor a primer tekercsben az önindukció folytán viszonylag magas, 300-400V-os feszültség jön létre, amely az érintkezők között elektromos ívet húzva akadályozza a mágneses mező gyors összeomlását, csökkenti ez által a szekunder tekercsben indukált feszültéséget. Mind a szikrázás, mint a szekunder feszültég csökkenése káros jelenség, ezért ezeket ki kell küszöbölni. Erre a célra szolgál a kondenzátor, melyet a megszakító érintkezőkkel párhuzamosan kötnek be. A gyújtásrendszerekben alkalmazott kondenzátorok kapacitása általában 150-250nF, a gyújtótranszformátor függvényében.
1.4. Elosztó A gyújtótranszformátor szekunder tekercsében keletkezett nagyfeszültségű áramot az elosztó juttatja el a gyújtógyertyákhoz. Az elosztó a megszakítóval közös házban helyezkedik el. Lényeges alkatrészei az elosztófedél, és a forgó érintkező, közismert nevén az elosztópipa. Az elosztófedél általában valami műanyagból, bakelitből készül. A közepén helyezkedik el a szekunder áram bevezetője és körben a hengerek számának megfelelő kivezető. A gyújtótekercsből jövő áram egy szénkefén (rugóval előfeszített szénrúd) keresztül jut el az elosztópipához. Az elosztópipa egy forgó érintkező, amelynek teste bakelitből, vezető felülete rézből van kialakítva. Egyes típusoknál a kisugárzott elektromágneses zavarok csökkentése érdekében itt egy ellenállást i s alkalmaznak. Az elosztópipa az elosztótengelyen meghatározott helyzetben helyezkedik el, és vele együtt forog. Mivel egy-egy hengerbe csak a főtengely minden második fordulata alatt kell szikrát adni, ezért az elosztó tengelyének fordulatszáma fele a motor főtengely fordulatszámának. Az elosztópipa érintkezőcsúcsa forgás közben sorra elhalad a kivezetők fémszegmensei előtt, és a nagyfeszültségű áram a mintegy 0,3-0,6 mm-es szikraközön, majd a
9
gyújtókábelen keresztül eljut a gyertya középső elektródájára, ahonnan végül átüt a testre.
1.5. Gyújtógyertyák A gyújtógyertya rendeltetése az elektródái között létrehozott szikra segítségével meggyújtani a hengerben összesűrített benzin- levegő keverékét. A gyújtógyertya viszonylag egyszerű felépítésű (1.4. ábra), de jó vagy rossz állapota azonban döntően befolyásolja a motor működését. A gyújtógyertya igen komoly igénybevételeknek van kitéve, ezért vele szemben magas követelményeket kell állítani.
Ezek a követelmények a következők: ·
Magas mechanikai szilárdság, hogy a beszereléssel járó, valamint a gázok magas nyomása révén keletkező terheléseket elviselje
·
Igen nagyfokú hőellenálló képesség, vagyis legyen képes ellenállni a 700-800 fokra való hevítésnek és hasonló nagyságú gyorsan változó hőingadozásnak.
·
Nagyfokú elektromos szigetelőképesség és ellenállás. A szigetelőrész magas hőfokon is legyen képes a 15000-20000 V feszültséget szigetelni.
1.4. ábra
A gyújtógyertya szerkezete
Léteznek különleges, több, általában négy elektródás gyertyák is. Ezek előnyei eddigi ismereteim szerint eléggé vitatottak.
10
A gyújtógyertyák alapvető jellemzője a hőérték, mely mértékadó arra nézve, hogy adott hőfok mellett a gyertyának a hengerbe belógó része milyen hőfokra melegszik fel, azaz milyen mértékben képes a hő a gyertyából eltávozni. M i n t i smeretes,
a
hengerben
1500-2200°C
hőmérséklet
keletkezik,
aminek
következtében a szigetelőtest belső vége eléri a 700-800°C hőmérsékletet is. A gyertyához kerülő hő egy része a beszívott benzin- levegő keveréket melegítve távozik, másik része pedig a szigetelőtesten keresztül távozik. Azokat a gyertyákat nevezzük nagyobb hőértékűeknek, amelyek több hőt képesek elvezetni, ezek alkalmasak nagy fordulatszámú motorokban való használatra. A h ő értéket számmal jellemzik, amely azt adja meg, hogy egy meghatározott próbamotorban az adott gyertya hány másodpercig üzemelhet anélkül, hogy az öngyulladás bekövetkezne. A nagyobb hőértékű gyertya alkalmas nagyfordulatszámú, nagy sűrítési viszonyú motorban való alkalmazásra, míg a kis hőértékű gyertya lassújárású, általában kis literteljesítményű motoroknál használható. A hőértékkel szorosan összefügg a gyertya egy másik fontos tulajdonsága, az öntisztulás, ami nem más, mint a gyertyának az a képessége, hogy a rákerülő üzemanyagot korommentesen elégesse. Az öntisztuláshoz az szükséges, hogy a szigetelő belső végének átlagos hőfoka legalább 550°C legyen. A szükségesnél nagyobb hőértékű gyertya jobban lehűl, így bekormolódik, míg a szükségesnél kisebb hőértékű gyertyánál bekövetkezik az öngyulladás. A kormos gyertyánál kihagy a gyújtás, mert a gyertyára rakódott koromréteg vezeti az áramot, így a szekunder áram nem szikra útján, az elektródán, hanem a koromrétegen keresztül záródik.
1.6. A gyújtás megfelelő időzítésének jelentősége A benzin- levegő keverékének égése meglehetősen bonyolult folyamat, amely igen rövid idő alatt, de nem pillanatszerűen zajlik le. A keverék meggyújtása megtörténik, még mielőtt a dugattyú a sűrítési ütem végén elérné a felső holtpontot, így mire a dugattyú 10-15 fokkal túlhaladt a holtponton, az égés folyamata már előrehaladt és a létrejövő nagy nyomás lefelé tolja a dugattyút.
11
Amennyiben a keverék meggyújtása a szükségesnél hamarabb következik be, akkor a gázok legnagyobb nyomása kialakul, még mielőtt a dugattyú elérné a felső holtpontot, azaz a gázok nyomása a dugattyú mozgása ellen fog hatni. Ekkor a motor teljesítménye csökken, kopogva jár, ami fokozott kopásokat, és törést eredményezhet. Ha pedig a keverék meggyújtása a szükségesnél később következik be, akkor az égés folyamata késve zajlik le, a nagynyomású gázok egy része a kipufogó szelepeken keresztül távozik anélkül, hogy hasznos munkát végzett volna. Ennek következtében a motor teljesítménye szintén csökken, valamint előfordulhat a motor túlmelegedése is. Amint láthatjuk a gyújtás időpontjának megválasztása nagy jelentőségű a motor üzemelése, teljesítménye és élettartama szempontjából. Mivel a benzin- levegő meggyújtása általában a dugattyú felső holtpontba érkezése előtt történik meg, a gyújtás időpontját a mindennapokban előgyújtásnak nevezzük. Az előgyújtás nagyságának mértéke a főtengelynek azon fokokban mért elfordulása, amit az idő alatt végez, amíg a gyújtás pillanatának helyzetéből a felső holtpontba érkezik. Amennyiben a gyújtás a felső holtpont után következik be, utógyújtásról beszélünk.
Az előgyújtás nagysága a motor fordulatszámától, valamint a fojtószelep nyitásától (vagyis a terheléstől), a hengerfej kiképzésétől, az üzemanyag minőségétől, valamint a keverés arányától függ. Minél nagyobb egy adott motor fordulatszáma, annál nagyobb a dugattyú sebessége is, annál kevesebb idő áll rendelkezésre a keverék elégésére. Ezért nagyobb fordulatszámon nagyobb előgyújtásra van szükség. A fojtószelep nagyobb nyitása során több keverék jut a hengerbe, nagyobb lesz a sűrítési végnyomás és a keverék égési sebessége, tehát kisebb előgyújtásra van szükség. A benzin- levegő keverék egy bizonyos nyomásnál és hőmérsékletnél öngyulladás következtében meggyullad, és robbanásszerűen elég. Ezt a jelenséget detonációs (kopogásos) égésnek nevezzük. Azokat az üzemanyagokat, amelyeknél nagyobb nyomáson lép fel az öngyulladás, nagyobb oktánszámúnak nevezzük. Amennyiben a hengerben detonációs égés következik be, azaz az üzemanyag kopogásos égéssel ég el, az előgyújtást növelni kell mindaddig, amíg a kopogásos égés meg nem szűnik. A gyújtásvezérlőnek tehát olyannak kell lennie, amely képes önműködően a szükséges előgyújtást biztosítani.
12
A hagyományos gyújtásrendszereknél a fordulatszámtól függő előgyújtást egy röpsúlyos előgyújtás szabályozó állítja elő. Az elosztó tengelyén lévő alaplemezen helyezkednek el a röpsúlyok, melyek az alaplemezből kiálló csapok körül elfordulhatnak. A röpsúlyokat egy rugó állandóan a tengely felé húzza. (1.5. ábra)
1.5. ábra
Zárt röpsúlyok
A röpsúlyok a felső lapjukon lévő csapok segítségével csatlakoznak a tengelyen szabadon elhelyezkedő megszakító bütyökhöz. Nyugalmi helyzetben a röpsúlyokra csak a rugóerő hat, amint azonban az elosztótengely forogni kezd, a röpsúlyok a centrifugális erőnek köszönhetően a rugó erő ellenében eltávolodnak a tengelytől. (1.6. ábra)
1.6. ábra
Nyitott röpsúlyok
A röpsúlyos előgyújtás szabályzónak a szerepe, hogy a fordulatszám emelkedésével növelje az előgyújtás értékét, azaz siettesse a primer áram megszakítását. Ez megvalósítható a megszakító bütyöknek a forgás irányába történő elfordításával.
13
A motor terhelésére jellemző a fojtószelep állása. Teljesen nyitott fojtószelep mellett viszonylag sok levegő jut a hengerbe, a benzinszegény keverék lassabban ég, így tehát nagyobb előgyújtásra van szükség, hogy a kialakuló nyomásmaximum a dugattyú holtpontja után alakuljon ki. A terhelés függvényében az előgyújtás szabályzás a hengerben uralkodó nyomásváltozást (szívóhatás változást) használják fel. A szívóhatás változás alapján működő előgyújtás szabályzót vákuumos szabályzónak nevezzük. A vákuumszabályzó a gyújtáselosztón helyezkedik el.
1.7. ábra
Vákuum szabályozás szerkezete
A fémtest két felét egy rugalmas membrán választja el. Alaphelyzetben a rugó nyomásának hatására a membrán az elosztó felé hajlik ki. A fojtószelep nyitásakor a karburátor torokban vákuum alakul ki, amely a vákuumcsövön keresztül eljut a membránig, ami így a szívóerő hatására az elosztótól távolodik. A membrán egy kis kar segítségével magával viszi a megszakító alaplemezét, vagyis az elosztó forgási irányával ellentétesen fordítja azt, így a gyújtási időpontot előrébb hozza, tehát növeli az előgyújtást. A felépítése és működése az 1.7. ábrán követhető nyomon.
14
2. Miért van szükség processzoros vezérlésre?
2.1. Mechanikus rendszerek hibái Mint az előző fejezetből is látható, a hagyományos rendszerek elég sok mechanikus egységet tartalmaznak. Ennek köszönhetően a megbízhatósága és pontossága nem valami nagy. Ebben a fejezetben sorra veszem, hogy milyen mechanikus elemekkel milyen problémák fordulhatnak elő.
Elsőre nézzük az elosztó tengelyének hajtásláncát. Az elosztó általában a vezérműtengelyről van meghajtva egy fogaskerék áttétellel. Itt előfordulhatnak kopások, kotyogások, aminek következtében a gyújtás időzítésének pontossága romlik. A vezérműtengely általában egy bordásszíjjal van meghajtva a főtengelyről, de pl. a prototípus fejlesztéséhez használt Skodán lánc áttételt alkalmaztak. Ebben az esetben még fokozottabban jelentkeznek ezek a hibák, mivel a lánc jelentős mértékben képes megnyúlni, így a gyújtáspont a lánc nyúlásának függvényében folyamatosan „vándorol”. Kis fordulaton stroboszkóppal jól megfigyelhető, ahogy a megnyúlt, és laza lánc miatt ide-oda ugrál a gyújtáspont. Kicsit nagyobb fordulaton ez már nem tapasztalható, mert akkor a lánc már kellőképpen megfeszül, de a gyújtáspont még ilyenkor sem a megfelelő helyen van (Hacsak nem a lánc nyúlásával folyamatosan állítjuk utána.)
Folytassuk tovább az elosztóban található alkatrészekkel. Mint a fenti fejezetben ismertettem, a röpsúlyos előgyújtásszabályzó röpsúlyait egy-egy rugó feszíti elő. E rugók idővel elgyengülnek, megnyúlnak, és ennek köszönhetően változik az előgyújtás karakterisztika. Kisebb centrifugális erő hatására is ki tudnak nyílni a röpsúlyok, tehát már kisebb fordulaton nagyobb előgyújtást adnak, mint ami szükséges lenne. A röpsúly másik hátránya, hogy nem az ideális karakterisztikát valósítja meg, hanem azt csak próbálja közelíteni amennyire a mechanikai kialakítása miatt lehetséges. Beállítása is nehézkes.
15
Az elosztó másik kritikus pontja a megszakító. Ez fokozott kopásnak és szikrázásnak, beégésnek van kitéve. A megszakító elektródáinak a szikrázásnak köszönhető „fogyása” miatt az előgyújtási pont változik. Az elektróda fogyás legjelentősebb következménye a zárásszög változás, mivel ezt a megszakító hézag befolyásolja. Az elosztó fedél érzékeny a mechanikai behatásokra, ütésekre. Könnyen hajszálrepedések keletkeznek rajta, melyek hatására a szikra könnyen áthúz. Az olaj, por, nedvesség (pára) szintén gondot okoz, mivel ezek is megkönnyíthetik a szikra útját egy másik irányba, így könnyen előfordul, hogy a testre húz át. Nem sűrűn, de előfordulhat a vákuumos szabályzó membránjának kilyukadása, vagy esetleg az elosztóban az alaplap akadása. Ilyenkor a terheléstől függő előgyújtás szabályzás megszűnik. Ennek köszönhetően a motor dinamikája csökken, a fogyasztás nőhet. A fenti hibákat összeadva már elég nagy pontatlanság, és megbízhatatlanság jellemzi a hagyományos gyújtásrendszert. Mivel a processzoros gyújtásrendszerem közvetlen a főtengelyről veszi a holtpont jeleket, és ahhoz időzít mindent, így a mechanikai kopások, kotyogások teljes mértékben kizárhatóak. A megszakító beégését, kopását egy tranzisztor, vagy FET alkalmazásával elkerülhetjük. Az elosztó fedél hibáinak kiküszöbölésére is nyújt megoldást a mikrovezérlős gyújtás. Ugyanis adott a lehetőség arra, hogy 2db dupla szekunder kivezetéses trafót alkalmazzunk, így nincs szükség az elosztóra sem.
2.2. Szoftveres beállíthatóság előnyei Az első, legfontosabb előny, hogy a vezérlő úgymond univerzális, mivel bármilyen 4 hengeres, vagy akár 1, vagy 2 hengeres motorra is felkonfigurálható. Az előgyújtási karakterisztikák tetszőlegesen megváltoztathatók, ennek főleg tuning motoroknál van jelentősége, ahol minden kis részletet össze kell hangolni. Másik nagy előny, hogy a beállított karakterisztikákkal több üzemmód is megvalósítható, pl. sport, ECO, stb. A szoftveres beállítás lehetőséget ad nem csak motortípusonkénti beallításra, hanem lehetővé teszi az e g y edi motorpéldányokhoz való optimális beállítások megtalálását.
16
3. A vezérléshez felhasznált paraméterek Milyen mennyiségek mérésére, és egyéb jelekre van szükség a vezérléshez? ·
fordulatszám jel
·
holtpont jel
·
szívócsőnyomás
·
hengerpár azonosító jel
·
motorhőmérséklet
·
gázpedál végállás
Ebben a fejezetben sorra veszem, hogy melyik jellemző mérésére mért van szükség, a következő fejezetben pedig, hogy ezek mérésére milyen lehetőségek vannak, és én miket alkalmaztam a gyakorlatban.
3.1. Fordulatszám jel Ennek mérése az egyik legfontosabb feladat, mert ennek van a legnagyobb jelentősége az előgyújtás szabályzás folyamán, ugyanis a legnagyobb előgyújtás változás a fordulatszám változásából adódik.
3.2. Holtpont jel Ez a másik legfontosabb bemenőadat, mivel ennek pontossága befolyásolja a legjobban az időzítéseket, ugyanis minden ehhez a jelhez van időzítve.
3.3. Szívócsőnyomás Ez a mennyiség a motor terhelésével szoros összefüggésben van. Az első fejezetben ismertettem a vákuumos előgyújtás szabályozás fontosságát, így itt most újra nem térnék ki rá.
3.4. Hengerpár azonosító jel Ennek mérésére csak akkor van szükség, ha az eredeti gyújtáselosztót nem szeretnénk meghagyni, hanem 2 db dupla szekunderes trafót alkalmazunk. Ez a jel csak arra
17
szolgál, hogy kiválassza, hogy melyik holtpontjelhez melyik gyújtótrafón kell gyújtani. 2db dupla szekunderes trafót azért alkalmazhatunk, mert a négy hengerből 2-2 mindig egyszerre mozog, csak épp ellenkező ütemben vannak, vagyis mikor az egyik sűrít, a másik kipufog. Így ezekre a hengerpárokra nyugodtan alkalmazhatunk közös trafót, mivel nincs semmi káros hatása annak, ha a kipufogó ütembe is belegyújtunk.
3.5. Motorhőmérséklet E mennyiség mérése nem szükséges az alapvezérléshez, de mivel nem nehéz megvalósítani ezért ezt a tényezőt is bevettem a szabályzásba. Ha már van hőmérséklet jelünk,
akkor
esetleg
a
hűtőventillátor
vezérlését
is
rábízhatjuk.
Egy későbbi opció miatt mégis bevettem a szabályzásba, ugyanis: Hideg motornál a benzin nem tud a kellő mértékben elporlasztódni, majd a levegővel elkeveredni. Ezek után ráadásul a szegény keverék nagy része még le is csapódik a szívócsőben, és a hideg hengerek falán. Tehát a hideg üzemmód egy speciális üzemmód, amit mindenképpen figyelembe kell venni. Tehát ilyenkor szegényebb a keverék, ezért szükség van egy külön indításkori speciális jelleggörbére, vagy esetleg csak egy fix előgyújtásra, ami a hideg motor indításához optimális.
3.6. Gázpedál végállás A hőmérséklethez hasonlóan ez sem feltétlen szükséges a szabályzáshoz. Sőt, nem is a gyújtás miatt került a rendszerbe. Fejlesztés közben jött az ötlet, hogy motorfék üzemben az alapjárati mágnesszelepet elzárva kis mértékű üzemanyag fogyasztás csökkenés érhető el, amely tudatos motorfék használat során akár jelentős is lehet. Természetesen ezt nem elég egyszerűen „összedrótozni” a mágnesszeleppel, mivel akkor az alapjáraton is elzárná az üzemanyagot. Ezt egyszerűen úgy oldottam meg, hogy a mikrovezérlő egy előre beállított fordulatszám alatt ismét kinyitja a mágnesszelepet, vagyis alapjáraton megmarad az üzemanyag ellátás.
18
4. A felhasználható és felhasznált jeladók, szenzorok
Ebben a fejezetben a fentebb ismertetett mennyiségek, jelek mérésének fizikai megvalósítását ismertetem.
4.1. Fordulatszám jel Mérésére több lehetőség is adódik. A fordulatszámmal arányos frekvenciájú jel levehető a megszakítóról egy hagyományos gyújtású motornál. Ebben az esetben mivel nem lesz megszakító, így ez nem jöhet számításba. Egy másik módszer, a lendkerék fogainak érzékelése egy induktív jeladóval. Ennek hátránya, hogy nem hozzáférhető, a jeladó beépítése nehézkes, esetenként az egész motor kibontásával jár. A harmadik lehetőség, hogy a főtengely ékszíjtárcsájára helyezünk el valami jeleket, és ezt érzékeljük. Ennek előnye, hogy könnyen hozzáférhető. A fejlesztési fázisban ezt választottam. Az ékszíjtárcsán két jellegzetes pontot jelöltem ki, mégpedig a két valós holtpont előtt 90 fokkal. Azért kellett két pontot kijelölni, mert ezzel a mérés pontosságát lehet növelni, valamint e két pont helyzetéből meghatározható a két valódi holtpont, amihez az előgyújtást időzíteni kell. E két pont helyzetének meghatározására is több lehetőségünk van. Hall, induktív vagy opto jeladó. A Hall jeladót a megbízhatatlansága miatt elvetettem. Az induktív jeladó lenne a legjobb megoldás, mivel azt könnyű a környezeti hatásoknak ellenállóvá tenni, nem zavarja a víz, sár, por, olaj. Mivel ezt a fordulatszámjelet egyben időzítés viszonyítási alapjának is használjuk, ezért ennek a jeladónak van egy hátránya, mégpedig az, hogy a jel pontossága kis mértékben függ a fordulatszámtól. Kisebb fordulaton késik, nagyobb fordulaton pedig siet egy közepes fordulaton beállított ponthoz képest. Ennek kikompenzálására az az ötletem, hogy egy opto jeladóval közös tengelyre rögzítve a fordulatszám függvényében fel lehet venni a karakterisztikáját az opto jeléhez viszonyítva, majd a mikrovezérlő programja a fordulatszámtól függően ezzel tudja korrigálni a holtpont jeleket. A harmadik lehetőség, az opto jeladó. Egyszerűsége, könnyű beállíthatósága és pontossága miatt a fejlesztés alatt ezt használom. Hátránya hogy nagyon érzékeny a fentebb említett hatásokra, mivel szabadon, a motortérben van. Az elkoszolódása ellen védekezni elég nehézkes. A jelenlegi megvalósítása: az ékszíjtárcsára a megfelelő helyre két 1,5mm átmérőjű lyuk
19
van fúrva. Alapesetben az optokapu jele meg van szakítva és csak a két lyuk elhaladása esetén ad egy-egy impulzust.
4.1. ábra
Az opto jeladó kapcsolása
A fordulatszám meghatározása a két jel közötti idő mérésével történik. Ha ezt az időt tekintjük T- nek, akkor mivel 180 fokonként vannak a jeladók, így a teljes fordulat 2T ideig tart. Innen a fordulatszám:
f = 1 / 2T
N = 60 * f = 60 / 2T = 30 / T [RPM]
4.2. Holtpont jel Az előző bekezdésben említettem, hogy a holtpont érzékelés a fordulatszám méréssel közös jeladóval történik. A két „kvázi” holtpont jel a két valódi holtpont előtt 90 fokkal érkezik, hogy ez után legyen elég ideje a mikrokontrollernek számolni, és időzetni is. A negatív kvázi holtpont nélkül nem is tudnánk negatív előgyújtást megvalósítani, esetleg csak a következő ütemre, de akkor csökkenne a pontosság, mivel az csak 180 fokos főtengely fordulat után következik. Miért pont 90 fok? A válasz egyszerű. A gyakorlatban ezt könnyű megvalósítani, valamint extrém esetekben, pl. tuningolt motoroknál előfordulhat akár 60-70 fokos össz előgyújtás is, így van elegendő idő a számolásokra.
20
4.3. Szívócsőnyomás E mennyiség mérése nem olyan problémás, mint első hallásra tűnik. A kereskedelemben elég sok nyomás, és vákuum mérő szenzor kapható, csak meg kell találnunk a nekünk megfelelőt, majd illeszteni a mikrovezérlőhöz.
A szenzorral kapcsolatos követelmények:
·
legalább 70kPa vákuumot tudjon mérni
·
a karakterisztikája lehetőleg lineáris legyen a könnyű feldolgozhatóság érdekében
·
széles hőmérséklet tartományban működőképes legyen
·
hőmérséklet kompenzált legyen
A megfelelő szenzort a Freescale (Motorola szenzor ágazata) interneten elérhető katalógusából választottam ki. Az MPX5100DP típusjelű szenzor [4] tűnt a megfelelő példánynak. Ez egy analóg szenzor, a kimeneti feszültsége a nyomás függvényében változik.
Főbb adatai:
·
100kPa-os max nyomás érték
·
a kimenete erősített, kb. 0-5V tartományban szolgáltat kimenőjelet
·
hőmérséklet kompenzált
·
2,5%-os hibahatáron belül van 0-80°C tartományban
·
Érzékenysége 45mV/kPa
21
4.2. ábra
A vákuum szenzor kimeneti karakterisztikája
Mivel ez a szenzor egy differenciális szenzor, vagyis két nyomás csatlakozása van, egy pozitív és egy negatív. E két nyomás közötti különbséget méri. Mivel nekünk mindig az aktuális légköri nyomáshoz kell viszonyítanunk, azért a pozitív bemenetét szabadon hagyjuk.
4.4. Hengerpár azonosító jel A mérés módja megegyezik a holtpont jeladóéval, a prototípusban opto jeladóval történik, mely a főtengely ékszíjtárcsán helyezkedik el. A „További lehetőségek” c. fejezetben még lesz szó erről a jeladóról.
4.5. Motorhőmérséklet A hőmérséklet szenzor kiválasztásánál a következő paramétereket vettem figyelembe:
·
Legalább -40 °C-ig működőképes legyen
·
Legalább 120°C -os max. mérési határ
·
Analóg kimeneti feszültség
·
Lehetőleg lineáris kimeneti karakterisztika
A mérésre egy, a vákuumszenzorhoz hasonló, integrált kivitelű, analóg hőmérséklet szenzor került kiválasztásra a National Semiconductors kínálatából. [5]
22
Ennek típusa: LM35 Paraméterei: ·
-55°C - 150°C mérési tartomány
·
Lineáris karakterisztika (+10mV/°C)
·
4-30V-os tápfeszültség igény
4.6. Gázpedál végállás A megvalósítás egy egyszerű végállás kapcsolóval (mikro kapcsoló) történhet, melyet a karburátoron a megfelelő helyre rögzítünk. A gázpedál alsó végállásában +12V-ot kapcsol a vezérlőelektronika erre kialakított bemenetére.
23
5. A hardver A hardver feladata a beérkező jelek illesztése a mikroprocesszor számára, a kimeneti jelek erősítése, illesztése, valamint a vezérlő program futásához szükséges fizikai háttér biztosítása. A teljes kapcsolási rajz az 1. mellékletben található meg.
5.1. A mikrovezérlő kiválasztása Mivel korábban is már a Microchip PIC mikrovezérlő családjával foglalkoztam, most is az ő termékeikből választottam ki a megfelelő processzort.
A kiválasztás szempontjai: ·
Elegendő ram terület a program számára
·
Megfelelő méretű EEPROM terület a karakterisztikák tárolására
·
Megfelelő számú I/O port
·
Integrált A/D átalakító
·
Nagy sebesség
·
16 bit-es működés
·
Könnyű programozhatóság (ICSP)
·
USART port
Ezeknek a követelményeknek a 16 bites 18-as sorozatból a 18F4320-as processzort [3] választottam. A program számára 4 kbyte flash, a karakterisztikáknak pedig 256 byte EEPROM terület áll rendelkezésre. Az I/O portok száma 36. 10 bites A/D átalakítóval rendelkezik. 4x-es szorzójú PLL-es oszcillátorral rendelkezik, így egy 10MHz-es kvarccal 40MHz-es órajel frekvencia érhető el, ami már bőven elegendő a működéshez.
5.2. A jeladók, szenzorok illesztése Összesen 5 db bemeneti jel illesztését kell megvalósítani. Az első a főtengely jeladókról érkező 12V-os jelszintű holtpontjel. Mivel ez a jeladótól egy hosszú vezetéken érkezik, ezért a motortérben sok zajt összeszedhet, márpedig ennek a jelnek pontosnak, és meredek felfutásúnak kell lennie. Azért is választottam
24
12V-os jelszintet, hogy a zavarokra kevésbé legyen érzékeny. A bemenet egy diódás negatív és túlfeszültég védelemmel van ellátva. Egy dióda az anódjával a földre van kötve, a negatív feszültség tüskék levágása érdekében, egy másik dióda pedig a katódjával a pozitív tápfeszültségre csatlakozik, így a bemeneti feszültséget Ut+0,6V-ra korlátozza. Ezt a diódás vágó áramkört az összes bemenetre alkalmaztam. Mivel a holtpont jel elég kritikus az időzítés szempontjából, egy Shmidt-trigger bemenetű CD4093-as CMOS egyik NAND kapujával egy jelformálást alkalmazok, így elég meredek felfutása lesz a jelnek. Ezután, mivel a PIC TTL kompatibilis jelszinteket fogad, egy soros ellenállással, és egy 4,7V-os zener diódával korlátozom a jelet TTL szintre. Műszerekkel, labor körülmények között tesztelve a bemenet jónak tűnt, de a motortérbe beszerelés után elég sok zavarjelet beszedett, így előfordult, hogy egy periódus alatt a Shmidt-trigger többször is átbillent. Ezt a problémát úgy sikerült kikószöbölni, hogy közvetlen a bemenetre raktam egy 100nF-os kondenzátort, ami a zavarjeleket megfelelően leszűri, a holtpont jelet viszont még nem befolyásolja. A jeladó számára a panelen külön +12V, és GND csatlakozás is ki van alakítva. A Shmidt trigger kimenete után egy led van kötve, mely a jeladó fizikai beállításánál nagy segítségünkre lesz.
A második jeladó, a hengerpár azonosító. Ez a mechanikai kialakításából kifolyólag nem csak egy rövid impulzust ad, időzítése sem kritikus, így nincs szükség meredek felfutásra, pontos jelformálásra. A 2 diódás negatív és túlfeszültség védelem itt is megtalálható. Ezután csak egy soros ellenállásal, és egy zener diódával TTL jelszintre formálás található. Arra az esetre, ha csak egy gyújtótrafós beállításban használjuk a vezérlőt, a bemenet rendelkezik egy lehúzó ellenállással is, ilyenkor nem engedi, hogy a bemenet valami zavar hatására szabadon billegjen, ezáltal hamis megszakításokat okozzon a processzor számára.
Szükség van még a gázpedál végállás kapcsoló illesztésére. E bemenet kialakítása teljes mértékben megegyezik a fentebb ismertetett hengerpár azonosító bemenetével.
25
A következő bemenet a hőmérséklet szenzor. Mivel az LM35-ös szenzor kimenete analóg, ezért ezt egy A/D-vel rendelkező bementre kell kötni. Különösebb illesztést nem igényel, mivel a kimenete 5V-os jelszintű. Ezen a bemeneten is megtalálható a diódás védőáramkör, valamint egy 100nF-os hidegítő kondenzátor a zavarjelek kiküszöbölése érdekében. A panelen e szenzor számára is ki van alakítva egy +5V-os, és GND tápcsatlakozás.
A következő feladat a vákuum mérő szenzor illesztése. Mivel e szenzor tápfeszültség igénye, valamint a kimeneti jelszintje teljes mértékben megegyezik a hőmérséklet szenzoréval, ezért a bemenet kialakítása azzal megegyezik. A szenzor közvetlen a panelon kapott helyet, így csökkenthető a hosszú vezetékek miatti zavarok hatása, valamint nincs szükség a két védődiódára sem.
A panelon megtalálható még egy 8-as DIP kapcsolósor, aminek a későbbi beállításoknál lesz szerepe, valamint egy bővítő tüskesor, melyre egy esetleges későbbi bővítőkártyát lehet illeszteni.
5.3. A kimenetek megvalósítása Két fő kimenet, a két gyújtótrafó nagyáramú meghajtó kimenete. Kialakítása a következő: Mivel a PIC kimenete TTL szintű, ezért természetesen nem alkalmas a trafót meghajtó fet vezérlésére, sem feszültségben, sem áramban. A fet kellő mértékű kinyitásához 12Vról nyitom. Az ehhez szükséges illesztésre szolgál a Q5 és a Q8 tranzisztorral felépített invertáló kapcsolás. Ez után egy CD4093 Shmidt triggeres nand kapu található, melynek egyik szerepe a jelformálás, hogy kellő meredekségű meghajtójelet kapjanak a fetek. A másik szerepéről később lesz szó. A fet-en fellépő melegedés csökkentésének érdekében gyorsan kell kinyitnunk a fetet, ehhez pedig nagy áram kell. Ezért került be az áramkörbe a T1-T2 valamint T3-T4 NPN-PNP tranzisztor párból álló áramerősítő fokozat.
26
A trafót kapcsoló FET kiválasztásának szempontjai:
·
Elegendően nagy D-S feszültség, mivel a tekercs áramának megszakításakor több száz V-os feszültséglökések keletkeznek
·
A gyújtótrafó áramát bírja el
·
Kellően kicsi R(dson) a túlzott disszipáció elkerülése érdekében
Az első követelményeknek az IRF740 típusú fet megfelel, adatai:
·
Uds=400V
·
Imax=10A
·
Rdson=0,48ohm
A fet védelmében a D-S közé elhelyeztem egy 350V-os supressor diódát, mely megakadályozza hogy a D-S között a fetre káros feszültség kialakulhasson.
A tesztüzem alatt az IRF740 típusú FET nem bizonyult megfelelőnek, mert túlzott melegedés volt tapasztalható. Ennek eredményeként egy nagyobb feszültségű, és kisebb csatornaellenállású FET-et választottam, melynek típusa IRF460. Adatai a következők:
·
Uds=500V
·
Imax=20A
·
Rdson=0,22ohm
E fet használatával már megszűnt a túlzott melegedés, melynek oka valószínűleg a magas csatornaellenállás volt az oka. Mivel az IRF460-as fetnek magasabb a DS feszültsége, lehetőség van nagyobb feszültségű supressor használatára is, így kevésbé vágja le a primer feszültséglökést is, aminek két haszna is van egyszerre. C sökken a supressor disszipációja, valamint az esetleges nagyobb primer fesz miatt nő a szekunder feszültség is. A legjobb lenne még nagyobb feszültségű fet-et használni, viszont azoknak már jóval nagyobb a csatornaellenállásuk, így a disszipáció növekedését
27
okozná. Így tehát egy ilyen kompromisszumot sikerült kötni, hogy 450V-ra van korlátozva a primer feszültség lökés, ami a gyakorlatban nem probléma, mivel általában 400V alatt marad ez az érték.
Visszatérnék a CD4093-as nand kapu másik funkciójára. Mivel a kereskedelemben kaphatók már gyárilag, elektronikus meghajtással ellátott gyújtótranszformátorok, amelyek kis jelszintekkel vezérelhetők, ezért az ehhez való kimenetekkel is elláttam a hardvert. Ismereteim szerint két verzió is elterjedt ebből a fajta trafóból, és az egyik invertált jelszintekkel működik. Ennek érdekében a nand kapu előtt, és után is ki van vezetve a jel, majd egy jumper-rel tetszés szerint változtatható a kimenet polaritása.
5.1. ábra
A transzformátor meghajtó kimenet kialakítása
A Q1, Q2 és Q3 tranzisztorral egy-egy open collector-os kimenet van kialakítva, az önindító engedélyezés, a karburátor alapjárati mágnesszelep, és a hűtőventillátor vezérlésére. Mivel ezek a kimenetek induktív fogyasztókat (mágnesszelep, relé) vezérelnek, a tranzisztorok védelmében kerültek be a védődiódák.
28
5.2. ábra
Az open collector-os kimenetek kialakítása
A prototípus elkészülte után a mágnesszelep vezérlő kimenetét módosítani kellett, mivel pozitív vezérlő feszültség szükséges a mágnesszelep számára. Az ehhez módosított kimenet az 5.3. ábrán látható.
5.3. ábra
A módosított mágnesszelep kimenete
A panelon helyet kapott még 2db jelző led, valamint egy zümmer, mely a Q4 tranzisztorral van meghajtva.
5.4. Soros port illesztése és a programozó interfész A PC COM port illesztése egy MAX232 TTL-RS232 soros illesztő ic-vel történik. Ennek kialakítása az adatlapi alapkapcsolásnak megfelelő:
29
5.4. ábra
A TTL-RS232 soros illesztés megvalósítása
A fejlesztés megkönnyítése érdekében ICSP programozást használok, így nem kell minden szoftver frissítéskor a PIC-et ki-be rakosgatni, hanem a céláramkörben, a helyén programozható. Az ICSP programozáshoz 3 lábra (PGD, PGC, Vpp) van szükségünk, valamint a tápfeszültség lábakra. Az 5.5. ábrán az ICSP interfész kialakítása látható.
5.5. ábra
Az ICSP interfész kialakítása
30
5.5. A NYÁK kialakítása
A nyák tervezésekor a következő szempontokat vettem figyelembe:
·
a vezetékek a lehetőségekhez mérten legyenek minél rövidebbek és a terhelő áramoknak megfelelő vastagságúak
·
az alkatrészek elhelyezésénél törekedtem a legoptimálisabb helykihasználásra
·
a hűtőbordát igénylő alkatrészek úgy legyenek elhelyezve, hogy praktikusan lehessen őket a hűtőtönkhöz rögzíteni, minél jobb hőkontaktus mellett
·
a csatlakozók és a vákuum szenzor a panelon megfelelő helyre kerüljön
·
a programozó csatlakozó jól hozzáférhető legyen
A kivitelezés:
·
jó minőségű, vastag üvegszálas hordozóréteg használata
·
a nagytömegű alkatrészek megfelelő rögzítése ragasztással
·
a nagyáramú vezetősávok (trafó kimeneti) utólagos megerősítésre kerültek
·
miután az alkatrészek beforrasztásra kerültek és megbizonyosodtam az egység működőképességéről, 3 réteg védőlakkal vontam be, ami fokozza a mechanikus stabilitást, valamint ellenállóvá teszi az elektronikát a nedvességgel, porral, olajjal szemben is
Az 5.6. valamint az 5.7. ábrán a vezérlő alkatrész és fóliaoldali mintázata látható. Az 5.8. ábrán a beültetési rajz, az 5.9. ábrán pedig a már a készre szerelt panel látható.
A panel a huzallábas alkatrészek alkalmazása miatt sajnos elég méretesre sikerült, ezért már készül az új, smd változat, melyen már a fejlesztés alatt eszközölt módosítások is el lesznek végezve.
31
5.6. ábra
Bottom layer
32
5.7. ábra
Top layer
33
5.8. ábra
Beültetési rajz
34
5.9. ábra
A beültetett panel
35
6. A szoftverek
A gyújtásvezérlőhöz kétféle program tartozik. Az egyik a hardver mikrovezérlőjében található, a másik pedig a konfiguráló PC-n. Ebben a fejezetben e két szoftvert, és a közöttük zajló kommunikációt, valamint a karakterisztikákat, és az alapbeállításokat tartalmazó EEPROM memóriatérképét ismertetem.
6.1. A vezérlő szoftver és a kommunikációs protokoll A vezérlő szoftver teljes egészében a PIC flash memóriájában helyezkedik el. Feladata a jeladók, szenzorok jeleinek feldolgozása, értékelése, majd ezekből az adatokból a szükséges értékek számolása, valamint a kimenetek megfelelő időzítése. A feladat bonyolultsága, és a sok számolás miatt a C nyelvet választottam a programozásra. A fejlesztéshez a Custom Computer Services Inc. (CCS) C compiler-ét használtam. A vezérléshez szükséges karakterisztikák, valamint az alapadatok a PIC EEPROM területén helyezkednek el. A vezérlő program függvényekből épül fel, melyek a következők:
·
inic
Inicializálás
·
ropsuly_rutin
Fordulatszám alapján a szükséges előgyújtás érték kiolvasása az EEPROM-ból
·
vakuum_rutin
A vákuum függvényében a szükséges előgyújtás meghatározása az EEPROM-ban lévő karakterisztikából
·
soros_kiir
Tesztelés alatt lehetőség van egyes váltózók értékeinek kiküldésére a soros porton keresztül
·
beep
Hangjelzés kiadása a beépített zümmeren keresztül
·
main
Főprogram
Ezenkívül még van két megszakítás rutin is, ezek:
·
EXT_isr
külső megszakítás (holtpont jelek) lekezelése
·
RDA_isr
vételi soros megszakítás (konfiguráció) kezelése
36
6.1.1 A main rutin A main függvény szerepe a kisebb alfüggvények összefogása, a program vezérlése. A main folyamatábrája a 6.1. ábrán követhető nyomon.
6.1. ábra
A main függvény folyamatábrája
Mint a folyamatábrából láthatjuk, a főprogram az inicializálással kezdődik. Ezután pollingal figyeljük hogy a holtpont megszakítás beállította-e a VOLTINT flag-et. Erre azért van szükség, mert ha minden számolást és időzítést a külső megszakítás rutinjában végeznénk el, akkor a műveletek befejezéséig a megszakítások tiltva lennének, így előfordulhat, hogy kimarad egy holtpont, onnantól kezdve pedig elcsúszik az egész vezérlés. Így, hogy nem a megszakítás rutinban vannak az időigényesebb műveletek, egy újabb megszakítással bármikor fel lehet függeszteni a számolásokat és időzítéseket, és az új holtponttal lehet foglalkozni. A polling miatt nincs időzítési pontatlanság, mivel
37
a TIMER0 kiolvasása és nullázása a megszakítás rutinban megtörténik, a továbbiakban pedig ehhez időzítünk. A holtpont jel beérkezése után meghívódik a ropsuly_rutin, amely a visszatér egy fordulatszám függő előgyújtás értékkel. Ezután a vakuum_rutin hívódik meg, amely pedig a szívócső vákuum értékétől függő előgyújtás értékkel tér vissza. Mindezek után kiszámolja megszakításig szükséges késleltetést. Mivel a jeladónk -90 fokos helyzetben van, a szükséges késleltetés fokokban:
90-ropsuly(fok)- vakuum(fok)-alapelőgyújtás(fok)
Ezek után ezt a késleltetési értéket átszámolja a TIMER0- nak megfelelő lépésekre. Minden 10. ütemben a soros portra kiküldhető DIP kapcsolósorral beállított adat értéke. Erre szolgál a soros_kiir rutin. Ezután vizsgáljuk hogy a TIMER0 elért-e az időzítési pontig, ez alatt folyamatosan vizsgáljuk hogy volt-e újabb holtpont jel. Ha igen, akkor hagyjuk ezt az időzítést, és az új holtpontjel lekezelését kezdjük meg. Ha a TIMER0 elért az időzítési pontig, akkor megvizsgáljuk hogy volt-e a holtpont jellel együtt hengerpár azonosító jel, majd ennek függvényében az 1-es vagy 2-es trafót szakítjuk meg. Ha egy trafós üzemmód van beállítva, a hengerpár azonosító (HPA) jel mindig 0, tehát csak az 1-es trafón lesz megszakítás, így alkalmazható egy trafóval, és elosztóval is a vezérlő. Mindezek után a zárásszögnek megfelelően kiszámolja hogy mennyi ideig kell nyitva tartani a primer áramkört. Ezt az ismét TIMER0 lépéseiben kifejezett késleltetési értéket hozzáadja az előző értékhez, és ismét vizsgálja, hogy a TIMER0 elért-e az időzítési pontig. Ha igen, akkor zárja a trafók primer áramkörét, majd visszatér a függvény elejére,
és
vár
a
következő
holtpont
jelig.
38
6.1.2. Az inic rutin Az inic rutin feladata az alapbeállítások, perifériák beállítása. Folyamtábrája a 6.2. ábrán követhető nyomon.
6.2. ábra
Az inic rutin folyamatábrája
Az inic a két analóg bemenet beállításával indul a hőmérséklet és a vákuum szenzor számára. Ezután a TIMER0-t időzítő módba állítja, 32-es előosztással, majd a külső
39
(holtpont) és a soros vételi megszakítást engedélyezem. A két trafó primer áramkörét az első holtpont jelig megszakítom, hogy a csak ráadott gyújtás mellett a trafókat ne terhelje folyamatosan. Az önindító-t engedélyezem. Ennek tiltására egy előre beállított fordulatszám elérése után kerül sor. Ennek haszna, hogy a motor elindítása után nem lehet még egyszer „ráindítani”, ami a fogaskerekekre nem lenne jó hatással. A következő feladat a fordulatszám mérő kimenet alaphelyzetbe állítása. Erre a kimenetre akkor van szükségünk, ha két trafós üzemmódban használjuk a vezérlőt, ugyanis ilyenkor egy trafóról csak a fele fordulatszám jelet vehetjük le. Ezen a kimeneten pedig a két trafó jelének összege jelenik meg. Ezután a visszajelző ledek kikapcsolása, majd a későbbi számolásokat megkönnyítő két konstans kiszámolása következik.
6.1.3. A ropsuly_rutin E r u tin feladata, a fordulatszám függő előgyújtás meghatározása. A meghívása a holtpont jel beérkezése, és a fordulatszám meghatározása után következik. A fordulatszámot valójában nem RPM értékben kezelem, hanem a két holtpont közötti TIMER0 lépések számában, ezt N-el jelölöm. Ez az N tehát fordítottan arányos a fordulatszámmal.
6.3. ábra
A ropsuly_rutin folyamatábrája
40
Az EEPROM véges mérete, és a szabályozás szüksége miatt 600 és 7400 RPM fordulatszám tartományhoz tartozó karakterisztika van eltárolva egy 175 pontos táblázatban, ami 0,25 fokos szabályozási pontosságot tesz lehetővé, kisebb mint 40RPM-es lépésekben. Ez a pontosság bőven megfelelő, ugyanis a gyári vezérlők általában 128 fordulatszám lépésben tárolják a karakterisztikát. A rutin első elágazása az esetleges 600RPM alatti fordulatszám lekezeléséért felelős, ilyenkor ugyanis mindig a táblázat legkisebb elemét adja vissza a meghívó főprogramnak. A 3. elágazás pedig a 7400-nál nagyobb fordulatszámokért felelős, ilyenkor ugyanis a táblázat legfelső, 7400RPM-hez tartozó értékét adja vissza. A második elágazás a függvény érdemi része. Ez felelős ugyanis az EEPROM-ból a szükséges előgyújtás meghatározásáért. Az EEPROM-ban a fordulatszám növekvő függvényében vannak sorban az előgyújtás értékek. A program az N -ből (fordulatszámmal arányos) egy arányossági képlettel meghatározza az adott fordulatszámhoz tartozó EEPROM címet, majd kiolvassa az ott lévő előgyújtás értéket, melyet végül visszaad az őt meghívó főprogramnak.
6.1.4. A vakuum_rutin A vakuum_rutin feladata a terheléstől, vagyis a szívócső vákuumtól függő előgyújtás meghatározása. A vákuum mérése egy analóg kimenetű vákuum szenzorral történik, melynek kimeneti jelét a PIC A/D átalakítójának egyik csatornája dolgoz fel. A függvény a szükséges A/D csatorna kiválasztásával indul, majd a VAKUUM változóba kiolvassa az A/D értékét, aztán ebből az értékből az előző függvényhez hasonló módon meghatároz egy EEPROM címet, ahol a terheléshez tartozó karakterisztika helyezkedik el. Ha valami oknál fogva a karakterisztika tartományán kívülre esne a számított EEPROM cím, akkor két elágazás segítségével a legalsó, vagy legfelső terhelés karakterisztika címre ugrik. Miután megvan a szükséges cím, onnan kiolvassa a szükséges előgyújtás értékét, majd ezzel visszatér az őt meghívó főprogramhoz. A folyamatábrája a 6.4. ábrán követhető nyomon.
41
6.4. ábra
A vakuum_rutin felépítése
42
6.1.5. Az EXT_ISR megszakítás rutin Ez a megszakítás rutin a holtpont jelek megfelelő lekezeléséért felelős. A folyamatábrája a 6.6. ábrán követhető végig.
6.6. ábra
EXT_ISR megszakítás rutin
43
A függvény rögtön egy álágazással kezdődik, ugyanis meg kell vizsgálnunk, hogy ez a legelső holtpontunk-e, vagy nem. Amennyiben az első holtpont, akkor a következőket hajtjuk végre. TIMER0-t nullázzuk, innét kezdjük mérni a következő holtpontig eltelt időt. Letiltjuk a soros vételi megszakítást, ugyanis innentől nem engedélyezett a külső konfigurálás. Ezek után kiolvassuk az EEPROM-ból az alapbeállításokat, melyek a következők: alapelőgyújtás (AEGY), karburátor alapjárati mágnesszelep bekapcsolási fordulatszám (KMSZALSO, KMSZFELSO), hűtőventillátor bekapcsolási hőmérséklet (VENTBE), ventilátor kikapcsolási hőmérséklet (VENTKI), önindító tiltási fordulatszám (ONINDKI), valamint az 1 vagy 2 trafós üzemmód beállítása (UZEMMOD). Végül zárjuk mindkét trafó primer áramkörét, készülve a következő megszakításra. Ha nem első holtpont volt, akkor az N változóba kiolvassuk a TIMER0 értékét, vagyis az előző holtpont óta eltelt időt, majd nullázzuk a TIMER0-t. Ezután ha 2 trafós üzemmódban vagyunk, akkor megvizsgáljuk a pin_c4-en hogy volt-e hengerpár azonosító jel a holtpont jellel együtt, majd ezt elmentjük a HPA változóba. Ezután a további számításokat megkönnyítendő kiszámoljuk az egy foknak megfelelő N számláló értéket. Legvégül beállítjuk a holtpont jelző flag-et (VOLTINT), majd a program futása visszatér a megszakítás előtti helyre.
6.1.6. A kommunikációs protokoll a vezérlő és a PC között Mielőtt belekezdenék az RDA_ISR megszakítás rutin ismertetésébe, szükség van néhány szót ejteni a vezérlő és a PC közötti kommunikáció protokolljáról. Az átvitel szabványos, soros aszinkron átvitel, 56kbps sebességgel, 8biten, 1 stopbittel, paritás nélkül. A fejlesztési időszakban még nem törekedtem a protokoll hibatűrősére, hibajavításra, így egyelőre egy nagyon egyszerű átviteli mód született. Az karakterisztikák, valamint az alapbeállítások értékei egymás után, sorban helyezkednek el az EEPROM-ban, a P C -s konfiguráló szoftver pedig ugyanilyen sorrendben, egymás után küldi ki a karakterisztika értékeit. A feladatunk csak annyi, hogy meghatározzuk, hogy melyik adatfolyamot melyik kezdőcímtől kezdve tároljuk le az EEPROM-ban. Összesen három fajta adatsorunk lehetséges, az alapbeállítások, a „röpsúly” és a vákuum karakterisztika. Ezek megkülönböztetése úgy történik, hogy az egyes adatsorok előtt egy előre meghatározott karaktert küld a PC-s szoftver, amelyet a
44
vezérlő detektál, és ennek megfelelően állítja be a betöltéshez szükséges kezdőcímet. Ezek a speciális karakterek a következők:
·
Alapbeállítások:
&
·
„Röpsúly” karakterisztika:
#
·
Vákuum karakterisztika:
@
Ha az adatfolyam kezdetén nem e három karakter valamelyike áll, az érvénytelen adatbevitelnek számít, az adatok nem kerülnek be az EEPROM-ba.
6.1.7. Az RDA_ISR soros vételi megszakítás rutin Erre a rutinra akkor ugrik a vezérlés, ha volt érvényes soros vételi megszakítás. A z elején a beérkező byte-ot lementjük a BEJOVO változóba. Ezután megvizsgáljuk hogy van-e
betöltés
folyamatban,
a
KARAKTBETOLT,
ALAPBETOLT
és
a
VAKUUMBETOLT flag-ek segítségével. Ha még nincs betöltés folyamatban, tehát minden betöltést jelző flag 0 értékű, akkor megvizsgáljuk hogy az első karakter az előző fejezetben említett három speciális kezdő karakter közé tartozik-e. Ha igen, akkor a kezdő karakternek megfelelően beállítjuk az betöltés kezdőcímét, valamint az adatsornak megfelelő betöltést jelző flag-et. Ezek után bekapcsoljuk a betöltést jelző ledet, valamint a beépített zümmeren hangjelzést adunk, majd visszatérünk a főprogramba, és várunk a következő byte-ra. Ha már folyamatban van az adatbetöltés, akkor a fentiekben beállított EEPROM címre beírjuk a vett byte-ot, m a j d egyel növeljük az EEPROM címet. Ezek után megvizsgáljuk az EEPROM cím segítségével, hogy az éppen aktuális adatbetöltés végére értünk-e már. Ha igen, akkor a betöltést jelző flag-et visszaállítjuk, ellenőrizzük hogy minden adatbevitelt jelző flag 0 állapotú-e, ekkor a programozást jelző ledet kikapcsoljuk, és hangjelzést adunk. Így a betöltés végére értünk. Az adatbetöltés folyamatábrája a 6.7. ábrán látható.
45
6.7. ábra
Az RDA_ISR soros vételi megszakítás kezelő rutin
6.1.8. A beep rutin E rutin magyarázatához nem sokat szeretnék hozzáfűzni, ugyanis a folyamatábrából egyszerűen lekövethető, valamint a vezérlés lefolyásában sincs semmi szerepe, ez csak egy egyszerű hangjelzést ad bizonyos esetekben. (pl. programozás kezdete, vége) Folyamatábrája a 6.5. ábrán látható.
46
6.5. ábra
A beep rutin
6.1.9. A soros_kiir rutin A rutin feladata, hogy a tesztelés alatt bizonyos adatokat küldjön ki soros porton, ami a diagnosztikát megkönnyíti. A panelon lévő DIP kapcsolósorral a 6.1. táblázatban lévő értékek irathatók ki. 1
2
3
4
üres
Hőmérséklet
„N”
Fordulatszám
5
6
7
8
Össz előgyújtás
Alapelőgyújtás
Vákuum fok
Röpsúly fok
6.1. táblázat
A vezérlő szoftver teljes programlistája az 2. mellékletben található meg.
47
6.2. Az EEPROM memória térképe Amint az előző fejeztben ismertettem, az egymáshoz tartozó adatok, karakterisztika értékek egymás után, sorosan helyezkednek el az EEPROM-ban. E fejezetben ezek elhelyezkedését, kezdőcímét ismertetném a 6.1. táblázat segítségével.
Cím
Adat
Magyarázat
0000h-
„röpsúly”
175 db RPM értéken, 0,25 fok felbontással
00AFh
karakterisztika
[fok*4]
00B0h
AEGY
Alapelőgyújtás [fok]
00B1h
ALAPJARATSTAB
Alapjárat stabilizálási értéke (későbbi opció) [RPM/10]
00B2h
KMSZALSO
Alapjárati mágnesszelep ki [RPM/10]
00B3h
KMSZFELSO
Alapjárati mágnesszelep be [RPM/10]
00B4h
VENTIBE
Hűtőventillátor bekapcsolási hőfok [°C]
00B5h
VENTIKI
Hűtőventillátor kikapcsolási hőfok [°C]
00B6h
ONINDITOKI
Önindító tiltási fordulatszám [RPM/10]
00B7h
UZEMMOD
1 vagy 2 trafós üzemmód [1/2]
00B8h
ZARASSZOG
Zárásszög [fok]
00B9h-
vákuum
70 db nyomásértéken
00FFh
karakterisztika
[fok*17]
6.1. táblázat
Az EEPROM memória térképe
Amint látható, minden egyes byte ki van használva, így ha esetleg a továbbiakban bizonyos beállítások rögzítésére lesz még szükség, akkor a röpsúly karakterisztika felbontásán lehet egy kicsit csökkenteni, vagy el kell gondolkodni esetleg egy külső EEPROM felhasználásán.
48
6.3. A PC-s konfiguráló szoftver A vezérlő legnagyobb előnye, hogy a karakterisztikák és egyéb beállítások tetszés szerint változtathatóak, ezt pedig legkönnyebben egy P C -s segédprogram grafikus felületén tehetjük meg. E fejezetben ezt a programot ismertetem. A program kommunikációja a vezérlővel a fentebb ismertetett módon zajlik. Alapvetően 3 fő részre bontható a program: ·
Alapbeállítások
·
Röpsúly karakterisztika beállítása
·
Vákuum karakterisztika beállítása
Ezek egymástól függetlenül változtathatók, és külön-külön betölthetők a vezérlőbe.
6.3.1. Alapbeállítások Ezen a fülön a szükséges alapbeállításokat végezhetjük el, de szerintem a 6.8. ábra sokkal beszédesebb.
6.8. ábra
Az Alapbeállítások fül
49
Mint a fenti ábrán látható, beállíthatjuk az alapelőgyújtást, zárásszöget, 1 vagy 2 trafós üzemmódban szeretnénk-e használni, az alapjárati mágnesszelep és a ventilátor bekapcsolási tartományát, valamint az önindító tiltási fordulatszámát. Az alapjárat stabilizálásról azért nem ejtettem szót, mert az csak egy későbbi opció miatt került bele a programba, egyelőre még nem használható. Mint a program ablakában láthatjuk, lehetőségünk van kiválasztani a használandó soros portot. Miután mindent beállítottunk, a Memória írása gombra kattintva elkezdődik az adatok átírása a vezérlőbe. Ha minden jól működik, a programozás kezdetét és végét egy-egy hangjelzés követi, valamint a programozás alatt a programozást jelző led világít.
6.3.2. A „röpsúly” karakterisztika A következő fülön beállíthatjuk a fordulatszám függő előgyújtás karakterisztikáját. A beállítási képernyőt a 6.9. ábrán láthatjuk.
6.9. ábra
Az előgyújtás karakterisztika beállítása a PC-s szoftverrel
50
A fenti ábrán látható, hogy a karakterisztikát egy grafikus felületen, kis csúszkák segítségével rajzolhatjuk meg. Lehetőségünk van a karakterisztikák mentésére, majd későbbi visszatöltésére. A betöltést itt is szintén a karakterisztika írása gombbal végezhetjük el.
6.3.3. A vákuum karakterisztika beállítása A harmadik fülön e karakterisztika beállítására van lehetőség, módja teljes mértékben megegyezik az előző fejezetben ismertetettel. Itt is van lehetőségünk mentésre, és betöltésre. A beállításhoz tartozó fül a 6.10. ábrán látható.
6.10. ábra
A vákuum karakterisztika beállítása
51
7. Gyakorlati megvalósítás A gépjárművekben alkalmazott elektronikai egységek tervezésénél és kivitelezésénél különös gondot kell fordítani a mechanikai stabilitásra, valamint figyelembe kell venni, hogy
az
üzemeltetés
közben
a
készülékek
erős
rezgéseknek,
magas
hőmérsékletkülönbségeknek, víznek, pornak, esetleg maró, oldó hatású vegyszereknek is ki vannak téve.
7.1. A mechanikai kialakítás, dobozolás Már az alkatrészek kiválasztásánál figyelembe vettem, hogy elviseljék a szélsőséges hőmérsékleti körülményeket, különös tekintettel a kondenzátorokra, valamint az IC-kre. Az elektronikának téli -30 °C-tól a nyári melegben, a motortérben lévő akár 70-80 °C-os hőmérsékletig is üzembiztosnak kell lennie. A fet-ek hütőfelületét emiatt ajánlott jóval túlméretezni.
A rezgések miatt a nagy tömegű alkatrészeket, pl. nagyobb elektrolit kondenzátorokat ajánlott a panelra ragasztóval is rögzíteni, ellenkező esetben a forrasztás a rezgés következtében megrepedhet, így kontakthibát okozva.
A víznek, párának való ellenállóságot a már készre szerelt panel lakkozásával növelhetjük. A doboz kiválasztásánál is figyelembe kell venni, hogy legalább freccsenő víz ellen védett kivitelű, tehát minimum IP41 védettségű legyen. A szabadon lévő konfiguráló csatlakozót is védeni kell, erre a célra a kereskedelemben kapható műanyag zárókupakot alkalmaztam.
A bedobozolt prototípus a 7.1. és a 7.2. ábrán látható.
52
7.1. ábra
A prototípus
7.2. ábra
A prototípus
53
7.2. Csatlakozók A dobozból a vezetékek gumi törés és vízgátlón keresztül vannak kivezetve, majd mindegyik egy oldható csatlakozóban végződik. A
csatlakozókat
a
Tyco
Electronics (http://tycoelectronics.com) kínálatából
választottam. A csatlakozó család típusa: SUPERSEAL 1.5, speciálisan autós használatra fejlesztett. (7.3. ábra)
7.3. ábra
A csatlakozók
Tulajdonságai: ·
14A maximális áram
·
3mohm csatlakozási ellenállás
·
-40°C … +125°C hőmérséklet tartomány
·
Vízmentes
·
Szigetelés átütési feszültség: 1500 Vrms
54
7.3. Beszerelés A tervezésen és a kivitelezésen kívül még egy nagyon fontos momentum van, mégpedig a készre szerelt egység felszerelési helyének kiválasztása. E hely kiválasztásánál a következő kritériumokat ajánlott figyelembe venni:
·
lehetőleg ne érje az egységet sugárzó hő a kipufogórendszer felől
·
felcsapódó víztől és sártól védett helyre szereljük
·
a bekötéshez használt vezetékek minél rövidebbek, és megfelelő keresztmetszetűek legyenek
·
kényelmesen elérhető legyen más egységek kiszerelése nélkül
·
törekedjünk arra, hogy a gyújtó transzformátoroktól minél távolabb legyen elhelyezve
·
a vezérlőn található visszajelző LED-ek láthatóak maradjanak
·
a beállításkor szükséges COM port csatlakoztatást úgy lehessen elvégezni, hogy az esetlegesen meleg motor ne okozhasson égési
A vezérlő bekötési rajza a 7.4. ábrán, a beépített vezérlő, valamint a dupla szekunderes trafók a 7.5. ábrán láthatóak. A szenzorok, jeladók vezetékezésénél ügyeljünk arra, hogy a forró, valamint a forgó alkatrészektől távol, jól rögzítve vezessük őket. A holtpont és a hengerpárazonosító rögzítése a főtengely ékszíjtárcsánál mechanikailag stabil legyen. A hőmérséklet szenzort egy gyári hőgomba házába építhetjük be, kiöntve valami jó hővezető anyaggal. A vákuum szenzorhoz vezető csővel kapcsolatba ügyeljünk arra, hogy kemény falú, kimondottan vákuumhoz készült cső legyen, különben a cső rugalmassága meghamisítja a vákuum értéket.
55
7.4. ábra
7.5. ábra
A vezérlő bekötési vázlata
A beépített vezérlő és a két szekunderes gyújtótrafók
56
8. Mérési eredmények, tapasztalatok
8.1. A mérésekhez felhasznált műszerek, egyéb eszközök ·
Hitachi V-212 kétcsatornás oszcilloszkóp
·
Jelgenerátor
·
ELKON-S 220 autóteszter
·
Autó miniteszter
·
4013-as ic a HPA jelek előállításához
·
12V/5W izzó
8.2. Labor mérések Az első méréseket, teszteket még nem élesben, a motoron végeztem, hanem még az asztalon, műszerek segítségével.
8.2.1. Az alapelőgyújtás funkció ellenőrzése Az első mérés az alapelőgyújtás ellenőrzése volt. A röpsúly és a vákuum karakterisztikát konstans 0-ra állítottam, hogy azok ne befolyásolják a mérést. Egy transzformátoros üzemmódot állítottam be, hogy egyelőre ne legyen szükség hengerpár azonosító jelre. A holtpont bemenetre jelgenerátorról 12V jelszintű négyszög jelet kötöttem, az 1-es számú kisjelű trafó kimenetet pedig az oszcilloszkóp B csatornájára kötöttem. A holtpont jelet még az oszcilloszkóp A csatornájára is rákötöttem. Ezután sorra 0, 5, 10 és 15 fok alapelőgyújtást állítottam be a PC-s konfiguráló programban, majd a jelgenerátor frekvenciáját (vagyis a fordulatszámot) minden alapelőgyújtás értéken változtatva a szkópon a két jelet összehasonlítottam. Amennyire a szkóp leolvashatósága megengedte, arra a következtetésre jutottam, hogy a két jel viszonya minden alapelőgyújtás értéken és fordulatszámon megfelelő, tehát a szükséges késleltetési értékeket mértem a két jel között.
8.2.2. A hengerpár váltás ellenőrzése Minden beállítás maradt ugyanaz, mint az előző pontban, kivéve azt, hogy 2 transzformátoros üzemmódot állítottam be. Az oszcilloszkóp két csatornáját a k é t
57
kisjelű kimenetre csatlakoztattam. Az első esetben kézzel adtam a HPA jelet, vagyis a bemenetre logikai 1 és 0 szintet. A bemeneti szintet váltogatva a trafókat meghajtó jelek megfelelően váltogatták egymást a két kimeneten. A második mérés a „dinamikus” mérés volt. Ez egy 2-es osztónak kötött D-tároló segítségével történt, amely bemenetére a holtpont jelet vezettem, a kimenetét pedig a vezérlő hengerpár azonosító bemenetére. Ennek eredményeként minden 2. holtpontjelre hengerpár váltás történt, tehát az elvártaknak megfelelően működött ez a funkció is.
8.2.3. A zárásszög ellenőrzése A mérés a fentiekhez hasonló módon történt. 1 trafós üzemmód, 0 alapelőgyújtás, mindkét előgyújtás karakterisztika konstans 0-ra állítva. A zárásszöget szintén négy ponton, 25, 50, 75 és 100 fokon ellenőriztem le az egész fordulatszám tartományban. A kimenetet oszcilloszkóppal vizsgálva egy teljes periódus 360 fokához viszonyítva ellenőriztem a zárási időtartamot. Mind a négy mérési ponton, valamint a fordulatszám tartomány több pontján is vizsgálva a megfelelő eredményt kaptam.
8.2.4. A röpsúly karakterisztika ellenőrzése Az első esetben egy konstans 25 fokos előgyújtás karakterisztikát állítottam be, a többi előgyújtás értéket pedig 0-ra állítottam, hogy ne zavarják a mérést. E méréshezismét szükség van az oszcilloszkóp mindkét csatornájára. Az egyikre a holtpont jelet, a másikra az 1. kisjelű trafókimenetet kötöttem. Az egész fordulatszám tartományban konstans 25 fokos előgyújtást tapasztaltam. A második mérésnél egy a 600-7400RPM-ig lineárisan emelkedő előgyújtást állítottam be. Ebben az esetben a 600RPM alatti fordulatszámokon konstans 0, majd 7400RPM- ig folyamatosan, a maximumig növekvő, majd onnét ismét konstans előgyújtásértéket tapasztaltam, a vártnak megfelelően.
8.2.5. A vákuum karakterisztika ellenőrzése Ez bizonyult a legnehezebb feladatnak, mivel a vákuum mérésére nem állt rendelkezésre műszer, így abszolút értékben nem tudtam megmérni a helyes működést, csak az egyes adatokat egymáshoz viszonyítva, bízva a szenzor adatlapjában megadott karakterisztika helyességében.
58
A mérés első pontjában konstans 10 fokos karakterisztikát beállítva (minden más előgyújtás érték 0-n) a vákuum csatlakozáson bármekkora szívóhatást előidézve az oszcilloszkópon konstans 10 fokos előgyújtás volt tapasztalható. A második mérési pontban egy 0-ról 15 fokig lineárisan emelkedő karakterisztikát állítottam be. Ekkor a vákuum bemeneten a szívóhatást folyamatosan növelve az előgyújtás értéke folyamatosan emelkedett, majd (feltehetőleg) a karakterisztika végét elérve egy ponton a maximális értékű konstans 15 fokos előgyújtás állt be. Mivel a vákuum mérésére nem volt lehetőségem, így a vákuum értékeknél csak a vákuumszenzor adatlapjában megtalálható karakterisztikára támaszkodtam. Az viszont mindenképpen látszik, hogy a szabályozás a megfelelő irányú, és mértékű volt.
8.2.6. A karburátor alapjárati mágnesszelep bekapcsolásának ellenőrzése A méréshez az eddig használt jelgenerátort, a mágnesszelep működésének indikálására pedig egy kis 12V-os izzót használtam. A mérés menete a következő volt: A végállás kapcsoló bemenetét szabadon hagyva (nem motorfék üzem), a fordulatszámot a teljes tartományban változtatva a mágnesszelepet jelképező izzó folyamatosan világított, tehát a szelep nyitva volt. Ezután a beállított alsó bekapcsolási fordulatszám felett a végállás bementre pozitív feszültséget adva az izzó kialudt (mágnesszelep zár), majd a fordulatszámot folyamatosan csökkentve és elérve a beállított alsó fordulatszámot az izzó ismét világítani kezdett, vagyis az alapjárat közelében újra nyitotta a mágnesszelepet. Ezután a fordulatszámot ismét növelve, csak a beállított felső kapcsolási határnál zárta ismét a mágnesszelepet, így biztosítva a kellő hiszterézist. A mérés eredménye, hogy a kimenet teljesíti az elvárt igényeket.
8.2.7. A hűtőventillátor vezérlésének ellenőrzése A méréshez ismét az előző pontban használt izzót használtam a kimenet vizsgálatára. A hőmérséklet szenzort melegítve, majd a bekapcsolási hőfokot közelét elérve az izzó kigyulladt (ventilátor elindul), ezután a hőfokot csökkentve, a kikapcsolási hőfokot elérve kikapcsolt. A mérést több beállított hőfok értékkel is megismételtem és a szabályzás a vártnak megfelelő volt.
59
8.2.8. Az önindító engedélyezésének ellenőrzése A kimenetre ismét izzót, az FHP bementre pedig jelgenerátort kötve végeztem a mérést. A vezérlő bekapcsolása után az izzó világít, tehát az önindító engedélyezve van. Ezután a fordulatszámot növelve, majd elérve a tiltási fordulatszámot az izzó kialszik, tehát az önindító tiltásra kerül. Ezután a fordulatszámot tetszőlegesen változtatva az önindító tiltva marad, így megakadályozva a káros „ráindítás”-t. Ezután tehát csak gyújtáselvétel után lehet újra indítani.
8.3. „Éles” mérések a motoron A méréseket és teszteket a 120-as Skodámon végeztem el. A mérést a jeladók felszerelése, és pontos helyzetbe állítása előzte meg. Ezután következett a vezérlő felszerelése és bekötése, majd a gyári szervizkönyv [2] szerinti alapadatok, és karakterisztikák (8.1. és 8.2. ábra) betöltése a vezérlőbe.
8.1. ábra
A gyári röpsúlyos szabályozási karakterisztika
60
8.2. ábra
A gyári vákuum szabályozási karakterisztika
8.3.1. Az első indítás A fentieket követte az a momentum, amire már nagyon régóta vártam, mégpedig a motor beindítása. Az indítókulcsot elfordítva a motor elsőre, simán indult. Persze ezt az első sikeres indítást még az asztalon sok sikertelen mérés, programozás, javítás, módosítás előzte meg. Az első észrevétel rögtön az volt, hogy az alapjárat sokkal stabilabb, mint a hagyományos rendszerrel. Ez annak tudható be, hogy a vezérműláncom már elég nyúlott lehet, és ez miatt jobbra-balra ugrált az alapelőgyújtásom. Stroboszkóppal ellenőriztem az alapelőgyújtást, ami a beállított 7 foknak megfelelő volt. A további mérések előtt nem bírtam ki, hogy ne menjek el egy tesztkörre. És az eredmény? Látszólag minden rendben működik, az autó megy, gyújtáskihagyás nem tapasztalható. Ezután vissza a garázsba, és jöhettek a mérések. Az első mérés már ugye az alapelőgyújtás ellenőrzéssel letudva.
8.3.2. A fordulatszámfüggő előgyújtás ellenőrzése A második mérés a fordulatszám függő alapelőgyújtás ellenőrzése. A könnyű kiértékelhetőség szempontjából az alapelőgyújtást 0-ra, a röpsúly karakterisztikát pedig lineárisan növekvőre állítottam be. A fordulatszámot folyamatosan növelve és
61
stroboszkóppal ellenőrizve az előgyújtás folyamatos növekedése volt tapasztalható, a beállított karakterisztikának megfelelően.
8.3.3. A vákuum általi szabályzás ellenőrzése E méréshez a gyári vákuum karakterisztikát alkalmaztam, ami 13,3 - 33.8kPa tartományban lineárisan emelkedik 5 fokra, majd e felett konstans marad. A mérést alapjáraton végeztem, így a fordulatszámfüggő szabályzás még nem zavar bele a mérésbe. A vákuumot folyamatosan növelve az előgyújtást pedig storboszkóppal ellenőrizve folyamatosan növekedett, és végül elérte az alapelőgyújtás+5 fokos értéket, innen tovább növelve a vákuumot, előgyújtás növekedés nem volt tapasztalható, tehát a karakterisztikának megfelelően szabályoz.
Lehetőségem adódott egy AVL DiCom 4000 SZ / TH típusú műszerrel való gyújtásellenőrzésre, és az eredmények kinyomtatására. A beállított adatok: Alapelőgyújtás: 7 fok, Zárásszög: 60 fok. Az eredmény a 8.3. ábra jobb oldalán látható.
8.3. ábra
Gyújtáspont és zárásszög mérés eredménye
62
8.4. Tapasztalatok Ebben a fejezetben az eddig közel 2 hónapi használat után levont tapasztalatokat gyűjtöm össze. A z e lső legszembetűnőbb változás, amit már említettem, az a stabilabb alapjárat, valamint kis fordulaton érezhetően nyomatékosabb lett a motor. A motor feltűnően simábban jár, jobban veszi a hirtelen gázadásokat is, mint a hagyományos rendszerrel, ugyanis ott előfordult, hogy kis fordulatról való gyorsításkor „megtorpant”. Hideg motornál is érezhető a különbség, sokkal simábban jár, és nyomatékosabb. Mivel két gyújtótrafó van, így a megnyúlt zárásidő miatt nagy fordulaton is erőteljes a szikra. A motor maximális fordulatszáma megnőtt. A hagyományos gyújtással 5800-5900RPM volt, az új vezérlővel ez 6400-6500-ra nőtt, minden más változtatása nélkül. A két hónap alatt az opto jeladó elkoszolódásától eltekintve meghibásodás nélkül üzemel a vezérlő. A végleges változatban úgyis induktív jeladó lesz, tehát ettől később nem kell majd tartani. Ez idő alatt próbálkoztam a gyári karakterisztikákat változtatni, de így szubjektíven nehéz megítélni az eredményeket. Egy fékpados próbamérés mindent elárulna.
63
9. További lehetőségek, ötletek
A szakdolgozat leadásával a fejlesztés természetesen nem fejeződik be, ugyanis a vezérlőt nem a szakdolgozat miatt kezdtem építeni, hanem épp fordítva. Már korábban is, de főleg most, hogy így a szakdolgozatban megpróbáltam összefoglalni a dolgokat, sok új ötlet, és lehetőség vetődött fel. Ebben a fejezetben megpróbálom a jövőbeli fejlesztések irányát bemutatni.
9.1. Jeladó tárcsa A holtpont és a hengerpár azonosítást szeretném egy jeladóval megoldani, ehhez pedig egy a 9.1. ábrán látható jeladó tárcsához hasonlót tervezek használni.
9.1. ábra
A tervezett jeladó tárcsa
A hengerpár azonosítást a tárcsán látható lyukhiány detektálással lehet megoldani. A tárcsa alkalmazásának másik előnye, hogy a sűrűbb osztással sokkal pontosabb értékeket kaphatunk, valamint pontosabban tudjuk a főtengely aktuális helyzetét, és a két holtpont közötti fordulatszám változását is tudjuk követni. Mindezek segítségével tehát egy sokkal pontosabb szabályzás lesz megvalósítható.
64
9.2. Több karakterisztika Tervezem, hogy nem csak egy fix fordulatszámfüggő karakterisztika lesz eltárolva, hanem legalább kettő, ez lehetőséget adna egy külön sport és egy „ECO” üzemmód kiválasztására. Ennek egyelőre a véges EEPROM memória kapacitás az akadálya, tehát ha lesz ilyen irányú fejlesztés, akkor vagy külső EEPROM-ot kell használni, vagy esetleg a szabadon maradó program memóriában eltárolni az újabb karakterisztikát.
9.3. A kommunikáció fejlesztése Mint a 6. fejezetben is ismertettem egyelőre egy elég kezdetleges kommunikáció folyik a PC és a vezérlő között. Tervben van ennek is a jobb kidolgozása, így lehetőség adódik majd a karakterisztikák kiolvasására, ellenőrzésre, stb. A fejlett kommunikáció másik előnye az lesz, hogy akár üzem közben is lehetőséget nyújt az előgyújtás jelleggörbéinek operatív változtatására (tehát járó motornál). Így pl. egy tuning motor behangolásánál jelentősen csökkentheti a fékpadon eltöltött időt, ami költségkímélést jelent. Sokkal rövidebb idő alatt olyan előgyújtás jelleggörbét lehet vele kikísérletezni a fékpados mérések során, amit a hagyományos mechanikus rendszerekkel gyakorlatilag lehetetlen.
9.4. Kopogásérzékelő Ez az az opció, ami a legtöbbet javíthat a szabályozás eredményességén. Segítségével az előgyújtás végig a kopogáshatár alatt tartható, ami a motor legideálisabb üzeme. Megvalósításának egyelőre mechanikai akadályai vannak, de már kaptam bíztató információkat sikeres otthoni utánépítésről.
9.5. Alapjárat stabilizálás Elsőre furcsán hangzik, de nem lehetetlen. A lényege, hogy alapjáraton az előgyújtást lehet úgy folyamatosan korrigálni, hogy az alapjárati fordulatszám egy nagyfogyasztású elektromos fogyasztó (pl. tompított, reflektor) bekapcsolásakor sem esik le. Ezt az ötletet egy hasonló orosz project-ben [6] már sikeresen alkalmazzák, és úgy néz ki, hogy hajlandóak segíteni elindulni nekem is ebben az irányban.
65
9.6. Dugattyú gyorsulás mérés E mennyiség mérése elsőre érthetetlennek, és feleslegesnek is tűnhet, de gondoljunk csak bele. Ha mérjük mind a négy dugattyú gyorsulását a gyújtás pillanata után, majd ha ezeket összevetjük, akkor képet kaphatunk az egyes hengerek állapotáról, mivel pl. egy kisebb kompresszióval rendelkező hengerben kisebb lesz a dugattyú gyorsulása. Ebből pedig sok következtetést vonhatunk le. (pl. gyűrűtörés, szelep vagy hengerfej repedés, stb.)
9.7. „Light” verzió Már készülőben van a vezérlő egy kicsit egyszerűsített változata, mely csak a legszükségesebb elemeket tartalmazza, és csak az alap mennyiségek alapján végzi a szabályzást. Ennek előnye a könnyebb beszerelhetőség, alacsonyabb ár, kevesebb hibaforrás, tehát egy egyszerű hétköznapi autóba is komolyabb átalakítások nélkül beszerelhető.
66
10. Irodalom jegyzék 1. Fehér Ferenc: Személygépkocsik elektromos berendezései 2. Jaroslav Andrt: Skoda 105-120-130-135-136-Garde-Rapid 3. PIC adatlap: http://ww1.microchip.com/downloads/en/DeviceDoc/39599c.pdf 4. Vákuum szenzor adatlap: http://www.freescale.com/files/sensors/doc/data_sheet/MPX5100.pdf 5. Hőmérséklet szenzor adatlap: http://cache.national.com/ds/LM/LM35.pdf 6. http://www.mpsz.ru
67
11. Mellékletek
1. melléklet: A vezérlő teljes kapcsolási rajza, mely megtalálható a hátsó borítón lévő tasakban. 2. melléklet: A teljes programlista C nyelven