William Sandqvist PWM Sinusoidal Hur tillverkar man en sinusformad spänning? En PWM-signal kan ge en sinusapproximation. Efter filtrering.

Slides:



Advertisements
Liknande presentationer
Elektroniska filter William Sandqvist En verklig signal … Verkliga signaler är svårtolkade. De är ofta störda av brus och brum. Brum.
Advertisements

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.
William Sandqvist Simulera med ModelSim ModelSim kan användas till att simulera VHDL-kod, för att avgöra om den är "rätt" tänkt. Man kan.
Många studenter använder en LCD-display till sin programmeringsuppgift
William Sandqvist Störskydd William Sandqvist
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
För utveckling av verksamhet, produkter och livskvalitet. Rekursiva algoritmer, en annan sort tänkande -Hur -När -Bra/Dåligt (kap 7)
Komplexa tal inför Laborationerna
Spolen och Kondensatorn motverkar förändringar
#include void fun(char s[]) { int i=-1; while(s[++i]!=0) { if('a'
PICKit2 programmer-to-go
IKT och matematik Patrik Erixon Trondheim nov.2005.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastructurer - Lite mer rekursivitet -Sorterrings algoritmer -- Kapitel 8 Algoritmer.
Algoritmer och datastrukturer
William Sandqvist Varför använda en liten 8-bitars processor när det finns billiga kraftfulla 32-bitars? William Sandqvist
William Sandqvist PIC Comparator Tips 'n Tricks William Sandqvist
C-programmering ID120V William Sandqvist Länkad lista
Komparatorn en 1 bits AD-omvandlare
William Sandqvist Blanda R och G William Sandqvist
Realtidsprog. - Anders Arvidsson1 Realtidsprogrammering En introduktion - Principer och begrepp.
i olika programmeringsspråk
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Repetition inför slutprovet
Exempel. Komplex tvåpol E0
William Sandqvist AD-omvandling. William Sandqvist Ny processor med AD-omvandlare PIC16F628 saknar AD-omvandlare. När vi.
Rekursiva algoritmer Hur När Bra/Dåligt (kap 7).
William Sandqvist Kodlåsmall lockmall.vhd William Sandqvist
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 6: Process- synkronisering.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
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 PIC PIC (Peripheral Interface Computer) är en datorkrets med ”allt i ett”. Prog Mem. Programminnet är 2048 instruktioner.
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.
Problemlösningsmetodik
William Sandqvist C-programmering ID120V Stack och Kö William Sandqvist
William Sandqvist Räknare En räknare är en speciell typ av sekvensnät som registrerar antalet inkommande klockpulser. Registreringen sker.
William Sandqvist Polling och Interrupt Antag att Du sitter i en skön fåtölj och läser en bok. Plötsligt blir Du avbruten av att telefonen.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
William Sandqvist PIC-programmeringsmiljön i skolan Datorerna i skolans labsalar är centralt underhållna. Du har inte rättigheter att installera.
William Sandqvist Sluten strömkrets? Man har två glödlampor för 220 V och två strömbrytare. Nu vill man ansluta de båda lamporna till 220.
Din rapport ? Beskriv din applikation.
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 IS1500 Datorteknik William Sandqvist
William Sandqvist Lab 3 Några slides att repetera inför Lab 3 William Sandqvist
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.
Telekommunikation,Kiruna Digital modulation F7_A
William Sandqvist Är Du bra på for-loopar? Ge triangelns höjd: 12 1> * > *** > *****
William Sandqvist Distributed Computing Client – Server. En skrivarserver kan vara ett exempel på en Client-Server arkitektur. S Burd, Systems.
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.
Kronljusströmställaren 0, 1, 2, 3
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
IE1206 Inbyggd Elektronik F1 F2
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
IE1206 Inbyggd Elektronik F1 F2
Shannon dekomposition
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 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 Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
IE1206 Inbyggd Elektronik F1 F2
Aritmetik 6
Microprocessor / Microcontroller
Algoritmer och datastrukturer Föreläsning 8 Tidskomplexitet (Weiss kap
Föreläsning 8: Exempel och problemlösning
Z 1.3 Räkna med negativa tal
Presentationens avskrift:

William Sandqvist PWM Sinusoidal Hur tillverkar man en sinusformad spänning? En PWM-signal kan ge en sinusapproximation. Efter filtrering liknar det sedan en sinusvåg.

William Sandqvist Algoritm för sin + cos x = 0; y = 64; x += y/8; y -= x/8; x sinusvärden, y cosinusvärden. Perioden är 54 iterationsvarv. Algoritmen lämpar sig väl för 8-bitarsdatorer som saknar multiplikations och divisions -instruktioner. ( tex. PIC midrange ). 54

William Sandqvist Algoritm för sin + cos …

William Sandqvist En period innehåller 54 sinus och cosinus värden. -64 … 0 … +64.

William Sandqvist Ex. PWM-sinus 50 Hz Efter varje fullbordad PWM-puls blir det ett interrupt. I interruptrutinen beräknas nästa PWM- värde och det laddas till CCPRL registret. Med 4 MHz processorklocka blir pseudosinusfrekvensen 49,78 Hz (  50 Hz ).

William Sandqvist interrupt int_server( void ) { int_save_registers PORTA.1 = x.7; /* the sign is used as PWMGND */ tmp = y; if(y.7) tmp = -tmp; /* negative => make positive */ tmp = tmp/8 ; if(y.7) tmp = -tmp; /* back to negative */ x += tmp; /* x is the sine value */ tmp = x; if(x.7) tmp = -tmp; tmp = tmp/8 ; if(x.7) tmp = -tmp; y -= tmp; /* y is cosine value, not used */ /* update PWM, invert if negative */ if(x.7) CCPR1L = x + 93; else CCPR1L = x; /* return from the interrupt */ TMR2IF = 0; int_restore_registers } Interrupt som beräknar nästa PWM- värde. Kod för CC5x-kompilatorn …

William Sandqvist Tabellmetoden Vanligare än att man beräknar nästa PWM-värde med en algoritm är att man ”slår upp” det i en tabell. char sinvalue(char n) { skip( n); #pragma return[] = 0, 8, 15, 22, 29, 36, 42, 48, 53 \ 57, 60, 62, 63, 64, 64, 63, 62, 60 \ 57, 53, 48, 42, 36, 29, 22, 15, 8 \ 0, -8,-15,-22,-29,-36,-42,-48,-53 \ -57,-60,-62,-63,-64,-64,-63,-62,-60 \ -57,-53,-48,-42,-36,-29,-22,-15, -8 } Kod för CC5x-kompilatorn …

William Sandqvist interrupt int_server( void ) { int_save_registers PORTA.1 = x.7; // the sign is used as PWMGND x = sinvalue(n); /* update PWM, invert if negative */ if(x.7) CCPR1L = x + 93; else CCPR1L = x; n++; n%=54; /* return from the interrupt */ TMR2IF = 0; int_restore_registers } Tabellmetoden. Interrupt som ”slår upp” nästa PWM-värde. Kod för CC5x-kompilatorn …

William Sandqvist Lab-uppkoppling