You dont have javascript enabled! Please enable it!

Interfaceschakelingen

Onderwerpen:

  • Inleiding
  • Transistor Transistor Logic (TTL)
  • Omzetting van analoge sensorspanningen naar digitaal bericht
  • Omzetting van pulsgeversignaal naar digitaal bericht
  • Uitgangssignalen

Inleiding:
De van de sensoren afkomstige elektrische signalen moeten in de meeste gevallen worden aangepast voordat ze aan de processor worden aangeboden. Aan de andere kant van de computer vindt de aansturing van de actuatoren plaats. Dit zijn vaak inductieve circuits die veelal grote stroomsterktes schakelen. De hardware om de sensorsignalen en actuatorstromen aan te passen, noemen we interfaceschakelingen. Een interfaceschakeling zorgt voor de vertaling van een analoge naar een digitale spanning.

  • Sensoren versturen een spanning met een lage stroomsterkte. De interfaceschakeling zet de spanning om in een digitale waarde (0 of 1).
    De stroomsterkte is bij een sensorsignaal laag;
  • Actuatoren vereisen een hogere stroomsterkte.
    Om de actuatoren aan te sturen, bevinden zich in de ECU eindtrappen in de vorm van (een combinatie van) transistoren of FET’s, welke ook wel “drivers” worden genoemd. In de paragraaf “uitgangssignalen” gaan we daar dieper op in.

De onderstaande afbeelding toont de sensoren en actuatoren van een (benzine) motormanagementsysteem. De bovenste groep sensoren (van de gaspedaalpositiesensor tot de lambdasensoren) vallen onder de categorie “analoog”. Dat betekent dat de inkomende sensorspanningen eerst moeten worden gedigitaliseerd in de ADC (analoog – digitaal converter). De onderste groep sensoren (de krukaspositiesensor tot de voertuigsnelheidssensor) bieden hun signaal al digitaal aan. De aan-uit signalen of blokspanningen worden direct aangeboden op de CPU.

De actuatoren aan de rechterzijde worden aangestuurd door een eindtrap. Een eindtrap, ook wel een driver genoemd, bestaat uit een schakeling van meerdere transistoren om van een aanstuurpuls vanuit de computer een bruikbare spanning en stroom te genereren om de actuator aan te sturen.

Motormanagementsysteem met sensoren (links) en actuatoren (rechts)

Transistor Transistor Logic (TTL):
De processor werkt met spanningen van 5 volt. In- en uitgangsspanningen zijn daarmee beperkt tot een bereik van 0 tot 5 volt (TTL-niveau, afgekort van Transistor Transistor Logic). Bij signalen die van dit spanningsniveau afwijken, vindt een aanpassing plaats in een interfaceschakeling.

De onderstaande afbeeldingen laten zien hoe vanuit een schakelaarstand een 1 of een 0 wordt gevormd. Door middel van een pull-upweerstand zorgt de spanning van 5 volt voor een logische 1 op de ingang van de processor wanneer de schakelaar is geopend. De spanning over de pull-upweerstand wordt dan niet aan massa geschakeld.
Op het moment dat de schakelaars sluiten, ontstaat er een spanningsval over de pull-upweerstand. De spanning van 0 volt op de ingang van de processor wordt gezien als logische 0.

Alle schakelaars geopend: 11111111 op ingang processor
Alle schakelaars gesloten: 00000000 op ingang processor

Een combinatie van geopende en gesloten schakelaars geeft een reeks enen en nullen. In de afbeelding is de 8-bits boodschap aan de processor: 00101001.

Met een 8-bits processor worden de acht bits per cyclus tegelijk ingelezen. Tijdens de volgende cyclus, welke plaatsvindt tijdens de volgende “tik” van de klok (zie de systeembus op de pagina over de werking van de ECU) volgt een reeks met acht nieuwe bits.

Geopende en gesloten schakelaars: 00101001 op ingang processor

Omzetting van analoge sensorspanningen naar digitale bericht:
Digitale ingangssignalen worden direct door de processor verwerkt. Analoge signalen worden in de A/D-omzetter eerst omgezet in een digitaal signaal. Als voorbeeld nemen we het analoge spanningsverloop van een turbodruksensor:

  • stationair bedraagt de spanning ongeveer 1,8 volt;
  • bij het accelereren stijgt de spanning naar bijna 3 volt.

De spanningsverandering kan niet regelrecht in de processor worden verwerkt. Eerst moet de gemeten spanning worden omgezet naar een decimale waarde (0 tot 255).

Bij een bereik van 0 tot 5 volt en een decimale waarde van 0 tot 255 (dus 256 mogelijkheden). Een simpele rekensom leert dat wanneer we 5 volt over 256 mogelijkheden verdelen, er stapjes van 19,5 mV (0,0195 volt) kunnen worden gemaakt.

Het bovenstaande voorbeeld liet het spanningsverloop ten opzichte van de tijd van een turbodruksensor zien. Het spanningsverloop van een temperatuursensor en gaspedaalpositiesensor verlopen op gelijke wijze, alleen in een ander tijdsbestek: het opwarmen van de koelvloeistof duurt immers langer dan het opspoelen van de turbo.

Eerder in deze paragraaf staat een afbeelding waar een categorie analoge signalen staat afgebeeld. Hierin zijn o.a. de temperatuursensor en gaspedaalpositiesensor te zien. De analoge spanning wordt in de A/D-omzetter omgezet naar een 8-bits eenheid van informatie. Veel processoren met meerdere ingangspinnen hebben slechts één A/D-omzetter. Meerdere analoge signalen worden m.b.v. multiplexing gecombineerd tot één signaal.

In dit voorbeeld zien we een A/D omzetter met acht ingangen. Op pin 0 staat een spanning van 2 volt. De pinnen E1 t/m E7 kunnen tegelijkertijd worden voorzien van spanningen. Deze worden d.m.v. multiplexing één voor één omgezet naar een digitaal bericht.

De spanning van 2 volt wordt omgezet naar een binaire waarde. Met de volgende formule kunnen we de analoge spanning omrekenen naar een decimale waarde, en vervolgens omzetten naar een binaire waarde:

2v / 5v * 255d = 102d

We delen hier de ingangsspanning (2v) door de maximale spanning (5v) en vermenigvuldigen dit met de maximale decimale waarde (255).

Door middel van een berekening of het uitvoeren van een handig trucje, kunnen we het decimale getal van 255d omzetten naar de binaire waarde van 01100110.
Zie daarvoor de pagina: binair, decimaal, hexadecimaal.

8 bits A/D omzetter

De volgende tabel weergeeft de decimale, binaire en hexadecimale waarde aan die bij verschillende spanningen horen.

Bij het uitlezen van live data kan het voorkomen dat de decimale, binaire of hexadecimale waarde van het sensorsignaal wordt getoond.

  • Een spanningssignaal van <0,5 volt (025d) wordt gezien als kortsluiting met massa;
  • Stijgt het signaal boven de 4,5 volt (220d) vertaalt de computer dit als kortsluiting met plus.
Spanning in decimale, binaire en hexadecimale waarden

Omzetting van pulsgeversignalen naar een digitaal bericht:
De signalen van pulsgevers, waaronder de inductieve krukaspositiesensor, zijn feitelijk aan- uitsignalen die zijn ontstaan nadat de tandjes van het pulswiel langs de sensor zijn bewogen. De wisselspanning van de sensor moet eerst worden omgezet naar een blokspanning, voordat het signaal aan de processor wordt aangeboden.

In de afbeelding zien we een sinusvormige wisselende spanningen aan de linkerzijde van de interface. In de interface-elektronica wordt deze wisselspanning omgezet in een blokspanning. Deze blokspanning wordt vervolgens door het timer/counter blok gelezen: op het moment dat de puls hoog is begint de counter met tellen, en stopt met tellen wanneer de puls opnieuw hoog wordt. Het aantal tellen (counts) is maat voor de periodetijd cq. frequentie van het signaal.

Omzetting van pulsgeversignaal naar digitaal signaal met het timer/counter blok

In de onderstaande afbeelding zien we een signaal van de inductieve krukassensor met in de bovenste flanken rode punten. De rode punten zijn ingesteld op een spanning om de blokspanning te laten stijgen (logische 1) of te laten dalen (logische 0). Onder deze afbeelding gaat de uitleg verder.

Sinusvormige wisselspanning en een gedigitaliseerd signaal zonder hysterese

De sensorspanning is echter nooit geheel zuiver. In het spanningsverloop zal altijd een kleine schommeling te zien zijn. In dat geval kan de interface-elektronica dit onterecht aanduiden als een logische 0, terwijl het eigenlijk een 1 hoort te zijn.

Het onderstaande scoopbeeld is opgenomen tijdens het uitvoeren van het BMW-Megasquirt project. Het scoopbeeld toont de digitalisering (geel) van het inductieve krukassignaal (rood). In het beeld is duidelijk te zien dat er pulsen in het gele bloksignaal missen, terwijl op dat moment geen ontbrekende tand in het krukassignaal voorbij komt.

Onzuiver digitaal signaal bevat fouten: dit is missende informatie

Om ervoor te zorgen dat kleine schommelingen in het spanningsverloop niet zorgen voor een onjuiste interpretatie van de ECU, is een zogenaamde hysterese ingebouwd. De hysterese is de verschilspanning tussen de op- en neergaande flanken van het spanningsverloop. In de onderstaande afbeelding zien we dat de rode puntjes van de opgaande flanken zich op een hogere spanning bevinden dan de rode punten op de neergaande flanken. Zo weten we zeker dat kleine fluctuaties in het signaal geen invloed hebben op de digitale omzetting.

In de eerste paragraaf waar we begonnen over de omzetting van het pulssignaal naar het digitale signaal, werd al genoemd dat de frequentie van het signaal wordt bepaald aan de hand van de tijd tussen twee opgaande flanken van het bloksignaal. In deze voorbeelden is goed af te leiden dat de hysterese wel invloed heeft op de breedte van het bloksignaal, maar geen invloed heeft op de tijd tussen de opgaande flanken, en daarmee dus ook geen invloed heeft op de frequentie van het signaal.

Gedigitaliseerd pulsgeversignaal met hysterese

Met een goed ingestelde hysterese wordt het sinusvormige signaal goed omgezet naar een bruikbare blokspanning, met alleen de meerdere logische enen op de plaatsen waar de ontbrekende tand voorbij komt.

Let op, tijdens het instellen van de MegaSquirt ECU zijn er instellingen gewijzigd, waaronder triggering op de rising (opgaande) en falling (dalende) lijn. Daardoor is bij het passeren van de ontbrekende tand bij het eerste voorbeeld de spanning 0 volt en bij het onderstaande scoopbeeld de spanning 5 volt.

Pulsgeversignaal met zuivere en correcte blokspanning

Uitgangssignalen: 
De outputsignalen bestaan uit digitale aan- /uitpulsen met een spanningsbereik tussen de 0 en 5 volt (TTL-niveau) met een zeer lage stroomsterkte. Actuatoren vereisen echter een aansturing met hogere spanningsniveaus en stroomsterktes.
De aan- / uitsignalen kunnen pulsbreedte-gemoduleerd zijn (PWM), waarbij de pulsbreedte kan variëren bij een gelijkblijvende frequentie.

De volgende afbeelding toont een blokspanning op TTL-niveau als functie van de tijd. De duty cycle van dit PWM-signaal bedraagt 50%.

Om actuatoren aan te sturen zijn drivers nodig. Met het digitale outputsignaal kan met een driver de benodigde stroomsterkte worden bereikt. In de volgende paragraaf behandelen we de drivers.

Voorbeeld: PWM-signaal

In iedere ECU en in sommige actuatoren zoals DIS-bobines vinden we drivers. Een driver noemen we ook wel een eindtrap of vermogenstransistor. De driver maakt het mogelijk om uitgangssignalen op TTL-niveau: 0 tot 5 volt, met een lage stroomsterkte van 1 mA vanuit de ECU om te zetten naar spanningen tot 14 volt en stromen tot ca. 10 A.

Een driver kan meerdere aan elkaar geschakelde transistoren bevatten. Een dergelijke transistor noemen we een “Darlington-transistor“. De volgende afbeeldingen tonen de volgende schakelingen:

  1. Schema van een darlingtonschakeling met twee transistoren voor de bobine-aansturing (bron: datasheet BU941ZR).
  2. Twee transistoren met ieder een darlingtonschakeling (BU941ZR)
  3. Driver-IC’s met darlingtonschakelingen en extra elektronica voor o.a. temperatuurbeveiliging en een terugkoppeling naar de microprocessor.
1. Darlingtonschakeling
2. Darlington-transistoren (2x)
3. Driver-IC's met meerdere darlingtonschakelingen

Op de pagina: aanstuurmethodes actuatoren wordt dieper ingegaan op de aansturing van passieve, actieve en intelligente actuatoren door middel van een (vermogens)transistor of FET.