/Szerk.: főként Ádám foglalkozott az autó CAN-jének megismerésével, ezért megkértem, hogy ő ossza meg a tapasztalatait./
Az átalakítás során számtalan előnnyel jár, hogy egy új vagány sportautót választottunk szívátültetésünk pácienséül, hiszen nem fog a kezünkben maradni egy rozsdás takaróelem sem, nem kell félnünk megváltozott menetirányú csavaroktól és ráadásul nagyon könnyen (bár kis lelkiismeretfurdalással) szerelhető is a verda.
Cserébe kapunk egy halomnyi bonyolult rendszert alkotó elektromos dobozkát. Ez az autó idegrendszere, ha úgy tetszik, és azt mindenki tudja, hogy az idegsebészet nagyon nem egyszerű. 100+ érintkezős csatlakozók, „több kilométernyi” vezeték, számtalan szenzor, irdatlan mennyiségű elágazás és végeláthatatlan mennyiségű munka. Nagyjából erre kell számítania annak, aki arra adja a fejét, hogy egy modern autó elektromos rendszerét feltérképezze, megértse és a szükséges mértékben vissza is fejtse, hogy az átalakítás után az autó jelentős része működőképes maradjon.
Szerencsére az autógyártók minden érdekével ütközik, hogy bárki – például egy konkurens cég, vagy egy otthoni hobbiszerelő – meg tudja ismerni gépjárművük működését, így miénk lehet minden egyes apró információmorzsa felfedezésének öröme. Először is azzal kell kezdenünk, hogy rájöjjünk, pontosan melyik dobozokkal kell foglalkoznunk az átalakítás során, mert azokból van jó néhány: AFS, BCM, BSM, CMU, DLC, DSC, EPS, ESU, EVPCU, FSC, PCM, SAS, hogy csak a fő modulokat említsem.
Hála az égnek a japánok mangaolvasás helyett sok időt fordítottak a tervezésre, így a motortranszplantáció csak a PCM-et (Powertrain Control Module) érinti, ráadásul ennek van egy külön csatlakozója (lásd fenti kép), amibe be van kötve a motor működéséhez nélkülözhetetlen összes elektromos kütyü. Ezt felismerve kicsit megkönnyebbültünk, hiszen így az összes többi áramkört érintetlenül hagyhatjuk az operáció során, ami nagyban leegyszerűsíti ezt a feladatot.
A legegyszerűbb számunkra az lett volna, ha kikukázhatnánk a motorral együtt a PCM-et is az autóból, és a helyére a saját elektromos motorvezérlőnket tehetnénk. Ennek azonban van néhány akadálya: ide van bekötve a gázpedál-, fékpedál- és kuplungpedál-szenzor, a rükvercérzékelő, környezeti hőmérő, a fő relék vezérlése és a fékrásegítés vákuumterének egyik nyomásszenzora. Ezeket az érzékelőket át lehetne kötni egy saját elektronikába is, viszont semmi információnk sincs a szenzorok típusáról, működéséről, emiatt egyesével meg kéne vizsgálnunk őket, átviteli karakterisztikát kimérni, ami elég nagy macera. Egyszerűbbnek láttuk meghagyni a PCM-et a rendszerben, ami a feldolgozott értékeket biztosítja számunkra.
Az autó fő kommunikációs protokollja a CAN, emellett még alárendelt eszközök esetében találkozhatunk a LIN-nel is. Két fő CAN-hálózat van az autóban, egy nagysebességű (HS-CAN, 500kbps), mely a hajtáslánc elemei közti kommunikációért felel, illetve egy közepes sebességű (MS-CAN, 250kbps), ami a multimédiás középkonzolt és a műszerfalat köti össze.
A CAN-busz egyik jó tulajdonsága, hogy bárki kezdeményezhet kommunikációt rajta, ha épp nincs forgalmazás, így egyszerre sok eszközt össze lehet vele kötni kötött hierarchia nélkül, ráadásul nem az eszközöknek, hanem az egyes üzeneteknek van azonosítójuk, prioritásuk. Számunkra ez részben előnytelen, hiszen a CAN-hálózatra csatlakozva az autó összes elektronikájának összes üzenetét látjuk, és nincs információnk arról, hogy melyik üzenetnek ki a feladója, hogy ki dolgozza fel, az üzenet tartalmáról nem is beszélve.
Több mint 80 üzenetet számoltunk a HS-CAN-en, és mindegyik 8 bájt, azaz 64 bit hosszú, és minden egyes bitnek van valamilyen információtartalma. Szóval ez jó sok változó, amit értelmeznünk kell. A legnehezebb az egészben, hogy azt sem tudjuk igazán, hogy milyen jelek vannak pontosan a CAN-en. A szívás mérséklése érdekében készítettünk egy PC-szoftvert, ami megjeleníti számunkra a CAN-busz teljes forgalmát, így megfigyelhetjük, hogy az egyes üzenetekben szereplő bitek minek a hatására változnak.
A bal oldalon láthatjuk az egyes üzenetek azonosítóit, hexadecimális számként ábrázolva, mint például 165 vagy 21F. Mellettük az adott üzenet adattartalma látható. Például a 202-es üzenet első két (0. és 1.) bájtjában 0D és 43 található, amely azt jelenti, hogy a motor fordulatszáma épp 848 fordulat/perc. Ezt úgy kapjuk meg, hogy a 0D43 hexadecimális számból levonunk 3-at, majd utána leosztjuk 4-gyel, így pontosan 848-at kapunk (decimális) értékül. Hogy miért pont 3-at, meg 4-et, arról egy picit később. Ezt meg tudjuk jeleníteni a táblázat mellett grafikusan is, ami sokkal kellemesebb a szemnek, és a jel változását is könnyebb nyomon követni.
Eszméletlen kényelmesek az MX-5 ülései, de nem laptoppal az öledben, és egy CAN-busz olvasóval a lábad között, így kitaláltuk, hogy érdemes lenne lementeni is a sok CAN üzenetet, illetve későbbi elemzés céljából újra lejátszhatóvá tenni, így csak párszor kellett kimenni az autóval menet közbeni adatgyűjtésre, önjelölt tesztsofőrünk nagy bánatára. Ezeket a méréseket még az autó berhelése előtt elvégeztük, hogy legyen adatunk arról, hogy hogyan kéne kinéznie a CAN-üzeneteknek egy működő autó esetében.
Mivel az autó többi rendszerét nem akartuk zargatni, így csak a PCM üzeneteire koncentráltunk. Egyszerűen ki lehet deríteni, hogy a 80 üzenetből melyiket is küldi a PCM: bekapcsolt rendszer mellett lekattintod a csatiját, és amelyik üzenet nem jön többet, arra már lehet is tenni az ikszet. Fontos, hogy aktív legyen a rendszer, mert elképzelhető, hogy ha előre lehúzzuk a PCM-et, akkor valamelyik elektronika érzékeli annak hiányát, és el sem kezd forgalmazni a CAN-buszon.
Miután megtudtuk, hogy melyik az a 23 üzenet, amit a PCM küld, kezdődhet az igazi móka. Szerencsére ebből a 23 üzenetből jó néhány statikus adatot tartalmaz, soha nem láttuk ezeket változni. Arra gondoltunk, hogy ezek talán az autó felszereltségével lehetnek kapcsolatban. A triviális dolgokat, mint motorfordulatszám, járműsebesség, féknyomás, keréksebességek, egész könnyen meg lehetett találni – na jó, őszintén megmondva ez egy óriási türelemjáték.
Kijelölsz magadnak egyetlen funkciót, például a gázpedál-állást, mivel nem lenne rossz, ha a villanymotor majd reagálna rá. Azt elkezded pumpálni arról ábrándozva, hogy valamelyik Ebisu pályán (vagy a Tesco-parkolóban) épp teszed keresztbe a verdát, közben meg csak bámulod az öledben lévő laptop kijelzőjét a tonnányi össze-vissza változó számmal, hogy vajon melyik lehet az, ami a lábad ütemére pulzál. Találsz egyet, megörülsz neki, és elkezded próbálgatni, hogy akkor most mennyit kellhet kivonni belőle, vagy hozzáadni, mennyivel kell megszorozni, csökkenő vagy növekvő sorrendben vannak benne a bitek, stb. Miután mindezzel megvagy, haladsz tovább egy másik funkcióval. Pár órával később valami teljesen más közben rájössz, hogy amit megtaláltál, az nem a gázpedál volt, hanem az elektromos fojtószelep szögjeladója, ami ugyan nagyon hasonlít a gázpedálra, merthogy az alapján változik, de ha kiszerelted a motort az autóból, sokra már nem mész vele – és kezdheted elölről a bitbuzerálást. De a hosszú kitartó munka kifizetődő.
A legbosszantóbbak az ellenőrző és hibajelző bitek voltak, ugyanis ezek az üzenetekben bárhol előfordulhatnak, nem részei egy nagyobb jelhalmaznak, nincs rá befolyásod, nem is látod nagyon a hatásukat, de az összes többi elektronika ezeket figyeli, hogy minden rendben van-e az autóval. Még a műszerfal mutatói sem voltak hajlandóak működni, amíg meg nem találtuk és be nem állítottuk a „fordulatszám-jel érvényes” és „járműsebesség-jel érvényes” biteket. Várható módon a PCM nem igazán örült annak, hogy lehúztuk róla a motort, és karácsonyfává varázsolta a műszerfalat. A biztonságkritikus és nagy áramfelvételű berendezések, mint a vákuumszivattyú, az ABS, az elektromechanikus kormányszervó nem hajlandóak addig működni, amíg meg nem győződnek a motor helyes működéséről.
Emiatt meg kellett bontanunk az autó CAN hálózatát, és be kellett építenünk egy saját elektronikát a PCM és az autó többi része közé. Kicsit rendezettebb kábelezésre számítottunk, amikor a biztosítéktábla bepattanó kötéseit elkezdtük szétfeszegetni, hogy hozzáférjünk a PCM felé menő csavart CAN-vezetékpárhoz. Szerencsére elég könnyen meg lehetett találni a doboz alján csücsülő vörös-fekete és sötétkék-fekete két ezüstpöttyös vezetékdarabot, ráadásul volt benne U alakban 20-25 cm ráhagyás, mintha készültek volna rá, hogy ezt valaki meg akarja majd bontani.
Ez a plusz elektronika, amit mi PCM-Gateway névre kereszteltünk, úgy módosítja a PCM-ből jövő üzeneteket, hogy azok megfeleljenek egy működő benzinmotorénak, tehát úgymond elhitetjük az autó többi részével, hogy a kőolajsárkány bent csücsül a motorháztető alatt, és semmi gond sincs vele. Az oldható vezetékösszekötők természetesen csak átmeneti jellegűek.
Természetesen nem az volt a célunk, hogy ne világítsanak a hibalámpák, mert akkor egyszerűbb lett volna kiszerelni a műszerfalból őket, hanem csak a motor közvetlen hiányából adódó hibákat szerettük volna megszüntetni, például az „Ellenőrizze a motort” vagy „Alacsony olajnyomás” lámpának esetünkben nem sok értelme van. Ahogy a képen is látszik, a hibák nagyrészét sikerült elhárítani, viszont a fékkel még gondban vagyunk, de dolgozunk rajta. Ezt leszámítva az autó összes többi funkciója hibátlanul működik (nem, légkondi még mindig nincs), szóval van okunk az örömre. Egyelőre még nem kell ujjongani a jobb oldali képet látva, csak kipróbáltuk, hogy tudjuk-e vezérelni a műszeregységeket. De néhány hónap múlva talán a csapatásnak is eljön az ideje.