IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.

Slides:



Advertisements
Liknande presentationer
Kraft och rörelse.
Advertisements

PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Talföljder formler och summor
void hittaMax(int tal[], int antal, int *pmax) { int i; ??=tal[0]; for(i=1;i??) ??=tal[i]; } int main() { int v[]={1,2,3,4,2}; int.
Elmotorer Lars Neuman LRF Konsult maj 2012 Lars Neuman maj 2012.
hej och välkomna EKVATIONER Ta reda på det okända talet.
IE1206 Inbyggd Elektronik F1 F2
Ruttplanering Vad är det??.
Ellära Fysik 1 / A Översiktlig beskrivning av en del av innehållet i Ellära – Fysik A För djupare studier hänvisar jag till kurslitteratur som finns.
Introduktion till C för enchipsdatorer
Många studenter använder en LCD-display till sin programmeringsuppgift
William Sandqvist Störskydd William Sandqvist
Nytt golv av finaste furu
En dator av rep, block och taljor
Spolen och Kondensatorn motverkar förändringar
IE1206 Inbyggd Elektronik F1 F2
William Sandqvist PIC Comparator Tips 'n Tricks William Sandqvist
Komparatorn en 1 bits AD-omvandlare
Kretselement på grafisk form
IE1206 Inbyggd Elektronik F1 F2
IE1206 Inbyggd Elektronik F1 F2
William Sandqvist PSpice – hemma Som simuleringsprogramvara använder vi Orcad PSpice, samma program kommer sedan att användas I elektronikkurserna.
Realtidsprog. - Anders Arvidsson1 Realtidsprogrammering En introduktion – Implementering (med exempel från PIC)
Algoritm analys och rekursiva metoder kap 5,7
Pekare och speciell programstruktur i inbyggda system
Tabeller.
Fyrtaktsprincipen eller Hur fungerar en motor?
Exempel. Komplex tvåpol E0
IE1206 Inbyggd Elektronik F1 F2
Styrteknik: Programmering med MELSEC IL PLC2A:1
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
IE1206 Inbyggd Elektronik F1 F2
Spågumman Spågumman kollar på bilder, bildtexter, baksidan av en bok, rubriker och vad det är för typ av text. Hon kan på så vis få en bra uppfattning.
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
William Sandqvist Lab 1 Några slides att repetera inför Lab 1 William Sandqvist
William Sandqvist PIC 16F628 Timers William Sandqvist
William Sandqvist Melodispelaren Denna demonstrationslaboration visar, steg för steg, hur man skriver ett kort program i programspråket.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
Ingenjörsmetodik IT & ME 2008
William Sandqvist PIC-programmeringsmiljön i skolan Datorerna i skolans labsalar är centralt underhållna. Du har inte rättigheter att installera.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
William Sandqvist Melodispelaren Denna demonstrationslaboration visar, steg för steg, hur man skriver ett kort program i programspråket.
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
William Sandqvist Lab 2 Några slides att repetera inför Lab 2 William Sandqvist
William Sandqvist Flera saker samtidigt? /* Blink1: 1s ON - 1s OFF */ /* Blink2: 0,2s ON - 0,2s OFF - 1s ON - 1s OFF */
William Sandqvist DA-omvandling, oftast PWM.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
1800-talet.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 14.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
William Sandqvist PWM Sinusoidal Hur tillverkar man en sinusformad spänning? En PWM-signal kan ge en sinusapproximation. Efter filtrering.
Kronljusströmställaren 0, 1, 2, 3
IE1206 Inbyggd Elektronik F1 F2
IE1206 Inbyggd Elektronik F1 F2
Förra föreläsningen: Historisk utveckling av elektromagnetismen Vektorer Koordinatsystem.
IF1330 Ellära Växelströmskretsar j  -räkning Enkla filter F/Ö1 F/Ö4 F/Ö6 F/Ö10 F/Ö13 F/Ö15 F/Ö2F/Ö3 F/Ö12 tentamen William Sandqvist F/Ö5.
IE1206 Inbyggd Elektronik F1 F2
IF1330 Ellära Växelströmskretsar j  -räkning Enkla filter F/Ö1 F/Ö4 F/Ö6 F/Ö10 F/Ö13 F/Ö15 F/Ö2F/Ö3 F/Ö12 tentamen William Sandqvist F/Ö5.
DA-omvandling, oftast PWM William Sandqvist En DA-omvandlare tar stor plats på processor- chippet. Den vanligaste DA-lösningen är i stället.
IE1206 Inbyggd Elektronik F1 F2
IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
IE1206 Inbyggd Elektronik F1 F2
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
William Sandqvist ECU, Engine Control Unit Idag styrs bilmotorerna av en ECU. Så här skulle en PIC-processor kunna användas som en ”mini-ecu”!
Microprocessor / Microcontroller
Roligt lärande! Varför? Vad ? Hur?.
Presentationens avskrift:

IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block Dokumentation, Seriecom Pulsgivare I, U, R, P, serie och parallell Ö2 Ö5 Kirchoffs lagar Nodanalys Tvåpolsatsen R2R AD Trafo, Ethernetkontakten F13 Pulsgivare, Menyprogram F4 KK1 LAB1 KK3 LAB3 KK4 LAB4 Ö3 F5 KK2 LAB2 Tvåpol, AD, Komparator/Schmitt Step-up, RC-oscillator F10Ö6 LC-osc, DC-motor, CCP PWM LP-filter Trafo + Gästföreläsning F12Ö7 redovisning F11  Start för programmeringsgruppuppgift  Redovisning av programmeringsgruppuppgift

William Sandqvist ECCP Compare mode Trigger special event ( Reset TMR1 and AD GO )

William Sandqvist ECCP Compare mode

William Sandqvist Compare mode CCP-pin Compare innebär att ett 16-bitars tal i CCPR -registren kontinuerligt jämförs med Timer1:s räknevärde. När överenstämmelse sker blir CCP-pinnen hög/låg/oförändrad beroende på inställningen i CCP1CON.  Överenstämmelsen kan programmeras att dessutom utlösa avbrott, interrupt.  OBSERVERA att CCP-pinnens TRIS-bit måste vara utgång, = 0.

William Sandqvist Compare mode special event Förutom påverkan på CCP-pinnen, finns det möjlighet att välja en så kallad "speciell händelse" (special event). För CCP1 innebär denna 0- ställning av Timer1, och start av AD-omvandling (om det för övrigt är förberett för en sådan). Avbrott sker ej. 0-ställning av Timer1 innebär att periodtiden/frekvensen förändras. Start AD-conversion Reset TMR1

William Sandqvist Ex. Reset Timer1 /* fosc = 4 MHz, Timer1Period = 0,001 s (1000 Hz) */ /* Setup TIMER1 00.xx.x.x.x.x -- xx.00.x.x.x.x Prescale 1/1 xx.xx.0.x.x.x TMR1-oscillator is shut off xx.xx.x.0.x.x - (clock input synchronization) xx.xx.x.x.0.x Use internal clock f_osc/4 xx.xx.x.x.x.1 TIMER1 is ON */ T1CON = 0b ; /* CCPR = (fosc/4) * Timer1Period = *0,001 = 1000 */ /* CCPR = 1000 = 0x3E8 CCPR1H = 0x3, CCPR1L = 0xE8 */ CCPR1H = 0x3; CCPR1L = 0xE8; CCP1CON = 0b ; /* special event */ /* Timer1Period is now 1 ms */ Antag att vi vill att Timer1 ska ha periodtiden 1 ms (dvs. varva 1000 ggr/s).  Special event innebär att Timer1 0-ställs!

William Sandqvist Samplingsklocka  Har man en reglerloop är det viktigt med en konstant samplingsfrekvens. Blir Du lovad löneförhöjning med 500 kr/varv så vill Du nog gärna veta om varvet är:  500:-/tim  500:-/vecka  500:-/månad Timer1 med CCP-compare kan starta AD-omvandlaren med jämna exakta tidsintervall!

William Sandqvist

ECU, Engine Control Unit  Idag styrs bilmotorerna av en ECU. Så här skulle en PIC- processor kunna användas som en ”mini-ecu”! ( Förbränningsmotorer styrs i verkligheten med kraftfullare processorer, men IO-enheterna är de samma som hos en liten PIC-processor. )

William Sandqvist 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 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 Den mekaniska lösningen  Varvtal, centrifugalregulator. Brytarspetsar.  Motorbelastning, vacuumregulator. Reglerområdet med mekaniska komponenter. Tändstift.

William Sandqvist 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 Inbyggd elektronik’s lösning  Reglerområdet i dataminnet! Man kan till exempel välja mellan prestanda eller miljökrav …

William Sandqvist 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 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 kan räkna pulser på pinne T0CKI. Man ansluter kugg-givaren till denna pinne. T0IF

William Sandqvist Referensläge Timer0 är egentligen en åttabitarsräknare, dvs en räknare som "slår runt" vid talet 255 och då börjar om med talet 0.  Man får en modulo-130-räknare genom att "ladda" Timer0 med talet 126 när index-pinnen passerar sin givare och genererar INTF avbrott = 130 INTF Antag att indexstiftet är placerat vid kugge nr "0". PIC-kretsarna har en yttre avbrottsingång INT.  Indexpinnens givare ansluts till denna.

William Sandqvist Aktuellt vinkelläge Aktuell “kugge” 0…129, kan huvudprogrammet få reda på genom att läsa av TMR0 och dra ifrån talet 126. CogNo = TMR ;

William Sandqvist 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.  Nu finns mätvärdet! CCPIF

William Sandqvist Varvtalsmätningen t1t1 t2t2 CCP-pinnen CCP-compare Vid varje kugge kommer 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.  I princip beräknas tiden mellan två kuggpassager som skillnaden mellan två tidsvärden, och varvtalet n som det inverterade värdet av denna tid.

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

William Sandqvist Tändförställningstabellen Sambandet mellan tändpunktens förställning och varvtalet tillsammans med belastningen, är ä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 Visualisera tabellen Observera att tabellens värden är "fejkade" och är endast avsedda som principexempel. 3-D plot med Matlab. (Klipp ut texten och prova den i Matlabs kommando- fönster). Observera att tabellens värden är "fejkade“ och är endast avsedda som principexempel. IgnAdv = [ ]; surf(IgnAdv);

William Sandqvist Tabellen i PIC-processorn static const char ignmap[]={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 }; /* speed 3 bits ; torque 3 bits */ char speed, torque, IgnAdv, index; index = speed*8 + torque; /* index for 64 entries */ IgnAdv = ignmap[index];  Så här kan en liten tabell programmeras i PIC-processorn.

William Sandqvist Tändningen  Med hjälp av Timer0 vet man motorns vinkel.  Med hjälp av CCP-enheten vet man motorns varvtal.  Med hjälp av analoga givare vet man motorns belastning. När man närmar sig tändpunkten “slår man upp” tändförställningsvärdet. För att utföra tändningen vid rätt tidpunkt lägger man in tändförställnings- värdet i CCPR-registren.  Med CCP-compare utlöser man den händelse som tänder gnistan!

William Sandqvist 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. Betydligt enklare – och driftsäkrare.

William Sandqvist Bränsleinsprutning  Den sista förgasarbilen lämnade produktionsbandet  Datorstyrd bränsleinsprutning har därefter tagit över i förbränningsmotorerna.

William Sandqvist 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 … )  En CCP per tändstift  En CCP per cylinder

William Sandqvist What Embedded Electronic Engine Control has managed to do:  Smooth running  Optimum torque curve  High Power delivery  Outstanding cold start ability  Fuel consumption is reduced by 90 %  Numerous diagnosis facilities (faster repair at lower cost)  Anti-theft protection. Ignition lock electronic immobiliser.  Anti-lock braking system (ABS)  Drive by wire  Brake by wire

William Sandqvist