1 / 20

ECU, Engine Control Unit

ECU, Engine Control Unit. Idag styrs bilmotorerna av en ECU . Så här skulle en PIC-processor kunna användas som en ”mini-ecu”!. Behovet av tändförställning.

henrietta
Télécharger la présentation

ECU, Engine Control Unit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECU, Engine Control Unit Idag styrs bilmotorerna av en ECU. Så här skulle en PIC-processor kunna användas som en ”mini-ecu”! William Sandqvist william@kth.se

  2. Behovet av tändförställning När bränsle/luftblandningen antänds i kompressions-kammaren, börjar förbränningen vid tändstiftet och sprids därifrån vidare i bränsle/luftblandningen. Det tar en given tid för hela blandningen att brinna, expandera och därmed tvinga kolven ner i loppet. Därför måste man börja tändningsprocessen ( Z ) innan kolven når övre dödläge (ÖD). Det är detta som kallas för tändförställning. William Sandqvist william@kth.se

  3. Behovet av tändförställning Om motorns varvtal ökar så får blandningen kortare tid på sig att brinna. Man behöver därför öka tändförställ-ningen med ökat varvtal. Bränsle/luftblandningens förbränningshastighet varierar med hur full cylindern är vid kompressionen. Vid litet gaspådrag och höga varvtal fylls cylindern mindre än vid stort "gaspådrag" och låga varvtal. Det behövs således också olika tändförställningar vid samma varvtal beroende på "gaspådrag/motormoment“. Z = f ( varvtal, motorbelastning ) William Sandqvist william@kth.se

  4. Den mekaniska lösningen Brytarspetsar. Tändstift. Reglerområdet med mekaniska komponenter. Motorbelastning, vacuumregulator. Varvtal, centrifugalregulator. William Sandqvist william@kth.se

  5. Distributor recurve kit Förr kunde man ”pigga upp” motorn med nya vikter och nya fjädrar och en förändrad vacuumdosa … William Sandqvist william@kth.se

  6. Den Mekatroniska lösningen Reglerområdet i dataminnet! Man kan till exempel välja mellan prestanda eller miljökrav … William Sandqvist william@kth.se

  7. Givare för varvtal och vinkel Fordonsindustrin har hittat ett mycket billigt sätt att mäta motoraxelns varvtal och vinkelläge. En induktiv givare avger pulser när motorns startkuggkrans roterar, och en annan induktiv givare avger en puls per varv då ett "indexstift" passerar. William Sandqvist william@kth.se

  8. Vinkelläge Antag att startkransen har 130 kuggar. För att grovt hålla reda på vinkelläget "räknar" man i princip de kuggar som passerar med en modulo-130-räknare. Timer0 är en åttabitarsräknare, dvs en räknare som "slår runt" vid talet 255 och då börjar om med talet 0.Timer0 kan räkna pulser på pinne T0CKI. Kugg-givaren ansluts till denna pinne. Man kan få ett avbrott (interrupt) i programkörningen var gång Timer0 "slår runt". Om man vid avbrotten passar på att direkt "ladda" Timer0 med talet 126 (256-130=126) blir räknecykeln förkortad till 130 steg, dvs vi får en modulo-130-räknare. Aktuell kugge kan man få reda på genom att läsa av Timer0 och dra ifrån talet 126. William Sandqvist william@kth.se

  9. Referensläge vid start Antag att indexstiftet är placerat vid kugge nr "0". PIC-kretsarna har en yttre avbrottsingång INT. Indexpinnens givare ansluts till denna. Vid start av motorn "laddar" man Timer0 med talet 126 när index-pinnen passerar sin givare och genererar avbrott. Från denna stund håller Timer0 "reda på" kuggarna. William Sandqvist william@kth.se

  10. Varvtalsmätningen Varvtalsmätningen går i princip till så att man mäter den tid det tar för kuggarna att passera Kugg-givaren. Rotationen sker inte med konstant varvtal utan "ryckigt", eftersom förbränningsmotorer är explosions-motorer så mätvärdet varierar från kugge till kugge. PIC-processorerna är utrustade med en eller flera så kallade CCP-enheter (CaptureComparePWM). Till varvtalsmätningen använder man Capture -mode. Kugg-givare. William Sandqvist william@kth.se

  11. Varvtalsmätningen CCP-enheten är inställd på Capture, och använder Timer1. Timer1 är en 16-bitsräknare (28 bitar), den programmeras att räkna i takt med processorns klocka. CCP-enhetens ingångspinne ansluts till Kugg-givaren och programmeras att reagera på positiva pulsflanker. Vid varje kugge kommer då automatiskt Timer1 att "läsas av" ( = capture) och resultatet hamnar i CCP-enhetens register CCPRH och CCPRL. De två CCPR-registren kan hanteras som ett 16-bitarstal. Vid "Capture" anropas avbrottsrutinen ( interrupt ) och i denna kan tids-värdet i CCPR-registren lagras undan. I princip beräknas tiden mellan två kuggpassager som skillnaden mellan två tidsvärden, och varvtalet som det inverterade värdet av denna tid. ( Likheterna med frekvensmätningslaborationen är slående … ) William Sandqvist william@kth.se

  12. Givare för motorbelastningen Motorbelastningen mäts oftast med analoga givare. PIC-processorerna har AD-omvandlare som kan avläsa givarna. En tryckgivare kan mäta ”vacuumet” i insugningsröret. En varmtrådsanemo-meter kan mäta luft-mängden till motorn. Gaspedalens läge kan mätas med en potentiometergivare. William Sandqvist william@kth.se

  13. Tändförställningstabellen Sambandet mellan tändpunktens förställning och varvtalet tillsammans med belastningen, är komplicerat och beskrivs bäst som en "karta" ( sk. mappad tändning ). Rent experimentellt kan man placera fordonet på en så kallad "rullande landsväg" och systematiskt ändra varvtal och belastning och för varje kombination "pröva fram" den bästa tändförställningen. Mätvärdena kan man samla i en Tändförställningstabell. William Sandqvist william@kth.se

  14. Visualisera tabellen 3-D plot med Matlab. (Klipp ut texten och prova den i Matlabs kommandofönster).Observera att tabellens värden är "fejkade“och är endast avsedda som principexempel. ignadv = [ 30 40 40 40 20 15 15 15 20 40 40 40 25 20 20 20 40 60 60 50 30 20 20 15 40 70 70 60 40 25 25 20 45 80 85 80 50 40 30 25 50 85 85 70 60 50 35 30 60 90 90 80 75 60 40 35 70 95 95 80 75 65 50 40 ];surf(ignadv); Observera att tabellens värden är "fejkade" och är endast avsedda som principexempel. William Sandqvist william@kth.se

  15. Tabellen i PIC-processorn Så här kan tabellen programmeras som en funktion i PIC-processorn. När funktionen anropas med tex. ignitionmap(0,0) (rad 0 kolumn 0) returnerar den talet 30. /* speed 3 bits 0...7 ; torque 3 bits 0...7 */char ignitionmap(char speed, char torque){char index; index = speed*8 + torque; /* index for 64 table entries */ skip(index) return 30; return 40; ... /* the next 60 table entries */ ... return 50; return 40;} William Sandqvist william@kth.se

  16. Tändningen Med hjälp av Timer0 vet man motorns vinkel. När man närmar sig tänd-punkten mäter man tiden mellan passagen av två kuggar med den första CCP-enhetens Capture-funktion, och motorns belastning med hjälp av AD-omvandlaren. Genom att anropa tabell-funktionen så får man veta vilken tändförställning som är den rätta. För att utföra tänd-ningen vid rätt tidpunkt låter man PIC-processorns andra CCP-enhet vara inställd på Compare. När motorn nått den kugge som innehåller intervallet för tändningen, laddar man CCP-registren med ett tal, en tidsfördröjning. En programmerbar "händelse" utförs med CCP-pinnen då Timer1 når detta tal ( compare ). Tändspolens drivkrets har anslutits till CCP-pinnen på ett sådant sätt så att den programmerade "händelsen" utlöser gnistan. William Sandqvist william@kth.se

  17. Förgasare eller bränsleinsprutning Förgasare. Hur många delar innehåller den? Räkna! Har Du hört talas om ”skit i förgasaren”? Bränsleinsprutare. William Sandqvist william@kth.se

  18. Bränsleinsprutning Den sista förgasarbilen lämnade produktionsbandet 1990. Datorstyrd bränsleinsprutning har därefter tagit över i förbrännings-motorerna. William Sandqvist william@kth.se

  19. Det behövs fler CCP-enheter … Detta har varit avsett som ett exempel på hur CCP-enheterna skulle kunna användas. Det är inte Microchips Midrange PIC-processorer som styr våra bilmotorer … William Sandqvist william@kth.se

  20. William Sandqvist william@kth.se

More Related