TCBox - traction control box

Alles over de MR2 in het algemeen. Onderhoud, aankoop weetjes en andere handigheidjes voor de MR2.

Moderator: Pieten

User avatar
johnwoo
Zere vingers van het typen..
Posts: 1025
Joined: 27 Dec 2006, 19:00
Type MR2: AW11
Contact:
De oplettende lezer zal misschien de pics wel voorbij hebben zien komen die ik de afgelopen anderhalf jaar zo nu en dan in m'n eigen projecttopic heb gepost over de voortgang van het traction control project waar ik met een vriend mee bezig ben. Ik heb het ding maar TCBox genoemd (makkelijke, duidelijke en toepasselijke naam).

Vandaag is de belangrijkste "live-test" goed verlopen; ons idee werkt dus, en daarom bij deze maar een eigen topic :)

De directe aanleiding om zelf een traction control project te ontwerpen en bouwen is de motorupgrade die m'n MR2 binnenkort krijgt. MR2's zijn listige auto's en met 400pk of meer al helemaal. Oorspronkelijk wilde ik een RaceLogic traction control voor m'n project kopen, maar die apparaten zijn erg duur, en bovendien leek het me een leuk project om zelf te doen (hier heb ik tenslotte voor gestudeerd ;D). Omdat ik geen expert ben op electro-gebied heb ik die vriend gevraagd mij te helpen met de hardware. En zo zijn we in de zomer van 2008 begonnen:

Image

Helaas bleek dat, hoewel de werking in principe simpel is, er nog wel wat aan onderdeeltjes bij komt kijken om dat ook allemaal daadwerkelijk correct te laten werken ::) En zo kwam het eenvoudige ontwikkelbordje steeds voller te staan, tot aan de huidige setup:

Image

Het systeem bestaat grofweg uit 3 delen:
- Een deel dat de ABS sensoren (die de rotatiesnelheid van de individuele wielen meten) uitleest. Dit noemen we het VSS (vehicle speed sensors) subsysteem, en het geeft enkel inputs aan de controller.
- Een deel dat interfacet met de injectors. Dit noemen we het EFI subsysteem (electronic fuel injection). Het EFI systeem heeft zowel inputs (injector timing, waarmee dingen als RPM en duty cycle berekend kunnen worden) als outputs (injector cut, om het vermogen van de motor te limiteren en zo tractie te herwinnen, of een toerenbegrenzer te implementeren).
- Een deel logica dat de traction control implementeert met behulp van de VSS en EFI systemen. Dit subsysteem heeft de toepasselijke naam TRC. Het TRC systeem houdt de wielsnelheden die het VSS systeem aangeeft in de gaten, en wanneer het slip detecteert, kan het opdracht geven aan het EFI systeem om een bepaald injector cut patroon te gaan volgen.

Eind 2008 was het VSS systeem reeds geïmplementeerd en getest op de auto. Daartoe hebben we ingehaakt op de kabels van de ABS sensors bij de ABS ECU:

Image

... en het signaal eerst bekeken met een oscilloscoop:

[youtube]0o7QUnvqgQw[/youtube]

... om vervolgens de passende onderdelen op het bordje te plaatsen zodat we de gewenste maximale wielsnelheid kunnen detecteren. Het bordje kan op mijn MR2 tot ca. 260 km/h meten, met een nauwkeurigheid van 1 km/h. De nauwkeurigheid van een enkele sample is groter, maar omdat de samples vanwege ruis op de kabel onderling ietwat kunnen verschillen, pakken we het gemiddelde van een paar samples.

Daarna is het lang stil gebleven rond het project - in 2009 hebben we er niet veel aan gedaan, maar begin dit jaar zijn we weer verder gegaan met de EFI kant van het systeem. Dit is het meest kritische deel, omdat we, als we het niet goed doen, we in principe ons bordje, de ECU, of beide kunnen laten doorbranden. Daarom wilde ik dit ook op m'n huidige motor testen en niet op de dure nieuwe motor die erin komt :P en hebben we veel drooggetest. Nadat ik het wiring harness eindelijk had aangepast om het bordje ook in de auto aan te kunnen sluiten...:

Image

... heb ik het vandaag voor het eerst "live" getest:

Image

En jawel, de motor startte nog met het bordje eraan, en liep verder normaal. Ik heb dan ook nog geen injector pulsen onderbroken; dat is de volgende stap (ik ga er een soft-revlimit mee implementeren). Het test-LEDje op injectorkanaal #1, dat we bij de droogtesten gebruikten, knipperde dan ook vrolijk mee met de injectorpulsen die de stock ECU gaf:

[youtube]13cXRpvSXC0[/youtube]

Met de laptop aangesloten zien we de debugging data voorbij komen in een terminal:

[youtube]76IR0c53LA8[/youtube]

Zoals je ziet worden alle vier de injectors netjes gedetecteerd. Eentje (de eerste die het bordje detecteert) wordt gebruikt als referentie om het toerental te berekenen. Drie van de zes kanalen hebben ook de mogelijkheid om duty cycle te bepalen; als er minimaal eentje van wordt aangesloten heb je dus ook injector duty cycle (is niet verplicht voor de werking van de TRC, maar kan interessant zijn om te weten). Het maakt verder niet uit welke kanalen gebruikt worden of in welke volgorde ze worden aangesloten; het EFI systeem detecteert vanzelf de ontstekingsvolgorde.

De bedoeling is om de injector cut nog te testen met het huidige ontwikkelbordje. Als dat ook goed gaat (en daar heb ik na de test vandaag alle vertrouwen in; het cutten hebben we namelijk ook al lang en breed drooggetest) dan zijn de volgende stappen:
- Een PCB ontwerpen en laten maken.
- Een geschikte behuizing vinden.
- Een geschikte connector en stekker vinden die op het PCB en in de behuizing past, zodat we zelf een stukje kabelboom kunnen maken.

Het systeem is generiek en moet in principe werken op iedere motor met sequentiële poort-injectie. Directe injectie (zoals diesels en sommige moderne benzinemotoren) wordt niet ondersteund, omdat bij dat systeem meerdere injectorpulsen per cycle worden gebruikt - ons systeem kan individuele pulsen blokkeren, maar weet van zo'n groep pulsen niet welke bij elkaar horen, en dus zou er kans op arm lopen ontstaan bij die systemen.
Als alles getest is en we een mooie behuizing met nette connector en kabelboom hebben, willen we ons systeem dus ook voor anderen gaan maken, en dan uiteraard voor een stuk minder dan wat een RaceLogic set kost :)
Kunnen we misschien ook wat MR2's mee sparen als het vaker zulk weer wordt als de afgelopen maanden ::)

De specs zijn/worden:
- 20 MHz 8-bit RISC microcontroller.
- 1 t/m 6 cilinder sequential EFI support.
- Magnetic reluctor (passive / 2-wire zoals de MR2 gebruikt) en Hall-effect (active / 3-4-wire, zoals in veel moderne auto's) ABS sensor support.
- Configureerbare niveaus van antislip-vermogensreductie.
- Windows software voor configuratie, status en logging.
- ABS sensor calibratie.

Maar er zijn al enkele ideeën voor uitbreidingen:
1. Een losse adjuster (klein kastje dat je ergens op je dash monteert) die op de seriële poort wordt aangesloten zodat je ook zonder laptop makkelijk van antislip-niveau kunt wisselen.
2. Launch control d.m.v. 2-step revlimiter (maken we de PCB direct al geschikt voor, da's namelijk maar 1 simpele extra input voor een switch onder je koppeling).
3. Extra ADC-kanalen voor meer logging.
4. PWM output voor aansturing van servo's.
5. Combinatie van 3 en 4 om een boost controller te implementeren (boost sensor input en solenoid klep output).
6. Variabele revlimiter en/of boost control aan de hand van een input kanaal (zoals koelvloeistoftemperatuur).

Vanaf nu zal ik de voortgang hier posten en niet meer in m'n eigen projecttopic.
User avatar
Green Goblin
Posts: 12039
Joined: 22 Dec 2006, 06:55
Type MR2: AW11
Contact:
Ben toch altijd onder de indruk als ik dit soort dingen zie.
franksmits
Erg mooi. Heb het altijd proberen te volgen, vond het in 2009 al zo akelig stil.
Misschien een noob vraag: Kan deze ook overweg met de 2GR-FE (geen idee welke injectie daar op gebruikt wordt).
User avatar
johnwoo
Zere vingers van het typen..
Posts: 1025
Joined: 27 Dec 2006, 19:00
Type MR2: AW11
Contact:
2GR-FE wel, die heeft "gewone" sequentiële poort-injectie.
2GR-FSE niet, die heeft directe injectie.

Overigens zal er niet direct schade ontstaan als je hem aansluit op een motor met directe injectie, maar je zal zien dat de box een veel te hoog toerental weergeeft (omdat er meerdere pulsen per cycle plaatsvinden). Pas als de box wielspin detecteert en actief injectorpulsen gaat blokkeren is er kans op arm lopen en dus schade aan een direct ingespoten motor. In het algemeen geldt: als het toerental correct wordt weergegeven, dan is de box compatible met de motor in kwestie.
phuncz
Ik lul al aardig mee !
Posts: 256
Joined: 04 Mar 2010, 17:18
Een zeer mooi project, ik volg het al eventjes op een ander forum en dit is zeer knap werk !
User avatar
frankie-turbo
Posts: 3533
Joined: 25 Mar 2007, 17:45
Type MR2: AW11
Contact:
respect! echt dik.. het is dat ik 4wd heb anders zou ik dit serieus overwegen

is het geen idee dit in productie te brengen door middel van het concept te verkopen.. wie wil er nou geen betaalbare traction controle die makkelijk te instaleren is,
zeker als het uit te breiden is met anti-lag, launch controle, 2-step
dat is wat veel mensen missen in hun kruisraket
User avatar
mr2PUNTfreak
Posts: 5353
Joined: 27 Dec 2006, 18:37
Type MR2: AW11
Super project, blijf dit volgen.:applaus-smiley:
User avatar
dooierick
Zere vingers van het typen..
Posts: 1486
Joined: 14 Jan 2007, 18:51
Type MR2: AW11
goed bezig :D
User avatar
johnwoo
Zere vingers van het typen..
Posts: 1025
Joined: 27 Dec 2006, 19:00
Type MR2: AW11
Contact:
frankie-turbo wrote:respect! echt dik.. het is dat ik 4wd heb anders zou ik dit serieus overwegen

is het geen idee dit in productie te brengen door middel van het concept te verkopen.. wie wil er nou geen betaalbare traction controle die makkelijk te instaleren is,
zeker als het uit te breiden is met anti-lag, launch controle, 2-step
dat is wat veel mensen missen in hun kruisraket
Het is wel de bedoeling om ze te gaan fabriceren en verkopen ja, maar hoe en wat precies weten we nog niet. In ieder geval verkopen we niet het concept/ontwerp, we willen het zelf in de hand houden en de boxjes zelf maken. Maar of we ze ook zelf verkopen of dat we dat via een derde doen dat weten we nog niet, al is er al wel interesse getoond door een bepaalde Nederlandse tuningszaak ;D

Bovendien moet (behalve het bouwen van de injector cut, ben nu met de code daarvoor bezig :)) er nog heel wat getest worden. Op straat/bij nat bij relatief lage snelheden kan ik zelf, maar liefst laat ik er ook eerst eens iemand met verstand van circuitrijden mee rondrijden om te kijken of het algoritme nog bijgeschaafd/verbeterd moet worden. Ikzelf rij zelden op het circuit en ben daarbij geen zodanig goede coureur dat ik de grensgevallen kan testen ;) Iig durf ik niet opzettelijk ineens volgas te geven als ik met 100+ km/h een bocht uitkom om het ding expres aan het slippen proberen te brengen :P

Anti-lag gaat trouwens niet lukken, we kunnen alleen bestaande injectorpulsen van de ECU blokkeren, we kunnen ze niet verlengen of er zelf pulsen bij maken oid.
Maar 2-step launch control of flat-shift (voet op het gas houden terwijl je schakelt) kan dus wel :) (komt beide op hetzelfde neer, namelijk een extra revlimiter die tijdelijk ingeschakeld kan worden, en is zelfs redelijk simpel te maken met een enkele extra input voor de switch onder het koppelingspedaal).
User avatar
The Elementz
Ik lul al aardig mee !
Posts: 303
Joined: 30 Jul 2008, 23:45
Type MR2: AW11
Jij bent lekker goed bezig. Je kent vast wel het Pareto principe (80-20 regel). 80% ben je aan het ontwerpen en testen en andere 20% is het daadwerkelijk bouwen/programmeren. (Deze regel gaat niet altijd op, voordat ik commentaar krijg :P). Ik heb het idee dat je al een aardig eind bent.

Zoals Mr2PuntFreak al aangaf. Een top project, die ik zeker in de gate ga houden.

GreetZ
User avatar
Mightyzap
Ik lul al aardig mee !
Posts: 462
Joined: 17 Oct 2009, 22:04
Type MR2: AW11
hmm een emmer met launch control...
het word ineens leuk om naast een porsche te staan :D

btw...kan die traction control ook uit ?
anders word het ineens een heel ander verhaal als zon kastje ons ontdoet van ons jaarlijkse glijgenot in januari :P
User avatar
johnwoo
Zere vingers van het typen..
Posts: 1025
Joined: 27 Dec 2006, 19:00
Type MR2: AW11
Contact:
Uiteraard kan 'ie ook uit, je kunt precies instellen hoeveel wielspin is toegelaten: van 0% (direct ingrijpen zodra een wiel grip verliest) tot compleet uitgeschakeld.

Enige nadeel is dat daar een laptop voor nodig is (of we moeten zo'n aparte adjuster erbij maken), dus wellicht een idee om een extra input te maken voor een knopje waarmee je hem ook tijdelijk kunt uitschakelen.
User avatar
ROB-E
Posts: 2500
Joined: 02 Apr 2007, 23:05
Type MR2: AW11
Allemachtig!

Knap werk!
Daar zit al de nodige uren in :dux-blij_thumb-up:

Gaat zo door!
phuncz
Ik lul al aardig mee !
Posts: 256
Joined: 04 Mar 2010, 17:18
johnwoo wrote:Enige nadeel is dat daar een laptop voor nodig is (of we moeten zo'n aparte adjuster erbij maken), dus wellicht een idee om een extra input te maken voor een knopje waarmee je hem ook tijdelijk kunt uitschakelen.
Een aparte knop zou wel zeer leuk zijn. Misschien geen draaiknop maar iets in de richting van een schakelaar met 3 of 4 instellingen. Want 100% zal zowiezo niet handig zijn voor de meesten en 5-10% lijkt me ook vrij nutteloos voor normaal rijden.
franksmits
25% // 50% // 75% // 100% oid. Ik ben ook voor de schakelaar met 4 standen... (of een mini laptop als sponsoring)
User avatar
johnwoo
Zere vingers van het typen..
Posts: 1025
Joined: 27 Dec 2006, 19:00
Type MR2: AW11
Contact:
Vandaag weer verder gegaan en voor het eerst pulsjes onderbroken op de auto. Hij is niet ontploft! ;D En ook geen CEL (check engine light), dus de ECU kan overweg met ons boxje.
Alleen was het test patroontje dat ik nu hardcoded in de firmware had gezet niet agressief genoeg; zonder load ging hij bij halfgas al over de revlimiter heen ::)
Kennelijk moet ik gewoon doen zoals RaceLogic en alle pulsen blokken als hij over de hard limit heengaat (totdat hij er weer terug onder valt).

Tevens nog een bere interessante PDF gevonden waarin Toyota een en ander uitlegt over hun ECU's. Daarin vond ik onder andere dit overzichtje van EFI types en welke motor welk type gebruikt:
Image

Na enig denkwerk ben ik erop uitgekomen dat ik naast independent (a.k.a. sequential) ook de grouped (a.k.a. batched) en simultaneous types EFI kan ondersteunen met de box. Ik kan de box zelfs realtime laten detecteren welk type EFI gebruikt wordt aan de hand van de injector timing. Dus dat verbreedt de "afzetmarkt" aanzienlijk. Het is alleen wel een tikkeltje complexer dan alleen sequential EFI zoals die er nu in zit, dus ik heb weer wat te coden ::)

Overigens is het PDFje al wat ouder (begin jaren '90 gok ik, gezien het ontbreken van de MZ en JZ), een boel moderne motoren ontbreken, maar veruit de meeste moderne motoren gebruiken de sequential type EFI. Directe injectie staat er niet eens bij, Toyota had die toen nog lang niet :P (Directe injectie zal trouwens 100% zeker niet ondersteund worden vanwege het variabel aantal pulsen per cycle).
User avatar
johnwoo
Zere vingers van het typen..
Posts: 1025
Joined: 27 Dec 2006, 19:00
Type MR2: AW11
Contact:
Zo, projectje heeft even stilgelegen omdat ik dacht dat m'n programmer naar de gallemiezen was. Uiteindelijk blijkt het ding het op m'n 7 jaar oude laptop met XP wel gewoon te doen, dus kennelijk is het een of andere Windows Update geweest die stoort met de USB driver van die programmer onder Vista.

Alleen gaat het programmen nu wel omslachtig; ik compile m'n projectje op mijn PC en vervolgens moet ik de bestandjes overzetten naar m'n laptop om ze op de chip te programmen. En daarvoor moet ik het PCBtje met de chip steeds uit de auto demonteren en weer terugmonteren na updaten...

Dus nu ben ik eerst maar aan de slag gegaan met een bootloader en update app voor de chip, dan heb ik de programmer helemaal niet meer nodig maar kan ik de firmware gewoon via de seriële kabel updaten. Dat moest sowieso gemaakt worden zodat ik, als er straks boxjes in gebruik zijn, firmware updates kan uitgeven via internet en mensen hun box zelf makkelijk kunnen updaten, maar vanwege dat gedoe met die programmer is de prioriteit hiervan even omhoog gegaan :P

Alvast een previewtje van de update app:
Image

Image Image Image
phuncz
Ik lul al aardig mee !
Posts: 256
Joined: 04 Mar 2010, 17:18
Dat ziet er al netjes uit. Op zich acht ik dit niet nodig te hebben voor een ZZW30 maar tijdens de wintermaanden kan dit wel eens cruciaal zijn. Ik ben vooral benieuwd naar de eerste tests op glad wegdek !
Xhermes
Zere vingers van het typen..
Posts: 3347
Joined: 28 Dec 2006, 00:53
Type MR2: AW11
Contact:
Nou 100 liter water en 5 flesjes dreft op een parkeerplaats loslaten :)
User avatar
Mightyzap
Ik lul al aardig mee !
Posts: 462
Joined: 17 Oct 2009, 22:04
Type MR2: AW11
Xhermes wrote:Nou 100 liter water en 5 flesjes dreft op een parkeerplaats loslaten :)

je zou ook gewoon kunnen wachten tot het weer eens regent ;)
Post Reply