De ECU

Zoals besproken in het artikel over het motormanagement systeem, speelt de Engine Control Unit (ECU) een centrale rol in de aansturing van de motor. Binnen de motorregeling vervult de ECU een aantal taken, die als volgt zijn onder te verdelen:
Verzorgen van voedingsspanning
Adaptie van ingangssignalen (Input)
Besturingslogica (Control)
Adaptie van uitgangssignalen (Output)
Communicatie met andere systemen
Voedingspanning
Het elektriciteits boordnet van een personenauto werkt, een uitzondering daargelaten, op 12 Volt. In principe tenminste. In praktijk komen voltages tussen pak ‘m beet 9 Volt en 14 Volt voor. Bij het in en uitschakelen van stroomverbruikers als bijvoorbeeld de verlichting, kunnen spanningspieken voorkomen van 150 Volt.
De meeste microcontrollers (zeg maar de CPU van de ECU) werken op een spanning van 5 Volt en zijn door hun opbouw erg gevoelig voor spanningsvariaties. Als een spanningspiek van 150V de microcontroller zou bereiken, dan kan deze per definitie afgeschreven worden.
Dit is de reden dat de ECU is voorzien van een voedingsschakeling die de boordnet spanning omzet naar een ontstoorde 5 Volts gelijkspanning.
Deze gelijkspanning kan meteen gebruikt worden om bepaalde analoge sensoren te voeden die dat zelf niet verzorgen, zoals bijvoorbeeld koelwatertemperatuur.
Verder levert de ECU in sommige gevallen de voeding voor het aansturen van de injectoren. Dit kan echter ook buiten de ECU door een specifieke injector driver unit gedaan worden.
Input
De microcontroller van de ECU kent drie soorten ingangssignalen:
Analoog
Digitaal
Frequentie
Analoog
Een analoge input houdt in dat er een spanning tussen de 0 Volt en 5 Volt aanwezig is op de input pin van de controller. Met behulp van een analoog-digitaal converter (A/D converter) wordt deze spanning vertaald naar een numerieke waarde. Bijvoorbeeld:
Stel we hebben een 16 bits A/D converter. Deze kan een waarde aannemen tussen 0 en 65535. Als het ingangsbereik van 0 V tot 5 V loopt, dan komt een waarde van 3,5 V overeen met:
3,5/5 * 65535 = 45874
Het is vervolgens zaak om hier in de software van de controller een bruikbare waarde aan te koppelen. Meestal wordt de uitgangswaarde van de A/D converter eerst teruggerekend naar een ingangsspanning. Vervolgens kan met behulp van de gegevens van de sensor bepaald worden wat voor een waarde er uiteindelijk gemeten is.
Digitaal
Een digitale input kent 2 toestanden. AAN en UIT. Voor de microcontroller betekent dit meestal:
· AAN = spanning op de input pin > 2,4 V
· UIT = spanning < 0,4 V
Een digitale input wordt bijvoorbeeld gebruikt om de stand van een schakelaar uit te lezen. Omdat de circuits van de microcontroller zeer gevoelig zijn, moet de ingangen vrij zijn van spanningspieken. Dit kan bijvoorbeeld met een optocoupler, die het circuit van de microcontroller fysiek ontkoppelt van het ingangscircuit.
Frequentie ingang
De frequentie ingang is een speciale uitvoering van de digitale ingang. Deze wordt bijvoorbeeld gebruikt om het krukas signaal te verwerken. Het signaal bestaat uit een aantal positieve en negatieve spanningspulsen die elkaar afwisselen met iedere tand op de tandkrans. Hoe sneller de krukas draait, des te korter de tijd tussen twee spanningspieken.
De frequentie ingang registreert het de momenten waarop de spanning boven de 2,4 V komt en wanneer deze onder de 0,4 V valt. Dit komt overeen met een overgang van logisch 0 naar logisch 1 (opgaande flank) en van logisch 1 naar logisch 0 (neergaande flank). Over het algemeen kan men in de microconroller instellen of deze moet letten op de opgaande of neergaande flank. Het bijzondere van de frequentie ingang is dat er een circuit achter zit die zelf bijhoudt wat de tijd tussen twee flanken is. Dit hoeft dan niet meer in software opgelost te worden.
Control
Het hart van de ECU wordt gevormd door een microcontroller. Dit is een klein computertje met beperkte rekencapaciteit en geheugen. De modernste ECU’s hebben microcontrollers met een snelheid van ongeveer 150 MHz en het geheugen ligt zo rond de 1 MB. Het belangrijkste kenmerk van dit soort microcontroller is het grote aantal I/O pinnen en de geintegreerde functionaliteit (b.v. A/D omzetter, interrupts, PWM uitgangen etc..).
Bekende fabrikanten zijn Infineon (TriCore) en Freescale (MPC55xx). Het is de software in deze controller die het gedrag van de motor bepaalt.
Niet alleen de inspuiting en ontsteking, maar ook ingewikkelder systemen als cruise control worden door de motor ECU verzorgd. Het is dus van het grootste belang dat de software en hardware van de ECU storingsvrij is.
Output
Aan de uitganszijde van de ECU zijn grofweg drie soorten signalen te onderscheiden:
Digitaal
Pulse Width Modulation (PWM)
Injector drivers
Digitale uitgang
Een digitale uitgang is te vergelijken met een licht een schakelaar. Als de waarde ‘waar’ of ‘hoog’ is, staat er 5 V spanning op de pin (lamp aan). Als de waarde ‘onwaar’ of ‘laag’ is, staat er geen spanning op de pin (lamp uit). Het verschil is dat de software van de microcontroller bepaalt wanneer het licht aan of uit is.
Pulse Width Modulation
Om van de digitale omgeving van de microcontroller terug te gaan naar de analoge wereld, wordt gebruik gemaakt van pulsbreedte sturing (Pulse Width Modulation afgekort PWM).
Dit houdt in dat er een digitale uitgang continu aan en uitgeschakeld wordt om een gemiddelde spanning tussen de 0V en 5V te realiseren.
Wanneer de digitale uitgang continu ‘waar’ is, komt dat overeen met een spanning van 5 volt. Een uitgang die ‘niet waar’ is, heeft een gemiddelde spanning van 0 volt (hij staat immers uit).
Als de uitgang de helft van de tijd ‘waar’ is, komt dit overeen met een spanning van 2,5 volt.
Bij PWM zijn twee gegevens van belang, namelijk:
De pulslengte: Hoe lang duurt 1 puls?
De duty cycle: Hoeveel procent van de tijd is het uitgangssignaal ‘waar’?
Stel dat de pulslengte 10 milliseconden is en de duty cycle is 30%. De tijd dat de uitgang dan ‘waar’ is, is dan:
10 * 30% = 3 milliseconden
De gemiddelde spanning op de uitgang is in dit geval:
U = dc * Vss = 0,3 * 5 = 1,5 V
Het signaal dat gemeten kan worden aan de digitale uitgang ziet er als volgt uit:

Injector drivers
De injector drivers zijn eigenlijke een andere variatie op de digitale uitgang. Door het hoge stroomverbruik van injectoren kan de microcontroller deze niet direct aansturen. Er is een versterker nodig. Hiervoor worden meestal hoog vermogen MOSFET transistoren voor gebruikt. Dit zijn als het ware schakelaars die grote stromen kunnen schakelen, maar die de microcontroller wél kan aansturen.
De aansturing van de injector kent drie fases per inspuiting:
Openen van de injector
Open houden
Sluiten
Om de injector te openen moet er een kracht opgewekt worden die groter is dan de drukkracht van de veer die de naald dicht drukt. Daarbij willen we de injector zo snel mogelijk openen, dus moet de opgewekte kracht flink groter zijn dan de tegenwerkende krachten. Om dit voor elkaar te krijgen wordt aan het begin van de inspuiting de uitgang van de injector driver continu ‘hoog’ gehouden (duty cycle 100%).
Zodra de injector open is, hoeven alleen de tegenwerkende krachten overwonnen te worden. Hiervoor is een veel kleinere stroom nodig. Met behulp van pulsbreedte sturing wordt er voor gezorgd dat er genoeg stroom door de spoel van de injector loopt om hem open te houden, maar niet meer dan dat.
Als er voldoende brandstof is ingespoten, moet de injector weer dicht. Hiertoe wordt de uitgang van de driver ‘laag’, zodat de magnetische kracht van de spoel wegvalt en de veer van de injector, in combinatie met de brandstofdruk, drukt de naald weer naar de gesloten positie.
De gemeten spanning en stroom zien er als volgt uit:

De bovenste grafiek is de spanning, de onderste de stroom. In de stroomgrafiek zien we de stroom door de injector sterk toenemen, totdat de injector naald open gaat. Dit is te herkennen aan de eerste piek in de spanning (gevolg van de inductie spanning die door de bewegende naald wordt opgewekt). Vervolgens wordt gedurende de inspuiting de stoom constant gehouden opzo’n 1 Ampere. Aan het eind van de injectie valt de stroom af en gaat de naald weer dicht (2e spike in de spanningsgrafiek).
Digitale communicatie
In de auto’s van tegenwoordig is de ECU niet de enige controller en moet deze in staat zijn te comminiceren met andere control units. Hiervoor is vandaag de dag een drietal protocollen in gebruik:
Controller Area Network (CAN)
Local Interconnect Network (LIN)
FlexRay
CAN
De can-bus komt in alle moderne auto’s voor. Hij wordt gebruikt om de ECU met de aandrijflijn en/of cockpit te laten communiceren en om bijvoorbeeld fouten uit te lezen. De CAN-bus bestaat uit twee koperdraden die in elkaar gedraaid zijn om storingen zoveel mogelijk te voorkomen. Aan de uiteinden van deze draden zit een tweetal afsluitweerstanden. Deze dempen het signaal aan het eind van de bus uit, anders treedt er reflectie op en stoort de verbinding.
Alle apparaten die met de CAN-bus zijn verbonden kunnen optreden als zender en ontvanger. Op basis van het adres van de verzender wordt bepaald wie er voorrang krijgt, mochten er twee tegelijkertijd willen zenden.
De snelheid van de CAN bus ligt tussen de 125 kb (kilobits) per seconde en 1 Mb (megabits) per seconde.
LIN
De LIN-bus is een goedkope manier om controllers met elkaar te laten communiceren. Er wordt slechts 1 draad gebruikt voor het signaal. De massa loopt via de voertuig massa.
Dit heeft tot gevolg dat de LIN-bus minder betrouwbaar is dan de CAN-bus.
Hij wordt daarom vaak toegepast voor minder kritische communicatie, zoals de aansturing van de elektronisch verstelbare buitenspiegels.
De LIN-bus werkt als een master-slave bus, waarbij slechts 1 controller per bus als master functioneert en tot maximaal 16 als slave. Dit betekent dat het altijd de master is die de communicatie initieert. De slaves antwoorden alleen op verzoek van de master.
De snelheid van de LIN-bus is maximaal 19,2 kb per seconde.
Flexray
Een relatief nieuwe vorm van data communicatie in de auto is Flexray. Deze bus kan snelheden aan tot 20 Mb per seconde en is nog stabieler dan CAN. Het nadeel is alleen dat de onderdelen voor flexray relatief duur zijn. Net als bij CAN kunnen alle controllers aan de bus zowel zenden als ontvangen. Het verschil met CAN is dat er bij FLEXray meer wordt gedaan aan synchronisatie en data verificatie. Het is ontwikkeld voor toepassingen waarbij veel gegevens in korte tijd moeten worden verzonden, zoals de wielsnelheid voor ESP systemen.
Doordat FlexRay nog relatief nieuw is wordt het maar weinig toegepast.
Conclusie
De ECU is een combinatie van een microcontroller en alle randsystemen die nodig zijn om de signalen geschikt te maken voor deze controller. Het is de software in de microcontroller waarin het gedrag van de motor wordt bepaald.Het is van het grootste belang dat de software en hardware van de ECU robuust en foutvrij functioneert.
